From 6e41f289d433baeb8d8ae5ae5fe7f34975d61fd4 Mon Sep 17 00:00:00 2001 From: Muhammad Azis Date: Fri, 24 Apr 2026 18:32:33 +0700 Subject: [PATCH 1/5] perf(agents): reduce token usage by 90-95% with 3 optimizations 1. Lazy PREVIEW_GUIDE injection: full design system guide (~4500 tokens) only sent when user message contains visual keywords (chart, diagram, etc). Regular chat gets a 50-token mini hint instead. 2. Anthropic prompt caching: system prompt and tools marked with cache_control ephemeral, plus anthropic-beta header. Subsequent requests in same session pay ~10% of normal input cost. 3. Tool result truncation: large tool outputs (file reads, command results) capped at 3000 chars with head+tail preservation to prevent token bloat across ReAct loop iterations. --- src-tauri/src/agents/runner.rs | 83 ++++++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 5 deletions(-) diff --git a/src-tauri/src/agents/runner.rs b/src-tauri/src/agents/runner.rs index ff92ba2..29f3697 100644 --- a/src-tauri/src/agents/runner.rs +++ b/src-tauri/src/agents/runner.rs @@ -25,6 +25,18 @@ const SYNTHESIS_REACT_ITERATIONS: usize = 8; const LANGUAGE_GUARD: &str = "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to."; +/// Short hint appended when flux is enabled but user didn't ask for visuals (~50 tokens vs ~4500) +const PREVIEW_HINT: &str = "You can create interactive visualizations (charts, diagrams, widgets) by outputting a fenced code block with the language tag `html:preview`. The preview iframe has a full design system pre-loaded with CSS variables, SVG color ramp classes, and light/dark mode support. Use this when the user asks for any visual or interactive content."; + +/// Keywords that trigger the full PREVIEW_GUIDE injection +const VISUAL_KEYWORDS: &[&str] = &[ + "chart", "diagram", "graph", "visuali", "svg", "plot", "widget", + "mockup", "wireframe", "flowchart", "draw", "gambar", "buat grafik", + "bikin chart", "bikin diagram", "buatkan", "tampilkan", "tabel", + "html:preview", "interactive", "infographic", "dashboard", "canvas", + "pie chart", "bar chart", "line chart", "perbandingan", "statistik", +]; + const PREVIEW_GUIDE: &str = r#"INTERACTIVE PREVIEW — VISUAL CREATION SYSTEM When the user asks for a visualization, diagram, chart, interactive demo, UI mockup, or any visual/interactive HTML content, output it directly in your response as a fenced code block with the language tag `html:preview`. Do NOT use write_file — the app renders it as a live interactive preview inline. Only use write_file when the user explicitly asks to save a file on disk. @@ -586,8 +598,14 @@ impl AgentRunner { let model = ctx.model_id.unwrap_or(&provider.model); let tool_executor = ToolExecutor::new(PathBuf::from(ctx.project_path)); + // Solusi 1: Lazy PREVIEW_GUIDE — only inject full guide when user asks for visuals let system_content = if ctx.flux_enabled { - format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_GUIDE) + if needs_full_preview_guide(ctx.task) { + format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_GUIDE) + } else { + // Mini hint only (~50 tokens vs ~4500) + format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_HINT) + } } else { format!("{}\n\n{}", system_prompt, LANGUAGE_GUARD) }; @@ -722,7 +740,11 @@ impl AgentRunner { let tool_executor = ToolExecutor::new(PathBuf::from(ctx.project_path)); let system_content = if ctx.flux_enabled { - format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_GUIDE) + if needs_full_preview_guide(ctx.task) { + format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_GUIDE) + } else { + format!("{}\n\n{}\n\n{}", system_prompt, LANGUAGE_GUARD, PREVIEW_HINT) + } } else { format!("{}\n\n{}", system_prompt, LANGUAGE_GUARD) }; @@ -819,9 +841,12 @@ impl AgentRunner { ) .await?; + // Solusi 3: Truncate large tool results to reduce token accumulation + let truncated_output = truncate_tool_result(&execution.output); + messages.push(ConversationMessage::tool( &tool_call.id, - &execution.output, + &truncated_output, execution.is_error, )); } @@ -1101,16 +1126,34 @@ impl AgentRunner { token_sink: &S, ) -> AppResult { let (system, anthropic_messages) = to_anthropic_messages(messages)?; + + // Solusi 2: Prompt caching — system prompt + tools cached for 90% cost reduction + let tools_with_cache = { + let mut tools = anthropic_tool_definitions(); + // Mark the last tool with cache_control so the entire tools array is cached + if let Some(last_tool) = tools.last_mut() { + last_tool["cache_control"] = json!({"type": "ephemeral"}); + } + tools + }; + let mut payload = json!({ "model": model, "max_tokens": 8096, "messages": anthropic_messages, - "tools": anthropic_tool_definitions(), + "tools": tools_with_cache, "stream": true, }); + // System prompt as cached content block array (not plain string) if let Some(system_prompt) = system { - payload["system"] = Value::String(system_prompt); + payload["system"] = json!([ + { + "type": "text", + "text": system_prompt, + "cache_control": {"type": "ephemeral"} + } + ]); } let client = reqwest::Client::new(); @@ -1118,6 +1161,7 @@ impl AgentRunner { .post("https://api.anthropic.com/v1/messages") .header(CONTENT_TYPE, "application/json") .header("anthropic-version", "2023-06-01") + .header("anthropic-beta", "prompt-caching-2024-07-31") .json(&payload); if let Some(key) = api_key.as_deref().filter(|k| !k.trim().is_empty()) { @@ -1684,6 +1728,35 @@ fn summarize_html_widget(html: &str) -> String { summary } +/// Truncate tool results to prevent token bloat in ReAct loop. +/// File contents and large outputs are capped; short results pass through unchanged. +const MAX_TOOL_RESULT_CHARS: usize = 3000; + +fn truncate_tool_result(output: &str) -> String { + if output.len() <= MAX_TOOL_RESULT_CHARS { + return output.to_string(); + } + + // Keep first and last portions for context + let head_size = MAX_TOOL_RESULT_CHARS * 2 / 3; // ~2000 chars from start + let tail_size = MAX_TOOL_RESULT_CHARS / 3; // ~1000 chars from end + + let head = &output[..head_size]; + let tail = &output[output.len() - tail_size..]; + let omitted = output.len() - head_size - tail_size; + + format!( + "{}\n\n… [{} chars omitted] …\n\n{}", + head, omitted, tail + ) +} + +/// Check if the user's message contains keywords that need the full PREVIEW_GUIDE +fn needs_full_preview_guide(task: &str) -> bool { + let lower = task.to_lowercase(); + VISUAL_KEYWORDS.iter().any(|kw| lower.contains(kw)) +} + fn finalize_llm_turn( output: String, pending_calls: HashMap, From b55d8f55d2c0ceef2393543d00d4661b329814d2 Mon Sep 17 00:00:00 2001 From: Muhammad Azis Date: Fri, 24 Apr 2026 19:16:33 +0700 Subject: [PATCH 2/5] perf(chat): add Chat mode and lazy prompt injection for massive token savings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 'chat' mode as default agent type — routes to send_message (no tools, no agent system prompt) instead of run_agent - Chat mode: ~200 tokens vs orchestrator/planner: ~19,000 tokens - Apply lazy visual guide injection to chat_service.rs (both OpenAI and Anthropic paths) — full preview instructions only sent when user message contains visual keywords - Add prompt caching to Anthropic path in chat_service.rs - Default selectedAgentType changed from 'orchestrator' to 'chat' - Users can still switch to Orchestrator/Planner when needed Token impact for casual chat: 19,000 -> ~200 tokens (99% reduction) --- src-tauri/src/services/chat_service.rs | 85 +++++++++++++++++++------- src/components/settings/AgentsTab.tsx | 2 + src/stores/useAgentStore.ts | 2 +- src/types/index.ts | 4 +- 4 files changed, 69 insertions(+), 24 deletions(-) diff --git a/src-tauri/src/services/chat_service.rs b/src-tauri/src/services/chat_service.rs index 36f09bd..5861960 100644 --- a/src-tauri/src/services/chat_service.rs +++ b/src-tauri/src/services/chat_service.rs @@ -14,6 +14,20 @@ use crate::{ use super::{now_rfc3339, provider_service}; +/// Keywords that trigger full visual/preview system prompt injection +const VISUAL_KEYWORDS: &[&str] = &[ + "chart", "diagram", "graph", "visuali", "svg", "plot", "widget", + "mockup", "wireframe", "flowchart", "draw", "gambar", "buat grafik", + "bikin chart", "bikin diagram", "buatkan", "tampilkan", "tabel", + "html:preview", "interactive", "infographic", "dashboard", "canvas", + "pie chart", "bar chart", "line chart", "perbandingan", "statistik", +]; + +fn needs_visual_guide(content: &str) -> bool { + let lower = content.to_lowercase(); + VISUAL_KEYWORDS.iter().any(|kw| lower.contains(kw)) +} + pub async fn get_messages(db: &SqlitePool, session_id: &str) -> AppResult> { let messages = sqlx::query_as::<_, Message>( "SELECT id, session_id, role, content, created_at FROM messages \ @@ -180,15 +194,24 @@ async fn send_openai_compatible( "stream": true, }); - let system_instructions = concat!( - "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", - "INTERACTIVE PREVIEW: When the user asks for a visualization, diagram, chart, interactive demo, or any visual HTML content, output it as a fenced code block with tag `html:preview`. The app renders it as a live iframe preview with a full design system pre-loaded (CSS variables, SVG color ramp classes, pre-styled form elements, light/dark mode).\n\n", - "Design rules: flat (no gradients/shadows/glow), use CSS vars for colors (var(--color-text-primary), var(--color-background-secondary), etc). system-ui font, 2 weights (400/500), sentence case. Structure: style → content → script last.\n\n", - "SVG diagrams: use pre-loaded classes — `.t` (14px text), `.ts` (12px), `.th` (14px bold), `.box` (neutral), `.node` (clickable), `.arr` (arrow), `.leader` (dashed). Color ramps: `class=\"c-blue\"` on `` wrapping shape+text — auto light/dark. Available: c-purple, c-teal, c-coral, c-blue, c-amber, c-green, c-red, c-gray, c-pink. Max 2-3 ramps per diagram.\n\n", - "Chart.js: wrap canvas in div with position:relative + explicit height. Load UMD from cdnjs.cloudflare.com with onload callback. Disable default legend, build custom HTML legend with 10px colored squares.\n\n", - "Interactive: form elements pre-styled. Use sendPrompt(text) for drill-down. CDN: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh only.\n\n", - "Always output COMPLETE standalone HTML (DOCTYPE, html, head, body). No titles/prose inside widget — explanations go in your response text." - ); + // Lazy system prompt: only inject full preview guide when user asks for visuals + let last_user_content = history.iter().rev().find(|m| m.role == "user").map(|m| m.content.as_str()).unwrap_or(""); + let system_instructions = if needs_visual_guide(last_user_content) { + concat!( + "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", + "INTERACTIVE PREVIEW: When the user asks for a visualization, diagram, chart, interactive demo, or any visual HTML content, output it as a fenced code block with tag `html:preview`. The app renders it as a live iframe preview with a full design system pre-loaded (CSS variables, SVG color ramp classes, pre-styled form elements, light/dark mode).\n\n", + "Design rules: flat (no gradients/shadows/glow), use CSS vars for colors (var(--color-text-primary), var(--color-background-secondary), etc). system-ui font, 2 weights (400/500), sentence case. Structure: style → content → script last.\n\n", + "SVG diagrams: use pre-loaded classes — `.t` (14px text), `.ts` (12px), `.th` (14px bold), `.box` (neutral), `.node` (clickable), `.arr` (arrow), `.leader` (dashed). Color ramps: `class=\"c-blue\"` on `` wrapping shape+text — auto light/dark. Available: c-purple, c-teal, c-coral, c-blue, c-amber, c-green, c-red, c-gray, c-pink. Max 2-3 ramps per diagram.\n\n", + "Chart.js: wrap canvas in div with position:relative + explicit height. Load UMD from cdnjs.cloudflare.com with onload callback. Disable default legend, build custom HTML legend with 10px colored squares.\n\n", + "Interactive: form elements pre-styled. Use sendPrompt(text) for drill-down. CDN: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh only.\n\n", + "Always output COMPLETE standalone HTML (DOCTYPE, html, head, body). No titles/prose inside widget — explanations go in your response text." + ) + } else { + concat!( + "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", + "You can create interactive visualizations (charts, diagrams, widgets) by outputting a fenced code block with the language tag `html:preview`. The preview iframe has a full design system pre-loaded with CSS variables, SVG color ramp classes, and light/dark mode support. Use this when the user asks for any visual or interactive content." + ) + }; let payload_with_system = if let Some(arr) = payload.get("messages").and_then(Value::as_array) { let mut updated = arr.clone(); updated.insert( @@ -250,25 +273,43 @@ async fn send_anthropic( "stream": true, }); - let system_instructions_anthropic = concat!( - "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", - "INTERACTIVE PREVIEW: When the user asks for a visualization, diagram, chart, interactive demo, or any visual HTML content, output it as a fenced code block with tag `html:preview`. The app renders it as a live iframe preview with a full design system pre-loaded (CSS variables, SVG color ramp classes, pre-styled form elements, light/dark mode).\n\n", - "Design rules: flat (no gradients/shadows/glow), use CSS vars for colors (var(--color-text-primary), var(--color-background-secondary), etc). system-ui font, 2 weights (400/500), sentence case. Structure: style → content → script last.\n\n", - "SVG diagrams: use pre-loaded classes — `.t` (14px text), `.ts` (12px), `.th` (14px bold), `.box` (neutral), `.node` (clickable), `.arr` (arrow), `.leader` (dashed). Color ramps: `class=\"c-blue\"` on `` wrapping shape+text — auto light/dark. Available: c-purple, c-teal, c-coral, c-blue, c-amber, c-green, c-red, c-gray, c-pink. Max 2-3 ramps per diagram.\n\n", - "Chart.js: wrap canvas in div with position:relative + explicit height. Load UMD from cdnjs.cloudflare.com with onload callback. Disable default legend, build custom HTML legend with 10px colored squares.\n\n", - "Interactive: form elements pre-styled. Use sendPrompt(text) for drill-down. CDN: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh only.\n\n", - "Always output COMPLETE standalone HTML (DOCTYPE, html, head, body). No titles/prose inside widget — explanations go in your response text." - ); - if let Some(sys) = system_msgs.first() { - payload["system"] = serde_json::json!(format!("{}\n\n{}", sys.content, system_instructions_anthropic)); + // Lazy system prompt for Anthropic: same logic as OpenAI path + let last_user_content_anthropic = chat_msgs.iter().rev().find(|m| m.role == "user").map(|m| m.content.as_str()).unwrap_or(""); + let system_instructions_anthropic = if needs_visual_guide(last_user_content_anthropic) { + concat!( + "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", + "INTERACTIVE PREVIEW: When the user asks for a visualization, diagram, chart, interactive demo, or any visual HTML content, output it as a fenced code block with tag `html:preview`. The app renders it as a live iframe preview with a full design system pre-loaded (CSS variables, SVG color ramp classes, pre-styled form elements, light/dark mode).\n\n", + "Design rules: flat (no gradients/shadows/glow), use CSS vars for colors (var(--color-text-primary), var(--color-background-secondary), etc). system-ui font, 2 weights (400/500), sentence case. Structure: style → content → script last.\n\n", + "SVG diagrams: use pre-loaded classes — `.t` (14px text), `.ts` (12px), `.th` (14px bold), `.box` (neutral), `.node` (clickable), `.arr` (arrow), `.leader` (dashed). Color ramps: `class=\"c-blue\"` on `` wrapping shape+text — auto light/dark. Available: c-purple, c-teal, c-coral, c-blue, c-amber, c-green, c-red, c-gray, c-pink. Max 2-3 ramps per diagram.\n\n", + "Chart.js: wrap canvas in div with position:relative + explicit height. Load UMD from cdnjs.cloudflare.com with onload callback. Disable default legend, build custom HTML legend with 10px colored squares.\n\n", + "Interactive: form elements pre-styled. Use sendPrompt(text) for drill-down. CDN: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh only.\n\n", + "Always output COMPLETE standalone HTML (DOCTYPE, html, head, body). No titles/prose inside widget — explanations go in your response text." + ) } else { - payload["system"] = serde_json::json!(system_instructions_anthropic); - } + concat!( + "IMPORTANT: Reply using the same language as the user's latest message. If user writes Indonesian, answer in Indonesian. Never switch to another language unless the user explicitly asks you to.\n\n", + "You can create interactive visualizations (charts, diagrams, widgets) by outputting a fenced code block with the language tag `html:preview`. The preview iframe has a full design system pre-loaded with CSS variables, SVG color ramp classes, and light/dark mode support. Use this when the user asks for any visual or interactive content." + ) + }; + // Prompt caching: system prompt as cached content block + let system_text = if let Some(sys) = system_msgs.first() { + format!("{}\n\n{}", sys.content, system_instructions_anthropic) + } else { + system_instructions_anthropic.to_string() + }; + payload["system"] = serde_json::json!([ + { + "type": "text", + "text": system_text, + "cache_control": {"type": "ephemeral"} + } + ]); let mut request = client .post("https://api.anthropic.com/v1/messages") .header(CONTENT_TYPE, "application/json") .header("anthropic-version", "2023-06-01") + .header("anthropic-beta", "prompt-caching-2024-07-31") .json(&payload); if let Some(key) = api_key.filter(|k| !k.trim().is_empty()) { diff --git a/src/components/settings/AgentsTab.tsx b/src/components/settings/AgentsTab.tsx index e00beb3..efc80da 100644 --- a/src/components/settings/AgentsTab.tsx +++ b/src/components/settings/AgentsTab.tsx @@ -5,6 +5,7 @@ import { useAgentStore } from '@/stores/useAgentStore'; import { invoke } from '@tauri-apps/api/core'; import { cn } from '@/lib/utils'; import { + ChatCircle, Robot, TreeStructure, Code, @@ -33,6 +34,7 @@ const AGENT_TYPES: AgentType[] = [ ]; const AGENT_ICONS: Record = { + chat: ChatCircle, orchestrator: Robot, planner: TreeStructure, coder_fe: Code, diff --git a/src/stores/useAgentStore.ts b/src/stores/useAgentStore.ts index ad535e9..9415923 100644 --- a/src/stores/useAgentStore.ts +++ b/src/stores/useAgentStore.ts @@ -24,7 +24,7 @@ interface AgentState { export const useAgentStore = create((set) => ({ agentRuns: [], agentConfigs: [], - selectedAgentType: 'orchestrator', + selectedAgentType: 'chat', pendingPermission: null, setAgentRuns: (runs) => set({ agentRuns: runs }), diff --git a/src/types/index.ts b/src/types/index.ts index 4c26385..4963d0f 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -64,6 +64,7 @@ export interface AgentRun { } export type AgentType = + | 'chat' | 'orchestrator' | 'planner' | 'coder_fe' @@ -76,9 +77,10 @@ export type AgentType = | 'researcher' | 'librarian'; -export const SELECTABLE_AGENTS: AgentType[] = ['orchestrator', 'planner']; +export const SELECTABLE_AGENTS: AgentType[] = ['chat', 'orchestrator', 'planner']; export const AGENT_LABELS: Record = { + chat: 'Chat', orchestrator: 'Orchestrator', planner: 'Planner', coder_fe: 'Coder FE', From 37f6a698c054ebded43104c4c0d7900779b36d40 Mon Sep 17 00:00:00 2001 From: Muhammad Azis Date: Fri, 24 Apr 2026 21:17:04 +0700 Subject: [PATCH 3/5] perf(providers): route enowxlabs through Anthropic native format with prompt caching Root cause: enowX Coder was sending OpenAI-compatible format to enowxlabs proxy, while Claude Desktop sends Anthropic native format with cache_control. Same proxy, same API key, but caching only works with Anthropic native format. Changes in runner.rs (agent mode): - Route enowxlabs to send_anthropic_with_tools (not OpenAI-compatible) - Add base_url + provider_type params for dynamic endpoint resolution - Mark last user message with cache_control ephemeral - Auth: Bearer for gateways, x-api-key for Anthropic direct Changes in chat_service.rs (chat mode): - Route enowxlabs to send_anthropic (not send_openai_compatible) - Build messages as Anthropic content-block format with cache_control - Dynamic endpoint: anthropic direct vs enowxlabs gateway - System prompt as cached content block array Expected result: enowxlabs proxy now receives identical format to Claude Desktop, enabling prompt caching (input_tokens: 0 on cache hit) --- src-tauri/src/agents/runner.rs | 47 +++++++++++++---- src-tauri/src/services/chat_service.rs | 71 ++++++++++++++++++++++---- 2 files changed, 99 insertions(+), 19 deletions(-) diff --git a/src-tauri/src/agents/runner.rs b/src-tauri/src/agents/runner.rs index 29f3697..b40530b 100644 --- a/src-tauri/src/agents/runner.rs +++ b/src-tauri/src/agents/runner.rs @@ -794,9 +794,11 @@ impl AgentRunner { return Err(AppError::Cancelled); } - let turn = if provider.provider_type == "anthropic" { + let turn = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { self.send_anthropic_with_tools( + &provider.base_url, &provider.api_key, + &provider.provider_type, model, messages, agent_run_id, @@ -1117,20 +1119,33 @@ impl AgentRunner { .await } + #[allow(clippy::too_many_arguments)] async fn send_anthropic_with_tools( &self, + base_url: &str, api_key: &Option, + provider_type: &str, model: &str, messages: &[ConversationMessage], agent_run_id: &str, token_sink: &S, ) -> AppResult { - let (system, anthropic_messages) = to_anthropic_messages(messages)?; + let (system, mut anthropic_messages) = to_anthropic_messages(messages)?; + + // Prompt caching: mark last user message with cache_control (like Claude Desktop) + if let Some(last_msg) = anthropic_messages.last_mut() { + if last_msg.get("role").and_then(Value::as_str) == Some("user") { + if let Some(content) = last_msg.get_mut("content").and_then(Value::as_array_mut) { + if let Some(last_block) = content.last_mut() { + last_block["cache_control"] = json!({"type": "ephemeral"}); + } + } + } + } - // Solusi 2: Prompt caching — system prompt + tools cached for 90% cost reduction + // Prompt caching: tools cached let tools_with_cache = { let mut tools = anthropic_tool_definitions(); - // Mark the last tool with cache_control so the entire tools array is cached if let Some(last_tool) = tools.last_mut() { last_tool["cache_control"] = json!({"type": "ephemeral"}); } @@ -1145,7 +1160,7 @@ impl AgentRunner { "stream": true, }); - // System prompt as cached content block array (not plain string) + // System prompt as cached content block array if let Some(system_prompt) = system { payload["system"] = json!([ { @@ -1156,19 +1171,31 @@ impl AgentRunner { ]); } + // Resolve endpoint: anthropic direct or enowxlabs proxy + let endpoint = if provider_type == "anthropic" { + "https://api.anthropic.com/v1/messages".to_string() + } else { + // enowxlabs or other Anthropic-compatible gateway + format!("{}/messages", base_url.trim_end_matches('/').trim_end_matches("/v1")) + }; + let client = reqwest::Client::new(); let mut request = client - .post("https://api.anthropic.com/v1/messages") + .post(&endpoint) .header(CONTENT_TYPE, "application/json") .header("anthropic-version", "2023-06-01") - .header("anthropic-beta", "prompt-caching-2024-07-31") - .json(&payload); + .header("anthropic-beta", "prompt-caching-2024-07-31"); + // Auth: x-api-key for Anthropic direct, Bearer for gateways if let Some(key) = api_key.as_deref().filter(|k| !k.trim().is_empty()) { - request = request.header("x-api-key", key); + if provider_type == "anthropic" { + request = request.header("x-api-key", key); + } else { + request = request.header(AUTHORIZATION, format!("Bearer {key}")); + } } - let response = request.send().await?; + let response = request.json(&payload).send().await?; if !response.status().is_success() { let status = response.status(); let body = response.text().await.unwrap_or_default(); diff --git a/src-tauri/src/services/chat_service.rs b/src-tauri/src/services/chat_service.rs index 5861960..53a8613 100644 --- a/src-tauri/src/services/chat_service.rs +++ b/src-tauri/src/services/chat_service.rs @@ -132,8 +132,17 @@ async fn send_message_inner( // Use caller-supplied model_id if provided, otherwise fall back to provider default let model = model_id.unwrap_or(&provider.model); - let assistant_output = if provider.provider_type == "anthropic" { - send_anthropic(history, model, provider.api_key.as_deref(), &on_token, &cancel_token).await? + let assistant_output = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { + send_anthropic( + history, + model, + provider.api_key.as_deref(), + &provider.provider_type, + &provider.base_url, + &on_token, + &cancel_token, + ) + .await? } else { send_openai_compatible( &provider.base_url, @@ -251,6 +260,8 @@ async fn send_anthropic( history: Vec, model: &str, api_key: Option<&str>, + provider_type: &str, + base_url: &str, on_token: &Channel, cancel_token: &CancellationToken, ) -> AppResult { @@ -259,12 +270,30 @@ async fn send_anthropic( let (system_msgs, chat_msgs): (Vec<_>, Vec<_>) = history.iter().partition(|m| m.role == "system"); - let messages: Vec = chat_msgs + // Build messages as Anthropic content-block format for cache_control support + let mut messages: Vec = chat_msgs .iter() .filter(|m| m.role == "user" || m.role == "assistant") - .map(|m| serde_json::json!({ "role": m.role, "content": m.content })) + .map(|m| { + serde_json::json!({ + "role": m.role, + "content": [{ "type": "text", "text": m.content }] + }) + }) .collect(); + // Prompt caching: mark last user message with cache_control so the entire + // conversation prefix is cached across turns (like Claude Desktop does). + if let Some(last_msg) = messages.last_mut() { + if last_msg.get("role").and_then(Value::as_str) == Some("user") { + if let Some(content) = last_msg.get_mut("content").and_then(Value::as_array_mut) { + if let Some(last_block) = content.last_mut() { + last_block["cache_control"] = serde_json::json!({"type": "ephemeral"}); + } + } + } + } + let mut payload = serde_json::json!({ "model": model, "max_tokens": 8096, @@ -305,15 +334,27 @@ async fn send_anthropic( } ]); + // Resolve endpoint: anthropic direct or enowxlabs/other Anthropic-compatible gateway + let endpoint = if provider_type == "anthropic" { + "https://api.anthropic.com/v1/messages".to_string() + } else { + format!("{}/messages", base_url.trim_end_matches('/').trim_end_matches("/v1")) + }; + let mut request = client - .post("https://api.anthropic.com/v1/messages") + .post(&endpoint) .header(CONTENT_TYPE, "application/json") .header("anthropic-version", "2023-06-01") .header("anthropic-beta", "prompt-caching-2024-07-31") .json(&payload); + // Auth: x-api-key for Anthropic direct, Bearer for gateways if let Some(key) = api_key.filter(|k| !k.trim().is_empty()) { - request = request.header("x-api-key", key); + if provider_type == "anthropic" { + request = request.header("x-api-key", key); + } else { + request = request.header(AUTHORIZATION, format!("Bearer {key}")); + } } let response = request.send().await?; @@ -534,7 +575,7 @@ pub async fn generate_title( "content": "Generate a short title for the conversation above." })); - let title = if provider.provider_type == "anthropic" { + let title = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { generate_title_anthropic(&provider, model, &messages).await? } else { generate_title_openai(&provider, model, &messages).await? @@ -630,15 +671,27 @@ async fn generate_title_anthropic( "temperature": 0.3, }); + // Resolve endpoint: anthropic direct or enowxlabs/other gateway + let endpoint = if provider.provider_type == "anthropic" { + "https://api.anthropic.com/v1/messages".to_string() + } else { + format!("{}/messages", provider.base_url.trim_end_matches('/').trim_end_matches("/v1")) + }; + let client = reqwest::Client::new(); let mut request = client - .post("https://api.anthropic.com/v1/messages") + .post(&endpoint) .header(CONTENT_TYPE, "application/json") .header("anthropic-version", "2023-06-01") .json(&payload); + // Auth: x-api-key for Anthropic direct, Bearer for gateways if let Some(key) = provider.api_key.as_deref().filter(|k| !k.trim().is_empty()) { - request = request.header("x-api-key", key); + if provider.provider_type == "anthropic" { + request = request.header("x-api-key", key); + } else { + request = request.header(AUTHORIZATION, format!("Bearer {key}")); + } } let response = request.send().await?; From 9e16f9c3bb4b44fc244a4228ad2254c1500973be Mon Sep 17 00:00:00 2001 From: Muhammad Azis Date: Sat, 25 Apr 2026 06:22:38 +0700 Subject: [PATCH 4/5] feat(providers): add api_format field for custom Anthropic-compatible gateways - Add api_format column to providers table (openai/anthropic) - Route chat/agent/title-gen through Anthropic format when api_format=anthropic - Add non-streaming fallback when gateway returns empty SSE stream - Add SSE event-name fallback for gateways that strip JSON type field - Trim chat history with sliding window to reduce token usage - Strip html:preview blocks from assistant context - Add API Format toggle in ProvidersTab UI (new + edit) - Unify model listing to use Provider struct directly --- CHANGELOG.md | 34 +++ .../20260424000_provider_api_format.sql | 8 + src-tauri/src/agents/runner.rs | 111 +++++++- src-tauri/src/commands/provider.rs | 11 +- src-tauri/src/models/provider.rs | 19 ++ src-tauri/src/services/chat_service.rs | 246 +++++++++++++++++- src-tauri/src/services/model_service.rs | 97 ++++--- src-tauri/src/services/provider_service.rs | 27 +- .../onboarding/OnboardingWizard.tsx | 1 + src/components/settings/ProvidersTab.tsx | 78 +++++- src/types/index.ts | 2 + 11 files changed, 571 insertions(+), 63 deletions(-) create mode 100644 src-tauri/migrations/20260424000_provider_api_format.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index 021c20a..8ac90a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,40 @@ All notable changes to enowX Coder are documented here. --- +## [0.2.6] — 2026-04-25 + +### Token Optimization — 99% Reduction for Anthropic-format Gateways +- **Prompt caching now works for custom providers**: Added `api_format` field (`openai` | `anthropic`) to providers — custom gateways using Anthropic Messages API now get prompt caching, reducing prompt tokens from ~11,700 to ~0 on cache hits +- **Chat history sliding window**: Chat path now applies the same context trimming as agent path — max 20 message pairs, 32K char budget, per-message truncation, `html:preview` blocks stripped. Prevents token bloat on long sessions +- **`uses_anthropic_format()` method**: Centralized routing logic replaces scattered `provider_type == "anthropic" || provider_type == "enowxlabs"` checks across chat service and agent runner + +### Gateway SSE Compatibility Fix +- **Event-line fallback for SSE parsing**: Some Anthropic-compatible gateways omit the `"type"` field from SSE data payloads. Parser now tracks the preceding `event:` line and uses it as fallback — fixes empty responses from proxies like LiteLLM, Claude Desktop gateway, and enowX Labs gateway +- Applied to both chat SSE parser (`chat_service.rs`) and agent tool SSE parser (`runner.rs`) + +### Non-Streaming Fallback for Unsupported Models +- **Auto-retry without streaming**: When a gateway returns an empty stream (message_start → message_stop with no content blocks), the request is automatically retried with `stream: false` and the full response is parsed synchronously +- Fixes blank responses for models where the gateway doesn't support streaming (e.g. `claude-opus-4.6` on certain proxies) +- Applied to both chat path and agent path (with tool call support) + +### Endpoint Resolution Fix for Custom Gateways +- **Preserve `/v1` path for custom providers**: Previously, all non-Anthropic providers had `/v1` stripped from their base URL when building the Anthropic endpoint, resulting in `host/messages` instead of `host/v1/messages`. Now only the built-in `enowxlabs` provider strips `/v1`; custom gateways keep their full path +- Fixed in chat service, title generation, and agent runner + +### Model Listing for Custom Providers +- **Custom providers can now list models**: Previously, unknown `provider_type` slugs (e.g. user-created `"my-gateway"`) returned "Unknown provider type" error. Now routes by `api_format` — Anthropic-format providers hit `{base_url}/models` with correct auth headers +- `fetch_anthropic_models` now accepts a configurable base URL and auth scheme instead of hardcoding `api.anthropic.com` + +### Provider Settings UI +- **API Format selector**: New toggle (OpenAI / Anthropic) in Settings for custom providers — choose Anthropic for Claude-compatible gateways to enable prompt caching and correct message serialization +- Selector shown in both "Add Provider" form and existing provider detail panel +- Built-in providers (`enowxlabs`, `anthropic`) auto-set to Anthropic format + +### Database +- **Migration `20260424000_provider_api_format.sql`**: Adds `api_format TEXT NOT NULL DEFAULT 'openai'` column to providers table. Existing `anthropic` and `enowxlabs` providers auto-updated to `'anthropic'` format + +--- + ## [0.2.5] — 2026-04-23 ### Excalidraw Canvas — Collaborative Whiteboard diff --git a/src-tauri/migrations/20260424000_provider_api_format.sql b/src-tauri/migrations/20260424000_provider_api_format.sql new file mode 100644 index 0000000..c73dc1c --- /dev/null +++ b/src-tauri/migrations/20260424000_provider_api_format.sql @@ -0,0 +1,8 @@ +-- Add api_format column to providers. +-- Values: 'openai' (default) or 'anthropic'. +-- This lets custom/gateway providers opt into the Anthropic message format +-- which enables prompt caching and correct content-block serialisation. +ALTER TABLE providers ADD COLUMN api_format TEXT NOT NULL DEFAULT 'openai'; + +-- Built-in providers that already use Anthropic format +UPDATE providers SET api_format = 'anthropic' WHERE provider_type IN ('anthropic', 'enowxlabs'); diff --git a/src-tauri/src/agents/runner.rs b/src-tauri/src/agents/runner.rs index b40530b..08678ce 100644 --- a/src-tauri/src/agents/runner.rs +++ b/src-tauri/src/agents/runner.rs @@ -794,7 +794,7 @@ impl AgentRunner { return Err(AppError::Cancelled); } - let turn = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { + let turn = if provider.uses_anthropic_format() { self.send_anthropic_with_tools( &provider.base_url, &provider.api_key, @@ -1171,12 +1171,14 @@ impl AgentRunner { ]); } - // Resolve endpoint: anthropic direct or enowxlabs proxy + // Resolve endpoint: same logic as chat_service::send_anthropic let endpoint = if provider_type == "anthropic" { "https://api.anthropic.com/v1/messages".to_string() - } else { - // enowxlabs or other Anthropic-compatible gateway + } else if provider_type == "enowxlabs" { format!("{}/messages", base_url.trim_end_matches('/').trim_end_matches("/v1")) + } else { + // Custom gateway: preserve full base_url path (e.g. /v1/messages) + format!("{}/messages", base_url.trim_end_matches('/')) }; let client = reqwest::Client::new(); @@ -1202,8 +1204,44 @@ impl AgentRunner { return Err(AppError::Http(format!("Anthropic {status}: {body}"))); } - self.stream_anthropic_tool_sse(response, agent_run_id, token_sink) - .await + let turn = self + .stream_anthropic_tool_sse(response, agent_run_id, token_sink) + .await?; + + // Fallback: some gateways return message_start → message_stop without + // any content_block events when streaming certain models. When that + // happens, retry the request with `stream: false` and parse the full + // response synchronously. + if turn.text.is_empty() && turn.tool_calls.is_empty() { + log::warn!("anthropic stream returned empty — retrying non-streaming"); + payload["stream"] = json!(false); + + let mut retry_req = client + .post(&endpoint) + .header(CONTENT_TYPE, "application/json") + .header("anthropic-version", "2023-06-01") + .json(&payload); + + if let Some(key) = api_key.as_deref().filter(|k| !k.trim().is_empty()) { + if provider_type == "anthropic" { + retry_req = retry_req.header("x-api-key", key); + } else { + retry_req = retry_req.header(AUTHORIZATION, format!("Bearer {key}")); + } + } + + let retry_resp = retry_req.send().await?; + if !retry_resp.status().is_success() { + let status = retry_resp.status(); + let body = retry_resp.text().await.unwrap_or_default(); + return Err(AppError::Http(format!("Anthropic non-stream {status}: {body}"))); + } + + let body: Value = retry_resp.json().await?; + return parse_anthropic_non_stream_response(&body, agent_run_id, token_sink, &self.app_handle); + } + + Ok(turn) } async fn stream_openai_tool_sse( @@ -1363,6 +1401,9 @@ impl AgentRunner { let mut output = String::new(); let mut stop_reason: Option = None; let mut pending_calls: HashMap = HashMap::new(); + // Track the most recent `event:` line so we can fall back to it when + // the JSON payload omits the top-level `"type"` field (some gateways). + let mut current_event = String::new(); while let Some(chunk) = stream.next().await { line_buffer.push_str(&String::from_utf8_lossy(&chunk?)); @@ -1376,6 +1417,7 @@ impl AgentRunner { let should_stop = self.parse_anthropic_sse_line( &line, + &mut current_event, agent_run_id, token_sink, &mut output, @@ -1396,6 +1438,7 @@ impl AgentRunner { fn parse_anthropic_sse_line( &self, line: &str, + current_event: &mut String, agent_run_id: &str, token_sink: &S, output: &mut String, @@ -1408,7 +1451,9 @@ impl AgentRunner { } if let Some(event_name) = trimmed.strip_prefix("event:") { - if event_name.trim() == "message_stop" { + let event_name = event_name.trim(); + *current_event = event_name.to_string(); + if event_name == "message_stop" { return Ok(true); } return Ok(false); @@ -1424,7 +1469,12 @@ impl AgentRunner { Err(_) => return Ok(false), }; - let event_type = value.get("type").and_then(Value::as_str).unwrap_or_default(); + // Prefer `"type"` from JSON payload; fall back to the preceding + // `event:` line when the gateway strips it. + let event_type = value + .get("type") + .and_then(Value::as_str) + .unwrap_or(current_event.as_str()); match event_type { "content_block_start" => { @@ -1561,6 +1611,51 @@ struct StreamingToolCall { arguments: String, } +/// Parse a non-streaming Anthropic Messages API response into an `LLMTurn`. +/// +/// Used as a fallback when the gateway returns an empty stream (some proxies +/// don't support streaming for certain models). +fn parse_anthropic_non_stream_response( + body: &Value, + agent_run_id: &str, + token_sink: &S, + app_handle: &tauri::AppHandle, +) -> AppResult { + let mut text = String::new(); + let mut tool_calls = Vec::new(); + + if let Some(content) = body.get("content").and_then(Value::as_array) { + for block in content { + let block_type = block.get("type").and_then(Value::as_str).unwrap_or(""); + match block_type { + "text" => { + if let Some(t) = block.get("text").and_then(Value::as_str) { + text.push_str(t); + // Send tokens to UI so the user sees the response + token_sink.send(t); + let _ = app_handle.emit( + "agent-token", + AgentTokenEvent { + agent_run_id: agent_run_id.to_string(), + token: t.to_string(), + }, + ); + } + } + "tool_use" => { + let id = block.get("id").and_then(Value::as_str).unwrap_or("").to_string(); + let name = block.get("name").and_then(Value::as_str).unwrap_or("").to_string(); + let input = block.get("input").cloned().unwrap_or(Value::Object(Default::default())); + tool_calls.push(ParsedToolCall { id, name, input }); + } + _ => {} + } + } + } + + Ok(LLMTurn { text, tool_calls }) +} + #[derive(Debug, Clone)] struct ToolExecutionOutcome { output: String, diff --git a/src-tauri/src/commands/provider.rs b/src-tauri/src/commands/provider.rs index 2e17f9a..98c10d2 100644 --- a/src-tauri/src/commands/provider.rs +++ b/src-tauri/src/commands/provider.rs @@ -15,6 +15,7 @@ pub async fn create_provider( base_url: String, api_key: Option, model: String, + api_format: Option, ) -> AppResult { provider_service::create_provider( state.pool(), @@ -23,6 +24,7 @@ pub async fn create_provider( &base_url, api_key.as_deref(), &model, + api_format.as_deref(), ) .await } @@ -35,6 +37,7 @@ pub async fn update_provider( base_url: String, api_key: Option, model: String, + api_format: Option, ) -> AppResult<()> { provider_service::update_provider( state.pool(), @@ -43,6 +46,7 @@ pub async fn update_provider( &base_url, api_key.as_deref(), &model, + api_format.as_deref(), ) .await } @@ -75,12 +79,7 @@ pub async fn list_models( crate::services::provider_service::get_provider_for_chat(state.pool(), Some(&provider_id)) .await?; - crate::services::model_service::list_models( - &provider.provider_type, - &provider.base_url, - provider.api_key.as_deref(), - ) - .await + crate::services::model_service::list_models(&provider).await } #[tauri::command] diff --git a/src-tauri/src/models/provider.rs b/src-tauri/src/models/provider.rs index 915c455..c22a489 100644 --- a/src-tauri/src/models/provider.rs +++ b/src-tauri/src/models/provider.rs @@ -13,10 +13,29 @@ pub struct Provider { pub is_default: bool, pub is_builtin: bool, pub is_enabled: bool, + /// Wire format: `"openai"` (default) or `"anthropic"`. + /// Determines which serialisation path (and prompt caching) is used. + #[serde(default = "default_api_format")] + #[sqlx(default)] + pub api_format: String, pub created_at: String, pub updated_at: String, } +fn default_api_format() -> String { + "openai".to_string() +} + +impl Provider { + /// Returns `true` when the provider should use the Anthropic Messages API + /// format (content blocks, system-as-top-level, prompt caching). + pub fn uses_anthropic_format(&self) -> bool { + self.api_format == "anthropic" + || self.provider_type == "anthropic" + || self.provider_type == "enowxlabs" + } +} + pub fn fixed_base_url(provider_type: &str) -> Option<&'static str> { match provider_type { "enowxlabs" => Some("https://api.enowxlabs.com/v1"), diff --git a/src-tauri/src/services/chat_service.rs b/src-tauri/src/services/chat_service.rs index 53a8613..3013c01 100644 --- a/src-tauri/src/services/chat_service.rs +++ b/src-tauri/src/services/chat_service.rs @@ -40,6 +40,129 @@ pub async fn get_messages(db: &SqlitePool, session_id: &str) -> AppResult Vec { + const MAX_HISTORY_PAIRS: usize = 20; + const MAX_TOTAL_CHARS: usize = 32_000; // ≈ 8 K tokens + const MAX_USER_MSG_CHARS: usize = 2_000; + const MAX_ASSISTANT_MSG_CHARS: usize = 4_000; + + // Separate system messages (always kept) from chat messages + let system_msgs: Vec<&Message> = history.iter().filter(|m| m.role == "system").collect(); + let chat_msgs: Vec<&Message> = history.iter().filter(|m| m.role != "system").collect(); + + // Sliding window: keep only the most recent N*2 chat messages + let window_start = chat_msgs.len().saturating_sub(MAX_HISTORY_PAIRS * 2); + let windowed = &chat_msgs[window_start..]; + + let mut result: Vec = Vec::with_capacity(system_msgs.len() + windowed.len()); + let mut total_chars: usize = 0; + + // Always include system messages first (they're tiny) + for msg in &system_msgs { + total_chars += msg.content.len(); + result.push((*msg).clone()); + } + + for msg in windowed { + if total_chars >= MAX_TOTAL_CHARS { + break; + } + + let cleaned = if msg.role == "assistant" { + strip_preview_blocks_chat(&msg.content) + } else { + msg.content.clone() + }; + + let max_len = if msg.role == "user" { + MAX_USER_MSG_CHARS + } else { + MAX_ASSISTANT_MSG_CHARS + }; + + let truncated = if cleaned.len() > max_len { + let cut = &cleaned[..max_len]; + let last_space = cut.rfind(' ').unwrap_or(max_len); + format!("{}… [truncated]", &cleaned[..last_space]) + } else { + cleaned + }; + + total_chars += truncated.len(); + + result.push(Message { + id: msg.id.clone(), + session_id: msg.session_id.clone(), + role: msg.role.clone(), + content: truncated, + created_at: msg.created_at.clone(), + }); + } + + result +} + +/// Strip ```html:preview … ``` fenced blocks from assistant output. +/// These are rendered widgets that can be thousands of tokens and add no +/// conversational value when sent back as context. +fn strip_preview_blocks_chat(content: &str) -> String { + let mut result = String::with_capacity(content.len()); + let mut chars = content.char_indices().peekable(); + let fence_tag = "```html:preview"; + + while let Some(&(i, _)) = chars.peek() { + if content[i..].starts_with(fence_tag) { + // Skip past the opening fence line + while let Some(&(_, c)) = chars.peek() { + chars.next(); + if c == '\n' { + break; + } + } + // Skip until closing ``` + let mut found_close = false; + while let Some(&(j, _)) = chars.peek() { + if content[j..].starts_with("```") { + // consume the closing ``` + for _ in 0..3 { + chars.next(); + } + // consume rest of line + while let Some(&(_, c)) = chars.peek() { + chars.next(); + if c == '\n' { + break; + } + } + found_close = true; + break; + } + chars.next(); + } + result.push_str("[interactive preview]"); + if !found_close { + break; + } + } else { + let (_, c) = chars.next().unwrap(); + result.push(c); + } + } + + result +} + #[allow(clippy::too_many_arguments)] pub async fn send_message( db: &SqlitePool, @@ -127,12 +250,32 @@ async fn send_message_inner( ))); } - let history = get_messages(db, session_id).await?; + let raw_history = get_messages(db, session_id).await?; + let history = trim_history_for_llm(&raw_history); + + // Debug: log context size so token bloat is easy to spot + let total_chars: usize = history.iter().map(|m| m.content.len()).sum(); + let est_tokens = total_chars / 4; // rough estimate: 1 token ≈ 4 chars + log::debug!( + "chat context: {} msgs (raw {}), ~{} chars (~{} tokens)", + history.len(), + raw_history.len(), + total_chars, + est_tokens, + ); // Use caller-supplied model_id if provided, otherwise fall back to provider default let model = model_id.unwrap_or(&provider.model); - let assistant_output = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { + log::info!( + "chat route: provider={} type={} api_format={} → {}", + provider.name, + provider.provider_type, + provider.api_format, + if provider.uses_anthropic_format() { "anthropic" } else { "openai" }, + ); + + let assistant_output = if provider.uses_anthropic_format() { send_anthropic( history, model, @@ -334,13 +477,32 @@ async fn send_anthropic( } ]); - // Resolve endpoint: anthropic direct or enowxlabs/other Anthropic-compatible gateway + // Resolve endpoint for Anthropic-format requests. + // + // - Anthropic direct: always use the canonical URL. + // - enowxlabs built-in: base_url ends with /v1 → strip it, append /messages + // (enowxlabs gateway expects /messages at the root). + // - Custom gateways: keep the base_url as-is and append /messages. + // If the user stored "http://host:port/v1" we keep /v1 so the final + // endpoint is "http://host:port/v1/messages" — most Anthropic-compatible + // proxies (e.g. LiteLLM, Claude Desktop gateway) expect this. let endpoint = if provider_type == "anthropic" { "https://api.anthropic.com/v1/messages".to_string() + } else if provider_type == "enowxlabs" { + // enowxlabs own gateway: strip /v1 suffix + format!( + "{}/messages", + base_url + .trim_end_matches('/') + .trim_end_matches("/v1") + ) } else { - format!("{}/messages", base_url.trim_end_matches('/').trim_end_matches("/v1")) + // Custom / third-party gateway: preserve the full base_url path + format!("{}/messages", base_url.trim_end_matches('/')) }; + log::info!("anthropic endpoint: {} (base_url={}, provider_type={})", endpoint, base_url, provider_type); + let mut request = client .post(&endpoint) .header(CONTENT_TYPE, "application/json") @@ -364,7 +526,51 @@ async fn send_anthropic( return Err(AppError::Http(format!("Anthropic {status}: {body}"))); } - stream_anthropic_sse(response, on_token, cancel_token).await + let output = stream_anthropic_sse(response, on_token, cancel_token).await?; + + // Fallback: some gateways return message_start → message_stop without any + // content_block events for certain models. Retry non-streaming. + if output.is_empty() { + log::warn!("anthropic chat stream returned empty — retrying non-streaming"); + payload["stream"] = serde_json::json!(false); + + let mut retry_req = client + .post(&endpoint) + .header(CONTENT_TYPE, "application/json") + .header("anthropic-version", "2023-06-01") + .json(&payload); + + if let Some(key) = api_key.filter(|k| !k.trim().is_empty()) { + if provider_type == "anthropic" { + retry_req = retry_req.header("x-api-key", key); + } else { + retry_req = retry_req.header(AUTHORIZATION, format!("Bearer {key}")); + } + } + + let retry_resp = retry_req.send().await?; + if !retry_resp.status().is_success() { + let status = retry_resp.status(); + let body = retry_resp.text().await.unwrap_or_default(); + return Err(AppError::Http(format!("Anthropic non-stream {status}: {body}"))); + } + + let body: Value = retry_resp.json().await?; + if let Some(text) = body + .get("content") + .and_then(Value::as_array) + .and_then(|arr| arr.first()) + .and_then(|block| block.get("text")) + .and_then(Value::as_str) + { + let _ = on_token.send(text.to_string()); + return Ok(text.to_string()); + } + + return Ok(String::new()); + } + + Ok(output) } async fn stream_openai_sse( @@ -454,6 +660,10 @@ async fn stream_anthropic_sse( let mut stream = response.bytes_stream(); let mut line_buffer = String::new(); let mut output = String::new(); + // Track the most recent `event:` line so we can use it when parsing the + // subsequent `data:` line. Some gateways omit the `"type"` field from + // the JSON payload, so we fall back to the SSE event name. + let mut current_event = String::new(); loop { tokio::select! { @@ -472,7 +682,7 @@ async fn stream_anthropic_sse( line.pop(); } - if parse_anthropic_sse_line(&line, on_token, &mut output)? { + if parse_anthropic_sse_line(&line, &mut current_event, on_token, &mut output)? { return Ok(output); } } @@ -487,8 +697,14 @@ async fn stream_anthropic_sse( Ok(output) } +/// Parse a single SSE line from an Anthropic-format stream. +/// +/// `current_event` carries the most recent `event:` value across calls so that +/// the `data:` handler can fall back to it when the JSON payload lacks a +/// top-level `"type"` field (common with third-party gateways / proxies). fn parse_anthropic_sse_line( line: &str, + current_event: &mut String, on_token: &Channel, output: &mut String, ) -> AppResult { @@ -497,14 +713,17 @@ fn parse_anthropic_sse_line( return Ok(false); } + // ── event: line ────────────────────────────────────────────────── if let Some(event) = trimmed.strip_prefix("event:") { let event = event.trim(); + *current_event = event.to_string(); if event == "message_stop" { return Ok(true); } return Ok(false); } + // ── data: line ─────────────────────────────────────────────────── let Some(payload) = trimmed.strip_prefix("data:") else { return Ok(false); }; @@ -515,7 +734,12 @@ fn parse_anthropic_sse_line( Err(_) => return Ok(false), }; - let event_type = value.get("type").and_then(Value::as_str).unwrap_or(""); + // Prefer `"type"` from the JSON payload; fall back to the preceding + // `event:` line when the gateway strips it. + let event_type = value + .get("type") + .and_then(Value::as_str) + .unwrap_or(current_event.as_str()); match event_type { "content_block_delta" => { @@ -575,7 +799,7 @@ pub async fn generate_title( "content": "Generate a short title for the conversation above." })); - let title = if provider.provider_type == "anthropic" || provider.provider_type == "enowxlabs" { + let title = if provider.uses_anthropic_format() { generate_title_anthropic(&provider, model, &messages).await? } else { generate_title_openai(&provider, model, &messages).await? @@ -671,11 +895,13 @@ async fn generate_title_anthropic( "temperature": 0.3, }); - // Resolve endpoint: anthropic direct or enowxlabs/other gateway + // Resolve endpoint: same logic as send_anthropic let endpoint = if provider.provider_type == "anthropic" { "https://api.anthropic.com/v1/messages".to_string() - } else { + } else if provider.provider_type == "enowxlabs" { format!("{}/messages", provider.base_url.trim_end_matches('/').trim_end_matches("/v1")) + } else { + format!("{}/messages", provider.base_url.trim_end_matches('/')) }; let client = reqwest::Client::new(); diff --git a/src-tauri/src/services/model_service.rs b/src-tauri/src/services/model_service.rs index 3dda487..08be3bf 100644 --- a/src-tauri/src/services/model_service.rs +++ b/src-tauri/src/services/model_service.rs @@ -1,42 +1,56 @@ use reqwest::Client; use serde::Deserialize; -use crate::error::{AppError, AppResult}; +use crate::{ + error::{AppError, AppResult}, + models::Provider, +}; #[derive(Debug, Deserialize)] -struct OpenAiModelList { - data: Vec, +struct ModelList { + data: Vec, } #[derive(Debug, Deserialize)] -struct OpenAiModel { +struct ModelEntry { id: String, } -#[derive(Debug, Deserialize)] -struct AnthropicModelList { - data: Vec, -} - -#[derive(Debug, Deserialize)] -struct AnthropicModel { - id: String, -} - -pub async fn list_models( - provider_type: &str, - base_url: &str, - api_key: Option<&str>, -) -> AppResult> { - match provider_type { - "enowxlabs" | "openai" | "ollama" | "custom" => { - fetch_openai_models(base_url, api_key).await +/// Fetch available models for a provider. +/// +/// Routing logic: +/// 1. Known built-in types (`openai`, `anthropic`, `enowxlabs`, …) use their +/// canonical endpoints. +/// 2. Custom providers use `api_format` to decide the wire format: +/// - `"anthropic"` → Anthropic `/models` endpoint on the gateway. +/// - anything else → OpenAI `/models` endpoint on the gateway. +pub async fn list_models(provider: &Provider) -> AppResult> { + match provider.provider_type.as_str() { + // Built-in types with known behaviour + "openai" | "ollama" | "gemini" => { + fetch_openai_models(&provider.base_url, provider.api_key.as_deref()).await + } + "anthropic" => { + fetch_anthropic_models("https://api.anthropic.com/v1", provider.api_key.as_deref(), true).await + } + "enowxlabs" => { + // enowxlabs gateway: strip /v1 for the models endpoint + let base = provider.base_url.trim_end_matches('/').trim_end_matches("/v1"); + fetch_anthropic_models(base, provider.api_key.as_deref(), false).await + } + // Custom / unknown provider types — decide by api_format + _ => { + if provider.uses_anthropic_format() { + fetch_anthropic_models( + provider.base_url.trim_end_matches('/'), + provider.api_key.as_deref(), + false, + ) + .await + } else { + fetch_openai_models(&provider.base_url, provider.api_key.as_deref()).await + } } - "anthropic" => fetch_anthropic_models(api_key).await, - "gemini" => fetch_openai_models(base_url, api_key).await, - _ => Err(AppError::Validation(format!( - "Unknown provider type: {provider_type}" - ))), } } @@ -64,7 +78,7 @@ async fn fetch_openai_models(base_url: &str, api_key: Option<&str>) -> AppResult ))); } - let list: OpenAiModelList = resp + let list: ModelList = resp .json() .await .map_err(|e| AppError::Internal(format!("Failed to parse models response: {e}")))?; @@ -74,33 +88,46 @@ async fn fetch_openai_models(base_url: &str, api_key: Option<&str>) -> AppResult Ok(ids) } -async fn fetch_anthropic_models(api_key: Option<&str>) -> AppResult> { +/// Fetch models from an Anthropic-format endpoint. +/// +/// `use_x_api_key`: when `true`, send the key as `x-api-key` header (Anthropic +/// direct). When `false`, send as `Authorization: Bearer` (gateways). +async fn fetch_anthropic_models( + base_url: &str, + api_key: Option<&str>, + use_x_api_key: bool, +) -> AppResult> { + let url = format!("{}/models", base_url.trim_end_matches('/')); let client = Client::new(); let mut req = client - .get("https://api.anthropic.com/v1/models") + .get(&url) .header("anthropic-version", "2023-06-01"); if let Some(key) = api_key { if !key.is_empty() { - req = req.header("x-api-key", key); + if use_x_api_key { + req = req.header("x-api-key", key); + } else { + req = req.bearer_auth(key); + } } } let resp = req .send() .await - .map_err(|e| AppError::Internal(format!("Failed to fetch Anthropic models: {e}")))?; + .map_err(|e| AppError::Internal(format!("Failed to fetch models: {e}")))?; if !resp.status().is_success() { let status = resp.status(); let body = resp.text().await.unwrap_or_default(); return Err(AppError::Internal(format!( - "Anthropic models endpoint returned {status}: {body}" + "Models endpoint returned {status}: {body}" ))); } - let list: AnthropicModelList = resp.json().await.map_err(|e| { - AppError::Internal(format!("Failed to parse Anthropic models response: {e}")) + let list: ModelList = resp.json().await.map_err(|e| { + AppError::Internal(format!("Failed to parse models response: {e}")) })?; let mut ids: Vec = list.data.into_iter().map(|m| m.id).collect(); diff --git a/src-tauri/src/services/provider_service.rs b/src-tauri/src/services/provider_service.rs index 12bdae8..c218bc6 100644 --- a/src-tauri/src/services/provider_service.rs +++ b/src-tauri/src/services/provider_service.rs @@ -9,7 +9,7 @@ use crate::{ use super::now_rfc3339; const SELECT_COLS: &str = - "id, name, provider_type, base_url, api_key, model, is_default, is_builtin, is_enabled, created_at, updated_at"; + "id, name, provider_type, base_url, api_key, model, is_default, is_builtin, is_enabled, api_format, created_at, updated_at"; pub async fn list_providers(db: &SqlitePool) -> AppResult> { let providers = sqlx::query_as::<_, Provider>(&format!( @@ -28,6 +28,7 @@ pub async fn create_provider( base_url: &str, api_key: Option<&str>, model: &str, + api_format: Option<&str>, ) -> AppResult { let normalized_name = name.trim(); let normalized_provider_type = provider_type.trim(); @@ -54,6 +55,15 @@ pub async fn create_provider( u.to_string() }; + // Infer api_format from provider_type when not explicitly set + let resolved_api_format = match api_format { + Some(f) if f == "anthropic" || f == "openai" => f.to_string(), + _ => match normalized_provider_type { + "anthropic" | "enowxlabs" => "anthropic".to_string(), + _ => "openai".to_string(), + }, + }; + let now = now_rfc3339(); let provider = Provider { id: Uuid::new_v4().to_string(), @@ -65,12 +75,14 @@ pub async fn create_provider( is_default: false, is_builtin: false, is_enabled: true, + api_format: resolved_api_format, created_at: now.clone(), updated_at: now, }; sqlx::query( - "INSERT INTO providers (id, name, provider_type, base_url, api_key, model, is_default, is_builtin, is_enabled, created_at, updated_at) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11)", + "INSERT INTO providers (id, name, provider_type, base_url, api_key, model, is_default, is_builtin, is_enabled, api_format, created_at, updated_at) \ + VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12)", ) .bind(&provider.id) .bind(&provider.name) @@ -81,6 +93,7 @@ pub async fn create_provider( .bind(provider.is_default) .bind(provider.is_builtin) .bind(provider.is_enabled) + .bind(&provider.api_format) .bind(&provider.created_at) .bind(&provider.updated_at) .execute(db) @@ -96,6 +109,7 @@ pub async fn update_provider( base_url: &str, api_key: Option<&str>, model: &str, + api_format: Option<&str>, ) -> AppResult<()> { let existing = sqlx::query_as::<_, Provider>(&format!( "SELECT {SELECT_COLS} FROM providers WHERE id = ?1" @@ -126,14 +140,21 @@ pub async fn update_provider( u.to_string() }; + // Only update api_format if explicitly provided, otherwise keep existing + let resolved_api_format = match api_format { + Some(f) if f == "anthropic" || f == "openai" => f.to_string(), + _ => existing.api_format, + }; + let now = now_rfc3339(); sqlx::query( - "UPDATE providers SET name = ?1, base_url = ?2, api_key = ?3, model = ?4, updated_at = ?5 WHERE id = ?6", + "UPDATE providers SET name = ?1, base_url = ?2, api_key = ?3, model = ?4, api_format = ?5, updated_at = ?6 WHERE id = ?7", ) .bind(normalized_name) .bind(resolved_base_url) .bind(api_key) .bind(normalized_model) + .bind(&resolved_api_format) .bind(&now) .bind(id) .execute(db) diff --git a/src/components/onboarding/OnboardingWizard.tsx b/src/components/onboarding/OnboardingWizard.tsx index 54294eb..665c8b6 100644 --- a/src/components/onboarding/OnboardingWizard.tsx +++ b/src/components/onboarding/OnboardingWizard.tsx @@ -45,6 +45,7 @@ export const OnboardingWizard: React.FC = ({ onComplete } isDefault: true, isBuiltin: false, isEnabled: true, + apiFormat: (preset.type === 'anthropic' || preset.type === 'enowxlabs') ? 'anthropic' : 'openai', createdAt: now, updatedAt: now, }; diff --git a/src/components/settings/ProvidersTab.tsx b/src/components/settings/ProvidersTab.tsx index ca89255..17307ff 100644 --- a/src/components/settings/ProvidersTab.tsx +++ b/src/components/settings/ProvidersTab.tsx @@ -170,6 +170,7 @@ export const ProvidersTab: React.FC = () => { const [newBaseUrl, setNewBaseUrl] = useState(''); const [newApiKey, setNewApiKey] = useState(''); const [newModel, setNewModel] = useState(''); + const [newApiFormat, setNewApiFormat] = useState<'openai' | 'anthropic'>('openai'); const [newSaving, setNewSaving] = useState(false); const [newError, setNewError] = useState(null); @@ -411,12 +412,13 @@ export const ProvidersTab: React.FC = () => { baseUrl: newBaseUrl.trim(), apiKey: newApiKey.trim() || null, model: newModel.trim(), + apiFormat: newApiFormat, }); await loadProviders(); // Select the new provider setSelectedType(created.providerType as ProviderType); setAddingNew(false); - setNewName(''); setNewBaseUrl(''); setNewApiKey(''); setNewModel(''); + setNewName(''); setNewBaseUrl(''); setNewApiKey(''); setNewModel(''); setNewApiFormat('openai'); } catch (e) { const msg = typeof e === 'string' ? e : (e as Error)?.message ?? 'Failed to create provider'; setNewError(msg); @@ -603,6 +605,39 @@ export const ProvidersTab: React.FC = () => {

The model identifier used for API requests

+
+ +
+ + +
+

+ Choose Anthropic for Claude-compatible gateways (enables prompt caching & lower token usage) +

+
+ {newError && (
@@ -752,6 +787,47 @@ export const ProvidersTab: React.FC = () => {
)} + {/* API Format — for custom providers */} + {!FIXED_BASE_URL[selectedType] && selectedProvider && ( +
+ +
+ {(['openai', 'anthropic'] as const).map((fmt) => ( + + ))} +
+

+ Choose Anthropic for Claude-compatible gateways (enables prompt caching & lower token usage) +

+
+ )} + {/* API Key */}
diff --git a/src/types/index.ts b/src/types/index.ts index 4963d0f..a780b99 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -33,6 +33,8 @@ export interface Provider { isDefault: boolean; isBuiltin: boolean; isEnabled: boolean; + /** Wire format: 'openai' or 'anthropic'. Controls serialisation & prompt caching. */ + apiFormat: 'openai' | 'anthropic'; createdAt: string; updatedAt: string; } From 5da6597190662d233244070453dcf428c2b4226d Mon Sep 17 00:00:00 2001 From: Muhammad Azis Date: Sat, 25 Apr 2026 06:29:15 +0700 Subject: [PATCH 5/5] docs(readme): add token optimization before/after screenshots showing 99.87% reduction --- README.md | 18 ++++++++++++++++++ screenshots/after.png | Bin 0 -> 105590 bytes screenshots/before.png | Bin 0 -> 132722 bytes 3 files changed, 18 insertions(+) create mode 100644 screenshots/after.png create mode 100644 screenshots/before.png diff --git a/README.md b/README.md index 73e083a..48c4406 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,24 @@ ![Settings](screenshots/Providers.png) +### Token Optimization — Before & After + +Prompt caching with Anthropic-format routing reduces token usage by **99.87%** on repeated requests. + +| | Before | After | +|---|---|---| +| **Total Tokens** | 19,819 | 26 | +| **Prompt Tokens** | 19,779 | 0 (cache hit) | +| **Completion Tokens** | 40 | 26 | + +**Before** — Every request sends the full system prompt (~19K prompt tokens): + +![Before Optimization](screenshots/before.png) + +**After** — Prompt caching enabled via Anthropic Messages API format (0 prompt tokens on cache hit): + +![After Optimization](screenshots/after.png) + --- ## 🚀 Installation diff --git a/screenshots/after.png b/screenshots/after.png new file mode 100644 index 0000000000000000000000000000000000000000..c92db06067028e5b3c6c6d6dab1daabeec3b15b9 GIT binary patch literal 105590 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

%WOM81uSzyT%);E#Wf#AT;#Sh^5!OU0F>|&%Ti2 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

`^0@`B&_#1SQqZwA!7OslBk=C3ag-= zy8Y^{Q4|2`;ETQXhUr^1ng6(tM|F-8SOWtFYE2u!$%9qN(^|SXZZA7;TeiM{6Cnwo zDw}+US^TP?o7o?#8EUdXG=}r%7Xg6=4aXa{JD=mEN{<<_pFtNp+4@dVGNSS0q-vHh zH_21<3kGpGE*G9DlFqh=HlMLgG+>WoPM`#<*?+9`K&GU+3g^&Lko|TUuxy0@V0tPc zzLQ%IR6>l(2vbP+p0zRzS4{S4sO(m+V@xi{>Wb88>);fA{>e4mx zG)vhAfWbYanH{E}=+zFL53wrl?+Wk>t3WwoUbiP>cRqh<`$Xa~T@|VXQc_Vdy+rqk zJ1y1B(?LT>0^0Ez8{iSt_XXXz#Gr1l>T=Zr_wDX|7(@MWnl;+}@iDgHKpI+W6RbbQ z)hMHAs+_i|W%J_KmfF^n)XnwLa~#-HcrsWVd$VCM1zT(J`IJ}SNlxaMTv~|tlV4Tz z-YwG+T@>1&ddhGFckPDMqMZ0dX=8Pc=D`v*k;_%av%?(@ofQ7}i_7_ro54S#p8TV5 z7>#pzxGH;kikk816gLK$!A>0?WL5JTVIk*!ca7!?JpM6%QbC$MR2paxjt5&B8dhcECpvyOY zx@*71gWvAZGU;kU<~91XFLN1?S%{(?1hSs^NY> zJlrjMD|6{01=L!*8W!bUa)B=uwxGn_hL8L6WRSf1$yAhQ)6SRYwLUjo-d9OowkfBr zNk`3|&w8VYX|gv+a0?)UwkJ$osg zqdDZLcolsz-sg3`zuA4Xy?tIiKB0p#c}p!wt-TdEBLZA~+41G=m3TnF<#(UUnOxg| zwsStI7QTQ>PN<(d+b;C*MjzUShTAXU{+v-uyi7oX(Ixtvo1T%d;#KBV>ba+kUEm%a zgEk}%=)di7n5d^{=8?Hl3}oD4X7Y*huluB$D7&G79;*jH4PhG|^D8~ml5SC>KZ!m7 zXJLexIzs3nB~`=O15v}q(2q@}2xNWycGr0M-o`WEW2Cs`4;vtYbfS6n>YT2A-k^st zz(0W_DqGRu=?|Rr>-{1_F3W-&XhLa4vz}=Ia=k_mx9s+c5ATv( zED9eyVv-aN>EokSJ(RdIj-UVelg|l3l4+@KO?Xl>*k9`|ZKgZ7ykAXZJ)WQJvJU6M)}7KQLGXY;Hmd**xo#dSR=aUV{ezA$YMO_d-6_m`L1@%&T=}9XO#}* zP{Vo;#1HRd+s-{NvmcXNJ1|Hi+Xhg(6iTf3B9~+FwvgzcVO`kT)r{)7lgGiRGmyL` zGgfv=)GrNVeUWedan9imhbr_=@A5!ERDWCA$Mq#6GpH5w+BailL;bdDMKXPJ?S_*s z32lhITAMQ>Flzf%ZB%fU(c(HW`bJgO%<~wIi)|=LHJR%!`9wpGa&p6qwp|C;Qqf;G z-$SRx@424W)m!^6Td(=;GD@O9QnQBCA<#VY$S2TCD>@P*(S8H|-DhvsW=XDhkea%P z;783NSKwZ@`6D|7(fc5Iey~cXBXr5R*2?A}DvRf0FovloA?Zxgd_OFugPw$!RWMg@ zC_&WcCK}NqGx4oE%ZNkiwDc#%+8u;h%)$~`2aL7oZUh|i2FvNhxCCv2dq;! zieaWZZMQ+u|D#Feotn&0?HW zt^$hHAG=?(==1AbbH0_A$V(DYm57svM>IXHd;uS6d8x<2ryY$BN;689JQ-cD!a;sP zugCXBeH@JEChmQC>US54rOCzgT3%V1c7y!hKl?~zWa6SPE><_y0Ifs||Gja3M9CKL%)B|(dDKoo z-j7A?5wc_r4n^OYN5OVIt<4zR)Ur%%>EhS;SbOW~T!`;S(ygdtf0Jp=qkt|;%%g4w z7-qcm@=(_yNmH|l05$gv^6+_8T@hZQ(KJ<*nnNq~B>(0iLJ5;%q0Z(tvB?Wqs^Y)m zVYsOGaF~Bnb%A(zS$6!*h<@|u>;6MlyPP!(fstMHA8{mF=-2=d-%YjHtGRIWye)pg zVet|d(+6XD&h9sxla~($7F^#Q3gC<)ORft3h zH2q;%lf}O$!5AF}Wfpk+Q5SN0lcr#D{r(ym>RYj;;%7?a`_q7jOY3fSe$ zA1uW$OHTY2p`-6{=w?n8{>OS>Utw{-2T@6l%k%*t(D^RqvqH!z9!-JxV*Sj+?hUO$ zmiWC_X8q$2MJ_h4Jb(E>m%qBzu4H^`vsSvHhaYX~p6y5euK|b?{+6VQ{adR%O@VT( zma6;2STX#3WKgi*G?(}Wn5L#-ETG$R^Jgr#5YZr=uuS}Ce-}cJuL<^`rf&6UnO2g^ zJqE>#lY#e@(>H$n6B>kuc7q>Y>%)kiul7<_1HF(b)0N8ww}2_uUGM=|;uPI327Ll! z@zL2vp&A>U)0;kyeb#q9e`9H(fIDd34~@JMmH5c3=+|_5XXk28t9Dy3IY#)=Ai0Y9 z%HFr(kWbRZ`Ty11B>$wHdon*K^HAcSlpwrZXJ&ulsQ_+d9i6P%r47T`p${oWWttjd z`ZG_y7sJht8MBreZ-b0kU+zL9o%{`g;6=XY9;Z->ot51nEeq$)*%FEFm(h{~B4+x3 zGXXFCf2OgR1spXRy41PmmX$If58lv&{XfZ}>a zZms9Jz@D6d5_K#_3b>5)K$hRNYG3tqJwDsEGzgk|E zoyM5ie~S1^niCxbSZ}`ImJ6fE7T(U4DP;zW{J7IzR`lMH8dUd>yl0zaVN_~GQXOtY z7VDDK-OAO8F=l~vZ=~P;_Y7`QhIgE?n7vZS6P zefo??mYD@%2t!DF2$L@rOIKzjATC3a@BCUf_(-Ud3o%=GgY}-Rue!najyGQ zW$^N*qX&e7Pa_uJrE^s6BfE^2vLUj66R=&rO&Vj-x>32;W0e-+NJQ;E-2bz{Tu&tH z5r(`9b+5gR`Mfwbtn8f5?pH`SjcGXx1<)2=p}80?4sF={|7AK>)Gc19(&u5`w^F39 z^!xR{CHg22!*nwxOvkz7RxqPj!sbx2w#d&entIc@82$aLbc+wAUoTwF($<*q|GWI} za;pE^EHu-@hhZ=I8WVDJSp-rzT_NNRXG0N+Vt=HhmFOoLEXIVa}-QWo^QpuI~ zrF219l7S*fNcWfdEOt(BU~-90=5d0^H=W4651rA_gj#X%uYIEb^hls^-Q7sXeWU(` zmY_%zEIbm1e#|F3q5vDZbwRKM^37H9UE@DpUtj$(&Ot3!M|=BY>mgRN33#q@d}vr0 zf3S>H)eg(X!wGdIGbNm$ z#N&U%4zT}DdWRBmvpgr-J@x8Mc-RjX>?&=L*c>kfPFLB}_f=M^CL~dwjf&4-&x|r4 zokv=VVYZR8tF@_mQl0XJH_UaZ@8k`oOwtJHw+Y0y>UzoeWJqn;7am$ptG$PX6Mc13 zT^Cbs_qM-q`!nxbq)q6*nukOI_=^ejfRmnwR)3!t5%-hfI{6U|iD=Q| z3*2`REZCgzs6O3KJ{uwUsb=>1$}1dhxHXJ1Oq_ zy1W-@PgC8q-ZihiBCXhj5cNlYJ>AxAcG+4}%Ic{YS%|WLUbtac%MN@4ZS-F0E;GwNLd~JgLk(i8Vt>zq^!5;X!C(&;5N0*;!Uq5Rk zy`pOn!WaKpd;--=yDuMG-DoE_twE=I_f#@BXUbjtpD3O^whIw)XRw{n?(~F%nh#$G zKlCO&zIl%NRu)@U;YlNf`0QeY|Jq1bMMIvjs>QlJt=AV8z`4Hs+*qbAOiP(@}m^HU~G~8e0o}IDLvo6!<>#Bl@&2hadZaC0$OU~rOD}Y~@KOGQ|ET!+m z9N0f%{OAOQe9JRko_yPsY70C)=0lG@v4yjLqLE0(C%zpVd8PX}pAAznQ)%4&vNvjC$q%1?Ooi)eVF6Xz$x6M-|ofQXIXh zx55Cw(%Z&kWqp;%EjVy2TX4nH3}34wc17nz9&z3piP!s&lYn;*vxxD^V$93(cJ;jU zav^}tUw$Y>1o>tS)|gP6$&l9h*^745#xLn9ftzec*l>KB1;?XivZ+{OF3co8r9k@W z$(OSpuZVFxdO{u?)4Y%($gza8t*Er&3UBf;l$OULp}D7GHo4Eheyd)@>eb`+h~xRF zT}PM&C_*Ni_lAdH4erxJgd+U1A9szi;#!c>INOArI*?4G? z!c}!&h|>Oc89fLv;(c2LidhwWtoK-ReAozPXlV{68g}f*whKAjroPUy2hR3rA@|01 zmJfHI`CitL!-kilJuZ1O3kvsi4*eD$B(&_e09Den@)pG`BIh#4KNCfTd}%1Rlm8Dd z&e*Q~wRg@Wpe<2!u_Ahb3d$5rzpj%jvSl&bblbGk-0djk1^}cpBgMar-<9siT#|ON zw<_3Erkkir*EVS&ivJ&mMl(qydhebxR zOG>6M7^m%%Vy3x5cg+CYBo9s#=v?u>PDGgX#ufo}R!7BK09Ue_^$__ zd1r}-_$AQiGqVRCwGcQ)wdws8`YK)BqoY%?vlEJqeJw`Eq+KkRqQY)gDcxc&U{Z;< z==gz@n)(^$>z0<5P8*C|I#Y5}h94_-W@FZTe*Pwc@6q{xtx5d8hBu#mjiJ(2w8mJ! z&Zk&*3T$j-x<*f}69JK9FJAmM#9ez8L_mDz|^pCD~X;WwK-k4ci#HKqMn+c84! zDU(xJz5iP8u2X`#_F85`RZ~%H*&<6_33+x#MTKLp%nU$-i!^nink4MxZq@0LX>q9w z<2hy+c;|G`te-cAma-f6#ExZcHTW&^?sZ1d4-Pu$FB^_+bM7=~Vn@yE*MuF&Wgs58 z?rC>M?C-eTJ;_O{qnoO~?uOrtdf18Kj`Ik^yw_aN7v&dp3Vzm*^P0sYTk-|{40q{B zU9N&72~EO}=QLrPC%&vEd@`~oi3nt&@cYHKSql^5n+cUSrp7gO?H&>_;wX}=qS~2U z9fPkfN5@TRBr$CSm1ynqik79`;G39HOXsFWH$Z`Z8HXW`4ZLmQ;Q*h!BRtFaAudxe1~V}(zaa-7v8nI-fU`Src-8&?J?_iA35v6czq?LJxm`If=D6^V-&c zs_|H5ScMS!l2(@=E2@xhLu{O4OD{Rx`R^S$KLCj2oQ{?@a+JoLh=fWF$i)H36bSw* zYQb$hIb+Ug*mof8)j8D6obPzC#N8?x{ue^=b5v-k@1x&NJykpu0)fnUZx;JQWHY_i zsMRth*YDTIV0JbBE{(;a@z9nQ5oVU0h(+xD@82hbe%A8hkRBtX|I#e<_iN)Dl8ww2L0d!CGhGbjEX`h0 zyVI0p>j8h+f`xpxCr^S4OX`xWhk3u0ltiiLKZ?-6n9lb0_ER2ss&M$}sV7wXfo5T1 zgXERWsjhDN$k+zo!@pc$OfXHxz@V(I9?$QqMi=$!{d+uzQlruncPj@6kzgNo8>;wV zp&tSBuhB5?y;q%4?v8c{!;|gl7FdSFL~VKMgfiq_16ouQG}8j}Q?&lxf0(eH-7J|t zSjw=F;%sj~<^hDKa*v-@iW!$u6H>!_PY_{|*Y2pt<#6(_5Q{h|~U+Kb`+C|Y{@w)Zy)A=>?0v-Kf22`L5aCT^Jt zlda#hwzlqkB`a0T@kcVUB+~|Lh=`RgHpB|6AeLG@v9Du0?{)_amm+ND#`JCCLt+U? z#UuLnOx-YmCKhhz7lZnMo2-8ex(30jH!)PyPV`u%4N$0x$y zN{%*_4V=Cwm05Ye~SazPQF-+Ai-{`e5mUX(9I zl?Q)5NT1JAI35=K=IxHB5kUR2PuuZwm*{&YePnr#DK{}3mc0>RCc#`%sBU$-?27b; ztK~1g%$)1U$+0?{d<*c!(~x{`f8Ds4|y4np8D?f;LEuu)+_^% z@gDhh1_6@ji`lKhf^3}7{(jb?(=wwtA->X-vLh1(OCpw9_GsTMJ6jDyL*UYBxw+n{?h*9u)F*5mI$hy#Z}Z-h(nQ*Gx6OI2UDqC2CDNMqGdEs?Gm>2AR-|2oBKd z9(EE2KOMz}4=~8zw008L9JUzEw`ZE&s3LuB`?MaNdtY%nG z33(h;RxOlW>9=Q*f_7(y*M4q?eYY=~yr~l|g*XtHfD|U_!iAzVrj5+~oCI7X5mOnt z+ibDwHU3VN8k?CL&amYbSM752!=%!Q=ZQf7rEUYRC*I7^2Cg`9`Y;pB0)kLiz4RuB zMn*<9T%NtKv9-PEg@bUYvICbxNa6!dAEOl22JHwq+zu#ajym+Z*L{Dg{*fewT)0!M zK1MQ<1y+YrZu>Wm^Fy8NYZ zZNm)z4G7}cnfKBoM+R?xtSz7*Q@sk0N$j6!UeV1azg%Y~v8TKj2S zOBz0(>HQut&yzPvGmub-h}|p5z~I&Y*xa4UO1C?6cIN(T52D^%rVDbsxj1#Tfiez& z)xVjDnFTJ7YHwb=oWc*mansg1?*fZ=OMP%%`vqIfzVG8bmcm8gRd6FsJgTl#)q@0I zYL>{Af~2T^d5at!*9TNWKfl%t3=U!cUZ0P^c!`OFflMY-4&0DJLi3cP&1g=8u)~)4 ze3#)lN`+vtALa2lq{N#{>(y(sh>WzA+8u_5z-n@B^S9>jT(sq$sZ#L|`pc2UV&`mv zMh-bySwCP*;u`~lfz8s=+}he6?T%;=j+n6UtoBTJ`r93^FkwbCYeG_*4k_2ZPF`?f zY15nQJBI@$j22I9fiYA|>JIKPPgZFh>e_~3$~HXp&OplAvQs15V$tX@#aKRc2~3NNos-5I-`%#89%qXbn26kJ7?W2JA} zBBfjkc850tp7Ka@37eMSnYKx}pxgztgm8i!4Q)6lUWHIRUZsD4M(AA_GJ)P%ACu7; z%_*#89YQ9Vt+eBwOBi(FuAhjV$NzBy0K2ui8ag-0Ui-_F0WI0AlQ1aB4es=%}tM!PACXP?ss?QAG}S^ji>c57SI^5@Z4 z(*E6y<`<-@qEY$lW4ERd9YaSMH>L_YHGc+k3C8D9-|-Oa;ji%Jy)#~5mFgd-Fn#o3 zN-vGyW6J@98n2UpU9!5^P;O1BG+#Dhz};-&C=5h=ccw*Sdg66@e>w`B*$Y<5pnC3P z*qj7Y9zD5_d!%r3LMn1%33GuLYaq`))jU8mAdfS|^o!E}}&(HDT zd(nVtJ?--)XA!zXz5k>b&SEgmY&uNSY@(P(w1Wh9a!^$sSEG24by0$-kN*6&Z+EQw$tW4GwbvlTT@o2)OEP zj;n#L$$Kt@qN-tezcRXXDxu|f1_f(Shr_q{e1qnp?h6s;G*)`A#RI4Bywy6(Cu0dd z=b87I_w(Qr}j>7+(LQ{hO*|N?mUsy0^X7OA5NNfE4`*&*_8Y(GF zc1b~+Adn&N>@8-(ftZX8bo^*tFmhBH+dUY_j%%^P=zw+p7;~lsZ!ID;@9Za@2=owe zdFB9_r|Fvai<4AI+sVSl)aGnRN*^Ufk|*~ zhwd2I%|p_mxT2qia$YyzGH|sKu->5!2kA~`rl^R$@?WwdIT0@FjkmyJ&C5SmXzNiK z{hj>!%j) zItA1^7;eKlZf2t0VjkO3QMU!h@(bYrS52xKkGTQRii`tyKq8B+P9=hBKyF>7)|^2- zhoszc`E{1a_lKqQ?V;9(V2>VO=eW0gnTo?z-0=)f7gu0oP3RqZuxz9a{(pdw&5BV z7pF!$C5}lcY8mPbEULGeb|PGq;S?DEz38C8<@y+?xV5#@(9n>Ax_UU|6J}89Ujb~tL%nqI z!w8exw{K&P58i41`B`~oMMYH81fDrdC+*u!MH%bxAB@nDsPCKKCv$5b`#r+kpv)&o0LpkVX>`1#|GQE0OI2YPl#`Rw z=EnR`_FEESj@>5x&2gpq$5yYzG&B-B%P=)crLPXOR&XAZ#zWcT!5G7Z;SpxlnVOn% zs-3b1fkZX`paRwfmzG2Rre$QXA7!k6mt{FQC1qHTc^(83n3P00HI@DXea*waOZQDx z3^UfX-Urc7*tH0WiegUue(L+$Lims3U~VwoE1bnI7~^Z&k`4^0Zmj-c+%@}5v&Atf z4J=#}m{Hom&ieke`9J5o*F|B-bSP$yHzv2Vc`$P%Hx|&01!RPuxZj6WiRkL3THD(T zYl;Ce?-i*hF6{W!W8P{$bi8Y;&wHOYnGl#3pR|TqVCR}HcaYGMfcX)xi)kxshn?e1 zQ1x_~F1NA3<{45B(^7w1Ynd)*fIX3r$9I0r2BAeQh4g_xSAL1e3lM)AL`Sv8d;bC?5?EM# zQ=ex+S>WZosQ|dy94DSQzTM=8nkDeqc7r0MQMi65@=o)S|8AiL9uo z92zTW2NGRt-e+h3%8JT2yLM;V z<50+C#!=#Be#fNRa+mK_b@kYy&9H0OMQmYl*vVL(OWoz{>uYhVz|0XNyWN z>&HaytMVXDE(5tifKYx zGnM){O)_h<@frZKKFm!?$eVom?oaH>fBVOzwY^p}G%&Yv_F2q;0};M?`Lvb8@LOwK zWtTMav{}pFHP%iW7cwywVg?giQa)GH+amh*Je_4nW+hdWTT;GPSr`l@^H4r`fO2X& z@fvygyYTGY07}Te=XBM9doMxi9ZSVHZRg` zn*e#dt7EXvIAxH>U=*NY>9~$-EbCM|GhTWBNbO(N;ebGJacJNQyTeb)Ckf3DcD=x- zN$wk6UdbxCYR=gVFp)^x3}DA>o&T{%zpq4C>}dni%?!j;t?APa#`>K18jr;ar3I33 z$E-U0o8I?O4}O>~eiy$s)!1;krTe1Mjc#29EE-X1lhsvKAsh{b8)|5`k*fEOKmwPlor;Ab?quVc_l?qCe zk%{cBW&n;V&UpuVO_x89w78@wR}QN%6UHqj_B}m|FX9s^VY>hR|8Ctg0Ayr?LP8_I zlLNmc_~MN(n)Lc#CM>$##U!RQ{qoSYl`=N+aH`32jS2BrgIG8LfF(sGulgIrx2-Ut2RzW9UW>v2=G1u=O z&+6joxVrPp`ui7hId!9bo6o07UTMbw76+Yew&Qi2hb7}wR=1`r!Wz9$36;;u^`Rk8 z{V4TgOifMENx=S;#p;=iNLtY|p6Uv*g5u(X@C-mp3sXhaNhc%!oi{&RsFGu!zUW;q z^*mIL(!j6XB;r?hD!Pr-T&9u|OpAT^kTrPZ^_#&7xB4KOhtiWjSF2{Ge?^*+kzr#3 za+e{cH*ewy3b^uGPl1Unkv+qmv9WQj*_|xucE7lPJYy3yJ<<-g$cs&ld%6@Oh9_Pq zt}*`tp&po#6)*>fw0{l?bCQ)e;NhVUFwR&Pgb%BA0due6Y{uxh7nW9bVr!i*Y*MGO z9dp$zrfMQ!yM-&}cbU0Iv@{nBmMq;LdrpXTMo>NXwz>Tzpq3iL~6vLfi?n|@HU zHmgUx`Ao(V@}XrTF5l}2payqi0kMe24Ua7Br}Axe4Se2J7=*Z$&1k)UHo=`AN54E+ z#l$|a1H-RnGIVrod2_x9dG(ImZWDD5owaVz;zw-6@h%BGMoY z(%lV8cXtSagdhzPLrFK%G1Ah_Fbp$uAK&kL-|xL^-M{WxYp8kVaGvMvbM`)a@855~ zlUi+z&^1|+Wiq7|FZ7M}Vr!9})Z(r&TS0UNwAvCQ?*}P~n#9Pwp%PC6g#Cpo?Z05< z58dyd4?Inzcm)A^M|2*Iat~sOjN-RvLQX$7k|-(BPpo!FI(H1+NuJy`dl%Ron^_pr zlctcc#o)Q$mh@2}exrM$T(d}wMzTuy?n0=Nm1e$;z0=< zc_!tIWb=5H^mI3GiB6S|6wNb{)sBtNGFwuez!cVjK&!|0-lwPj zYQ@%`C6mUm!5ux)CbgZkvL06BtNovj&t44JvCCnaB^CCzvY?5kU}ObMv&XG zNTfcn?GW)p{CzFgGbAuT)~fIq%5m8O1wCFUEW|8Tp_t~I)m`x~-%?GJeBly*(E|P; z1n-&-Xh~~+ zBxa>;^eLv~I5BpuWEL{JCHlr5?>xT9XEsxB9uT z0N4b0=mfl$m;^svI<}%$UvIuK$Fg-OV}1XmXIzoB>NMaJ7n>svR?VXW2O)=e;(~XM z1ztwP+q7K8mFu0x5CEj_7tK(Rw)iB6BDXH$;jCMATtXs?mVhk-p^M;8i-x85)n`{i z^~^kW_phnqnYK?vx}$T%4h}0teD6in!Xuv0(yF}HW=-ex2ts%U=*+({cFmj7vNn(G ze?mF00F5@tv$-F;3`+2mX83ae#pr|R7&Echg)5O!skw~0s{d>zAj%#}av^28#CL71 zO!z)RDAM;PDk0=<(~TnJTO3D(d~Zd#;bP!6ktcBbZ!=u0XH<`pd>%zMyHt1J*@VZw zP_C29&K1#lw=g{`#O6yBPA!-g0DuEKkDy&Aw_JEV3*sq=LwH8DOIGN5z(qf#L47 z8rFm7ZB}E3a(?Olg%k5KzoC>;=L$7#NAv^gS!0V>snIn{J;?`VV+MZIvyydn`y?^= zG@r@o%-OIrjean`%wC(CSj2Muc`|%BH2Qh0GkJRi-?P~l6fC&K1b)PZ{Do0u3QiPV=S z(~56ZabEY;O*m7BW70o*Fc`ziNAf^$?m8r#$HF;_#(wJ-W-sy+2(hTJc%Q(QMCvny zZx&3Ib0?2Y3`y zKJ-X+2AD@Yv8mbh$wro^I-WhDSLGVP#;$<)i;OAz24Q)k6A*ewfTRwvSvkCWir#-x zKg|Qo`Wf%Wrb4q@3wCS%sog8awuH?BP70CfhA%DW=}F2-&M&}gbvwZ(YVQtYYbGC;vw43OZ+4??VxnA=M*0h%7`1H%+jazTJgmGCI)mtTCs%j5UJ;n@qkqV$C=62~>{$E%So zsB6D66FDu`<2e$R$4!tovV-<&&kE%B<=@nzW~|ZAyg5e_ zRumYsOFC9_&|4%sQ$9#@I9lDUYOml5SZL@-PFW7@xNjl7Jp`|NCgL5kI|{W-hFwby z))&OK2EMbi$xkWaImB53g_MrLpX$mvZWT_#+qSL?Ae}n7qm%`UWjP#N1-}vKC`BHQ zdt%6?m=@S>9YlNux(DM4+>ejr55W6*Y7?kUKWg`c0i5_`Dn;d?qz5svvFuh_C4WD9eE#1bHJxj~)p@C@0#)i>f>cMhne zu>)MYJNL(*o3)`vONO<@@L%}-p zyr~1p`^p-;TNfMm1|-A;dhWKYN+9Qds_z>aAmuxgswySUInF8b#H;Vi_%wq!$i&9F zeB+F>@xxQX!tP(U#g=i(OrO4HFenB@;t&$-v%kp}!*g5kCH(I5^ao`HMW%e2iE()2 zTY71u$sGD2Rq4LI%9*{l#3Z*G`oFZ_%DCzg@uE~{4VmLRA7AVr>vx6+JAI*Nuj2ol z(b68GT4)tzdVxN)X1GUqnXd7!f|q$udmFu;;pY5ed6xf>K%Y>FZRxi%x<66Z=%_#a z(8NVoOVv_x>?EHI+w4rtqV^`?g|@a*P`62aB75FZb#Yq9ULnzhNqdel0pZXM0+&ov ze!T#5_m=qs_gexja?*lP%EJi>jQ!*=2AmkN(OgA&=Zk?z9_tw%i)gX{yJ3@iKY-+M zte^XdSc2=YOuvBB_q}%~ZF}#WCZaKV$@!h4+SLPbaYGnB9ZEl?IH-Dnv0z|JMdZ5>!OHPry>uH&n3uL=jW2f6z4D0gZQIKjeD}(RhNaRz&{QrkqMxhRTZ`0 z&ug*(Rvf@2>(SSFxZI3w4gB78_GrYsNZR3IFwRxaX$Qm z03iiLbMl*=H6aPO(&ml!M1@dPLM$2`n-EECRSKciUdr8Z4mb}a&jKf$ZGQeH0^efs z3};hqaIw>hRI#06NL6lomWbemr6U2f9JkI;S>6$yU|>B@if@*Fi2X}(WfA6^SqVw` z&!C|(3Vdzifp6`DPPPwxWh^Zjn-nhsXmHNHRF(=!%(#y;L_bUHI8)B=4Am-6^0lP& z4Pu8z4OzRH6Kj{l*N34`lQSNF{D_#f^6QuT_~wm^-<#I&l{w$OJfD1no~$kZHgWRc zw=!k2-~+cnS}It!da{vVf0m_EUcq4#}Ozp{pyX1Cz6vI@N7>@)}1fMSUDeL4}nkBDCQxoue#SEE?u z#2mcVPLwA9y4nSm4{0 z^*WN;2=`X|zan$ZB62@%h8NHpKAtO7k8F&d&tYAMN>Mh`?544&ZJV)v$dQoej2CEr zaaME|g2eDnESi>SfWRg%k!bXvqWL}&65D<{-sT-?_Y=9op(@5J%J%E?=;WLOtacW* zgL{8s;f!zYeJ}_3m!}Iwj1f%u7o5ZdW+MBStg%ilSfISRItA^puNA{ zdE>P(Y_?w#vslj(HYO0_!Z%xq#%TI7yLBjaEdSx5$r?4!#%hoE;vPz8igXu+SM`db z+&uaf!Cd?|j+!$@A1&;Fi0}cPBX@j1JQax4^|tdVrj4An#LwXViDUnz7BFnNw+v12 z7uo17QHX_upA9!|hR5#Oot0FJ>7y-$M60oFUnBon;u99-97sJP+(JN6b^ALv*VgjV zEE&Ha$5xri_+CxE0@3S+Ly$w&hcCm0Tf6pqyjE9w18Sg%+&{XaNXx;nDPwEhSp0iz zV7e)F5b<9jq!N}C_c^{AGN;d?!Pv0Fz{I{HS8jVD5{tx`8`}AOoKIy&3%(8|gM2$9 z_QQ|EM>^1`3Cm-L+A1Wx@<R z&b{?cZi*huk#SojBMIJ6$Otrhrf*hEan~k&mVLP(-E)}l43Uf>6!$;V(bgs)@x61# zNY?x?_ZAAd_~4}JI@4t~|1)y? zKGvKE%cG0;y{Xm9L4XzVC-Szd`f9+>j@!O4IAc5rDxtQr&VF=obk1F|!D1HbR-+Ee9kZv51q^n?6(3 z3U9ceYw8AdY`HTOB|uvwYO`KE@P7iB7!k`eB|r6LT^0{m#n*q7Yq_&Vs!;YM_undS z4J*AeJxdZ$u-W6GUzUA2ygs`(T&L(KH5ie?=f^h7jPvYE@rS^N5ibHJuCf=V6JW%I zl^SvYX=mCTQL@Q&gyWFXjO<$RNN-=Bn?V!}Z+bMtEZNgSnTs>!ZB^CYX`SKXmxFNs zb)5|N%5k~Xsh-7U_3!1;2Uvxt?K~L3TsK8VFy0WeB(M#~$v^~F-XaLRDQYz3P@ z#&CHJPo^;eXzt#u1=lOH(sM{NX+0!iD2U^j0X z|07<|&hj$zD-{h&o2?EYfuO9oxSi`_k3M0VU-4<+0UhN{Caj;j)Y2wZ6-(Tk$nR-; z`9c$uy189tYM046qGS8HMsCi#o%aZ`QcK zq;Q!=)s}VaD+{^ZCy$mm^+K96{M1Q~_gu11r?Ltrn-i=^Cw3pP#o(s|e+r$LcnhS6 z^EYqJzpW2HmcNrDB1m30zt6q*NcdTy`YLQQ-%xZD{`fJ)NNWYToB*If%J-Z-8^U|~ z6jMov!{$&Mo2FkI%OW<+D-Gc*=$NBJX1z&t1_{U3_FWsh+qU2z<-yL)O+s%1t3x_c zv>I>Mi_fd=x1HFhkjC9&mJ*`m1Oh~-rZ$5wVus51t{@WKinKeL+HcHo_bN_sQW-damFax7jGuHY9jcb+pxN`?eDpjB`4Hqr z5BLX4?GQ~hL-0!@y-R0gn-u@vx{|^Mc6CKw_jT;R6mONu@wG0^&c9Bhj8Zy&t$AOzI2Xo!^C zhiPb~w@mAK;Pno7c|9ZST&TA!nS4E3F$RLtr*vrBL(c0blg7y}NeJ59Ka1BXfxm_@nT&vwikp1zj-X=`HM|0l$ibUNC(L~^Iz7z>up?V2FdX+nV z+z{baZT#m#v6Q*;T8(Y=431Y!!8`k~1ww*i$zY^7<>c2sa8$pL0%H>|V3I7VL z{x4K>g?oPf(r;&gYcK0waQt4Z%vGh^VZgHzMV&Zg_ya35q1Kp-Q4@=cBNDp?-$bZ} ztuRT054w_kyJqqV7KJ{>RPOie0SE11dHOx4ue0bJG&f%U0!zGb7+h;IJG7b2smIB6 zk*NP%!t4Q|C7!KC|CCUIZZ>o@x2NMGbiB1PK-P~PxG$ZH0!kgfLf@ZKwk%FXFS{%iimaA)T>zt(?s$nuZoruH12@ zjp95n&BB7=k5HINfAN_~y^|kGd^cd#!1f^Efvax{lFvnd>=s)24p2{GX9=V6IZ@7mvQpYV$pL>iU~qgdhJ}`O zIr`@G;#v2&#zqmbzDv1T<*PAO9+bzyS&u>vyMx~c2XNFlj`9ZHv`{?q3&BEMQ=%jH zsgXs)ml}?Q2^c2yzvqq-JA5u}0%NB#HbQ;PFLh3QB;pSI2u%zY`wgWlcH<+f+B}2! zSETDxF5{I@be!sWZ)%7nS%cdgF;VF8kWMzb4Q^%JiD6R)zQ=_EtPRI zI4FBAB;t!Xdpr4Jj0bWy8DbB?&a%^xwM?lK+#jrNPq@X1layXr)~IDbQ&c8;b6_fsr#3Q|rP*Rm(XtEtZGdIMjFlu@YJ2 zenuvb8l1kSDbe)%HY`gT#xiCC{#aGqyO@R}FtA;V^S&61fxN{*wD|=uN~_T^^(;cc zdYk9uru<$vDaiS_hA!y7BYeNaunm5}T$bo{QF}V~=f%hMH9lBcuP>9!d6R`Z;;eI0 z_^iBkJ{bmMW3!WdiK+zp^slU&p@+Tc5WM5s;Mg0J_&)8c2Q{DY-v=XkjpS*&qr+dj z6U~008O$R01NRNm0FvO1!p=`xq@b%oOkNvrvBf!ZETc6yq zdWE|G2*yB`S@{kGPyWB2;irr6EbBmAtqXZmzAe8!g5^R(S(v*Dii|<%zy<%jKL{1K-V-FQmbR3tB}Qu&6cd=_LKm69p@(3OYT0U7~8#FmE7Aww3BB= z&N&M>-3%>4uNO==u@k?i_DE)2_|o|L60UfkTEI>MtNpjIoYZ-BF0w8;3w#(BjJ*}P z4iV>Q)_ySxYgf-Fzn-TZuMZA*>z;L|=lFM({~N%0(ni@~{dZItUU=YO>-xsfaEDa9 z@K0nD$SeA%ip1ULsVSbEoSZly@=ir1t7YHL8{ox;?HYK+Tr(d0A%C)`Ztb;hg#8}a z#W4s~w@1uHh+^Sj=4vHqz&ZF@nxpf1whQ)K8lRZG`Q8*TBHDR^O7#*UtbY!csJ2bb z@;hgYIC|G3&V+E}fPtjXcUbWfg3mY-L2ndh8d+7xT^HiJpb&t}4|2AImAp94nHF%y zQF}r$f~Emap;Xip?Sc~PbS=oN_G1}ISdih4>Nd=Rpi$!Hq6d-yB5}OWuVV|Qage{boG+2#0!uE z@;J5<-6Oi|yRTnA)?%5oI+&uCXledw!w_irpV;udD;OyQt*D++Bp9Y2 zAcXP8r?)p(+(F{p05jNsaN-1&eP_?fIZ?H~5uK{Qu1*!{N0BzR!1FOSM+ z9}D5j5p7F2$S=6kLy5c#F#vsUx$Fm@nA!F73f*7VI@HIr_}>$i#fwgW-+?DHX%T{i zhAnj)*N{a6>Q{GB1eO}FJ|AUkQ=Qq{nDSzLy!w4t81473Boxe=J2xXm?_XlggcR)Y zKP36A2hdXt@Ge$iih-Y0^wNmY1Xpgi;_)x0G-$UQK!^}GdkS|agI`*cocvrk29JFX zM>Wn?weagV`wYGfBneP4tL4fVEg9&XT&ppxPUL9{0l^l-)BA_`@GBZ8W7j9W<==iA zO3jt3G;6nI#cGiE**G4_6Dr#+O}bMCq<$6t_THT1r^7~KA(BfPvEjE;@W`O57E9?-o_cV0?W#G<8m^s)B5O1fu;o#m+_XKn^~ zC{P;43JF9&s->~A`JK&@kvjdRr~Ka6PMewJ_ZNtV{h8FC2ZRHVsAY<>!@;y06DG*? z$P6h(C$xTR&R@)6zl&)0TA_xmZ|V8II+X{L%o~Rm)5l{J)+JVhCi-_<(&w4Z_aWX1 zA&x((GRO~u4%x~SWcOF3f7yeegwn`flchBjUc%a4_ik~G)yWxqr#(Yym`M-SoFuy~#rzj_oc-0_yb3;t4>IO*cC_)zH$|z&EB`8Mf zcko?3dtV?B_~1yHUu9-5Lk(WJwfNEp@0?-L@#*xr)v}#_yW(f}z48=?8KHyiXU;?%2d=pDFiSKg?5$Snr!5-cqdjUm}zew_k!< zq#<3vW0Rl_oBInE>8+1Dm%r_928c}pllJgdvOOjnr~)<&$D%7tXK86S_7vj;JJ&72 z1aww3lM>J;p!?xkJ@{wV50q8I<=gr~G)|#swgFJu#Ph|z#PdxPuEUEv@7CWeMumBxqk)wX(5 zINTk#_%@D%I9SDSz7%akC-j2aW_;0p5Z7(U;IdqbTLiO9?i+sYoBHDNi}AA*2>T-o z{4Ux%3p$10>hrwu$UiZd9Gi&_ID&hVhtuE;|vQQ?gqu%bh%5;MlN^jtE?wH-YomvlL6+rj-7-yf+6x^VSZQQ ze=@qPwDNgZg(a>YN7g8_oPza@pma%YXo>Ix_WXrl8>yR$k|_3oj|2<%i>*Q^3&;(S z1mEmLnaRXv1_+wT6bO5`4!wVVfe0klmHK^5n>92O89XRlqsp@ScwDh1$tHgw>lPIu zc-{~&35u3tXY+ZTSR3pa2=+s=tRej0bvZv41Skhb5qoH@I}nGq;KvS7+}RAt!9I53 z2FA`L;w`6NumaBvP9!%(qv|Zyc!*xsAA#@|3c4>|_MaUOUh41EGCSlhb8mr2!lu}o zO(+j((SpuS1C4SECaVZ*c7x&b())xeo9-Z^31KdcFb4bEIV4OBd35otD75Fl`DuSp z@F;iw7cIpbI9s=W3-cA>f6t0=PN;q3Z`}@LD*2)?BCNu@=8W~0rV0X>6%5X9``Y+# zX5`mqQ$Pw}zl`vfI7VlAJZ!W*5?J+v?0Z3jD{&!-0N$H;X{(VnZVHu9L!X;Yq?z9+ zEZ}semdp>vbTI@n*}5x5lYlHyLR~Y5i$2~%j|+JQzkj5iY)eI4V9ErmBfh7$4}4J^ z7n-Lg8(y{L?0~I(T!qql-)`s%HCVO=%ihY)7p8(vnqe7(-} z`#B)l_n&qVZBXyR=-Qan(kFcG|A?fWcjjZUgoq=fOIn~a`DiJ3D`G_Rg%cC2%kK77x5 z8=_q${i~^jSO!OVHo|XS@70XyuWd~s^5vAE-z9E#q5YaI{;0}vs+brySQr5SE9Gfg z0lGQ4*qk`Z{W0SJ8jH%}VhsugTrHruzD zycnSc4FaF0(dfG1P*Hp_K0q9B+1O^jqjkQ<;tQ`ByxnL4^_?Q_DDWrZK10v!PoRFJ z@C4j;H(z*hf5Jg*ne`KOY+rFyk3+=jd%n<=#CP5hoYOPv0yre~{$vHb5eW*2@a_uc zb>)0`zc*ZdZ#N8W*j&KB7(c!1kP=ZQoO;_8?<{ps#a_7D-9<8_ck5qpf43%azj>^R z@BA!y&ApmWh#5W!)~SOreo*U--3z+)M1W~C8hEJfTDk_dw$H*d-Iux?iKSaHUlkfm zhLR|mwB~^Wjt}pD(R%X=c6!?S+X6&f-QfO;16ouS8cZaqWJaulZv5^0jKOB(;YLV9Cva2 zARDaNm+JNVOOeps(?klxJvjAa0ICk=fFlZ!e7^XHp-o7mz~a(@q!%wWW$ zjEO>}+hNZ8ou1k=NlBC`Zz?FRiT{<_1!V*uOr@p4l5rckx3CH=aU95*;qL5T2)fs8 zropxT>FIs`WB)wO8O{!FKdc>yaoHwaMaF6q2{7_rCbYMDF%nhZi<%(Mt?8n9FrJ7; zu#*@cUw)6t?u)}!rpvhmAP;|_1^?ai?;^0RC%_G7-5{ZcIAS9|I5&=@D7Pw_`CosG zZ3{>yZQG70Jh+2giU#j&9WJ;dMh46N_j!Qr4-A7|i^jd(goIsRQr43d_tyf@ia*Kb z|8ABj|8{8ndB+mv_vJ9ytWSZ*|AuL-AP}oBBK~(&`DZI00CHnJk*D_RRSsB;RzpO~ zsWsF8q%CvB2A`MYe;LhJ1YAH#HQwj&ESTSSfc(&i%NQ9tV9B@Pwtr{x#RJamVB-#- zEY)BMt_2}3IrP3IWo5mmr|$)bM4lBw$IMaQyqSrLi|cj5H$&XBw;oj51H2;x%oFbx zpYxfAdI7;y`X0UYa@=Q!%Z9C6m;6zD|0B{J3Yl3y>2)~Br~EM^oTbLKyyEYrX3Rxu zy%Y3^s9`wJ*uOUr?ysYJhtU84w+<7lsMGGL^;DUG6z_+DLeO^89&M5QuN@a7kN@D& z*mb)`z(|C^@G$Eigd701ixjkfx0mm|zFmk6pvfHl0RRW%$Mc%L)NMtT#Nk6SLM=G9 zwBiKs>M>KEmed)>x&9;X!y8)K?KiKd=$lE@SJlaL zRJRbJvoWM3X;??1MgIs8Iz~J<^f=~e$-@hqi(jT@iMo>@;iraF zk_Iyb&Q4CfPA$o){NVt(gJ-{?K@KY`>+T49?QS2w_XdCj?mPE*In?IBcdjk&bG-IA zrGAEd1gm*Z7y7db)CN2x748O zNowZ1(D*rx_lGHhv^M*Ls58sw_!Ca(;2&(Hv61+*sF-;yqc)#s4dohUM&^{CBNL{d z2!`ioj+^nwxX^EvtJ$ROJZV>4llc?I6Xte;)|x!QMlO26pz2NHsmAu#6${&Wcejav`S z%{u@k|3;{`iz*^dk^K7&i64Qdx|w-tPK0|9Lcz#uS_Pd@cbtc z>C|fz8BIYweub0+_l(UlaCejFzK9)uJv3jidQB&8mL?#g{=J)&H})l;Y{e=lqv^DI zN5<-T1u3|DQ+Xpl9`eD0-hJR_1FTcfVZym5StPcKn+Ekda_Ma1-N*xq$BXw96hc%r zkso|lznRi+lzV+UFqynK!1$rpOCR_3pVg)$J-fX8xW?<~Mc|E4ZQeuwByyu;$rH>C zk7n6+>|CZHJw|xa_*3-1Pz(>s8;CQjsB^VXk)hqzf?IA)g>%==-l4;r6B^1$>w5Ir zlZ${FNSG9~Vrq4@9{{-Z58?}v@OmBjP*6x1TLj7}4nCoV^8z^zy-^z?UpA(SwYpjH zsB1!t%;L`Q;8bGSzNsa}9-P7cuDJineb%mC_Ns){H`-dtzktr~`RuP5AFY65uWLI- zBCnrh3PO)|iJPe`E-RY?TK}Mu12R8(x!};ml(fa&!+!{%G-jl>1am`Ka-VTfVZ7G= zmj9_X+ zMLn7f;~=5ZSpmQ@rn&1#xN*`Cxo^j->&V@rC#rrZr6&CPVLTWg^RBN?)eBV-I&br~ z`=htws6=z7rd|YDSq#K6aGx@O$YiW{U1DMr(T_M+`S;^!cS0giW7OLi(iI=S?;eS& zD_IQ%9^3dd>=N<0KB;o%_fA!+EVlJ2gMA5Ev*~>=o;W0@1pm<1hBYzP`S0 z%-;z}q+S41RMT|B)5f35eG$C1Fh)LUmzNBIvF6UH4gsK}-0(*g7%tLQ_2?FO6dvje zAo0MP*+;M7yGt{+@Y!rP zDCcUksouiB>d5Wu8W#RLDEL?F&W`bn3`U|rxF{@2TJH+jmA>9oSUeK*yYpM&_zyPSS?^KD{|8Jb zz)9w&9)O^QIe1l*U|Tm}y+$oMb)5#3>C(J{y~?F1OCTD6zx%cX=rA4clowb;gx$4+kpP}fYwy~*>`sn4!1L>cQ>*U*kzXcaY}+{Qca z5s*2XRFF#M`pC&z8-SdR8c+bxWYg2UmezPSGo{1T2G^$v&kDA-F!(KpUc0$je{GBBB^Uai z5TTKe^*X|lq|`s+UbHP7BlwcmB7OaQsrGE@x54`TFuwy&#$TZPA=?S>zYH)ghyNm* zW(5GNDuIS`<7^{5EhA&o!z-a=b#ZYBfHzTzzWMOO+zhCoq@G_{)YVl$$dcfGf9ndY z%7is1>8iHiV~brEWj}OW*t)f`W`3}lF+YLDAOS7mtF11hn-gg{c#&Mni~^4Yf9ke~ zh_9(Iv^?j_(BY@*PcbunpIbi>k_!dkWRvg9<*L^?AIDaUu5PcZtFf}krYLDBF$qeh zPmMr)Yb|;DBD<&Yz27X8$MmJDL`roFgFIp_uErb`%1V<`{)0n0 z+BZ5#5Mb7z1Q-kzV$f=~>6pYLUCG0FwW&UTA8bEaDi`4=9<1c4*;UFPX>=toEiFx& zkmPYm4p+$ACPRW2e z)vlb|oh`BE7E2*K;VU4Ry!DS7i_r%b`jbYmCR*27ZFh3gr9L6+)e&#dmHzHz?x@76 zeZVcWJ>rl0aa;F6Y7}g`D<}e-07~44?vlYaW35^EQa)fZsc}G+GBPta zcvc0QvoSMgBr_;pf5A=0{^*Ceb1CKZee)FeuS^LGGYD0MRyL8Ax~s+0VJgc$gqsDi zH?<;K`6ue1r>i5$GElRU#kw&ntRGBxDHbD3Z6!~@bDIh#V^K*dvzwBHgTJ%S^CU1C zHb=y6mXgKNr+H<5ylW;EY@HnaB2ttG-)p2M*suCaRzDnTO@iHpfIIdV4ZlG~fxFB( z4nrq{K1M3M6s?<@{p*JJdhZ_is{^%UB1IG?Rk3e{TOp^n?l6A?xl&TmnJfv`gw4cP zKQI3rDJF8IGVh6#*UPt^%Uh>O2@Tf+Hy3~*C@a4{^4}Ut9@zfr*L=$D&0>MZ6fB91 zW(Vsl{VqijE|7?}dF9ngSo5n(Ii32|bb>6Vht>#ixn`cftdJK6zt#b8n*~3C8(aOB z>E?Wq=|*9G=HSm!cYWO-kFyh1o)C3~anfJv?O`J_3{;L8tdbJ^u8Ih{VV4kKZMLWj zC>Q4S^{by64Ah88Fj!EG2kDJ1F1ZyZIJAIXH8+C#`n;l zeIPHqCKcec2#ka^RLcH!+7(S48wiO4%3UZrc<^5r18Fgr=9BggHuS~fxE~#anf>7+ zO62M2O#YJ>)>;rrM`~ABbYWSCX76BbYq!ciy{{^+u9^bcY11;2*YTSDcTBt^B1>e7 z)qO9jOS<-6n#3y6ZYbZ+AOGsX2;K%LXM);q$h&d^O5Hp2S)y~Vh-(COu(umb%wG6W ziwDdf3jp(-tESguSkUbKIyXqv1YWI?&J`F@t4<-;L%D7NP1XpTTRbr&N}33(4J>oN zUUcvdTW-+k*dO5Dbz6;fqUxy`z;Ye z{p^`qxe$?~RbNEI5$}^+bv~w})8EsSGB2O42zQ*$9zw=sslB2S!qHCPYu_5sQ|ig7 zi&&QTSBFn7E*=$yrV@|K4Yp~m72}Dc?Cjw7e=fU3F2NvQDo^~u$l%H$tKwDCm|oO} zFXT#mNL6u|2Ufj4DO0E|GxLfImaH^_?;|8d9cMO%Tm&3jSb{V_=I6%##efIv8E=GqPb${njj!*r_j06r-l6p| z80E)4y+5^CF;sL#A532Eu`)`nF3)~4y9T1A^TEN^1&tic)zMG({B=P`EBq^ z4!~_rZGzbMm-xRieK)~W^A411W}M*Zp!0L&Hj0VzmtM$Tu&AMWDYbaZBBITo>N@_PIw4dRyiC-~UxdY&$SG*M^+KfkfO z5~Id5_+$>}&$q91RnUL$CepJ6K=8TgI~l~y$r=T`+ErnnX#G)RYwMTw)S-THWa{5c zrY^LR7gLsXM^;QSc6!bti7i3<;62@^OHZyGNY8L+PH5Apc~_f) zobh=wJiHu1Wh&|UYA+0&myWAl`yWz;QMRTtlczQ(0n*)z@qzuMt$?p8Rk7RVMpmA9&T-(pX0_#iL zACg{!cFg4DY6{c)eHQps|ETCrtD&T44{CEL<+tabQd1wd6sFHzn~XSvyVjgRUyo7a z<2{2MI{`c7!{y#&Zf^UyzE&UI3L|qulUc)3loQt#{uJs<1^|oo2)A5A^Hj1a{pzTq zbjd+366G21B7m#x%c=7}VDtZI-X!m`e(GcT9=&90) z$K>{gCosfwX0EJm$CE935a*7=w##x1$PBbLfryP>m9h}S{?oyQ;l=T@{)eJNYx+t( z6FkgPJae8CX|YuIM~3vNMFEEoj;PHZ|ki*U-Cl{N3k6nsr!C9cx$t8cHVH(zpT?c5BEBPfr>e8 zrCOxjT25EppW0qdd_+p_tq$jv3N`yNAEu!5IcqR~8@Qr+TIS;aitz#I0nWn7$QU9N z;+KL|7ktvLOF+;T_PV-x<0nx8Grc1{!Fa^v_Y6IUjXhCg?LjD>)TKc+)(0`Q!g$WQ zMbtx)>63=8sG+7a_?UCU(zhk^_gwc8yD$1|Z8aT9frYS79gd0?&XxN|E>d#DCY*zJ zM$&^|`TFf%U%^2Z7TD?OR(}LTLgI0G!|>{Vn2OC!nIy%d%L3ag=%Q`2&qc7;>=6T& zNsjjBCPC!tTO!^@3oW~~w$`m2Nh0UPW;9nsUb;MtJ- zV^2O!7s@>Hxa@s&EIR7la9aBD=TV!b%_Ngy=zqNB`-5pvc0QEne_2_7RA{O5>)k)B zL08OHfXVUiwu%buT>rQn|NPMQ@cHe(_$mGvtk|#5{%;rXHc1h%A^f`yamw`k%T*8b zlWZ6g_7BPNpG5@>ALZdc-s(TYl9O|K0O*K+_Y?L18W7H79GveCPDIIuDs~4VAb2{v z?%lDs_3?635G+2P^Q}$>wCTF+?Cg2o1hf0!)L}{>B1%d{<28NvOHXXo_QF%E#IOi> zz%7F2Un8?$Mf>0Xt$@HgL6 zOWXJtZgcF`rdm0Yy+Q7+7A*>3c?*gK`^bJ@xql)SfXkl2yQ zDQhX90+MCOn}3O5DJ>W~o15d(ZPfmFwPODbFm{^5it^kqbZcuCPj@^( za*II^gB25L#^Dg@{y(qZ(K7U(v=enG+IsW#xIjx`RH&VLwogyH*Hhz{JOx z(AEn4akcpVQ(p)__>JR<8#Wb^{xQ3TF%(Xn)m~N5}zazkJ=R6)hQq(l!Z?~5dQP0 zYY>cGx8`c)bPTAX4ZoqJH2hM{acO_3wy~kP%lu~%11&koe(@X6!NEjMZacS7>}P!S zUt^ih-=OF`BB8!uLnSwDE@vmM2lQEYix#S8(zIP54Bcd#21^o&+?Qc%?yCM7%CY)l z3`u>o&ZfFw+ZF=wE)nSiFZvsqB>2d0f?GrHzi+4pyvO3_RD@owNko9JsV;lR-DNJq z_Odd885b6wKA!{DHjYuC*sb{cDLOv>a(;g=5)8cU2KPNYE+Y|q8JX_a*5f(j+rwH* zbqtAtup1ZXh3D!>YoxyGBpC`D=w6bR)>bf)?!181$HfTc=jrA#a;#*9cKTEOErO8W z?6eR%n&4HKrur%Cy0biM!m~i@Q6qxp-m}?QK=^N0=#@&HX0jy3y;`dUIrf`~tlW(m z)-GQdEm70MlpwIySY5_9sI+^Xx898}x_br!d!N(a=X47$kkkHP)7|Hwz>;bOIW}NX zMr5wh4ZYG?zwh|gM^~#Nz)x#3){hN?p7kY!fn@qUX!Hd>K2wz1l<7C$W&5**x~bhc zEbUB1 ziD>~^h%+mzeZ&`4>++9T;>PO4TI-KoXWf+WZcbw+^5or6-lk`MH_Q_deqe^hh|7;d zl_9gr)B5`In3yjq^t)t$XKC^Vxu`0Rus1MyLvvTdznp!1&_zYDpR=->Ez}$f2#b%u z?8wQ@KU!|e2e=pA+(>u=e6oCp1Z}_kALiaVDysGE8wVt%B&0)Wq`N~x8bnZ98bm;1 z=omndkdlxNl@jUh?iNr6WMBwkq-N-$`E5Mse9t-0`>gkQe`~#eynC_6VP?7a=H7Q) z*C(#qC3uorlLi4}NX~h2&aG6}t%zpQ1vypSO z2`R81i_SYYmt$YV!yn=s&%IvmK&DDB_NFO1XJvVaq;?K;`sr&D3G|WLLuzLwAd&7H z&CYtX`E%a)505q-kqT-CEskMg^rxyeqeSPDZgE&0 z-P$0h&IX)c5DrtjNVihwVU8+DRK(e-MZ;7Qu3g#3dD-p57qf_d=wAowiXG zcdtRqE_pdCC7F&w?q`O}`Zvvftf%gS;BgQ;(~gpg%K47Ht?enWR-Pa4fX|(sDPK6X zuC%1f@ZN;3lofgTEq^Y)s*I#GqzW1u(M?UX7;4!`z_vtsbhE~t)T>{NQYQolCEw>a z-uV$n>DpZOW^;wt8<9^9I z!}GxRf!Z=*GLmaj5U3%;#1`m22Gh-3Nf&VxWehx&t*T;97vsZ;W=(dUZ!c_Y#0^eP z)~~KXei)kTg_y5BF$>J-i)OTjkJD#KdQM5NeQ$zX@LXSLY3l^07~RJ?S&DDU!lsf< z8ps{)K0Tcmx07)&3=(^5q$AsRxcf|-acDK|Rw-F^nz$gY%3@|~O9i^sEBLuaA<2ws z-||9)8)ls4%po~9`q!oB2Vxv+58FHV-$b*!p9ZMh{g~w5X#Iqa(AQ-j(T;X45~Q+T zxji{VP=&NQh{NEG8MM0kY;{##+!>(4^xXI#5#6s1k>9~o%$d!cectBgbSr96$_aKw z=nYNi$&2S*n^Z}4AE1}G`3Tv8BKrQlXe`1k0-K1wUh$Xs)T3tOM|Rp>e(k}EtdtiK zY-2X+EaG0*l#Bs^!FdBjyWdq9L5+B&dW8a{s@Wp3{9ooy7qQzVJ;L(*<<@qjttmiM zNreS>^pgf~Xo(;D)@OXG07=Z?&Lq1T5-_7vF@$4@n>45HZyG-!4jeWY<=XvMOey&F z=ya(~i_=bV40qN1YwPKH!NL&fXmTcviHmw+N=f1rr3pC_L$hh>z}mq#820{U#N0YMp`c>;-u%~ zboEN5?Eb1X>|v>+lX^m^H~>N>5ev%L5=3!QYvx|FNN|Q*G7J&#U%nAii>b5F%6O#C z@)+4^`M=&D;T2+`CEEAE-RERkB`T^aBf_Vz*U%UEC0)!#)*prV)ZRWWouBzd-0&;f ztc2g^p09kSU+my2jFmN?qS9jM+}Gj!U>}(XvCAl(_y&xxeiz6K&mwyJ$G2;MZPh*v25^rl%~n$ye-chdP1XQ1Q{CngT@;)K zX_x*_P1)ZwBLT;s8Q=NahoRUB=@QvNi<+$U5=Al7Xk-JN_qXP za)B}Mnj>l&nB4UW3gZsu&70f{U|@TIMc8V9&CV*=+NPVExZEa=@1FCT{4+rW@FTvy zN6JqOiu7;7&kg!O!2`(Z{@Tb-IC7mY$Tu3Fa{S=pfY0YVC+G?b2%IL&ul6ZUPh0Mu z{Jpx~M11IFIygZxfcW6#Y|B*k>O`h=#t`_qdDng=ncCmam27j9QvQ8V%bzLlLh`Ds z6N4^R$*%U|bv~Dt3VZ(*I{mRY5Ex$mj%R*%tv_Gr_5Kl$-}LjpQo=zVj`LzlqqfbW z@*NmL$QzXv0q)#P&AB%Z<^7{?&I`Fzx9sA+d85L?eL-81elB%L5cDH3Ea+kwx+qfN ze3*sAZMnXPX##eIvys0^J+VJ+-Hj_UMq_xs$7!&WJ5U{{_>OnDhC8i(%av#OZ;ffcKC{ z`cQQ$csQOxu)%xbQxFJixkY+lo84!Qtg(Xx{kLguBQOWXuF2qx*dVEJ-p;lt5=b*{ zJlD!OI&OSjyV%~nb1~#|W_}sloojR|%@bM+Y=9*jHgFM#q_2R&C1HRWNe1|vZ$$u! zuwZ3ajNOmYs>iJn&QfOcRYL0z>1%pnkGvj;k7xJ?aPJkf2t)K75x+DK#jEX=r}gLT z5Fx+Z^4+@w%Oa}CRMzj_nxKzjVyn*iwBq;aQ{aG+f&#E5cn>M*_DkHTes$X0BvFxv zl|W;Ev$S_L-4dHkaThJS5-E|Mzg~R70PH&g{-oN`jh~isGJlwu7YViLntihBno}m` zedsW8!_%Dqrm2}Smew^|&i^8*cgwsU=}{d1Rfyay^*4X(Sn za)!Xi=u)co&nE_o00COB&0`CTueKoIyv9%T22OV>Oq-@$I)oe{fQ|4pX~vw1ezb^ZGuJ&6o7;Qg zK%+TNiWB9q9M=0}#0>bKuYTC)_t)|Jgr=LXL-g@No)tKQ-68cc{pVf>@zKGlHv-^K z0}1p<8(4@PslBpZ&4D-(N_r!!i#qlkx*F-=Wu;a1c$tBj>9R{RrA;_j0D%%;A~-F% zCT664WFvRPgdcIYo|r-Q@YXY(z4w@|+t(r;mzc<`p4-yrJMcm9rZNSaug>Oe{c_(3 zXEf+Q{4=fo&5Z~1-F(-rBVzSJg^v4jGeOTgKsRR?$hDbn5=MHS#t#diK zuon|_GuqDWYj$&&F_A?(%r(2ZC;Xx3LF*EST3*+q!*GZ259JY6NQ0m}*J0TygvpxN z&pA04c*I2raE7YYEm6~&qg=*L=J>?z&85IqiJ&8~+lqaDV=(8Mk);qg)25`Ubq+ z$-q4LyEKwQUCriW6}kJUjY05_K&>vdBtjI~*f;-hw{L-3aZ5^te&s_Ra+$*l>6_1c zPFAmXWDTOZ#22rcB^!Rh*sRMWzSaf*2Fjor3XhUxX||Qy4r;D5b;kBmBwo#)$_1o1 zqRKF?1`P&ia5Xx53|^h4OQqeJ>73*V^1ym+Fp4qZ#+c)ZqbCzGgH87)Jn3?eg~%!r zdCwm;ce)XlJv+eF>8RKLq&n!mRO2QWwU%wHHu@LkHpp?A@KTr~xnRcOWXQLi z?M>pCa*KvlP5iG4W9gzU8}P>(_t4^m#tg|waXoW3Rz3<4itX9T+dknZR0dy9>SE)q7Ea|%AFgF2EpkKb;YDOKt}zwRqCnegJlvYIF|+-T z?3oby&iZD-SGn1_L{isFBZrrBINL9%G}bE!aLl{7XuYQRMW<;wz|O;lG+yAZve8Z1 z_9xQ|)(-qR4Q9EPIk}hk$Xs0O?f{gc%k0oO0u2Ni2ck*$z#B>ny)fs7z3X|dtWo*q zafblp!P~>+chCK!A*^pbyoY{`t3NxBievk-Mj(P<D(>M3H@AHLlt%dQWsN|i^#(2 z$AuZWz+OD2M!@Q+r%=h*I_1t6PN@+6a$%%hSnoG|H%=z5qT_)Tr>s=2awz^pv3&oN zPX!3e%`9ZlJ}ni2H{~bjOZZS-k8PU^6(~P6t74Yk@eZ_!d;WjEhwDt~+m%?yC#RYpcEvD>*z6^5#c3@8`+t zoDAkmI~z1qmlZCDI}#x5T!Sp7XRvWt7s1R1Mz&kO{HwyzCwl$mI@nEmT=kn@cg79N zDSQmY?oPWDGC)IBRk8cPYGqyRFNRJ0%geY5G8c?`hxDGcU@Vvsi2LX0*_Y|Ld-jw${(b?yYrbx^f`p#?f55it0?FLz+}uUp5UwF`IxPViy*x= z`l>9jzNCn|+EL4N0##;~B@u%>;@_s7A$)#7G%vj>o!*m;9cE_K+a5~;#3U7)Nk(xU+ z&__wdm~k~tb8SvBk*X+(w--TduxF;kJWtmxWj^&<8qY(1*)vv#8eO<5OU4DsZt--C zRxsF#N}Zz0F?Dl&lNRJO;J=Ur1GF*+Y^WILrC%u%njur)ZQ}YeJ-0c+ASqNc)Y>EW zc*dw)5m2skojamizA(RL$gi;?Q9VH~^cG~?o~=CX<)%xy{K=!9ADuZL_L%9*c(!>p zWVUq8VZg<_3=L}D0%4+G&P^ozLHsR|H8J&;*$CJBa_pyhswg@#Jf&uMBVu&X!YRq@ zz%GvHu#IH8VCDw|$YODh>0sCG^?2iQa7BOBUZ;4AE zEC|Kq<)+eBKapx?vvz=MOCR3quzse4cVtoo30gdjk?;;S_k*Az+MR>0Vx>lAU0><( z&meOQE|XLJ?=>!@Zx=lmmX1E{&0e$`%%LDj;BxGFZu*9`06#aiElao#lk|sfvcbrw zNL9K0b-f@9oSGA4j{6`zCSOnY%U0IxE=uxahSf#Wg3M(g){z5Gtxl`DvBbS{?wuxF_ixicjC(4aX7RuUnemSeXLT*=ZpocfPRW+;*%6*I zZnYE+^q&c4cwf&^aeBS)B03leZf_RL&FJYs#w-i;i1@ENLr|&&QedFSX+0o2)1m!? zc;H}aNcrCr3*z&<8JT~0O$a`z=HAtr?h4iC&v0nyTjutvIHi?|+xB5UC(>ULjsw}_ zoX=bwC4;@5!n#1Mk*dVev2XLs5v5H{1~TXHoeS?RyQ!G9_cyU5(rXtf6f@Tul($Rb zb4^q2Hugt62}H04g8@6Auj^t}d}4?%Dk@SvJis@!VwB)tB;wDRNzDVt}t*NSQtl4fNdhJ?gbos5N%HWfzE8sD8WRV)@_+OikHO_kSRO zohir0{=z9PpE&8WczW9Z@rlezq0QBJnm{Jd>p?Y;80wmI0qgpvCJj0j(WDkzA#?hY zKC2O{$n(e;~EydPFfX4NX$3Y2Fhy+;EM#3%J;+#{ha9!+f6sW5-a0zat(^ zTkt7$`D4DK{gX{4E_5{`%_xjVwh7tfopTqaL}D%BwG0!s_9BMt+SV+cKxDx_up*r} z0@kU&*=Xkf>ar8pelGu{oi=>*hcvbqNh&rsBS6ANP zud@Xy-oi!Wt!<8$oo5r0C8zTj)B8!ZI%TLZpXvdA9|HnKz2r5497K1t3Z?QXn?)w#a; z>+}I5?-I{rJ?R{3tWXn)stqks3hz5}^yxj-D(u!0=AA_@0gsv_OrI2(;Z+Ux_Sf-|F)a^MEe%frK%-tNQn6(_ZZ|^KUD5 zYl3#`MJ_FKvgEMgiw(a1Ds_&LJI`~jQ}+VSkC3M)?>Hl+0Qq2!f7-V%V;2Y)6;o$j zBk3j^wudV2oYiamtc}4sux*Y;sT>>wsD{;?{RIMvwXU7;90CjN&@K`PH2?GN@~_{< z#{PjY`i*IEo;&HA_=m^K`dtI1NB{g%bj6HfD>r|OPhsVJoPSWsg*qhWw(iTm_^yiW9|x@{p*1~*$w z94%vcFK%%!_>*s&M)Q>2Y_JjTr^WxqW@(+|ae^Fp>_)Vu!gQ>=2n>4bk50@_SLZV& zCh6jMgd(y|jq-_HJ_W#WF4mA(wHRTV>+MZ=Up;~=h=qOFR(BySFR1AH4qFOI?4;xW zH4IewS~eW7-l`&}GyWsE2@IXN5t<|{3RepKwOsz$xUWe5Pc%3GcSJxN5GH13Y9YJr zyA2@<|3x6Q0ioanC+Fu2(7%$9I2h}3G5Ql~|NkSd`i-6U_v;#X13T|&k!S{P3lxS? zXYdN^d9tMP9p`-7QMV56zlA(lT$Dt%vx0BW3Ar%yGQC4vdVN5^e!NzlR~d(&^U#`d ze>)p*wj&^PjJ-9&>ub*FYkQC?KLI+yrDCM&h~-r+Ce!N(G}kWQ$FjKL?97uDpFB5<^K+--Ja?qr>99{Oz3KIv`bV21#8rVv-7nc_AuN0+ zya%M4gFz_f3o|&y{oetsJ|7 z`8QG(6eFgmrmS8e3N2RHG%bEAOPxv)J$a(5ruRbHI&na#dWT9m4xc`z_`|19uixqs zZD#Ue+!6P>AHVQko7|I}adxEYZ4JTgcyiXsC$E9JsXAUk z7?j=Dsk$BUPwgfIAg2!=h@b9IkJokWszv)a9dlska#}#zF^0M5YL&63^&daHJhjVs zsiUW>`*7@?;Yv5J#RRPD>kPdDq2_A26e(`${De6qs8!%CSY>NGQ2KsF5O5*1t<^T z7rWaJ^vA_u!*yk^{TT-0D4%!)$iV_y-@6Bc+O3DjP0@H=3rB?pipPZ<+E9(Td|q=Q zcepuSFEDtKH;}v&j`}7a zEI-B0N@iFWvBRzfiUMriRI<`BQ&UfX-O6LV=C3Z#M|&zbeEZ2a+oAH{h$fdIZl7a` z98VW~=@A?iO}G?(qT2JN4U_I~xZcV!SVQeSW9My}{}|B;Cd!?63?x=(j!&!TtMaw( zz1me)_d+g@vRdoVvd$B`huvMvN}V*ze(&f=?Z)$98@%>F%qTN=d@JvESUt(m)d) zE4%?3;P!mV|Nnwf)Ehc1S>%!(HVbxnT6;&;_+7{2HZDoJ`K-5$X;SsR+uDlZWj@)@O zMlg}qXO>QeTZ^=CsoS^*s4_V*Fv2r3%gvN-4{h5wu=ATXLZ~B77TG8Gqh61dmKV6o#ikI$aG<%zky`5a+zYSckxwTt4{7t?0}d3Kqz%VoyXlIOO14nd~r z`FulGb0Zb|d422005)|U&OIM7jya`uV|EOwU zE5ozM;Nbf#tg-jm;k=;KA?k5qDvV~C59Rq`kw0yyG8L2@1jP7{OKvpn{3$GjwnYz@ z#hm8Xf5d%H!|@zV6c63rTly@5LK9JGJ#d~+iI-uCb%=tHKB}{zWsI*mE-jXba&Vy7 zJ~ss+rSS05sXb(Bomkm6xs~78M^&H2Rfib^TQK&KZni(t;C^O&zP54%7<_)LP^L+i zVh_}TL!CKor@t5&t<7CQ*w;w_hsA*U+1=;KwJhUbHR71ur^Vw=!Pk|}Fg0!mp;1M@ zM?GNKfCIuAmpTxq-E9!NN~TJ!$pNJ13Xxvp*~zh@seyTm-$|U}L)CFi(*W!aB#75c zwC=p@)TE!-b8mX&S^5sJ(3-IWSgH+7fA_ATu3?rXGy$cD|NKZx14x7mJi)A zSy>IPQ3dS3k+`=a0u1(+aCCExm6&7d`V^Ka9$TjozP!1wPyzNadO~;mV=r>@dKSBP zood7MS35JkKCc}|KD%~MZ*lYGrKnmppB1`la_f$134hnuqrJPuC@j0$NlhP(RcWZ` zrZ0YvCHe6x70Je`sZnt|!6c=j4TC#twE6A`_mOQu{e;KZ^JBe^QN51Dsq}RhRpLG7 zo>o4-5y2zxZV#=ifwPG%gO`55lyJ4D2!^al9p4Ano?%f?*End|ez`;p>=Kw!x1jjh zs7lifn#;$fd*cPIUFk+tIzlRKGM8c=&OQfha8T$bdUS?jg70YsfJ@UOhfsp> z2O|(aagAsRkOS_JP!ZVv4JTPa9{xm*pGA~#t;JnNn1TlTt z4=#;)6n=+(K9tjdt^AzezRbBgYHoCBe>@b5US*`Ig=W7DR==1b1SZM$(%M7Jf&zNp zUt1t6G8Zu3LF>p}?yv>_&v|hdK?wF0ZSQmDq2z$Zp}R|1l|6 zD6;9wIj32t9)~Ka3-AdIjX*{t{|oWJw|*1FfRW+pD$U)ObtGfd+lb3!Q+P2KCyJh! zU--4Io8{NX%I~Xs5__E;KI+rUs*ipBORVq9-8;L|X!taEOP|6?k6pl>gWzTHUheAc z(kO>8QF1-qAckm9ZW1`xXSZg=q&oG}&_rDC8Oti{CwjML8s#^&CKQ#pMf3 zGXX=qC>t<{8yv!z-;mJplCZ;@G1J;P&jzqP0N$guCZ%~f`=jd%{H7*LO zIO;NAfQvmn8E{sZ)`i31;R0@5m@Co{o95j5{8K16NYL4YxY8G%S`HdhTkrm8aEgLu zR+NCE!55gE;{jKfI^$jwwR(7ZjWT$^HjN(~?MX>UaQj|HFSYIo0eGA_nNWD`SIL*O zyi-%|Wd)YyENP8+WK=^Aar83E_+RxGRKJ}FKY2u4@aaS1`UpY*9q#ao@E*5h_^)47 zpCS~k1BEE(zZ6qTrzGdIJkcYgmi;N%HEEqDiG1}cnqGY&B&f3B+hvNs9&?B_8~=k> z1e^lsrVOMZ&OZX|Sg}AKrQ<82Hyd%~$%oRdaXV%oP50e_oPM&7Bzn0zDuJ(uXo-*6 z?INJ3Q1GV!(fGT^w+ zE#tB}YyMgW025+KsHxTL*1r)o3=XOe533iK2t9?iCf2ZS&!-|639gT8vsPZH>~!S~ zQU$*42;6;BGI8kA`6~)U^<*E5z1in1=Mw-JQj2qcG{j}J^>YeH#w8|Mv58Sv)r2@9{$+A4x^pva%`nI2Cw{nhsj#7+;T(z zs_d7}E`FwpvsaHPMy9M?x6g@XMZM8&VwvNfwEJ;QEbQW)7VsF7H8($Z=67?THw`;~ z9`6SqTP@?$aEPip70fnKpZnQV&)!AGd2-q&+^B$Vn|6oz9|+7VA9q%T$!| z{kdlgn>#x4m7kdC+A(}R_%S@&j3N)yvRWipWGnMFvp|Vj$DmO6?e}5u%L&xu@1j{% z)359i+iEem*t~UH*QtCMF}874E}viZ-#u+vvS zs6l2O@@!m`xGO_;WFbe*G&B1`E7vs0?pq}uwBfKty7gYPTY~m*1Gty6puI%025@-? zwKEPZQT1!JWH;3m-JyJ}GC4yS(AW@KYK}abuu`z0Wv_3Wm}f*R$NUa3fXJDw^>m%q z09u~0H&5Ho`*Y4d*P5ZpsU5F~5kS;!o<}_dAn4-a)r(_;a?_0lSUOM?;%rAuwEnS? z?=A3SH+(<>w&5fw<{i%pxPm_FJ4wB6Xm(d|Hn7yn)p+p6Ny=-DnLA2oFvhDA`EqRy za3$7@oc5pYm{e+It1IBvW{sk-W6L%`RT6>c1~xhKt`$CT+`o)QuEuH;aRuu%Id3AN z(sLu=;qJx8-Pi^CvWa$>3D2OXD# z-&Zs93e6a!%`H6r^0p)?I=()ne(`|~76|sPcdx7%shZ$7n3--3KvJ15i2ST@$FYrt z@6x3m3G>0Evhqr2OYYAk#eR7dYP7P_g zfkI@}(gE_xRXo$x>i$pc)?TEC_=}D1v!=fsnS!bZJ4FMH5TbG(VN5@su(05ojRzsH zxb^WE_Swqkm5xL>0~ggw`Xc0gO|S-%`KKY9R|Gl#!CJ(WRCsc3L! zwjMN#xhzTiVb!E07&|BH@Mv&(K;N%#-S4>TdhI!)LLi1|RuONVyWwYWiqV%XXjHHfkqbpTujJxe-foZ=V&F}Rrmc57LpwK$#q{Rd-D%ZVUo@_6^{i<@3zzvfakHTfkMq|0;0nlf0nl6RX9(84y9W*$YE z(6qtwC@y`z1XBL|^vCOra1#}o%p}-1M2EoPadB&$p_rmcOea+U2 zOw0 z>GAGyj1IexVd1q_;D)LH!P|NM1rUKVfKPOR@-m#fyemJ|q$v5GTXcur6kgCZyW}Y= zyWH53NT6kwl>7nsiA%ORl3{zEz0BqnZDmtBn|?MzHte-x`5wh()qXPuel^YBOf4|oY^zI@)- z+MXbd=DCnAD%lh#Uh=STVbC@<&TvGeQ7B3@Ya2dFN_0*5q7Y#|=fK`m#TthGkl;(j zhkj(L=|@9nk}On<3&}>y?YZ}~{mClp`xfKbKYv2iw8xdYfk;Q5V&wUi0fUh%J7)sA zMHJ{r=Qgvq{r%%hT}@N|ka_5UGT3BzZg9EwZcq=nCHs<+tSPYHgW~1{KO26|D@NkG zziX*^_d45BGr;1@Ru(6v#K~NP5*tvc>DH`NYoSy+)gEih?NNwJ^$FH9Io}RcT2^Bh zFuPn=FKXkUGBj<>WJ|7hbs$wh$Wv9XTYZG)g*KJ;-r5ruzc*37ylTG?RaX{PcD^%< z3Q{zg3V0Rt^A)TK&N8*0jeqSw-jpPv=InH&Im3!)vzVi45xXJ5qPcvWtct<=jkL73}#DQn$uJ?dD+c4t#KP_(|+3cqwU z>>9_8B*D?9OVl$3<$XuggkbCq?5p$(aUPy8zcGNeJXq8~rsazR;befnOoE{a*?lR#g5)i_(^%mIgjbMXhVBbS-|cv_6PUaR7X8?akE0~iOV=1 z*8^#v%s4&dI{@^$=k@jXA0_=Z0p!bVirMDck7xB5m^(XAp0w@MYod7}7auAqVJAJ37ltBxh zJOA`|sy0ZB%$oS5e6DS>Daxc2eKBFwo*Br_lW#Y{Dg|H)fAUzWax;9dI{=?WQv#r}h(Pw7fIe6|NFzT&*;IDZ1(s&G2Gc{{_chIQQe`oLA=w*|nP z{SoNM$F%+?zzo~c-y((uAOOIT-?6FPxF1d{z!VoA?gtX8tF!k(wt0*D9pa+J#uA2w zVWvlzg^ItTWyJpeW_!^jG8C=9@HtOjLx{WoErK|<{fwlz&@@-n0t-=@?ZiM(!RNWJ zcklFtz0ujbAT|fA1(ZIBD4g^=M6-ys)4P287YqGc)%buCA_iJG3t)9YN`+fJ*Dd_9mr*3|M>oOQ2W?Cqf3Dx$D1r9RAXi67P;_4 zd4@|4w3Z71tFi5kOh`^9&unRaL6FpM(rKjbTUN5>q|B*}p*ltdd$s-gZn^s?tixV9 zr4U1QAt20gM54Ziry+SJ7}K4?p2Xo-6rIFdGz`_iCFN(Ot}X`yXy}+&U31J4ZWdiB zl(1QETp+s5fThnfxY>Y30C4au<6-!?9aOUb^#pzZof|@t^H; zRfUV#L_yVY4OhQ9oO!Wmi1qXdEu%QY2pM{2Czm+HM~$Wl{vxY?|10QvIJZ)y(GL7%PvJn=EF~>N0gduA6n=ZtuRi;( zHdU7V%eMk&^Ga&~T`c1jM)sc2l>gAQWEvJQnp1N}Vn>&O4lX(H+ja6N2DfwW=i$6D zADXy?*Eb>o&U|fcW;a(6)=OQu4f4JbK z*OfC@oW?_z#kMdb0r{baZ;iVoS6ih025d-^`uQ!NP!P-VPn$3_*EI$YYgB1wCZN4n z5udTi__qTcJNaQq$ivjJSh4w=hRP7h1n9wBpi?C#0p+Y1C&sg-#636jeNQ~`hkcUa z2+dC47q?sj&1^Sgtrvwf(x{Bb>gC#F55_5t-sumo!!F-5O{=2)V~Qq1t#q*!6W8W4 zzkv1xT;~X2)=}(kWajEJWOcXVtP9EZD|A{ke*Mwe5FuLaX8+#XdAZmB`BIk~x<2^S zUsl%LnTu$o^M5K5pywj?=gc-(c3)I9uDN;9q|^D=*N+7BG^+BQcd&^W2nYlL*Dpyz z=89k{uh~lXo9HY#SpVq(eC(E=QZDgtNyEvB58BlgO6P^6qYyFUhu3M1zamDXxoi&@ zuhb`5K^>9te_Qbb6%_N|AUW^q1UiR$&S``5j+67bn@@4z)a}h`P zb$48Cb&yj1;#z~w%=BMhc3e{yO>cZ))Y-eEXlHNgLoZZS3qa zGB1Hwpx%n}D}=y58$~d5 zpDKaSXRz#l`D3;!?I#%8&o;S^k+7ieJ0%tERuefg>zsaJe-ExdW^;%G@I}C0AEm*9 zAJ=a5Kfk_Zpzb7o^u6zQ({B|0vni-8Qe4DUm6au?QEY+^Lz18dprsG>{?!otTPe`+ zv6R6ahc&t%l>i10T<|jaUl-7K^ORYx;{0zeaMR%bleEkx*x24%UK7Lk=q7!H_xAQy z0$mL7o%ud1Hyt{dkeld!gC7+YB|yC6_OCnBmureX5;3}H{gm|y-@_Tq6EQ~JphuqqLc$ZbLfv}bdk+hIciyQ(bpFSg2mrAOd>D{;PKBYz~AdG zPws=fCvGapn1eH%Kz|sO4{7<4a{>LvR>=eJ5DD zuNaQm`tsGbBPrQ{E5r{-v5wnHGpL;`u!9T2PKt}*~hF`6YlBhoLKCiK+PWb)Q-Ofk(f^#kCHJy8ujg5^*nVVSw zw>Jn*GkT+pa}P~hlZ3||1*7Tode`;)u1iX)ijg<$ueyK73X+UIh=qwiyVjEqpTAPORR<*-U&C1w| zh8)~e?_9oP80-6Z;0D2BAdWKz5kCg?O2O)#PiGaU(q{Tx?!{TRJI>W3SyF1LX9*&V zr{RgzI~KY2nqX=(e6CxDQBjf_y30nNN}suuuzpj}0CA-}Mn!Q~89J<;T^j+NOAY|1 zHY;i9AZLX21<6_fGx^^B+&nk!#!h2l4gY|2ux4u)?~6$f_50-Euo&DgC`!Gcxqx8RYfJEf%{}`o zV?8#(+D`|;6VO=j7CdCcd}J|5WF!%1@)s%^!8W0;E?Y+i^#Em z@Lyn8m1OU@ZCklDoOtMtr06&XP)I4ggLp6RyUy+h|HYf6djZy$Wic&s%D5%xGM=UM zLmF-h3{51p+I(2w;?_R>`5igqwqV_|4e6DkLJTED$u2T|vuUx( zY@7qT(wNynLN7LnEhB?@&-~Gcj0`(20SbJ9ltQn9LgoC55nv3X_}5L_`J_C)2kln* z8b&azsNmggUp@YAF%}S_ylzPk%yjqzSlX zA-#v=ax``4Y@}fy8o2H&SClNkEnIF(C-nYJPrP3Rr_ZQ<&t)(F(c&_lr+E^y4}qS{ z4P~TN(3AFuJ#9_a0AKvr)59#==T^%f2yOe2$>({KF`DMd z(q3q3jC^Qr&hR}zSWSLHzRSw$21+~MV2FTlE9Tuh3qWgF^J3DwaW(E#-ymqjxj{=n z2V_Pwye*8DFsa+=!(h6{#C5giRmg2TegNb#U2dHg_)#^CwsY>@O~2Mgd@th2xkE#` ztPOXe(WQo9zNj2_=ay9Xv(`aWjg#i-IPl>fi=F}@d)>mw%?b84EW;m>Y>=cp=Eh90 zC_YXx;{6iK@?9Te8~`Pp=e_jYV&&c&kpi~WS_h@?DRpv-M*WMShDSE!nuvOMwEtExLog5_#6)0&YR2pI7l>F_rt=C((h z21aeo(ILJhBzsYAZM*3Vt5-EBp^h7x<^0W84+z{EW`F7!1QaLC7Xlb^ao_w)B<>kd zD885j{xy7U7b->fg~NViYh6IbQeunP)AJQX!=45+(I5J}TVAb=L*eZ>MW!Isxo zZQDQA)cqHmKoKzPN=Jwn5F(AV2l_|8-Pb8=e>KC=9b9u1jwS1yr1l^v_xijAw!5)+ zub(#{1E;9Z4d4TzJehM2I9vHRzV264jrzlodG#iK59yl1aCA$}T%nu~GZ^iQx?NRy zUiVV+tIF>YbPlr6q61|CRM(7^{05BP5>U6s0b7EHg;@pQl`FJCGjkX8 zBmrr{*EqC(JyJ-qN*r}lZ_>>1`1yOz=-Ca|ucUXkayLx%Vugkkl6vsQ*|36@&l0vH zEx%5w8aR@s@tjq$SDrj5G0@pDz8h9TEs$l=@nNlmn~uzh>Rn%TYAihP`@6e9$G9vd z?}tvibsk6}j)tov>9A);U&%(77WvM(^0hmTTg_!#zi55(?&9VCRWBdm*5#`kGT`8b z>fnkVx+gXEIuQ0g#b2QHj^Ahq01Kz@X}^W$t~EGw_0FwP@+vDyk|aHRIj9y_=Z|OV zH=r@vz-m?F{9zXQU8T&#omSL@sbluJ3nJ0core$4!%3^03m3K~0Sy7W?6x=DIspQu z4?5UE)>c-(DqJj8#5R z)_kXA4Wn~+NRyGa_swb$oG;U>X;|6ig3SD>!s8$MY}gOCs!Y9}g?hfEAe#cEQA`g< z@qsuyFv|ww9)s~7#jADQy^3Y#nZr27h-;u3=VX%kyGABoQP1SqhiWcGvDp>L>YT*(Aq{z%kL$n`*s~bf1c(@KHQfE+;j9FaH$u`;o|3+ea~4WzJ^Kp>NWb>2Sy;I!6?4|OqOf1gb< z@<%swco05)a_-^NF(8F3_mWF3YC3iy?9+#Y_Ouf%R<3@?*~B2v4W z${DzJ3mG?x8G6v(!R)BF2d3nYbVC_2wBx4;YaS9HRR^T)peQCm&@xF^N);F!Og_K-*QZr_b$v3uBwyx&xMG|rxT zxj0ySI*^@TxXA*ePTs3$okI!0fuY_5Ma$!`V`E$wiigf7_-NCrI?(2jAZ%oDhMewo zwjH(uOOiJqWLV|DAC53FfBx)T9vvAZ(@WL+TLtGzlH`TKemnmnPT`I5ouZxD!cxx| zzmD)AKh?&MK$iu^gjW4w7^rG6)_iCc5WA#cG9&J{K+bcMLNz48oWs}gD!b$7Ff<0y4zSfEav7d-n@AunzlxX{@rZH zXW@NfY5%>(z1!^@>ef3H;(E)Q(m|IUiW*hVb_yfDl7hDt%eQ1{nXvt#Q>W;oi`dd4 z9?O{{SIq8YJ|*kD2AV){xs#mDF&1`c&`FI5`Atbdf$2=yYF97w!$;{W){l5umTZp? z!YKKy1e~0fepuBCL|8Go0J;@^uQt#fKs0n1gxG}iYY zN@*j&ek#F?k(jol%Nn6jNwxq)nPyd; zXLR-4RulArVCmO=Ijirs*7THmnwx}C!Kw-Iw0pzS(cpIYM*P*0g6JLS5-!RED#+=v z6n~5I*u2~K6DAWoZ>F|S)6Z#oQU;;%x^E!63pKUgyCd9uDf2{Or;X4_@R0)^a_!3) zz&bb3%pTAFeL7_YU`??xpjA$q))l>_2dkA!`e1>Z)%pH?QZ-u$AW02?^k=xAT5e3{ zm3=heZPiGX_Bwh#Rp;+2XXHs9(>jBzStQinv{@`#g$z5JUYPv`jxy`((TTan)a0e~ z^x~2$rR{U!VKcj>UFT&sJVwp{Ti|Ga-#w*1x8Zsk>B41qb47aN8R35#Xyi2naeWXW z2>w{Ua7a-jWW#7%%`xvZMxcnk2zbM9M0G>L5wA8FZ-mZx_IU#!nuc}hL~*4dCfV0X zA)S>Pzv`LBZ*L46V{`Xb4&($|z%gqsF9E_?Nx!bdn|@T61HD%pQ=CsYIe%8vmvgwT z1@Dh9>|DKH%Mji-K#JhiPN)W2k`hO4?rpo`3|KsC7 z0FpP^=ezUrD6(${!+N*f3b>j4t+WZRj|S~1dh6*MTX=nhbJI(5l0gGR_}k*;<@VF5 zZEHXbEBiinaluoCecA2@@yg&+)7wn-pv7-}H=kSts#xN}YntDJHIVk*xlImHWsLY4 zxzjoFH8h4fnl$SJThfaSSW?B(I!uG)U1TO4ie{@3JOh72H|<^TZRj?BtJN=nwg_?dlv3H%Xs*`s1)?Djkv_3%8MBn4VS ze#+{|-ZFPr-_>)Dt0v&wLu_faV54^tfIO%w0W?%OH_>- z^+NPZ)Dko3^(qE4q7jsnaY45I-Jdly05uy1W_(BGtK3VL(~muWmj3h#C;$b@NtsP) z@U;$-nzDuk8|y-8iv4nhP`kUXCDwI(ubu>uNnU7lbXH!}uL|CIMgZ_@`AJ1V7k5+F z%_Lw*9E*EZR|;5jZ_XIr$h`oKSJtiF0yF78CSZNh2GwfW^^@$9m5mEu#ibh{o@DUi zyYSfPqqVTKgq!gJu1lLSKswSFWe*@!0LY$pdwq_?>2oJMF_pI37bW>!(_NeOHRXNi zf>AXxgGm&R58}8~teAvn9NL(ATN@<6O|nR`#IE2Q*kz9PBR7_5ue+IGv#n@E zCL;24>b!$*%NT#wKQ;<~R~>0`w}LFahK+Ei(~k!i7*pie7XXIm?bN0!0C4B<2N1qo zs!NwBUT$bfeR>wleP%^nyg093TJrnJ(stz(_C7WtGZQ6JPN zKWXL<^d$t~itzAoHq9elsc;H;P0gn~W+SFk#ey@t#9ciR#{JRz4tqNEz-bXcgFwd{ z@Xel!I?E-tQd?f@bvSsVvNsns!p1GR_U?ev`y2?$zwqA;<)IbUA^h<4jr6$(-b{CM zjjqzh^J?4oKBv5kHq#LCc72j5CfSataIN)Ek;sOYqdX5;ndA!K=JGGdz44-f`5+Og zsys?-zk%v_Svu$<3L-4^ZOV9I%7t6@opGvvx5hKIy))+MUe&zGZ-fy5F~jsmQl+k! z_(%1Onemp05DJ;Zt(H*e(&|?($*Vuzzhjz-VmiE*+~O;}4KPpV`9E@0PFYfGM@)hK zZ2+#nj)n5K`}aX~^Ryj!P}3(rB_zbZ*u|$A*iFBQP~V`;RBi9?%tT4QdBb84w;hyW z01Bc&30p>1)}%K=h|l_}@v_X@V5it4QQ+wp>HYMu-0E+sXcohge~t^_#fBUJBr95a z)SWM&j#S0x$n#6CpO$UD6u&QRxh@15c?CoJoY+!NDBQT@uo*oE1vfDGTJ8ce8SLsj zB9f^!Jc2K4a0Hru%h&PT(!>QA8utgO7xZd3ctUVC6ZeZoc#Q8_x^7%Tn>C9>BX5Te zQdV+PaELs%w223MCfx#yCn8DK&4 z-YCu1r(bhuwyb8XYBovqj7~R{nN~!x<}Zp6>b<&Z1b9M;$uA}*?H9TJ+Dt-2LQpem z0A_j7GP%cc=mI~d!hB$ERIM10w$ zBPz@XSHPW8es99hA1dQ>a7DU@;7%&15h{~z9MQ_AQ}-1pWL#A{Z5*t2TFq7UgG>IX zIGkJ#fhqxUXYH#M(v>bLmx7n4LgY#CG7M)$7OP`B{g~iaYu+)FfhgU6>l$6@i?@pL; zABpVf&Yv&TI|4n25=3ve6^V$567aU)-P!>3jC$v-q~m`a88^0m{FdL<;yT`Jx?|7$ z;m-KaNXZfY|7w06Wmy);P7DY7so*;d@urpAqL69E&u+8TG;l}r=}Z%VWXk==h%HBv z#k3hnE!d+jMY+xaSCOi`-!hj!YBoVS{)UCHb^{Qa?To#WqLZK7kXWV}U=8N=pBjY& z&Q$rwXlBAw;Ktb)ZBv$}ZBpVoeCT`$pb2?dYgkiFcL7CK_Inijqd*{i631Pde}M$T zTjCyAx|7^5TX123;gMer^}3Ht8YCKzHxX~Ds!|!>I+iZ&fyQIg1HM=SoF3rDxX1jv za4}}o0X0@?zT!RlrJ~VLmINvu$rf=-V$Hbv9Yl3%4_uJWm$307t4wb^Yj3#awc7KZ z&tcYp?rFEIqEuM$U0eaNdh~g*ZbRodPcK3tT zn93_$R&J_%>qTjSx-itkM!gjn()Hv3`UxAInHi%`$Nz06FtqG>rF}3Br;+}}@&L?^ z%k71aLUpf94qP78NP@o-+lUmV3AtoU5+ zCuqs14`id%s>3Tm<@>|J%dHw2I-h;W~v zb2?@EAEhmSZ%NCRZTiIMT)j8!?h0?8=S71J01v3ZpH}97R)JDePqx+X-#4+i(R;;T zgK*#$03ZJ|2^?To{kp~cv0itVRA{j4*HR_>4Yf@+dxZG-=8FGbr|NT?zr_R%n=V|5 zubhW7Cm7e6mhb>#bluE<&v#(j|4+vJV(B<{JzW~)yexM~H3?)zZWQp9^6w)G(cq8C zu|7;f${%vQ?~|~y^4L*552z+x_KM!U0qP=-)05#q3FthGt5*5$(ssu4QoO}S9Vr&n z)ZeqFwm)+O@#)O#9hL^}+5b#}*4&z&O77^)wtJEMyDkNcE1;CAY-L6D+p%F0AnE*$ z=ivf-{vg3S2f)`-+kJyaB7Nwlq^JleX$8Su2!OC8`I&XP*O?2T|IaTf;#G8!|83~d zUAy}dM^Zw9oIsz({9%&Bh)dk@jo11x+>r6lV{F7>>Jdv`R#u86WnA)0cv(OB%J`tR zzCK_$S=4B?<62f$me-{==G*hY#y!2ht>N_1g$2XC7N*}4^sRXo%65QN;&ZXMudCTg zjS<2qG9@9F?wR!07XScper*9O4C5|#ElnglHGw_xDbjdrw0OfO#aEXeEVPyr2W@qpUb%Fofxtv$;1k0SLi zx4madCR>e$6Axq*6t{T*tE|7?^ANPt z7X=7U=P$S18J3Q-SYgiH@Tvf(I{S;o573_&Xru@uv(33#gn5dLM}~;Wq64}44RHgK z=@rKe$l>zzqjs*BBg5Zb>iX1RzsSk1JP$|# zvwh*6g?fL$-6FGg_iTQDWv1L{XTG-AcIVWAYWD3O2_z0;e(d`!*wEMt0h=1)FM5I! z<7n0P#Yc#Ns_zaeJ`*xOQ!TX*I zmw=Fc5EW8im|Kufh|ixo!tFk|Af|ckLMvL&X;#)nOV`<3cX<>Ndfg@fjtix2j7NS5 z);sbcj}y(b6dDs6M!M6LePVRj7EAvpLv97ed-qr{$f;n+oeT> z_bsB&rRXEO339QGi^Eq*y}>f)n$Zbysi*%uNJ zJ6d!kQKpRTsp=~I@=ja9J!1D~(ulJ0&-pmemX=wQ98jc7&CNexd#45xnA^0(3L_zuQ*|Vi=bfC8>RyYF^z8BDc|n4uUmm!Y zZzm@6|G@BuMavs!HLZu!yYh%A?uoRB#_gd~rMQqcY7yT@jcx7MUxm&I~R)#L_s~P+@B@ z!dA7~1SeyD;Kd_~vZ){-oP48_U$jwfIe35(l|M8x&ys4zA>20mT@MBNcotgDtNZg-vYMm-awedvKWUa*r6kz`y?757 zk}UYG7hrSTE-c;&=7t%pMn2+JWca<>svF7D3DfMLxMRSRQk$^9NFbqsczE=}UP!sQ zj0v+mXGeHc*%gO$2<*(~>zwpur%ynF=ky+uL$Vt04r=ID5?VJI6GN_QoJGJk|sHqZKjJWi_6n$xWC z*Fnmr=k3#-GnEO@YE`BhSOb$DRqE|Ln?r+)_ZOrbwUu`Xr$W^%&1Jf@ZAGoIW z%ke$P02jHj*>|qu`cD*csI%*mi|Lnu62eTM{C6j-CCJjBESc*>A!j@JMhLL*EE>os z%3LJ+6HTO`$+6WO98d7+k?3IpVvB`(R7c0wvX#X9N9##7N7v`)NsYh*zrukh zT~*b(KcgV%w@k;i<)f#xTL2+wYog%I-C1qq5RkJstgyWf#MYC(l+|*tm?#HW_2y9% zBzxbpLh)72E^Rv9TjA`KK85oQ`j-NxI{URhWF<^{EfcE=fjL^)nLG*u6hmC`-lYXS zLH$339x#~Blx}#$<_eD-XPq;Ob7;$HK4T+WgoZ!``+_}@s ztAq!@TF1SfO5`T$Lb?`~{-yymNrfL}6V(5hcY~p~Y4BC>yMM8_>Jds%0Nt$Mx&h?i($f47(8inAWsulKbEGI?o;G>U{Un1NYfJF)q?sPXYzViireznYDUmSdhJgs((@)pj`8QC**F8M-x z(0KmF_CyQ#HNx@c!KrVpfT=7Jq$S-;OJ(Vv1mfF|)kMeeo0E{7I;gRIQuw;Hi=aN1 zjQbkdLsQYL;_2$p{!OXrmVplCL81NV}U zzM5>I{x;FrxM&&cwiRac%y>RiW$82++{c~t?Q^Iq@fCO(W-L(ine%aw_$l%C#}($O z&+)g%cdoM&>hzInH{nvB)K~vj@mQuV&6~Y769NDh2sHlqC3-Xd5d~Oby=0%L&D&XEDiTKVMFp95n(3ZXB*PU- z%k5@*p}c-ddE1rcj3nCn)Xb%KQ^003{ae8jr5yne-Q6vQm;dBz1Lk_N^3>4UR)@_u zt+yk^x{Xt|fNmsUV1T=|W{HS~CSZKl_)q&9uCnN~)K}vzi>fPy1M6%b0hhrT@tTrg zuS*kw@bv|I-Q}d#v@wXef^~wqvH1mhV*AAwS;A%cfT8`!J~`5 z;Y_$OV3hV3_)h~mt^MABe*g8L7Y0)L&8cVy(%*voi%+~;T#JXl*%v^b(M0K3Y9RMo z@CzT?`AFra({aL{#>kcArs_uNp{R7LQ_&(&yIjuwcLs;8V=L6opiNgZ={Avkjhew* zk2w?)bYk{z?xoDKx{|ywF3XaylQY_cx{4KzV<(U{mGHNgaHhd+J z?v77{H%zVZ5rBZm0iIFV2>&~V)x1&vuY!pLrkEE^Yr+X~>BDu38rQk`(|R{(U1)sR z?sp?tZEH^sqb{D#GXUI9hxj#3)|Q{(ING}CZhPzOHYNAnq+djyRy%pJQQ{sQ3$CWA zrAOn;I4me`z^f_?*9@NLCs(AZZ;O~Xm_myW+>e%oC3@C1Kf9cyynbav3umIkF*WYT zI#aNxf8FIV#;0s0a5N=&#)|R@F2ryfRyUoj`^o9ra>fdH4;&>;A`00Z_|>vy#J`eo z{06TCHV+`s;nUxOhAH*Ef`u8sau3_tf)(il49|eNnEDIn#pwC6SprSa8m67cwXokZ z06PCzS36Q`oL_eOT0KxE1vEJVkR44Bfx^^!xmA^QhJcX&CBzLC7!Bd@R(L1o05{+G zK;NtAFL6m!5v%ufj4llGlNMoICrqvnlfyKdU)zOR?!Hy%S4`d|QoQ<+4lely;PzS0 zQSR;0>|=Mzq9Z<;Hgx5Lk^WUun)SHl1ax;^W2yy5x-S5S!tI$6HqckZ`TI_nN20T0 zdS000!hQ!=LQ{# zyJxAH`sLK#=%EXM);CnffYPPj^y{gR*qHS?kASJFJdR7)fmGkikB)_IEH72mC(YM4 z6Px0B-*1-h?~iwI5}lRfdb&{CuJY4W5Jpy_{W7)_Ige0`^ka$rMPRztafdWkkpSFw zonQcs9Lv*f@eHo1Awfby8Ukpee;&FA1jp8tcCK-q{ z901ys9XQcau!SLc@U4uN=sK-v|Wc_2T5ynAlQ2c*ezGpN#-cS zZu@m-mf(ZSwFxSC>YKjf6uT86`+?LIFzzV*zcOXD2AHa*7YFEC+R61Fx1-_hGJYR9 z%RzA5{lCi~g2o?3%gZU@z2msbyRWRAKF5O=p+O(R|G`#10nVy9kVel-0(N$JK!NgM z@2}B}k6$_6s&DSVMR_f|G9Bwx(gp^+W8u9yt^#Um)PSBOib_glzq$E;Tm)xv@^xKo z)1-^8m;Abj;U5zW4&QIXJ3h*^j*hLJp!%ZWP1SPzoq>yr)(;ZDs$T3-ZmkA1e8w3{ zC%}ds8%M%yZOx9162J)vO8|REW17Dn3;dP)G0xxJAw%8T5C5m$kc-&Btzr@oNN8)* zf2P;;(}pr9O#jcX-5w9b!TMkC*8j3;)a7O|0LorC^ATt-x$x;3sO6PoWlUh;i@7V3SS*7vs_VmneQQsGxrG0pE?#bF!{zZ!{|-F?r=sW9$$!NA4_9=IJG`q}q{V({7A zR9*Wm166#(?ogo_M;~c^-Hnqx*SpKS1R9gQf39ZROz-{^y!hpV`&(krOM?_pnmCYp| zas{(1=>ffPCKxsDS8Xexeh9K2BP>3C4wTV29&RiyAiBEf|8V6fUCA$6<_J=Kw}-QK zU5B(ljgmC?2!?f4yYFb*lTpq5Vb!6BpU|FJilw*NnYUiTy^b}cV4XRpv~XXvv_m&h+DT3dM~>^CE30?0@6FYcZY>8 zdw9HQ#k>PLuraf+gsiQtQweS1 zon_O&BMK>kW%lf09XM|>yVN6f>^GE}!>c~K&-9SU9?7|S33q+3LjxPQzZLeT&At-y zHgH6FYrX%XPiqqcy#ydS5V%e+n$3&Z9}(QQy#?qaAUc?wvc@mmU#_22_~uckZ(X-I zkxSw^`h0gO`{?~Izh`KA2^+Khe2lPBuRaeDW+*?crd{vW#3$^xM1riq=N?SQK87^& zy-je&RPc;L=|08txn)TW+Mc3rGaHX~_5Pr?<_tTT@75pa z7e?~Tvu$CqQphBOnUT|S)FBN7u#MwHUn?j-L@2;(>WdlgK#*yI0%}m#1l99Q5^a*u zxaPJHVz@xpfn->r&57vY!`_qEgKl?UI4ah@a2#yhByM;@TyOp%F4sY>R|NDgTpe1D z*&xFAbgTe1`FN1VWa{VR-}bFhD6$9!Z++HYt9f#S$~<;Bs|2vgVh&2zvVgAH$O@}^ z%LwAZ_~Q%ery5Nlls!jL&csnT|M@u0l4`xtTMqNMWxeH&nB!o9u$E_R{GTpfW7sSRMl{d&wfE?#3DPnNdWz*u|w_6JJF7P_?I z_xip2Q}eQI9x9D;r*F9zF*qBOUt-Gj1%DUx`%yb@o8e_>AT${_=-*!ZW!W#GGjfBm zDzL**zWD)7yfRzbZb)-1Z{SOEW#X;B${lE3E+*V-%Svv!9N3zz;!$Sb&Bv16FaP`r zD>=4o`2=<7LkC0qwiNV)>pE_AcJBv)A9iIHEdnrNn(l3{xC6b;Cq*9IXr-4IEfTHl zKTzsj`Ur=rv#R*Lln!f*{Z-+bwww{_2sC2pn_Xm>USc#j>K-I(CmcE*|CLy8sE2V6T+5%PZ-kNa78cx^+L8xB^D!Gr zkXKc$I)}8k)9xa*k&_el_a(^4_S=t-PTQUoQ)TVU&s?1%Du6-^JG}6?Y0(w-mxo3$ znGquBllvE=A?A;P{(fmU@ql=JX`t7(b$IKOyWw}?fzCt&v4@0v9^W*xAK0h$(Vt_A zBxfQZ+@Hw45?388QI%3KlBl~Z_O<4g-P}L+@i_-LS-4?uX_qv`mhybIb|a53oMn*4 zANA4N+YvG!@i|tZw#fp>_Qn?RdINX%|0|jLJ~O*Afz;d#I$cjy+9G3o)wvLlkKDzz ze~6Yy<{fxTxeR=Et+F5kl{&i4pAp2XyZfD6kB^j4FAjGfr(8CEnnBu!^O)lER4*&Y z1{CsVn39-i-@jJQo^l>1$XKkCB?*1rduEx=Xw$TqEaa}}mS1W`^@|Ex-Ru&2BtIT1 z>1*x0=9LmsD3K+r^~1S~fk{%+DX<(v>KzhioI!VmG3@A$tJVy)P2XLytSWKk_oT2k9a>G z!=|c5E5iEP938jHCXgtlHZVLf>0e)38T(Ru^vP3!rCd`XDC#%Dpzs1{6T{3^jIE5{ zf(_~>9fswjNcqs0(wuWbHfOoCC=QJju3bv>zbv1Ws-yI)DhCp}t z{69YSD=20#_MIngNy}OvLjjC6$d1d+G49YNq2l${VWsv@zOs8g9b^fXLNGtGL}shTD}mf<3QaDmLbo|O##y-CLHwRAntq3d3kk$Rx*sfp| z@cK{z>ES-}5;EUH5DeVxJEWLr_iGx#4nHwnVYN$fyiQ+`%=di3FST|8y;V41UHXn> zSrBEybEWelBWez7B{hajI4c#j#@K|h;>Ev!F4o~uifSj-9;qh>e003sh9zW`*g*ZS z-IOj1CC|jE`v^sGmmCyCcL5M}aJ1rBCMr7IS7dO$xn+`aIun@3WnyEH+xQtgG1O;D zewFU6pu4VAn0Wg=c9orRg%>2@L?dSTQt=qwxkGS;I7BpSk+4lYIWOn5jg5QlJkU2T zbtb%r@QV&wzhomN?KWb1sXeTD^i`yMyAg6Hi3)nTFn5KKedTV0Gc8|U9p4W>`YU^V)b3%fcTX*Uj8pSw>#}254KKVG)KTO`Hxdyl%@=QbGe>67 z)l(tCWRCojvO-2g<);SYLp?);4uNM&atLB1{d%{8Ii^i-q%fRej``o9+D@MzdJN&2 zyOXse8kBEHM@Bj6r0#qO9T69rqZ1djD0-M_VsmblE&;N2@S8VWW!qi>vn`_nLj~M= z_rmy6jlRue(P_Wh7=d*_G2_WG;isV#5$l`tM9?i}oBKqNpK>Ury%)Q$mZ->anVQz+ zDw-YC17Tt!noVuyl|sENE$u;`iB0)y%NBB znqEf0^Hl+3wuWN~oQCov%G6z17}#$;_s+aOhy8LZ1{WY6uqfP|AlZ4bzL3N-xEG!; zGm$+9pw&MQEgaz4Km~nMr()TWK_%5YRxHFCQGUqNs00axv3`eTTP6r>3Uq0AMY4tLi6`E}fK%b2k^UFviAxj;^!Q_Zb5p%`pIvP4_A*11! zGlv~NR;OhvX!*>Uld#@q^3*()%eImatw^JEcH5oB9a!eIiAcvJr>n_?q4tUf&*bfe;xJELu7ho5FSy#>4TQ$$ZOe}rtt+Wap>94&|3!KUOV!CZsYo1>Tg)o>- zoUssSs6&xUtScx{76OyjD5Hyh5LXHSM z@2?>b5cGU*)q8w6TAp)jvJal^ItrY}9SFMMyTasC9<0o2neA1aNiD1pM@IEd)~@k! z_)fUk8+&5%Y&&YSnpb+UnzatB$RlXml0eT(+NWS(#AjyqXY2;$G1a7pTb3MaGB>S8 zD~)-6MaEX=v;2PzS~@x{F<^mVfCBf>{oh};2!kKv!hc`q=|4p55i;Wlq@mQuK?J1>{750JX89D{DFeWM~(opvN+3U2+ z6l!qZkGcu6M6d-(eo?$Ii_Q9zPtwGF9!zCmzF>`!gl8&x8-2F4T;88zy$`@?m|TQG#C;2{FJCZ@lhTh=5~7$1l#G0rBFp@`;NH5eA? zGm=EC_O^}}_jO;>_=D2XHrx{90wv6v&&9nTR-Q7@4tYKO)}-rDRnM)m%Z;GfXj&a^ z0xtTY<^6#A!!P*`BjcZ_zO-B(GjAYw!<0WsUjd`MUi)Wa;^imPcVTG=IhfC~DIBg; z8l@8kdBgZJn;art$h?e9Gv3>hHgoLCF*|abOkV0S8o$AGea%@&%`<}_Gbb?CEA~W$ zHcYT2$0h2mqS#Nx9%<@$_a7s}r$jXIYjty>CrV=`rskX0#VtW}h-WQmWQg8!Ql4D5 z!(S^^$f}WH)ubq4q|yvVOB)m7qTIOay&ZLEhDa zrV-9b&ri>p9YNNqY1Fm(@)(-@l{~=|VWgEg;RqF1`@XZFlysiK#iVdb%hDOrXT*S4 zgMgmrp&NbWdBjVRut@I{Bc*TYs-o-XQyzy0%(gv4twMfK?`Wt;i}jSdJ#>HZOJl7~ z&y|bfn#@Ns(QbDgpWeJ5XHhS#3N-O_T7s}_n*#Sm&Z+bSvGgm$rmoKnuj5YJ8o}#% z%W`YOTeo$NopKjf%M1rtR-JcW&a;5VXF|6nF+JOp3sscqcgFNJR&_y+c|8XbSGZN) z=mH`a#7ze;e2Z+PV7KWVXY4S0u3KU3+jRju2=q{_vTS(Hvh0@d+Wx#m&q@zZ2RK*3 z>z*tS^rGZ_)(GI=TfydCxh~>)&_Gd)W_MWfT;Xn>|B!k!#Xha-`J(fDN!&gfE>)SQ zi^Ii%!QgqN8DxE;V47_ZURHn~eW@kdwjGqVWQ1MsH|8vBS5CGyuMM+8UJ>xj#EYmZ z+j;V0bu<51ryjx3W0y_!PZ0Xq9hEhkpxOc~ejZVK>`HgdKCiHTk!pY{=vr%aoNx^* zzKNaDRrG>b?9X;C3vYZrGg96(Z<3G$x=l2Mri(0!jb>P>huz6fQOS3D<<`w%x|2b- z>9gTiACVp`dt#Il*ag2a_POA^_^VfTl>pgIZf->T@)%qCiY71M&1hq0R}Kg z2udm{{;oHPCNvk#xGu~02xp6qz)W8X+LbT4_}FVRVO!^`?%me*4^W8DF4A0O`;@U* zozhETEG_PJDY5Q1y_VV&2k1uH(xXq+vL~C!-kGt~rC%Vm%Acx^8AJ4AUeq2spx-=u zFUNg+es_J3AbQa*U}~yY4c6M?TaQz`L!7f|z~!YxSfP8?Bog}Q_L_@IvHT&PFkEI7Z<_$%FlpN#N-cqf$Z)93`Ya*RLvtorEKsHpO(2a)X1B+*U=rm?)8JlGxFV9 zFh~4pot$VLA&_JZ!S<=Tj4hDyua6kzn$@yF3=R+>qVy+YwwSCG2Ro0RUNlA=?M@2@ z$!gy#`?Pjlj|v9$JL5%z_QWPCBy3r~z!DWx{b!~#R%FCpvhKQvdsM3SsG%4=rXZ90 zp4-?|9v^?T({D~%vRiom(pd|H-y1q*CVhR3w!AyY2C>Wr&-cKT8_yMVP}~Z1uCx$M)4?<%%d`xu(uxWzYzWwsmh%(YC2~SyiB;?FJ-Fn(UIc#K7-{Sn23428 zRxK;gNPv}W6z4u=iDONP0!graJZ)Fy=lEXg^|6}2&C79FPY-FLkwYzE9OwN!vw>`A&y)OKl%I#E-1Y2Zzh)`?DSv%^MBWVgj88czF}GA$ zV+4JCHpw&!C9@kH8H}r^l-+sVP)lRo%NEK`7mTp6ZO}D##@qd>tdchLq@OcFad76T zsqKioL7^HJ`Z@mt=`T@!Xd<;7lqYB_(gccI7&!sX{1QpYuPF*{x zgX6t}W5m+jtW+F%%P$ui=^#(c$ls?-hk?f z`%Yr_)SZP};3jPF^5<=iE-HhlJLV1tRxe4qZ9sZ5#r#G8xs?tM+21PzFthzg-WCzw z2kjlv&xx}EK#0}j$?V^71zFu!{I><-Qt2GHuaD?IAlr9`O-ag3 zY4K>~#@X!170vdo*-!4g0@}Z^8C zjjj*6`s%JXjL-g<-c+%-NQJ^BnN-;sGuxfX;vU^yi$P4el6X>|`3DoS{{pI7N6Bk$ zoonfbR!R?f^kklh`|ud=HpNygNi}GOSs>QR@YpqV#go$wJNRWJQ+!qF>1+dXTxI&X z&j|Vq2E#VB#!r5cH#A>XWYCjY)9{~DDnEwyyW@19OQg{_+o&YVWRdrVd*_=vL18>m zU13osg{?R5K7#rq)BN?QM!`h}9EPdgKzKrf&{E8y&iYU&DNiw=m-v|RbI5CaAq&&{ zLXMoD*5;42-3sYcA3IrLrfmgX(S3qJGp-yWCdPK%o8HSkxeGd2CX5cz6%u?lt3@5yGT16?cs>>;BT zQ-VR#+6+&ms}bItQ44)tIZqPLpQ+l}!@E9a2Y>*Q#{irop@#ML*Ed?>GNPVCbK#m{t^GL~g;?n}7EUZ?wP%QAo^QqmgMS)W#=+%QxB`Xf`Z}P4q z&_@px9D3I*{&O=6iQ9jQi*h>msjbZ>1(16)X)dnFC9-KI0I_ZbGXJT53d=&FiI>w< zyV28^MX^-6r8RD}ngh8b`Q#0gk4^2aoM{&{(eSus%n=)k1}XF5#{pCNaNHE zb%vGs2Oi-uaK={0deg}07phHhvlHhWGh%N6DRzb?9C(pWZa4NYwWxbPNH)2r*n&MT z(RH+5p!(Ql$UHaSD7PlQgvzF@y+-e-b6KC#sKM|$gnWHYsH$`?FBiE+Qj{ivy+o%L zYt<}T%s=I2x+5RX>kBPiAPheco6>uwwBRCTpkUT)yJ`AaUHf^Nq}QQzqp0at`IX^k z4NOs6kgnY?D!`uH6LIcCf#E^?pK(A?(1-US`p=1dt&;s+M3C57cn?e=O1fl*vzoi> z0xr7*W>4b_z1|Ge46hqgXma@zx)_*50NiktXAB()4p0izhn#))pMqpd7@NG?U8{JUPOWXh0p30)SlkA%2?1UzscC@1h6! zI50ow$YqCTf6)J8Qv61bd~`OU#TzlKRTroeLZgY|J z6F$TAn|I(b1kQhlF+~yN7sEIdg(gd&;0h$l$RxksrHp^u zykDO<%-y6s#SPAX!ST`0p;GJXC@<~t^XRg0Kj2d=%VH6yPa_l73oD7kqi>gtqeRSY zl4F{&*zNdo#B6FKElICQl#Q{;+SN;LJoP%{&`I2-DqweNucifv`evAo>w3=m`Xagm zE0PZ6UUg7=#uZE3zn3Kz z!jS#<_kA3u9GIKtoh4ts7V}P{L~+RI1eWR^;5?0U$c&^bMZK(Y6PP5(UOb=~9(HF_ zBx+}Zo#wDHz755y?a4&9-t=DPoMW3VLYq8UsZZGc#TP^@l^hokzrPf#Xvv(dW6w{a zNX1>*f%f9Z^KV?0R(O1dg|)7}BwA8M4UvzcqY5nXIO7W27HYK+_T%tK&>7+$3zdpl zU}!wh0TM-alL!Ok&WSOI7Q(^>@(TVyq4vDQ{=UUS`BeT%HXu1otqMc*s5cKS)fHGO zUZxb~?zx$E54NF|bXTP4mzZtTZT!KHdVyzg+w{%rnB_TYRej;%hyY7wHimw z9it)u?$6|wsE6bm&UT)an{4x(-97hDi^DeD9D-UyU4^%JSU}pZ9=xm?(lSU^-lC)V z*%qTEs&ei^DD&)Sp(>VHvD%|J7F#Wfmy&-V+dYG5JW@)oCmO^@3H3w5xAqFj4Lteeh8vttKB*&X2<@f~L z10ET9T*J%}rsxE5mRxU#xeNfSnroO~p>}-ryfse#;9T<2T=4b&{e!{0f^A%@xsS14 zD*t3aNs71hSQKxI0&@w&bmmC%QYC`qNA#T>n`kBKsxIxA3lSIOzxh~hm4&BZHvq2#3w4q_D1_e3|(Z%O!C zr7LW8{gMyM6&C|aVB8mnE|IIQzmWLudnPqnNi@uszx};mk$~=l5)GVx;K4vxlW&Jo zu%8Pzmi!KV!`OJsJxkO~)vv#O%VbPbQIJa8P0@)Pnymcw3CDM0%zDq3^^`5{SM{9@ z%CyQsiX)FM`(|D^_dafRjaWqpAu$olNN z3t|qHR=M<_zPGj>%(|ZIsj3dQUZ-CcW~sA{{kSW!tU+=_(=3cxt6~oi_Vqy{Zc-1e z5TikS{`I46Dl(=fJH=8zX3JACg$AoPFKe9UM*@0Go`^(^+nkvMoHtC@|8K-u=zh1VzG_EwOx?i$j)2>AA@v)t}tF3m5zqMm@Zv8QPfUdU*TN^Z2KufWwI()#cW*!OBnB>n-AZ@nKYiJWz)V zQ{F+x1e?Mw%%^w!{&xSMgWHnluUV5t3oXp#`q(&B7^+|8rZcYy=_7oA8QCUE%0Erny8RYX z7%KljbG->jlZnr4fJ8z|*9-^wy@N1-_cji`FpCY-x8N9S){@EqV(ANApjs&aovA{; z_t%m;jm*en^iMcTh6mp4eq`kB@c6z|TC}vt+2NtA26$5WsLt`BxR6OP3>fB-1<;&0 z8IjM%YJILJli5!*0{TPr6b-I;Ps53ylr20Ii*(Vr9sZpf>*~+0x^E=|qba2_7d+Q{ zqSVvJhTUJDOf>#PMm=-`hCMgYe7P!!qQ_E-y!kTVRLhUwK_*TRR<_JAqC@4i5fr+hfRer$ zWO(w5B-*t!wdBLMii8(iS*g@LCMPpQ74Y;Y9?uy3c_;Yu9F*z|1v7GR4e|t9qahz> zeBjaI);{x0Rcrq5Co)ETDn1E=IP|gL}Vw`<}JVI_Lc69~Q85Exz$Q_kCTT`+6kCzO4E?*Kb&!IQkb}5v@GCcevo! zXPy25eniAFJ``lVuRikV;kMoPrkTUQ;mEG9@A^HWk~M0;>F!|lf>|ZlKb|U%XS83* zWVvguBrtYDiJIBkW3Xm$P+K%Jn@Kw0-1BCDWz>jVPfT=(kBxwW#DEg z?&7n6Y(@QNkGx+h$Z_soWm1;nb3O(V!>c6Pt2>>eVSB642b_^^gGc_JSBi>qyC907 zTlrFC%|s%-^L`?P9IgCa9V%&yPdr>7NGE)=Cix6<68YwH*PNwnXaB`b*#HMGhMi$z zcCPuvrbUt`I`1fb&n205GGRr~e(?Hz=8dd9K9+9dQv^zbsD$pi{DsK?w$Svjkn27& zm)oxmWTpW8MO_IjKtl70EeP^W+tLrK`EIIa*x8R&oWb z3_*(x+5=5|$fFf(ZhBpxgz0ubFAH!8@vHSb^Rc{ruPxbN8a5}CugxOBT7*g%qJO*S4xW?ue-!AJfD;S-7ASs>+TB zaeA&4%F;vudo^k4D^Rnu`}47G0+;uTraHw5yoXf+%JtVzo!`-Xdxd|<>87rm$6ZS=gg zMIO!17bS9T@_H55GSj`w+lQ*g?cP)~V7930D`b+>s&gL_6NFHL42Ek+MGbb}+gw-vh7w`&~96k9Xx zjfDLMSmDIEwKzHm^NF;=v8W@DlPe$KF|Aem51BCYIgpyl*`UW#S=kL9kQE>A-n!QP zWT`@A41?}TN5#&eqCxZf*i8GAcEo~Irf)oj*A-S8|KaV#=3gJ_92S;hcaoZw-7eK* zY%8fGq(UwU^er$!PCRJ2^^+U3OB#J3zU%fY?|vIHMn{0QIO=*1>WM`O;U#<9f7b`1 zVc`PGPAgj8goN;PrqWto^H*Pw@ZXRJKP4Gn30c8^HB8;G_T#bgVI#h8S55LSXltEC zL(o#xNOD8bU>`Vztv^dKgN=F8L!Ef{Hox~YPurHQw*>0?TH*K z%3C5j`kFJ}45co^Vi@mC0+GdtB$X?ar_EtP)Yb&45O2EPb+ZMPcfX-rQ!fU(bC`fQ zkp!95#5G3?NMKjZfk^9ijQeiO%I-o)-y-;~Uc7Es4b}8%>5U_GCcj;4IkPxkB@U~_ zc&HP%L1VWmCZ>LQeY?I5c8KG(?8N^1ti!f!zer_y-*OS&ce17d8BJ}qS>B%PsjSPs zjKS_8kEU1Zf&|7(9P~8d9rJDZa2ys$roQ(}O*foOpWSN^Vhsa6-rmHwANv7YA%SOD zyH2{>SVB<0s--NIEP0^p!1?c+2YIBOxc-!!avYCI;mJ3^BTbg*sbx4VzsBE}J6d;o z6mzHjN66L0;s%;e+Cn29J^Y{w;75se@*Rd(_Fi|%h;hEW@`(SX*5)n25VCISCMz~X zdDur8hPxX=o-m$USj(j`5j&;=^LZfVDe;A~nXyKp$-2KsOOpm&#f>PjVtc~3$QvW{ zfo=SpJxLN7C+{Mq!XticYKpJdo0)KE8hl12+BCEzwD%NaMcX0Z$~Gx_kw6$lZ!C5$ zluZ=55j#2G<9U^IXVFDQDc@{77ILU=tzQKF0UPiyWrb9W8hqzgwy3MRUU=i-ac zYR$IGiCjj5$5zb@%xzPiq9={YG>aP$2kT>akUH$?io^b|ij5p{5CMZcIy+3M5XkQi zym4ZG%rT1C$C>6p_}L`%&1V*T#?ke+6JR-d&0{;`#vpexOXYRSN-bfE$hdo80}EAy zK^d)lZhzQ5QD%Z+XS6Wa0#8rO+aco~CAqyl)ik@>q8d(S6wAQN1f`fOU;1!pPg+b>n}^?_=PEq0?lIIfKJ z0xLO{ro=}EC`msMcjT_7ZaAR*1n-UUAH5ZB{7e&Wog8&c3~EfJc9ORfvf1>&wD>h7 zVh_}WG*c3~=?Y32i5%FZOrzJ(Q~U&Agjk>DkE`}#)Ro+N_e)JEMT%87jm!5}Lcdxw z(RYxQzSUW$O1R|Xiup9r8f_2drt5R`W-+{Bd_%+_G{FIgiNtE25SF4BRbAdmG+qj~ z%Ujlp%@$kZc~F5No4>8RlX;4rNo%>X0>{^jVcTt|hgh8R_Z9Pf!M2u;0=8$?ebRNw zZHwE=@Q@VFvzS!j+hYe0f``L{#2uKo&QjkMUJ_Wa#zr)Y!cU1%usNm=6g~t3H5cb( zT)&>O%SjiIFRt1pb<3FbZvX8gzxeHr(m@Q@ZN0YY6resfSJYtZxGwLuT5MK^5mI<_ z@ktbOBCeigr+F(*tsV~`Ryz%tx}b2oTHoggZ$d<3w+M3E*~cqmkso^2QF4?68z_O5 zo!WkWu)t%`_MUXoeQk^YQYcUYyHGxjbeHZY%k#FaZBa;SoPi?RCH$YYz|nktG-0Qeu?p6~(^fWS z+ps#sbv1;NYKbaX?Ms`~#`nbAdD1o5=%PRE;skW{uV(`DKXulN&}#?nk5ld^7v7jX zIk*iO`!e4YR{5X~ulf)XNPTk#Pifv94k;W7KV_}Pn@Z5$T~()N3_H-OalcsaX|hqH z*UG2jSp=W3zWt_z^k{eBRkvU1f~R(HKh*AD^L3KI#CTi(=VqRN{r;o(&f|>Xy~Q~8+6~b> z8s*{*q>A{=8w&4VO{kXq^9JMy-3K!>c&z-4yd1lg@@2%80YQHx>7!f5Yg}9s%WU|M zHT|unq4<2M`rEdS_STPVFwl-GpJuM#vNm_%h;A{>eP^D)%34!INO!iVMdnrA9BOv+ z{ptL_BGkZw;ko*4u~Z12pr?6r+mU>j$2@(32Bt+m>+g1V!Cz`)-BNy77Z^vE+%l#> zfAk+;{r6w>okj%qULEKEY`6;||JBxiixy;mYG?y*fJhbbNQG_G(m;guKcZ4iJjWH4 z9=3GvYm4j{!mc0}z9|28*kvovwXyg|_cs_nU4Jt`uud8x0Ic(xo@2#sltHJ>nA}2t z`0JKqoy(Py;qK}kw_g+&?ADCPUS@h1L-D7bZh>C^?U-MFJJL!05T8x04H$jr64rAz zE5y|TB_lLJ@V#9{;AnbJmK|$1p;Y#A1brX;AX1nzy?##{gK=S#FhrR7MKS$9mFYq`GgZkgNKxU(yG z&9eiCzOZ1kg?iq&igmJT0;9X7{D5?Kp>Oa{kA{jb%YL1jSo`GzqB?DPdRKaUy}d?@ zk_+$gi#6_|?sIHQYC`}XDc`Wmj|pDttb*q;onuHR6fsDTM_d@mUz6#C0qmngH-A6rykQ0so0=5 zxVRsh=Y;_W_(lh5e%R#4sCEfT{kEzXk5G=4M%UsGD!S@eAiiV;CI&GAjDx&(xmf)| zoCxh7J&4hgMJCkcl8NpOsr9lLPnnq0y_jq2cr#oB+wRq5Ngf}J5|#@HWT5by5O*q-B(#t;piu%R|=ol3a?)A>vY_3 zk@3y$N{QBft=s6M>b@23Z((@lQPZq6=DuJ&!=3wHvXjU54c=Wowm$^L1G6X14)js~ zvAi+2f2~}gm%{ix@e=sCDlrMJTO(*r*=+23r1+ytxzcp+6WL60nV2CcfF>R=D@R$Toh=eSmYLyOw7%K&Yn^svF`Da@P zSN!53CJ;x@vw96#K)dlRs$6ed%rcsz+jEPR_YS$aD7B|_s<6mcuz1@ zKHI$TslV8g+T+`%b8=bvB5yo5h1u$UvegK(B}aMauAgRmq&PU)aml?QXnj3@MtE=* zWb^dyZD-6umR4HEZ#UZMWyv!|j9#enJIo?z-!s#veYw8O4*3(bLgs4hwE9%U&4fG} z{gY1R)9CX{dQ1xfpp%o!5^?2WFOwwAgv8g4x^aI&AEc(4)hU{bxZ`#bH@6Nu>G%Ap z%xgP0T3o^l15oD%z23yt<5HVpwgfuizom<?xeA(Qa8LljQn64?&6GflFFS z+P8;_3lu55&uP&+!W!(XZ*WHIs^@_d zFoJK*Wk0_s`C&{1kmE-3k4edx9WGzhZ5CpimO5}P3+-Emf+IzvHSb_etlXk zQ$E9IGWK#s1s7ghRBgUq(1d>=>7@Cs%VDdy4XTP(IzeN`bhekrv@i*mGBJzlpb?G` zm(Xz|`$e*)^OSLg?mH5q4L`gUZphtATF(8Y$1_=lV>Dg;LVNdQ>m2at&M9~l?!$9S z$?GPOc0LeJs=O>;wxnXf@a7T z**PI5>dY2={h3phpS5%T8rd_CIo$+gg&l7Kw`T>VsPgzm8$t2c3zGIG{NmSZ;{V0p zKt<6RuyBb;EQl*|WaDK;H?PL&^E|TtmWFk$Nv49f_A}D2Hd2Dl-M1m%btH}D-)eMn zct1NeyCI(I-CgxONej<5y{AvNc0HSevs$0$fnFHI9<1wArd~QjRw{tX8IlnmcSl#cFsU7Z&jQsaw*rZ74`1QR9-JSpq5 z(gxw`*RBw;i^WZ~KAL1-&ugzk_aF~me49&5QJvORyHX@nj~(ZJZ)O1F3y$}Fh3eCOs9-{cwx@Ohy~_~g%{s^GvGqs`BX$6O2T=qH*?b@ zfiBY2*3u^b&}(zxKcsUG!GHP8p~*HQsitbbq1a-Q_k=DMT5fmaG&AMjvC*VFsgMKP zgqD;7!5!`p!O6EY>^#uM+e)d~KRuY7H}68V;jOlA;mc+*3V3Sl#7NmRYHj7p@rsDO z0ziGG{qR-`F^PFS(wF@VkJ-(UY=?EYuWQEJ)k$W}tA<+GNNbUU)|w15>R1Jgol?gt z?HkKqL;Dpjm!5;W_eQmP>(cerv<}OaU?tIJ{7W89dA^!&7(C2{8Zg#|O_|oCq+@E+M@wkQUVq6JCl24`y$HD%D3W$i zbYwAI)%E~D!#7-hr57SU`6$q&aznD;bZPdELZ>yITIwQ#)MKV>t4H=u>;3RzwpBr# zDHQF4+Hg;lJcu`?|9iles;b0!UBzuNOa#?pT7{bAlkoN!t@~_ou*%f@^NzrWqiKQ* z?`aM2Q?tQ_5c6EWy40KVJ^h9<>)q!Ay!JPLLyiDs)mXxE{&#s6lTB$9j`k~(z=M~D z1`Md9YC59<--Pq$ox5M!{maz9dOjsYB6B2P^6qM@Kaj^*=;@Kynu|zHQRBj>Yoz4*ivUzM*mAb zs(__#_NuOH=E!$o|3nkE$9^=WtI;t%G@s?|RAvf13)6Q0^I~bg{6-{pUVpx`Q^NVe zw)`9}PVfyCro5c3GcLCRQY1gV|6@7e`2Gg0fGAT4TN95~?0ss2M~@D}iQ?Lg$_tZa zcw?Tq#Cea&MONq8#JS0iBEk%Z)r+e<;)2V`HWGOyJm0$bt&b?*T-n%uV~SX?VG35$ z6mB{2jD@Q_>L@OWp|4==+N<6yHccu^D?P2TvC({%y=-*Y_LX(2@8Qu*V&s6rwd_&C z3#SomoE94fk4C+|%05qHUDx`&;Lf;WF{_C5$ZIP`k$&yl|6THpuEVnhNW~z}lwD`b z9o4h?e)8DZ8mLb4k_%*g z_Dw+nfgXr*g>jFHT@)KvpX$}{Qb>RH+jvaIdZ<(Xd9SiMH`0?ul*lcx6O{FJ`|L+v z2fqO6ILnDoFe#&iTGQ&FKcWc6!682L2YSv(*VC@?m1T-UPzSIXXHxD2-Ri2}muS?6 zaB2c8IOcR(oN#KpH~hD6SFL^yv9_hgu)PpJadNQn1`oF$(bNY3p*&{U=M;HCVetII zqt2<`>VkWWhkuoB?|)m#YclGCT1xslPe#kYlZ4~eIxIVnZ24%pDu(yM-Dj+L+t^1Q z;i`la@t|14CP(Qmvln^;O{A z@!pVdoG>T(c=GG^uNJCPCI*x?uAd_&)S>qGjA9v;QMKH;-`67Veh(ru`zkdlEe65? z0U*L;k#DZU_WHcFvs0_8_qEW)A>V0U!f~Lozgg64K?OElx$XnIyQ|mF)&`%i_$Lv#COs?pQ{}}UEX%M&)^fAX9W&iqrc+%eLctdv>r1Lp*9)b;Q~ajf2(Bt?Nj{l zn-S#|%O*R^i*7K(&9((n!mmgA?Gsmx6sq42i2Xcs?OM+0lMwb_zH&YfRgtPtIlEJd zJ3PvsR;$E5n*utG;Nc)K8NoP}Z)$RxV32gDenr?qE5bMhr?KzqM;i;VH=ox^9;{bC zKs{&>nv2}2wyjzhd9W3JX`ZDLw!CJnuPJcd1JQyU!QH#8M%)i(J7R=v=oAtv^R-WH z=(TS*AUu5na^SC7L=VR`EUeCG)>#r8mg|s}$I2@X2L?5MIcKr2a;F@lyprt zZ7;ECa_1?5q_z=nySeYZ1x8_Y9g}RMGp^Jcr&Z-=$}2@^HRENEKME781iHAd62enD zRBO5Z+zD?#7sQ2cMCUFUlu;**P|Apz68aw}u&Ys!;*itfbfOJ;kds43`p~RiJQ_=p zsuqflb~9d;DvX&KsYyrDV@@659&(Hm6VP*NUNiBcD+c3I&(20BX+IE}ee~OjJZE1| ze@L#+6@6Oic`iKpzUj0hoh|8dU2jiJOrRct?Qv-828}|Xp=)8sv5~JZKjDar<-`K} zkyW1Q>*v{!M;1$aH0vTj#U{SfUA`%3KzY5~jsUz3Ae7cS->tmji)P9VM_8hX+SP7j ziq~Hrb`?AOEPr1*Muwvw{MhE#R6Y_2bJ8XYp+1>8nz~Rlip0SfHMJsSgTmn6{dJXI z)>v2QiJF?>^C65q*Fiz$jxHIU&pzqgX-a)Y+q}}d6 z^omiX;4VYquC`4=Lg7{eyg9?u7FVCK75qX1wqf9~x_50?{vS2^eok;Q4ud7(2iHIc zuY4*S+maze9_)ATX+jAm;)X9uB~Wq``nYdDrf&!5sPQ4KKJkop7Ogcup1k|%tA}X+ zCv*Nuqt2PJ_^M1oUkD!&k30LJcvIAeMTvMS2m1XBrQP?Zyj?ZUG{}E2;N-e^#uREM zYhWsGhHrYo94Cqs%W^gKvU;flKGWGAcY9HF{rb*Yk^Y@$Zrpr0RIlpxH`C)_zab-x zx&ohouHC077iNflfGl2{dH!bLTWQ**Iw_(SZb~R+o7eOV(wsp1)7^(Ee4-H3yiuXK=LUNC?<@`?ugdd?Fvy4z+-m3d_pP2|>;ygv@08XZ`-Xf#j@sM)u(y^max$YI zKgS0ZT(Tq&GxTRm+oVFrOAAY)&ZxfbXQkSP&PXi=z)Rl#HBAc) zjB^o-U{vac4Z_0k!f~s#8U2z=xL{`Ho7d`ZVV;vjz8(xFCPP+NuF<6Q=MPbITyM$6 zn$=k+HDuAw5m&6OWR(wnoV^+vvlg6#1AQgugt-1j1z?>cs1eyMVWE&2R><+~bhG{v zZxU~h6j1X$x1(lBy=n_dF1n}iM3TYnk;F=^5(V)X-p~EpC4Dqe1nX&@OFg|>E2uJmEym9rMJ z&DHv3GE%lZ^+AQA*Yxf{k#Ht@hz);Asn=a<{@>Oww|%_ zqy%^B?D|_|UyJ>G=1N{QZhauUIUP3n)(LhdF^itKmV4Ta4JO|%v-@Y&xnDYcU+{Y@ zKcDo-YBA-*tR)$LAaRrl)4k^ExIv$bFc-S?ImjYfYj{qe6tXh~8xfQ9Gl0|^EG)nh zFU-Q}7`G>^^_+(czAfWHp7ky6EuBp1yKg$^9#`}&Jd;%0(Qus?*xjPg$J>$3t(y4r z{i`DW-N&G`dbv`X@+O@H*(z}#P(g(;H?~En2B?Y7)TiPT>VlnFN95EDH%AKQ2gQvl z-CkW9#p;tK$cl#^u%6x=m6P!A`3inr&FyfuElcXWusCMF8i!@xPMiohIP|`x5jbo! zcG~Ou1leF6XnzZi!9-2 ztwVhX{Oq~zQAnG^8TU$2`TV7<3D)~6sR2B|+&jU#bMv2SOVlrM?`&bw60@>r423Ue zT!z}VS|^p^&DDKv_Pgd!{F~|WTRh+>sp_rPcoDfqG}ecezm|*X-(c_GEvR4aL}ihJ ziU-%X%j^GR=9mMdR~UuEUn~F@?b#KZr;c^?*{|5XB8ybLnDCF-Y{>5Vqh4qkcj zKHXjBV>8*a8wVl)+trZDYCQ;`Ot=M;1HG&`8{M#{=4$Pi5#K+%LG97uFYQF35zjzd zd%&iF4RU6VD0xg4`o1CiiC5zfUF_qF-#+b3yjf?}I$lvigW=M_S%Vz5X>AHHmsezo ziAU1~%i+pJ{z7K2%vqC9iGMYHK(QQhTFM|m{G{wp3GIHDCQ;oaZ?P7Im-ZZcX*E^5 z*(T%iWzcDB^5AC#%)J0J7CN-=aOLR-N5!4ltmJ@4$>qrfswoMxn`wkQuD~=gD3JjF z-UT%kJNWER=y||uSk9=!j5)87b@$%x`^3=a7-8#}yoehyQF+?h*CvMFlQFoyg9P+1 zCpCV&h#BoLRgEgX}{XilV=QO?tQ0mw=6NlH@#LJnOz)u>Ael`4>gPQ|$t+$aB<`AQB}`!x$9=|r(EB_^1x9qZvd|J7ET-iIJCY5r(*%7+#KAu0~vq55_`naJa^9h3gHEehZ-5Occ zJwKu0r7KxjYV3#7W&bZ#z?tKGVoOBt9qHEFW4 zP;l}uC_K=pG&*jT{x0;{iAq_L$9{c!Uf9TbwrWJ*?io!@g~v_-qt8PdWoyBL_5%pS z1pjBT)kE&T8sX`c^UD*ry#GDcv3ELaP5d5Vq`l}&?$#;c$G&Ch&yw!Na@Zz)e{hd1k zgKg6*y9#(xa{zVou(h5tUj{q|=w5w6_XVixT|&y>?Z8Bpg@=4Qu{lo|HNMC};6gE9^!s9?+Qn{hzM(Yo zG%;ygFk{QHrZZa5%vGAlJU^PXYJdVAq(pv{2;a(2v29%_&hODzW{|r?RCL-D6lR)- z^Weg~y3ky#C#)MWoIgT6+=Ix74#$BEIdFbvV$txO{2_fRN%1vB8{+_iaUiC;I^q%a zFUm>0pHi~)eZFI*_Yrf+r`026WF=|RRZj*(5~{5D7vVdIwfXf|4~`<&ApBGIQD?VC zFUjx9C0En1h~q&QSPx!Wv6<8bw24Gm4_#p{Bs2~l6j|TjXd<{yz(Bqs51r)Q<}n-Z z)PLCi=~fB%%K0o|jAN5F+Cp44<6~alJtC@&fH$F3yj^UfUt&(9r)CZ-o^9z>zJ!~v z6@`(h(v3Zbl4*AO{caM!#MDv?itC&{n{P20`ar)KHxYQ76M6Q@$Br*pmtr6KLn&<4Bpiev-}KCgPA=2QCVPhGj(ZK5RY{Lm1ft``chXE*Cq?8}9#)P(v7veU zrExbbeI}P>p0J~cHy5u#LNZln)Z~1 zf9}vz`pZMP-3C0A+k*Nu1CPYlaprD@`>h3Wh-StFs-_R4)A+Q?UQz+=hXU2Io*Tlv z9UlLbPh7E-cm75w$;vIcK3P#pTl|=*ytr|m{~FNG`AGRG=&EB$KafT`Ufec~08b~* zSsTlp#pyyyi~eN~nq~9hu9en(xedk!Hs{{vX2Z&HtWj^cP z7#m9^y!LwDf#6ve=ThI8hp()GZGPtXmFsNh%XgP_(aTRm2BPPBW3L=fjK}CozSxRK4_}Th-@@sQ zgIN-$g3KTw21R1rzd8|LCOTGp)P7Rd8T(Z~N$3d|nBO*cZ)iwN)l4(5kDW?M^?PMf zF5Z|bVDA9?)|L?g9$XVwPT|HEkjruyl2wX&3Tycvd%k;vEq_cL4ctua6}OC8nvPXn zHj}YJ-di?Vsru5}be-LpbT06m>JoufoX-j*YfY9ZU-zFT-+me!_c_Vgte;(=>_tx7 z^{PoQoiAHqhM#)Z^4VhI^d~C5)?E*PZUn=5lA~f8q(Av#zf`Ia`=$C_l)g>)3MP(G zpn^&UnB>K9WqCJ4e>T#jl?b0ql|@dqWz1Pdd{oKNU;+qS@zucfqM8?M#48Mtx6_1X z8;1grzHxRNgOzm$Q9_b)Wj$SOq9Bv{RVn$6yYJ_S`6y{Y$H$(}UxA8C6tg`fLhi?J z(m(}ESZ8K*BxX|*5zaHTy?~IbD>!zzTr<4PC7y4t#_+HL^t+A&qhk55$!KVU)v~5o z_wNZmimSddgvTtw@hN6ZZfm<*=M_^*R6wo`-Jv-cNMAl7DmTeZkLB@3T^_t#@#$Tk zrz%hT-w`RjnWF3BIE?wYqqdOI{E~ue-@0ObyS8z+>%w^G`liNW{>M{n`QJfCM8o9O zTPfo0z> z6NatG9aY=njY9Lw1h~FY>)jT=pzASKH+~t@^zNU!_ghO*@oz^eC*<$Aj+NRC!xZ9s z#!t+v@40>NC=-UayU3osC)j@96)=h|Q#-%}9vm$p)V^n+$^VGipc*KCswLlhhu}_Q z%O#LEMP{1CB5MHL31*^;;}u$(NEcY=$Yn+9Fbf{e>ns4wgxck0sa-kD5QXv%;myT_ z&mNW<*3sjSylFoVD#49&_wS5}#o1%x-mY{1kWd1*hj!VmwOuwS{i|6qPeu&Onz8=X zLY`Y;i;ykwXbQhPT6(X<0dbei4+{si*tbcBgX!wu}W3<-Z1g zC4k3EetDO!yPoTRf#icgs%OQ{DIX|ceX$L~!gd#^KfhsZxOsu-Kn&P8xB%1$z_5Nt zvL*C1KF6~6Wgym4 z+*97cx4NFZ1=3Kwlki#z=tGuEpMxn}q%NdILR^GMC+?hY%6;N1hi}05B{ad$Rht3K zMY_)Lv9`TMc+oI!W9_og`v%7MreF<{RU>tOw62$5b76%o=@eG!+i9FKO>W9dV0PcWVN8C2RTi$;2@S!Cido!;4GRF3xdBp6E^johgZN zLmj<4Rr5-BB@DXiP?*H2{02gKtJPko+Hxn!U++xvJE~X~>()2N`0*lHWm?@QMCg0G zH{ zw6ssoXjbhAFhw349d7N8DqF2FHyN(H9V`?-6b~tP0An>IKV{sLsU95W)xW=CQX0D0 zZ!3`TK@}&Gu1ZE(M()<%MdI~))rJ9*zjF${I=I#$pGENB7!m`8s#coXTL&-gUgCW- z(Dy_YBrU)E2a58O9s?s4=Dt~{S&Tl!5mP;~T(ffPCHii(SC)PTo^7BI5#O-+(OA17 z$C97^aBDF=|FCK-6Qj$iou<EHEB{RmSiyp?8F!TRtOu zRcpI+Mf02#6BU0QHFW;MY7d-GDXi>2OSVEK?7qXCCo4t@l^`}ItlvYVjo*bj=Zo-T z6#F?@#MRW3{$jB{-iZ~r_!NteZ2(64_qGozT|~hR@_)r+?1IFXg!`jJCJzKX`okal zLF@jq(SlnZKb4shxY#n?XlS$O(VP(&4N{+=hiutN1$Ni*uyu&*#G8!Kj=xuCY zR*=j`pFmi=a5~hrI@y;kZrKq-)`C|bd*CAZ*Q6jWK)=#v)PxoXR)+j7K)2Z7cdo-BGPGwSrW-t}X%@Dmez9d_^I zo@w-t@d_w0Q;PL{9dja^*;@)~lVdBK=bl-)O-@=##9nm%767jBP0aLUPJO|U&BTq+ zi&<@@(i#xMag{g=MS`bpv zPQs;qK%M;{WbP zk#A6sJ`nQYAnjOR*m_<5jq0Ja<)>_NPO*#&@I4b9^{D=oe$aWc97*=b=hS}6XRvUd zXa%j-xap>y*42~&pP|8uFDQW`H6oxc8J%7!Ot#B5COtl>MZYN_m>j23fac0i{Q8E8 zQ5}8uvT2e2mh2T@@g#d9$ag1M^R@*d*U<)lvS;OItVunZb&P)f{$ZcjoDF=W26;I> z@5;miR;d6@*OAlRUPooHZ*w=fW1NCG(KNvHu+^wCaEDR-92p~xJ zygC!(PpkP)R6)BiI zLCn4j;ZAO8MW74HIX|s9t~uy>%sc2ZOoSuvJ=9eoA3a7*itBiYjlD`bWXPQ`G`RE6 zcKqTEXyu!sikx`Q0DPCh-a_U${>c2T&Pc9WZH?WHC6G1PvD!c-Pa$7PD)y6$u%a|n zDq1o;gQ_$xfscs^gjseH9S8Q8Gk=y;x3?ZM0pn_$Inhs?xy7X%?u>Vm9F|r}&jY45 z#<8DkquL_4qR5nGIA1Tnge-37I`08VM^vpk%u86MOk88{ zCvj`?UPzki%R@rn>EwvKbKnA3Qe0X5$aBQg;dVk}wcMHHXfDEpKXx`;bP&TgRfpWv z&#irRVRWXjskp`{fh!ls7ioEbne;4jLAW}Mz(%|7!sr-f*}A2?4pNMpQW9TuDPUKk zvMjv`8LJIimfxi`FhHzPwE;ad;EhpticK{A03Qe{gFBNYoJFa}ANT1uwpMSyR91(L z7R+`ZL&RL+!C|a~g}YR_*woknW9FtGe9LzK%Ir(rCQ{2hA1BJXG+7dmscqB{b^lD+ z6m5p_p{=vCqNj zN{KD`0iuB^d#enym%MnFzO?X8rCa$-O3c^@NYV)Z2_K1dugcm zNc>O*(E(Q!5T(pSAw+&NHR-`$+45fEQ+DVRPn4eWTaHlgnciI)LXgo@pIpcj@cj7~ zrzJg3XW(m9rafULq{Il#(qGOUZ(UQYp+lyhz!G8-(&22IB? z*p|A$k#tvkv_^r^rV8BD;CXRb9e3f@7I&fTnA7;aXP72(lxEg_UJK%ri)q3JtGGU@ z+_zJk--HD%E)>*`?_jW(*Ab+Kn<<7(=B$lxwdV$vn<@q4o1>*pH0`iBioNin8X|vB{c^r+KPn!4R28h% zOpvu?*Mh!={B!~cK&TBfM>XR|su(E-Kqg*K$|F4O9{HjF>I8zNriQ9f<4%(Z&oHwK@2gS58C3ZHa>Gq=e{VLCJ+Z&c=sR7XN2*v z)qJ9SI4;7mdDy@#ep;CYX3vOz?d#gd!z+SzDr-wmo~73Q`r6Y#mSsZ?y}lDV_^7O! z*y7!qbbaYS6YU8#vR&aZ`F#weMm1QPt1~y{9{qCzb5zIpn==judqKR+Wf8JeA~EK>#bRuqmJ%D%Xq$oU z&fDdwEgVFz)j$c{+x5&3y3V@hUOy5?m>#V2bako`0$+)Se12hyCn z(Nxe5%}3D;4aG0y+t(8MaeshE zt9R6|$r5w8Xyh-(`eSOaFQ$m+gfVjHL+fdF#3I~!3Dg`+dB6=?4)%Ukmh0X}j(Tue zhr0rJS2FLrItqvhSp8s>UoHfdz+gjh`a#Gnx8Va@5je|=r- zFvughFe{U8Tcn_il3hVa$n6qCJ=(*|to?XaZ`5Em;jJwiDKEvxkIBTmN5jiR91=0_ z<&?Qt)7qS;IzaV$bo_Nf#Y1{i@(xHaaYIXSHCf4j!SBWfv zQI}Rs!JSWcM_g4V2#Gy3m}~sWn?EdOw1}r>IFv6}v~63tCxF>SfhDgRUgKL*Dh3H3wqRS9-Bcc$JCn1lB%_-kR&x z7h?5Klfk*qwFeJsq}*{TN5jL;)aPO?bqNbmZz&c#;O*L{(&Fl8*#SORN+WdN1Ts4XUdOTy+m-e~VaXLj4} zmc~|n6)e6nx{M_k@l-Gd=n>|%Cpl0%ezv+U4JZZPOsiW7p= zztx+m^jeePSHb3ZM+NJ$Ft?_6)&D?9`<7*5x%o5vL@Q(iRQw7I^%hf%XJ!l<-pZXy zj^b4ArCtRm%#3>P6GNvD@JCNa$DSge(YflQOZ&Y1288zhtc+VegzIvJpk~16K`Swk(VA_@ zsOZQma^Eg^BDGJ%KjMi+dI-mO^RvwRJRy?#-m;rR@vvn*l2jEtPSzCvoR&z6Ge8l^ z84dXh0%&{wHcy!p!F7Obx)U8wRa6vaN8lE!#UIwfp zVzTaP^d^@J-0YN{Kl*>aQ%LcOKY%h6tSj+%tiZ4t=H^qZ(yk4yHrV~?3e^;-!R~U6a=n!I<&;3Qo!)!eBafI! zU~ptN8|hVb3CSyWo)E$W42lKVzdf>l{2vjMDw-?ubAw4u=X{9Y#akd&c3p+T+Mr_E z!Vg*$Htah~!~upTEbZhl!b1I-KEtsjj|4I2*sMN-*BDkrQMw+wHV-sE48E z_>SN9&*4@tpMvNMps!8-*s!)3nOF||)Pt+9r9;`!JDJ<{#f7M-<6KLaLyj=AmKm(# z)O+lQnfgJgy<-lP<6O4Di2;)uA0JefflSj{Pj{XG z?ebg-3hxemRi>waY4N;1E2lGB^l?JFCXDa&R-a5ouH6{kvgG>q4`xQ+*#bZ>kuKB$ z9GsVjG%;#6cG6USFSTu4VMCCE8Gdt^?XixdmGHHs9L5pi_AJ?WGOt)0swNd70!gyUEzg@Z_4%mFPk^ z7iVpNtTB29AVQo$L7N5#j}Oz&rCSaDlV_NKXk%n%mGi?KTsFhJxUk9dfV?%F$n%3DKGF}C zXe|N?Z3~ay^!<5K(I85_M31*&1TCGZ1u`lP&E+To$64Le%?t=(o(5R|8OI%Ga0AC< zN4I7oaI0n*>LaJjLl1tl+??7GO5F;wKo9!$@cv$fkcnF$q~GjSH4Nt< z@i7V!#yK>&DI5e29za%3C?a*O@BF1bP2_A^-*~WPuj;Y7$KDbdy@}iuZdJcJ5W3jv zSO%vbdwypXsq~HU92S6C1^R5b$wU*kaOWQOwco9%h#EKlB1>11IRNyoa&}+u)qCeu zy)Er1V_y%@w@mR{=F)yD_JP5ZUt>ds8jJ!cM9+|UDPjndR-@=?J2_=}ol_bPYF9=4 z)P=e_k1nU0ohw9OE-ql5@I2j#W;1Sn!Go!TC}ZF0!@Z9uL{=C{R2;_`UOUm+X2Hyq zV$R;QuE(+{kPBk_;FbpW@0-qP{ztL-7MMo1%B5Q-AE$nCoZ&-wj#>F8{#G1g#Wog0{_JB z<|sB#>F89;vh~~ivf@&7eVyTvvCUxGucq@kXQU@wn%L6qT*}9s_3m~GC9ylx`H{MV z{DVr>S~Z@{r5vD;lPoF)*KOq#aD3=SpCy967LR(AdU`M9MiRlS)4iQ4#$5>mOVFr* zbS@*hS39mfMVT5J*xLZ}x=|HA-<$&uXs7z;YCm;{LxajtQqgP|i zy2n#;!9heEwPYC>WiaK}P`S&txle*pqGoCyHyJGcyIg^_MLH02oGnv|k2_rf-bpb# z565JjqMvo}xLI^u<*mFvSQRF5obDN`Z#BG7rm75toO^dA(IxC_4!uhPf3$rNoc{fE zu}f~5DTRDjU=B;shEP)0SDA_}&97J3?7jLesvj5&SpegML45)Fs-OH>`reeRW=r;p zn7eqN*d>G#@qHb3W69%%6_zRC4PcJW5-t@l2BuO2e~$m?s-luSi%!JD6V(3?|oey#wCMsbFm zf~eXuYn1}7UTIclmPec&L3wn8d5>zd_P$XXwP&WGm0$b96y-?As5zzm z31MmsavuP$f%-fCHKV>^PX~Zf55V_>a%bEU2v)c=bbCGOpOgj=(jMYwlQhOmA4kPC zxoipB9EE%0QePM>w%rm2*M?&k$J}3qfArP5c}pL$+L{+9#Uh}DxX$gpcQbiA>B?Fj zK_^Ac=X9if?H2|{v##VT<{Cz2wYdV*hV@*1&C9U~>q|9*4$VUXjFje&C0S&ViwQv~ zd4gg^C|)*}tW(&{sw2!yGs#1bi)w&OZYYawgfS-Ew|J6iHr>6NVY+8Y%RYZ*?DB0P zWbi?y;ukgC5YpE0xfP~|M$ zQkK8GALnwbx+~VTiixJ%e*vaWS>Ch??}q?BP3XoQuv{4hb$D)f7LeEi?7i-ZjtXm# zispMb1LQ|I5APVUTu}%lk^&NcurM%F(Bzl@rTvSuf0f&LVKa!FYw5M4TpinI+Es^% zw#R|A-;~O6UW&dDeKsy&;y-=8nSMKxy9`-a7E_t5wYtSUJlAxTkPnZQuzQ6QjMOBH zmukb8?$XyA^9mWR*SDmvYq-6vAdXrE^!r_lWIMR}eF00074s_3AsHllODut47U3s& z8e7>uL1J-(i#AsA)ct)CY+=)tn&Cz$m&)=TiQ&@{18GA|QcHuB8{?iEevy@Auiqh=4Fg7hb08@U&q3&YkXp&C_CG@6=H57f+X9rCu9$t?zb9Cyu5dRR&KirN+4x zbd)#U?u-_)O0Bz+Ai+RtloX2lPsto~C-yPv|F4He^wUiMDs8&xsWErOea1#~9``c4 zt!4_ZvSbPs{cpD;*3_^9AHm z!KK3zSBe{~ccMM-X=1GzU3$JB`#WF*HT(0QJDFYzNFcw!B7evG$BzyFe-LS^!O&~> z!JuR5$7^|kXbMLxYPCTG1O=tUK=b#L0#g44;G7S4oxr02IUr)q zi5l*T$WU|9`$Q*T8Eai|o2fT1N{28s!+6wmX$Z6tP`?x?RPutmi46CryyQ(j{RH@J zp#7ke*H|k6sn5=*=|+~N#MU8y5IWE5&t%Md0a9*il&`$spJV2#Hg^!@IOa-$ZhqBo zLUc$?^661>Mz0u^?P#0yRK>)NRsc0t{Zj*L0|Y1{mAX*$9FUj0Phay+z18-4Qy|CF zmW!gqLRp4!(zkUO73@OE;@R!`bcs?7sIs69qo|5QVg6-y7fM+`(hv~yrGt^*0CfHb zR^>rTFw2;fpqMkIfN-`{oQK6I<>jg?^X0|-P9H@1pa(i0YF(Yg4EM|Zm*O%C7Z9I8 zsd8nsqU7Hj0XFuNl>vH|QqlJV(fJd$CT|;%c?9SEI#p~`u>u~B!}VE3TRmAd^Pdr# zYgz~l>r3fi*M#53MqS8?8G?L8G4_ae>7AOl2=z5QS#s*S#bp^^a)TZa8a2$AL0 z&#W&8ASKef1f9a7z^!syyqvw_7g58@DxBmZ?$2T`%I&iB;npi*LtRYSCu z1r)yLH;|Ns1(Tsk{alh7i~NyqAIQHhR+0Ret%Lnd|04wllOT2iLH)))r_E*Q3R_X4 zC0ZcWJe@eM=>cOiq8K^44Eh8vm3j4nrTdG*{hED5aqx=oT$W4nd)n$B$pfV?@TfGH zC!A3`DSTHdx|ds)xusoLd?sdr1nT>D3v7DOWx)^?p;~|)4A>f?_GRBsiz^}yCobOj zAVv+d74ewmz9ru)hw@ZUz9b^vShi}Q4|)?_X6%Xm{ACY`Hmv1)>!aQ_=}kfpW`Dc` znOiL+bMAuR+M3Hnz2!<=Ef8q`-3XulwqE4E{Jjhp1U|tv-5lXu>F0gIKbx9$InzIB zo!$QKO9e!lp9f9R#8Or*wgz2nZT2^= z?V}BazNLHm*Pf3PxLE-ySgrC_<~%cCYpI1sW>NwhN%fD1#eGq;fb~(a$nE zvmqsFhqvC)Fj?;`&oFe z{{hd^36iWc`poW;4@!Bhisahbvn8V8;hOerzNGk32cKLlU@|qBKry&a&3%mqcf`Zh ze*(=MRM&MSF^3mO+})HKDSF}OxyN-s@SA#4+3x-z-z#g;H!u;QN827q~KJ zbdm3+z1MC4#teux#W%lpm9z9v@E2cF08Js25x@3zcdTB@$(B==Q!IZ$i_zI8 z3BZ1vr)gI?Vz11uQy82@%O|Hh&+Bmu|df?x> zwMj(TglWn5S(2aW@4;1cG+pq}x?p_NlW;S6ol!DT9?FuN-g`?cZnKgj%UX0yxIyZ| zi;E3w!dcb~XO~YhE*b}Q4FGyYRhM>xlv%qLXUZIPjk1dRrGzJU-MFqP*h6#~{USTJ zt0X^Wpn;m)-j|HS7*)1w0)Aqjbf2zo-8~9&$Ozf&5!#qZZrBq;Y=^n5@(|^ zD8BSe^S@uhe#>dEF=>dP7q2X|Ep_Tb*c?!byh(Jy*F(Ld?a?RO7po=Ov#xtn=*{D! z_uv|r_fO1asL7W4w3jMBW?IL@|GgQaipk4L^TJ8rfh-ebpn4YQN#0NItN2J~u%t+v ziv9H416crDxjS1R`-)xSs30(aupP(UijD9ePmbsPu?@0c9V@45DB9}Znu=`VLd3*^ zufFcy2!pu%7`-sFn~#5p^;$X0i*fDQgGCrAcmmgJC4nH!|Ak4y1Q+6$ctA7a16~oz zs!-f-4CCD#xA6NsGzpug%gYsJ_s7KoOp;Htj@pl*(Va0Ydgi?E?JxY-t%6Trz$}mu z$0UwLd}oHT>F{O!%AW)5+;pcdt3ptJlv&N=EtC;=2O7 zwaAK3op$VHEwAai{*XwhT5F#4CT?tvCoQhaAxJ(;6e>FUl6QEpk&JCadW*f`iiOp; zdX&~y6WUp|cd59-Cl+mh_}>QOKx34F7P57rGX_8O9COO^KnK$32(Kd|Cr@qyBYYCt z3^NO`v17Ar`83D7daXOuG3}*2PQCAO+E4l6d0Fsjij4)Bm$3h6gC{jJTj!w?T{+*< zus4J_P6=&pDZplVYhN3%*Ik*p(^GGBPVgtC`}1eos%ELJK{o+PJohcB#rdSz!@Q0A z_1v3|Cx^bCB7I+~kmXve(|C9I^^ex)H-CJM-T-bctvSkt8qt3aY?zQ%#ncO>M+M9V3ABD~QrGqp^0+hk}m-A?zGdio(z4LFOQ1xw^W~$oEV;QzSw@YqREI?C>e=oa4Y`!u)JNPe!p-V z7$%@;MW7M2-i!pdnbL<+diQA13t@f@VIDnQ=}<)7nz2tUFW=~uf++{sOl}cvn($}R zgr-+nE?|4-%_ndL6?!f(3ZL%Yayee1-&Du+ezz3T@WDO?sr8@BBP)8$2O&2IgI{L! z`Fj4WaN#eMog4?PMSTWC(d{ z2^B|{m8}Dp8hsGEMjn;vhVCWk9F$Sx?8nOVO80UR6^>d8jmiox?Y_U^Q5KE$y3M7X?oaef<^B$2!}S^K!}{_f)& zN|ERXZ-1GHjERJwT&}))nV?#X>B^ZCsO%g}@mn1&rB_&6khYPc0_ol*K1TOF2leTp zVGGeIL7-#W(-fr24K&)^zd@p1dTb3ftMhKsvWx(5VPXWjK!l{&1r~@S2&Mqy50_rE zBarD+$x?GvQ~|lz6kT{TglEY$1YxelENz0F(Y9dJAp0 znT~{h!KL`+7m~S;+gfgO8xYaOQl`g$i90RPXJjYg7AUXTf1s`Qw@0g%_B0fq^l=t_ z`8VV6n9eRXRxO-k?3?}zIDaIyPjGW)v?&iJbzdXLZJ^R^?x_ND%Ji84e3t;~!v)%s za=XHgj}#2JKVgu}6!XsnCMl^d(@;21^)fd6X%>EfZWexd4IxE_Y1T%nu!jaq9928-MMT1fz6+{!KfNd5B7RAP?b^x8Zsjr>aq=G$Z$Vy>B;^7s$Nt*d z1q*nD{X|J6qP3&)@MTNEYL}mOdV`TM^O=7*NC@7D=j~Jp)W|?HD0$#qQ0A;?4_@C4 zzyYelVUh}qQ})YEozykVd{N61A!p8t7%}<6Z*_4H?R8I^%(+pjti=!d8nMMw>On3B zIjZ={MSd*sirX~Mth6eLYcr232>dH?N$bCC^w|J}f{{1%SpdoqG@`QLX}uI!m7tEk z!AduN(=9XGDxOI7Jx!`FiaU8}{#&#JY3|PD=?_Jbh+$DT;}l)p;loN+EiI}nd!~3z zigAVv#Ix|~J4Od{GC;5~oWFgtL(+Sx?6FOqVu{vOH_eVXb4qm|cY0v+Mg{7~q$*Ak zO$F(tn}ZUdahd<@De2TCRhzCfZUWH;_YYfE`*KilyrC!aeOL%4@xn~91fRjW!Z@19 zAR!`p#rzs+;JM_hWV70U|Ko}m2x^o)4={L}`f`wbNFprGo~W{o%J72Z&8pFNXhM@M zi}TtHsI9oij;9UY%w1okD_;R}T@qB#1DPbQ3e|9TZ=CEe0*t08kHqF2x`^hZAR3SY zc@|QAc^R!U*cEsh6W}UJPeWD?!ZX33PHo`qgmpR+EI!v?++e!!UhBdl=wf(Z@J7S; zx#!BadR_WR)nUJI)=>Ulp?s6EYR@0y-lH!x6SUOh>EVv;3xY07E%+3lu*xqLmGTDe zO4~yXl2<umF5@i+9s>`>T165 zzp3A_2Z`>t+=hpf?!Oc-e~ylUM1I9UT8pZcJl8X*^eyJ@X+2Fu^s&U$uqU!`?x-g+ z53}eArDBiv$e%t@5gA0~5*!JY~_ zHUP0omw+nskHxcj^&^pW*07L(MqTEOxoQiRCMf`u z`eIYhMAzw^#9P%)O?;8~Nw>IF8R#fLakpJljm+4_!=!;D6YrRc#3*!VI=IL9ZrP#F z7RPIjklyx>8CR9YYA2deL4>bjxXJ<0)$+$h&k|WBPDVS=PkhX01&@_Sg zTmCEqPW17gwy6K~ieO1dfD2r4-zG7FmZm((rMncC7~#Dt?6mRLJ?mgpWJDM#+GV?mmhE>Mg&Q zx0-ikOV_x;8a3)GXqvp(Df&;a0bULB`R8NM|0Rv!e~2Id7q6rZW&UAX=FoyFfYSQ_ z&#jw;O|Q&=01aiwBn5&mmG?*uuVgU&3jpZlZ1C8x!puI2j|;&9%wLB#%-!?YI%Hpq zkRA7^z~tyXD7$?1W{)QMS9c$PqvU7R$$9uV&) zH5$LxaIp=!c($)pu;qv+mnY8M%&(E7NHk zWPSH??WByEHklac*!s|*r+)%!cLE0j(_Hkaf}x&a9jUBn!6)_0DsTDTSbe{uj!IEP z*(ZeL4Ser$C)OT=2f|M4^$YgZNncJ!ys-1-R3*y(cA3;$4@9cVWyf2E(mR$#mGU&s2UqG9f_B}@XR>M4p>{}hQ`AvQ< zBM(6xt~vFI*F_yHU20;2jnF#sJMEk9?}EJ+MKnW4U~gI`S4BQ*l7_8|0EoGyjRL7B zaMC7=8*-l(2)LWXH=zdm9LU*M=JP# zf<=dqB>+4B8QwghYtOO<+|$5ygC#wBz4mmZd++v%a|$(n5N{}1t4g8N3E#KW-h7V# zxws{P%vH0D<2k4ry38OhzW%wYT0z{9*v!6Q>YmrB|A=$=bpjh$h!MMYu#lnkW9H*( z{3bjp3;vG+dTxO7L`R<_r(4<+o5I`T&)S8v{*XL?ty>J;%$3{K6fr15{cAS4@DD(^ zHf02g8%yTbeyvQsw4-Y5+oFI=JkqR0`rDdM(#nguGX^P3pGu$Wuq!?TwFf$tmwwnv z)J&mKoNe8b+4w?aZ+2{MBz6;@TN-0@Zpr}NrzVhhO^ME_<>4O^V0MJep*8g1&IU$5 zNP>1Kq9%8qk6BodQt91MOxNbyZap9pPF@gD&i!&)c}V<#AlW1i;7T$ni2zI+5=m8h zr$RuK$-M^>wGXII*H!KX@fM%5o)ExX*hAZo(2 zxViD53X~#KC!FgZwQoj+{yV#InPPAo=(dGRZ(1pz%bpt4f}34Bo+=2SQgasYop;8f zo7!x^;Pjc!=u9#!&hMG%$TcWvf@oko#@wu7Dnl4gi(BSL+Yu~{=4*bRl4J?a=e{6) zN;A}5kQ6^uKm|IGG7Lp>={grgZjGqNXH7WZ1763I++Vzoa9fJz$N`gyKy0UM`wAS4 z(%Cuspb=2jUBkcMQ`Pl4Ndcf1FK2iMiZD+w+g`oeMV&>Dh`Jzi#yR=-6_Q%IOAG#uPP9#3|8d-@sacuV(Nv{Wk4(`GQ_dH# zD+|KzwO;{!)cn!bl}=8yK4--z7Ht^~%o7-*kzL(ZEQ!1adAcumQ;3x5jL+U`fsWFy zeVYM7w3UO98fp?i4X4w&mpl{4p5r>L!gIZ4uDm4Z7kep^xsZ@{*-L}rN*zdVzqizW z0xSYbB*&eEg)x3O1HYH@7`pAo*kDqX{d)FdY$!^98z&{=jA z!AgJ)ApRYiois#C9wJu9wyC0X#(MO|TF;k0IC=Ga%E)xrqbC18j_l6kR-njqkakw~LiiLaTv}^gPvY!dLLj$MgUy4$ z(5`*0+}_a4N8bzN;c@E!Z?T1(P&3e-UGqbPDY_G6?2|bBMDt{SwOy@0Ke2!}4+HWH zuvxVgQr|C8N#wjC-E|kul~x|!438;fjeh@|91Yv;o%}~Vqb9ky!S40?+cGDuWatn7 zK>^4T$Byr@2|Yn;q-q1&VXzjLl@+pKDxAj#i&p{7R_yNyAmm&>tI%; zAJnXFGeZQJO{{Y+N0+=}n8DB3i(WCg5?9W==4lRQz{-0Bs6T)q6WS6J88C|UHI2hs6{(qnmWkSxuW=#eyp#S2 z__+FiIZymf}ubQ8Hc=ec;Zu}$}<&93;`Uwt*`-XK`$>8J(Rwtb(^gB%gV zKO&M($Oi{My%@~Q6q-5kzRg~LD2%qWV@0W?Nmi30w(iMyFUFc5*b!PMVQ!MC8`!@e z7j!ef^M2k``(xbJir5kL*f?pi|3m%X5yY<_arA&h?0LGU_hY%wyCqYOXQXt=xyZPi z)MDI8NOZq=IQNnlhW_Mnnrro2rE=DLJ74+hNy%D574*JDk2}x#^kUnXKs}lN=RMOp zSY`Aij+g1$5KjX5u7o3U-?H_ORNmqpt8 zooncd~n-Xm7o)63K*M z>eXrRALoT+dF4jdTV7#HB57sL!Wf)-jX*O0m+(fv4HGQ8N$(ZL4BEMOksVZoV)UAw z8+Mr31}B0h$?^23MV$3fNas|ZO$ivE-aA}CiEJD6@2?m-l_W2po_ghBl>^0?uXCBH zS6ds5_S`hUIP`4vhs)1KI$Hld3~8VT^|zIJAUb{XE88D;1pL35hBjCl&e<`bZQnzGw9!R^GB@z&z7AS#t#ukYy=1Qn{I>vdjYk8#} zuPm*sJ9K<%htOE}Q1I+bi=OJOz3eC<E;3&&NT}PHvCKIqHm~P3@Vn&4UL z!dfSEoZ!-`cJAxB>D#*z^q%Uc3{asgFQlheYcl;Ly>u&8qQe>(`_;H+pWL~Tz)OAi z`rXo?3!>g@K6OL`#!3^lda5-YjyiBncW4=W?72r}JuU=n97+~~HhTWw0-*3bjZ=lITResynw4g$?T^6A|6^{9Mif_z zF%KJw7>usyhGxC9e<9X8i42wXR-a3#uspPwl2`rMr8&3ke3o!^sWR_iy@xE6xn;i< zqBTHy7t}B@?*7@e*I~w!P74Jg&-R6e!&^8v4D(v}GldZ4=D}XpI_&q# zv>SF{Q<~ZZ^2SK5oVe?=N&mB?x49-7j;60&J~+T*Y?jodKNIpFJgVWwT3#8hhO9wV_h zWQ83Qf4%Y!qUIenEHhBQiW%&15pt^O!A5w@(`}lUcb&3 zm`-ZcFu)lBuXXe9m?}=pA}viCtE!(Xb*0zhDdG1l$9vVyJ09(PrkTU%?6fwZ-+LV! zQt7`*^!wyUehNy?ka_2|ae4jNa9oqsk;$``hg*T?VHlTeI2X*=_9IITw!q4crsKIXV9gW+-HZy+^x)Lfxj!+}-DpY)y?iflZjU^=1 zA>=0ClMSgK>ej~d$)RPf1U`ciOee9EQ{E>ybUPY&hHM3%sZ)9Z`A(^%2 z-BK38sYz}xl)m{f=9uDl#hYVgPkA6SR#bnk5=bR04MHxXBgdlD-t~ti9g{P;sLP$w zK+BudlOFQ6Z?D%QRaPsrlsdy{OR4=P@QPS#){H`gV#Fx~waV`0%$-Q(JMlrvvBw_< zPQ%^~<>{EP;SILjM+uDNY&ToqgkUy`JOH|zUmHzOMt)0t_2f&z3_|~OBGK0G2KIPW^?7ro!RMf{>X^L#4DViPB-u59ppZ!L2im^>1zDC_^zl{C8eUmu=x2!j?ikDp>8hZ%3U%rbkwk z*v8K6tcQ#8lfSYBD(9G^mJArMrm}i3L4+UK*_A}IXrxuyFYO;|mKe5w#A^KiG^QG- zxc?eOl`AdHwOEk>B(>YUU*#r(mW5D?tv@fwGbfEi`vU#B318#udpf)+ zmL|dNQj&`u=Wf7&=m>e8ROaSR;9BS9=4$&+H$DD)i8NlG(Oe%t*1VO36udxc{c%_nCtPT?SVnqZ%itJiD(Rg!n!I0fC_H?3?1z=J&Vg zRTLFp{Lf#5Dd%!MYF%iu()Q~Ji*&W^+*|ZhgPj!WKlj6HR6n@^CImu^Es9zzm0w8K z($w4?HA$|5RgoqnBmRD}4W*g2bxZ|c!z>m=ztZ&8t7mFz(Xv|LA5v0M?XiTiiVCv$ zWB+rK-+S8VnO#;U_gV6YBpw6O$YHbCMS`5F)1p^M8eE^OaRg82ZV*ACmMxiHfA7uL zsPD*eR#I-`{9;!ZEij`sOE9sCLdg+9i4cejVPJC_NO!lrEGDiItnwT$d+Okge|F*5 z=QVmR?<2=adCVf8X7;rd{4gKaq-*}hWUOALbnaL)OoqaM5T{yA*IQbw68*goDiwHm zc^U5C*RHSs9HjGgoJ^qPqC|&<#U%&?Q~d84I>;$6=N*E>nW+glY zu~#=YkGGn(B7vElkbdDlJT8{6(=9FcjEvU@wigsS zEkgL5oVkoTR7B3c*?||84GbcRYZORjb|SsY=TtRK?r`#x+BvU^Rh+!r*Nh9+5y@81 z8K_@KW>tiejdS@+F;fG>$Cm5=eFDYT*4Ea8ik6liDQUBrs|f3r_w>d7hTNw=AWH8Q^e*FC!CNHMW#Dg(k7{M&HcHUt8o>D zjMoE2B%Pr8tsK}8`)aI|aukOmrJmr>$t?8?=l!g6sco|GaQ7tiKV<_tp%{ z)Tk$NIF=z2dW#Z&{`^y?9r%u&b_&ek2Rz`?zT8rqdZ%3 zKi;&-dVJ^a32o%y%Kxe--O(+Qv$nPYGwu%Lip}SKPRA%LtfU}ZES@EwsA9D)9pi{i zz26Rpz3@9NlVOv{BHM|qI>_F(FNG~Vc~2YRQLr|UHJza3)k8sEMa_6uvzRJeC5OiQ z=(&b~KT{$5fWMyrQ}}I8ukam0)T`WRfqf*8rOUl0{*;KZeqn;h3Yn1bVY*z^lyJgN zM%A%Ug@Ys|Q`J~DkBE#?N2NEe)h9^i3Zm6EK7X@U&QsKX_x|;dS0nEl!X0M6*^&#` zJx2_mcJ%GH(S)w9jh2G(zp``0r=%yOtRcVDP)M*)AUZxi-)A-0T%CLp-eFF6B%?cQ zbbiGiHlM8fy;o1S(DA(FX>mx{scNQ2YrPQ@!m!o-pqp0ia?I_d++?9I^F;TZ6KEr( zLjvjwv==V^oqQmToM%;7{T>6!C+vnPoe>@jN%V52mf(TV=yU z#gC0=TcI+8`LX1Mra#DgN!A0$w629;Am9^I9O$x#Sr~nw25%Fd`vFI~|4nR8Tp5F+ zV(#E*Etjc^uUc)9Qu|`g2OfGR*A-kDZZbIbpSOnCh}}Km33#HN3CkcaeAk81LS>aB zSS>Xj!~1F?$jHrXA3s@Yv}_Rl2~k-&{9 z?C&r#jT5R@%is%Q{%6lAU5<`o-@0NLOxU08bp(p(WU~JB(dmkU_h5U3K#SF%Ux6XJZ#{lfJ)DV|d2npZ%;LX; z@EU)k9>*KwzrWO>`LlvRzlQhUnio8yc>Q;M51tACnW@l!2yub@ojbv^O~~H`26#4u zarvK*XvDnnXLbj_t1R??^XAp+py_12B+kEYaZt9Dtf>HvdXOl*MMfCkcglTvKb=x7hF=d7{bzSteF6OCAnQ_*xA&A0|W0c`8< zKg6Z2t}+?ei(#3cDR`w-`N+#bgR7%sGB5?yhx#Xpr5&@*@)hiI>7?tMxM7AX;u2WL z?eOvH;L=NH>5no>PN{|E`a*cd2bDZkO|BcQ%<~|GMtIW>n@!`yc%Gishihu7s3#SE z)uU9Ge$-ktgSB$Jm0;W7O>;b7Se1)dR+=br)V%4Slze(rnM>F19+b9}VcOTVMY^

CZ`%4&^I!^rRoy@QyyVJ~t`2(m8Yi?fIx?So04Fo@d zN4c_?!``EL(b>7VIh5AV14l@>SdtJIw+d1ckKSFcVyS?^atqc)&w-T+daIPWfay0h zIB00Gp4At}ZytRQ7Pb8DYnJLW?cC$n?Qx_rDOXrc98+t{0y&$R*x1yzhU|v!mrEN& z>?(-K4?Ql77fiMnU&0M^EaiFr8PS_lsTnR#z-OK7%hZdgnKM!KfIh^C=;rGEls_JA z&tx7pFQOaheVjn}lp`l+7v{z9skjjQnShX6hx^vO?6ZCe)e*bdz6fLU#fuU1Vj8J( zCWcj}xYBg~E#2_QKDZUq`GGT<@%{Vg$Kb>{&0dDCElt2# zjMFT{UAI?+S8r!gE=K)DQh}UifqHnxtr!dMHJ=Y$g1o%5T*t{13#7ou zLhKEWW;t?$$;TbH;#Q{9!VAyR6}UnXYt1`?u7?}PhP~3NDEa=cc-!DQb>=u134mWGGCavqi*cc)Z0UX=ctKc%Lsz0O~ND?w2ACWm}Zfr3B(rt}%c z@Z2-+kmi-zB;gZh&k|-?I;htNInO73Q{jVYzK>c}`zSKsjLtz3K??nAo05qlvw}M$ zknhfOEm*llMb9=G8lVG+`Sx2aKPCePV9Pgkstqk-p#6{HcB3q7k`q-n4LS)-HbUeF zU>CHe)raCxk4t>n$@|*xmKr?O)-IB#U|t@XzwzIgrtkwnqbCjR7LiK1&dO>wMBFUG z@#t**to+a^exPgYRd*02&7^SZ20O`A>2_s^j#Wh3?CqtvPq{NFn(9SzXym(0V&4}v z#$~W4q++u6G@e0;evMLd#-Dg}S(*5)y}xOIZ<~_yU^+SXI2=AQ=-g!7ypkR=>i1)H?l_h9`NREp7%_&715?iJ zY2l3={yCa4IDR~qarsSl&wSV>n|*WF&-g(s^K-i@RsSN6%k%AQR&W0-eFRVO-dnH3 zrp>#fjaA26%!u6&$TEvK=xN76NA+|1jb$m=VzUElJlUlEtm_{B4hB>f`W(r{J~p%4)+%kH3>LJ&7!%@5!XD!(v__7yz<3nl7HX7zTqWeb)%U0{vh8I($B>hg$koWg4F&^cJ|-1K#O>wlzN@|$uv(j?2fA?BU=Bwt z$Ep1Tp?{VXjW$b^(4$b{w0D%!Lk=4r$fHARLHkaQ%+$wX9w=yiXp3F36|qvPXO9g#UQvhEWjM$e#>UfIJFltNMV zYDJ6evT8PE5?FD0myq7~2@>*;`i63gy+fs(Bb~47e#~FK8HhuhGnVFiw=}vLD=%ec z-D|~pkA~p)nYU@k7Rl+In$9Gjj?NbGD4<9(xcWp$Z08`3>W&pdC)}s^EQMSzNj=d! zp<8b8}*dWgbci(Zg)xnyy+N;hh6bYlS`}vG@Mw^zPmQ z?@@ElGZ?lT3%TzjU%H{3wEnWX{IyKl70u!oYP=BrCx?fJtJ@3WI`!Jw`T2e=R_ZbP zh||J!x)3Ik&J2TARjAqNW@rSCSJ&{_9D2fL9y)jgmcPHD*uU@yDzyfli*9Y@WT; zdo~@buzUB++wVUzB#q0zly&$dBgV06vaB=pxU#+{Z=mwq{qE~rPJ*V;VUkW&=@+Ea zy#|O$NT@{kiOF))H{1R)?Zm3ihP6u&2WZh|I1VlnZxPv)aq4z{YFQ5N3He@rTq(Me zs}pXhm|3^c+p5zc^v*v-S=xu@UcLF>Wl-az$OVtWv}n$_qc(AWf%AR%mbU&lGw)Nc zaNi|SsH$muoT+&->JX=!f>~A1>HO#oom7LmbYOBCrOw>Q@Pt&-K%iJ$-pue#&r`?V z-U?{jk&H>aFTtJV2|)>2uM-$yZ!vNsUj?d7%vz=$oiXT|Q1~U2pB%o+h=VX2E4ZcH zNPP58%6u`+yFZ*!)QnM(9i=@XN*Ordnuuz%ceCB2`CwI-Us$^BE^G{GoQV~5G;1xL zPSjP-lIOWzCzQzwM=vmL8Ziz8cexh1f~D>{F&TzS^x@$OTW4XzSv80=d9A0`O0?DC z>HYnkY?i;SS{ntG!P{U?B#B2cKHu@)zSTV>?YVe=yv=%Xz|D4xRyFygR221an3Jt3 z7pk(G9GYij7N^D%H2mCK>`2DUGH1Aqd-V8tURBG5B+IBUow1r$c0));19WRX-wG8@ zja=40(%?&9HP3Qf9*?LV9^_YEyCYy+$2pua2NuU}{0qC>5M_4tzB&yvAP zhVvIeE=S|xLpFu@-}f^3@fzP6go4KQwMp*l^qLJ`en}qNj3Qg#BHXr`^%z(!V}1P| z1%3T*rLO;&bl51F(!(Z9Nr{k=?;z67ULhwpS1J6y*U3eZ!x?G`N%`+$XT=K5&3?~( zosO9-UHVs=dXZ4G%6-4?NOr@IvvM1F*Fwk`I?R%XlZPzQ@*S?K!@;W%=$? z()(-YzG50BgH+!$(sFKZlb)w4G9A>GquWXKNB27MPh|Ro$>3!sy-R{N`VADG_vOyc zFxU{+AOB1M8LxuN^62T)z78Ta2B%L68I7)adtVIR z?{UyiC%IQ_Y%-7;>$v>=pv9O-Lc+h=wN(54d+C+}FLQ=&<+D*?av^_QEGH;K~Xe7{!f#~V&e+{}M78gW1K*jHZf{ZPj> zcC*npiq#_K{%Rs;0r%7>hyBgGo7qmnyiRuQL}0JNlomx&axi$9SaJp}3v)F0JN1@x z=Jlfzi?SC((mxSs9?Z(ng;X2`W2lu&}wyL2f58*ocis?^YX5lH9|6b0!up@WnV zAQb74P|k{qKF@RB^N#oX&iVeGHHJ8VP4?bvuQIRensaVT%0>&vZbl_~jY4a8JY;mP z7x(!>WJ;#io~)$;Gd3l{q%EdD&k1jDF%Ob=Es#~g4drrm?LFDh_O&RSSME8j9UY#Y zZsfDBtLd$Q+RyGMUl++=VtAt0NU}mr?9V=wT(z*u6j&)`+6NXl2m~Gb*op#ozIAv+ z=ej82{pa8+w(HkhO+|%-Fs2pP{Le5s>e^XaLJSO0e~OiKba@#W9LBf6cuykdAn)J% zqzSNYKtNnWfpUR9mzv4cGvn27{~U)TrRC6PB5#_7WL((Q-ACah7b+~ek+}W5NGgsT z6z33>ukt~FEHs-oN;z_nYQ1gK*NQ1J$#<24{V2D)!%M|B{94=ilY}<@cNem`dc@|0 zRo7j`6VQ~%eOwJS?rl+ zx-Ex`jihSHxwIu|4;4MBW-Uma=9l1_jBuEDp0ro73ay>5)nIp|JTtyp&4-;=rDtYU zx0yH{QBdXwel7&Pc{j|aQJP<|uS6Qth?wuGsFY>jpK)(<8TD%sb+S5uV_?U(2wEQh z@Qpy=;pg9UZ3EfHenC#JMs|yVPuc38VE=KP%i6vRLu6^@vIWPbPFZrG40rCaEJ|DP z($;LE*IlwrVg+C&O6scv*O|D&uTE!LVOs@xkK1F@3yU>-`GgQ{8fsM+gfKQ#7T2sE z#iKPHm1z^M?G6gUhVw)BUFC6ZhlLipoNIOhoq2W^V7T7>grC${s*W@oVdS=9&bi>}MrDjU4eE2Soy~nq3(;{Nxdh!D21u z`-@_4JWeUf4WF6OiHsb%A-t(KA6{r#@7K3Br@(VTI^!5wehVB%L>bo5m;g)y1J>LmgaYNsxe>JXpQ%*GH6A zqXXKfvjgX~!+KTY(+!5a3k_hpn&MU|VF>ucmM3gnkHT5m4Ma0<1vjAPtssWu$eD%0 z6LOZ&?H=v5l@@e&u0p1m%OGYBn%y(1kIrzE+napJ*vL}!oyNA`NYb96o0d~GtVyua zm%wyaqM^?aYu5Yt}DwVXa0AVQh5-tA5^@N&XX zs0?a;oV3-PM$YF2#3pZr`0s2OCWeK%AsgX zLnc|I9jfW)81!Lf3D`fo+l?td+buls;Yhn3!9#! zMQ_o5`K;KLCKoQ`xuHKf=O$ws5~6PxwX|lwwuUC z@V}bg&8jQrH2;=QFzy0cQ0Y9Q`Ce>0%-v1Je6fYq$c#Ka$8Ps6RWQkvk;^OThRR}?Lk{?OiE^=oZ3GQ8ewVl7-3m@bFCG{ zk_`6z&gP@<8t#U9(Vztl6vEC4@o*`1NWZ&0ws9`uHiQe3sAd<#*eGq=tf>?ilY(3` zjWruSi0sMp2ZzI(R~p+eD(~!4M7-a6o}m<|@$6YSTXu2ry^AdmaX1{efPfqqSD^FS z%wr~T*Z%TKQbu97-?hw~nU+l?KBY(_>>Sdu{^S?K(M(=gJi%h)OmAMJmeu&0>^4b0 zzb%qmGAbLMS&;40$|y++6nuzb!Zfm&=E{e0&AR7%3PMrWq_F-2rdZn`g|4}1bs9Av zdBmQ8LZ5i);%8V-;?A3>&qtcarg*X;Z7z}Aw@YPo&8?YI51aG#1U$TT;qk~N2#wj? zDnIW{UXO?T*WZTN`@m%8X=3VWX9j$rd7M5llorksR)E%$8gw{w&xQ~$@l5_~pv~l* zLPUvuSqQ95DR3hptD+^E%iS?cu@-x-5AslVuw*~ps!H6voG>w&S#=$~M6rH8l-Q0|Qe~It8$+J4-EfYI2f?g~eXZu;B{GN+y=4mX^Ar zP^dXjVyuLFS~Sm`A${*-0+Ynz>EUmlrs}bV-gY5SC#g<d@NgO^Dvne*jqMXb-8l3c4#&>I!V;sHDrBbkoQ)rp=5q4$ z+ipAG@v|Mk*WPxW{}93~nHLf9FjmmAxX80Vw)Cm5*|qf9?M(bvbcL#n^1BbeX7o&) zTIwUq;c^Eno9gs95&Nv#y(p-j-U+}XqkFVCT#<^!YGL~Hd<;c|N4v`%CItb=ne6;) z`JeCFrH8ioeYQ(L@s&!cGfW20S^Y63PsNpRFZCd(KIGid*eLVYUw`G~Rc8~4dgR>k z4Mj}fn7S!W>FALoU&-6ph&{8~#-%$Q2N|dv5~o}T@XwzYfh&3lSZH-{?#o7b4MCU0 zEu>o{&B&#~A1#Otd-I*!v4!X_pwkyi_88H(EO3Yu2PxriQshe&62>x+E6VVUqN2p# zY34^aSy*5~A|gME&G3wh3OOmMT0oHc9sNBgy$ua58yp-AY6BlG)q}-yupmCZv86QU z`E~Z^Rjmqci^BrI=j%BsXdPb>T~q=49f*O0{xu&h(JwA2GPdd3iy5g_+^W{INrIlfSFfhlb03a-{V2(*V8fjg#~s*gZ!8D zhV1-wr8iFZdezrnNo}WVCdQaCo;mbf=J!bt(dn2U)>9CtUC)0|qM$o-mB!pfgN|tS zrj&k&IP=xBWUU3I0rB3BYEV9|otY(6Ju7kd1 zK-|>%^7%72$Fy6sR*v_ivYdtK%(tOz?lDuCTjq6#*@R{}dtNS(q%Rbx^o$@>8;pb0-FhX>gN@F5CEDf^CDtM(C=Az9Vu{C9b ziN#)-JV^R#mKpoyUbDBfj!?vY|?wOjg37?7?9d&RGs00gom4_hb3? z8Ct2UJpR4PKR$fi@U=`;>xuyj(>T&(wP7+qZpgxB0h18*2o*K;Rb=nPE=*La((Z(+ z?2HBKnY(o_Cx7;ccI71dh+TNBUb-3wcpK@V?-sx7E6L`B$dsbt`0c76w6JVw zNz-UpvQXeFlL0i=RQTy5t#<)|)SUI%ZA`rQ5;kcccTxy8p@Ca+eSa#8s2KN>LPlXF z%sJEesdbg6HlbSV-$vCplT=s6oOkZ1{CP4D$SIc0T(Z>j%z0^ojeU}N*$t2~YQpo6 zlPbUb;MDQDNKicc231hW-Jaq@LG;!4g1OVtZjW4!?y1)^S?^inU1V}>ovpy!TP3Fs z;`c6`e0~j}l>cEZtO5pNVdn+tnDVB%zsb@YEtW#TA)U~ zD@{p5vWM|3j@9<;Zx$XUZynDhey9Lv@A#))WL0sJkI{l%W3E%l>Re=sB`2nu$)>co=%c;U#8rA zd@1PCiCAVt(r{0vGik%t*e#lz)fg9aC??MTN-f}#&?3|zbZZnhn@@MlaJ4?Se zC^S>~B}L(4ARmo(&cHR*A}XyJUs!FL?|4Je!GU0V^9ug{ebdizbE#`|*AuyE&qAoT z-B)1o(MT~HQ)Mqy?0J3G+x5@!!_xnV7$9@FH#JNRZ6Xh!ixeCfUCe#^*%Z1P2y=`0 z$FNGiNsXfq1HUh1y{!N(8`YBc*ezVM2}84SJ-$7|2*WM@ohXu(+y3T95b0C#GezQRK|Q_Nq39z7miu)Rp94pW6YW^)(~^N zp&@f!D9jRhq2yj}Gza&G?dlN5R!wZzs?`Q{*cGuq0m^f4)}00U+#a;j8xIS^EKMKz zD(TUD)(Uqqr)OnS!#>LSqsj7y?=Q>6et4Rl5&SO4(RH@Iqr`c~CNYF%M+d=DsQLA? zYz!MDfn?a&G0i1?O@n2hT@Rvcf3Wm}+o8C-HFUJc0w$;K$~(C_{0_KhCgkTnPXAHc%G|)9YPiP$L3@pA8aHy`L2A+ zpzz`!cBx-to+(eX0=%}q%7tcJD9a*zD=tD%2B6lgK5fljRkrlWNTgSKBD7XrWw(dQ z!+pdfU-2Ylb=@B2iGJ7?rin;pHIGYAI!auo%0=GbQY)d&@9xm%XhyHchA?tRu+cDy zrmeVg&2{;7bs*$0^D$1yr`uE>!lIg2n)v$%K_oK^oSHTw2U{S9kB1M~TjhE;BN)xQ zLJTg(&<3r+A~&D>r0Q|lrWR4M_BS8_HjqdX8VZuEA?#N&paeOz1mvtyn10g|aI*`X z$JOULhARr&0#4PUc84-TW#hba zbpgpF?yl8XL62hhy0{9D8=lD5QG{AhNP*jRVr@gm@Y6PDHN(o>B?^~8yS_2=gfeSuA92Xto7Ta`LE_Sgo6aA$p1bys ziny8kEmXC-k1Q^|7@tY>LmxeQ5&r!niP!?$o5x!3@9_u4&1A|mZO=&B4os{OJN7&M z5%XQ|0wb-2&S;m&hc00ohrI2XNG#|+7O5u9+GT#2)k?&Alh!WYN2hEXvE-AKH(@5E zv*D6gh1(n~g_ngy3o~f_T2r1^T{C{6E3~aU$Q{^h)mr+kkxw?;zEE{QyeQz!8%)UI z66|eXKI=8lFQ0Wtqmpdt0HMI<-AdIOsiwqQp7k7#G3{CwG1o{JIed?Od%uDOPILi&s_e zySs?=1u-C0IwwTdqZXbeYz_!muO--AGJa{eUTUXbIVlNlEx((t{wS)^vvQ2o z>ti=UaW~t8upqmDf{8ouT6Lf{xhse~;BGL?TTaFbBD#-LT}Ta(bMpT_h4hxoRy2d}8P4w$is7 z7!?|?f3mek^>Rh@$HrvFCWV9*Ne*mf+F)+C-E7w}(rQaiD1LMe@ZUurxU%G6-X z(4qDi#utU~D6`YJVq#0aI~i|ExryTq|jU$!e6SrLrME}+5fOBMWvZX*9g9+N3!OJY@irb zUxYXacaVkzlyQY_ltDXbSY&q~Gg&)z-p!`bq-yi(`MkzCFCRj1qrtrv!}X^sn{37} z2%@90wJK3b4|rWFwek@%B9%K*Gq`8M={!PTQ))sG(t4=rF$44xvGCD=PjO9d3(8a| zVzW+_jO_Yg<}R@VLp_AvY?h$k^{chUjH5Tjed+XWt$OSqtz@0L5wQseD?vli$Us!O zMB{a1!YzMs?{`bkW61K`BMYjg)^Zh77bHxs-%vOz3hX&YuN4(O4w-9q8W3B3Py~>t&4`Vzex5B;f)h6 z*_YVnhdm*(aE>Zr2U6i9efeVVS+11iZ3ctaG}0lh8{jpgJ@EG!2_27-%;c#xIIk@x zHZ6pk0>}Q!h2zwwa~YP0V;J=SwY)a~q$rWrgr%121I(eB8Hxp~C@(_#=r5o{jfyJP)ORW3jr1rAy>lZx1eZI4lu1e1#4b9}~jftajvHol~}) z@U*N$blgA*v{kH?$JuOdVAm)wOgfJpc^FH%9XtDKbkVYYHK&N)czz=8jN5_mp6sR3yBX-Q3^GLN8(@ZyegZ{+lg0 zOofGIF!(s2>$mcB{7*6I+xkd-2sXx!kX2Aptvje_%3!_ZVcc0JQ{jbpGZ#}6m&7*% z2|9tPBN)=d|OPx~cqG<}q!7*#!*;kpoFx+pu^xP%%$4YF=a=-kFn?zYv;LWZfdCk!wmYeGe{F`+*?*En+ zur^f+vb!!*?FEZoY|379l9B5Gs~$07aytlX-kdQ+9Mv@OhMDa(Z&ZK2e6&f(2qkr^ z*jRW)!*sx|WM~ zi)SsWTwmOVaAxXR5c{J*ZJFDWOHTP47oA(Bt{WO=%qy34R!TK4<_}Te2PSgUnL@r> zlSBF0a-xF}VepO=OC#PcP5_PreS7Vh3eXX;4cVw$SFMXTOHB^opdRAto(4JR*Su6V z(;DH$Ls99~v3zD(mC03}N!Q3?ImodO3!$rSz6&wsA#iY&Obw*sAif1T^8!V_XXw!6(@dgo#$J3q&_9{zoWZf>{=O7#3WZKcCBtVC6};iIM%bc zNInYt+FX41?1^uQZ_cMu;`WdKQBn>|#+|WHinrG7ela_DDf*IpNVrw=a6-%M<72yw z6mC6Ft20OXuMGvkU&4m1|D2y>Yf)%$O> zn{=j#7iXXUF3#8Qf}AW6kJ?7S|3pxSZXbl$E<=%eb z+-PNc-jKjzz0sTp8UB^8?oE0d*LVjwm08aeT;9wZb0?0@`}cJ4sh|^or+^PF4wY)j z2^0m8^^gsqQTmFJ)#?*_RS~w8@-g*4- z`=8!m1s@yYSdpMGJt+TrkVF!!YJqZKi|lAk6B88H&kW9s*Dv>%kyBqZw6vB=@#M55 z-)4(c1JRMsGcNg+-_3G(?A_ruDcy?1Ng;=JcuoFLLV^4m{ZJ*z3qYJj%LN_$@RAsz zdtKsE-_j@uG=a$soElL@kgAA>k>>B=9VhLo&9zI!Nm{Pe{vDZp-T3y#)eQAl@s%EW zWsRinm|aPmp&3D{o@Wd6Qf~O7nuYLNB%RFlsu~|*CRGP5KLwx7#>v*wLimv?{p}kyFOFTca;N^1(+rWOs3~${s}1=C)-_J(dgoCgm4BYbfL6 zc{GBrUg&`!{v^1bpS^aUQd@?T#AMwx{QkWTd%9aIr5-s;?B+SP6p^pF+mPS+sQD{2 zX|mL|;qyEh_6p4eD)ecXqBQ^}9wlSimD(dMBTbzjkBWvEzZozEDM+Dz`eXN=r(S>B zc7;G{AZMFxQ(Z7FL#Rh+Hze9qR(`iH8A!RCzj|l@Ev*>QpylFbwcV!h+_M)ZhTjAo ze}VbDKuI5|yYg^PvK|+{C}bvSx<5?LpAK60k`0 z(2Q@{xaN2*#})J`s^*N67dm4bT*IW6Gt9Zx?8j z@=PX07rokU!|dC~Zea)7upOU^b64FL*Q*NsC!4;?M_1Ijw)MBCn?_gN%5H-iqZ_I` z#ugV}C{eCqCssn7kS$kNtvtV3#w`%GY)&B-L8`!|cGNYJXWce)DF(!c!Fu9gQ{CUAjLOHNCQ;wbSc+Bec;uUw4ZJ)&5TF#k?D2DA6E;#RbCV-Fs;-H4C1U zNyU+FJc2$W1B^EMeA1$c~8&4(?#gOx5Nvv<7 zKj3*tM;dsIHEW*Z?r|rb#u3!-En0)<;HKJ1>N7zx>Cuyh4OP2 zt{IVT_qp8ZPbimJ)W5a6lQ;`{erU2u)iK_rsc4;y=!3_r3T2f0o@p-);UvK(5>+)i z<}vB8z&W!(UkpWGR})(!g-pVYGmEWTuQJd=<$1ZOM97jDkD-BaaDyJdg3;H zh!%&c7OC84C;;E#)VWKvzxRY26E?lwZpG{}mrUyO)T3{Hc<5nW=%55(3 zAYP&RB5h_B&6>_7`PABk94SWIP$F7|LdQ)nYK8GHWxue=>w^Twa~rFx15kB7(Y6mQ zIz~|^9gqE;*nfEVwd~P~h>(Q|52up}3niBf4$FpiwZOT!EF5xLbJPsY#$JvETVe;& zHdf~iFD;*${*rytG4}50KInl>6uy3U>J5bJ^_%fjLN@%pc2++MFs4g)m3 z>q+fo^46NmEBYJ`VA*w_p_-HO5UY62a0F)d(&yd1MW<+6*HUwDf1N*-9$6FqkxS=u z-KZa01hZN+cYZ9>V9z{Pl+f(!YEJe55Uz^QaN#wV5X3G?rZ31e??P@YI6 zcV>5bO=PW0&z%j+%Y;Gm)3LNBIto(alt_wgulC67M_{%OG1G54ndRLNZf+mgpVb$` zZqRp@E*X!EMr#TAdzD~ZP-gLIiNLW zW&8SdPC~C$U8@H^peOUS*id{AbK9vX_45az_fKc%b=^ovAQdm}XkRd^8p$X4<5s(I2Ko5&WhcnnB|F9Sn>m%~08&M?uJMM{*zh%dA4_?`qO z(;SDyD+xG>xMKUtN`7{NQ(o1{C*sXd^$>4{7KBRj9~jtIn1>A1>-zOqG?L5@okF~- ze_nXWT9p8WR^Lb0lIGJtCEV++jl#Kps3}Z+?ObMqOHM$fR&yC--}M{V8|i;xz9l=og5)GW6Z58dF`AiZ# z&cQL_L)%Ejs94YXSi*+8dyH$jWMB!tBeTr&n-6o?B%?HN>4>(@Xms(c<~MMOa40=$ zZZBbX`gLGnUf;4e{!%y-zKK{Yb*tZSqZDixMG)&S*XDE4i!)2xdzU!-I+FXn^FT5n zPdH;Bw7#-nJ$7~*EJQgDn$u90rl zh2u_3NZZL}x`OqB!WcvFV_S|Ymmvz`B4L@CPPckzN6{@P_>hEx*N$^Et`Fuj0vLdR zZs4j51o7&Yv!>C)Kcn69Yur`=Ik~w(ZM)|f8B?tL&sY9)Y9H8d54eGYYSFy3*sOxZQ?p~{=6?8a9KPD7UFo`zEztnDr9+iu0DjxyF1|6S7>h^GtCHE}`I=VC-?SRNQPj#4gg*GMi-hENg z#JE3A7wN0oEpnmC^r$}+7wg}>dzaW1n%I*X znqj%KbwXK>{?M3e8fZf&h^}sObF=(NwQhlc@s5zg1Y6sC0gX%*grHrqeKjlU#_mJO3rv?0mFfn3 zyxI`cbUQ9t?vAc>`N@+8t0Me8PCU^(8RO;GLtJ)*7K#v7xbsC;#POHhY;wVs9@AMN z3FS#S!g$_8ZZiM1&f4nFtofm{ekJnIWNk*k$|6hT$8E`~s{R993>MxqivR5fpDrvb zD+9OGBQoZd?z3ZzP)^*rJ32ZFtsx%e)i0NITSVrTmMWh(acdpC`ljSC1qDP$C#kTO z=)Xto>kzaXzOD5BM%@599B*y+Pp^kV+1~1;3d(Jtd0_-C<0&D}c^C z%=&R;SHOG5>^tXiTEDvdRKif1y~2w6ojM(3z+x&_(eVlK9Plon9yUO1ivzMwTcV_P zn5K@-WjT4-_hf1z(g`oq+|i+-rk1?2;s~@#x*tDY;l5tYCU-L~(|WG=HV&7d2H)ic zZ(5bRgJga$dN(7(S`5DER~Z*XUwyE;PdR*Jv#IwoM3VIN8HQ23@TA<8K*KJ6ZQiae zz3ml)w*@THF&Pi3IjlX5D)=sFiElKy-3#zu3&*c*-OrYf*?itm*2_836uripX?wI? zKLf&pz#0QtJ<#fxu+F)BR4@2g@!;Eu_uD_MUjXH4qjhX!L-^>iW3w9zQFnQ00d;-x zOt>WyP!cems)gcii*!{aTtUZxPiAb6rlj=eJ>n|Xw%YCPTpbBPp+7Z7ykRd zsw>+b_}@tA=;_7H5ePK&^zEmNKnJk?^_MaDrhrKFK%rbjAgHB9k1ZZKz^$u77(cwG25*h z*le$$ULy}`)%!MYtP;islNLUWt&Q)cHg`1jHo|D-!x~iL+2mqx*uS`1tp{1dkOo~k z#mxFP>>+bV?}K9ZXelCwxWzw^<4FIj&|T;B%MyfaWb&!Lkq407yx?#^#583*3HsnH zKR-WMk-0C|5m!B0-xq$>5WqFseIEASnH+Y$p=*sL4Ua1S!6>)o;hh#N%u_c2J)#!kS-N=7CGLv!Vh0W zZ(6p{eu*XZtb1@4tLp9->1~JL#TiP4_|!Tw_%$Nrtnz`^LHu>5rm76T7t+-9%xwQd z+p_y2F2=oCYGkJtFE20L?j~Q#XzIvFnbh!6+i}pG$ z+7qH`q$Ei}L4h)B>wrL^DJ{`dfJB*>mDLn0WL>(kK>D<7^G(3GVJ1@B5ChvM#>mSD zoYrGblC$*Kt`J?}Z|{vlqbzZLGy(bI=^fIN-If<^^_*VC>Q$Y18a!?zVrx)9IJXz& z0&V10r>?4br8j>hdWaD;eZ21$LuFYPHVI3i8$%` zD=R3J@EH_aEDj%y72;7#P96sgPRuogP4rZ{FO>$$dG;ol#xsHZdpVyz9R^%UPARFo z)Y8=t%Iq++&5`FO%}5RLIqU*^1-35hInit^uo%re9@DS}B}{|>+42A`q?ap6T_g{I z$f+ZrWZo9?@8}f7o9_{c^7$z4wzl2^=^g$B6jJ`ms*qc85AdluXv~1L`NPX38Qb|( zK|nymM7V=2J%)g!Dxt4%ZURVo9j?lNjox{~CJ~r_2-)c;b@#w}k(LfC>+4-j;ny^^ zTd>pgPRQzUohX-2!2aCQ#6{+sDHvGF$)CS_19 zZu;d<%q4RgGsd(Q)8*y56W&_JvM{85J276_BdpZ*;$oy$DUZqEtJrgNDR0IXtP;-U z7Dd}}e|sSsD_9AQ4oT4VO%n*mb6JMT2_5x!`B*7xsfe6rd)TCD+f@`O0_kGR6TNj+ zXmsa!1F5vxe&s5!k4=DAoQ!2JC!usu!?0Hcey>+7n!Nm-ct}twivl3xLum6%Sx6C(Uvbn@1XkTr!bL3s&le#kx#a z*+T|9x%VxzJvay12p37o&k(Lm$gG^UN^0u1HHR=I_8D85hfXYp37t*sS<6VsFvTe|=h zYciqF?~ocY)pvP)laLL|??qOo61P(4l{;9ERerkli=696nMmIG{JJG$wh8l}d{@a> zGggS-swu2-y-kF2z3JMJ5S)0bX04lF$b08Og2eVK2h`aXz(?t+PRABoANgZ4a)@zp zyA@WIt&y2sRHW8d2n%OBdL#%F!KLB6we$k5SzSp(F0E;W)$A^CUq!98=I}F(QaPcp-em(8Yo?W4i z3eeoC7EI?=!ptvo2u0wytQ#Bu^?LMA#l@fx`Gq)4FXa~2<`fw>Rw7++*nB;}KiE-; z7B>53Q?bTE?hYV;69)eeOGfio(T-M%|M3*sWFF_gaTqr>MHg2&wRrpBK^z+Pe2uO< z?hJ(d@Z~SGK*|R5TK2UYt+xE*zfpGstdxJu7|d+CfitAb@&p;$H;;|MyuH0ET?kQp z`sGPAo|`%4<^AOWY}x7Q5EmB=nW9W?vS5HtK<~+5=>c5H$ylXg=Mb+(R?3fX)>-oaO!uiOK9oavT2pmxJfe zC-F;eID&MZb>!6z%gD*$1^_VS)4jm<1o2z|6fGt`%gK8f6#$bB=j|2t$(%#OVD&Py znJbHm(gIGPWI{Z-eeIZ_gXCX0pMyeUDMws=bJnP-AY3oK{2fd~h1YP)@@@Im*F z)oEYpp`Cq$tL@2{71q&p;-a~!=qP;%P zItg)_ujclc4FpbO`Rv+AKE@N^Nw^KVZ3ESXt4y-FpeqN58}{#@YZ@@;HC1izauGWlw9v;@)yd z?=XJl)n4I``BGZbC8N@s{ z@}}DjjOOQ}`_nrJ$tO63qD^Ke_jf&a$HPYkt9(K?y!T%0eXtGXqtmAQ$03}C#wx6- zrT;ILa{xlOMDx$ibk*|}PBw;G0bd+&Zq`8D%fX=`7ks;9Zt0(OhuTHu)7aOqvOhI- zbFDENv9}#kIFw>-=I7#`ABEnoXTwZcY$j^t02bAald8Qb`1O@svhWT@z?su>ewuAP zsw{_TMgj2~gJF-~>B3nIOrp?NjiX5`(Y-!gBY*N@b=qn0s}5QLivIKNo}{dzF4Qp) zoR(#%Ag(kiXcro)>FB%;2;ke)nfv3(H52N2ZV$MGDF+9iZkRTNKy(qWhlVBU%%6N# z)Oww^Qq34y#vm@fil|XnX~1%ekg@{i;5e4`f3&0|y1JwvPcv?7Cw6aA-imbT2O9Y< z`MoarwwrQ&DrVd~g^FZ>Uw+=J7~-hoX5xB)XCwViL(9;R9xY$IHpoW2eDw;`-=BrW z8tza07}Gz#%!GqWidD=|zQr~oU>1aC%g(km8n>5Keb1IX9_9HL(%v9MY9uCmvSMIx zwJ$X%a!T4g=bp_j?Z&>p>p}-Mro_FuV<5H0{d5?xWD1V9Qdo_ES)KOOYvFAMVTpoB zoIxpd$0QDyKHD>iBM@>|@g3PUHEp+n5a3s%)7)eO1Ef>c`p^*V-kx#V-S^wpurW6z zO3=yPD)4#^ieFPJN4~(kU4-*4Rdhl3Tr`$|b3tQQ<@Un7Odai4g_W#IO+VFc&TD)$ z`o6LfHXw1IENrT9GAC2lf3>ID!{P6jr`sHr5{EbO8;@jEAi4v=e?_<2mOCh&4of*_ z#?#q9pq-oztugZrGfqo6KSm(bun<=DWi*E=Pg_~MOOM3SWbOgEWb9sG*Gfl)-EZ+-_sM8SdzeOY3`6Vo}a7A6%|wC;95DG z@8z7cL;3XLy@~S|CU|M!XgwLnRp)G^`d^boTCQmAUip>2HTM&aQn&WroCt{Qg}Szh z5$Ni>6T}x*Ha5U^>>}pGQP#u41>7UDYDR+n75^}gcW*rJFWCn&D3hBpQ%fvh%4t1$ z5(efJAdub?6lIf-S2A!oVD=pZYxtdk0EmoWyBT5SA?Y80kLPL>iMZ0RvY!JG~J_Zw*nbDEIS&jT&j^; zw%+dogyLv~3Y1W$?#;w43Z~gz=W%9kUS2f^hj&)i*5Wl_#{id<8yjmi2^1N>T3yoj zmDO7#0>Wodu)UT2&gDrNb~%u6!VC^(#EG;3N74ddFPU9Xpfx`J4!~p$uN}o;CWa(? z^e&XVN5&og=J((2krKloS$QfLOv;SReZ}$dv*1#+<>cOhpji;$$Y2&}!_iTu@ORc$ zIS`OkT0-wXLZO8ChJeQFm-GT`Rb+k5sdVreL=q+E?b{E)awOo&b@i%xnf;iSfkDFH z;Hi%Gqn-Q*1+{t#azTMkesd}Yefspe!7+50CJ2>)G1$wW+ux6ypLqp7@n15q$7p|- zA;9ndcYV(Odtg%6($V4E*nhmPce0Zl()@V^y3j5W}hpT_Lu2$9_E{`ut|_rvQTY5vc( z|1XV(XI~m(mw-u1(zW#T=-^+R!Ke2R{7}fy&Nmu?0Nwt42p}wuU(C9hYvcicBjW$Z z>OY?b`1+r75U>zWpE>gmfj}HQGV-CF)Zpg^j97U(SG(g7Y&hM{h zD)dhEG8WI!?5-3EBn(zX0gGAhw6`zMb2DWOIPKgjoSpqZB?dQrzj*mkki+Cl;Id)+ zD}sE^@YA1cbaa!b>@%h#i4Rb*%m2EN`DKG7%&xX1ZGt!7kNE&wztiJ!OFLrcA(fnFT$sD zvBjMiwijevtp`k2ZdTl_Xjo}aXuf;R0_R7Ix^4=rY|NUfJc6PM5(+bn@sQ-FUos!$ zjt|oD8jz})<#a(2U^z$B)sQARo4C!RAZW;;Bo9rCxHM`I5mp)*T(GDk{Si<0X>svT z8QQS1etq5JAzB~x00agR6Le#0-2>@9eq}kaDHpKMngtqM;C;3f_um|F>2_tvCA}LF zeu6u;z?T`6D?mQ}J}4{2irBv>Fsw=O^Ye&ym~2#uC@c)U9z_M#W>wu7mukIADj$Qv z^JK04Y|G|aCfwg;UgsT$^e!?ZqyWnov;wPS1`GTb*gG1d{gGSY(Qv;?Y8|wiLHGITIkzp-L(Ki9o6Jk-u--d z;~7GKk=2(x55r}Qze{pA{d}#FRA%Tt;XK?4=*flJ`%0)l+|@?EM^ECFqMjWP4Hk1< z&Twdae)q>d03LFu4|!`a;yi6RfCmdZ*jc(Tx!P=UBKA?%D^qlnH^2t`ak+Y|yIVan z3ff2=JA3Pbo|ER7ILCSIxvyiP%|eC+m}T@3;;eo)tIWytx2nG7L9=gqh>>{brr*$^Y0v^3Q(aTJg>oShzmEum*q6crGxGBYDRu~t11SQY6$P}^C7o_ksv zkkP7I4L|;S2tGe+E?W;vU8*HPySfCR$eAlj31UjX7-+rozQP4yw3sSGeaW9X_U(ro z**V3micF4?IXPiD+}y!TVOMF+YUVoL51t0DuzLN&EZhQE;-kF=>;BxIi&jm!3$roH3rm(Q7x8^0v2F1Tb zIt`3@|6(FdacACaI|1FE(xfrCjejr1Sak!%nwPluPuQ#YzUVN7>)fAdd1C@pZMXKY z{kJc)Bcut>3JTfC(~q8k0nFxW2h_zHV79c~U`De!_-5{knRbp%_~b|Mm<1ie#158(W{&ob46K zg(AuD@`;JZmK^>D2CA0>$lKOm2EZL6tEu!P3zw2$gQG4eU64 zY|#gR^jz=;mfs)pW23k7W(74pzXk&?(s1N130>~?u`s{YF(1eH@xajljM31i9cFu@ z1}C5ukA0scK&^h5MA!<&{8b)I&Y+OnZsX4kfnqNTt!53c6WK?!jG6^7Z~~|G6z6pilB||I-4PY>o^Z<0$n=t5lf8 zn+9(8C~y#6o~2Y;-0tjIV2!-_0&qVdz{B@9WcxQK=ltg-b-iw zrYf)#%s`t~S!wkr8TfAwS>5J)rJ0H%!WA?5Xiq#6-*WG$-$VKXk^|@=;OEvIgSMTe zW{A@d7HGoTHwNV=1i!(?ryYu928C@s4cVRh@+fVmGa}vLQ4|uf}3OYZLmv#9?iL2@6`ECiD9x74GEa4}7=fdHk)$0}HLP z(GGq^s1clG;R8ZuVXJodsuUkMG``0Ij+o6wj?dn}Z1MNRLKN~y7c9pphc@VQY0%i( zj*=+@Bg8`7Z?IxJZwuaYg4*CBc(#5ot<8i>KmY3>S$}6=fczSbQ|VU{wh0hjYa7Qd zJ)g~UYn?CekQXtFH$n=YV2R}=yU+ZXQTH6BI-_{ODjK!9=AisOs^)#p-*U9ITX!1o zYgyo&Nu_C%L;HF4QP3|9*PN@BEM88$I_Z)YXHHdBo5}D}9jS`Y+q5L9VU&xOUP0!= zZ#jP~MaM)_MD8G6e5$$^`pGvY$JK)^!!31xI@+$H@P|A9?G4!f*QGqV`lnLLytOq@ zHucs&St=jy5y3*`0Iiw%N8^w<-0z8Xh*hYDg`Uf8y@z*C1W-q&$uo(nXY~Wa)~(i) zzEfTWtdXSx8tSMUy_L$cUM~;xBl?auYUx*0XNt#fX5ZA4;ZwNsxKt!u6YPzRo(8v_ zHBooZ20UG>oU^m>+979chl)BP2L{7?#@_ycW_7zyEb7NpLcb2FTiHahx$DW3r;M=^ z^+|EF5<7>}-of`ieM-xbzkfq7V_ostSGHNIg6~r* zK_2>EI5+sPX$l%S#PXFPHplmhFSmLCvmwX z`srUIm}iw&sC`W1{+cJ*vsm_`chD=lWue5|lVvP?iP~za0a|=>$M4?1D4A;_^B#;b z>+{azOI0ZRk_^qt6!#Z#?5yZrX#x)qBt1KzjIs$NwcPsEVU-Tjf*}C(mXE(s5<8b|jFa|3pr-{$b$=F(9~A_< zJ_e9CoH82W1F5})_&jkLQt4v_E?}{cB%uBB6u6kGW zlBEhlUh4lEzw+hqOyC&qT&b+mn%}>HhbJ9S0N>sL)CbFss=%IQE$l)RSd$REodjk$ e{U>D({Fj&2Jiqnlp2oExM|isWxvX