From cffeeb26ec48c6c8ea1131afc6e585a58b681b1e Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sat, 31 Jan 2026 23:44:16 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/main.ts | 12 ++ electron/preload.ts | 5 +- electron/services/analyticsService.ts | 95 +++++++++++- electron/services/config.ts | 2 + src/pages/AnalyticsPage.scss | 201 +++++++++++++++++++++++++- src/pages/AnalyticsPage.tsx | 201 +++++++++++++++++++++++++- src/types/electron.d.ts | 19 +++ 7 files changed, 522 insertions(+), 13 deletions(-) diff --git a/electron/main.ts b/electron/main.ts index f152dc3..a9f9419 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -845,6 +845,18 @@ function registerIpcHandlers() { return analyticsService.getTimeDistribution() }) + ipcMain.handle('analytics:getExcludedUsernames', async () => { + return analyticsService.getExcludedUsernames() + }) + + ipcMain.handle('analytics:setExcludedUsernames', async (_, usernames: string[]) => { + return analyticsService.setExcludedUsernames(usernames) + }) + + ipcMain.handle('analytics:getExcludeCandidates', async () => { + return analyticsService.getExcludeCandidates() + }) + // 缓存管理 ipcMain.handle('cache:clearAnalytics', async () => { return analyticsService.clearCache() diff --git a/electron/preload.ts b/electron/preload.ts index 7d6d5c3..7682a54 100644 --- a/electron/preload.ts +++ b/electron/preload.ts @@ -162,9 +162,12 @@ contextBridge.exposeInMainWorld('electronAPI', { // 数据分析 analytics: { - getOverallStatistics: () => ipcRenderer.invoke('analytics:getOverallStatistics'), + getOverallStatistics: (force?: boolean) => ipcRenderer.invoke('analytics:getOverallStatistics', force), getContactRankings: (limit?: number) => ipcRenderer.invoke('analytics:getContactRankings', limit), getTimeDistribution: () => ipcRenderer.invoke('analytics:getTimeDistribution'), + getExcludedUsernames: () => ipcRenderer.invoke('analytics:getExcludedUsernames'), + setExcludedUsernames: (usernames: string[]) => ipcRenderer.invoke('analytics:setExcludedUsernames', usernames), + getExcludeCandidates: () => ipcRenderer.invoke('analytics:getExcludeCandidates'), onProgress: (callback: (payload: { status: string; progress: number }) => void) => { ipcRenderer.on('analytics:progress', (_, payload) => callback(payload)) return () => ipcRenderer.removeAllListeners('analytics:progress') diff --git a/electron/services/analyticsService.ts b/electron/services/analyticsService.ts index d52508a..1153cfb 100644 --- a/electron/services/analyticsService.ts +++ b/electron/services/analyticsService.ts @@ -3,6 +3,7 @@ import { wcdbService } from './wcdbService' import { join } from 'path' import { readFile, writeFile, rm } from 'fs/promises' import { app } from 'electron' +import { createHash } from 'crypto' export interface ChatStatistics { totalMessages: number @@ -46,6 +47,26 @@ class AnalyticsService { this.configService = new ConfigService() } + private normalizeUsername(username: string): string { + return username.trim().toLowerCase() + } + + private normalizeExcludedUsernames(value: unknown): string[] { + if (!Array.isArray(value)) return [] + const normalized = value + .map((item) => typeof item === 'string' ? item.trim().toLowerCase() : '') + .filter((item) => item.length > 0) + return Array.from(new Set(normalized)) + } + + private getExcludedUsernamesList(): string[] { + return this.normalizeExcludedUsernames(this.configService.get('analyticsExcludedUsernames')) + } + + private getExcludedUsernamesSet(): Set { + return new Set(this.getExcludedUsernamesList()) + } + private cleanAccountDirName(name: string): string { const trimmed = name.trim() if (!trimmed) return trimmed @@ -97,13 +118,15 @@ class AnalyticsService { } private async getPrivateSessions( - cleanedWxid: string + cleanedWxid: string, + excludedUsernames?: Set ): Promise<{ usernames: string[]; numericIds: string[] }> { const sessionResult = await wcdbService.getSessions() if (!sessionResult.success || !sessionResult.sessions) { return { usernames: [], numericIds: [] } } const rows = sessionResult.sessions as Record[] + const excluded = excludedUsernames ?? this.getExcludedUsernamesSet() const sample = rows[0] void sample @@ -124,7 +147,11 @@ class AnalyticsService { return { username, idValue } }) const usernames = sessions.map((s) => s.username) - const privateSessions = sessions.filter((s) => this.isPrivateSession(s.username, cleanedWxid)) + const privateSessions = sessions.filter((s) => { + if (!this.isPrivateSession(s.username, cleanedWxid)) return false + if (excluded.size === 0) return true + return !excluded.has(this.normalizeUsername(s.username)) + }) const privateUsernames = privateSessions.map((s) => s.username) const numericIds = privateSessions .map((s) => s.idValue) @@ -177,8 +204,12 @@ class AnalyticsService { } private buildAggregateCacheKey(sessionIds: string[], beginTimestamp: number, endTimestamp: number): string { - const sample = sessionIds.slice(0, 5).join(',') - return `${beginTimestamp}-${endTimestamp}-${sessionIds.length}-${sample}` + if (sessionIds.length === 0) { + return `${beginTimestamp}-${endTimestamp}-0-empty` + } + const normalized = Array.from(new Set(sessionIds.map((id) => String(id)))).sort() + const hash = createHash('sha1').update(normalized.join('|')).digest('hex').slice(0, 12) + return `${beginTimestamp}-${endTimestamp}-${normalized.length}-${hash}` } private async computeAggregateByCursor(sessionIds: string[], beginTimestamp = 0, endTimestamp = 0): Promise { @@ -369,6 +400,62 @@ class AnalyticsService { void results } + async getExcludedUsernames(): Promise<{ success: boolean; data?: string[]; error?: string }> { + try { + return { success: true, data: this.getExcludedUsernamesList() } + } catch (e) { + return { success: false, error: String(e) } + } + } + + async setExcludedUsernames(usernames: string[]): Promise<{ success: boolean; data?: string[]; error?: string }> { + try { + const normalized = this.normalizeExcludedUsernames(usernames) + this.configService.set('analyticsExcludedUsernames', normalized) + await this.clearCache() + return { success: true, data: normalized } + } catch (e) { + return { success: false, error: String(e) } + } + } + + async getExcludeCandidates(): Promise<{ success: boolean; data?: Array<{ username: string; displayName: string; avatarUrl?: string }>; error?: string }> { + try { + const conn = await this.ensureConnected() + if (!conn.success || !conn.cleanedWxid) return { success: false, error: conn.error } + + const excluded = this.getExcludedUsernamesSet() + const sessionInfo = await this.getPrivateSessions(conn.cleanedWxid, new Set()) + + const usernames = new Set(sessionInfo.usernames) + for (const name of excluded) usernames.add(name) + + if (usernames.size === 0) { + return { success: true, data: [] } + } + + const usernameList = Array.from(usernames) + const [displayNames, avatarUrls] = await Promise.all([ + wcdbService.getDisplayNames(usernameList), + wcdbService.getAvatarUrls(usernameList) + ]) + + const entries = usernameList.map((username) => { + const displayName = displayNames.success && displayNames.map + ? (displayNames.map[username] || username) + : username + const avatarUrl = avatarUrls.success && avatarUrls.map + ? avatarUrls.map[username] + : undefined + return { username, displayName, avatarUrl } + }) + + return { success: true, data: entries } + } catch (e) { + return { success: false, error: String(e) } + } + } + async getOverallStatistics(force = false): Promise<{ success: boolean; data?: ChatStatistics; error?: string }> { try { const conn = await this.ensureConnected() diff --git a/electron/services/config.ts b/electron/services/config.ts index 2be308d..621ca08 100644 --- a/electron/services/config.ts +++ b/electron/services/config.ts @@ -27,6 +27,7 @@ interface ConfigSchema { autoTranscribeVoice: boolean transcribeLanguages: string[] exportDefaultConcurrency: number + analyticsExcludedUsernames: string[] // 安全相关 authEnabled: boolean @@ -62,6 +63,7 @@ export class ConfigService { autoTranscribeVoice: false, transcribeLanguages: ['zh'], exportDefaultConcurrency: 2, + analyticsExcludedUsernames: [], authEnabled: false, authPassword: '', diff --git a/src/pages/AnalyticsPage.scss b/src/pages/AnalyticsPage.scss index 702983a..c45c74e 100644 --- a/src/pages/AnalyticsPage.scss +++ b/src/pages/AnalyticsPage.scss @@ -47,6 +47,24 @@ } } +.page-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 16px; + + h1 { + margin: 0; + } + + .header-actions { + display: flex; + align-items: center; + gap: 8px; + } +} + @keyframes spin { from { transform: rotate(0deg); @@ -292,4 +310,185 @@ grid-column: span 1; } } -} \ No newline at end of file +} + +// 排除好友弹窗 +.exclude-modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.45); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + backdrop-filter: blur(4px); +} + +.exclude-modal { + width: 560px; + max-width: calc(100vw - 48px); + background: var(--card-bg); + border-radius: 16px; + border: 1px solid var(--border-color); + padding: 20px; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2); + + .exclude-modal-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 12px; + + h3 { + margin: 0; + font-size: 16px; + color: var(--text-primary); + } + } + + .modal-close { + width: 32px; + height: 32px; + border-radius: 50%; + border: none; + background: var(--bg-tertiary); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + color: var(--text-secondary); + transition: all 0.15s; + + &:hover { + background: var(--bg-hover); + color: var(--text-primary); + } + } + + .exclude-modal-search { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + border-radius: 10px; + border: 1px solid var(--border-color); + background: var(--bg-primary); + margin-bottom: 12px; + color: var(--text-tertiary); + + input { + flex: 1; + border: none; + outline: none; + background: transparent; + color: var(--text-primary); + font-size: 13px; + } + + .clear-search { + background: none; + border: none; + cursor: pointer; + color: var(--text-tertiary); + padding: 2px; + + &:hover { + color: var(--text-primary); + } + } + } + + .exclude-modal-body { + max-height: 420px; + overflow: auto; + padding-right: 4px; + } + + .exclude-loading, + .exclude-error, + .exclude-empty { + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + color: var(--text-secondary); + padding: 24px 0; + font-size: 13px; + } + + .exclude-list { + display: flex; + flex-direction: column; + gap: 6px; + } + + .exclude-item { + display: flex; + align-items: center; + gap: 12px; + padding: 8px 10px; + border-radius: 10px; + cursor: pointer; + border: 1px solid transparent; + transition: all 0.15s; + background: var(--bg-primary); + + &:hover { + background: var(--bg-tertiary); + } + + &.active { + border-color: rgba(7, 193, 96, 0.4); + background: rgba(7, 193, 96, 0.08); + } + + input { + margin: 0; + } + } + + .exclude-avatar { + flex-shrink: 0; + } + + .exclude-info { + display: flex; + flex-direction: column; + min-width: 0; + gap: 2px; + } + + .exclude-name { + font-size: 14px; + color: var(--text-primary); + font-weight: 500; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .exclude-username { + font-size: 12px; + color: var(--text-tertiary); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .exclude-modal-footer { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 16px; + } + + .exclude-count { + font-size: 12px; + color: var(--text-tertiary); + } + + .exclude-actions { + display: flex; + gap: 8px; + } +} diff --git a/src/pages/AnalyticsPage.tsx b/src/pages/AnalyticsPage.tsx index 528070d..41cebba 100644 --- a/src/pages/AnalyticsPage.tsx +++ b/src/pages/AnalyticsPage.tsx @@ -1,20 +1,50 @@ import { useState, useEffect, useCallback } from 'react' import { useLocation } from 'react-router-dom' -import { Users, Clock, MessageSquare, Send, Inbox, Calendar, Loader2, RefreshCw, User, Medal } from 'lucide-react' +import { Users, Clock, MessageSquare, Send, Inbox, Calendar, Loader2, RefreshCw, Medal, UserMinus, Search, X } from 'lucide-react' import ReactECharts from 'echarts-for-react' import { useAnalyticsStore } from '../stores/analyticsStore' import { useThemeStore } from '../stores/themeStore' import './AnalyticsPage.scss' import { Avatar } from '../components/Avatar' +interface ExcludeCandidate { + username: string + displayName: string + avatarUrl?: string +} + +const normalizeUsername = (value: string) => value.trim().toLowerCase() + function AnalyticsPage() { const [isLoading, setIsLoading] = useState(false) const [loadingStatus, setLoadingStatus] = useState('') const [error, setError] = useState(null) const [progress, setProgress] = useState(0) + const [isExcludeDialogOpen, setIsExcludeDialogOpen] = useState(false) + const [excludeCandidates, setExcludeCandidates] = useState([]) + const [excludeQuery, setExcludeQuery] = useState('') + const [excludeLoading, setExcludeLoading] = useState(false) + const [excludeError, setExcludeError] = useState(null) + const [excludedUsernames, setExcludedUsernames] = useState>(new Set()) + const [draftExcluded, setDraftExcluded] = useState>(new Set()) const themeMode = useThemeStore((state) => state.themeMode) - const { statistics, rankings, timeDistribution, isLoaded, setStatistics, setRankings, setTimeDistribution, markLoaded } = useAnalyticsStore() + const { statistics, rankings, timeDistribution, isLoaded, setStatistics, setRankings, setTimeDistribution, markLoaded, clearCache } = useAnalyticsStore() + + const loadExcludedUsernames = useCallback(async () => { + try { + const result = await window.electronAPI.analytics.getExcludedUsernames() + if (result.success && result.data) { + setExcludedUsernames(new Set(result.data.map(normalizeUsername))) + } else { + setExcludedUsernames(new Set()) + } + } catch (e) { + console.warn('加载排除名单失败', e) + setExcludedUsernames(new Set()) + } + }, []) + const loadData = useCallback(async (forceRefresh = false) => { if (isLoaded && !forceRefresh) return setIsLoading(true) @@ -65,14 +95,88 @@ function AnalyticsPage() { useEffect(() => { const handleChange = () => { + loadExcludedUsernames() loadData(true) } window.addEventListener('wxid-changed', handleChange as EventListener) return () => window.removeEventListener('wxid-changed', handleChange as EventListener) - }, [loadData]) + }, [loadData, loadExcludedUsernames]) + + useEffect(() => { + loadExcludedUsernames() + }, [loadExcludedUsernames]) const handleRefresh = () => loadData(true) + const loadExcludeCandidates = useCallback(async () => { + setExcludeLoading(true) + setExcludeError(null) + try { + const result = await window.electronAPI.analytics.getExcludeCandidates() + if (result.success && result.data) { + setExcludeCandidates(result.data) + } else { + setExcludeError(result.error || '加载好友列表失败') + } + } catch (e) { + setExcludeError(String(e)) + } finally { + setExcludeLoading(false) + } + }, []) + + const openExcludeDialog = async () => { + setExcludeQuery('') + setDraftExcluded(new Set(excludedUsernames)) + setIsExcludeDialogOpen(true) + await loadExcludeCandidates() + } + + const toggleExcluded = (username: string) => { + const key = normalizeUsername(username) + setDraftExcluded((prev) => { + const next = new Set(prev) + if (next.has(key)) { + next.delete(key) + } else { + next.add(key) + } + return next + }) + } + + const handleApplyExcluded = async () => { + const payload = Array.from(draftExcluded) + setIsExcludeDialogOpen(false) + try { + const result = await window.electronAPI.analytics.setExcludedUsernames(payload) + if (!result.success) { + alert(result.error || '更新排除名单失败') + return + } + setExcludedUsernames(new Set((result.data || payload).map(normalizeUsername))) + clearCache() + await window.electronAPI.cache.clearAnalytics() + await loadData(true) + } catch (e) { + alert(`更新排除名单失败:${String(e)}`) + } + } + + const visibleExcludeCandidates = excludeCandidates + .filter((candidate) => { + const query = excludeQuery.trim().toLowerCase() + if (!query) return true + const haystack = `${candidate.displayName} ${candidate.username}`.toLowerCase() + return haystack.includes(query) + }) + .sort((a, b) => { + const aSelected = draftExcluded.has(normalizeUsername(a.username)) + const bSelected = draftExcluded.has(normalizeUsername(b.username)) + if (aSelected !== bSelected) return aSelected ? -1 : 1 + return a.displayName.localeCompare(b.displayName, 'zh') + }) + const formatDate = (timestamp: number | null) => { if (!timestamp) return '-' const date = new Date(timestamp * 1000) @@ -247,10 +351,16 @@ function AnalyticsPage() { <>

私聊分析

- +
+ + +
@@ -316,6 +426,83 @@ function AnalyticsPage() {
+ {isExcludeDialogOpen && ( +
setIsExcludeDialogOpen(false)}> +
e.stopPropagation()}> +
+

选择不统计的好友

+ +
+
+ + setExcludeQuery(e.target.value)} + disabled={excludeLoading} + /> + {excludeQuery && ( + + )} +
+
+ {excludeLoading && ( +
+ + 正在加载好友列表... +
+ )} + {!excludeLoading && excludeError && ( +
{excludeError}
+ )} + {!excludeLoading && !excludeError && ( +
+ {visibleExcludeCandidates.map((candidate) => { + const isChecked = draftExcluded.has(normalizeUsername(candidate.username)) + return ( + + ) + })} + {visibleExcludeCandidates.length === 0 && ( +
+ {excludeQuery.trim() ? '未找到匹配好友' : '暂无可选好友'} +
+ )} +
+ )} +
+
+ 已排除 {draftExcluded.size} 人 +
+ + +
+
+
+
+ )} ) } diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index 892f430..1f5f8eb 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -175,6 +175,25 @@ export interface ElectronAPI { } error?: string }> + getExcludedUsernames: () => Promise<{ + success: boolean + data?: string[] + error?: string + }> + setExcludedUsernames: (usernames: string[]) => Promise<{ + success: boolean + data?: string[] + error?: string + }> + getExcludeCandidates: () => Promise<{ + success: boolean + data?: Array<{ + username: string + displayName: string + avatarUrl?: string + }> + error?: string + }> onProgress: (callback: (payload: { status: string; progress: number }) => void) => () => void } cache: { From 65365107f5bf64771e02d20989fc5343d7802cd4 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 00:07:38 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BE=A4=E6=98=B5?= =?UTF-8?q?=E7=A7=B0=E8=AF=BB=E5=8F=96=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + electron/services/analyticsService.ts | 43 ++++++++++++++++++++++++--- electron/services/exportService.ts | 17 ++++++++--- package-lock.json | 4 +-- package.json | 2 +- src/pages/AnalyticsPage.tsx | 7 +++-- src/types/electron.d.ts | 1 + 7 files changed, 62 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index ae42d85..5cc4ff8 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ Thumbs.db wcdb/ *info +*.md diff --git a/electron/services/analyticsService.ts b/electron/services/analyticsService.ts index 1153cfb..e9d965e 100644 --- a/electron/services/analyticsService.ts +++ b/electron/services/analyticsService.ts @@ -67,6 +67,38 @@ class AnalyticsService { return new Set(this.getExcludedUsernamesList()) } + private escapeSqlValue(value: string): string { + return value.replace(/'/g, "''") + } + + private async getAliasMap(usernames: string[]): Promise> { + const map: Record = {} + if (usernames.length === 0) return map + + const chunkSize = 200 + for (let i = 0; i < usernames.length; i += chunkSize) { + const chunk = usernames.slice(i, i + chunkSize) + const inList = chunk.map((u) => `'${this.escapeSqlValue(u)}'`).join(',') + if (!inList) continue + const sql = ` + SELECT username, alias + FROM contact + WHERE username IN (${inList}) + ` + const result = await wcdbService.execQuery('contact', null, sql) + if (!result.success || !result.rows) continue + for (const row of result.rows as Record[]) { + const username = row.username || '' + const alias = row.alias || '' + if (username && alias) { + map[username] = alias + } + } + } + + return map + } + private cleanAccountDirName(name: string): string { const trimmed = name.trim() if (!trimmed) return trimmed @@ -419,7 +451,7 @@ class AnalyticsService { } } - async getExcludeCandidates(): Promise<{ success: boolean; data?: Array<{ username: string; displayName: string; avatarUrl?: string }>; error?: string }> { + async getExcludeCandidates(): Promise<{ success: boolean; data?: Array<{ username: string; displayName: string; avatarUrl?: string; wechatId?: string }>; error?: string }> { try { const conn = await this.ensureConnected() if (!conn.success || !conn.cleanedWxid) return { success: false, error: conn.error } @@ -435,9 +467,10 @@ class AnalyticsService { } const usernameList = Array.from(usernames) - const [displayNames, avatarUrls] = await Promise.all([ + const [displayNames, avatarUrls, aliasMap] = await Promise.all([ wcdbService.getDisplayNames(usernameList), - wcdbService.getAvatarUrls(usernameList) + wcdbService.getAvatarUrls(usernameList), + this.getAliasMap(usernameList) ]) const entries = usernameList.map((username) => { @@ -447,7 +480,9 @@ class AnalyticsService { const avatarUrl = avatarUrls.success && avatarUrls.map ? avatarUrls.map[username] : undefined - return { username, displayName, avatarUrl } + const alias = aliasMap[username] + const wechatId = alias || (!username.startsWith('wxid_') ? username : '') + return { username, displayName, avatarUrl, wechatId } }) return { success: true, data: entries } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 948a2b0..3609f00 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -260,7 +260,7 @@ class ExportService { } // 清理昵称:去除前后空白和特殊字符 - nickname = nickname.trim().replace(/[\x00-\x1F\x7F]/g, '') + nickname = this.normalizeGroupNickname(nickname) // 只保存有效的群昵称(长度 > 0 且 < 50) if (nickname && nickname.length > 0 && nickname.length < 50) { @@ -432,6 +432,15 @@ class ExportService { return /^[0-9a-fA-F]+$/.test(s) } + private normalizeGroupNickname(value: string): string { + const trimmed = (value || '').trim() + if (!trimmed) return '' + const cleaned = trimmed.replace(/[\x00-\x1F\x7F]/g, '') + if (!cleaned) return '' + if (/^[,"'“”‘’,、]+$/.test(cleaned)) return '' + return cleaned + } + /** * 根据用户偏好获取显示名称 */ @@ -2034,7 +2043,7 @@ class ExportService { ? contact.contact.nickName : (senderInfo.displayName || senderWxid) const senderRemark = contact.success && contact.contact?.remark ? contact.contact.remark : '' - const senderGroupNickname = groupNicknamesMap.get(senderWxid?.toLowerCase() || '') || '' + const senderGroupNickname = this.normalizeGroupNickname(groupNicknamesMap.get(senderWxid?.toLowerCase() || '') || '') // 使用用户偏好的显示名称 const senderDisplayName = this.getPreferredDisplayName( @@ -2080,7 +2089,7 @@ class ExportService { ? sessionContact.contact.remark : '' const sessionGroupNickname = isGroup - ? (groupNicknamesMap.get(sessionId.toLowerCase()) || '') + ? this.normalizeGroupNickname(groupNicknamesMap.get(sessionId.toLowerCase()) || '') : '' // 使用用户偏好的显示名称 @@ -2447,7 +2456,7 @@ class ExportService { // 获取群昵称 (仅群聊且完整列模式) if (isGroup && !useCompactColumns && senderWxid) { - senderGroupNickname = groupNicknamesMap.get(senderWxid.toLowerCase()) || '' + senderGroupNickname = this.normalizeGroupNickname(groupNicknamesMap.get(senderWxid.toLowerCase()) || '') } diff --git a/package-lock.json b/package-lock.json index faac1e1..ee1d0f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "weflow", - "version": "1.4.4", + "version": "1.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "weflow", - "version": "1.4.4", + "version": "1.5.0", "hasInstallScript": true, "dependencies": { "better-sqlite3": "^12.5.0", diff --git a/package.json b/package.json index 534b89f..4ba7a88 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "weflow", - "version": "1.4.4", + "version": "1.5.0", "description": "WeFlow", "main": "dist-electron/main.js", "author": "cc", diff --git a/src/pages/AnalyticsPage.tsx b/src/pages/AnalyticsPage.tsx index 41cebba..9e56515 100644 --- a/src/pages/AnalyticsPage.tsx +++ b/src/pages/AnalyticsPage.tsx @@ -11,6 +11,7 @@ interface ExcludeCandidate { username: string displayName: string avatarUrl?: string + wechatId?: string } const normalizeUsername = (value: string) => value.trim().toLowerCase() @@ -167,7 +168,8 @@ function AnalyticsPage() { .filter((candidate) => { const query = excludeQuery.trim().toLowerCase() if (!query) return true - const haystack = `${candidate.displayName} ${candidate.username}`.toLowerCase() + const wechatId = candidate.wechatId || '' + const haystack = `${candidate.displayName} ${candidate.username} ${wechatId}`.toLowerCase() return haystack.includes(query) }) .sort((a, b) => { @@ -464,6 +466,7 @@ function AnalyticsPage() {
{visibleExcludeCandidates.map((candidate) => { const isChecked = draftExcluded.has(normalizeUsername(candidate.username)) + const wechatId = candidate.wechatId?.trim() || candidate.username return ( ) diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index 1f5f8eb..4e30d2a 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -191,6 +191,7 @@ export interface ElectronAPI { username: string displayName: string avatarUrl?: string + wechatId?: string }> error?: string }> From 53f0e299e0c8258063bf9c2e3bc9929ecdd49b45 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 00:30:54 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=B9=B4=E5=BA=A6=E6=8A=A5=E5=91=8Aui?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/AnnualReportPage.scss | 71 +++++++++++++++++++ src/pages/AnnualReportPage.tsx | 121 ++++++++++++++++++++++++-------- 2 files changed, 161 insertions(+), 31 deletions(-) diff --git a/src/pages/AnnualReportPage.scss b/src/pages/AnnualReportPage.scss index e5839c4..5f58d7f 100644 --- a/src/pages/AnnualReportPage.scss +++ b/src/pages/AnnualReportPage.scss @@ -5,6 +5,7 @@ justify-content: center; min-height: 100%; text-align: center; + padding: 40px 24px; } .header-icon { @@ -25,6 +26,63 @@ margin: 0 0 48px; } +.report-sections { + display: flex; + flex-direction: column; + gap: 32px; + width: min(760px, 100%); +} + +.report-section { + width: 100%; + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 20px; + padding: 28px; + text-align: left; +} + +.section-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 20px; +} + +.section-title { + margin: 0; + font-size: 20px; + font-weight: 700; + color: var(--text-primary); +} + +.section-desc { + margin: 8px 0 0; + font-size: 14px; + color: var(--text-tertiary); +} + +.section-badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 10px; + border-radius: 999px; + background: color-mix(in srgb, var(--primary) 12%, transparent); + color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent); + font-size: 12px; + font-weight: 600; + white-space: nowrap; +} + +.section-hint { + margin: 12px 0 0; + font-size: 12px; + color: var(--text-tertiary); +} + .year-grid { display: flex; flex-wrap: wrap; @@ -34,6 +92,12 @@ margin-bottom: 48px; } +.report-section .year-grid { + justify-content: flex-start; + max-width: none; + margin-bottom: 24px; +} + .year-card { width: 120px; height: 100px; @@ -104,6 +168,13 @@ opacity: 0.6; cursor: not-allowed; } + + &.secondary { + background: var(--card-bg); + color: var(--text-primary); + border: 1px solid var(--border-color); + box-shadow: none; + } } .spin { diff --git a/src/pages/AnnualReportPage.tsx b/src/pages/AnnualReportPage.tsx index 7931764..304c9b1 100644 --- a/src/pages/AnnualReportPage.tsx +++ b/src/pages/AnnualReportPage.tsx @@ -1,12 +1,15 @@ import { useState, useEffect } from 'react' import { useNavigate } from 'react-router-dom' -import { Calendar, Loader2, Sparkles } from 'lucide-react' +import { Calendar, Loader2, Sparkles, Users } from 'lucide-react' import './AnnualReportPage.scss' +type YearOption = number | 'all' + function AnnualReportPage() { const navigate = useNavigate() const [availableYears, setAvailableYears] = useState([]) - const [selectedYear, setSelectedYear] = useState(null) + const [selectedYear, setSelectedYear] = useState(null) + const [selectedPairYear, setSelectedPairYear] = useState(null) const [isLoading, setIsLoading] = useState(true) const [isGenerating, setIsGenerating] = useState(false) const [loadError, setLoadError] = useState(null) @@ -23,6 +26,7 @@ function AnnualReportPage() { if (result.success && result.data && result.data.length > 0) { setAvailableYears(result.data) setSelectedYear(result.data[0]) + setSelectedPairYear(result.data[0]) } else if (!result.success) { setLoadError(result.error || '加载年度数据失败') } @@ -35,7 +39,7 @@ function AnnualReportPage() { } const handleGenerateReport = async () => { - if (!selectedYear) return + if (!selectedYear || selectedYear === 'all') return setIsGenerating(true) try { navigate(`/annual-report/view?year=${selectedYear}`) @@ -67,42 +71,97 @@ function AnnualReportPage() { ) } + const yearOptions: YearOption[] = availableYears.length > 0 + ? ['all', ...availableYears] + : [] + + const getYearLabel = (value: YearOption | null) => { + if (!value) return '' + return value === 'all' ? '全部时间' : `${value} 年` + } + return (

年度报告

选择年份,生成你的微信聊天年度回顾

-
- {availableYears.map(year => ( -
setSelectedYear(year)} - > - {year} - +
+
+
+
+

总年度报告

+

包含所有会话与消息

+
- ))} -
- +
+ {yearOptions.map(option => ( +
setSelectedYear(option)} + > + {option === 'all' ? '全部' : option} + {option === 'all' ? '时间' : '年'} +
+ ))} +
+ + + {selectedYear === 'all' ? ( +

全部时间报告功能准备中

+ ) : null} + + +
+
+
+

双人年度报告

+

选择一位好友,只看你们的私聊

+
+
+ + 私聊 +
+
+ +
+ {yearOptions.map(option => ( +
setSelectedPairYear(option)} + > + {option === 'all' ? '全部' : option} + {option === 'all' ? '时间' : '年'} +
+ ))} +
+ + +

双人年度报告入口已留出,功能在开发中

+
+
) } From 5413d7e2c876ed7b2363084b5d86a0227eda8afd Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 01:13:17 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E5=8F=8C=E4=BA=BA=E5=B9=B4=E5=BA=A6?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=90=8E=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/dualReportWorker.ts | 45 +++ electron/main.ts | 67 ++++ electron/preload.ts | 8 + electron/services/annualReportService.ts | 8 +- electron/services/dualReportService.ts | 445 +++++++++++++++++++++++ src/App.tsx | 4 + src/pages/AnnualReportPage.tsx | 24 +- src/pages/AnnualReportWindow.tsx | 28 +- src/pages/DualReportPage.scss | 171 +++++++++ src/pages/DualReportPage.tsx | 138 +++++++ src/pages/DualReportWindow.scss | 220 +++++++++++ src/pages/DualReportWindow.tsx | 366 +++++++++++++++++++ src/types/electron.d.ts | 49 +++ vite.config.ts | 18 + 14 files changed, 1572 insertions(+), 19 deletions(-) create mode 100644 electron/dualReportWorker.ts create mode 100644 electron/services/dualReportService.ts create mode 100644 src/pages/DualReportPage.scss create mode 100644 src/pages/DualReportPage.tsx create mode 100644 src/pages/DualReportWindow.scss create mode 100644 src/pages/DualReportWindow.tsx diff --git a/electron/dualReportWorker.ts b/electron/dualReportWorker.ts new file mode 100644 index 0000000..003c82c --- /dev/null +++ b/electron/dualReportWorker.ts @@ -0,0 +1,45 @@ +import { parentPort, workerData } from 'worker_threads' +import { wcdbService } from './services/wcdbService' +import { dualReportService } from './services/dualReportService' + +interface WorkerConfig { + year: number + friendUsername: string + dbPath: string + decryptKey: string + myWxid: string + resourcesPath?: string + userDataPath?: string + logEnabled?: boolean +} + +const config = workerData as WorkerConfig +process.env.WEFLOW_WORKER = '1' +if (config.resourcesPath) { + process.env.WCDB_RESOURCES_PATH = config.resourcesPath +} + +wcdbService.setPaths(config.resourcesPath || '', config.userDataPath || '') +wcdbService.setLogEnabled(config.logEnabled === true) + +async function run() { + const result = await dualReportService.generateReportWithConfig({ + year: config.year, + friendUsername: config.friendUsername, + dbPath: config.dbPath, + decryptKey: config.decryptKey, + wxid: config.myWxid, + onProgress: (status: string, progress: number) => { + parentPort?.postMessage({ + type: 'dualReport:progress', + data: { status, progress } + }) + } + }) + + parentPort?.postMessage({ type: 'dualReport:result', data: result }) +} + +run().catch((err) => { + parentPort?.postMessage({ type: 'dualReport:error', error: String(err) }) +}) diff --git a/electron/main.ts b/electron/main.ts index a9f9419..81e0c5d 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -1029,6 +1029,73 @@ function registerIpcHandlers() { }) }) + ipcMain.handle('dualReport:generateReport', async (_, payload: { friendUsername: string; year: number }) => { + const cfg = configService || new ConfigService() + configService = cfg + + const dbPath = cfg.get('dbPath') + const decryptKey = cfg.get('decryptKey') + const wxid = cfg.get('myWxid') + const logEnabled = cfg.get('logEnabled') + const friendUsername = payload?.friendUsername + const year = payload?.year ?? 0 + + if (!friendUsername) { + return { success: false, error: '缺少好友用户名' } + } + + const resourcesPath = app.isPackaged + ? join(process.resourcesPath, 'resources') + : join(app.getAppPath(), 'resources') + const userDataPath = app.getPath('userData') + + const workerPath = join(__dirname, 'dualReportWorker.js') + + return await new Promise((resolve) => { + const worker = new Worker(workerPath, { + workerData: { year, friendUsername, dbPath, decryptKey, myWxid: wxid, resourcesPath, userDataPath, logEnabled } + }) + + const cleanup = () => { + worker.removeAllListeners() + } + + worker.on('message', (msg: any) => { + if (msg && msg.type === 'dualReport:progress') { + for (const win of BrowserWindow.getAllWindows()) { + if (!win.isDestroyed()) { + win.webContents.send('dualReport:progress', msg.data) + } + } + return + } + if (msg && (msg.type === 'dualReport:result' || msg.type === 'done')) { + cleanup() + void worker.terminate() + resolve(msg.data ?? msg.result) + return + } + if (msg && (msg.type === 'dualReport:error' || msg.type === 'error')) { + cleanup() + void worker.terminate() + resolve({ success: false, error: msg.error || '双人报告生成失败' }) + } + }) + + worker.on('error', (err) => { + cleanup() + resolve({ success: false, error: String(err) }) + }) + + worker.on('exit', (code) => { + if (code !== 0) { + cleanup() + resolve({ success: false, error: `双人报告线程异常退出: ${code}` }) + } + }) + }) + }) + ipcMain.handle('annualReport:exportImages', async (_, payload: { baseDir: string; folderName: string; images: Array<{ name: string; dataUrl: string }> }) => { try { const { baseDir, folderName, images } = payload diff --git a/electron/preload.ts b/electron/preload.ts index 7682a54..2c259eb 100644 --- a/electron/preload.ts +++ b/electron/preload.ts @@ -202,6 +202,14 @@ contextBridge.exposeInMainWorld('electronAPI', { return () => ipcRenderer.removeAllListeners('annualReport:progress') } }, + dualReport: { + generateReport: (payload: { friendUsername: string; year: number }) => + ipcRenderer.invoke('dualReport:generateReport', payload), + onProgress: (callback: (payload: { status: string; progress: number }) => void) => { + ipcRenderer.on('dualReport:progress', (_, payload) => callback(payload)) + return () => ipcRenderer.removeAllListeners('dualReport:progress') + } + }, // 导出 export: { diff --git a/electron/services/annualReportService.ts b/electron/services/annualReportService.ts index caab4be..607872b 100644 --- a/electron/services/annualReportService.ts +++ b/electron/services/annualReportService.ts @@ -397,8 +397,10 @@ class AnnualReportService { this.reportProgress('加载会话列表...', 15, onProgress) - const startTime = Math.floor(new Date(year, 0, 1).getTime() / 1000) - const endTime = Math.floor(new Date(year, 11, 31, 23, 59, 59).getTime() / 1000) + const isAllTime = year <= 0 + const reportYear = isAllTime ? 0 : year + const startTime = isAllTime ? 0 : Math.floor(new Date(year, 0, 1).getTime() / 1000) + const endTime = isAllTime ? 0 : Math.floor(new Date(year, 11, 31, 23, 59, 59).getTime() / 1000) let totalMessages = 0 const contactStats = new Map() @@ -902,7 +904,7 @@ class AnnualReportService { .map(([phrase, count]) => ({ phrase, count })) const reportData: AnnualReportData = { - year, + year: reportYear, totalMessages, totalFriends: contactStats.size, coreFriends, diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts new file mode 100644 index 0000000..6764bff --- /dev/null +++ b/electron/services/dualReportService.ts @@ -0,0 +1,445 @@ +import { parentPort } from 'worker_threads' +import { wcdbService } from './wcdbService' + +export interface DualReportMessage { + content: string + isSentByMe: boolean + createTime: number + createTimeStr: string +} + +export interface DualReportFirstChat { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + senderUsername?: string +} + +export interface DualReportYearlyStats { + totalMessages: number + totalWords: number + imageCount: number + voiceCount: number + emojiCount: number + myTopEmojiMd5?: string + friendTopEmojiMd5?: string + myTopEmojiUrl?: string + friendTopEmojiUrl?: string +} + +export interface DualReportWordCloud { + words: Array<{ phrase: string; count: number }> + totalWords: number + totalMessages: number +} + +export interface DualReportData { + year: number + myName: string + friendUsername: string + friendName: string + firstChat: DualReportFirstChat | null + thisYearFirstChat?: { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + friendName: string + firstThreeMessages: DualReportMessage[] + } | null + yearlyStats: DualReportYearlyStats + wordCloud: DualReportWordCloud +} + +class DualReportService { + private broadcastProgress(status: string, progress: number) { + if (parentPort) { + parentPort.postMessage({ + type: 'dualReport:progress', + data: { status, progress } + }) + } + } + + private reportProgress(status: string, progress: number, onProgress?: (status: string, progress: number) => void) { + if (onProgress) { + onProgress(status, progress) + return + } + this.broadcastProgress(status, progress) + } + + private cleanAccountDirName(dirName: string): string { + const trimmed = dirName.trim() + if (!trimmed) return trimmed + if (trimmed.toLowerCase().startsWith('wxid_')) { + const match = trimmed.match(/^(wxid_[^_]+)/i) + if (match) return match[1] + return trimmed + } + const suffixMatch = trimmed.match(/^(.+)_([a-zA-Z0-9]{4})$/) + if (suffixMatch) return suffixMatch[1] + return trimmed + } + + private async ensureConnectedWithConfig( + dbPath: string, + decryptKey: string, + wxid: string + ): Promise<{ success: boolean; cleanedWxid?: string; rawWxid?: string; error?: string }> { + if (!wxid) return { success: false, error: '未配置微信ID' } + if (!dbPath) return { success: false, error: '未配置数据库路径' } + if (!decryptKey) return { success: false, error: '未配置解密密钥' } + + const cleanedWxid = this.cleanAccountDirName(wxid) + const ok = await wcdbService.open(dbPath, decryptKey, cleanedWxid) + if (!ok) return { success: false, error: 'WCDB 打开失败' } + return { success: true, cleanedWxid, rawWxid: wxid } + } + + private decodeMessageContent(messageContent: any, compressContent: any): string { + let content = this.decodeMaybeCompressed(compressContent) + if (!content || content.length === 0) { + content = this.decodeMaybeCompressed(messageContent) + } + return content + } + + private decodeMaybeCompressed(raw: any): string { + if (!raw) return '' + if (typeof raw === 'string') { + if (raw.length === 0) return '' + if (this.looksLikeHex(raw)) { + const bytes = Buffer.from(raw, 'hex') + if (bytes.length > 0) return this.decodeBinaryContent(bytes) + } + if (this.looksLikeBase64(raw)) { + try { + const bytes = Buffer.from(raw, 'base64') + return this.decodeBinaryContent(bytes) + } catch { + return raw + } + } + return raw + } + return '' + } + + private decodeBinaryContent(data: Buffer): string { + if (data.length === 0) return '' + try { + if (data.length >= 4) { + const magic = data.readUInt32LE(0) + if (magic === 0xFD2FB528) { + const fzstd = require('fzstd') + const decompressed = fzstd.decompress(data) + return Buffer.from(decompressed).toString('utf-8') + } + } + const decoded = data.toString('utf-8') + const replacementCount = (decoded.match(/\uFFFD/g) || []).length + if (replacementCount < decoded.length * 0.2) { + return decoded.replace(/\uFFFD/g, '') + } + return data.toString('latin1') + } catch { + return '' + } + } + + private looksLikeHex(s: string): boolean { + if (s.length % 2 !== 0) return false + return /^[0-9a-fA-F]+$/.test(s) + } + + private looksLikeBase64(s: string): boolean { + if (s.length % 4 !== 0) return false + return /^[A-Za-z0-9+/=]+$/.test(s) + } + + private formatDateTime(milliseconds: number): string { + const dt = new Date(milliseconds) + const month = String(dt.getMonth() + 1).padStart(2, '0') + const day = String(dt.getDate()).padStart(2, '0') + const hour = String(dt.getHours()).padStart(2, '0') + const minute = String(dt.getMinutes()).padStart(2, '0') + return `${month}/${day} ${hour}:${minute}` + } + + private extractEmojiUrl(content: string): string | undefined { + if (!content) return undefined + const attrMatch = /cdnurl\s*=\s*['"]([^'"]+)['"]/i.exec(content) + if (attrMatch) { + let url = attrMatch[1].replace(/&/g, '&') + try { + if (url.includes('%')) { + url = decodeURIComponent(url) + } + } catch { } + return url + } + const tagMatch = /cdnurl[^>]*>([^<]+)/i.exec(content) + return tagMatch?.[1] + } + + private extractEmojiMd5(content: string): string | undefined { + if (!content) return undefined + const match = /md5="([^"]+)"/i.exec(content) || /([^<]+)<\/md5>/i.exec(content) + return match?.[1] + } + + private async getDisplayName(username: string, fallback: string): Promise { + const result = await wcdbService.getDisplayNames([username]) + if (result.success && result.map) { + return result.map[username] || fallback + } + return fallback + } + + private resolveIsSent(row: any, rawWxid?: string, cleanedWxid?: string): boolean { + const isSendRaw = row.computed_is_send ?? row.is_send + if (isSendRaw !== undefined && isSendRaw !== null) { + return parseInt(isSendRaw, 10) === 1 + } + const sender = String(row.sender_username || row.sender || row.talker || '').toLowerCase() + if (!sender) return false + const rawLower = rawWxid ? rawWxid.toLowerCase() : '' + const cleanedLower = cleanedWxid ? cleanedWxid.toLowerCase() : '' + return sender === rawLower || sender === cleanedLower + } + + private async getFirstMessages( + sessionId: string, + limit: number, + beginTimestamp: number, + endTimestamp: number + ): Promise { + const cursorResult = await wcdbService.openMessageCursor(sessionId, Math.max(1, limit), true, beginTimestamp, endTimestamp) + if (!cursorResult.success || !cursorResult.cursor) return [] + try { + const batch = await wcdbService.fetchMessageBatch(cursorResult.cursor) + if (!batch.success || !batch.rows) return [] + return batch.rows.slice(0, limit) + } finally { + await wcdbService.closeMessageCursor(cursorResult.cursor) + } + } + + async generateReportWithConfig(params: { + year: number + friendUsername: string + dbPath: string + decryptKey: string + wxid: string + onProgress?: (status: string, progress: number) => void + }): Promise<{ success: boolean; data?: DualReportData; error?: string }> { + try { + const { year, friendUsername, dbPath, decryptKey, wxid, onProgress } = params + this.reportProgress('正在连接数据库...', 5, onProgress) + const conn = await this.ensureConnectedWithConfig(dbPath, decryptKey, wxid) + if (!conn.success || !conn.cleanedWxid || !conn.rawWxid) return { success: false, error: conn.error } + + const cleanedWxid = conn.cleanedWxid + const rawWxid = conn.rawWxid + + const reportYear = year <= 0 ? 0 : year + const isAllTime = reportYear === 0 + const startTime = isAllTime ? 0 : Math.floor(new Date(reportYear, 0, 1).getTime() / 1000) + const endTime = isAllTime ? 0 : Math.floor(new Date(reportYear, 11, 31, 23, 59, 59).getTime() / 1000) + + this.reportProgress('加载联系人信息...', 10, onProgress) + const friendName = await this.getDisplayName(friendUsername, friendUsername) + let myName = await this.getDisplayName(rawWxid, rawWxid) + if (myName === rawWxid && cleanedWxid && cleanedWxid !== rawWxid) { + myName = await this.getDisplayName(cleanedWxid, rawWxid) + } + + this.reportProgress('获取首条聊天记录...', 15, onProgress) + const firstRows = await this.getFirstMessages(friendUsername, 1, 0, 0) + let firstChat: DualReportFirstChat | null = null + if (firstRows.length > 0) { + const row = firstRows[0] + const createTime = parseInt(row.create_time || '0', 10) * 1000 + const content = this.decodeMessageContent(row.message_content, row.compress_content) + firstChat = { + createTime, + createTimeStr: this.formatDateTime(createTime), + content: String(content || ''), + isSentByMe: this.resolveIsSent(row, rawWxid, cleanedWxid), + senderUsername: row.sender_username || row.sender + } + } + + let thisYearFirstChat: DualReportData['thisYearFirstChat'] = null + if (!isAllTime) { + this.reportProgress('获取今年首次聊天...', 20, onProgress) + const firstYearRows = await this.getFirstMessages(friendUsername, 3, startTime, endTime) + if (firstYearRows.length > 0) { + const firstRow = firstYearRows[0] + const createTime = parseInt(firstRow.create_time || '0', 10) * 1000 + const firstThreeMessages: DualReportMessage[] = firstYearRows.map((row) => { + const msgTime = parseInt(row.create_time || '0', 10) * 1000 + const msgContent = this.decodeMessageContent(row.message_content, row.compress_content) + return { + content: String(msgContent || ''), + isSentByMe: this.resolveIsSent(row, rawWxid, cleanedWxid), + createTime: msgTime, + createTimeStr: this.formatDateTime(msgTime) + } + }) + thisYearFirstChat = { + createTime, + createTimeStr: this.formatDateTime(createTime), + content: String(this.decodeMessageContent(firstRow.message_content, firstRow.compress_content) || ''), + isSentByMe: this.resolveIsSent(firstRow, rawWxid, cleanedWxid), + friendName, + firstThreeMessages + } + } + } + + this.reportProgress('统计聊天数据...', 30, onProgress) + const yearlyStats: DualReportYearlyStats = { + totalMessages: 0, + totalWords: 0, + imageCount: 0, + voiceCount: 0, + emojiCount: 0 + } + const wordCountMap = new Map() + const myEmojiCounts = new Map() + const friendEmojiCounts = new Map() + const myEmojiUrlMap = new Map() + const friendEmojiUrlMap = new Map() + + const messageCountResult = await wcdbService.getMessageCount(friendUsername) + const totalForProgress = messageCountResult.success && messageCountResult.count + ? messageCountResult.count + : 0 + let processed = 0 + let lastProgressAt = 0 + + const cursorResult = await wcdbService.openMessageCursor(friendUsername, 1000, true, startTime, endTime) + if (!cursorResult.success || !cursorResult.cursor) { + return { success: false, error: cursorResult.error || '打开消息游标失败' } + } + + try { + let hasMore = true + while (hasMore) { + const batch = await wcdbService.fetchMessageBatch(cursorResult.cursor) + if (!batch.success || !batch.rows) break + for (const row of batch.rows) { + const localType = parseInt(row.local_type || row.type || '1', 10) + const isSent = this.resolveIsSent(row, rawWxid, cleanedWxid) + yearlyStats.totalMessages += 1 + + if (localType === 3) yearlyStats.imageCount += 1 + if (localType === 34) yearlyStats.voiceCount += 1 + if (localType === 47) { + yearlyStats.emojiCount += 1 + const content = this.decodeMessageContent(row.message_content, row.compress_content) + const md5 = this.extractEmojiMd5(content) + const url = this.extractEmojiUrl(content) + if (md5) { + const targetMap = isSent ? myEmojiCounts : friendEmojiCounts + targetMap.set(md5, (targetMap.get(md5) || 0) + 1) + if (url) { + const urlMap = isSent ? myEmojiUrlMap : friendEmojiUrlMap + if (!urlMap.has(md5)) urlMap.set(md5, url) + } + } + } + + if (localType === 1 || localType === 244813135921) { + const content = this.decodeMessageContent(row.message_content, row.compress_content) + const text = String(content || '').trim() + if (text.length > 0) { + yearlyStats.totalWords += text.replace(/\s+/g, '').length + const normalized = text.replace(/\s+/g, ' ').trim() + if (normalized.length >= 2 && + normalized.length <= 50 && + !normalized.includes('http') && + !normalized.includes('<') && + !normalized.startsWith('[') && + !normalized.startsWith(' 0) { + processed++ + } + } + hasMore = batch.hasMore === true + + const now = Date.now() + if (now - lastProgressAt > 200) { + if (totalForProgress > 0) { + const ratio = Math.min(1, processed / totalForProgress) + const progress = 30 + Math.floor(ratio * 50) + this.reportProgress('统计聊天数据...', progress, onProgress) + } + lastProgressAt = now + } + } + } finally { + await wcdbService.closeMessageCursor(cursorResult.cursor) + } + + const pickTop = (map: Map): string | undefined => { + let topKey: string | undefined + let topCount = -1 + for (const [key, count] of map.entries()) { + if (count > topCount) { + topCount = count + topKey = key + } + } + return topKey + } + + const myTopEmojiMd5 = pickTop(myEmojiCounts) + const friendTopEmojiMd5 = pickTop(friendEmojiCounts) + + yearlyStats.myTopEmojiMd5 = myTopEmojiMd5 + yearlyStats.friendTopEmojiMd5 = friendTopEmojiMd5 + yearlyStats.myTopEmojiUrl = myTopEmojiMd5 ? myEmojiUrlMap.get(myTopEmojiMd5) : undefined + yearlyStats.friendTopEmojiUrl = friendTopEmojiMd5 ? friendEmojiUrlMap.get(friendTopEmojiMd5) : undefined + + this.reportProgress('生成常用语词云...', 85, onProgress) + const wordCloudWords = Array.from(wordCountMap.entries()) + .filter(([_, count]) => count >= 2) + .sort((a, b) => b[1] - a[1]) + .slice(0, 50) + .map(([phrase, count]) => ({ phrase, count })) + + const wordCloud: DualReportWordCloud = { + words: wordCloudWords, + totalWords: yearlyStats.totalWords, + totalMessages: yearlyStats.totalMessages + } + + const reportData: DualReportData = { + year: reportYear, + myName, + friendUsername, + friendName, + firstChat, + thisYearFirstChat, + yearlyStats, + wordCloud + } + + this.reportProgress('双人报告生成完成', 100, onProgress) + return { success: true, data: reportData } + } catch (e) { + return { success: false, error: String(e) } + } + } +} + +export const dualReportService = new DualReportService() diff --git a/src/App.tsx b/src/App.tsx index df67e50..95d9e9d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,6 +10,8 @@ import AnalyticsPage from './pages/AnalyticsPage' import AnalyticsWelcomePage from './pages/AnalyticsWelcomePage' import AnnualReportPage from './pages/AnnualReportPage' import AnnualReportWindow from './pages/AnnualReportWindow' +import DualReportPage from './pages/DualReportPage' +import DualReportWindow from './pages/DualReportWindow' import AgreementPage from './pages/AgreementPage' import GroupAnalyticsPage from './pages/GroupAnalyticsPage' import SettingsPage from './pages/SettingsPage' @@ -398,6 +400,8 @@ function App() { } /> } /> } /> + } /> + } /> } /> } /> diff --git a/src/pages/AnnualReportPage.tsx b/src/pages/AnnualReportPage.tsx index 304c9b1..7bd8b10 100644 --- a/src/pages/AnnualReportPage.tsx +++ b/src/pages/AnnualReportPage.tsx @@ -39,10 +39,11 @@ function AnnualReportPage() { } const handleGenerateReport = async () => { - if (!selectedYear || selectedYear === 'all') return + if (selectedYear === null) return setIsGenerating(true) try { - navigate(`/annual-report/view?year=${selectedYear}`) + const yearParam = selectedYear === 'all' ? 0 : selectedYear + navigate(`/annual-report/view?year=${yearParam}`) } catch (e) { console.error('生成报告失败:', e) } finally { @@ -50,6 +51,12 @@ function AnnualReportPage() { } } + const handleGenerateDualReport = () => { + if (selectedPairYear === null) return + const yearParam = selectedPairYear === 'all' ? 0 : selectedPairYear + navigate(`/dual-report?year=${yearParam}`) + } + if (isLoading) { return (
@@ -111,7 +118,7 @@ function AnnualReportPage() { - {selectedYear === 'all' ? ( -

全部时间报告功能准备中

- ) : null}
@@ -155,11 +159,15 @@ function AnnualReportPage() { ))}
- -

双人年度报告入口已留出,功能在开发中

+

从聊天排行中选择好友生成双人报告

diff --git a/src/pages/AnnualReportWindow.tsx b/src/pages/AnnualReportWindow.tsx index bf105f3..8def63d 100644 --- a/src/pages/AnnualReportWindow.tsx +++ b/src/pages/AnnualReportWindow.tsx @@ -282,7 +282,8 @@ function AnnualReportWindow() { useEffect(() => { const params = new URLSearchParams(window.location.hash.split('?')[1] || '') const yearParam = params.get('year') - const year = yearParam ? parseInt(yearParam) : new Date().getFullYear() + const parsedYear = yearParam ? parseInt(yearParam, 10) : new Date().getFullYear() + const year = Number.isNaN(parsedYear) ? new Date().getFullYear() : parsedYear generateReport(year) }, []) @@ -337,6 +338,11 @@ function AnnualReportWindow() { return `${Math.round(seconds / 3600)}小时` } + const formatYearLabel = (value: number, withSuffix: boolean = true) => { + if (value === 0) return '全部时间' + return withSuffix ? `${value}年` : `${value}` + } + // 获取可用的板块列表 const getAvailableSections = (): SectionInfo[] => { if (!reportData) return [] @@ -595,7 +601,8 @@ function AnnualReportWindow() { const dataUrl = outputCanvas.toDataURL('image/png') const link = document.createElement('a') - link.download = `${reportData?.year}年度报告${filterIds ? '_自定义' : ''}.png` + const yearFilePrefix = reportData ? formatYearLabel(reportData.year, false) : '' + link.download = `${yearFilePrefix}年度报告${filterIds ? '_自定义' : ''}.png` link.href = dataUrl document.body.appendChild(link) link.click() @@ -658,11 +665,12 @@ function AnnualReportWindow() { } setExportProgress('正在写入文件...') + const yearFilePrefix = reportData ? formatYearLabel(reportData.year, false) : '' const exportResult = await window.electronAPI.annualReport.exportImages({ baseDir: dirResult.filePaths[0], - folderName: `${reportData?.year}年度报告_分模块`, + folderName: `${yearFilePrefix}年度报告_分模块`, images: exportedImages.map((img) => ({ - name: `${reportData?.year}年度报告_${img.name}.png`, + name: `${yearFilePrefix}年度报告_${img.name}.png`, dataUrl: img.data })) }) @@ -737,6 +745,10 @@ function AnnualReportWindow() { const topFriend = coreFriends[0] const mostActive = getMostActiveTime(activityHeatmap.data) const socialStoryName = topFriend?.displayName || '好友' + const yearTitle = formatYearLabel(year, true) + const yearTitleShort = formatYearLabel(year, false) + const monthlyTitle = year === 0 ? '全部时间月度好友' : `${year}年月度好友` + const phrasesTitle = year === 0 ? '你在全部时间的常用语' : `你在${year}年的年度常用语` return (
@@ -827,7 +839,7 @@ function AnnualReportWindow() { {/* 封面 */}
WEFLOW · ANNUAL REPORT
-

{year}年
微信聊天报告

+

{yearTitle}
微信聊天报告


每一条消息背后
都藏着一段独特的故事

@@ -869,7 +881,7 @@ function AnnualReportWindow() { {/* 月度好友 */}
月度好友
-

{year}年月度好友

+

{monthlyTitle}

根据12个月的聊天习惯

{monthlyTopFriends.map((m, i) => ( @@ -1016,7 +1028,7 @@ function AnnualReportWindow() { {topPhrases && topPhrases.length > 0 && (
年度常用语
-

你在{year}年的年度常用语

+

{phrasesTitle}

这一年,你说得最多的是:
@@ -1085,7 +1097,7 @@ function AnnualReportWindow() {
愿新的一年,
所有期待,皆有回声。

-
{year}
+
{yearTitleShort}
WEFLOW
diff --git a/src/pages/DualReportPage.scss b/src/pages/DualReportPage.scss new file mode 100644 index 0000000..293efef --- /dev/null +++ b/src/pages/DualReportPage.scss @@ -0,0 +1,171 @@ +.dual-report-page { + padding: 32px 28px; + color: var(--text-primary); +} + +.dual-report-page.loading { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 60vh; + gap: 12px; + color: var(--text-tertiary); +} + +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 20px; + + h1 { + margin: 0; + font-size: 24px; + font-weight: 700; + } + + p { + margin: 8px 0 0; + color: var(--text-secondary); + } +} + +.year-badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 10px; + border-radius: 999px; + background: color-mix(in srgb, var(--primary) 12%, transparent); + color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent); + font-size: 12px; + font-weight: 600; + white-space: nowrap; +} + +.search-bar { + display: flex; + align-items: center; + gap: 8px; + padding: 10px 12px; + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 12px; + margin-bottom: 20px; + + input { + flex: 1; + border: none; + outline: none; + background: transparent; + color: var(--text-primary); + font-size: 14px; + } +} + +.ranking-list { + display: flex; + flex-direction: column; + gap: 12px; +} + +.ranking-item { + display: grid; + grid-template-columns: auto auto 1fr auto; + align-items: center; + gap: 12px; + padding: 12px 16px; + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 14px; + text-align: left; + cursor: pointer; + transition: all 0.2s; + + &:hover { + border-color: var(--primary); + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); + transform: translateY(-1px); + } +} + +.rank-badge { + width: 28px; + height: 28px; + border-radius: 8px; + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--border-color); + color: var(--text-secondary); + font-size: 12px; + font-weight: 700; + + &.top { + background: color-mix(in srgb, var(--primary) 18%, transparent); + color: var(--primary); + } +} + +.avatar { + width: 40px; + height: 40px; + border-radius: 50%; + overflow: hidden; + background: var(--primary-light); + display: flex; + align-items: center; + justify-content: center; + color: var(--primary); + font-weight: 700; + + img { + width: 100%; + height: 100%; + object-fit: cover; + } +} + +.info { + display: flex; + flex-direction: column; + gap: 4px; + + .name { + font-weight: 600; + } + + .sub { + font-size: 12px; + color: var(--text-tertiary); + } +} + +.meta { + text-align: right; + font-size: 12px; + color: var(--text-tertiary); + + .count { + font-weight: 600; + color: var(--text-primary); + } +} + +.empty { + text-align: center; + color: var(--text-tertiary); + padding: 40px 0; +} + +.spin { + animation: spin 1s linear infinite; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} diff --git a/src/pages/DualReportPage.tsx b/src/pages/DualReportPage.tsx new file mode 100644 index 0000000..3516589 --- /dev/null +++ b/src/pages/DualReportPage.tsx @@ -0,0 +1,138 @@ +import { useEffect, useMemo, useState } from 'react' +import { useNavigate } from 'react-router-dom' +import { Loader2, Search, Users } from 'lucide-react' +import './DualReportPage.scss' + +interface ContactRanking { + username: string + displayName: string + avatarUrl?: string + messageCount: number + sentCount: number + receivedCount: number + lastMessageTime?: number | null +} + +function DualReportPage() { + const navigate = useNavigate() + const [year, setYear] = useState(0) + const [rankings, setRankings] = useState([]) + const [isLoading, setIsLoading] = useState(true) + const [loadError, setLoadError] = useState(null) + const [keyword, setKeyword] = useState('') + + useEffect(() => { + const params = new URLSearchParams(window.location.hash.split('?')[1] || '') + const yearParam = params.get('year') + const parsedYear = yearParam ? parseInt(yearParam, 10) : 0 + setYear(Number.isNaN(parsedYear) ? 0 : parsedYear) + }, []) + + useEffect(() => { + loadRankings() + }, []) + + const loadRankings = async () => { + setIsLoading(true) + setLoadError(null) + try { + const result = await window.electronAPI.analytics.getContactRankings(200) + if (result.success && result.data) { + setRankings(result.data) + } else { + setLoadError(result.error || '加载好友列表失败') + } + } catch (e) { + setLoadError(String(e)) + } finally { + setIsLoading(false) + } + } + + const yearLabel = year === 0 ? '全部时间' : `${year}年` + + const filteredRankings = useMemo(() => { + if (!keyword.trim()) return rankings + const q = keyword.trim().toLowerCase() + return rankings.filter((item) => { + return item.displayName.toLowerCase().includes(q) || item.username.toLowerCase().includes(q) + }) + }, [rankings, keyword]) + + const handleSelect = (username: string) => { + const yearParam = year === 0 ? 0 : year + navigate(`/dual-report/view?username=${encodeURIComponent(username)}&year=${yearParam}`) + } + + if (isLoading) { + return ( +
+ +

正在加载聊天排行...

+
+ ) + } + + if (loadError) { + return ( +
+

加载失败:{loadError}

+
+ ) + } + + return ( +
+
+
+

双人年度报告

+

选择一位好友,生成你们的专属聊天报告

+
+
+ + {yearLabel} +
+
+ +
+ + setKeyword(e.target.value)} + placeholder="搜索好友(昵称/备注/wxid)" + /> +
+ +
+ {filteredRankings.map((item, index) => ( + + ))} + {filteredRankings.length === 0 ? ( +
没有匹配的好友
+ ) : null} +
+
+ ) +} + +export default DualReportPage diff --git a/src/pages/DualReportWindow.scss b/src/pages/DualReportWindow.scss new file mode 100644 index 0000000..2b0d19a --- /dev/null +++ b/src/pages/DualReportWindow.scss @@ -0,0 +1,220 @@ +.dual-report-window { + color: var(--text-primary); + padding: 32px 24px 60px; + background: var(--bg-primary); +} + +.dual-report-window.loading, +.dual-report-window.error { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 60vh; + gap: 12px; + color: var(--text-tertiary); +} + +.dual-section { + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 20px; + padding: 24px; + margin: 16px auto; + max-width: 900px; +} + +.dual-section.cover { + text-align: center; + background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 10%, transparent) 0%, var(--card-bg) 100%); + + .label { + font-size: 12px; + letter-spacing: 2px; + color: var(--text-tertiary); + margin-bottom: 12px; + } + + h1 { + margin: 0 0 12px; + font-size: 36px; + } + + p { + margin: 0; + color: var(--text-secondary); + } +} + +.section-title { + font-size: 18px; + font-weight: 700; + margin-bottom: 16px; +} + +.info-card { + display: flex; + flex-direction: column; + gap: 12px; +} + +.info-row { + display: flex; + justify-content: space-between; + gap: 16px; + font-size: 14px; +} + +.info-label { + color: var(--text-tertiary); +} + +.info-value { + color: var(--text-primary); + font-weight: 600; +} + +.info-empty { + color: var(--text-tertiary); +} + +.message-list { + display: flex; + flex-direction: column; + gap: 10px; + margin-top: 8px; +} + +.message-item { + padding: 10px 12px; + border-radius: 12px; + background: color-mix(in srgb, var(--primary) 6%, transparent); + + &.received { + background: color-mix(in srgb, var(--border-color) 35%, transparent); + } +} + +.message-meta { + font-size: 12px; + color: var(--text-tertiary); + margin-bottom: 6px; +} + +.message-content { + font-size: 14px; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); + gap: 12px; + margin-bottom: 16px; +} + +.stat-card { + background: color-mix(in srgb, var(--primary) 6%, transparent); + border-radius: 12px; + padding: 14px; + text-align: center; + + .stat-value { + font-size: 20px; + font-weight: 700; + } + + .stat-label { + font-size: 12px; + color: var(--text-tertiary); + margin-top: 4px; + } +} + +.emoji-row { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 12px; +} + +.emoji-card { + border: 1px solid var(--border-color); + border-radius: 14px; + padding: 14px; + display: flex; + flex-direction: column; + gap: 10px; + align-items: center; + justify-content: center; + + img { + width: 64px; + height: 64px; + object-fit: contain; + } +} + +.emoji-title { + font-size: 12px; + color: var(--text-tertiary); +} + +.emoji-placeholder { + font-size: 12px; + color: var(--text-secondary); + word-break: break-all; + text-align: center; +} + +.word-cloud-wrapper { + position: relative; + width: 100%; + padding-top: 80%; + background: color-mix(in srgb, var(--primary) 4%, transparent); + border-radius: 18px; + overflow: hidden; +} + +.word-cloud-inner { + position: absolute; + inset: 0; +} + +.word-tag { + position: absolute; + font-weight: 600; + color: var(--text-primary); + transform: translate(-50%, -50%); + opacity: 0; + animation: fadeUp 0.8s ease forwards; +} + +.word-cloud-empty { + color: var(--text-tertiary); + font-size: 14px; + text-align: center; + padding: 40px 0; +} + +.progress { + font-size: 20px; + font-weight: 700; +} + +.stage { + font-size: 12px; + color: var(--text-tertiary); +} + +.spin { + animation: spin 1s linear infinite; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@keyframes fadeUp { + from { opacity: 0; transform: translate(-50%, -50%) translateY(10px); } + to { opacity: var(--final-opacity, 1); transform: translate(-50%, -50%) translateY(0); } +} diff --git a/src/pages/DualReportWindow.tsx b/src/pages/DualReportWindow.tsx new file mode 100644 index 0000000..2112f88 --- /dev/null +++ b/src/pages/DualReportWindow.tsx @@ -0,0 +1,366 @@ +import { useEffect, useState, type CSSProperties } from 'react' +import { Loader2 } from 'lucide-react' +import './DualReportWindow.scss' + +interface DualReportMessage { + content: string + isSentByMe: boolean + createTime: number + createTimeStr: string +} + +interface DualReportData { + year: number + myName: string + friendUsername: string + friendName: string + firstChat: { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + senderUsername?: string + } | null + thisYearFirstChat?: { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + friendName: string + firstThreeMessages: DualReportMessage[] + } | null + yearlyStats: { + totalMessages: number + totalWords: number + imageCount: number + voiceCount: number + emojiCount: number + myTopEmojiMd5?: string + friendTopEmojiMd5?: string + myTopEmojiUrl?: string + friendTopEmojiUrl?: string + } + wordCloud: { + words: Array<{ phrase: string; count: number }> + totalWords: number + totalMessages: number + } +} + +const WordCloud = ({ words }: { words: { phrase: string; count: number }[] }) => { + if (!words || words.length === 0) { + return
暂无高频语句
+ } + const maxCount = words.length > 0 ? words[0].count : 1 + const topWords = words.slice(0, 32) + const baseSize = 520 + + const seededRandom = (seed: number) => { + const x = Math.sin(seed) * 10000 + return x - Math.floor(x) + } + + const placedItems: { x: number; y: number; w: number; h: number }[] = [] + + const canPlace = (x: number, y: number, w: number, h: number): boolean => { + const halfW = w / 2 + const halfH = h / 2 + const dx = x - 50 + const dy = y - 50 + const dist = Math.sqrt(dx * dx + dy * dy) + const maxR = 49 - Math.max(halfW, halfH) + if (dist > maxR) return false + + const pad = 1.8 + for (const p of placedItems) { + if ((x - halfW - pad) < (p.x + p.w / 2) && + (x + halfW + pad) > (p.x - p.w / 2) && + (y - halfH - pad) < (p.y + p.h / 2) && + (y + halfH + pad) > (p.y - p.h / 2)) { + return false + } + } + return true + } + + const wordItems = topWords.map((item, i) => { + const ratio = item.count / maxCount + const fontSize = Math.round(12 + Math.pow(ratio, 0.65) * 20) + const opacity = Math.min(1, Math.max(0.35, 0.35 + ratio * 0.65)) + const delay = (i * 0.04).toFixed(2) + + const charCount = Math.max(1, item.phrase.length) + const hasCjk = /[\u4e00-\u9fff]/.test(item.phrase) + const hasLatin = /[A-Za-z0-9]/.test(item.phrase) + const widthFactor = hasCjk && hasLatin ? 0.85 : hasCjk ? 0.98 : 0.6 + const widthPx = fontSize * (charCount * widthFactor) + const heightPx = fontSize * 1.1 + const widthPct = (widthPx / baseSize) * 100 + const heightPct = (heightPx / baseSize) * 100 + + let x = 50, y = 50 + let placedOk = false + const tries = i === 0 ? 1 : 420 + + for (let t = 0; t < tries; t++) { + if (i === 0) { + x = 50 + y = 50 + } else { + const idx = i + t * 0.28 + const radius = Math.sqrt(idx) * 7.6 + (seededRandom(i * 1000 + t) * 1.2 - 0.6) + const angle = idx * 2.399963 + seededRandom(i * 2000 + t) * 0.35 + x = 50 + radius * Math.cos(angle) + y = 50 + radius * Math.sin(angle) + } + if (canPlace(x, y, widthPct, heightPct)) { + placedOk = true + break + } + } + + if (!placedOk) return null + placedItems.push({ x, y, w: widthPct, h: heightPct }) + + return ( + + {item.phrase} + + ) + }).filter(Boolean) + + return ( +
+
+ {wordItems} +
+
+ ) +} + +function DualReportWindow() { + const [reportData, setReportData] = useState(null) + const [isLoading, setIsLoading] = useState(true) + const [error, setError] = useState(null) + const [loadingStage, setLoadingStage] = useState('准备中') + const [loadingProgress, setLoadingProgress] = useState(0) + const [myEmojiUrl, setMyEmojiUrl] = useState(null) + const [friendEmojiUrl, setFriendEmojiUrl] = useState(null) + + useEffect(() => { + const params = new URLSearchParams(window.location.hash.split('?')[1] || '') + const username = params.get('username') + const yearParam = params.get('year') + const parsedYear = yearParam ? parseInt(yearParam, 10) : 0 + const year = Number.isNaN(parsedYear) ? 0 : parsedYear + if (!username) { + setError('缺少好友信息') + setIsLoading(false) + return + } + generateReport(username, year) + }, []) + + const generateReport = async (friendUsername: string, year: number) => { + setIsLoading(true) + setError(null) + setLoadingProgress(0) + + const removeProgressListener = window.electronAPI.dualReport.onProgress?.((payload: { status: string; progress: number }) => { + setLoadingProgress(payload.progress) + setLoadingStage(payload.status) + }) + + try { + const result = await window.electronAPI.dualReport.generateReport({ friendUsername, year }) + removeProgressListener?.() + setLoadingProgress(100) + setLoadingStage('完成') + + if (result.success && result.data) { + setReportData(result.data) + setIsLoading(false) + } else { + setError(result.error || '生成报告失败') + setIsLoading(false) + } + } catch (e) { + removeProgressListener?.() + setError(String(e)) + setIsLoading(false) + } + } + + useEffect(() => { + const loadEmojis = async () => { + if (!reportData) return + const stats = reportData.yearlyStats + if (stats.myTopEmojiUrl) { + const res = await window.electronAPI.chat.downloadEmoji(stats.myTopEmojiUrl, stats.myTopEmojiMd5) + if (res.success && res.localPath) { + setMyEmojiUrl(res.localPath) + } + } + if (stats.friendTopEmojiUrl) { + const res = await window.electronAPI.chat.downloadEmoji(stats.friendTopEmojiUrl, stats.friendTopEmojiMd5) + if (res.success && res.localPath) { + setFriendEmojiUrl(res.localPath) + } + } + } + void loadEmojis() + }, [reportData]) + + if (isLoading) { + return ( +
+ +
{loadingProgress}%
+
{loadingStage}
+
+ ) + } + + if (error) { + return ( +
+

生成报告失败:{error}

+
+ ) + } + + if (!reportData) { + return ( +
+

暂无数据

+
+ ) + } + + const yearTitle = reportData.year === 0 ? '全部时间' : `${reportData.year}年` + const firstChat = reportData.firstChat + const daysSince = firstChat + ? Math.max(0, Math.floor((Date.now() - firstChat.createTime) / 86400000)) + : null + const thisYearFirstChat = reportData.thisYearFirstChat + const stats = reportData.yearlyStats + + return ( +
+
+
DUAL REPORT
+

{reportData.myName} & {reportData.friendName}

+

让我们一起回顾这段独一无二的对话

+
+ +
+
首次聊天
+ {firstChat ? ( +
+
+ 第一次聊天时间 + {firstChat.createTimeStr} +
+
+ 距今天数 + {daysSince} 天 +
+
+ 首条消息 + {firstChat.content || '(空)'} +
+
+ ) : ( +
暂无首条消息
+ )} +
+ + {thisYearFirstChat ? ( +
+
今年首次聊天
+
+
+ 首次时间 + {thisYearFirstChat.createTimeStr} +
+
+ 发起者 + {thisYearFirstChat.isSentByMe ? reportData.myName : reportData.friendName} +
+
+ {thisYearFirstChat.firstThreeMessages.map((msg, idx) => ( +
+
{msg.isSentByMe ? reportData.myName : reportData.friendName} · {msg.createTimeStr}
+
{msg.content || '(空)'}
+
+ ))} +
+
+
+ ) : null} + +
+
{yearTitle}常用语
+ +
+ +
+
{yearTitle}统计
+
+
+
{stats.totalMessages.toLocaleString()}
+
总消息数
+
+
+
{stats.totalWords.toLocaleString()}
+
总字数
+
+
+
{stats.imageCount.toLocaleString()}
+
图片
+
+
+
{stats.voiceCount.toLocaleString()}
+
语音
+
+
+
{stats.emojiCount.toLocaleString()}
+
表情
+
+
+ +
+
+
我常用的表情
+ {myEmojiUrl ? ( + my-emoji + ) : ( +
{stats.myTopEmojiMd5 || '暂无'}
+ )} +
+
+
{reportData.friendName}常用的表情
+ {friendEmojiUrl ? ( + friend-emoji + ) : ( +
{stats.friendTopEmojiMd5 || '暂无'}
+ )} +
+
+
+
+ ) +} + +export default DualReportWindow diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index 4e30d2a..bfa4e6d 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -337,6 +337,55 @@ export interface ElectronAPI { }> onProgress: (callback: (payload: { status: string; progress: number }) => void) => () => void } + dualReport: { + generateReport: (payload: { friendUsername: string; year: number }) => Promise<{ + success: boolean + data?: { + year: number + myName: string + friendUsername: string + friendName: string + firstChat: { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + senderUsername?: string + } | null + thisYearFirstChat?: { + createTime: number + createTimeStr: string + content: string + isSentByMe: boolean + friendName: string + firstThreeMessages: Array<{ + content: string + isSentByMe: boolean + createTime: number + createTimeStr: string + }> + } | null + yearlyStats: { + totalMessages: number + totalWords: number + imageCount: number + voiceCount: number + emojiCount: number + myTopEmojiMd5?: string + friendTopEmojiMd5?: string + myTopEmojiUrl?: string + friendTopEmojiUrl?: string + } + wordCloud: { + words: Array<{ phrase: string; count: number }> + totalWords: number + totalMessages: number + } + } + error?: string + }> + onProgress: (callback: (payload: { status: string; progress: number }) => void) => () => void + } export: { exportSessions: (sessionIds: string[], outputDir: string, options: ExportOptions) => Promise<{ success: boolean diff --git a/vite.config.ts b/vite.config.ts index 3e094ee..5fafe10 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -57,6 +57,24 @@ export default defineConfig({ } } }, + { + entry: 'electron/dualReportWorker.ts', + vite: { + build: { + outDir: 'dist-electron', + rollupOptions: { + external: [ + 'koffi', + 'fsevents' + ], + output: { + entryFileNames: 'dualReportWorker.js', + inlineDynamicImports: true + } + } + } + } + }, { entry: 'electron/imageSearchWorker.ts', vite: { From f40f885af3d2f11330531238e4517381200aeb85 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 01:26:43 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=90=8C=E6=AD=A5ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/dualReportService.ts | 56 ++-- src/pages/DualReportWindow.scss | 338 +++++++++---------------- src/pages/DualReportWindow.tsx | 267 ++++++++++--------- src/types/electron.d.ts | 12 +- 4 files changed, 302 insertions(+), 371 deletions(-) diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts index 6764bff..1b2f8f9 100644 --- a/electron/services/dualReportService.ts +++ b/electron/services/dualReportService.ts @@ -16,7 +16,7 @@ export interface DualReportFirstChat { senderUsername?: string } -export interface DualReportYearlyStats { +export interface DualReportStats { totalMessages: number totalWords: number imageCount: number @@ -28,19 +28,13 @@ export interface DualReportYearlyStats { friendTopEmojiUrl?: string } -export interface DualReportWordCloud { - words: Array<{ phrase: string; count: number }> - totalWords: number - totalMessages: number -} - export interface DualReportData { year: number - myName: string + selfName: string friendUsername: string friendName: string firstChat: DualReportFirstChat | null - thisYearFirstChat?: { + yearFirstChat?: { createTime: number createTimeStr: string content: string @@ -48,8 +42,8 @@ export interface DualReportData { friendName: string firstThreeMessages: DualReportMessage[] } | null - yearlyStats: DualReportYearlyStats - wordCloud: DualReportWordCloud + stats: DualReportStats + topPhrases: Array<{ phrase: string; count: number }> } class DualReportService { @@ -272,7 +266,7 @@ class DualReportService { } } - let thisYearFirstChat: DualReportData['thisYearFirstChat'] = null + let yearFirstChat: DualReportData['yearFirstChat'] = null if (!isAllTime) { this.reportProgress('获取今年首次聊天...', 20, onProgress) const firstYearRows = await this.getFirstMessages(friendUsername, 3, startTime, endTime) @@ -289,7 +283,7 @@ class DualReportService { createTimeStr: this.formatDateTime(msgTime) } }) - thisYearFirstChat = { + yearFirstChat = { createTime, createTimeStr: this.formatDateTime(createTime), content: String(this.decodeMessageContent(firstRow.message_content, firstRow.compress_content) || ''), @@ -301,7 +295,7 @@ class DualReportService { } this.reportProgress('统计聊天数据...', 30, onProgress) - const yearlyStats: DualReportYearlyStats = { + const stats: DualReportStats = { totalMessages: 0, totalWords: 0, imageCount: 0, @@ -334,12 +328,12 @@ class DualReportService { for (const row of batch.rows) { const localType = parseInt(row.local_type || row.type || '1', 10) const isSent = this.resolveIsSent(row, rawWxid, cleanedWxid) - yearlyStats.totalMessages += 1 + stats.totalMessages += 1 - if (localType === 3) yearlyStats.imageCount += 1 - if (localType === 34) yearlyStats.voiceCount += 1 + if (localType === 3) stats.imageCount += 1 + if (localType === 34) stats.voiceCount += 1 if (localType === 47) { - yearlyStats.emojiCount += 1 + stats.emojiCount += 1 const content = this.decodeMessageContent(row.message_content, row.compress_content) const md5 = this.extractEmojiMd5(content) const url = this.extractEmojiUrl(content) @@ -357,7 +351,7 @@ class DualReportService { const content = this.decodeMessageContent(row.message_content, row.compress_content) const text = String(content || '').trim() if (text.length > 0) { - yearlyStats.totalWords += text.replace(/\s+/g, '').length + stats.totalWords += text.replace(/\s+/g, '').length const normalized = text.replace(/\s+/g, ' ').trim() if (normalized.length >= 2 && normalized.length <= 50 && @@ -405,33 +399,27 @@ class DualReportService { const myTopEmojiMd5 = pickTop(myEmojiCounts) const friendTopEmojiMd5 = pickTop(friendEmojiCounts) - yearlyStats.myTopEmojiMd5 = myTopEmojiMd5 - yearlyStats.friendTopEmojiMd5 = friendTopEmojiMd5 - yearlyStats.myTopEmojiUrl = myTopEmojiMd5 ? myEmojiUrlMap.get(myTopEmojiMd5) : undefined - yearlyStats.friendTopEmojiUrl = friendTopEmojiMd5 ? friendEmojiUrlMap.get(friendTopEmojiMd5) : undefined + stats.myTopEmojiMd5 = myTopEmojiMd5 + stats.friendTopEmojiMd5 = friendTopEmojiMd5 + stats.myTopEmojiUrl = myTopEmojiMd5 ? myEmojiUrlMap.get(myTopEmojiMd5) : undefined + stats.friendTopEmojiUrl = friendTopEmojiMd5 ? friendEmojiUrlMap.get(friendTopEmojiMd5) : undefined this.reportProgress('生成常用语词云...', 85, onProgress) - const wordCloudWords = Array.from(wordCountMap.entries()) + const topPhrases = Array.from(wordCountMap.entries()) .filter(([_, count]) => count >= 2) .sort((a, b) => b[1] - a[1]) .slice(0, 50) .map(([phrase, count]) => ({ phrase, count })) - const wordCloud: DualReportWordCloud = { - words: wordCloudWords, - totalWords: yearlyStats.totalWords, - totalMessages: yearlyStats.totalMessages - } - const reportData: DualReportData = { year: reportYear, - myName, + selfName: myName, friendUsername, friendName, firstChat, - thisYearFirstChat, - yearlyStats, - wordCloud + yearFirstChat, + stats, + topPhrases } this.reportProgress('双人报告生成完成', 100, onProgress) diff --git a/src/pages/DualReportWindow.scss b/src/pages/DualReportWindow.scss index 2b0d19a..14d6e6c 100644 --- a/src/pages/DualReportWindow.scss +++ b/src/pages/DualReportWindow.scss @@ -1,220 +1,130 @@ -.dual-report-window { - color: var(--text-primary); - padding: 32px 24px 60px; - background: var(--bg-primary); -} - -.dual-report-window.loading, -.dual-report-window.error { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - min-height: 60vh; - gap: 12px; - color: var(--text-tertiary); -} - -.dual-section { - background: var(--card-bg); - border: 1px solid var(--border-color); - border-radius: 20px; - padding: 24px; - margin: 16px auto; - max-width: 900px; -} - -.dual-section.cover { - text-align: center; - background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 10%, transparent) 0%, var(--card-bg) 100%); - - .label { - font-size: 12px; - letter-spacing: 2px; - color: var(--text-tertiary); - margin-bottom: 12px; - } - - h1 { - margin: 0 0 12px; - font-size: 36px; - } - - p { - margin: 0; - color: var(--text-secondary); - } -} - -.section-title { - font-size: 18px; - font-weight: 700; - margin-bottom: 16px; -} - -.info-card { - display: flex; - flex-direction: column; - gap: 12px; -} - -.info-row { - display: flex; - justify-content: space-between; - gap: 16px; - font-size: 14px; -} - -.info-label { - color: var(--text-tertiary); -} - -.info-value { - color: var(--text-primary); - font-weight: 600; -} - -.info-empty { - color: var(--text-tertiary); -} - -.message-list { - display: flex; - flex-direction: column; - gap: 10px; - margin-top: 8px; -} - -.message-item { - padding: 10px 12px; - border-radius: 12px; - background: color-mix(in srgb, var(--primary) 6%, transparent); - - &.received { - background: color-mix(in srgb, var(--border-color) 35%, transparent); - } -} - -.message-meta { - font-size: 12px; - color: var(--text-tertiary); - margin-bottom: 6px; -} - -.message-content { - font-size: 14px; -} - -.stats-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); - gap: 12px; - margin-bottom: 16px; -} - -.stat-card { - background: color-mix(in srgb, var(--primary) 6%, transparent); - border-radius: 12px; - padding: 14px; - text-align: center; - - .stat-value { - font-size: 20px; +.annual-report-window.dual-report-window { + .dual-names { + font-size: clamp(24px, 4vw, 40px); font-weight: 700; + display: flex; + align-items: center; + gap: 12px; + margin: 8px 0 16px; + color: var(--ar-text-main); + + .amp { + color: var(--ar-primary); + } } - .stat-label { + .dual-info-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 16px; + margin-top: 16px; + } + + .dual-info-card { + background: var(--ar-card-bg); + border: 1px solid var(--bg-tertiary, rgba(0, 0, 0, 0.05)); + border-radius: 14px; + padding: 16px; + + &.full { + grid-column: 1 / -1; + } + + .info-label { + font-size: 12px; + color: var(--ar-text-sub); + margin-bottom: 8px; + } + + .info-value { + font-size: 16px; + font-weight: 600; + color: var(--ar-text-main); + } + } + + .dual-message-list { + margin-top: 16px; + display: flex; + flex-direction: column; + gap: 12px; + } + + .dual-message { + background: var(--ar-card-bg); + border-radius: 14px; + padding: 14px; + + &.received { + background: var(--ar-card-bg-hover); + } + + .message-meta { + font-size: 12px; + color: var(--ar-text-sub); + margin-bottom: 6px; + } + + .message-content { + font-size: 14px; + color: var(--ar-text-main); + } + } + + .dual-stat-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: 16px; + margin: 20px 0 24px; + } + + .dual-stat-card { + background: var(--ar-card-bg); + border-radius: 16px; + padding: 18px; + text-align: center; + } + + .emoji-row { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 16px; + } + + .emoji-card { + border: 1px solid var(--bg-tertiary, rgba(0, 0, 0, 0.08)); + border-radius: 16px; + padding: 16px; + display: flex; + flex-direction: column; + gap: 10px; + align-items: center; + justify-content: center; + background: var(--ar-card-bg); + + img { + width: 64px; + height: 64px; + object-fit: contain; + } + } + + .emoji-title { font-size: 12px; - color: var(--text-tertiary); - margin-top: 4px; + color: var(--ar-text-sub); + } + + .emoji-placeholder { + font-size: 12px; + color: var(--ar-text-sub); + word-break: break-all; + text-align: center; + } + + .word-cloud-empty { + color: var(--ar-text-sub); + font-size: 14px; + text-align: center; + padding: 24px 0; } } - -.emoji-row { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 12px; -} - -.emoji-card { - border: 1px solid var(--border-color); - border-radius: 14px; - padding: 14px; - display: flex; - flex-direction: column; - gap: 10px; - align-items: center; - justify-content: center; - - img { - width: 64px; - height: 64px; - object-fit: contain; - } -} - -.emoji-title { - font-size: 12px; - color: var(--text-tertiary); -} - -.emoji-placeholder { - font-size: 12px; - color: var(--text-secondary); - word-break: break-all; - text-align: center; -} - -.word-cloud-wrapper { - position: relative; - width: 100%; - padding-top: 80%; - background: color-mix(in srgb, var(--primary) 4%, transparent); - border-radius: 18px; - overflow: hidden; -} - -.word-cloud-inner { - position: absolute; - inset: 0; -} - -.word-tag { - position: absolute; - font-weight: 600; - color: var(--text-primary); - transform: translate(-50%, -50%); - opacity: 0; - animation: fadeUp 0.8s ease forwards; -} - -.word-cloud-empty { - color: var(--text-tertiary); - font-size: 14px; - text-align: center; - padding: 40px 0; -} - -.progress { - font-size: 20px; - font-weight: 700; -} - -.stage { - font-size: 12px; - color: var(--text-tertiary); -} - -.spin { - animation: spin 1s linear infinite; -} - -@keyframes spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} - -@keyframes fadeUp { - from { opacity: 0; transform: translate(-50%, -50%) translateY(10px); } - to { opacity: var(--final-opacity, 1); transform: translate(-50%, -50%) translateY(0); } -} diff --git a/src/pages/DualReportWindow.tsx b/src/pages/DualReportWindow.tsx index 2112f88..883acc3 100644 --- a/src/pages/DualReportWindow.tsx +++ b/src/pages/DualReportWindow.tsx @@ -1,5 +1,5 @@ import { useEffect, useState, type CSSProperties } from 'react' -import { Loader2 } from 'lucide-react' +import './AnnualReportWindow.scss' import './DualReportWindow.scss' interface DualReportMessage { @@ -11,7 +11,7 @@ interface DualReportMessage { interface DualReportData { year: number - myName: string + selfName: string friendUsername: string friendName: string firstChat: { @@ -21,7 +21,7 @@ interface DualReportData { isSentByMe: boolean senderUsername?: string } | null - thisYearFirstChat?: { + yearFirstChat?: { createTime: number createTimeStr: string content: string @@ -29,7 +29,7 @@ interface DualReportData { friendName: string firstThreeMessages: DualReportMessage[] } | null - yearlyStats: { + stats: { totalMessages: number totalWords: number imageCount: number @@ -40,19 +40,16 @@ interface DualReportData { myTopEmojiUrl?: string friendTopEmojiUrl?: string } - wordCloud: { - words: Array<{ phrase: string; count: number }> - totalWords: number - totalMessages: number - } + topPhrases: Array<{ phrase: string; count: number }> } const WordCloud = ({ words }: { words: { phrase: string; count: number }[] }) => { if (!words || words.length === 0) { return
暂无高频语句
} - const maxCount = words.length > 0 ? words[0].count : 1 - const topWords = words.slice(0, 32) + const sortedWords = [...words].sort((a, b) => b.count - a.count) + const maxCount = sortedWords.length > 0 ? sortedWords[0].count : 1 + const topWords = sortedWords.slice(0, 32) const baseSize = 520 const seededRandom = (seed: number) => { @@ -205,7 +202,7 @@ function DualReportWindow() { useEffect(() => { const loadEmojis = async () => { if (!reportData) return - const stats = reportData.yearlyStats + const stats = reportData.stats if (stats.myTopEmojiUrl) { const res = await window.electronAPI.chat.downloadEmoji(stats.myTopEmojiUrl, stats.myTopEmojiMd5) if (res.success && res.localPath) { @@ -224,25 +221,35 @@ function DualReportWindow() { if (isLoading) { return ( -
- -
{loadingProgress}%
-
{loadingStage}
+
+
+ + + + + {loadingProgress}% +
+

{loadingStage}

+

进行中

) } if (error) { return ( -
-

生成报告失败:{error}

+
+

生成报告失败: {error}

) } if (!reportData) { return ( -
+

暂无数据

) @@ -253,112 +260,142 @@ function DualReportWindow() { const daysSince = firstChat ? Math.max(0, Math.floor((Date.now() - firstChat.createTime) / 86400000)) : null - const thisYearFirstChat = reportData.thisYearFirstChat - const stats = reportData.yearlyStats + const yearFirstChat = reportData.yearFirstChat + const stats = reportData.stats return ( -
-
-
DUAL REPORT
-

{reportData.myName} & {reportData.friendName}

-

让我们一起回顾这段独一无二的对话

-
+
+
-
-
首次聊天
- {firstChat ? ( -
-
- 第一次聊天时间 - {firstChat.createTimeStr} -
-
- 距今天数 - {daysSince} 天 -
-
- 首条消息 - {firstChat.content || '(空)'} -
-
- ) : ( -
暂无首条消息
- )} -
+
+
+
+
+
+
+
- {thisYearFirstChat ? ( -
-
今年首次聊天
-
-
- 首次时间 - {thisYearFirstChat.createTimeStr} +
+
+
+
WEFLOW · DUAL REPORT
+

{yearTitle}
双人聊天报告

+
+
+ {reportData.selfName} + & + {reportData.friendName}
-
- 发起者 - {thisYearFirstChat.isSentByMe ? reportData.myName : reportData.friendName} -
-
- {thisYearFirstChat.firstThreeMessages.map((msg, idx) => ( -
-
{msg.isSentByMe ? reportData.myName : reportData.friendName} · {msg.createTimeStr}
-
{msg.content || '(空)'}
+

每一次对话都值得被珍藏

+
+ +
+
首次聊天
+

故事的开始

+ {firstChat ? ( +
+
+
第一次聊天时间
+
{firstChat.createTimeStr}
- ))} +
+
距今天数
+
{daysSince} 天
+
+
+
首条消息
+
{firstChat.content || '(空)'}
+
+
+ ) : ( +

暂无首条消息

+ )} +
+ + {yearFirstChat ? ( +
+
今年首次聊天
+

新一年的开场

+
+
+
首次时间
+
{yearFirstChat.createTimeStr}
+
+
+
发起者
+
{yearFirstChat.isSentByMe ? reportData.selfName : reportData.friendName}
+
+
+
+ {yearFirstChat.firstThreeMessages.map((msg, idx) => ( +
+
{msg.isSentByMe ? reportData.selfName : reportData.friendName} · {msg.createTimeStr}
+
{msg.content || '(空)'}
+
+ ))} +
+
+ ) : null} + +
+
常用语
+

{yearTitle}常用语

+ +
+ +
+
年度统计
+

{yearTitle}数据概览

+
+
+
{stats.totalMessages.toLocaleString()}
+
总消息数
+
+
+
{stats.totalWords.toLocaleString()}
+
总字数
+
+
+
{stats.imageCount.toLocaleString()}
+
图片
+
+
+
{stats.voiceCount.toLocaleString()}
+
语音
+
+
+
{stats.emojiCount.toLocaleString()}
+
表情
+
-
-
- ) : null} -
-
{yearTitle}常用语
- -
+
+
+
我常用的表情
+ {myEmojiUrl ? ( + my-emoji + ) : ( +
{stats.myTopEmojiMd5 || '暂无'}
+ )} +
+
+
{reportData.friendName}常用的表情
+ {friendEmojiUrl ? ( + friend-emoji + ) : ( +
{stats.friendTopEmojiMd5 || '暂无'}
+ )} +
+
+
-
-
{yearTitle}统计
-
-
-
{stats.totalMessages.toLocaleString()}
-
总消息数
-
-
-
{stats.totalWords.toLocaleString()}
-
总字数
-
-
-
{stats.imageCount.toLocaleString()}
-
图片
-
-
-
{stats.voiceCount.toLocaleString()}
-
语音
-
-
-
{stats.emojiCount.toLocaleString()}
-
表情
-
+
+
尾声
+

谢谢你一直在

+

愿我们继续把故事写下去

+
- -
-
-
我常用的表情
- {myEmojiUrl ? ( - my-emoji - ) : ( -
{stats.myTopEmojiMd5 || '暂无'}
- )} -
-
-
{reportData.friendName}常用的表情
- {friendEmojiUrl ? ( - friend-emoji - ) : ( -
{stats.friendTopEmojiMd5 || '暂无'}
- )} -
-
-
+
) } diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index bfa4e6d..b67b8f8 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -342,7 +342,7 @@ export interface ElectronAPI { success: boolean data?: { year: number - myName: string + selfName: string friendUsername: string friendName: string firstChat: { @@ -352,7 +352,7 @@ export interface ElectronAPI { isSentByMe: boolean senderUsername?: string } | null - thisYearFirstChat?: { + yearFirstChat?: { createTime: number createTimeStr: string content: string @@ -365,7 +365,7 @@ export interface ElectronAPI { createTimeStr: string }> } | null - yearlyStats: { + stats: { totalMessages: number totalWords: number imageCount: number @@ -376,11 +376,7 @@ export interface ElectronAPI { myTopEmojiUrl?: string friendTopEmojiUrl?: string } - wordCloud: { - words: Array<{ phrase: string; count: number }> - totalWords: number - totalMessages: number - } + topPhrases: Array<{ phrase: string; count: number }> } error?: string }> From ddbb0c3b2621ae277c31d77cb2cd1b50c520e834 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 02:26:00 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E4=BC=98=E5=8C=96ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/dualReportService.ts | 33 +++++- src/pages/AnnualReportPage.tsx | 4 +- src/pages/DualReportWindow.scss | 139 +++++++++++++++++++++-- src/pages/DualReportWindow.tsx | 149 ++++++++++++++++++------- src/types/electron.d.ts | 6 + 5 files changed, 276 insertions(+), 55 deletions(-) diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts index 1b2f8f9..3d9a857 100644 --- a/electron/services/dualReportService.ts +++ b/electron/services/dualReportService.ts @@ -34,6 +34,7 @@ export interface DualReportData { friendUsername: string friendName: string firstChat: DualReportFirstChat | null + firstChatMessages?: DualReportMessage[] yearFirstChat?: { createTime: number createTimeStr: string @@ -210,12 +211,23 @@ class DualReportService { beginTimestamp: number, endTimestamp: number ): Promise { - const cursorResult = await wcdbService.openMessageCursor(sessionId, Math.max(1, limit), true, beginTimestamp, endTimestamp) + const safeBegin = Math.max(0, beginTimestamp || 0) + const safeEnd = endTimestamp && endTimestamp > 0 ? endTimestamp : Math.floor(Date.now() / 1000) + const cursorResult = await wcdbService.openMessageCursor(sessionId, Math.max(1, limit), true, safeBegin, safeEnd) if (!cursorResult.success || !cursorResult.cursor) return [] try { - const batch = await wcdbService.fetchMessageBatch(cursorResult.cursor) - if (!batch.success || !batch.rows) return [] - return batch.rows.slice(0, limit) + const rows: any[] = [] + let hasMore = true + while (hasMore && rows.length < limit) { + const batch = await wcdbService.fetchMessageBatch(cursorResult.cursor) + if (!batch.success || !batch.rows) break + for (const row of batch.rows) { + rows.push(row) + if (rows.length >= limit) break + } + hasMore = batch.hasMore === true + } + return rows.slice(0, limit) } finally { await wcdbService.closeMessageCursor(cursorResult.cursor) } @@ -251,7 +263,7 @@ class DualReportService { } this.reportProgress('获取首条聊天记录...', 15, onProgress) - const firstRows = await this.getFirstMessages(friendUsername, 1, 0, 0) + const firstRows = await this.getFirstMessages(friendUsername, 3, 0, 0) let firstChat: DualReportFirstChat | null = null if (firstRows.length > 0) { const row = firstRows[0] @@ -265,6 +277,16 @@ class DualReportService { senderUsername: row.sender_username || row.sender } } + const firstChatMessages: DualReportMessage[] = firstRows.map((row) => { + const msgTime = parseInt(row.create_time || '0', 10) * 1000 + const msgContent = this.decodeMessageContent(row.message_content, row.compress_content) + return { + content: String(msgContent || ''), + isSentByMe: this.resolveIsSent(row, rawWxid, cleanedWxid), + createTime: msgTime, + createTimeStr: this.formatDateTime(msgTime) + } + }) let yearFirstChat: DualReportData['yearFirstChat'] = null if (!isAllTime) { @@ -417,6 +439,7 @@ class DualReportService { friendUsername, friendName, firstChat, + firstChatMessages, yearFirstChat, stats, topPhrases diff --git a/src/pages/AnnualReportPage.tsx b/src/pages/AnnualReportPage.tsx index 7bd8b10..d0aa943 100644 --- a/src/pages/AnnualReportPage.tsx +++ b/src/pages/AnnualReportPage.tsx @@ -25,8 +25,8 @@ function AnnualReportPage() { const result = await window.electronAPI.annualReport.getAvailableYears() if (result.success && result.data && result.data.length > 0) { setAvailableYears(result.data) - setSelectedYear(result.data[0]) - setSelectedPairYear(result.data[0]) + setSelectedYear((prev) => prev ?? result.data[0]) + setSelectedPairYear((prev) => prev ?? result.data[0]) } else if (!result.success) { setLoadError(result.error || '加载年度数据失败') } diff --git a/src/pages/DualReportWindow.scss b/src/pages/DualReportWindow.scss index 14d6e6c..646b9ab 100644 --- a/src/pages/DualReportWindow.scss +++ b/src/pages/DualReportWindow.scss @@ -1,4 +1,13 @@ .annual-report-window.dual-report-window { + .hero-title { + font-size: clamp(22px, 4vw, 34px); + white-space: nowrap; + } + + .dual-cover-title { + font-size: clamp(26px, 5vw, 44px); + white-space: normal; + } .dual-names { font-size: clamp(24px, 4vw, 40px); font-weight: 700; @@ -71,30 +80,144 @@ } } + .first-chat-scene { + background: linear-gradient(180deg, #8f5b85 0%, #e38aa0 50%, #f6d0c8 100%); + border-radius: 20px; + padding: 28px 24px 24px; + color: #fff; + position: relative; + overflow: hidden; + margin-top: 16px; + } + + .first-chat-scene::before { + content: ""; + position: absolute; + inset: 0; + background-image: + radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.2), transparent 40%), + radial-gradient(circle at 80% 10%, rgba(255, 255, 255, 0.15), transparent 35%), + radial-gradient(circle at 50% 80%, rgba(255, 255, 255, 0.12), transparent 45%); + opacity: 0.6; + pointer-events: none; + } + + .scene-title { + font-size: 24px; + font-weight: 700; + text-align: center; + margin-bottom: 8px; + } + + .scene-subtitle { + font-size: 18px; + font-weight: 500; + text-align: center; + margin-bottom: 20px; + opacity: 0.95; + } + + .scene-messages { + display: flex; + flex-direction: column; + gap: 14px; + } + + .scene-message { + display: flex; + align-items: flex-end; + gap: 12px; + + &.sent { + flex-direction: row-reverse; + } + } + + .scene-avatar { + width: 40px; + height: 40px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.25); + display: flex; + align-items: center; + justify-content: center; + font-weight: 700; + color: #fff; + } + + .scene-bubble { + background: rgba(255, 255, 255, 0.85); + color: #5a4d5e; + padding: 10px 14px; + border-radius: 14px; + max-width: 60%; + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); + } + + .scene-message.sent .scene-bubble { + background: rgba(255, 224, 168, 0.9); + color: #4a3a2f; + } + + .scene-meta { + font-size: 11px; + opacity: 0.7; + margin-bottom: 4px; + } + + .scene-content { + font-size: 14px; + line-height: 1.4; + word-break: break-word; + } + + .scene-message.sent .scene-avatar { + background: rgba(255, 224, 168, 0.9); + color: #4a3a2f; + } + .dual-stat-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); - gap: 16px; - margin: 20px 0 24px; + grid-template-columns: repeat(5, minmax(140px, 1fr)); + gap: 14px; + margin: 20px -28px 24px; + padding: 0 28px; + overflow: visible; } .dual-stat-card { background: var(--ar-card-bg); - border-radius: 16px; - padding: 18px; + border-radius: 14px; + padding: 14px 12px; text-align: center; } + .stat-num { + font-size: clamp(20px, 2.8vw, 30px); + font-variant-numeric: tabular-nums; + white-space: nowrap; + } + + .stat-unit { + font-size: 12px; + } + + .dual-stat-card.long .stat-num { + font-size: clamp(18px, 2.4vw, 26px); + letter-spacing: -0.02em; + } + .emoji-row { display: grid; - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: 16px; + grid-template-columns: repeat(2, minmax(260px, 1fr)); + gap: 20px; + margin: 0 -12px; } .emoji-card { border: 1px solid var(--bg-tertiary, rgba(0, 0, 0, 0.08)); border-radius: 16px; - padding: 16px; + padding: 18px 16px; display: flex; flex-direction: column; gap: 10px; diff --git a/src/pages/DualReportWindow.tsx b/src/pages/DualReportWindow.tsx index 883acc3..8ba3f92 100644 --- a/src/pages/DualReportWindow.tsx +++ b/src/pages/DualReportWindow.tsx @@ -21,6 +21,7 @@ interface DualReportData { isSentByMe: boolean senderUsername?: string } | null + firstChatMessages?: DualReportMessage[] yearFirstChat?: { createTime: number createTimeStr: string @@ -257,11 +258,72 @@ function DualReportWindow() { const yearTitle = reportData.year === 0 ? '全部时间' : `${reportData.year}年` const firstChat = reportData.firstChat + const firstChatMessages = (reportData.firstChatMessages && reportData.firstChatMessages.length > 0) + ? reportData.firstChatMessages.slice(0, 3) + : firstChat + ? [{ + content: firstChat.content, + isSentByMe: firstChat.isSentByMe, + createTime: firstChat.createTime, + createTimeStr: firstChat.createTimeStr + }] + : [] const daysSince = firstChat ? Math.max(0, Math.floor((Date.now() - firstChat.createTime) / 86400000)) : null const yearFirstChat = reportData.yearFirstChat const stats = reportData.stats + const statItems = [ + { label: '总消息数', value: stats.totalMessages }, + { label: '总字数', value: stats.totalWords }, + { label: '图片', value: stats.imageCount }, + { label: '语音', value: stats.voiceCount }, + { label: '表情', value: stats.emojiCount }, + ] + + const decodeEntities = (text: string) => ( + text + .replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/"/g, '"') + .replace(/'/g, "'") + ) + + const stripCdata = (text: string) => text.replace(//g, '$1') + + const extractXmlText = (content: string) => { + const titleMatch = content.match(/([\s\S]*?)<\/title>/i) + if (titleMatch?.[1]) return titleMatch[1] + const descMatch = content.match(/<des>([\s\S]*?)<\/des>/i) + if (descMatch?.[1]) return descMatch[1] + const summaryMatch = content.match(/<summary>([\s\S]*?)<\/summary>/i) + if (summaryMatch?.[1]) return summaryMatch[1] + const contentMatch = content.match(/<content>([\s\S]*?)<\/content>/i) + if (contentMatch?.[1]) return contentMatch[1] + return '' + } + + const formatMessageContent = (content?: string) => { + const raw = String(content || '').trim() + if (!raw) return '(空)' + const hasXmlTag = /<\s*[a-zA-Z]+[^>]*>/.test(raw) + const looksLikeXml = /<\?xml|<msg\b|<appmsg\b|<sysmsg\b|<appattach\b|<emoji\b|<img\b|<voip\b/i.test(raw) + || hasXmlTag + if (!looksLikeXml) return raw + const extracted = extractXmlText(raw) + if (!extracted) return '(XML消息)' + return decodeEntities(stripCdata(extracted).trim()) || '(XML消息)' + } + const formatFullDate = (timestamp: number) => { + const d = new Date(timestamp) + const year = d.getFullYear() + const month = String(d.getMonth() + 1).padStart(2, '0') + const day = String(d.getDate()).padStart(2, '0') + const hour = String(d.getHours()).padStart(2, '0') + const minute = String(d.getMinutes()).padStart(2, '0') + return `${year}/${month}/${day} ${hour}:${minute}` + } return ( <div className="annual-report-window dual-report-window"> @@ -279,7 +341,7 @@ function DualReportWindow() { <div className="report-container"> <section className="section"> <div className="label-text">WEFLOW · DUAL REPORT</div> - <h1 className="hero-title">{yearTitle}<br />双人聊天报告</h1> + <h1 className="hero-title dual-cover-title">{yearTitle}<br />双人聊天报告</h1> <hr className="divider" /> <div className="dual-names"> <span>{reportData.selfName}</span> @@ -293,20 +355,33 @@ function DualReportWindow() { <div className="label-text">首次聊天</div> <h2 className="hero-title">故事的开始</h2> {firstChat ? ( - <div className="dual-info-grid"> - <div className="dual-info-card"> - <div className="info-label">第一次聊天时间</div> - <div className="info-value">{firstChat.createTimeStr}</div> + <> + <div className="dual-info-grid"> + <div className="dual-info-card"> + <div className="info-label">第一次聊天时间</div> + <div className="info-value">{formatFullDate(firstChat.createTime)}</div> + </div> + <div className="dual-info-card"> + <div className="info-label">距今天数</div> + <div className="info-value">{daysSince} 天</div> + </div> </div> - <div className="dual-info-card"> - <div className="info-label">距今天数</div> - <div className="info-value">{daysSince} 天</div> - </div> - <div className="dual-info-card full"> - <div className="info-label">首条消息</div> - <div className="info-value">{firstChat.content || '(空)'}</div> - </div> - </div> + {firstChatMessages.length > 0 ? ( + <div className="dual-message-list"> + {firstChatMessages.map((msg, idx) => ( + <div + key={idx} + className={`dual-message ${msg.isSentByMe ? 'sent' : 'received'}`} + > + <div className="message-meta"> + {msg.isSentByMe ? reportData.selfName : reportData.friendName} · {formatFullDate(msg.createTime)} + </div> + <div className="message-content">{formatMessageContent(msg.content)}</div> + </div> + ))} + </div> + ) : null} + </> ) : ( <p className="hero-desc">暂无首条消息</p> )} @@ -314,12 +389,14 @@ function DualReportWindow() { {yearFirstChat ? ( <section className="section"> - <div className="label-text">今年首次聊天</div> - <h2 className="hero-title">新一年的开场</h2> + <div className="label-text">第一段对话</div> + <h2 className="hero-title"> + {reportData.year === 0 ? '你们的第一段对话' : `${reportData.year}年的第一段对话`} + </h2> <div className="dual-info-grid"> <div className="dual-info-card"> - <div className="info-label">首次时间</div> - <div className="info-value">{yearFirstChat.createTimeStr}</div> + <div className="info-label">第一段对话时间</div> + <div className="info-value">{formatFullDate(yearFirstChat.createTime)}</div> </div> <div className="dual-info-card"> <div className="info-label">发起者</div> @@ -329,8 +406,10 @@ function DualReportWindow() { <div className="dual-message-list"> {yearFirstChat.firstThreeMessages.map((msg, idx) => ( <div key={idx} className={`dual-message ${msg.isSentByMe ? 'sent' : 'received'}`}> - <div className="message-meta">{msg.isSentByMe ? reportData.selfName : reportData.friendName} · {msg.createTimeStr}</div> - <div className="message-content">{msg.content || '(空)'}</div> + <div className="message-meta"> + {msg.isSentByMe ? reportData.selfName : reportData.friendName} · {formatFullDate(msg.createTime)} + </div> + <div className="message-content">{formatMessageContent(msg.content)}</div> </div> ))} </div> @@ -347,26 +426,16 @@ function DualReportWindow() { <div className="label-text">年度统计</div> <h2 className="hero-title">{yearTitle}数据概览</h2> <div className="dual-stat-grid"> - <div className="dual-stat-card"> - <div className="stat-num">{stats.totalMessages.toLocaleString()}</div> - <div className="stat-unit">总消息数</div> - </div> - <div className="dual-stat-card"> - <div className="stat-num">{stats.totalWords.toLocaleString()}</div> - <div className="stat-unit">总字数</div> - </div> - <div className="dual-stat-card"> - <div className="stat-num">{stats.imageCount.toLocaleString()}</div> - <div className="stat-unit">图片</div> - </div> - <div className="dual-stat-card"> - <div className="stat-num">{stats.voiceCount.toLocaleString()}</div> - <div className="stat-unit">语音</div> - </div> - <div className="dual-stat-card"> - <div className="stat-num">{stats.emojiCount.toLocaleString()}</div> - <div className="stat-unit">表情</div> - </div> + {statItems.map((item) => { + const valueText = item.value.toLocaleString() + const isLong = valueText.length > 7 + return ( + <div key={item.label} className={`dual-stat-card ${isLong ? 'long' : ''}`}> + <div className="stat-num">{valueText}</div> + <div className="stat-unit">{item.label}</div> + </div> + ) + })} </div> <div className="emoji-row"> diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index b67b8f8..68e2cf5 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -352,6 +352,12 @@ export interface ElectronAPI { isSentByMe: boolean senderUsername?: string } | null + firstChatMessages?: Array<{ + content: string + isSentByMe: boolean + createTime: number + createTimeStr: string + }> yearFirstChat?: { createTime: number createTimeStr: string From e0f22f58c8320eadf4317f2e241d54674f5ce5a4 Mon Sep 17 00:00:00 2001 From: cc <98377878+hicccc77@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:01:50 +0800 Subject: [PATCH 07/10] =?UTF-8?q?feat:=20=E4=B8=80=E4=BA=9B=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/annualReportService.ts | 189 ++++++++++++++++++++- electron/services/exportService.ts | 163 ++---------------- electron/services/groupAnalyticsService.ts | 93 +--------- electron/services/wcdbCore.ts | 90 +++++++++- electron/services/wcdbService.ts | 19 +++ electron/wcdbWorker.ts | 9 + resources/wcdb_api.dll | Bin 724480 -> 750592 bytes src/pages/AnnualReportWindow.scss | 131 ++++++++++++++ src/pages/AnnualReportWindow.tsx | 110 +++++++++++- src/pages/SnsPage.scss | 31 ++++ src/pages/SnsPage.tsx | 6 +- 11 files changed, 599 insertions(+), 242 deletions(-) diff --git a/electron/services/annualReportService.ts b/electron/services/annualReportService.ts index 607872b..87a6dc5 100644 --- a/electron/services/annualReportService.ts +++ b/electron/services/annualReportService.ts @@ -69,6 +69,20 @@ export interface AnnualReportData { phrase: string count: number }[] + snsStats?: { + totalPosts: number + typeCounts?: Record<string, number> + topLikers: { username: string; displayName: string; avatarUrl?: string; count: number }[] + topLiked: { username: string; displayName: string; avatarUrl?: string; count: number }[] + } + lostFriend: { + username: string + displayName: string + avatarUrl?: string + earlyCount: number + lateCount: number + periodDesc: string + } | null } class AnnualReportService { @@ -402,6 +416,11 @@ class AnnualReportService { const startTime = isAllTime ? 0 : Math.floor(new Date(year, 0, 1).getTime() / 1000) const endTime = isAllTime ? 0 : Math.floor(new Date(year, 11, 31, 23, 59, 59).getTime() / 1000) + const now = new Date() + // 全局统计始终使用自然年范围 (Jan 1st - Now/YearEnd) + const actualStartTime = startTime + const actualEndTime = endTime + let totalMessages = 0 const contactStats = new Map<string, { sent: number; received: number }>() const monthlyStats = new Map<string, Map<number, number>>() @@ -422,7 +441,7 @@ class AnnualReportService { const CONVERSATION_GAP = 3600 this.reportProgress('统计会话消息...', 20, onProgress) - const result = await wcdbService.getAnnualReportStats(sessionIds, startTime, endTime) + const result = await wcdbService.getAnnualReportStats(sessionIds, actualStartTime, actualEndTime) if (!result.success || !result.data) { return { success: false, error: result.error ? `基础统计失败: ${result.error}` : '基础统计失败' } } @@ -476,7 +495,7 @@ class AnnualReportService { } this.reportProgress('加载扩展统计... (初始化)', 30, onProgress) - const extras = await wcdbService.getAnnualReportExtras(sessionIds, startTime, endTime, peakDayBegin, peakDayEnd) + const extras = await wcdbService.getAnnualReportExtras(sessionIds, actualStartTime, actualEndTime, peakDayBegin, peakDayEnd) if (extras.success && extras.data) { this.reportProgress('加载扩展统计... (解析热力图)', 32, onProgress) const extrasData = extras.data as any @@ -556,7 +575,7 @@ class AnnualReportService { // 为保持功能完整,我们进行深度集成的轻量遍历: for (let i = 0; i < sessionIds.length; i++) { const sessionId = sessionIds[i] - const cursor = await wcdbService.openMessageCursorLite(sessionId, 1000, true, startTime, endTime) + const cursor = await wcdbService.openMessageCursorLite(sessionId, 1000, true, actualStartTime, actualEndTime) if (!cursor.success || !cursor.cursor) continue let lastDayIndex: number | null = null @@ -691,7 +710,7 @@ class AnnualReportService { if (!streakComputedInLoop) { this.reportProgress('计算连续聊天...', 45, onProgress) - const streakResult = await this.computeLongestStreak(sessionIds, startTime, endTime, onProgress, 45, 75) + const streakResult = await this.computeLongestStreak(sessionIds, actualStartTime, actualEndTime, onProgress, 45, 75) if (streakResult.days > longestStreakDays) { longestStreakDays = streakResult.days longestStreakSessionId = streakResult.sessionId @@ -700,6 +719,42 @@ class AnnualReportService { } } + // 获取朋友圈统计 + this.reportProgress('分析朋友圈数据...', 75, onProgress) + let snsStatsResult: { + totalPosts: number + typeCounts?: Record<string, number> + topLikers: { username: string; displayName: string; avatarUrl?: string; count: number }[] + topLiked: { username: string; displayName: string; avatarUrl?: string; count: number }[] + } | undefined + + const snsStats = await wcdbService.getSnsAnnualStats(actualStartTime, actualEndTime) + + if (snsStats.success && snsStats.data) { + const d = snsStats.data + const usersToFetch = new Set<string>() + d.topLikers?.forEach((u: any) => usersToFetch.add(u.username)) + d.topLiked?.forEach((u: any) => usersToFetch.add(u.username)) + + const snsUserIds = Array.from(usersToFetch) + const [snsDisplayNames, snsAvatarUrls] = await Promise.all([ + wcdbService.getDisplayNames(snsUserIds), + wcdbService.getAvatarUrls(snsUserIds) + ]) + + const getSnsUserInfo = (username: string) => ({ + displayName: snsDisplayNames.success && snsDisplayNames.map ? (snsDisplayNames.map[username] || username) : username, + avatarUrl: snsAvatarUrls.success && snsAvatarUrls.map ? snsAvatarUrls.map[username] : undefined + }) + + snsStatsResult = { + totalPosts: d.totalPosts || 0, + typeCounts: d.typeCounts, + topLikers: (d.topLikers || []).map((u: any) => ({ ...u, ...getSnsUserInfo(u.username) })), + topLiked: (d.topLiked || []).map((u: any) => ({ ...u, ...getSnsUserInfo(u.username) })) + } + } + this.reportProgress('整理联系人信息...', 85, onProgress) const contactIds = Array.from(contactStats.keys()) @@ -903,6 +958,128 @@ class AnnualReportService { .slice(0, 32) .map(([phrase, count]) => ({ phrase, count })) + // 曾经的好朋友 (Once Best Friend / Lost Friend) + let lostFriend: AnnualReportData['lostFriend'] = null + let maxRatio = 5 + let bestEarlyCount = 0 + let bestLateCount = 0 + let bestSid = '' + let bestPeriodDesc = '' + + const currentMonthIndex = new Date().getMonth() + 1 // 1-12 + + const currentYearNum = now.getFullYear() + + if (isAllTime) { + const days = Object.keys(d.daily).sort() + if (days.length >= 2) { + const firstDay = Math.floor(new Date(days[0]).getTime() / 1000) + const lastDay = Math.floor(new Date(days[days.length - 1]).getTime() / 1000) + const midPoint = Math.floor((firstDay + lastDay) / 2) + + this.reportProgress('分析历史趋势 (1/2)...', 86, onProgress) + const earlyRes = await wcdbService.getAggregateStats(sessionIds, 0, midPoint) + this.reportProgress('分析历史趋势 (2/2)...', 88, onProgress) + const lateRes = await wcdbService.getAggregateStats(sessionIds, midPoint, 0) + + if (earlyRes.success && lateRes.success && earlyRes.data) { + const earlyData = earlyRes.data.sessions || {} + const lateData = (lateRes.data?.sessions) || {} + for (const sid of sessionIds) { + const e = earlyData[sid] || { sent: 0, received: 0 } + const l = lateData[sid] || { sent: 0, received: 0 } + const early = (e.sent || 0) + (e.received || 0) + const late = (l.sent || 0) + (l.received || 0) + if (early > 100 && early > late * 5) { + const ratio = early / (late || 1) + if (ratio > maxRatio) { + maxRatio = ratio + bestEarlyCount = early + bestLateCount = late + bestSid = sid + bestPeriodDesc = '账号历史早期' + } + } + } + } + } + } else if (year === currentYearNum) { + // 当前年份:独立获取过去12个月的滚动数据 + this.reportProgress('分析近期好友趋势...', 86, onProgress) + // 往前数12个月的起点、中点、终点 + const rollingStart = Math.floor(new Date(now.getFullYear(), now.getMonth() - 11, 1).getTime() / 1000) + const rollingMid = Math.floor(new Date(now.getFullYear(), now.getMonth() - 5, 1).getTime() / 1000) + const rollingEnd = Math.floor(now.getTime() / 1000) + + const earlyRes = await wcdbService.getAggregateStats(sessionIds, rollingStart, rollingMid - 1) + const lateRes = await wcdbService.getAggregateStats(sessionIds, rollingMid, rollingEnd) + + if (earlyRes.success && lateRes.success && earlyRes.data) { + const earlyData = earlyRes.data.sessions || {} + const lateData = lateRes.data?.sessions || {} + for (const sid of sessionIds) { + const e = earlyData[sid] || { sent: 0, received: 0 } + const l = lateData[sid] || { sent: 0, received: 0 } + const early = (e.sent || 0) + (e.received || 0) + const late = (l.sent || 0) + (l.received || 0) + if (early > 80 && early > late * 5) { + const ratio = early / (late || 1) + if (ratio > maxRatio) { + maxRatio = ratio + bestEarlyCount = early + bestLateCount = late + bestSid = sid + bestPeriodDesc = '去年的这个时候' + } + } + } + } + } else { + // 指定完整年份 (1-6 vs 7-12) + for (const [sid, stat] of Object.entries(d.sessions)) { + const s = stat as any + const mWeights = s.monthly || {} + let early = 0 + let late = 0 + for (let m = 1; m <= 6; m++) early += mWeights[m] || 0 + for (let m = 7; m <= 12; m++) late += mWeights[m] || 0 + + if (early > 80 && early > late * 5) { + const ratio = early / (late || 1) + if (ratio > maxRatio) { + maxRatio = ratio + bestEarlyCount = early + bestLateCount = late + bestSid = sid + bestPeriodDesc = `${year}年上半年` + } + } + } + } + + if (bestSid) { + let info = contactInfoMap.get(bestSid) + // 如果 contactInfoMap 中没有该联系人,则单独获取 + if (!info) { + const [displayNameRes, avatarUrlRes] = await Promise.all([ + wcdbService.getDisplayNames([bestSid]), + wcdbService.getAvatarUrls([bestSid]) + ]) + info = { + displayName: displayNameRes.success && displayNameRes.map ? (displayNameRes.map[bestSid] || bestSid) : bestSid, + avatarUrl: avatarUrlRes.success && avatarUrlRes.map ? avatarUrlRes.map[bestSid] : undefined + } + } + lostFriend = { + username: bestSid, + displayName: info?.displayName || bestSid, + avatarUrl: info?.avatarUrl, + earlyCount: bestEarlyCount, + lateCount: bestLateCount, + periodDesc: bestPeriodDesc + } + } + const reportData: AnnualReportData = { year: reportYear, totalMessages, @@ -917,7 +1094,9 @@ class AnnualReportService { mutualFriend, socialInitiative, responseSpeed, - topPhrases + topPhrases, + snsStats: snsStatsResult, + lostFriend } return { success: true, data: reportData } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 3609f00..ad35ec8 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -208,145 +208,18 @@ class ExportService { } /** - * 解析 ext_buffer 二进制数据,提取群成员的群昵称 - * ext_buffer 包含类似 protobuf 编码的数据,格式示例: - * wxid_xxx<binary>群昵称<binary>wxid_yyy<binary>群昵称... - */ - private parseGroupNicknamesFromExtBuffer(buffer: Buffer): Map<string, string> { - const nicknameMap = new Map<string, string>() - - try { - // 将 buffer 转为字符串,允许部分乱码 - const raw = buffer.toString('utf8') - - // 提取所有 wxid 格式的字符串: wxid_ 或 wxid_后跟字母数字下划线 - const wxidPattern = /wxid_[a-z0-9_]+/gi - const wxids = raw.match(wxidPattern) || [] - - // 对每个 wxid,尝试提取其后的群昵称 - for (const wxid of wxids) { - const wxidLower = wxid.toLowerCase() - const wxidIndex = raw.toLowerCase().indexOf(wxidLower) - - if (wxidIndex === -1) continue - - // 从 wxid 结束位置开始查找 - const afterWxid = raw.slice(wxidIndex + wxid.length) - - // 提取紧跟在 wxid 后面的可打印字符(中文、字母、数字等) - // 跳过前面的不可打印字符和特定控制字符 - let nickname = '' - let foundStart = false - - for (let i = 0; i < afterWxid.length && i < 100; i++) { - const char = afterWxid[i] - const code = char.charCodeAt(0) - - // 判断是否为可打印字符(中文、字母、数字、常见符号) - const isPrintable = ( - (code >= 0x4E00 && code <= 0x9FFF) || // 中文 - (code >= 0x3000 && code <= 0x303F) || // CJK 符号 - (code >= 0xFF00 && code <= 0xFFEF) || // 全角字符 - (code >= 0x20 && code <= 0x7E) // ASCII 可打印字符 - ) - - if (isPrintable && code !== 0x01 && code !== 0x18) { - foundStart = true - nickname += char - } else if (foundStart) { - // 遇到不可打印字符,停止 - break - } - } - - // 清理昵称:去除前后空白和特殊字符 - nickname = this.normalizeGroupNickname(nickname) - - // 只保存有效的群昵称(长度 > 0 且 < 50) - if (nickname && nickname.length > 0 && nickname.length < 50) { - nicknameMap.set(wxidLower, nickname) - } - } - } catch (e) { - // 解析失败时返回空 Map - console.error('Failed to parse ext_buffer:', e) - } - - return nicknameMap - } - - /** - * 从 contact.db 的 chat_room 表获取群成员的群昵称 - * @param chatroomId 群聊ID (如 "xxxxx@chatroom") - * @returns Map<wxid, 群昵称> + * 从 DLL 获取群成员的群昵称 */ async getGroupNicknamesForRoom(chatroomId: string): Promise<Map<string, string>> { - console.log('========== getGroupNicknamesForRoom START ==========', chatroomId) try { - // 查询 contact.db 的 chat_room 表 - // path设为null,因为contact.db已经随handle一起打开了 - const sql = `SELECT ext_buffer FROM chat_room WHERE username = '${chatroomId.replace(/'/g, "''")}'` - console.log('执行SQL查询:', sql) - - const result = await wcdbService.execQuery('contact', null, sql) - console.log('execQuery结果:', { success: result.success, rowCount: result.rows?.length, error: result.error }) - - if (!result.success || !result.rows || result.rows.length === 0) { - console.log('❌ 群昵称查询失败或无数据:', chatroomId, result.error) - return new Map<string, string>() + const result = await wcdbService.getGroupNicknames(chatroomId) + if (result.success && result.nicknames) { + return new Map(Object.entries(result.nicknames)) } - - let extBuffer = result.rows[0].ext_buffer - console.log('ext_buffer原始类型:', typeof extBuffer, 'isBuffer:', Buffer.isBuffer(extBuffer)) - - // execQuery返回的二进制数据会被编码为字符串(hex或base64) - // 需要转换回Buffer - if (typeof extBuffer === 'string') { - console.log('🔄 ext_buffer是字符串,尝试转换为Buffer...') - - // 尝试判断是hex还是base64 - if (this.looksLikeHex(extBuffer)) { - console.log('✅ 检测到hex编码,使用hex解码') - extBuffer = Buffer.from(extBuffer, 'hex') - } else if (this.looksLikeBase64(extBuffer)) { - console.log('✅ 检测到base64编码,使用base64解码') - extBuffer = Buffer.from(extBuffer, 'base64') - } else { - // 默认尝试hex - console.log(' 无法判断编码格式,默认尝试hex') - try { - extBuffer = Buffer.from(extBuffer, 'hex') - } catch (e) { - console.log('❌ hex解码失败,尝试base64') - extBuffer = Buffer.from(extBuffer, 'base64') - } - } - console.log('✅ 转换后的Buffer长度:', extBuffer.length) - } - - if (!extBuffer || !Buffer.isBuffer(extBuffer)) { - console.log('❌ ext_buffer转换失败,不是Buffer类型:', typeof extBuffer) - return new Map<string, string>() - } - - console.log('✅ 开始解析ext_buffer, 长度:', extBuffer.length) - const nicknamesMap = this.parseGroupNicknamesFromExtBuffer(extBuffer) - console.log('✅ 解析完成, 找到', nicknamesMap.size, '个群昵称') - - // 打印前5个群昵称作为示例 - let count = 0 - for (const [wxid, nickname] of nicknamesMap.entries()) { - if (count++ < 5) { - console.log(` - ${wxid}: "${nickname}"`) - } - } - - return nicknamesMap - } catch (e) { - console.error('❌ getGroupNicknamesForRoom异常:', e) return new Map<string, string>() - } finally { - console.log('========== getGroupNicknamesForRoom END ==========') + } catch (e) { + console.error('getGroupNicknamesForRoom error:', e) + return new Map<string, string>() } } @@ -2329,11 +2202,9 @@ class ExportService { } // 预加载群昵称 (仅群聊且完整列模式) - console.log('预加载群昵称检查: isGroup=', isGroup, 'useCompactColumns=', useCompactColumns, 'sessionId=', sessionId) const groupNicknamesMap = (isGroup && !useCompactColumns) ? await this.getGroupNicknamesForRoom(sessionId) : new Map<string, string>() - console.log('群昵称Map大小:', groupNicknamesMap.size) // 填充数据 @@ -2475,11 +2346,11 @@ class ExportService { ) : (mediaItem?.relativePath || this.formatPlainExportContent( - msg.content, - msg.localType, - options, - voiceTranscriptMap.get(msg.localId) - )) + msg.content, + msg.localType, + options, + voiceTranscriptMap.get(msg.localId) + )) // 调试日志 if (msg.localType === 3 || msg.localType === 47) { @@ -2724,11 +2595,11 @@ class ExportService { ) : (mediaItem?.relativePath || this.formatPlainExportContent( - msg.content, - msg.localType, - options, - voiceTranscriptMap.get(msg.localId) - )) + msg.content, + msg.localType, + options, + voiceTranscriptMap.get(msg.localId) + )) let senderRole: string let senderWxid: string diff --git a/electron/services/groupAnalyticsService.ts b/electron/services/groupAnalyticsService.ts index bd4e123..889efdf 100644 --- a/electron/services/groupAnalyticsService.ts +++ b/electron/services/groupAnalyticsService.ts @@ -93,99 +93,16 @@ class GroupAnalyticsService { return { success: true } } - private looksLikeHex(s: string): boolean { - if (s.length % 2 !== 0) return false - return /^[0-9a-fA-F]+$/.test(s) - } - - private looksLikeBase64(s: string): boolean { - if (s.length % 4 !== 0) return false - return /^[A-Za-z0-9+/=]+$/.test(s) - } - /** - * 解析 ext_buffer 二进制数据,提取群成员的群昵称 - */ - private parseGroupNicknamesFromExtBuffer(buffer: Buffer): Map<string, string> { - const nicknameMap = new Map<string, string>() - - try { - const raw = buffer.toString('utf8') - const wxidPattern = /wxid_[a-z0-9_]+/gi - const wxids = raw.match(wxidPattern) || [] - - for (const wxid of wxids) { - const wxidLower = wxid.toLowerCase() - const wxidIndex = raw.toLowerCase().indexOf(wxidLower) - if (wxidIndex === -1) continue - - const afterWxid = raw.slice(wxidIndex + wxid.length) - let nickname = '' - let foundStart = false - - for (let i = 0; i < afterWxid.length && i < 100; i++) { - const char = afterWxid[i] - const code = char.charCodeAt(0) - const isPrintable = ( - (code >= 0x4E00 && code <= 0x9FFF) || - (code >= 0x3000 && code <= 0x303F) || - (code >= 0xFF00 && code <= 0xFFEF) || - (code >= 0x20 && code <= 0x7E) - ) - - if (isPrintable && code !== 0x01 && code !== 0x18) { - foundStart = true - nickname += char - } else if (foundStart) { - break - } - } - - nickname = nickname.trim().replace(/[\x00-\x1F\x7F]/g, '') - if (nickname && nickname.length < 50) { - nicknameMap.set(wxidLower, nickname) - } - } - } catch (e) { - console.error('Failed to parse ext_buffer:', e) - } - - return nicknameMap - } - - /** - * 从 contact.db 的 chat_room 表获取群成员的群昵称 + * 从 DLL 获取群成员的群昵称 */ private async getGroupNicknamesForRoom(chatroomId: string): Promise<Map<string, string>> { try { - const sql = `SELECT ext_buffer FROM chat_room WHERE username = '${chatroomId.replace(/'/g, "''")}'` - const result = await wcdbService.execQuery('contact', null, sql) - - if (!result.success || !result.rows || result.rows.length === 0) { - return new Map<string, string>() + const result = await wcdbService.getGroupNicknames(chatroomId) + if (result.success && result.nicknames) { + return new Map(Object.entries(result.nicknames)) } - - let extBuffer = result.rows[0].ext_buffer - - if (typeof extBuffer === 'string') { - if (this.looksLikeHex(extBuffer)) { - extBuffer = Buffer.from(extBuffer, 'hex') - } else if (this.looksLikeBase64(extBuffer)) { - extBuffer = Buffer.from(extBuffer, 'base64') - } else { - try { - extBuffer = Buffer.from(extBuffer, 'hex') - } catch { - extBuffer = Buffer.from(extBuffer, 'base64') - } - } - } - - if (!extBuffer || !Buffer.isBuffer(extBuffer)) { - return new Map<string, string>() - } - - return this.parseGroupNicknamesFromExtBuffer(extBuffer) + return new Map<string, string>() } catch (e) { console.error('getGroupNicknamesForRoom error:', e) return new Map<string, string>() diff --git a/electron/services/wcdbCore.ts b/electron/services/wcdbCore.ts index 14bf1ff..b6b17c9 100644 --- a/electron/services/wcdbCore.ts +++ b/electron/services/wcdbCore.ts @@ -35,6 +35,7 @@ export class WcdbCore { private wcdbGetGroupMemberCount: any = null private wcdbGetGroupMemberCounts: any = null private wcdbGetGroupMembers: any = null + private wcdbGetGroupNicknames: any = null private wcdbGetMessageTables: any = null private wcdbGetMessageMeta: any = null private wcdbGetContact: any = null @@ -57,6 +58,7 @@ export class WcdbCore { private wcdbGetDbStatus: any = null private wcdbGetVoiceData: any = null private wcdbGetSnsTimeline: any = null + private wcdbGetSnsAnnualStats: any = null private wcdbVerifyUser: any = null private avatarUrlCache: Map<string, { url?: string; updatedAt: number }> = new Map() private readonly avatarCacheTtlMs = 10 * 60 * 1000 @@ -333,6 +335,13 @@ export class WcdbCore { // wcdb_status wcdb_get_group_members(wcdb_handle handle, const char* chatroom_id, char** out_json) this.wcdbGetGroupMembers = this.lib.func('int32 wcdb_get_group_members(int64 handle, const char* chatroomId, _Out_ void** outJson)') + // wcdb_status wcdb_get_group_nicknames(wcdb_handle handle, const char* chatroom_id, char** out_json) + try { + this.wcdbGetGroupNicknames = this.lib.func('int32 wcdb_get_group_nicknames(int64 handle, const char* chatroomId, _Out_ void** outJson)') + } catch { + this.wcdbGetGroupNicknames = null + } + // wcdb_status wcdb_get_message_tables(wcdb_handle handle, const char* session_id, char** out_json) this.wcdbGetMessageTables = this.lib.func('int32 wcdb_get_message_tables(int64 handle, const char* sessionId, _Out_ void** outJson)') @@ -369,6 +378,13 @@ export class WcdbCore { this.wcdbGetAnnualReportExtras = null } + // wcdb_status wcdb_get_logs(char** out_json) + try { + this.wcdbGetLogs = this.lib.func('int32 wcdb_get_logs(_Out_ void** outJson)') + } catch { + this.wcdbGetLogs = null + } + // wcdb_status wcdb_get_group_stats(wcdb_handle handle, const char* chatroom_id, int32_t begin_timestamp, int32_t end_timestamp, char** out_json) try { this.wcdbGetGroupStats = this.lib.func('int32 wcdb_get_group_stats(int64 handle, const char* chatroomId, int32 begin, int32 end, _Out_ void** outJson)') @@ -431,6 +447,13 @@ export class WcdbCore { this.wcdbGetSnsTimeline = null } + // wcdb_status wcdb_get_sns_annual_stats(wcdb_handle handle, int32_t begin_timestamp, int32_t end_timestamp, char** out_json) + try { + this.wcdbGetSnsAnnualStats = this.lib.func('int32 wcdb_get_sns_annual_stats(int64 handle, int32 begin, int32 end, _Out_ void** outJson)') + } catch { + this.wcdbGetSnsAnnualStats = null + } + // void VerifyUser(int64_t hwnd_ptr, const char* message, char* out_result, int max_len) try { this.wcdbVerifyUser = this.lib.func('void VerifyUser(int64 hwnd, const char* message, _Out_ char* outResult, int maxLen)') @@ -1002,6 +1025,28 @@ export class WcdbCore { } } + async getGroupNicknames(chatroomId: string): Promise<{ success: boolean; nicknames?: Record<string, string>; error?: string }> { + if (!this.ensureReady()) { + return { success: false, error: 'WCDB 未连接' } + } + if (!this.wcdbGetGroupNicknames) { + return { success: false, error: '当前 DLL 版本不支持获取群昵称接口' } + } + try { + const outPtr = [null as any] + const result = this.wcdbGetGroupNicknames(this.handle, chatroomId, outPtr) + if (result !== 0 || !outPtr[0]) { + return { success: false, error: `获取群昵称失败: ${result}` } + } + const jsonStr = this.decodeJsonPtr(outPtr[0]) + if (!jsonStr) return { success: false, error: '解析群昵称失败' } + const nicknames = JSON.parse(jsonStr) + return { success: true, nicknames } + } catch (e) { + return { success: false, error: String(e) } + } + } + async getMessageTables(sessionId: string): Promise<{ success: boolean; tables?: any[]; error?: string }> { if (!this.ensureReady()) { return { success: false, error: 'WCDB 未连接' } @@ -1343,13 +1388,31 @@ export class WcdbCore { } } + async getLogs(): Promise<{ success: boolean; logs?: string[]; error?: string }> { + if (!this.lib) return { success: false, error: 'DLL 未加载' } + if (!this.wcdbGetLogs) return { success: false, error: '接口未就绪' } + try { + const outPtr = [null as any] + const result = this.wcdbGetLogs(outPtr) + if (result !== 0 || !outPtr[0]) { + return { success: false, error: `获取日志失败: ${result}` } + } + const jsonStr = this.decodeJsonPtr(outPtr[0]) + if (!jsonStr) return { success: false, error: '解析日志失败' } + return { success: true, logs: JSON.parse(jsonStr) } + } catch (e) { + return { success: false, error: String(e) } + } + } + async execQuery(kind: string, path: string | null, sql: string): Promise<{ success: boolean; rows?: any[]; error?: string }> { if (!this.ensureReady()) { return { success: false, error: 'WCDB 未连接' } } try { + if (!this.wcdbExecQuery) return { success: false, error: '接口未就绪' } const outPtr = [null as any] - const result = this.wcdbExecQuery(this.handle, kind, path, sql, outPtr) + const result = this.wcdbExecQuery(this.handle, kind, path || '', sql, outPtr) if (result !== 0 || !outPtr[0]) { return { success: false, error: `执行查询失败: ${result}` } } @@ -1502,4 +1565,29 @@ export class WcdbCore { return { success: false, error: String(e) } } } + + async getSnsAnnualStats(beginTimestamp: number, endTimestamp: number): Promise<{ success: boolean; data?: any; error?: string }> { + if (!this.ensureReady()) { + return { success: false, error: 'WCDB 未连接' } + } + try { + if (!this.wcdbGetSnsAnnualStats) { + return { success: false, error: 'wcdbGetSnsAnnualStats 未找到' } + } + await new Promise(resolve => setImmediate(resolve)) + const outPtr = [null as any] + const result = this.wcdbGetSnsAnnualStats(this.handle, beginTimestamp, endTimestamp, outPtr) + await new Promise(resolve => setImmediate(resolve)) + + if (result !== 0 || !outPtr[0]) { + return { success: false, error: `getSnsAnnualStats failed: ${result}` } + } + const jsonStr = this.decodeJsonPtr(outPtr[0]) + if (!jsonStr) return { success: false, error: 'Failed to decode JSON' } + return { success: true, data: JSON.parse(jsonStr) } + } catch (e) { + console.error('getSnsAnnualStats 异常:', e) + return { success: false, error: String(e) } + } + } } \ No newline at end of file diff --git a/electron/services/wcdbService.ts b/electron/services/wcdbService.ts index b885088..107c2c8 100644 --- a/electron/services/wcdbService.ts +++ b/electron/services/wcdbService.ts @@ -229,6 +229,11 @@ export class WcdbService { return this.callWorker('getGroupMembers', { chatroomId }) } + // 获取群成员群名片昵称 + async getGroupNicknames(chatroomId: string): Promise<{ success: boolean; nicknames?: Record<string, string>; error?: string }> { + return this.callWorker('getGroupNicknames', { chatroomId }) + } + /** * 获取消息表列表 */ @@ -369,6 +374,20 @@ export class WcdbService { return this.callWorker('getSnsTimeline', { limit, offset, usernames, keyword, startTime, endTime }) } + /** + * 获取朋友圈年度统计 + */ + async getSnsAnnualStats(beginTimestamp: number, endTimestamp: number): Promise<{ success: boolean; data?: any; error?: string }> { + return this.callWorker('getSnsAnnualStats', { beginTimestamp, endTimestamp }) + } + + /** + * 获取 DLL 内部日志 + */ + async getLogs(): Promise<{ success: boolean; logs?: string[]; error?: string }> { + return this.callWorker('getLogs') + } + /** * 验证 Windows Hello */ diff --git a/electron/wcdbWorker.ts b/electron/wcdbWorker.ts index b03d49a..259b372 100644 --- a/electron/wcdbWorker.ts +++ b/electron/wcdbWorker.ts @@ -56,6 +56,9 @@ if (parentPort) { case 'getGroupMembers': result = await core.getGroupMembers(payload.chatroomId) break + case 'getGroupNicknames': + result = await core.getGroupNicknames(payload.chatroomId) + break case 'getMessageTables': result = await core.getMessageTables(payload.sessionId) break @@ -119,6 +122,12 @@ if (parentPort) { case 'getSnsTimeline': result = await core.getSnsTimeline(payload.limit, payload.offset, payload.usernames, payload.keyword, payload.startTime, payload.endTime) break + case 'getSnsAnnualStats': + result = await core.getSnsAnnualStats(payload.beginTimestamp, payload.endTimestamp) + break + case 'getLogs': + result = await core.getLogs() + break case 'verifyUser': result = await core.verifyUser(payload.message, payload.hwnd) break diff --git a/resources/wcdb_api.dll b/resources/wcdb_api.dll index c4233c0a16303b4688a39c1693f89e71dd5ecbc9..d63b6bdd7e43557e8558c43e912227877c8a3474 100644 GIT binary patch delta 306185 zcmaHU34Baf`~TcKCNtSgg2{%ML_#7#h$RsrL6}HF>}rYF)tZu^wuA^`4B^mgm#ST> zX{oiXXh`f*weMBsMyRxEsnGd<pK~V>@B9A#{k(DSIp;agdA9RB&spxg8S8^H<i<H| zC6|A6)s{y^r~i_^GyGfEHx+*&r{}#<qdYmxrMx|V*04Pd<;{4xR=Gc(QK2rpyg$OF zyba3X-@3e6v)A>_x8WYV{B5{vc^K-y4gcef@~p|rJwF~khQ?Ca{%e#Nqf(7nV5f3> zGw0)q$}*L&(NV14Ty;yQQhg@!>RHcO8=;|)$A$^5TDq)vP%Y7@RO>%?P!&^qj-%=| zfkip0%1j(y`6t&=RSj@u!|hcm%YABkXN<5{1)wQ!n7t}Wr~+7~Q>}Jd?&DRXN$SYy zsc0B-6JxvJ<rZrsdRL!S4Z{FPWrycI)>o`&uX0qW+5+Gqn<IMZ`LGyX)fH8~j%>T= zZ4atcMBR9H9`K+=Wrxzly)Q)vff>~<E2=p-Y`dXVnJmt6H*`|8k63HG=1j1o%9MFL zprqAZt?F#$f2PbQ0f&eld6d#)FToW>fh3j6l&#r9#cUl=HNT-#5WKik1p)6LLj4;k z{UdB6dTBB%M%>Rk07WcNl<c^}eyY}7402>ItHp_Nk6A~}F!5Ol+pZZRE-hg?J72>e z4k}aVaZ`3DKV4|P$$TSRv$~NZYj1a1G+kwG+9=WPD(jEO@hfbtwuQL#3M<wcea2q_ z%bCYr1{NsXMfC!4Mw9uv$@~)rpHRYFb#B647N9eVF7~Xe&d<LDESdi?WeesTrp#kH zt6}S1o$6(Qkm`KcgZMXJkV`K!rt_(#w}(`sNl*|+G~}T<FSC=nIxS?N$QG!#$?6}9 z?v<iFdlpc0|GVR7GV`#nBiv>!?Tz@iuYFU8+eF71tD)a*w#>e6OBBz7c9Y2x?`M=d zSglr*#ZaCFsql)QRA~PX?lwGPzuLR$2$4ne^&@7r_Yod3ABT#nevepthgfZOdzIDD z`W9Q}U@+kQKUgY^vuB4K0*rC<D~8%^g|7c&sM!yh;OJ(LNra(>po`HlK<iA1r`=@T z9c%ZME7ccbvh>gucJd1l09yV#ad{om()Y_pxqWL8Kn#(hje1wnY6ww~e%=)=*=m!y zz+{g13o(VBl{a2w`Ho)y7i#l=pq@g!eTX_A6Ay!W{x|9-7g>mtQTUzpaB{O(po(Jc zS&GwqNbrSIYy8{T*;|~O#1fqA+B*WX`J`O_E1TjRs4o81PI8UXv=cWKv%Ajm!f!0N zy0`sxKGcIQ_N-U+DBqF`G!-@Tx^SlSE_Qm?jvk!1goec0&I|0j>Vf|ENjg<+u_e$b zwn(mpY;ooVrq(wGrOouMg!^oaKDfp;>ebsX3<Ip{Oao{o<3w$EgAM2Tpx&s<p5%dQ zles8+NF7u5G$YA0kp}+gJkz+u^d2xr(RP#^{^tG6Hf0a;)Adtk&<$XB`V}L=(4kO} z2@OJFCQBUVOxLTNU2_Z{9-tq`*t3l;q4n?mUp*dQ;XQ%?_qU62$b*|zhP7x8Y3)_E zDU2ypK}JZl`J~DG#%h>xS*IccGN07DYE4C5lsRd>hF6-iDtUIfRuyjsz%L}TGyT~V z*Jk3ivuvBIckTa)I?80$47tzly84O@Z!mQYztBD%?P(0XtJ;)3(*=Lf*BRN`4-tW+ z7a-@6vs277j6_-OEE`axIdo#F;Td>Ir^?DttDPMIS=6`>;bwP)%wWrdV9S}ujYA4x z+ZK)XKD$uEU-*^1s1f5dc4mbVVqdY&H4_Z?Dko6@*v7oE8YbRkJ8JsJTqQ>gDvYLx z>uJ^D*}OG0`3_!$SIBJV%d6`1str_S%Ce@~nS#!kvh|#HA~*gtt5GXJxW^)Dt@HmZ z%dUbK6E#jf#r<gFzydz;6Cs_BcUgI@-TsC1KZM+N^1mRb++k-718a2t56A{5S(sax zLoreQ+G=nrW;5J=HhctCnk?oFL`;&)KzPu0mszrVprK(AFlXa`Q93R?i{^SHjLO|z z96gX7aIag-G|=up9Q9{~Om;scKD)%e@W@bSx6`r)p59{orM;a!y9wf~%j`3+IpXn) z%&qpvVy$OvZta@tlaX2`)i#Pg7uliOzlvfpTVH3jIOYOtRd>5v`*U`x*q}dR%~wo6 zzk~YY%_roD4EDUPpJC)co56Acg&;!7o8PfuZ$B}(-`<|y1){ic26OlMUOe?FyX>=4 z{NmBxalY|_X!w*Js^3oB^N{^hzqYviA#?Nd5o3C=aKA9O-S_N12ptG0CDJ{%(C=$; z)KnJc-`vo=8I01kJ0|mxfam)3PJSWsrn@ZNzk_;RQ+syYKV0~W{p(-HweVr3{ad<? zk!yBhK@C1~z1D=Lr=7{t4fb?ZF6qWrH3(GSLC<3iYPtLgMP%ih^fA}S(BJ*ees2&c zR=>ks8paD}+2DrJ;^`ACw_&iD@`9aj*huX3g1u=NHmFfP3?h4oOT4)-*6dExEuhFw z6@5@m4$ER_N@!786O|@QAH6Aac0;{M-=&W}-W*epTK*|SOXh5=Dm6I4T!=0zTbFx< zY-xapSXjt*1hf%P=d%X^?ZuD2WB!3XT{Yj)<SR0n6Pl8}UfIVM1x^*`>|4>uyZOI2 zXsEaV`2~N`bSokgi-Q%Zt%i~xbgHPAMHJo_ahG~VZnBRhHtH{4+KbNqy(>D$DV?_z zR(7ti&+s4E(?&t!@pjBBsGid=!<1Q@EO))jVuJhzQwPOKR`rm5z9&4I&l+(Lsdwq< zp?B@#fturiHlNumz+~wjAYY2LgNL#7Lgepmk_&C6F({3Zby2J^sEc?ZlIeqeoo)`T z7`f*i78&gA_y-MvU@1?JWTS$8>(93VB+BKt-@DhdN-(E6&5GFW;2*_~1#Dd7mEzz$ zCN%LC3YlLMqqzAF>)ga!?a{@Kjc(Gwue1WS-2_fvZ@4j7iRr1;3Sw!@30K%RP29wf zkFirtnu@RU*_$S@9@j71smukXnuC<9lIuw!ZK=Oz1Dj3|y>GMAO#{ST<JjL#H~D2> zg4W<3$C%8i0Lwg{IHW+nWYVf~kWC@CGM0?K#14cciKD+_?#%`WKe5Tp0>r*Qvh~f@ z)$#w5%wfG>F2*s<J)VI_Qh~V`jxqBQ>(x9>09DPWiQ|7@9YVW{L%wG$w2SEWJ-ZdU zR{gMsmVMe{h(7EH;Yfg7VqeQaN7$nld&Rzo+4`1IVy(mMPRpiZ_Z>{%YJ}Rpqn1r= zwNv<k8Cy3{w`ym{Vq1^XzTHOMUo+Pyo|s`8|C;vfM(ZK<uO2`(7tr;ycB-tKX@RjY za<e6m93IJHn^wxZr15Y_Fc%?OS)8Z;%I1WH2uIl0VQs}@2iViF&&2CnSXQ`y-@}#h z;De;<$N?y)N>WuoLHEPVr|c`L(tK2#Z0&=jDrw7#Ho>*N)Twd~D=EeqZssNJwy>x+ zL1N4nHla-`VK>{-CMftsPsQMj@;>A<P)lW2Xf^cMT?K`l`2{O)Q#b5TCBXqPp{L?4 z$nioig2yE<91yL%_wpdAJ%nYH>Re#vEI*?vHP!5V`frvP;gt@UIgJ548833(Em~D( z<S6QwhFRmBwppi=Z*3>pI`<%eoG<8I<B#{4(0q)Nt%=4vnjNT<Vac~NSgI$iK9K4u zgp>T2Y(~G#<6#AIhdkoRlyxfA(PS15vyup-dwov`jEnZ=PeQ80VZKUA+RTh?<Aq&p zLfd9yjm<2#Z3~y3@GA44>gTTqD@ccSvIlLOQ6+|S;`~_+AMIrRk;b~HJX@HV2RI~B zamiML8*1?8VKr3S$%aMt5q7YHkrTzfxh$YvBNTeIYvI0Kr;50iI(*?Im&|wS)PZmY z=y+{A+t|*pG1|^%93_ORG!IP1e#vMCws~l<)u)yyJ<_+cXYJ|=+nICwS?*@ThrH2p zPrkE}<+k^8+4ceDySA}Q?R`8@c{cM14J6KX;~t9ED?PR`=cu~EHWn1+`5*lnZDYNo ze8%&BoIr85L(xKx07&5bt%hH=67$_n?-L^=0EMVjmQe3kK=)ts70|l)3KRSZDav~T zRMvMJ@@NHQj{#u{U255{h&HGX80?rww6Cy*MMSq0oi?z^(OtxX_3TJ=oun<WStvh1 z$#RU)v{^vfR^4i-ji$3mQs_a>M?PJP2NfNk9iZ_qYN`AWbcV^J6EMN^(;N=d>R<i` zi@OdJ>U5n3`!e^^nal%SOy)T{Q_zig$^$RR&x+WO9gOPgP3_pP9Xy52th_^z`iiUl z-oTDe1ob1mJ@bfZtX}A9$4oIdMb8_|zjH^?w3?0W?4v$pXU~>)_7QSfUgz2BO?o>P z(j~>$MWV4@(^@Jl^kVeEVlL&A^39+4+?e2O&wlDMMcrL%zc<VjEC}n_$XKIME09y@ z<QHYip5=$A!{0jjO+OSxY&frCTVrE{b*wZtSRA>Md3L=c>}0RIb`jRHs5m$L+b=Fw z^s}<faU<3Ko?7M*Ut3ti8pMwfFD_?G;#&*b_a2XT62v7r>|#QcI5vmX>bB9@OUJ`V zoY86+BC(_0(p|Px`U*HVO~_`}t-E{sQ%auyp)(t>n(KEs@>^QeSTuoK(Kovb^oR8g z(sbK;@$gc%rF)y`GdfiPfa=+vuTCrFyY#HIvi|0uxyzJ|%1XPWZH1ks9A@<red~XY zG5_b%XNJV7$*gA2MkEG9Bg+%r?3KC$8he(PSW7s~P9(M+yvnv_xkhW2>}jxulX!TP zhMFvOwIHU{6EAnbaj6SlzM~f~S9iTl2Ie!g+RC1crO0Ftc?E*i`vuND50=!U15D`i z9)ZFNcBV%|!yktg0L!WzvI0v&irm_RX?ym!KM8taep3&yF+Cf(2nPXY(QKkxi}Tu( zY;(^wqTtRVdxePy*0X87KGCmStW}lVpm>Ev@506GRj*G((_%KZcOUW3Y<8@79r5IM z>~8NkQC!D@`;3iwxJauiZEExCu^8$yRd`41UF{OGN4en711=hgUYi1)D%N~nPOGKD zlcHj-Eh=U%VmJHLSI?=hWkTP^!baA#uU}x)K62IR9@?phVC|8?lE#wdVc$~X(8({^ zG~84z-qO;moXzUn%Kj%}^NgHXlO5^XU0BK-`wdgKM>dnvFTBBTO=&X6`%SkRbQWSf z!NqFmOK&ta6L^xcYyrE_FHE%j!|eO}rzi0q<}t7it6}aEj=RDYoJJ9`uureP{i1tE z_lfQs-OptC63F4P<~~`(1*bW;&Su{+)3J6Ay@@gV%dg?oa`gR9A(c;nc@0Jq9Wy50 zJRyZz<IQRPV>93BWA$Cmr^jZ#uCCAG6WU^!2j1j+-)P}&^jY6Sy*$yxVt`i4QS^@~ z`XIS;$aoaV0j!3|@vd09+8`4ND4G5l6MfK0fsD67Cd$55AX7kAhABOJ@S^C0E(%}^ z8(@n31~m%Gm>j_6;%`UvK?eoQpMxdj$d?Ez`d~F)O^Kr=K_#b~;Q&ewpzi-e{9ngx z#HY(Sl|yyH&P5gKZG2|fKojLrRUj4WIq^2Ca%^xZa=S{ns>Ih&h|lI=Al`!$pZ*`z z7c2(#@fPPZUbNI9&JG)SM-p_SY}l!JFy`k-U2McH{rtCR(%0*xLJf8jGG}_|r)o^* z&{CN3bNRsvKxe1r#b?hx7;lNmqpUR{OkVy2Oe5Z$4)}BreL8h$O&wmz`;-p(=x`Dp z@_C11c_{B-iNQ8dA41`Q0K=2>gkrhnF79oCHVAJ3Knj&mCU3lLwVEkK>6ZCgNR6dV zScrvau{=xgh(1KN9(~ZB_)53*36nEck;SDsnC8xoQi12mgvCR?z7r@j3yj2SRvq*y zbuH99y6iyt4Vn+5IR|elIoAzuWYJSYV=a9I)7&?-3qIL9*4*uNe9)h<nSbbFGyknO z&CZnhQ^Qh+N(XXYzEXc4i8Nt4Wo*0XeeQ9ZSJ6YFlcEPl4;qp*aBu;8Jit4>a`yFC zX5S8F_C>C?&AzN0V#j<vCiEp}3Xw;=fQ;m>%YoA3y!|N5Et_^#im+cv(}Jh0Bw%cp z$?_4Br+ErIce$cP=p#aQrp^eRMpJew%NnRp-_PMJee#rfS5!cnL|9EUaaE<rEejRJ z<jFI4aN&^Eq*S~n$|La#C8bb*qkQ!yw4^g9>au(L8R6&r5Uc&-Es>8T2UR@A4S>Ty z{*)GybxJ?qRju+>W&R`R=euA5t{_Qpk*ocK5&1-mDT~ieV=V{O(>A~ir1yb?0*u2( zjndbf4~Ai=`y(hZTeX5G=h5`Oa|K&7sI^#TW)}xFb+%#!ZQEG$`;t{3+%o;#`<nZ^ zA&iKE)as_7B2(sTYpN!CpHQlfY5u@uj)6GS%3xtSeZ0O4y}fpu9N5)TCnWli8yB`_ zoq~yi!fL{VWCqAIu|fYL78b#t;ZixC*_C)^m!$)do+Ap2KBQL=jjKR(K~4mscyk#? zlo0f)R2y3a`Ts9Oz*BQ_0}uo}H5ELe@A2qttbv*$q9&h^#LRz?*22M*X|<+RYksO! z{6>HYThr`gBMMQGUn=Ga^G~Jf=I5tY3(dE!gR?bves+*PAFPS2e`gMuEQ-NcP*zcl zj;Jq;DFfqu0!*22^!f!WnNLz+(-nX#83|jqO$v&{bEvKd>as5Cvwp-=?r#A$i}Q&i z?9-$=Zm$k-bFJ_=u+`dfJqz2N<e7ewH*r6KCAob4D7R3!L2jUlvgs$qK#S$2TWkiJ zB4;YE@QI(|4W^Z-*k|cg*r$uxq@$TrX`f`6Sr=1BX1)<pv7{dyMbnKYKb%YYc~fS& zLt0Hrge``%hY`(o?Ihol>R$zlfU2i8R)883P!<PD^Xin{(!H4SvxG$Xk1y<0rG7B| zta&6us=A4)%*eklzyo2up^@oDX-kohqAkb1(g{h2Ts6U+exF6AX5p>@4rV_U=N>25 z@qvSZvjxkTgmUU>MPQhrR2+#StDRi8QKuCZK|Uqk{3hP~C$*cbhV@xGtO_5_)v3Ze z`I+=t_97dW+(=B!VoQ_j)SSA@ma6r}z6YQ3`Rs?}aB-@Iy-p5H|6)GPw|#!(@DT9l zKO|mwzC)#JRKn7EjNW9K1s9|5LjPvIwwsK+k_?&71u<Qb<25)$h%U&FX{Q3y%GowY z^;xVE<$q%eeeE#0se+1!P>xDQdO@giZK&*RsL~QRWh`Q7Lx(*!m;u|^_@N`idd<+P z4st!%5-eX-K+HKdF%MRfaSH7oefrX=LloBPx0f;3VfE6Fopn&9#fP4<8V;LjWaqu8 zz*2oqm?`KOxOJG*v{17Sbwc)dN-%hq;oRUIW~d==9>k8?IZj2I6oAlHRH<`j<Y>IB z^z-SgmJko+h|4G|4{|<!2Iw>Y(afoFNQNKvwi<e+W8CbPU!oy1vN562FZm9btcF-K zJ2$MA=yQN+hPQ7gPsgm>$>oWK7ZqqrAQ}NSO&@)*AvIVG&-Wv_Umbn0r&6qi4V=<! zt6}A0Hg9+vG2{UIad<DWd>X4cqOE@YX(DrJO^{(Wj6cPaMtHW!LY;o;D^QN<J{<-5 z2u8|`9FJG4KI;w|;Os+jc%d1FD(r=fJI!{Fs3Xqa&rXeKAP(No{v6>icHYlCM*4{% z`&m0Yy!NvZc)b0NEgtFD?%{Xf7kRPV67r(ZfgDv6eTtCP?TQDM7Ze^_Ho-f&>*}B{ zK0DP9N~`O2iai<GYsk5i2v8R1sZMrEb`*`J22o70^fD<Q>y0!_>u>O$gMtO{@`$Nu zFh^!nUvtaFc*I8htDk=dJ&_I-@d;<bcx8jw#!;T?-<`DV@TiZ~o-TH*!RS_EaVkq1 z-B-M|ne87vMGVemL1RKhO)48aCPCakg?%~3%eZWlR#jLn0;5pO#_B&hDQWP)0=asw z)p}N*zL7l~6Du~G!kT?t-{>?2)L@O7-9=|o7bu$)*<D;H^T+Pw;|(nJ<CS9n$;@GF z4^cCj4Ib;^eQyIXz+o{Dj~k<th9nipLpKugGwT@}yIj<L!WxY0;Mu#H9bbV~G5KVe z{DcK;?zj$O><o5d+yt@FOx9w2gg9X*`(%7{jTw^&`3YL$_NQE^>m+u3eB<<p1*Dhp zB>Zz$ga5P-c5l2<JZshr2TUa9LwZ^*>&a|QZxp$2uo~V?rEL(iVZ$+CnfvA>M6I7^ zCRLf8KczbBDN}vtY4m2+B=bj|li1ThviL?nwYka6QYHka=S(C~Avr3-);2m9ssV2B zCGgD0f+^eJj@LAM%pp6xAb?sm@AA=T=^(_LHIMNcACW(;rmPc)MMDWym^Byih_#py z^^ckAYtB-KY|ROJSX#K4>Ys;WI)}kjrUbKQ6IExnRjbnKA2Om&ZcZebofq<6)f|Ct zKE0YXX?Sp~K!9bW+3BS0TaJvts+qz8x=TYNHMQ8RiC&%#v~!A#D}X14@#YI;zb5(X z&)C-!4WelZE1VeR)nEcyu=yPHJ$(p_3Hw88vh4F~m~oP^_LuW8YA7x<%=arMTIq-v z3bY#5rLuvOdOCNXqf^n|IDGVz-R$tBkHwM|%s<6P?7EhjQvAf+acp8ru-J1hTb~k` z-2D@--mbKhio_Ai4@`G?4Bz{q+?AZ4QfW2BDX`ug(rT!K;`?qO#cFUxmC3xskK7<x zRLNN8|4B>VVRU{Cw)uXLDK@*~4!EtsyT~VCOsiqQbT;b~-|FqAlj$f`zSG&4pTsq9 zi7FG0V)>fdgSR8Apq;|{6)m6=RyPG*;Xu-^vcSm!QB$t!cs6UoRe?m@b>Q;ZLol=> zW#TG`xA<?t?SS~~5tO3;1oAl`R`IK*u;r6$dYV$P$Fe_W$0AC$Z3#HU{K*vd!{pHP zw`c`6L~Kq@B<2MrJm&LOLpa{``$04(?H2`*HU-M~+^{4RTMaMpI{&7AekgalR8xu? zuv)|y6?~n<nchczluF#oQN{rKE+-Ul+aQ}Jv-Byg#iYsX;1uuBZj*H?rAuw<0wSl| z;NGI;fAHi#nRpWOrm%LY9z7ny+A4Utk9W#9_X?$A^P4#9s+OwHd{k~jH=aa_N-?#1 z=A(CtmNL+T>afF&3NV(Q#<r)L#CNmUpQ$6nh0|HTw27kobXJtsS?sWa>8G|4e;di- zrZTbHNOo`PEU|b5OPUreZXVB;OlvO=9l_2`YhT?sf~H?WJu<7mhcmC~W1I(kL3H9! z{+#@5DO)yuq4wft%##+&Slv&%i}}OY#7_f7Ln>SIX=8EJJ9hHZzTzL_m~qBbv2Z+F zJ)@1dcs#o_V}aP{6E<jOGx6jSwrpk#F>oq7F>|;WmdqN>s_X8VOvAo5nUP<1)Wrw= zM2U*k%#voc6;}*l>t`($8%<)tvwg(wXIb~zVdB;#mOZ<kI3kJdn(eJynN6NL>7TvD zv#;t5G2?7g7akzq+`$DVcz+!Ge!&*;MFtzTu&cN;gY8)uB2LR-_ZAKoJu+DPMLA+* zFZT1IX5!;9tXlR}amE~WJ3FH0-#D&@bHtJt2?ti6jccA{L5mZ`Uk9<-i(`D(4nniF z(3JVFi#}^G95oLjOZ;-l9w5O+J=lZAAE`Ihv|~}`f#UK+w!vK6;FMH(oEboX*zp>g z$j+I=#785Uc8PC2FG^-<ElD$Q!C)x*P#6H^dWl?0bX<jHye5Y>YiKidhzo_I0936y z!9HCQ;$J=peQYaNOahej`^#V^WjKIPny}|2MgOI4zQW>IKO0reZ<ahm($M^-)i4>w z`N&c)p^QE$Rzv?mtcj&#bw}P6(=FL*cs7uwTl#rT9Y_Ol!~^jf4;Au4=Yg!u609%l zhqL(XB$rStbWmVnK}%ztp7cki|C_$Ee!o+F7PT})%<IqgEOiqz2C%}VzUi|DaE$SO zVOGN!ymPn2OFdEI+wjGdyR5Har`n6%3f}ZJno3TQEEVcreFTmJ%JcyzN160<=oZ=a zg)rHGRA^{8j>>Unhko)7S;KpTQ8J!LtDJZ?dYNmpTmo)7g*+9m=#<vBVch_%T&UDn zh2<j(M9Qj1Z0EA5)*a)uHi{shIRwjvw-Rq8BFJ$kk+mObh9%kNxu3;pnK36&d^3&3 z<%Cs>1%NcoBm`C5g|i)2RG!&^6BnFaTMa#XeULB2p?G#~WLs*Zbis|M2}PP9RQ!ty zt09me5Tn;@V7GI+>avCsmZLpc)8%c&9?5LN@)7DGUA59DbF>Clvb?7#^kb1LlDy{j zRj9vbHH^Y*y!jqjL7_)q_T7peZdZERArUuaCuCq3bP+aa;w_CgFJg6Aw0NNx8^YR) zOM9_g+>i9`!(KDLbdNqZ?Lr#W@NU8yAF4p<kKTkG`^m)^AXjefT(O2lKm;K6OAcal zHLs*LNsipV1sy)r@gyu7<R2%Jj>}BA{y~W4cE4$m$zRZQqTL?0Ze=}f69W5T0z0-c zMDGYBHkC%n6KAhj^{G0uvzE<THC(;H(T?3;HNZDdz;<Eg1v>=#Y%B?tP#h(f+|j7? zE+KlC=`PYYcDkDElh2}@;$pP8>XC*Ves(d7TGg06{>;f>hf3P>BV$Sib2;+9&UVaE z@>O?tz!{L#R-MyH%O**&>P~nbk$S4@chd6PpUiJ{6VJ!fxFq_J4duvBI>F;)7I>7j z_~$cO@W!cULNa-pIGk^<Tpglb)X9z&tqxM3?(e`}tR5pS?9PU)Y2OGeE8@r+XQ#qO zSri@LMk^=$7K2A+bAw*&<eDYvJEB2y_V<1nG^Mh!jKvc%J_Se&8CVgUEKB@SfI?2s z!VIEGzr-&OF!HnEoLJ4my#PY$M3sEgAMjXgSPk3a$N)&mOZ;5mV627_@j4Y>gAh&* z)3Zf)Wr#9tSXvEjQ3CTTIeg_vt^U?fZ3UJ`2~4}LLwaTcdJ;V={a&LpwR;eqGZ%8` zmAr)5f~6xMd4D6dk2`L|wwky&N2PePb05GQrl}gOEP{cJbJ+tL<$Xy8R>QyGfJRzm zmrljRZe%6V2W8?N)j3$r%gx7=OJB(g@EKOaT4nr|ej&h70cJH!K{cFj*19U4t%exX zlGdt!P}`lOFhekeg7SLSWqk|v-1b^FXMO$V5g-eqE-3j29E{@h5-C>0W;Bq4?@Ck2 zMxfO&KVHXvSwF5ub>0ot3UkxqbS!a0NWea>I8>87t%eOKlAw`pCKC>&HXXn_Hu#Ir zPO%FcygFv4acih(-BN)<!5oQVNiMw8dm6e{Kq!O`1iIjjoz;tR-wPZy>(mt-m10+& z-#CFEUE-I4<tf>JU?k*=jR_QK{|B4P1@eoJ*{O}q-HyeQddwcgE!K9F=vN0~*G&`L zzimsqIGhVaPm_zud|BSrK+9HbYUMr>Z4`X?I>OdA7;X1AbyKU_YFTJ*L$S>_Y*21s z&8tT>73a!yp}3^qQ4KqY%WkOt@KSQC2rWC6+dzFT(SiMyJ6LVOZ0-4Zi1?;EoBw(J z^e?}`e!-HgC3u+B=d8b0PSCI!B<(Y@U!0w)#DyCq<_@?r_}W?=sO2T<D*HIuTFSbj z<yO^}m!B%wu29QQ?_1I>hI_WA@2P3W`zDLww5??`wJfdLvd`AC2rZ@4qBH(6PH7Hj z`8lfjh66dC5P3i{DVp9cjjr4}3n8Wwsb71OIgV}J9H#CLk=)zt+3dG468|86t0)TV zvx2iZ<1qPt!QUqQW#R7-{#xU&2mT)Cu|{8Px5H{hepJA&ei2d+uN0i`nCP?zA|q+J z+A2?(u=B7bzyT`=f{{?{zs1*S7s~MO=9BWlVzyw5$$1zpH$ZfNTnivKx3sJuoW!Gn z5>6`d{!6O_z?tOlaatL=HC{ad&v{$J)zPiA?8mKb)Yb4T-`Z7uprw|XwneBv#dE>7 zICT)7m$sSI_gZLKz3n3$zriwwNE#Yr$Chq)cg(bv+oPPfU9$Uq3OGz*2|JoO;Egs_ zMnhnWcKABYKv^Mv(OI^CM~rhz0^r0y>S)JwJ6rgw2K+DLFJiHR*s@Gs4zQ%1@#+qE zezh}P?bck&O7OhVOw0UtnbgbhOxe{&-4oBRc6C*2@O*>%!y#H0vwN`PiWG&S4$<hp z+pL)cQZrcOm(A<pjWj(qs){Z?w^a^}0;gXFiJ?(Q?3?-|(?Jrcz`m*Wz2f|Azz^CZ za(?CG_;#X#@gT~rzv`-v=;XlWe`OR_v#nn>7Tct<OJ9u?fBTq4?CC8&{gW-<6E4;m z&Cc!#SHB9@GTqnVfk%R2Ur1%-Z+}Dx3m<$>pLLD<A~Ml-y}08_kmVM=*x0X4cH_ay z$NkyCuOpm2N5haKe$vmc4x?g!Uark*=go=e-UjG!>WageMF{p86yeBj%17WlF7tvD zPd_LF2#7VGmAB$d8V;ENPWND!@&+}2@`wkZc)u}n4-kaLgj~5_52VlL<B0Jt<l`1K zqC{dn(wJ{j>#<qi_^9heIk4Ps=Bo9Lw9N0@{$lQ4Hs@R4+Ov?GR_yN6-fld6SiH#+ zxum@VJMwMwmfAH)s4S6Xt3M1>QSd3ULmwsdQ-K`wNj$BFubS$Z?_OVZ3Z7l|hTAV` zN;aeUU1HgLeFDc&0oxJOzwa>QTjop9pw%$832EshCf<|L5MabG_RHQg;+-cfcV7!* ztyUzlS=d3rKhx=~Ek#KSaxhor!^!OLef}<?<G7#@M5!_@fdzioLA@Mac;a_K?wJ|y z57|Pn0BQjirM3<%@4Ilfz44?$^L$PeT`~Z*uU0YZcfs{suTa*%#4nL^Rvx4fuke`= ztYcmGhgENcPmtuHEyzTi?~G(Q`;Fq;B=+t8R-#`rd%XV>@z}3y@PW?8aHyB|O_aSD z`7vA>5405f<y&3tSiyl%2e%>IVp1pMz+CFEItMevjC*Y3!HND+bF0G7!@bd1^I(_Q z%-J|?u9je)06AceH9J&WOdiC#9r6<Q&0=E@#XI!HS`#){f$`R%3^D%>OFG;~9qXfI z`ww?fZ|Y*V;z&L5_5tQ|Bv>3WmvukVLR>S0WgTfF4xYh|9SIXNr?c`St;Es^EcE+u zF=s!U_<e{taRAHxzQ1~9SGcS1Q^l`tvQK{Saz8duqslxlB26<AuUr}L;CD9v&{~V- zsoVkJ_kL*Q@DeAubV|_{obIo~+Wy#GTz-RDeym$#@<%pB=3~~#4?5bZ*sni&u`54L z@@V}lxA&FGb{5bZ3FOb6Z1B;p9vYa?BDKj{V2Ze#_LK(at=-tsqg|Y_9_1So7vv>f zw5(=+cW10YZ8agNnUo(_rREwE`=b1z>Puc)7IbWoIt|ao$0F4&@jQL(bM<mugqrwM z11BB46wS>PdFcd}`%^Es9!;_Hm|0{j8HKAK{17^_T~h~UUl6VC3ICH&&`=$K=d^-& zb-0I?6&84>A8cn+tOw1B0XdW<uk_PV;psALt%p!NGA~hTO5OQR<a)mh)JDB56jE^_ zb4DJqTcaxNNT+1Q1P#_RNHBvxKy6)C1@(#w)Nr6S+&Kzvo-2hQyCy#}2zBH~qSVsF zCZc<Kyk)*$GEl?T+xCJscf+X9CYZ5r?;K3!btq%kuOoEt+`cC&7L(P(!8u>2(vsn5 z=HS@Gl+P=`^ZoKUMyfheQAPBV4>ZX;P*rgej~P$Y^O+rN+p~$mb@adD&A-NkK8-fN z>y$lVp~-w&u0DVzpYV5F*h8`Vs8PyP`tn4udSA4b-8?ZuynT^H7uFPC_hfww1GQK( z%Indxps<&^zCp`w71nXz5@Dx`nUAxUJm>-YE3YVg>U%JKQKC!T>)Z(Y9Dw7!D&PH_ zO)3ggYZ~a-uA<h?e38h%O8Ex4^&ds;tJI7{O_TfWsy~6GY^LXlsu}m|ik@%Tn)_{Z z@8F7Xn0kSI?%Y;=9T%6qe(PFoNe!(^%4@5M)W_is9^RcaQxC2Ar<&ADT1;B)rITM| zQ{On9Vlb4wmi*<aWzMI)#B+05;A#Ile;fm-C2o<`aLb)2P_6<a$8GGPV`ER(S2u0w zz;aH{SJy#5_cQ&)uhz0p&iIQ9#<JCC>Zo%XIIsg}x;Q-cCSO-~QlgGEJ?B-YKUrE< ztksHDhY{~;c^?Oe6aet&xq4#vST^LWQ9Rd+%{}Wb?(4<Yp6wqwV1mu+Rn&cbOJ1Ur zqvgsgmQU1>SyAGnq@g5#UssE9>xoGwmUyndc)cg#^GhFJ72mNIwh~9O7bW>k9WAG3 zeHT{ad;_r-?^f?H*0|gYb28qBR_*pjs2%&}d_6IE3%hteSllyV#f5mWcoge)p_RCL z6kBkip+iJ%?)Fb&J#^qgfOsy3{d&RIKQ__kz&O$7=Hw$*a(-xLnuxELBUwOkU$u90 zJ2to2Xq?=d@Mzl3gj%o^&f!LfwGdz9R<EIB$BOH_6}$39nyp!hQ*URmH^q(Ze@7Gg zx0}I2e)egEl@WKn<U+pgL^1XXkFf<Vq;-n1F<2eRD?4e}%%9JQtu8Rr#g^)E@JAUJ zYm2TO*@laLuI2<A6I?RqaEtZg#pr4!I<1N&T(1-Ko+I*pH-}Y(*Oh+x@Icw?{f^^- z9i9?z2bT0p2e-FPNVEvDoHvE|sOca+$S4muNOp;>P!Mc2bgHh9uQ2~vbsZBf4R5x3 zBPN|Z$BoOoybC~Z#F9uCdHO3Sl{gYma)NspSoVx&t1d;jw8e*&6l6N+>t&!CIT%9C z+e_WWp9@&RWs|W>=ZcujRrNa9rvH0@l^+M&vF|R2ihj}T@#W28&QEOVm40e>jh4w* zy40Ewq^Q+}>xv5@iFLf%THKt3kZEAcuLg((gV>R)t;C?7?D^Gjv3M<Oa;>rWO*=OD z+KAwR`B2Q<3#tsY%9il0^ecmDP&i4HBinQ7)9bf^cI@f3#qOFSTkIoJxqiuzj<TiK zyQzz7>e$`uU7S0Rf`5s{_IsViSa#k>q8fQ|W92HL53^o(WBYCxoTDn?P9ev=a-)}X zG_Rqp^p8=~>Smk`hH6|<v-IX@tyV?(-WI9u@M?9L=dB2Fhn4lc)lM8^WuM(@=ycbg zBtnuH*^8aJm7*T*Z^zo+4p4{TIr{cQvEje$>g{^z+x%=&Hj#mvrYcb>j0!i?ssub< zbNwBFqv`Adf$qFKV0lHLqf2)rg<_IIuMbeZNUMT!(SM?JmlqID6Kx<OPTB%p&v$Ie z9sl&!;gHw1t`I&&I`ST5==o$0W&c@Ap;o>@wfws#3SVa{U=*uxmcxLqpHj(VVtH#+ zbVdb_iL0pD1lP$&L!WvWj__nv;34jaf(#mKQdidfZir80jsI`_JKvtizb>u+JN~6M zRN~);gB1VN2g5W>x)-2r11big2?0?2?G3wG=<ViX3x6ZHbt~cTLMtBrZYygJTlm|w zkcYn$jym@E*VfKJWs7W|_*1ZJ?+k(3YWz_{vCjWKk9GENwiU5X{QWia{4K89>eqHk zsH@%&Zxx{~=rucfsxB-3%}0I4*@6B2Td3<fe6(EU+lxZ0l-F7C6n9%$uLog*D_im) zTx|V{6+H+QS1e|49}KAf*|&W9Bz!He#|aSbtLh+9xWdlR2%MrkRZA<{dTjOY&R$Yo zGP;V3u79=y1TA_)0CMzqKj9R6@OzYa?FDP_u)Qd~V51*)6T7@%2T-zm!CpV?)?okN z+`@1qv;Hl4tOeIdkG7B5K1CztRK?QVP@x_(KWeCUaByJXJ!<Oe0_ZAi*}qlT`lFn= z$V0_(huIW4u2z$BphU`Lw&dH4*XcRCDEo@9->{c*7xBOw*1lw<7<PzlD@hdF{Ka0E zG!P4iGvi|~hwF8<ST|gdcUf4c$K%AvyX>3CJ=`C^My+MjB9aIeM=3}RtcKfANvTmR zc+Db8y+v%v4=kP3p&5z7!b8HNnGoaq%}Yx$P2j*f#O^A3k2jCtD_Cs5zeCch97{DQ zV@^+e8cD;js?5ed+H@R8{cw+KLbG-xkkc7ecO6jhF<#AL?Oy~M|AtsFVUb4iQE)Pg z3gwvUpw)2xEz5n9AWnMAo;~pr<K8mIr$b%tK}ZPf7FuZHgB{!%f7;k+wpG%ARzn(> zBQ}67N_lWOJN2{?wEOqdr{cPA*>8XJ5o)pUXOUv7f7$eBVcN!+Cln<QJoD!7o$-Fl z_U?msp-icN>y8go%lc@80iTQafIsW%zN5lS6oj(6y7g4(i^5qO)EhT~^5#7*<6S7L z<?5K$m0yT4_!4v;YA65MM~fw>+#B!b0Zs2sZO{%C(Cewz0ks}~^>L#2JqB)5li07% zJaiFMlZ_;I&0k9Y5qPK39Ma;I(d-GLJ!*gZtEo7453BV&O57o{zR#QcR@;C@=iDwH z`4C^JL#(B{iyYmJ4BcX(D*3@ow(EJq5RI(V-9w$#AiY4)AXBJRMq|{VKsI7EgrPv2 z*u_{cAzfHLK&OiS5$96a0JK4P1A>N7;6q-pzJEuFqaLx<e>aE><mMPfA>jGs|6z_T zYgU>g_EM~djel2KV(Uk&{O_i<zNLj>rO|Orde-hmBcl_6R<$`bDk^R6;d9tr6g&CC z*?r-2&cXaQG#M+%9Q&L-c`?+*`d3ve{P-_6_+?|`E?Xs8I4*^u#E&8Ptg;$r{l#{@ z3=!|Auv;%Zg#PTs%Z8#Vk$JzGEque)ziKc3{DR$n6{&3iH3=?S=JVR0zhBmCSpweu zQNI)KpT72Yq4(K(9{lHzL7K#Tp8L5Df#Xv)&dMmF*8YwC_PW3R*!}lPlRHgiUH^#^ zC*NmF{t2inKdZ{bJd`Tgv^--!|5MX7!v>+KXvH%v>;Ep41-x+*PyWhUy%{d{+Q8Pm zNs4&Bo_sLA|HO^aIk;st2YVN4lev|A<r%zv_IG4O@CPUHh__@>iROI5YI%kiYf)}= zI#`=xT2X2{eLYI$3@oj@Ym31fxMSxIgVK-b^31x5tA8!~;9wSx+@0`R3<bW>HC%mp z8GBwHTGvermZJ|kD~)5Q(PH6;I$xG)q;I<E+}VJ)K6Q@SaWLCg6lw*G8%n=2CcSOt zG>HH}W|(|=61)DkjaYJr8Qw*S+wZV`c#OQm*1YSlcD!T9;{FM(9zkYe+qXQ0Z^-`b zDW=_K+5ff?!*8<_|8^JUTg=Vs<2+KWU|lT_RNJvm)^IWX7E8CbsnhWmMaERWsQB!5 zv}1?6Go5wZV|zYem#w44sLxlm6FN4Uc@uD%Kcv9Qa1C-O<`-57kL!}T#~g%%O{S1! zNywKsui7ot30g&4UFHyzIpLsev8OqkZ!-4*V7Cx?O)e$q-4d}7&X?;<UG<mHMl8M| zH4%i5#gX@=HG<Gfbh#n@Aqa!SZ?8-7qR?9$bX~%SrE#MEy7WvGx`>6>q~caWf;jD( zRIjz*BkfS5puHx&QUhqlQ>jxm!LPxkQP7uio#CY1&yyDt^5nYz()h}S`6zjr6r~jm z)hzy-o=V%R3BF>lW|VPD_o@kQL7tqy46u4hdBqlMS_TdWM#P$1k-f)i_<WO3{Vw@v zgxbwhTrdi(EsvW4je$#%<z9Sf3suVP-tp00$he~9ybx)kMhF(?)sWU}gy!P;w^Ff2 z2z9o1<@uI={vYT=d%aSSoe-^7)ze6m?1Xk=_si1Pc7nTjrCd5`CycE144EugwSB%t zm~S_cqP0RD(OoAE(F*?J>L$_xtx#Xr{x>Mn;@pBQ+wT<!Y20z<6vyOM_6EftdsGPP z>o*##FYmJ^=R7;%{)N0w0q2Krw$T*6e3dQ)Ga7wt-znwbyOUf9+s5v>#!?TR;3nQK zkv`T5jXXXc3t?o&tTtkBMPx+!6b@BOItmc6=2)o|PxY%B8p*?6ST0U6O1tfaj_Mzq z+ev@g3%=?#cyV(8i$6O_kq*L8uQ^M(F#3c*`gw8+QOw^SzLE|)2>rwft0Y%Pp@lg5 zzSPB02y?1Q6PfR_6qHM5s?k^0Tqu_=IKrmxUy$lJ3EiAlTp;n`;+H(eSDNZ1Y!ny0 zkldVMeTN*Rk<LPZ`mVc1%5jE{nw*!4orP}VopX}0I#4V>Crzj>EEPY0F1@QRwDUW5 z){ZXT;;L*6#FPdxDUytRt~eYQx&3o#h+gpRG_wk146d|rnJU1lO5m4&X)w*k`}J3F z(g$8PBM*_gI%%X6dSRtl;3*As5&G%}+L3(~q(<XQj!w!-R=VXPwD%GgDY8rCmiruF zBs*BdpHfR#$gXUuwA58-Ek3#_6}duEPBuxMmpi_Y9BZJ)zOttK3#oezFh1;*w7!PW z)yeHth3uZxmj0?Cq}L33rol-pcO8B5==5oAHEDiLp`rSit0F|T%Sk&ada$OJq^>2j z5(|o?h+4onwMbf2OOR^KehN$D_gZNAL>pPV3#Cwl&@g>iE$s8*JR}9SK2JpC`m?5D z=PtA+!fzxg?Y4<ZH6f^>shh*6F0GrqZ7@oWa|EH;rJ&)<uWkY=)=&jDA^8$)5Y;S1 zO*3GM;l~Qju~e5@rJDy;3|A^*Y~<{#DLJ?a#vUtf;xkpc{29{)KN4c1?@SYl<hQ-K z8v1A{-lS`J0o5^2xGO=9oA5|JSP#oU{$WMJBXdk?c1$S_CC=QGX1WQUt~x++IVE%< zA%&liwz^@$^sFbHbrXCN%75WLL8XK0vJ)QR+mdH=7ZEHx;vsXpyy4$}NjNdvVN*0- zLpjJ^A!EDzNhv3zAt&R3x75a6Xy_S%$`XHMUi3)^Na^#4_u8V8X1EIt)MuSF(iiSR z^SFk`={8l#EI?NITE$hVh5tqx7X!?F9?3tzB@zi*X!JG~Z1_Y`Q86meywO!MdI(LN ze*6=>1l_~E-4WNN0Um-;=pfDX5E7f)fjNsM7hfyNeIbsji;Y}-$0r9+)?ish?^x4V z4a<wAcOF7e=kG7@gau!~b^V>s4bA-)B&V1%Bmui&6XXu?*+%bT4u?%<aJt%RsCAB) zd0R-aG|^LVb3UllQFG(-(sECsX2%Rv(G81s-0UnW<Wp9|IN$=Y8Mr2jPfZoXs}hwE zTPF9xjzkWcslsZ|UXUJn3T;An;|HARmQ?l+Vc-#uC_E1703-i>46J42fAr%xS-ja& zcU_21>g^>M#qW<vQ@w=dx(CRAt%lD|NqJs^N9!@v2bZL9f;U}RS<UiGrv01JA9yOE z>4nsu=emY}Xz61~$gmo=pO>s&f_v;z$c&i!S0NcKsh|!tD@>4hGtW?`AxPv`O(!Uv zJ4Ag=WDdc4&BogH)6$UIn9PNk=IBiOR|ByFiC4{(<}`X%2(fBeMGu~m`$3xgYL}s# znlxi6MuH@_s>VC5zQ$#2h)|lQ)Ag8j4rs!xrvebIMq<XZpWSCUy$2~ZONXLmSRByh z(Xv!lS4FpqObShOXGp&7q@be$(79k5add+T9VJ1QRg0ihei5h#9|9AMZso))<5{TH zYS=?;SS&hpw;I-@D^_D6Y*qtP+HycCZu{AqlnYDKm8KMa*=D${iAcs(OfGKANr=O0 zFxi@jTdSdi(#r#Pd|;NgCX$EM(2zGxv|vS#QVm-h$<%7tqF|K4snzhxMn2h=e7FOb zkL4s4>UJcFn4Px*{DUh^m{3~__>@b=lmoXk^Q;Evv(hJZg_<?50Uj5Vr&Kl^JtIkV zg%$(9$s~7UgI)qCnhJ!%YIu2CDJht8&<5A?gydZTKj;Ja!Vln+&qxit1t0eW)Z!CB z{=*FDXykGUJ1r%73k?#!g!TXDRMHIO4#8%OhM}0l=tr|tjuon!ilLj*#7$+7RwMoF zEf~UoJoVnxU}@#pjX-y9Y2~U9y6cqg+;Ef8y<R=RklvrVE2gEG8z$EX)bVAYVeKo9 zEg!1DZ7zjhL$)#mpBvd2Lb-uoCcnGGhtsU0<8yLwbYIn?SjnM6qLRXaP4v_8i(3$V zOI!O`;6|HbMSYZkxHE-kD3g0n;+Sn+?M_K@J)vcK`bmz0ZU-M%Uio~*)nk-^OtG!& zihL{z4{^4VG8s+~qZW%Y8S-pR${gCIG%0gvm90rJ>t#w)x?<KdY;DR!aZ-j>Cdv?7 zlj4;>Qo1Q#xs$C)nR)G$CS~RY+L{#qd<1d=iDURQtZr-K^CWC;cSS0SiIpoO=i+-9 zeEw&X#|~b)r!)m{EuJ|k_3{x0`DZB#u#oe!8Ya;&iocG+a7ty*BI%Nk5G;Hz3BH1_ zOYEP@cuM2AA}Q2YnB?SuIbps=K3R1}+T$w>GIZ$7WBaOmzzkf;c*sqpdiAkT>vdWh zSYPNWYEMhs>kDH<%Wsma9~Nw@4@jf@g#Kc?15&=9FjA1D2L3_|x4$|nm`HcPltGy8 zbd*y3g|?#Vq_oFhFp2w%q}Tq!91pvh8k(=2dCaJTwIfpU^RmmY($WSPp!RptZw;^# zJh4v-ZzxO+Kldp?m#(RjHMH5sBa_8Mqx{f?Ql6|RI0m>8XAEw_t335%Np2{_h!^%s zO#_6X@#FU*3FjH43co8s$x$2B(62*{F`zv6xC<WdKkOV_AiuebRH)(z`D{kGD%GCf zy_+{ix)mTya>fRe)zIQN-zJ+Pl{FH)z12_21QPDbk?nA>8FOGRk3)U#(%$Ke1ZicU z(BA3O_V^Zl7bST0zLo9<3VvGb1YrZGKyqj#_&LNq;V6#ESyEUdp?R(Qz*Kq$u>~IE zJT`ss+Y|-T96*|`mU2j|?1~S#kQ!N!WMaJ1v3xQoSmnjk^AT<}qy}T-qw)s^9O?H0 z2wP9=Okt<_C+RV;`HWMr-Icet<=E~X$r1!r_TU59urtc{;xtmzAR(saHH=mIc@<qu z%aaxc!A^qmq+f!d?5AH#uEBz@_D@0{e@to<Ech8~KejQ|C&FsgA1-xN@WOuk9F>=M z#kNT^Az0cKEYxty!SJO!Nj$AMCLi5E&h@H%=}(|?7*S#q@kXg$W1&^8SHM_`U2S}U zW%!K`S~p+HZ7TTHe<IuD)1VC>)RknEc}7<{iQgB7gf>WdjfMKoyw{gUxgzICQNe<D z{h3PNqw;s*yl)MnH1mv$LU*$Khe;#(G=V%G0(a@AD)PwsO8T@3<PrXr^e#kb;xdI2 z1p4IyNF94fUy^iubRlIVo&i5f!JyP3@R5zD;nIMn(0M)vC7lyb-(!;uUg8JNljC;} zZ9F||EnR3TxC^7CM@@ygS`IYx2gxx+2yp1E03DSxq{tA#Q@y{lM*1iO#O?_L-t|?8 zP1r4c69Qs|-9&6#v0#@J(M$+%{)5J>^F5cyG({q%5BSJOW&c)OBGtJlmgOoIepF71 z;aY6xG#DpHrQ3*E^)9KLut8&1!=NKou?1CN8`+X$vsbX?S76)NNh5vITxjRC0i!9{ zI_{K?GzT`!4_Gbked5GpyySvuS7+RBHrlqfuv%j+%kEX6`Msk?Y7{E8sVQTa(r>D8 zzHrBZX`w<NK@8b0oo|5+sEgaA;FiJwaq2c{5k0-ODH~G9w<;S_)3z!bQcboh8&Y?- z(1uj3*!!?FwzV*<C8>~K<fZT3;e>LK!^v^y;D_<O5jHL9=RIHowUtoITc7TegfL-< zxc&=iSeVezb=+>wR83AMV*74sZ5Yz_4!foA!-P-8?H^06!{O0Vc1d%>Vfm)bbeRiZ zeOhuUnT1Dl+bo?77lOopc1kb81s~CCv*gi6XzKAI1kRb#^yVZOzS6rV=Z0ydA#DVo z_HVyJaONwMC>8xm8Uav{c!GNRg@kO{GD^VpkLP=oD1J{aQ4W<8RPx;->1Z45+I*qc zNl)4cUg7sh6?`qUlECSkh<HUBNWRM`O{VKP*aEN`W-9nN@Q^)H`v{?Kqze&)Uxn*L zCsp+Ai`Af^DoB(%TMduCq@yTQU%?9<0qn$WabEGmm(m)b2>A>RO8zpP_ZWpT^;b$M zy!BdTIqECvVT91g>B}GrV8plYmr|X!g2lHZuB4$KE^x*+M_cqkPi|I*oA(L-Nx6QW zbfzsV;M&)cTci-_NY&tcjGXheloW{&2?usCQV4hWl^PNj$<Oyl<tSIzolv4PF(i+Z zI<ym_#ZNa#S?z=<vGoS2s2##@`Fcs+9vdKg)=P=)vFS8qy|jtSHP%Z{+GEh7byDjn zJZG(w=0yn|TeM!MghYkOQ#-(NLe@+D{9J6{a_LOmhO|5d9H1oI1G*$ja*a`YNFhzc z`mAiXR*Hxg7KjmRrGjXoNA2m2v8>0nE9)T_N^hOlQmn)^_N)viDfdscr*EnwrH<No z%V-xm%~Ju2?w#&CK}LC2PHSZ+jqM<`(C^=38yB*bd#sVZ>VVzP4N20k9fUw}@+Qft zqtI4+ljd~mT~hasLZJ3K6|}pgbSm7S!quJ9*BymbV&WF5b0@(+{e)CCH(x~7Z_%XE z1rVZ-N`@bS1v;j?A@Z=B)ku*Cl~rNiDAdyts65~S>S2}qJQQn7I^iG#xIsS}2*bA+ zWDIY!<`dupNDOPPYtspH28qQUn0fl0V3cQL+5$jhu;)3okp~$IezOG(gnv$*c}{KO zA2+<_6&73bW8enL0KO$~Ss7>*0m5vI_~}o@T$G**zR*e^#|VwnH*V$xB^dGf5(vi7 zoF*)+h<s%8JP%D)u<<!|$p%J@S`FQlLG$=JG+Y7Wa<Ljhm8K|8s<*94xn`4xQGxuR zx)0${+uBG4^3+BOo%Gv4_(WErB8*SLn<!-bK=!UmZGi5tdF=$?nxCI$sH|AISsL3} zsMF|2G(;E9_sa!5bh?4-ln$5sY~UWU;<ppKA%N5Qedq@1OlP6Cxb1-?cNRK{`Rk=7 zU4%|*uK<md)<uXA<5x=GcEK!qx=s>I*o9w~FEup@k>a&nX`)FODn8vI{cIBIxmH{E z0sePuB_S60@2{2W#0sHe%qFQvtWZ-7*(8mM6^!Y-R#dS=zEiFl$hD8_MHQ<`7p{f} z8zHvrEV2gJ(7%^ShzWVPQMXC4s=Q0QrdY0jh1;rO9IvpHK>)Iz*WrX6XEuZU5)Y-2 z=`~ql=f-WXV!MZbm8}`C)k(FxA|d~EIn7x9aS66{OfLAfV)^=2X=GQSgZinRPTJK~ zXrCSddBSjD9r73hw1?kiDC=dl9yVfxiqAaoLs4a`ltU#DJQs|RsVQug6I<}^e4pT< z(iD$_fr0*tDXiuVmlY`G1D<>v0wave6+hgewB_<?vUQ{MX`IkUe7RmKjuYH!-dV4> z_y=SLW=DjA4bnexLQ|uYLboN4cY6si3RGB2^YWebk||#B4(y9_zZ|5m$(ZAc<ndD~ zvI`CkOlJII<1r5;b&KSTMjB~ZywK7mY?<Oh6(pzEOPAt>MzyQsP79_k0?vcaz^vJV zV`?63Pb`%@69l8K7Z%>2Op>A#kZXNww37xWV9T}57HNKh5aJqzURCa9gny=(toLWq zy#ygi+=GO(8`6)J7HMNQA;e>19VJwUz-%yDG0fzo?CGbG9(EIao29OS^bx8<ywO@E zRF6PCchC5VN6JEy4|$N`{If&~?~XiR?Hg%OcfrFgU@cc3FnaIh3QBk_*V-#B?k+U+ zz4-<xvSW-U3;wcW`om0VX9hye1uFa`=Njpk?t<^g14Ke)?HZKKbMV`BeUszOoyX8; z)o@w(cyl$ND#JLPJBD!?MpL~4(g3f#&VUyR<on3sk)Yp7(ttz+^2-uIKm;}twxaxg z=&yO}>&n*j)zbDvA;{^m8xQ2blPpPh5{1RS^E)fdo|G5Yts2NXohSS!<q_+o#XYb- z^;#!g>VbHDj@U-LzPeU&?}?+3Icueqo<cjvvs6##RxQ^`hk6RF924>s#723q^rk2L zOwl5#buS@GowdkLIyOygD(&ngIH|j!6mmdtlg{_T(Z=hAl3i~^^4$xiUcC{)lNU-G z>1kLfmC*C_0;xqGp|i_8d?4_i+gdB7#eD>`*kz97-dE^fYqo{bAo_7c56o3c{sv}A znSF(DQMFF`u`gBz)1)hXF<kCvQuTg9GrJSmNWYaQ#q`5LngJ`WvHgT5cGyagGxMa4 z{e*t%g|Qmxbw6Q2%{iImIc9%dqJ<5Td?sW{%liuf9D3N-($W5a9)$&v=SRX~@uPXt z){lfByPtq6ZjW^3BcVPY%Xg1t{YVH__voULnhX%uyEdOoXhCs;p2$_tm2M6Y+9$6y zbERrlU=_xHg*+*Myd3t{HAPs};CG4REmL#0MJj}ZYMYw4yd6jT}MAu3w%_Y0Gs zw8pi_LOXn|Ezw0;e2hmf%xc)TM4B;Bs4pIUA#ECnl~u<jTH6P6V+af>iD!oN`#|B7 zHaF5MeR(YX7`n#tl8;VbBt&Q6r|tCf55t>bT5JKU_<^s~CNPo|d18T-Ge~gvhy-1H z0q`STEG@-P6w@wt`vU1GTE)(0>DnM1$}Yz;!D{HZP+C4j@DgjLOZ5f|G3j}WAp=~? z*QM6YeE3TF1_HgUhW3Qik}w88WdXtoq*|&W^I^FHVtLJD%Vb+`G1WWs;X9>?z6B>q zVRkIyg6M<(U?UoAv_S>YAFPl#?&lzcoXqn^rRS;~E|`<JEtPHKDD!+&X%J^N>Sw8X zlHl(9s-j7M_zxZRO9-E%<Nx;p30Qkt4c07$!3(pc;YmX0hT{OA6E*+kr$+tZm)iFv zmJ^-|61$nD;v~Vda}Wo9S!hhHllkzj0?egxm_w5^T)-N*=>Tr-@(p;y9*DgPQx_26 zhY0R*8yE4j5|HUo8pv7Lk`HcCcC@ieGK7&^4ZABroj%}5{X22=-F$_ktXa}mLxd>5 zhJXf|hmKR~fF(yljbMh#N_LzVORmW{0)M(t3QQLKMC*B}d$Qo}K4+m#tUn6LFcfG3 zR`m0EX*L?gMGK|Rl3^#m{6>RjVd9aU^qDE$P8K=`{JB6GR6m8}sDCfV48mC<$6ppn zaYF^K^sjBu&Qt0F+PR7#BRMz;l7V8IAcv74EQV%S^;Z#O&mR?Wx!S~4X&pYmj#DT| zvW88v4Q-$`6;P*Dm7;C3Kq?z5xak($C$7TgDO~AhNR5U;l)JJNu4-~o)>K3p3G|g5 z<t&tz4inr4rV!+-Lj2OSs-y|b)JAy(S**q2fE@;++&1-segNf&m2d<`G{3j&H}g5= z_-(voRcRwGe(U#=br{5NmnC@&$M#GwEZGp#=PHC=o-Pd@4nn7)BkA0o6Y8!I>HwN5 z2_3vZIyPKzGe#055sIHK$8TbD>-`yZ=mMcPTp+y~E_8OfuoW(cpJ1k0q}UO-sNg<d zN*^J(*P8tWE;NHH!h8=mjj$Ncly;2}0_q+{ti%sGW*`Yc%$)x*w|)zyPqO}q^lXF> zSaZu<8i@XX11vfmX~=&EYozWef<cNJDcJS9!^yDF@0VE(r-)9#De2e1OwP(deg?FM z;LLX9(n28I?T2_<8M?_+4%4dV8ozU__>dmwr41tmkKkwXI6ltraAlxko;`Hq1DTWP z$d3~{;gt02NTG?iVV>kVN^ooN9T5$jJlrcR&%>A3Rr$CWq>&Ov2_ET36*?6bcA-El zxbVfw7Nsc%@~|3~*_!%ebz(JSD^1t9I8$v+3gdPl8z>aUKe9FDb20Q%dPVUyO*`I{ zj;#nTy<#qCi;j<6p8(&>s}7JUvU!Xjf_*P73!#+@&%!nlq-aG-3sBU-LY0$)VZcfZ zDdS&KNK?i?%Edd_jEh@}S`=AcFZ%BhM*hzc6d?&8j4-9@2ubs#{Lz9}or@X7&1;i6 z$py-P@Ew;ASHA9`^m4S&Bz+MeY^PBqUl45MCm6Zu)bj&HPMAa8-y7r)fpoB!MaGFW zkqm{Px1yw7ibxeDt+LT+;=*61G~uV;pv)QRwl@6WBZ{d?TOwEV5L=U?q(6xs%ml8a zPPV3d+$h^Ay^?tp4YV~WBC4-6DRxxd)}$B<XVB8ZW-ZT248X7G?kR~4$64Gwu2EA7 zCM>EjBjg?XrA;Zw0>^)hQ_slRAIijnr79+A?cUQA6bezp6zqIHz2s6P{}E3h?@cYH zigsN0e_#qkmHhOSB#afjg0q3(J*nl2Toh6tqJTvXO;4g!dqV0mR%p_$HT6(V97$r} zOwn<7BK|`i*O~PpKjRzX&~rQ{>qp8s3O}9rI5@25T5G2?DOwA(H7UxjuQVyjuC6q3 zDQxC)BPqPLv7;#LFD@O6qOjYxCRl(5)-h?e)O{Ro$SvQeC?Inj6wqMihXhY;U{gS{ zf=MAbPQk>7zROvpp<5Ejdj&MvOQ^V0kl*b6Zv|W_;tB|z3<U2L@PKn-vy}@dkOFA7 zP5Fk<ksj9Ul}3(-9z3bz|IkA-;^9L*{QD_&em~c``P=jmp$w<6)qoFIp$DVVr0BuX z)}-h`qckacC{yU?!kEv+N5Z&a<4V!PC6piwMGr@9P0)iI^w5L%;Zw0>Jq41CZxw~C zoB)Lw{)6(7SoG42(05l*DwMbRf1G^@e2vHVcb>WTCb1+pmK#ALK@eg|tRa>pf*TTI z--)%<(olPm5bG~O)N-gTv_-Wl_Gm4!l%STj6jd$N<sntE)_&jbnR#xO{`!C4|L67j z$bDuzbLN~gXU?42rqi!uuz9oXQB}0kSQJg2Qnb<6tE!?Mzfv`-qL~PQ{1W}>X<UNQ z|A4a;(x_6&?S+w8NN3A#6#13n;tk+gz{O6g2Gxz4$r=<Fe}Z#canZb!UW^47=WxM) z;o@4xz9<(*PUgY|Ts%<4;NoV9cbaO@QUn+i)tgdPlH%edBS~>FQ6(uZ_Ekxe4EH7B zm<(-<0*Z^RQ~|}sT1Jw=#e=ep;-VXD6g~WiVnxkFup)U<QOqw^Hn{kOWUqnw$5Ux4 zSX%;~eMO^zI~YdIGLI(~Ego$YuU5Bk@$!lVvI*NIskjNIsZ?>C=3n`)LNGxNN0$*$ z^W;Q?dE%M!HuW8+)h^RWR)yInFNXFE(&q+P=!0=sj(K#HUXIfO%8o;Z^e-W&c(#DC z4APGrrF!EvKM^*OI*!+BCvB5;FAC(V-mxVgq4cN6&6vd9miOufIcy7z99uys+<T^S zhzS8Hw{gkdqCkilqK6onBBa$4r!r|1d^ty^EEs9z2$2IzFo&={LeIx*kxA38BeZZ< z7&2nkI#h)sRH&m0sVT7~OoifAS``)Qr9vfDC_#mu{vct>IdYoirV1shv_3avS~5bs zXw((IXv357QWh<?Yn+PtGYAW+g1Gv4e+>5vF}9@6lSmpzP=Dl%b3$cQ>O6_CN;&f* zm7JjY_^vW?NbFPRNwigt;XhIYax`ve<dAJhohOl3IfRiSqf+O|hNzT_*J&}zR$nh0 zJSWs>Rgx^=S`^1FKhoC|v=&W^FOx5@v0p+xe8@XCpF`rL2rXe!;CitMPS?T$CKOx? z2ZvMCM6FIK5736CEJa-nG-*5~PlV~~Ih`^mYLi8^x2WbMt#!94iiC^geNFJRj^k3W zvLPlsj6aw!olTa7S0v$Nq+Coy0g1rYcbEliK;w9$6s6&bls!qaHR|*(im)(AOQ$J9 zP#eo-rhM=X;GRXSv*@qmsQ6^9L(*ge3*3r30t|(Luqf~uIIfTVRGP531&b{McFuQ0 zRtdoc=;#Bmr$>f#&YjI6Y!0&{Pm#@GM&qJKN@tg|?GF+a!gids0BKu~r|XloW=)&y zmoSa(eaiy_<m^YGtoJ#<Rp9s~x1F2ERFQ}Uy+a+RXw7;@<F+J;lA>1{H!Ytk+|WYp zPc#za<yuJ}XJUvnBXdD%E@_w8wHQaYreKwz%RYKFMXTsL5$fRI5eXm5h?J+;saoaU z1J!}ZeC`=dRy=wip+eZC8i@*<iOxiYjcXBXdL`1ysaWEuyqF$O)!y+Rd8i0qcNv)# zq_ywR>}gns8<9rar)h(`t{a1f8AFj%5>}7m#`0JM&ZEJ)?#<@=92wwa=T{}Yo$dH` zY+<S%97}`W)587B0dS%AOffPkEC!FIgYRj5-tH)Cl24W@X!_8-%y1>rYX8+4<SE3% z>x^(d55GdF;Ar8ZzyvT)-;#=1HpGDgF{yD7C(kjIJRRNQkI~BU%o55#IETY_0I{+L z6+Gh%UWKsfmmblX=~}S0o~&2CPwB8#7(+GFv}#myhStE8F~F6UrfIlnU=$_K(3<&d z0>(U5f5p?C{95LWqHkwtp{6>>Ub&&kn|x<#E5!$I)1H~|;dXkP?$6YgR9QdLz$IQv zS`vbWN>CBQM^Z+T_L<1+OC6Kp=>K>GjZ4<*Mz0v*Y=azNW+G^mOOO%65TP!*WQ-!X zW!tbIqna&qd^v({17gj*w{U!|$UT?eu7Ibv^6WQ-?zxQ6H$J60v#?zIzD%4&{by+{ zOAkU>gL%oU1dgWD_F39|k<*(R&&G+5KYypev$e7QzF2xnIq##ce`$z|z3#7KKJu6w zp?7*n_h)N4qD?P4kOKGki=JejgC#raNpH>3+WCFJo|<pa9)9&^Fn4*hNOg>Nhtk<O zT4>X-p+%@s89_X0X`S=Z$#>b};vB8?ts>HcA=GHD)?d8cgO<<Lrj`1uyP>00a?%j; zpNB=q**&TGJguIoR7DGoorh(Fw%sXfp4Ow(U)_r6v>JoSf4<hN%A-My4SO6{<4ay) zi24h#K0Aoso3B-^@_Bx~Zbm*fGYay}8${XjwZM`i^7DBPqP+Q9S#tzps8)(rv0P*p zgbrnFVT7tcm}G#^Q>fVj&9{<kIG-bl@QO^HQr=}^g_xA=0C{Gdv%I)V6Bb~>G`uSv zU!c`)h(#>LjuSu0^8pz6Id6bL?+h*z(}Ne*aQ*l32+YWbxY2-5wTjeop;pZQ@?e%X zyxOr=>g<WFu(iK;8guT;KA;A5*0fNslvY(H!kh0=M<%?}hqf%lmZb7s_W!m}Yot|Q z?nGhrkA+dVX)sZuP^lY5q+-jAuQz2+79pO0bE0u-Za_R`q-x$J04Fva%SM)Q%jsyU zR)r%}+h7{}m8zBZ>)us01VebonK*RKN7}C729yZBFV^`27vWUQ#!l3Kk=8c&K&tFD z%LBQ3Ca^?fSv)pR{FTT1=$u+*RX;kvNb~l}=x4~HR43bR)8j>2b!+kdjDw+0p7djN zGR!o#qtYbhYWH<>iLma&(#fL0c=$rtiuFO_sWfehSl5#x7i(p-H0r(>OQ*AY(PxXX zNhrJ*JzA`_7V`#E*b*(tv?9(zUo3%sY8~rJc}ujx72E&t#u0e{Do-sWVgvA^z^fSE z^o_S^Ogc7Vp6Ex%(zPIMFy*Gh=q<aCiZ9iAh`@d{cqw{s_7z&X3_54bUfRj=Gx}1o z_Yq&-h(Ec9dcBWbFqit!E{;$9Ugh`0uBT-%vjh9k;AL7J?GU9e!-Veb-Lz*J7D6ZV zrqau`TAG)NKD3JlE!R4UOTB2<a;=&+k*+RB?kc<J)pBeSZK$Hf<?ra)av(E%C#_w9 z=9{|G?G;*}PtCUZt2*4%LgY|onfxXBuhgp7<X1S2D?a3Hu7)L%x51eGEecFz!S)(K zV^?ZEJ<fNMJ@+D0Do=U`7sVUg)TL!Lqbsv<QQ!!aa@gKN2pSdlb4VAE0c_ASX~Q@n zl<q=5uGC`uOSA!^&^|ztJ*M)iNEDUzzpU#@(WKRnnbg^+j!hhFm_d-M(<LqoyC9Tu z5)Urn7U>r6?L*V%e*A`IaCu;mF+``!a@NjtgtQ7(OsNtT+#1EnY{K1fw#N%G`lD0y zl3;d~BbhJX?79i>jgtm?v(-psvrDydc_5QQ0&~ZG`Kz_EG<y{mBe1~;7;ox;2FU(| z^G+ZEi<|cbW8hIV9B4F3(J;o@Vup?r3`Sz2^a$2=CMt3q0(%O`VMSuf!9X3j;!zB$ zxLWfNfh(!jYFKFPR{c*ndvs)+oAnM|Uj(UXpbLXmNDXyTNg>tWNK{C*b0#XJu68Vp zRIPY=yjrUx9*&`^AHX<kw$7+VK}s=NpdgLuL_0r#an^JU{rCZlv$1gim2aG>5^sZ` zPUFl6eOW*76tW9$aDavBnIU_MxE~tWsCJ}vq@`<MoawQKSSgq>Mka+tgN~HDM(dsw zC~I0CxJpVVgpTJVO;)gEDEmyw);i{}<bv!GpEJ(+gj<DBVf&0X*z419my#TJ5Qs^& zI&8lvbkt3@T$r;p!BByC7*cZ`1_m6BTOyputKfQPP@bLG`W-!8t5x@MmuMLJ^--)F z)n11+?5QnXDdTgkl7H4QDd6fNU0h`CY=cyXXTPE2>$I%!TkVw{7sGx811pE^xQd<I z0I{*S$C&5v{L52=0|~%XpV7jw@V;KJWtuL=xKYvu?9u!ojy~G}g`E;drVOpO$8<#~ z?uvRh8kwQ_nZ9pnp@kV*8&lnISNbMH8*Mt$%#|WGYHyitba10>8?|`TfAH~oqt@0# zI_hxu6VJWIQ2Zv%uhjkKJdW{Bmk3N0_4G?La}##|G;iuk$2VzXO<i#tcf$`+_B~a% zoYys``5$V2rL$lh6e`>MJ2Qn{H#ef(54DnRmN0%JY!4-0H&>+cA8B!>N@&)|j{s_# z0(F&JuF=7dfJREQBA^1lrMn*ijf>bJSnp%B<*#;bwEAPMt*4w#FA8Ljfd0)<y7#f> zTdHf*B84Acqzao+IHQp(4cx4~RsL{WW%<2etpl#8UY8K%Mn7-XLP}SQGQ^ST3d<ky zmA7bR%l;h+Je9GhQhthbqnIsPgGTIIf#DgZH_0~4j4+l?y8)m1s~^N}gF?jVe}Q&x z(VCmA4KcKC(PEqD!<c-eFpOS>VZ3Ub4?{hB>5e&(?)sdjY}J~Vwl^?rM}^(B2sb*p zRclsUde<1c-BkP&twO1=0w~PlYv&k~5bI^`B8J_Ai^LeK09yWu*1)?Ft`(F0QxR%x zD>T<}lJ2k9eCWw1+Pl@^#Zc|<aOe%rWb%e0G@sF6^2+9a<71)4+px5qlS7-gp(8m$ zTvvXo)oPeucHzOo?VeJ&-JT7(-G-Ie6jX<m7+CLv2<8V~W5fM67!;%(SZNdw8OdSL z<FE`pVHpO>nBie=wDVJ~iK%ReE9HKwohire4crly%&iX3ln#kB%kX#U>(8_*k(?+Q z`qdYOky=m~srL01Qn2`1_b+1c#XmN4Wp%0lcCDCcB}U?r+qH;3yK$afj_pj4e8QyF zV=xEh?Ui>n8up*kOaBRH99z5Fo0=l5D^3<DkflhF43P?J%`q~44u$oSvpWsK-@~QC zszw7o*IJnd)=^rk;rg9Lw3fA*0Z3}Co!RDmn=z5cYuJqUYP-_I&$V#VlBi-7vO}w6 z`m3oMb>5+c70VmW=v~l*>HQsAj9+9^2}?RytKnOA6&bRk#Iqe*Wz$P=!8cQ@P_DI6 zbmo4Lmnn^XD`$`xm#O*sodx$~WQfDIAKwNbgf=3}nsMgxE&ZJ35cvREaz{z)p(Q?x zPCNrpk^WAX{D~*feQ=U)WNHDSxx<h&t@9g4ZdqCQeiN?hBDbj9AQa%u<j@T)AE3j| zTCP-gr&h1rzzE|Ic64BZJcWJ6VLRKzjVA2W!u%EhhD6<t*^Gn-U!2@WI{;Zu?}Qcl z&0e~<Q?r{+)pVs7yR?d4G04{-`_3a&grh;t+-S%yEvW8NNkIsAzrX+~**=(RVhuC2 zK(Z^zm;}V6Q;W`~mL`h<(mua2H{~S12h1+$5l1A`B_5-Zgy#eCcsWeB{f*pQ9@?$7 zvvZ5d@D7CSsj+AnT0A=lyApS6waab^Dr65s8q+M#*U`G&T7A>K7RBh>-MGcz;6SRf z2PX8yffV|M7E~idzt*2gh}Oq#)%$ZNip;`UDafbo2s$M15Nm?71X+8q<2J8}g&cdZ z8J-h>aDu+232&ZjNbl{{%9;8gdBt9>Maj2Sa)4e6F+c6qf=e`rlRXMI5Ui%M`>=;@ zYc*Huxle0pd8-;!7X5WdYiSBZT)o3sLtXxdsk!Mwpxjs2#cdkyaf@9zn(DnU#hPj$ z_Ue9&Nmr`6QcxC#&n5Us%+ku5rr=|KmbNJAIrfIYYznZaEoOU0zoWtt2xoElnhGZ% zEJw1_GQ2EVwt6uu7=53L%1}{q*!@sNWveJTjHRonn<}aok8Cpznd$ulTJ=)RYZciU z+NhS?8CtOdqG3~c+GibIh5W{~rvZAGvKD%MK=ZdH{J|o?JjX4hXhvLyzP&f|s#fh% zy_i$HY>!9Aj)T28k(stfa;%I*!R97=YmWX_ectmJN?BikE&=r|bm0pvtOU9d%3RcM zgi1a&V6NHB0eX5UGqG`57?a3g+sUpHa5qA4hm7EN1G@et*!v<xia}jEXSNh886<PX zCF}bU9d-~rzGiI14AEQB*n{A4M}Jq^c@RAI@Mj*kdSPnr_H`v@<`_Don>v`LRdS`d zhqNxHYWTn&N*{W7NNZ-g=qKeM-ZTRrvk!yWb@1^mKHP5js^Sr4Atud_V8)x~>q_H~ zXx&WS_&9w8dlFBD7NciJv<s%Wz7{%@jpHi|8d~V@Y%QT&H4INUCWtqZvbp!j=hVhk zaHX+FwK4u1XS05PgR6&d+gN};{-p)ZY$gfxj0Krq9M#@8h14rXOO9!KtNiK1Q@R}K zYP!awO-gnRd&<q5_J#ImxfcDLk1Gv7j@|0JKBUi%!()4C0{y_hJ;v;JKcUstLgp<u z%L}tQ#_MaA$!^~rZU|f+`??(ZO7e^ga`$6*LLBLLa2v_+ue6P(CpK3qep2gQXQ~bL z&pM$4!Gd#*co7$Va){x}c@PWz<A^tS*62cAT*7e@KCE#l8(CSDrSDIIURAs;ROgg7 z&=gV&O**A5^QpBF@|DugJs{VL3mTwbrHcJ^CN;~^(oDlDftoqmbkpyC7K%BoMVEf3 zG?M_zH!hFWP(*20+HhK{)#y=;e8p?Wv%CDzqFxm{iQyD;4}?-f_$tB;@a~J{!q8$+ zmZz(_(VNqdu~Vg7$>)q#$G0MeUb&hY8yLX0&s*z&8-y}IACpRh&S)))4JhU65)sy- z;!xUhMhmR8qE*oXx7IofOkVuPAr(xE%U(bj2b3akZYcs5N44dcLECnecXMfqh?#gd z^qnEaT)<2yUVbTX1Ph6s+xDK9D-AuXRSs%W-Dq2zXR<H7^&$K$&PxGbbVJX9!i>VY z=JvB%b#X0&E}zxH&3{^Ph2d`=S}?WxTJtpRu)0$G*IHOaY-KKR6^~gutaI*iy`W7E zjtoC;U3?7@vXZz>TuEgawB@lI0+j^8rAwJ-wW``t`V+uRS3O;+#yKrC>?2QC7u|s} zSw63DFwU>g!MKH-^lN^S;C9A6;}&*8>GX5B%qI#`kndUaFe>xIjYZ#{(}J}f^yVD8 z=m`&aul_K#N}BD#B=ramWHyem714Ra5yT^eeUXN9rRotv`L57HOFNmr4QJqWw*;u2 z%z>b6s^2I4ljgArKm3%JKIjFM`NF=?cD9q8v=FZ;c^s5qeZA~mQvG)F_bJOH{O~_n z$m5B#kjMK~RiTB*eaf=H$c0ZEP=E&JvZakr+=furjXGS=f=z9!6r-sZv`)5F&6Hf> zx?EVuH(AHuBD!%wt5SB5GYS26Q6Ss@`Zg+a5$>&4)bgTMwfvg(QaSr^Eorui@EtJY zCPFRk_zB9+{|Bukt-q+16k;vi`bleNDOQ3N<(fMfYqN{HQmbz;zD>c$fV)~1`g5~r zV)8}k_BY_b&&6CR;9JeR+{t3DE?JOc$DIZ^!gheCGWzdGjQdvet6U3{KWuo8OB*ZC zafKm~FM@r)5uf8ar@y<EQoq%z1nq9(Y$V4XJrC+Z>8*3dUWwt8O54tx>GNw^rP>$t zQTZv{@@yu`9`q#`RJa!vA&%vKqz@qf@6d)-?ymIKcUq#U8a{sbPV3R~Ypng@h9he! zY(V4-{3G}ew8eSdyRj1&?(ZS`;AIjpZt}^m>jI6vq(!;KDj2kLh47&Zm$Xu%b{ze3 zN!u>cqG;)5E#1`jjF~q6pp~H}-)oIMFqvmpFY36Axy7{aaRJ$vXXyC%p!O3pZlU@? z^P?J9w8$>Y&BioJ+5**s4L42}x5&pClC3U|5I36Tg3-$ZtMwHUW5aL45z%Ytiz`|U zuQgtb!PNta92vz`UeW4zAB5QSnACO2h>gJ!H~iS=UY~$_%wYtSwdNnNJFD+7NxY;H z-nx`DV2#W48>!P-1_Cv3=w-@P9BH~Wj<#RbDtTa@%*2H4e!<I)u3ptDhwtWEjYz`x zDcr)0M!0x!Lo83)p#&UEY@;A0gHxmr+;SW9`G(iDi2Bbw0ie(!5FmSxqnu>G9h?Zp zq^5C$u<+*TMw_o`HN%#M82s&lK5YokwKU0Nz9!gnh3qrxMMPTw<AFY-<JvH1p9!)) z2{JgsHoxAJdi(%hduy(A=LfB~^$QnPNoqY@-~K*zzODtBQxQp@UxX}1xwz7y>so8K zR}QR@EIdeWx|qGm??-I5SdW;<g)^pr0Ij`QZOoBU3<O}$yGh+v!Z^PBE`q6+k;s*= z+7?>+AZWa=+7;<A<NVezoV3<>3)Pa&pQ$Z&cIKaU*f4QHF3r^BrIXb70DCyy_)%-^ z)eq^`If-&T(bBFn=5jZ%4)xm`io2n8?Qto-7+$EEYjGKFefO&S@EGe%%r-rqmSy!D z;>w-fH_+HOAZ2lFL$(>^+$K@?Un*(q1FAtEt!}Mo``pt)0mUpn<oT0Utx_>Q+=Zt^ zRh}lC$H}Gj$k_QOt*<EpAK*rac8+fTgf+2Cuc+3~IOe+a6^;2>>n$3;qMV<#!Q$JO zbnv<s?Y0P}l-)_`w42CT_a)uBqqU|ox3DjI?+c2#rS-J*!-aEpI(SzLqH~D1ynN2# zfLyKOFig8TLBHoqQ<-&4LEu2ao3jN+$%^CFlLzZ(dk9!$roO(_msCLdvEJek;>4 zhC9<Yy1KD;^Y!H$PgOzL!%NI%(PWUbEN*o87j22yu!lO`)&jyFR4*jSEW6F;NHI40 z<k(b6ZR4KFj24R8_F@*=7+|VF=WlD?m3sM0YQrhQ9N8rO0+3u5>wE4v#-nRZsOhg- zplJz03BO`)1wVl7wR&5`wCZX0p`*WQLDsI7j4r`D4D`M9>{l!g9eqkIe$%4FjHfi~ zH>|d`dP+xr!zA$j6SDrUb#q(&MD>8}L(SDG{dXMQZT5st{EiY&ACvnZI4A$XV;cGg z!aW|-)<3Z5>+O6sO;K@+27kdHTJQ3ovb`CZRaLd)iSz~J=yT1o34Kj9@F5$0U)PFR z_M{*)-RxzGHh+oR?r7X4t(BPakZ~$c8}8towBJJ(k7;7#1L}VlXta4i2kt_kZsn0* zu2#28sd>_1HU`}W^NkQ|VZ9ncS!*#K=327w7t)WXEU>eRjhx<Cli<rh5G-Ug<E3U_ zT9>Q&_i%AV-)tZs?akn(@MG>C*AeNk`8{(jeA3SwLD)7W+zKfG!?yWb=6~`xGT<TN zVerP3{!`oFc03Y2ck_Fc^(PK=YxjYOGAWW#kv^!JVXZ=_^<QVP1?J5Nq}hIMsO08| zgX-PW>X*2V<#ZN+1U-^Q-vcwF{-T5Tv=(O5Um&G+9ye{&{7Wk#a_&*%zqGi>srPU> zx_2QHa0EwKj!4p^c@#Hu<D#Fqy0F+E4CDzhQ!ImjL9q(==)_;z(2%f-tW@8Nkjpz4 zfVv*Fi)Y!X3y=}-`{4TOLgyeiKc-&yHUB|#5&gBX6JDP(Q5KNX<VCnR1Mxh(=$YdS z0cwpBILr#Ow}!sI3KJy`cwN=Qlb9yB+XcmJJ?bl(c)zBr_qDn{jmto9XTev;iN!cE zEpCf`@fB6dgR5iVD;k!E#l<R=nuku%D3?y>;WXc~yX5+SPwL&JuKYXTE{?uq@weJt zy7mBcy?lpiKGf<7^9$<pQ1dUjtQ;sH&vP_&(A<Yw-=szUhHhOH$UCR?lG7pA*x(Rd zkI|F5=O)y+9$gLcS+F4^8F=bm)mdgSvdy20Lac^lbnhgmD09IM&X5G(!WnYm%IYO~ zFxjv@kwd=>qtTDF7CyNkAI|L<r%T|`m8&S1AJfrCTGb@?%8YOxh*Tk%iDWEjYqe#i z&U@8djkG*w&anE7J1+nt#FkDLFFCO~d>2*8k;S&N3IkKlGYAq|W7||i!IuN{Mm~ZD zf|TSMG5Wjc7weemoyS^mI{_fF^&E|@V9uZ{*Jzt0jRbtnnZot!xuCo(CULysPq!Xx z6)J6f&mbPRTHo!=!y9AukNv6q6RlC(NsnBy%rtQvqavw#ZwLz+HamcfvRx;TL&D}5 zNH&6e9%F>Fgv0j!BU=7M3n-OS*QihBy!ME`dZM-TS^Dtbc<|mss`wN<_`DMH00WOL zJE#ziw$zlcoILo<NR#a=5rVYBJm3~dT+5>>#e<#!3Yd#TT2pPXwW+3J<-UbzuEJ^v zrewpr!DjmUsaChtrUymXaQgw3_*<)(Gzs7(DI^IO_!TDlG-pV%YV8&yEr_MD<y3<( zk`eLFoRW1>2r((AaK^c_kTLmSV2~I3gmq3ODPxu+@R70Y6|@zxu*I^CaHb0Ggb#s} zvsAD`4L3UXH*R>8zF=^YNg$~c>}-`HN?8P@^kZ%!sq`|B8HJ4(7a1YhRWp*Q<ufed zmVZKHp26(uHk1B?-v)m;Tck?rC~3#~^8&!ZLi|e}Ueavaq{GgTtGRR)fIQ*na0-sz zVFulC7uAyjxapriLicqX&s~jGefK*W)Uh63w36mr$*kk7VDC)A1TQiR)o?w*h3gs4 zaG<b5xYa2~HT$V-soJekFj{v?`FI8=)kM5{`6f4%C7rUKYt>A4%=d3T*Q$3jB+U*M z=<Ua_a9)i}Ij_Oj4x%KZMm_KyXRL_E>A#44YJE8YT#wB1S7;4mNYH329-3)pNleMc zztC!x&%oK7NIs!y6h&{=UyVb#WjSM8nv3D>F6vxLv=P}i=~gMx&TaBdjBi+dtXEo; zr;lH1WxOv<f{;Y=vsPFoS`;V|&7MT(Ut<3D$In#ml{V0A-p{Jk{W79<;BI)<q}WQ; zcp1YB%*Xd&hjH;dCjP8`bncbb-VNOYuSDljrPo@hc&$_C*I1FSkW15FYvqF-cV#~Y z!5bOfNQ!!V6$u@?H#`85rv?}~vR`YRh5t`f<_$Kl9lSx4-r!{UkQ;R2jTRd8n4Ks* zmq69|nwfjH!#4E}*O3P+qgy#Q3UX+{{fhk|J6*TJ8YfM~;rbb@Ujr@KI)0@D^Aa6F zo;=6%pI++vh}A!`d4bD)P%mE=ig$3(kFIp49S$v|@%CtL_P}2uURVK)m)eaBC#u5r zWnp=@M55fOl6pn2RmHr*CYp&homX@gEyT({R-}tC5j|$b8PQ6Z#!v}O4D{GETH2tP zXX<|ppvju3lr#!_k;t;l<5Z7o2e=?xKMuGvPZDKI`f^J+=*}!UHx^{Zp5hk2<FF*} z@OD0yiR>V}UdjoXnc}b=Mm8?1OTb<Rs3bYuIBdm?iZU^H;HD!d7OWO=_!2=b8X$+D z?-9C_0wX#u^$<%xr?BF}iVv#z@3FNKSDcz>%tYkP>$o384u^W5Dy6Z?ntuo7qCnQ8 zsPH!~f+4`;R2etgD@2`<({9VQV<j5hP$DDg^-@JEp~o2n)FmmTj)D9J4yN1jtP&H9 zf4%Ulc=!g(g!$Z`qcY$rsgCe&nMAEJJ#k$sR7(JemHP`M!-|9jCh&LguXMsBLWIxT z;A}OjXcm>l#gWv~ENY8~eQC5=RBAg3@==JVCbUKd<sf16k^=$Dz}-<sH<Y8mE2}X= z$Wh=gD_u0B*H^qkM^EDLYHf=M_ViP_QYzx!gDJk4C|~iXYpmYnE{FVE`THQF{@WT_ zZ4q-!KVP;`s6|wwmaf9x)29%Kw+BfO;{H`!wl12QF5y<{Rxh=-qQqtDR{{<5y{sw^ zb`u?ZPC`$i83i0rdgd}Mb`zmu#jkYKO+<O09w^&ndr(1D#1f)MQ-Zs&HCR7@4KmvW zPJ$YIhXt5fDf2|WEfWuW7b^F901a{%W$W~m1((YqkxTY0Qt~-Y0W+A3+$%;W(k6G& z)U%8NBjYT;@~{$I?CNb~#E7ztD!U3l>SPgao@e3P=E9PuW2sXyQ9(SqOrwg4rs68m z=3*jRl>V0fEG7ne!lA@jS8+WnexcsQ0dvGJg<%4DmQLG{!eoBaPmww05?wD2up?HI zcL{*qbWu@x_r-iFH>NWsgsobC+~b>17%$jg1!G99azFwkxO<b#B}G56=q3#=DdId0 zvatr$LvPZdl47hl`ZLw>5TRN}8t5VHrtasl%mwzkl{~LzwZ5<5&nxRGBE;5n)WZ|d z+MlC6o}#z7|20{yqMg|MHTANJ!6NEwI%pO3#GrF@&nhCc3sl!j)E8g<O@qC})as@3 z=a+1hml+@thOd=L5m#CveD6BJ|Jc&{`hmf9iRwV=SW4K%@H4auW1H|hBgZ&#=`__U z4SXh@rUj)DU*|M^Q(CkYjm}W{G9pf_%%KrwL`|>v`WQV;4qEs6(#A5#T{egAmJy*| zku!{{<S;j+F9nwsc$4Q8bto&MM7<ldq^y`;wmZ-9d5^2y0_uVuuj6h-o7gI<?WfZ= z;b$8TXOBG<m)IQ(VXjEO?IwC@6GJ^blt?6Usm?UoTlkC9mnqF#G!}y&P=!jO5xwvh z)+&!qFh_aG@J>%joyvxwlvLC?ewmUhfn{AUQ(h%>r<>jAd^r(i`SUm$NYj^F8j#&b zloVT!)2IHTgKq{_pq)EhI&q$S#J=f4hkVey*T)ElGJ;I+wl`Dl^5Q#jW5IshrBGF? zRFWSw<PG51a|NX0u`2h=P5Z*AXSwcrUN%KlgxZ<dnHE+Q<86(ykvH`!?^<JL4@;iq z&;4G$!d>%h_(qbK{W{lLnyI><SnSD8Balea<5die@dm*soL2<#xXT2IuCg9SG88SA z$4grHDq1w=!l+>Ec}0si=M*hc<CqqWskgtt_5KI*39=4h(e)q`q^Ie{mlg`DBLYlU z!p+p7j%ZDz0)$n}{*tB#fGH0;(mGrvDEz*pTLGfKc=(0tbA79cax}WK7$>^Qn6mV! zvbZcRy-R1Rh+%cpN-?U-1GjS9(Jubg-EscE!BdXTk%(i|!ms||0QIjb%89E7Xi`-% z&y*KsCP!5f>wU|UX$V&g14%iWgWK-)ds#FnP_)-N(`SLAiWt0Kq4Qgy=-^#47vd(( zNc^#@U37o$%g2{QOBpCj?$yOt;=((0p}H8|ZI*{Zl}TT~g1wSO|7gJPh~)-!3ye^F zxa`bUq(Mja(vljYy*T~}U9TZJm?nX;HG?qry*y5RgJ9jf|1+%!5|gUma;jrVp4)9C zQ!6N@Zhyf;d5(VQIEB`PfX5xDjWwaKo+FwG%9ML}j9%4*Y7iL8q##Rr4yBk{qP0le zNsDWtC)D1_jBh*F+<@GJMM*b36YYf=ylAf3kHUgQxM^Xgg>DToS0+M8)XJnw!J?=5 zW(U=&4bG?SpmDXKLRMtbf!d;jc=kED))D@u$(U(N!P!$+3QiY+yBIfc%K1n$9jyan z?#=d<b;VFIWjhV8D+1iUKWWA;@vD?pSDY|)zznflJ+QFtF`80Oyi<1S4~5l9I&bkk zMlb7$HClC|5HU=P$6cesS4*J^p`ww`_7;*_)fKgN$ms}t9$(Vba1lzYLPfBsiHj{} z!}0f1sPHlGYlgMjZw{H;h(n)HWPK4SrhP)+G=dbbsV`djSHX3Vl7v&Z;*Xje1O=^J z^p(xc^t?Vun!S|*T8Us9*+4WD1GmzK27+qlDu!e*L+)Ngxk$D{z$Dveg_D+K(ZGfx zRzzme_J*QW$>!2FWX1M$e?FQe$*&RQWW#>y)Ci;>wOJiU*bbx7skG{BW~@7k8y{2U z#-f|={Ey`<=zht<8)QR(fj;LOTG|->>epSgt+5D6D!xmaQ?@Sm6vkfcFY&lzf|yBf zbso21#wpoyi;ag%%q%!ko??LSSlZGJaR)!UTv!O>rT_aOV)$uEjG!E;vfV&s90~ye z9kx>lRRwvM%OV^vD?8fLAhQBAekV<DBHARC*om^dbg?`z48_rMtmm*_QskPLN!<by zu*89jhB9S?`0C7OH6$dS0`?EWC(Qfbkou1!gR;_FTMbTg`yIB$$i@g^iiyxoRE>LJ zaK@1<X8dJzEyl<Q!N*erH(?{@&L1ESpF#1hfTKi!!^gEgm%Mit+?`1uhKbP$Es!e3 zOI5lVBm<mM3{%B?jTpP>YC(hvC7e|{Y&K_k#tXOlOD5!_S1yy@X)4ZE-__rsXEKn` z_h5mh!2WrI`5^0)#k(k>nMf?@3n#0wOqxIuv(2@<^X0Y$XO#s1ZYO$jfF+P3!iBHj zO_q&(Z|L{N%tz{+i95O9^%LcG(iQYS?ISAI9OlWV8&p>tu|ajU?ad+89vkREb1~Tb z3HHiUQhie^F?>DCa(UX>0wz_7_4KHP80@wMd)#?xC%vMjB28{7qWoJscfHF#`W5@G zm_o9T?hi53)s|3GxWo^Abg*gKS}bCew%CFq+`&oso13i#yjdss=wJ~K{jPd|qrb|b zW35D>_<kqpt;DRdf1fU_jaIRF7C|#2#71oC^p6x(OxG<IijEZj5d(0sZzMY8Ppc^) zN;DE%R#VR?(ZT~SoJs!il+u?rMqw~r{s|q6f{{}HD|!+oqDviLWr!kQT%)(CZKn3E zMSIWRzEwr9a;+6<Q)^MvlV8_jesjj(s?xRAV!YT%6c-J%Z3NNEXv~)Tk{av&j25+u zk7WZX&F_kb8wIpMovlBlu5Cnhv417K*GBkNzp4OcvZVC-LG~-@B8*AB#1&oS0XzOS z9d09hlFsACVChS+mAs~k#RCtAZ6B^1k}SB$ZqbOx5{fP3CzU6Uy`#C;R3sUZUVP){ z_Z%6!@UuXE4UK=Z@vEkn_g8>R==)Cp0-SLk)V-|;4}1066;*z|j)8M5xXR8`?B8>` z7iP+`h20C^>yxfiPFqaTmKAp+b34&0seFckGegizln3*1d*w11m&Wat$`u9*aGRE_ zHaMgj><dE32KSP>a0P-)tgCXipX5wr+Bs}fjKp}Eb+D1xLoUI=Qvfu$XpYR=##wX~ zBekD37$@G8a6=402~uBGK!_hWj4&9*?<wew$j2^@irfu!-7Z3-gPd(tSeN3u)TVV6 z@oWRbIBsb1bgr{SFQZPCqhkie$H0WCwSm^gh_L7cl#nQ?<QN2tKny7YF@zyb%vbIR z;l+jx<kKDy2d}5x-l8haZ!c`otJW6*I}5=gU`HUL0MSeayS+ydL=Ug0o9$sz4edb{ zI*9rv7nl{DI*7`q(fD|`1BQ8fI_>KKyQV}sJ>uW<ODH5(R21WuQd}%%l~23Tf>_Z~ zG+shEv7(_VAsXgqtXNWgKzpMm*_;Hda6tJ5O7(6leT6a2(VK0cJ#iw^tDQ0gF(fjM zpH!l1gM}Su>&B{|x?RytE2YuRj$%NQ!;5gruMb<B0I-t-aU1}@6S?pPUR{XHs;w%T zdRbM3d!8qD5)CyIZR-TZT6_^b?u4oEiBxJ9kNIWSG#V8TW9oi9Er}P4gn2*tbrwEa zIcnTl)D(xF(4fxZT=m0kj3&vNvVCPu^;AvYvep4cAACTi2EaozwF^}KmP{1LSNY=% z#Uu&R`~%w61&ZZ#d9rjwV;7KY<@^OJhhXAcbpc)HM*lFM@&<@1)V3Q``=t4_pquC> zvX;?L-9%7QEnH1dsHgWr^WieOijK~v2a^(3ROo30K^&>6PMj&MsV;N8)Kmw*V~qm6 zz#$&Lx$8(*eY0gw-IZtn;<n?q?&Ypclt?GC9rW3+N>7!%plVBJ3#zB8&1NzpGck7P zQD^92ci~&H*F4r#1)flBX;Jtudr6PFi)LX1|6+wzYB2*e691vFZeh0t%R8bIo&L~k zXK7du7Rwiu(L=N>H8b7lB2qOZ7BkcR9>Oo_@j^o}sn*PT-^is@#tQ_QHcDmu>P%FM z>4uT06w@hZBGcDl>$OysRC<XoDpvXqP1Ai@Su)sOCM=iYZb<`>q5j^d4LzZRhNjct zUQj|Corp6Z9k%}<Sfp={LqtK}p2BKupWUcH6*-koS9(EZe7J<F_J$I=wxo!*IEG*m zh@T*$0AeqO_*c6k5FJZsLvKL5zL=FzSahkP5MMB_3M<N6h$w&<#t^F)h1g^Xz12t5 z5kV=mvX5wB+T9ilUwzQ!PR*vj`-pm`9*C&f7X$B@+0?l&B3`vIQ%YYbrm$o>*;h0X zjwEvQ6=4;>N&-u<WEBE>xu_M1FebZ4BQtgB2b1P%X*2EbC#qTFk0>TR<K*v(Q*J*| z$Fp!;&JwELUj%!6ci5E=#G_Z=Drcqv{Y3}sd_*x1xfUHdFRQ<3?q~m4c60O{q}i$% zSrR$Rjm4}Ex{G;>X~Y0nZ(U~4XZ-6qgFAMAv12-Q8i??y>8#zV(B6U2u_dR|!+}WL z{vLHs5UJK)Ulu~xw1{#Opn!32r~4qN?%y_3)F3gsddtQJuOw;_9#T0OE{@s9nKL<h zg;b?)YiumUSAAh|RzdAV`c&%3zwM?fUG!#()I}dmp`k+%-FXUa9|C2WIF)`v*z3yV z!sb`+611@_?zN8_D%{2V$<%WwvNlem1w&yD_QWi!z}IDG%O->ThQS<MOh<-6@rK`` z+rvbvIGjw0!(k1!oJiTjVGX)Xq`!xYh`NUq0kYYsnCim5`-9TLzzZ+`wYK(P4h?$? znsrGAt$IteE9E!Ai6@ud;AW=0x5U`$i`j5xR!X4hu99Ac^RO1z2YS6dhbE5|LG;-O z;ay?c2a?NPipvKNGD<uFEj@>R908+!19^_b*s^)NG}=u=##`v<UExi;MuNZY<LT*0 z5b?-3YW21lC<ct9jJM%?So5h9%%xYavH2!xlHmITpgviYuJ2auPGHR89ULXzwY;5( z=Fs7LTAlJ|VH@$pRy}f33kkf~pkr2rif#08ln5-2-4_bYbrdjK_zE8^q>e_9`(h1^ z87-n~ba)4)K!ps{sJ9f73e{EZ&$uk8;FD~2p`Cx3s#v(WxL|lR8uaB@YCQ%+=)|$K z5WnH|#uldXPED@ujluDUeBd6M1RkP*-`}r*|1lGbl9NOfC3H8NspD8tLrk8@R1dY7 z-!MfoN1~PzW9ZRXknh-NYW@z!#{r`$;~h~|j2W$L_8;DX=kwQJsB|LyCT*rr=R`O# z_Kc#LiLlkT8$?9^)VuE}7y*rmc`|Rzip!#-iLlkrPDW;oo^rcQn$7&VDw_-jz<Qoy zXizT<kNOml9|B|x+N<(}U~Z}3{+uJ>K$`+5QD8FKstj`nPOkABz-gGvSN|+6ZgOpM z_&ONKK&jU_5#(O-J0AKDkEaFWgkSko6qUmq7AocNZ1)1@dU7Tm9*2=`-Ou!VoQO;E zo+y!v#gob<{sIzgme<ZV%h5*335od<C$Chqe9>mv6XK<byn;ypiMS}|?n%x>CKJqZ zBhdxOI&6cTi3wUO4nG18TvTmBYvWAa%Hq5KwImnJeF-<j0MtuTw!&mGzboDny(iL` zcSW7(4^(3ymNGeo;i{2EMZArOf{`VN70Qk}Mt@d0vM16{?_!wvcmh?PfU)ZO1f!8E z`2>PRAbyI7e?ZJr+i#pm;1Yy&6ChTPN6?uGuyki)!l_LZJt}@Y9HNhrCjqz`BhLtK z@x6*>8b47i@T|XCk>wf3?j`q0xFh4^LQz{MQQJu(xa4j`s`2LN8=5gm#9H4nvN34g zdlFrpBpOr*T_hEeG2E1pS-5AOo=DXuW2_lJk)}^Z7i~F|{a?*ZE<+7XWSfGO#O*_< z^Ax0x9Kv0x3hkc)A7=3(778AQ#i`O$F%$lDFm;_O7Fv55QzwbH>0Qd5%Hz&>a-YWI zP8vl`6Q7yh_?qd#G_lS!03S==6YHuUu4r%~nX%4(h+Z6-6(9xB7PXD(4l_BCx=k06 zep`6MV7`TX;}b;{+1%!d+}vt(Wx6O+p^M4~fDka-beWIaeD@u0a}d>@A<A3-o@-S6 z4B7PF)NKazal!yvKLe_x+yJGQFZDO55jhi0o!(z5mInP5HSW!Xp?#qr)k_lXO!N8~ zR9TrMqAgYWvEq#{X^FO6>&u_k7SK%TeQ9hmz_;s5`;#%`4ev)f!d~Z`OGG!B2%Y|- z%$p{k;tL?D>`j@`hX&0Op(Up+K;M>o*8&o0{Vef;&xt=JxeOJ&_#;KG^>0)BY!QS5 zeN$(PC{tu_3tc>9Zfknh3$F>y#cEIU6yYg$^`h7m_?~<BqK{KVcdw{F0836&+5PwU zFDgDqRBqLID0+hNiUIm+CZ27>MnjHts%nQVZkP;mv8b6&ZZc6D&ZM{JVEB0Q6|J5l zDwSNx3<Dz^w%bGL_#9Cq>6n5f<2K_vb@CK@YR`n&)OPBf0<7mla`6h+5Qzq!9CB{- zQJA#nc*aC!3r3JbD$#}zJbweC7gjBZd^U(nz}>kOO`(x<p%nY{ppWK?AtG%s6`Kd^ zQR_jW^F-N7JMhvodrTr=fkTemS1I5bJTqCdnkp?6-fn!)hTbxZlIIDZb|nWh1M-l! z54!<?$VHIBVS9{tU}?)C6^pxJaWBK_d~a|D4>nsSOVU|douZ%TiE=##43vmoWH2t$ zui=X+hHPwt)TbUsW3kl+b^NXBST6H&842`(o52qSVbdUroiCaveddJ3neb$bqzTF} zVh)=(f(&658j6iI3b3;+*PMAr$cuctaFdZ&hyCiXHFxG^vfvI@BQZf{^>-#_BuT)T zK!S^^w`hbj)edUw6L49lY-*lt+&u%MM2X)Ogsl7K1O~uhU^j3v#4?~DgdMg)0LxcU zU_qczYzkL~p?U$hZl!q(uztLEAl+IZ{6zh(D;L7n3CLoOR!rKxjmJZ*wPI$QhgM1V zcMmW_adwY%iYXJwVQZ-fX*<bpF9C&Y?!U8E=5v<Gu0NQdIJ@wK!hs_Vb3!$5Yrg_k zw^u9~-rwN0%F)xHl_Ef-suedHfqh)9tR~!I@LECma{$3(+BE686OthU0}Q~7D(<yJ zkRe=^4BIPZ4#5m5x7D3Nrh~(_fr)^`M65pGu5M={?*Vk!W*dpmVDdU_qn(K`)HwVa zNN`d1COd4MR4T6^ocPUPv<u#ebl6%LP?DvdseurN%1k~NI{}x@Lsle<@AoHbs@Py^ zSrP~TQ$^**i)YFyLkwR5rI6RJTxWGAJ?kZJOD!1)DCmTh@U9jQD!(U?`yvtP|4433 za~jc4j4sL@S6_gRMwNas`B9xk!i^R!5~Z!{IXl-9z@65GwlBi4;ns=%1}w{oj;!i4 zV$IQR@8L6c;YU<z7?%D%P7@L4a)^;Wc+(|Z^c1{U^fFDwhg8iW__(lGc-I=(2kb$c zS+-p!Sh*r4)@?a~gG#rx>qXWjBBIguSPSoqn~U7eE&+9iM>Y!;{ib)3qTlwUIZH5L zg~lqceTf9tZy0AD-~q|MmSD7AIf#PN#l*75ry4UcNmh1K=p|`qy69`l!|Np0rJ}hf zJU)z+v=oPZPaBqFE&WCxI<g!l_M}O;bxO4G@@x;PaIRHsJg48FH%rCao`yq1mb711 zC9`|0lCbQ~zb{%;d0^-H1`pkTFgqi&YA7DYELS`{+MDVuQ=3PY@#Yb`g|;mdElf6i z++8MGn=asGlaS@m>5Z>bujQht2YW`G`1;fO<ya}eEp?2pDdb%XjkzIOnZCkXjLlY{ zbP_%i){7e2HQKsDbSl&4vU7+u&MZ9sk&3SrwR+jRfWn1FNooCtbELB}44PeyU@xXZ z<Iz%#VzDnF7@zjkt{C)MI|sc?G!vKXbf!fsMS1@Vot^xX(U}M`Sal2K2c7A}N>R@v zO+~sh@IxyJ?P}DWDihdnK9PEpXi<82w7~{da7QOsrcoohLBi8iD%v2_lq=-DN{sYO zQSjI}*9UbYJXKb~_T(nokFD{)!BwM7&y*icl(ts*($!TkQ`x2CB<|I&%$gu-xf%w* ztgbX>HB6DXC=2ac4F-AOW9cU0zbtA+Fg5=`lr-&$v`~i+#K@XPL!`8g#(pbs-MGo% z{2~QkCY9<!H$D)fO}is36uU;$4P1?Vi>$K)Si9zv=T#hNcOVRe(^nwp`Zb~gOlQDZ zXu?4VFD!ZmGRfcy_1wp?c)z|ARzR1lgP?EI?KPra)xiwJ@Zd9exb6^R-G`-IFwkLZ z7UxQh){5??A8>IS$Wh&Mej!S{K0`;>Vr_VOCnaaLQA*BAZ)<5VM8T|z!b8_V?7HJl zp>6zO#Yf&cQNz?C#+53pN6dy62Af>Jp#|$jEito&n$w<MFG`i4-CnJWCK|(nf;+Um zD?M5-dh{?M83Ku$Vz|Y;=k;1l5y|=iK_(ri<6RyOsd<!&Sc8ayS&!txP0dUjHi+`^ z%Oxa+*{q;g1n_X!#&I!tWw`*?&OM%Mv9oCT`myk1b8GL2f|?1<b<YrOym#P+qdU{& z1!+*YlJaJx4apGIJU@C*AsfVCYS79IQNMNJD4$r_tpJug*?-2pR);3|LJ8GE{db2F z=jte?#JS<60&xzaP8)^0*StcUT-X8QLEpVv0Nv~_EVO7N_V#=<h(6dT>Y4&OnCa|B z5oyY63e~s?)1+Pah}(pivG{<n_cK}Xk+(_oHtoh;9I+pY<mw~fBw&1GBg(`u#<*OG z*@I2sG1e%oybrVEMwk!byL>f-f<F>Nf(AS?hD^zUgfmhxR#u8}8+Tg_Zq4A`RhWMN zk?^+0V{c-<D$;k+%a1T<9cU~EEz_jNxWejV(biN4ALvScbpK-!Z93h^LX9^gIvF2H zn?<w0G7HTvU)Z@KASt;Q+Ng*GZ;NuJ8(icXu4<^h1t017kP>{jl`F007(c{FjXdX+ zoaIyrVR69dv#SC6@2nFM2o_m0o|Zt-TSb6v#C)bs357rku4%qAuYrZ8ZWVr}>M`!L zdaKyxF-=iZ?qS6RTc2Qq%x}PH+^5*+kurcj`b4y-T9NM&f=oo{rM@amx=&{+(&b`H zlzAJLe<o1VZ5UME!}S>$RO)$EX8Fx`poNFh!OyYb>-jcl&nLJ&qxh#H%+p|}L}2Ve z>imhQWcoeAz+g^48udA5jO9aA(Tbm;=y&xjRQog0vCOf<z{XHA5qNu1A9s?{J`=TC zeHD&QS}?d|$afjDIFcoYt8&<mHaCK@<Zc*UNaQwd?M_btBxE$3t+0QSrJNYQ2&>~4 zw*F%k<#Y+HXLH<auwB$F-M|S}#g|2V>UL2+ET@@7$#?;l(J-*$cn)Tx8eE==U_oLE zE=K!tyQs^)Cyr&9`sM?#;h)_T_^db$S}MFvm2lr%)6c=KgS{oON_Vbfh?uJ3gD{-? z{T!O`6<*9S?GOV^^>J0&upOdW!_Bq9Sf|TuPM{a)1hwAnL)CD8dLGu_cB7$;pdOJ( zhj+l_zrC1EeyFGjId&`$%;XsbACKA@hSI!c$L5$+fHhjyR5sK$#sJ5!`|3Zw!*;*i zS8@}wqQ`cWY_R-l(4HfW9h^bZd1k^Pd9XbGB9kKrf)7T@C<IlGU8si>x5|mnT2(9d z^cgBtR<rUar#_Gn+JQn_Gevk(=OzX-I2X>+I)jWWZt6pjA!kX`-a|oFOu?QPG+XkK z34ysKQvrEH<dor-Gm)u<w<V0kY+3sWXJU4e6oKwWHCH7LTb!xP9KHMz1Mx5k_k9Bp z-@}2o))9go%zGGcrf3Of6^wz8#N8c0d5Sl+NNg>{T6>;;WK9C~O1RLiox)ajQi9U) z=fOTh$Kw(AT`(Nx)r9ug1;b%<cUB0POaV66p#<#$GeQ{-Barj#F5wsa;~LPRz;MV0 zqL8qk)^lvW;UIfpGb*!N)T|Sx7%cg#$X*vQ(r|G05f7E6U*HI8wN|vC&AXu#GI4cY z#4%B=X2v^;^4!by?{=%c!gDpevsW-gbOFnyj?3%H7I!@wzDIbLUQol?b0pC;z?`=S zJ*NSleffG1cA+NX?D73QBF1zA@2Z6F6?IDg*udbsqQQ+&+1VP=j=eyt6>??o6&1?Q zMlPOrN6Fp-f=T#88^FxiD@OX~)n_2`NDaQCt^4wrs@&lmwy$x~-Fy2)!=!aG6Wb!( zFFEtOD#n>}0)kwQ)A0~4ht$?N6~TAp6`b*w<e7HY5GR!bcj}?Y!9aNvDl`mJ&3XD{ zIn~`Sto~MHQJBsM{U@fmXnVi?qRFrWNJ3vIgy|9$<HR%_!2(R*=8$1ENz^+dqQGjB zN^d1L0?O{CFx`Txp6wTl#mb?yAPZw;-Kuy>Buhjz$gKkVXCJPAF;4zE4*;{2N}|^f zaWYH>TjNHI=mX&K#3~m0&jC^0!|=c)bANN8LkC1NYvHIn_08n^g$S=@$QdJ~|IC{) zB6&YL+GVR;IB5>@kNQINHwEGY66#BTd?7-th8C1;I2~%H61zkViu+R3F^xxP#+NXH zS_Z(A${#Oq2@U$4A5}Ssxz-wlT4syNH20tg_h{~KalxfdxSje=sn;uYtz11P$86zF z&j4fi5X*6Fgrp--&<&#Nxl)-!xL)NtW~Xt7#8^uxZ?>YyW1?aUz7k~?Cd=^b#H7m2 z3=-QjpYW&)dP>H;%9Iv?aTIRlC}w4j{(W8cr`o8_VNtcxpV5*y(BDj)mYfBpWv8Eo z&ADR_W2Uu~^Kf)Ba_Nt@zgD|pO)qd~jO7Rzyb~WC`C|k==m;j%#qsfkV~*mAau8&Y z=wDHpXB80fTQ*X@seo5Hk7C95(M$Skk7!O?j-pq#Lu}SjjMYPGI7I<O!OQfxh7AK{ zBMLf(Tqnz0sOd4RTpNxw+4lAyD+A?NO{G3e32oHOB>0IBREJahDp!Kiyn)q=R8kH1 zxYa)n+~)XLXy;8+xg_3Q#@1XEAi$cth+q+Gu6Uc*j<56oMRe`aGqPJ`_sAZRJ?*pp z^unUQJ=OAi9lXxnK%U=sK}=lg%~)6}E^_pI(Wb$@I6fCptTOV>{nk3i1s{6K*KFQj zwI|_>WN~$mPF?^84!)aaPGBZFhur#R{N~^nZauvU?mCkz&C<WYx%5#VLIR9p=|*-r zFyQ`_tq60cz^m7s1jgh3TYSJ$(3iD(<A6>aJ+~hl?=Zba=!3RNVX7r_+QQ)^XJHBt z!d_4>7e*_D;d$A;tfe48_>NsT0=FAQ_{cgK3PxN+>p5FkM&Yuyb7d(ntdqj|D$Njz zEMp4wxPYe~WNI=hqV~NlL2>7~%6v<85i%GpVsO%<ZTvDo=Nr<tSB5K4)>&?o8fzj- zO1rGt5-?uw6W*h+NL?#&lV?(6QeWo=Ffq8KJ>`wnZf*Bn9DC|7=s{7^j4OZ0W?;!g zlx=9jZAdRkp+9Q=QC2*bT!8UpWM(w~N5X>^IYr=PDmY1{i@@;)95}}+A<`hgR#1iw zy>u?E4%2Xy9?Lgh*fC0Q$UgU}b?yi`xG^6uGWjF3>TpV$?FUw$;N!Mx#-3iqM@3cG zJp93A{a^4nVnIm02;mqqQ-(>Wgen%)k?nU%K{KvU2~MJfuLLI<-}!>W?lB1!PFlq4 zr#><yX8}S5l9MPU$LBmQTqr76%?jiyXf9HnvSNqy%SHh{q@Vc=A}kL~#_zw0Tn&`{ z--sObRqB%g>buq#6}ehf|NlhpcuOgAWqOsC&08yXv+-R_!I3oUyt!<xylCsu_ew^l zIJAky?Wra<^yA$nA(#dKEu7<VOr$_Kf535@|1aV6omd3URKS67&O#(eMN6BR$|r4w zje<wa{n%o7W)P4W$@NV!ewpD1ra&3$z4+iy!Gwo1z#Mg50J1?}ayiKBK)4-QlcYnQ z^@rW0;gNq!e5T9;S0Ze8{kQ%}NafzaL6*z_*yVB>G(=*Q2XM~|DG7(ILnUK4NQBnY zZBz2+Kkkg5rGc9NtedSc;z*;@t&;PKgB7^AI^O_u-z5nLp(`2?RgO`pfU)<HGlcG{ zIviCn)^=nyosJvU6vyJU0C1HXo_R@%3CD{UYF|Z7FAxl)L;=k>4`?=YuEa1YkT-|h zvnrS9ofGA~%f;RlhcXZ&FNBSm!uu><mScqG$n`GXj1j?mqU{R&Su2Bo#?f}?;{X!F z!_S!z4h0OZUbwsb?F;cx)57=gzZnpCJckiTnj;b5Q{2!D1`7c#h@aLDh&40;b4cO| z4n;7&{2u#sNlN747U^S`86@HA9k%;UqB5HtwoC+>s0-x$O)$OGSOfJ1JKWa@Gxu@K z89`3XkfQm$Gm%9E_mCNhutE_!;7nv$bJ*G&)ohhn*E$nfOm)u>4Fr|M&sT7g0)vnU zk0FAvKDcq1`@O(Y2pfBLZfm&O_G_K<t6B*{vw0@?z09*#<pH+wTuFsbxe}hnM*x-P z=81#3Aqh;NPRC#`fPNg1Io>e+lAP%d+ZBWjGoJI{8Z<-{nDG++%PmGDRE|B!k(<CE zxa;XR{-dhkfUJVkC80USVOv*FgNm3_A?d%WSnaGrW%+^2V5mp{1eb}E&>yqAGkbWL znz@SW<FB%xy>`SbGzY5CN++q~8LI`(Pz00Vi{3o!0b@A`9!%oNG6&N+>i}ogOb*2( z1a*}IUp(i?<GAUkxk@AO&MHtNF7-*wsS|v4g`vIJzr>v|$N1%Swa6^20s@L{LT4pg zoJsdz^*RYQ9C!lIvG^S!f7eQ0@)kY`D*WO25^<@2+EdTm@ndy@+Bu$y!l11&)^@np zXpTDdXgbP$rAT_5wcV*$bg6{cw9h2u7}!&Y%#AhOwI`+R$&Uk|M=_?S&`vSI7cqIT z2cNfxpP4=(F7>zA;9p{(MN;3yhG$RcZS{}9HE#ZMP`eAyc1z&DYh+sdk;pWA0KOk2 zzbN0v+Ac3LE#^q_^YW9;k;z8`+BACrrQ$el55I~l0v#uFPsW75nvmpWci^6+zwN30 z0uyrg#HQXih{?);*~iENF`OoV93yN;3&Zt^7EmM?>!U?8#Rlt42__4!CbdqA!7*CR zKI;Wv4mjR7CbiwO*x+X|DfiuDQXKx)`7b<OlH@Rlp$9u9vDX#j+&|dhthY@A2kzWc zM22Y~DbKB6ptuy1@)|dxVyVp~E^VTPl~+P+_=9)*F{%EEWu$dqNmpFVg)SeP1gnyp z>8uvUe7S$-k4kPHGH_z)7{^Hi?jA{r@mu3k&&LIyi%b0~-x7svFf_f{CP=0sj~5v{ zP`_#X>iA_ZK?MIY|3ml#(qzXkTVqCyyo3y5on#MxW}Tml<!O70!#cS-FCZ~2HC^U; z3PZGdxmsc1b7gn7G5u42wx^u6g4>hou~w1mn21kiOERMv4;y?3agudTPjn4?;Y*0a z>?tq3)iq+)DEJmTX!g0MCt6}sPv!dAXFZq9#9D7;4SV=e>%3k-Eca8rBZCAkjDQnE zx!V)r*tB*UUs{HmeH$^070OJ6ByI_lkIThCW~4RB0q#fg*V@kbFrA7Czc|6y>K~2f z?kk=ad8B#y$tH;Qg5q|^F{DkrW03qR8p<Tsjo&={=Bt3IaY_YnCOs)|Ih%k=wqqd- ztOD%$Lh+g0Xc-s&z?$M?^nEVI++vvAGtRNZb4A=UfOC;_bn~yc??=R@ePnc}m)2No zyW4T5TdYXplVr1Ba<k9InjSd&{?{?8?~jd1{n{RU#=cNJuNcGq<SFZbF6rp!<=PbO z_s><oe-@e6-r4Vuq2IsYet!y5G{F}#oO{w94(B%zo`AlebTT#-8fSW7MDC8*)ZYt4 zU!rt825m}}ed*@JVuofY-0fAaSl%IK947s@Zr=voUXMw+hi?BG-TpSuS20(NP1R$P z;3N6fm1RPa-pL9l3*u6r$E3V+#97<Cg8an<pM+i+I>{WDHghN_fth(s_}|u)Ws)~e zU8Imgr!8%r%jSnYt)mtbe%hKcL<WjvOF9lZn%(96zKu+d)M8B8F_7%}jX3N$YRFUo zMlT*#LX2PDydMjwvxi{v92<N(E<7jB8g-OqIlh3Y-`P#yFr&G&esHNV*l~zk7~lc> zhr0m-<KE3;zz}2xOlf(Yf-8(MeUG7Fg1>d2*4%%xS7ess8t!$newb~Y-G<xlIEv(n zx14>3LEL1Js5uYF=&i9S%lR}3WK@C=&zTTp4|P_iD(5-0eg)@Z@{y8QD&!{B$5Wpg zbq){}N?Ey9@Q_tY>RH{(LIc{F8n?b6I|oPS=wIWu4knoF;ZWI9OCcSzIquh}qL6!` z5qdDI`jC<|%U}3bSnBSCpQDdqKrDrKa{hKWmNh?CHKAUix<h30zl#sXxjVyN|F<*K z796dVfD5RkcU%I#?1G9~E2(8qtw;fru-UqGp*&m5f`VyXBb0^npB$JWyzNe{?J}+P zNr>aE3j0t@`TbAeIcr0DLeOH?NUZevSL*uz$tN>K`D7p)E+<)W!L~)+wzmy@7?xfh z_!x8Z1xR)}bynd!cA)`4m5)t5&vL=JSRN9&bZ{-{QUntju*Co@ld{VgfTKMFBNW(J zz9VW1MNSrFOx*$_2&dXAx=G57FGHT2L`cw&`QnhHM+;+)zW_DKsjZW_iHf<kHx$b4 zg4|4yWX=pJ;X;PTi_vi*+bL6npmv2yY}EegLvX@3gr|1#Lb>}Rx0CSy=2M{W=b9P> z?_xqoan8}-xTq354dW7g49CET`Ak0P=1@;up^{%<6HbXI;GU!9ui!tfM%$-~60U>c zK_8w@*;9pYQm=?Ya%3u{{K#GmombqI?TUr>ud(Lfg`Akq@wIC)sSb7R8WWla93RF* z4v#Vh!pbn@1mS}I8}5@nY4%5H!)>`Rj3;kTkfSV*x6eS!m@m#5ZcwW~ZSWHH26J*u zDijpk@R4}b8m2fe;kJDrqMUzm{7oJ((V+vp^8HWD8YkEIS90y&JVkWBq_7RhM0RdM z4t`Y=IEL}c<`kz?W?J(r2;ubqWq+ZYwJqhw9&4+p%q8{i3`ybh|LPsw_QL&xd8`kE z=SxmYWa!jl*4t25EDFk}MWsxpGIXJnsOoe6HRnZYh7=;FuXF)@b6AA>%yp*Pxuxt$ zE#&cP&>X4GX8xOWGFYZ<K|$q6t9131D){f+hSL8qMYv6qd8SjwNIczOePAl)8fH($ znd)Ubt#y5>AW>q?VpRYhM{_!f(Dv6}D)3TD(FdgLp?T2VEPP-YcB(R7&H?7xD;6GL zJHm;rbhgGTCuzq)P+{D^)JdSh2J{5Z3+P<N=wb2r%%6xG_x3SEmSjr!%CkmCv$P82 zbKhL93~Jn3q{ei^y&F@c#+`T!fa#oJ)W~Iw8q>K(#yqD8oJ<8LEVc-oc)-Dwl+TB& zPSYw)_LOi*6WeOL>M7+*m}y)WtpR5DSlO3w|7YRn4)<m8|BJl-my4c7TDN1e|8HW) zm|!fGlP<b(SX480dTyqHn=BEglK8-DDc<Dqz*K@d^|n+kwU4vsGiLuYiFX;_d=Gs{ zB=;&tvEv*zlqUqnQ}X+wZ0KosZt62TVtVo9F(ThD?`KcLAn^~U{HQ?bAq{qU2C;KG zS_<*kzP%8C3wcg!{x3YIvO}dy2XlkB{$@u1Fa7wkV5Tf6On=Msfw8>&!>dV0pF&UL z#%BbJtR^k2`r4sCt_<4ihnJdN^4FE*M?_aFDP=QBQ!NQ4-RZ({Y>M>!l=6;?`hI85 zGQ%Jc>6`&H4bYpMWHTa1ueX9)oe-^S-hE=I9nPYUUda9r+(ylpQrlDEGv$K7?ZYSZ z=?NTyPblH6Vw<Ysi`)NQ1$G?CDwZ2nJT6iN9CH6&#bf&PD^c6jy|_F5@Rg`0UT-Ds zq-bYbfc4>6Y*kk)8EkIo-y~80lek=C)M-jNiKF(p9qIT<QOmUZk(r;3@g~<(!ng7- zQA&~mbeAMx8JiXz7@#Btq)5<HpHk~nIB7XQi|$_$A#`;v?r}T)kUl;oYF25PU$)!K z!e!%`j0yVBPfQe<ipRBY?59#W*iBsZA$7>XKBy)S&GbzmE&)o(5zR{9S4zDb?w66p z?mwgpIihRvAF>pQqSC4MY0=v2b)G?@EN)%W97;Nk12miSDCaaz<m`Pw#m<QKrt*2X z6%aR&6u)S2<=TCkct(Vp=2_h7lQY;o=lc=;az@13Hu)7MnT}b7o;!_Np9RV0o}iIu zu`%vt4DCKEmXwLCfLSy|1n=HKhDtbWpS+~*Ut_!R3!4A62#kGl4^mm+OXl6paOJih z0@7mcoi2m6OO2S)*ed`VMPCw{?;%fs*3umq86kx@mP1D`h;oDW{VlDji(Eh*>zMEi zD=A;x_k>HB-@A$C6y?<I!`Ja6v;g&BcQHazp1BxDOZY7_q!r-=cK<oOb52xnf44ik zva3CzrRPMD_~TFd60zdS_jKi)2<i7+LQ)tzY~>JScvk_}VH^1ZA+{7yY4VgvcxMl) zX5I`h)Xb_OMVq<IQ#CVqfNW;j_D}!WO!vQO@p<9b(5Otc>5{?(v!}vsI={Y1o06WX zHkrC{oAy2;?E=~~IhTSjpiOUGrgj%ZNP9_Fw1T<dux&xGpiR#~V%XguG%M7Cuj&?U zK_d^<f^+>;3;vWh=o?oKOUi6}LVsRB3nVZnS0*9!-&{#tSEL1%|5h#dxC^(S=R@X- zH%+`KN>?g>m+ez5SYS<t1v?F=IU$gex5X~e#}{$cl%!>T(_#=TXxbXtP$)UcB<B{| zMx2MIig@OQ6H?TjPXT&u@D1p83k;ABYnuWcizn@>i~&7RbATLc7s)Q+u&qUgTD%je zwgI1eio-S>(H!etB-Z|vW_}~aRC!WFyuuO087*(dSutnO6Y}_0EY+UShHu5lB<E8F z+-8TZ5`xa`Dkd5+{PqU?I=vW(>NZaw735PfzB1oU&X-V-uVYd0t(-xHO2}hNQ%OzL zt|(_J_jJAXD1(bk6S(tHBWUL&P2<Ou{hjD6mi$fu4Nc{!)+OOz<4dUvc&xdG?Z{58 zi`&>GZ`F=|eZU<`yoA%ry+4(@*Ry4z$<3PI=(|gzW{_7tpz1{c{U5r%13u^L`#<^I zCj=oe9<oS8M2Hc@Ua_Ns*qfMDZBez0L{T(C%%eI)br>CVn6*mnU9<M8PiiY_KmYeR z_w#x3#P9omy|hoxx#ygF?z!i#^SNV>r=V4))e)~)DUwQHm!nKCcm%q6&4I<nNmiJh z!)zHsOHLX=_-@N?=3EfRje#{CI*hiSFoFs`yumHP{ZQ?K6g@Hoox~pK=GUmgX(NG# zGI0MYO*m<U8x4Y4Vz}P|>=x6a`VFQ1$fKb7cMefAChCI9bt2ZXug+C1@q<%_U!m)` zzSO#bM|5q9_az{w9==bpuB&*Xm+1P|5KpT<@ifLAoHO!JfA$2<v#!zb3g^?oxOtf- zpT;2m;<AiULA33((Kqm8r?h&^8ZA%eUvtV8s(r>tF4A|o9;x<W1Wm+LeoTuQUQ~In zQ9mH{lJKFYhQ&=|1id(eF{|t)YWf$>(pI}nGyXDKsf8Eym_>K~!Yv4$F4B{~jEY9C zM-+V)qvmJxsP9>$tAE8H-7U!tPyGkezOzOd|F=tO<S^b0RdMjbbC}uO?m{Kc87&Os z0=;t%XH9W`^-t$;2}N$+xq)gH0TFMJ-+3I-S$vzypEv5O7`$V`XI_kL=jey?;2L+1 z9-cSKdYe?@0xmi4aW2OY$9w27T;=6&${b!6(Am%WNGtQC$6?Ye+@F|bix#q9jWB@u zNqr>p`i>#)PinGD@)x={O>V}QP@P|kG)!_`&UPtT(x{w<l|vFfDVPg%4$g*=mJ!hD zn5h~GZ}tWBQ!P=#S;!(;4OcOH3JDI{*W_Je_~lJo`pfO8v)s?369JxY+Mc3m(v{De zBx-umsO>ueQ5l!B(p8#v(TEIw^q0F|Uc|z<U&dn^|AZ_0<07j1NgFC~3A-GxTYUoO zXin%Qh0pKv`Ahr$D>Q8|Bl67U^1diuBPE}6!{(IEB`>VQbn9jKdT1xI74cpZKu$#G z4d|4eh}x(Rc+lTEb-B=Pv{Shz&GJLUOm@%vwIv7<5-`rbL9R<iWoKq?nJ`(Mg?L<6 ze`<Q!SmJ%1u3t7PHnvO2?%;BM0FXx)XrvK+fyn-HDgwT>M?g)n{`$hJMmUYSVifeg zM$@kt)f!*3%C8BI0?Z+EJrLP4*~iS6i0?@UtXT@M%*t9^6m_|3_`fEz%<D1><d7N5 zGTY~r+5ej8x$mk`(71{-9aoGHdUDkWYJ4?^wi5v6(6&Di+1lP?)35k6hqfE9Qip3s zR9r++?bAt|``3NYopCE+o9S8dPm868^Ep=94r_W1rKG=&dVVXM%n9c)-~5}-XW?Xj zz~6N5Z=CZxbzHAFjrqrE+doDa)yu-2V4;5-1)>@qhaV#YHlWTR;1iueJX(&9oA$y% z3eF&R5j%rFuIUVhT+<m;!^7jeq%|HK^T=S!4P=mcOlQE>)ENvRoxu+gb_Tz_tuq)< z$j+eDRh_|sD>{RDN39H!j=D3b9QEpmmd*CmvJWiKvP025YUP7*6rPpe!LdBC&ZNs) zcDc)1_Wi?_>>m!Z?DnBu4?7U$MQZ_rbBaInp@DLJRJuf!ZsJmdaTh7^Cc5Z?&*`I^ zF!Y>5bp9sp8L4oH8s0+dzjly5=HE{b(x11CCczyKqG9uHN(iy8d<bNDpMOY|Z==us z?*NUyZIt)#BUNbi)Z@G8o*G9CkKM*SB_BPZf_IGO!9@=IZ(%(q(Qu?2Kkt{NbKWCt zaV$^Y+fV237}bgl#vT-09^ha0m&kA&wZ)p)_cBG@HIj^vQfSOwqjjOYps*K{ypZeE z3Geb?u(_UB+knG0W_Twma1W=YuQZ|Z_ly=k|Lui3ctp~uK;PcOtpe-z(z<&_BmaNJ z;Ch>~8P$=#cz{voi!&5`AD8XaeMH^wqu>Yk&{F=Lwuf%qH%dEqVwo=*$bQUt4mIWP zKqVg_oa>rGZ5|l${ynV<5oI#kYq`FsY0CqwbwBx+UOh0H1eDt?Jt>Z*vWV}x(Go*d zr|JJfzmvOY(Z4wBkHa-D|21ldPRPyu`npp-c=%{!A!{L>%4~19r}htx{-G}sTX8vS zXo_HqLbAWvj{baT3<{kg6hEI788(I775HX5>ih^4PNArzDePP_IhU(#>Fgt;Q)n8Z zSgoc$9^vHXD1k9}9mk2y_qtH4$3~#hxeLAd7>_a303|QMI5DA)4gva4{a*X)8~Lod z0%#U*g9!@6WHPY2FV9vIu`_9gw;LJL&FY0jm*O@gy8GLZl-1jYlEpaxcC{Eq#p|6c zNbG&ehT^$^du_@~3~d60klkCwxpm>(Is!W8oAFvr0mdz+{{I<Of}@IaDP<IqIbSn< zPTc209IgJ(D3<c_0C%~10d`LYzD);lIq&4d@hn%bkXIbhL!Vwv&I2U9DU&mi$W0$< zsjh|8Kg>k6eu?BzlWhAsP>!pA;y&)ue~I+vfE4C0)a;2-qD0-_(WdnBOyZT+@=OGm z|BgO<V#Jj=WDO0e;KXPQkn>)Ic&E#`@h}~KV$||JL<OE2MQd>y7kR$k)&;Uuc7TGI zMT+7K$z<t26jg@0>74G}lzKijN(YwM4sEh$FeX!{`y8l2i=P^mL*FyF9HoxsaMEpD zC#PD`ji*NMBBO$>e3E#%%||j`?5A$ej8NZ?qM5hm9-8>fC?E8A>;Ek^CO@m{(~f6G zbcy{r3S1TSlwIJd2Pw~UqioQ}L9b^O05%k!dOtIY`7Xv*c9%18H|G~J5HmHluHN%l zfHTMZ%x&+qKh0fyJ+*AF69Y--v5hTLybg$AMgighh|#!sh~=P01(e!)e-hn%ZiIX9 zCBGL&NaYiSSwHPv@ltVhY;x^diB_?+YgNY!1TT!@m8bn5wnuxdTr}G&E+rJwZ03IY z=7li@nZ~>{N>wfJ_yt<%J&Zd2U7Ac(%k3?;(ig_2cZ_F#mS(=nqiE7gBd{6r;K^&c z^J6dF`cu*1aRNZA?5t@?+s2d3Z@t{@iap*ec2T7J{8*7LzBG!}KD3J!)+N`5nz>tF zdY!)s$DlZO9&laG5!@sI4TGiedd@zIePt9W*ac_cJgl5&FLiu{AjKZb47!!=wLw-1 z*A)U}N&2p*bGFHJDO%a!C5bKU;=+P9SvDuGwiB%eZzWm{-cHOg-r{T`t!$P{cQMLN zl{RFyvDD_fm~e-PC5R7&V3#W(4By;>y++{1YSf?j#93Gd!3aEMY-7Cl(7P@puw3&p zuUu6hd)^Wr9spzC_?!I^Q4|2!OM;6q_TViaqi8W`#=96(te%O}abRyZopTvc{{MJe zwJI*%Y(YU)!dS3xL1k6ni28fMd#Yi<jT<c2){IqmFW8})7y~v?9&Z&LcD9vOHtorN zQo~T0`!W;f$CJE4e0n`C<lnjL=^XziuBQkCzq!`aAVZZ2c(<h`M7sFiEqO?7V$4`a z*A3O%h+ap{l&V&2r<7yL?^uJeQM5X7J87;`F~-%kIuvqJsm0zq=skz3g`ZUpl~M9{ z%RMrsTdWE&k=KG4x&#sYJN58EHgmSnW*=3_h<`|Td{jffceg69$yc%a$>-mHsZK8S zrh2wTQED#bq>Z^$Tkmb;ms?e8yv>r%{in;>9-uX{XhdxwvS;VX+$E-ru}Z5cGPcpg z+$thwD`K(H_xz*x3{3E!_&Z+y`S!Mtm-+Y%+HF6C)8uUq<}lxHP5X1JINz?EZk~QY zn{%m>6z!`@6@m<_d1b<#%n!{M)YDgeWXxDY*L_u(5&bje%7Zel8$~tpsQLx}!%kai zP<jA~-9jJbQSFU?iO%wGpK}zOSH&Cix6$ytDyo8rzn4(wGubaLBiPt~d{FGO>wLT> zH;52SieR>{qd&k>aw#HLY-`axt`4Tq3F-B|0<uM&$BF5s7ye6r`BYfw(x15J2;@T@ zi_d4z(^|%x-;SW>`QVK=exPajRJ=O#gB3)%nol*0nS4cTiC7~n!};*9IpIg;l@*O0 zB-ws~XD~YWsWScr?|A6*RW171PgO1ZCoJh!a_$zDJw^Y+GiA&c`rA*HY&OFanE-OV zTLh<U+3014^IQl$t==#q3Ka&9H;l9gr(QesX-2K`tB(G!Zdq9~>-U>!O@7rVV#A+M zVe(;L=@i||g)|}M$#aX%<Sd|iIkJ9JUNmm9BaT|vbNH!WSK%q^-Kr906;OV;N3Y`V zWA9L<SvU?C<gcpulmsS&Do6NKEszI&yuAzJ{7RbRuX-92@oC9l;Y#O~)G|QLYp^TJ z!z%A>RM@n)D<JE~=lsl^wSpl}lGY$`Td{2d6)&h-8{RAE-GZu|QF<kPQc$%rK3Yy@ zK~>WGSIS#RH8(<*Q~N@yOxWDIIl7S@zgVqGx{+$-=@TZN`7K?+uTSG|r5yJ#xqtQz zjVO$yHQ&(Y!stl?YkT%2d27={PObb6)hnX<8VA4T<x9Ac_BHJ&q9*v?ibb`cJ|w;u z_7}Brsz%1yuV|iACHlAWOiVpPcbuxRQRgeFT2wXl|D}=#=Z(`e4M-z%867IB4*MRi z2mQ>w_2}zjs-!V+J?$x`ni+RGQ9z(-QhGdAmf0(zBy&#%X%rp!{WT1K90VMYPGbY% z^S>^o4S}kvpO=^!dvna{73fHi3NhBKq1!<!+URnS8U(5MfZLf?Ll*v_aWp$fRr8BB zxdxf9S9#5MX0_%^JwU~RRpWp{Ir!#RrNP0fhNI<394hRLuTZo%7$sP{gl+|^uBv%i z2PK54;)?R;qCp`l!YI0gW`?L5p;=sphLaC?H<{5N!?+&dxA7EUb~U;fqG|@OM1_LD zAq3Wa100(BV<lA%RZ-rns7oknX8ukZ$G^jO(r2NnX+X?*?Soxl7JO7%MfX7*u*&id zjlHpw$`n^+ORWG_9vkQT(6Ol+*G4glt;(w4I;s`)esR^qICz?l7FSh`gszmUgi7-5 zg-l$|Mc-4e5~{M%vk%QFq1py~{HbM9&c*brL=Q^9J8FJP)x%UN-<B7cXTf*WCrr(% zRN<yp6Focblih*V>%Z|<-iGTj)S?2MkI^Nv8j{>_mEvcb<EULYayzq<riQCd{sk?P zBis*+SV@TXjWM3Bp#CM*d%0;5H)ZPuh5t&bdbw*_7+e4qLY*R14dWuw><HDtm_c+s zLRA_tbcdb}#3QOF#yIsAjG@n*4<n@Mr9~?8+a1p{9Q^p{X6<t=4<-fnQS|YA-oz)% zk5TS(=u)>$BWY|Y)i9C;TXoL4xtt||vCg4$k#TJ1E4olhbqrW$)rThgc^Ng1giUWO zplSTOYys_$L`T$Q0hKGQIv4v=5BMqESHXIksp6NksI&^theTw`N4uBOj?$`R&{81a zVdymbM<!T)h~)Q{(#z5+GJum=N(Q94oKu%l<tP=BPp~ZIVkUKtQjxZlfY+q_l}YoF z9Gz)N(Nn@Z0Qo2)W?iwotbzD&_JBL1=~5K#UqEtJ5Fa%z9n@;-?Gf)tJ&eU`85@Ve z-hj*^^Qc=H6;r^*@ea$gb7@`~)k&?J>!8XTRIxnpzp8s(&T?OoU$iQYCppSRtJ}q3 zOU^hNskU#qoB_+IVp+A#_$h<#l~o<pI@}hWP!5x+%%^xnNJSchJJT=aRFwZuSc{4| z*twgAP*yqgYJEMCB{QjBj9O|;e1k5<z*Ac;p~B@={g{wha30r=tYx@4X9IuHIat;` z9>iEHP+41C`GUrmM_*Op3;LwIs$*>5Kqt$qE=K)yimjl^7#){U*9xk9%72%6?B9>Q zm>a_(&O9~K;g$M9kk^Q#328W-1qC&JEAUc<HQC1AKFo#kGw@L1@|buqGlyX2+QiA6 zUIf)5tkON^0)(v)1@sf(^xGxnM*$U;Z+IM-uoHxrCOLM3yjcGNn?S0sr<xU^_rayq zr=kie5+B5!UfQ|D^a=&AVoOY~m+Js!RK$EKbR8Y5s3w<fwvM~{-F$Og+99(FAZ@9{ znB6U~zcxW(HR)Hw3|dDME2$`B{Zsm;lIrMO`ZKiElyd1@tHWmNPbnZ)y<^;)K@($D z>w=lMEvE%MFRfKEiNnpH^RcQ#!^$|$pJBconPayKwyI3N6`qiG2AdEA%`dRx<5Obh z0x#|aTKa0cP3Ajqs?4Cel~tue1usaAh}lss=Kbk3p)zXn_;gxaS=BVUeL=^0h44>Z zDpCbQ+L*PTLt3)Av#>R!C9{jkq_@xeG@*)WX#6mZwpCH3j66N*dKH!6f68(>nIAqV zB<qjCL_Mm)<9vUn*;UmWVe>w+Dt-)4pPf3AV9CuLtmsKq81KW6cmYt^Xd}PHXmFhR z*n2KLic?W>Q>UV+*})55RH93(`T|V=tNlR&I>%$d#p-6V!-Va{!%dhl7dS@4s;Qu6 zbF4*!bFsC~V|}qqoh$u;Gr{8Jn~BYJdkob2J(d-Y&c-aGk6HO_eN2a|sbY05%wi@z zMkdG_^|RSn1#j^}g}5Kj)wiKchJ2Q@T9%6M&c*9Gsz|{%Ygpc_xdZ1=v+Am5N`}=p zai%Wk5gTNkT+TTFS<)hu4mYHtJklO?F*?}bddcS?K&GuJWn5<`Zj-)!wUwy9<1Drl zGnJh0i?OoN-;yTSscdocZZS)3ec#L=OHi~dirWFgGWZAxy|7swxu2HYufR0+H+hZm z<t$Kbr$OoFz%mU_PN_WJ8T3&NwZ6cXdrZVH-lo@U^pFy3Vp&`LLwcvCiVOBDD3g^# zn5>MjCM!It{xwk1#+s^PC$1hmZ;Yu5l0Bv>57XHROwKzMc{iN=_j7l3X*>QStdDmY zBZ?sPrIpIUk9<q@YoP`G{4I5_r5Xeb$Fh(MsrlZSMJsDzUL%g-##Wp~mujiXrDj5( zob#IPjAC{+m&^I(Op2?mCgcJZ3lDl0r%I;mN%>zcKMI>CJY0V3c1sI(+rB#t7HWN4 z?HteYxysG12av$uRT<(ThrL8Xg{RUuM-C2M$ErHJJX>d$76qO2tPG@08OXp|8%w(w zzLdt-QGvB%XE3p6d$<D(KM0Lcm}>}%XqP$3B?P2hX4_2N95!O#lUPGHhqu${-#Tax zA6quk&7l-j6(Uvzr=XF_lC+;zx9zE`<6E0nH-~U5SKS=)+O)bkC@WDnhub!1sv*r` zqLqzqbw}(}X%3AFS!(O1z6pt}k#6c=19CfeCB|##uLgl=4%m2UW4dz|JeT8h!Mso9 zCZ6%`5t%?`aZ{!D$JC&nnr58D8l)a(ylrdI%X+F@==WI3<1sflw8w{u<=jX=$U}|s z<=+2;wOSoPuE|Xk>Z^)DLBiHpv*DR|#3b0cpZU_x`YOUt2@hlH=B5YrRnyS)Eu7Cf z*vKQF3^X3|ZC`5N0QtQAtIkJ|OL4(r163(BK-j9}WLwQ_f9Iyt%=R}Hh+-{9hUTI| z@rZI9A4`klRf76>tX>BPY-WeGHhm<Hb$BhTuZmF3hN@&}_l+`rhwVHRlN@jZ;K+u^ zp~cT0Iixt~$A&5)bTcMAxUmZE>A@zdukz95S@n}gc`hqz)ku{OirK_$BQ;yL-Ehg6 z*sYrIu-%3z+SW)-F``FPv&O2OaeNdlZj5E;>``>FF;>$JMp30Em?=LWN$=yg;JT64 z$jD=uSqm}ST}?2^4j4&!nyTf-rV;dWQ`MqCipPwz{|L(4OqFuuc*a?E1l4J#%Dxkp ziB1EamC57mO?)Ili*c5+P0h&1-=huV0pmX`<1p?D<1iD8hYm6$&l=0A&I@co><0Q> z^Q`jZ`Qdvy(oB`Cxx}_I3!112XM5rXi|~7PG=)1nGpgoG+Hy`6D{-zG<|*mUu@aZs zV^$Da9Nggvea*3aPN`9@19;oL%CUtl9no~CIaZ025JnWw;T*?&C&hWs6W9Mc3QkZ} zYc{rOay1i1Xu_(VxB`shalUgn3l!D%RoAK&N{tiMvUX@299?Bl@8+r+?VaP}moni! zwzG2}CxTOQ7`uw4q1$EUr;O$l=h!uxyC<imJBN7Ex6t$nLf=8tx3K6dX!>TJ^g)_F z3G}!LAyP90Sqv{%N(ND$3|YX%uf<WR-q`gW!V_};sT<JT;-@?wSp?dgU+tm&Z%kYT zFRD8Cd7{4tIt_6!F4KllQl^u?`4mAx_n04Zo@wo)C2_$h@_s|TRjRfpw+~aKJEJ^t z_g7H*8>(BW%|CkNK7EA{uJFW-SV4JPD%?93N84Lset3Q&Wwlggjme9tNTO;{)L))# z#iveo_Jn>34$KJiU7+_9Rr&JyOK|1Ql-KOAX;Ku&bV%azEk;-aNf&m-WmgG@Im2Sx zZC4(*S8~d*cReSq54^0-UM9oWy!0LXmmra+?}gr_x~<T?EdLNs{pq`jQeo+Yw7+l` z8mG}+&I02ovz4kHf|i9giE}LIRk@Y%7d?TNj-^MfRCtkMPp|?=tTjHervH>c8S2iD zr?Rb8x$@(Eyx^>9iIL$6b<RkncG@@GEtN!p?AUF(U~-S3l-7u6Eq|LPv{j)c$|0w; zU0LTaOSq|6BW&Wt6b+wy&8<&fENr9d8kfdX{WdBt_wcU~lMW;r+eU@u&Oo<kK3GUg z+Ne^w2Q#o|A?;=IHwRO6TNOr8Ntm%a2TL{vji%8_s&s{TL=Vh63moWUM<DdTUzM%% zk}W2`GDa4b6}NK;dT?{k0@|B|oDv!Mask~<LL{WwTP(c2aeolYEnWcCht(eZ4B@6N zBWZbCRifZXw%yD~u`()P^dLIbR@F8_CQ{*cs$1T}>pA_9Il2OkZl`*yk4h;z(@xc> z5XT7^Wup^jup!f1Z8gVcD6id3*Wp_NmVm7;CZ;#t3Vd$!y;)SRJz``pM^m5nSS%eJ zNK4zR2FA>RbfvwjQK<bubWD3&r1$o{S%lj|<AD^@L6yn-j7L%AZH%TK9n{BaR7piy z9aL;!9Zo>D$h%2ocp}~#LU!i6v#4@M6=?LENi91fSa)wE4e5w%w)UqV`FCP}x`*F_ z_4=dFkriVZcDVxmDZY~m^F5fsD@Huf^=2nDj?c!@+)ipqnN^?g*TU1S(suKFFP^7| zPfofdgdL6HK!>n9y`V0gRbs#atH0);u(|4eMN7l+`qF{Us#NjKIM;xcEMGT{hTPjC ze8Pn7-Y35<2*x@3(%>$tlkpv159p&}=yn%WVL~5@LcGy%CDYKZ2;6>}On-L8H=5eX z6xU6SGq&`m)!kHT*}A<QUN<AzdR6$ZV0R#*`!d)HE%-ENwJ=gq*Y4`=av4@nas>LA z`=^O+5n8uao=L-o(w**Vh=J`-y?Us4zfRJz@X5JfhS16$NNF;Jf_tiZejR_{e7Ge% zf0z38R6|tSyU47Q!+J$1xR)xULKxLqHK1fXYhTpL@X>c#L$TVncj${=Sl;*T&gG4u zioFp<c-4)D^;UgzFYd-u`Clmi4et;dRR9}H>vp3m$%xcn?n>#&FiUDzx|0lBMs#Hx z_BFP2q1Aoxndhr1bh(dm79EIQLr4BHyRa9?hUNsS+{n9Fg@XIps}R`hjr*!Uv(AqC z6h6dQ++y9**X;pAufL$AzN%t{0o(~$F<!Wa%h?kc9InPtXg}moN7H;3nMw5@s2U|6 zj~pl+s*qprZ*`&D1bp0oVLvs<z{i-u{Zz?LNaX$9ZTKV%_rXFFsj*XQ0n1A=cx3>p zHk;siKdqGcWtPj;B<&uWNIa)9mCJdeAKt}QjY2gM2BTE`<-Zo4r%f@sA2sN&YV{Ke zUgNNI9=1X>#-?Kt%*E+0=i|PBxDU1w=Yh!n-1h`TW<-e9^=p=@{pf6eRVv^n7Pib6 zj`Eo$FTbDy15`)}u*0;-b{zi7q2PN!P{06HlzI-p`c4Qv^>k{Ct!Ghy*=pVE^O~Ng zfXLQUbO^QMDq7D95Rermr91{=t<@Njb0i@>kFIF*^v9HIpz3H8>_9ySs>#O8_Uw5j z7QU(S1tt4<VRr?`@AyDyEPlO4jKszB{V4KHRV|PWi7$zZki|%BOv*nQ%L-i8(VgCV zQx*1273f(vn)#-x8QR-cU<v-R46bYTWN*6krmA2JtxEobR2AdXJ=Ay*8c$YRR;UCm z8>AZK{<y8fD{H|szVmV6TgqV!YD>A^LiZBZmfF09_OdC7yOR=h^ese6J10@G!K!(o z0!iFdFgwF2%01?VHZ*LoifXiQJbFy~446k?ZOb1V_Gygvf-9KNZd#?q`<i2Mv5f@T z61bb0%t5w=ZRqr1gqEgmrKf{c>Eu~1p1ic2?sA^%%!S)8WC^a)2Rr)cLudS{pZA+* z)&4*Nd!82?uHP02{|TM|UG@IE)qwrW;`}3iu@7%`f13EVde6wO=>FR(B4x#X?%8D* zOEiWoa|OOHV@82EDj;^40LCt>WnJAPG{0WsnHr9UG6`<2Vv>=q(V>5}5DJ6m67%%t zFV!~i;1*}2ul}+2gb7i~V8}v#Rz5v08@ywy?i)JqJuJspH2f?wl`W<}dka1s$MNv7 zuHpK4E7YEZVZ~gEWgUyl;Qa=z^6JfA0%ZPf<&?=uRdiBHq(D>cv{+6nX0Zt{*iH)P zq!)R#L;>2^Ny(ga*-8>1&Q8kU)xs_-Nq`_bX&AWrn5(QbhRj#nEge%C%CM3IxN0YP zu~9}^NdgQ)pC~rG$6Vd4Bmr7&qx<iw+Rp7b=(Z6pOKcO1-I^}vt}YZmM3qW;I^_jU z6mZa{4dP8~yVcwUJ(vxliRr6P3lradfWDVE^<*uQ1cZM8v8OCYzz#PAV_SU}t1&u9 zTAi6MN{@{vUAehp<!H(0*H_HBEFYsrJ{Fw7`{=jNq1!`LObWbSO2bH(vpR$dC|uD6 zB$AB%BqDjQoya<vXK`JKkcyrMZAgl9H^0Rg&lNJ~qGd5Qg}Drr2(Dz}Ivd0qtFl7; zUX#l?531O~Mvd9PO%ee=4h=9J^O$&(ci&KzQ2fDMZ9i!w-=EO#FF<_O3#v3sIaAhO zvND$18MoPjq#DO>wIHeQ)<rSD;w;25;%!J=sEQ4VuSMEWI9GpB8;WJf*M>3~dKTlf zgk~^!%Z8*ql{jx@FD*XcJlz?lMy1r1X96%mKz(zWF}14pD{p9!{U;I_D191cM}Sn~ zr#Le>U+<R#W!iL|VsPB93G?p#lKX)pGGt=~C6!nj{hB+#+Qbg9;xU3E9epZ@kFXhH zx!%qmgO2V%tCos1E$3B73K*`!<IeFxgNBcHd5;JI=_`pDx=BUjjiBHwKUgNmJMx~V z{=*Sj?Epn2vWk1Lj>!6;9-}yWb|Rbz>p<&=s~BgVUp$%<`yN(g9q7q$G^d8CT*7;B zcS3x}W;JW4iFMaYb3$+=m5n+1_v~g>c0LFss%kYWc1?K>>f83*thj;xYK0HA^Uv10 zIr~}pNCPQ+>|@Tzik@<_!eiCnzmI0s&MJv+R-+(P3MO2G&}RswCFikAEzKh&#j{!E zw;^d(m25_7R!9GmLZbO_bG$myqghod!KToS=ufC(2Q4+`X*(J@0%Ks!pJ?F-HK$g` zE0!^m(Z1yVsQqT2NiT8fEw)WV4x`Q0XAQ5c+~q)Exq#X0cS;_qiWWQREycmX8m?eW z{Sfx|Df<y&|7~P(oYDmc_C2#h4Qc2lzUO;05G1Fk(V>x8_Bb!m(~;P9aP=<=8KuIL zw%g@OVxFG?$u&^uh`mNu<lJQ}`_!i5T+Q@TmMuir6r^RHjOHbwPs}t*8--7=KGSH; zC>3P<@DUvV92Ux*68tuPL^1g7R=3M;V{v!SkpE~EQta3nOYCZH!8-v#;?$3DLyL+m z(c80V8yj%Z5H-(zGYB*-KcdN_vGJz&1^RKcil`OCf|^cwJhnJ!9_Riatt5|~m6ZDV zY02uqRLVO>m8j7{_n<!GC&8NN9FAacLByn|1)kPmbql<t!QS(!_ZWQkUxd(sxSJHM z_G#KVM%74}bOG4O<0F&3Qt~vNdfR_iZQ*j3wYt?oJn+3hrLXo*!%6O`$0kl-+lzMB zM{%orf^sUM#xWLHjgzICACHG<e0jCn#U2jGRGG+1=!U|gQ_M+_Eow>n`*sD2gaI}r z*>wg~Wt%9u5KaKM<OtXte6!*#MNtQYHPm;13riEXhQo#IH4QtCPx-$p&Y6%?Me~yF zVxr-(la{`s;Z7Tp?A8KGOuNG;&(=dj?pU-%oWEG+G}#DYlR4LPpP_SoqS4Tfu=-Ld zHN;}zN|hEU36jk$+$u5-cW;l>1U^m{rx_*V+aFj;iHc#iQo>u%h9nDRL!!x}6Flw3 zE`6RH4EmP`&-nsKKYS`tx+`3;WmRinGJlFHh|RZl9mevkCE!D9{edc)BIH^t7U*)0 z2FBWgqPy}=S|SD(=3774>f=Q0zMTfbnz&W)HZl>9&_W7<hu5M<<-?cO6%Q`96ztSZ zz*=`c(bW&I3krBBhsE0r{FNi~)RyEwS%pyB@hY^RkfE^L_X>HG#@K^S8GvjV-8XwP z#G`?YFyG*%o9)_1xLc^8tR<#qso#>0j91|?e#g1v+U=V)0(<sc&dp%d`t`$KRvk)R z?0BC-Ca4tSSY7&J3VN!CE$H_Nh#kFMm()bnAbcZ+VYyt(x&SfBnt{tSre}zvz7z5J zWqlp`XCihWZTX$zQ&ds)4L+!LO;PE_#@b}2s5gvqzfoMOsucMNf~6=pwj)GyrArY` zKv%K6K%<Y)v{V(I(%fUvayc8=pg3NwBiuo`-Ta@K*;X^Zx19BJMryZ^{_~HK;{Fzs zP7n)(j*<kQ^4SdV+2UU2e4FF-c5!p0ZWqTifzQ4)cUGd_8;s{#lXfxwumwrG7-B=x zE|P6XG-+o;qHq%%;+i$919G>S6}-esPw{9pfz4iPG{d;fw420PTP>D-zpZYuXj_0- zoNge$Hx>7gmapA^Juo@kn1loz%xOMNLmR^V!kDshKKZs-jVKs<=?8kWqITfoR`gOP zI(93HYf5uJRDD95*iN|`f91&S+a}y-YNQB-XM1U-F}C8Z0kRg_`J)-~Y%l&mWVe@i zZZ92PShb;927n@~C<Y&wGcW$sZDe(0t3DCxkctU-mkv!<ZH-pdspJ&(fpMf7H<r@5 z8sS^@dT+WvOF1Jh0MP6^@mG%0Y|5r9OogXnDK500<?5v|cDZ^3%q~|ghCIs^4n%gj zF0p?Mc$TAFqd*}S*=|64#WpR>uz}I~ZEP4|mCq_(@Y}R=DvH-Rj*5MR;{8=s_XRKF zY2!zjs>L*+vmdGIbzl~R*AnXdCR?o~a<k`Mj@<OE1KCzilk4lf;JYLx9x0fV4O=)} z)urjvRDNS<W1?xQdIhM{1Z9G-^%$MxqlBNZd{Y}AB`hI@1T(WXJ)5Swhc>WFPyl~f z2GI`Ov;n<09edu^7E-i#I=-4FSEd3pR4>D;G7XubN|&h5tZ)?V-R*5qnro}wv}Oi2 zcYSq`{+gl68z%>n@5hL<wd5HMc%-GCd>{73=vjr4R*Pc04|#|2?mk)Cc<pyJ?SoV| zt@H$qK<nA}KG>(*v?LDLWmTYv=)B9Qp*0p2TiA)BOC1}Mexia6Nk0*`i!Oew%K5+V zDf{m~C@@WxN%?$$HFa`#oja!LGMexbv*K{A_ZN)RWvq#&VK#eP@b-PK(oJ;XgwJ(? zPsePA0PY@~HiJjcnQGt~VDlY2g(pr{9-?=9OVslz?!2XR`v+Tj50fEN@)jdRSPUDp z8N_mng~44RV%ve5HpS<Q*K3c7xsHV_6LSH9M9^FtlI*6~kZ3i^hD7&4HiR-FC}Trn zibNZN!BGDCHYkRTwIMNogbnTC$|wTJ_E>Y;<<}-jkI_h=YW5^4mHXjX9?C4MCbKS; zhDnKVvkRaEs*|qrrU<95UELZM0+XY^8mWb2?Zq-qVU;UZku0))vby>Q92<4Fs48IL zj{aN@Y!Qu}x(iq<be|c-lT0_?&02Pw?plk^r>j!lwa9yx3dB$FEEVmPWKd^<3n$M2 z+8wT6lACo)O&T*xMS|yZX01tUXJJQGO{>Z49%5fjx-|>Ceg(@DwaA)OXts(h#t5vO z^6_>fD|F#<2GyiivsJ`vGHTSMl-Zs#=G36CSw;;l!!L)7SvBa=Y!&6?L@uz_BNJf5 z^?0lvV}{>MNn>rERj0ZcD$KhE^~g{`-qmSThKeeklQl2ER#ROQ3tR6DNt`Er32o0% zMU9b5=u8IYZ*7*4D+8Y%W0p{<IXE0OYZ)cYQBjRgegSuy5!(bexy5IjKcTv%oc4sS zHYlA=dpk&F^75hSR@yK}m2FwO7xy9ebR1clMzmnCAhT8w_-vn|dlhL%W37f-a;&>$ zOKY3cpDN77>cZ>~A4SjlWQ;pqT28Xy-3?hfobm%S?eT0{X-IKeM$X9{x1uyl_^NCM zX<bSS$1d8GBWw;S@L@(WBqSv<sS!vTXJH$X{CsRkwEEAE?TOx5HYB~lSsRivAG9H{ z%vOeaafV{YHFl!ddl?|RqRgUaUu*wU<D}xU+kXbP|E)t=W!<)iaogSU7G=)E8cC=< z+k9zYa<qAe7KjNQ^9>wlwRsWCTV-U8bP6W5b;6T^Rdt)+o&&o~W2deH)@t*sDQL3F zR{&qOkf!G#W)*5ZUxj;DrJ?iDWUJ8h`6{ZtB)gl+lPYis4}TxV^S2K^g;~67W^3^P zR8mdag_SKsYV_qM@?L-_PrKi#`~nQ^Q@T^P1*$~vC$b4ZYF=tLt`7{CJ&H^Hd-X+5 z+GbKcN6;KNTS;uZ$<sNi*^oF#nN4(Rfr_d3#s_YP7M_*pPCW&7^Avb+qo=^F8>zuU zl~Cr_5fFhq!#NuNWFRY<?vs!$*NgE1$@IfQRV?^T$mev|ICs9-YKmvqdecQtuWqHU z%}&Pz#moGmHw6&VeXR6%v(v>BC-kO<NKZN5Tg#8kP8Wwy)ObY7Q9)J#rCltu7|v$5 zd@)eS|6q`67;Z7l&1MkG{nHCMr%1#!dln!S+>klkwW2mykVt#9-hw348#W}Wov|S) z!G0S`W#`{)LsI%5ZK%79^-FC~OgGPlGTD$*ZAi>M+J-K1+FLdxRo2~xq+(mGr!|W( zJ!{hW_32sP;ky1)xt<qTeOXgRYR61w{P#Uk&TQw6XWUq}m_;Op+GD$@ByU`2nMMSB zr=emqBU7383p+8Bp^SAj<P+3Bb$VU7U*FTp$$4)R*RHekEoY=wE`Ylvubj%oGVTE5 zJe3Qvm6PQBcK#y3wN_Nc+nbWleGTFpH0BiMRX`i#^Xn~JtGV*lWUDFenC?6^N~;;m z)zHXNvt0IgfW;6dZ9PQ&90SNb)^&|e@QKM9?Jn36PAF@0c+7EEb3$ql`e89QM~l;+ z^Vb%M<@Af)=_1los$1!Yvil+_;Sb$e75BI&<s4_xUdfgvBgltL%kD2!zx--JBIg?$ z3gBE9*^ub)@vqpVER4xq`tf$66kv!A9bv{~8@k6(I~x+KHL)SFZFL)xiiifpnsK*m zetPV+@hfk6Oc9`fj?FV&CW~+KCYL}PE0e3UF?Y;D28hX6Hl7fVk%8ohoq@}_5||tV z+6*CK!7S(Id)9y^*}Pn4c+vZxslXHv@wD|YRx{bMA~kmE1`8|wz;5oK?MZBoIqdCn z_NewJ{<4(N6V`n|#HYHH|I~TbASs>5ro}JxRu+VCm@qr*FGZGTWMGWO*i+!K0GXWS z;LJHgo{@ptKxF%lDBi|yPMRfyS+FVN2_|)3G~;uX&u`Gri1A&;nJ#;7T_iV%^gunb zEL&)VqpFK0%~HXkX8_Bm27iyw2t0!whR1AOpR3X-Ou!oIn)(nR58{DbiL4JNrSeGb zH5U$|M{?0K6Dy0X5bI5LJ(v%$WodAf4T|p%1HEJ<{aarfO4-A+)ebf&%e7`UBm;R( z8<OCCIUC}3Y=+v<Fxb~DU_-II-@wa;!kO~H8Y}yFhOXIAbS!_mIBA3OwP=qG$=9Nd zKUj>(%=q0JYPSU6YBIj2iA(T>Xyn)Q$r9BpWx`IOa{k&)*LOewh^KepHszdSjS7Mr z0bIkh7a5aXx&6~;qfTLL{z5U#ld+9v?Ba>5BaG)JKM$M`KlQBe)ODwGuMpCK`emw! z7XIOg@$9&{2||6{1W3Qw-tcnm&Ke}UwVb!D(Lj{ii6oGp_r$GkPlqy9sTxbVdX#9Q zCY<ew8_YQVtg27ZOMOONpv~u0VA#2{B6#co$iO$|3PNgc`^J;6y_c$nxef%rw(one zM~-9KiG-!YJaGNnQSg^4x<>0R9>@xsu)ZfQh;gr}cH*3<RwxZ0Y*6NhZ)w%ewZ*pY zrP%g;`b*{4ZF(`@tKvK})FXo_ZCRM5{A^qw3<7?qhYL1{)6$)jSQr|N7`21YyX_Lo zjc9cS)nBGUD@HtFS@@R}e^cR3%lIl-q+y>%gccjaVr@B(lL)VM^)5AMkOy*ll4N*h zhzD*&66O60JG+cVH2W*n#(4D|UHS?qnI=7^mtU#ql-;wygPpn&iRq2QB^ZG|oU_T` z##8IDrP3Ht>4m*{yc+fZxOFMgMzZC70dAZZ<6blJZ@gD2F)cnIVe*(j|512b5#fx( z=Txpj!%vBXv)Jg!hTG9vn?2<k8jO7aWGJ4|z!vrR=_B|+v-9*j9=Y{vZQ$~aL*T`( zmS9eB_V1u&B_Ijl8c*^##$oZx<nfxknnfO@$>$1rS*y}~fRsa^pf9NDgPGp0jO(rF zlW$b7Qj^%DZRD6%lCigE#{FAS@VBZ=jW+E)2rFvB2A;TJ#=T~~lc#j^nR!A4m+h?! zcs`LyEe|yD)b5YpqWO$3l%x6hSMKkTV|3!WPRrFu@8FUr`KzOB66O=ptouFo$e=rP zeTDkQsQfvluT+ivgWu5H_dsMOeM%Qr;xN+L<5YN+YOiwnJLs)ds$I|;+~k~4XJY(_ z8aPvdPeWEj?w?QT_$t-H|3HEkvYLe$i>dr~5R(2U_4!V9Q0wwLX#IDpo9c!?oZqYA z0~UB1(`+VXp5uu-&N$w@iN|R;5NYQ(^XUI|Gt5S?Z=}&-k<#4ic;+>;-0V4*-8yH~ zz)u>vuV+qmBqx3q%jIldh)dzDn}{E{YPeSHvZs0dvK3qIso2gV|68#l`^|BOM6(nY z1F8F)TK!Je56Z90=zOA57tcK2Z|W}mbk96u{y%x_H!mNQEZViySyZvIh*->%8msUZ z@VEgAceMwX(Q^L3n$TB2ssqM%$7%R#?9hC2g1%X;Dwk;59W!?9I1b<iW4d!<Uk{!c zjp@;96<6xb79PlEjkWbX39B@w#5FkEdF7z^c8x{*g(j<yRx+y*mlB^^Ighjs&%&h& zZWdsv&WG$zFxJjSma*=wQGQj1`JxCo-u^@;A<lHm>7?`R&*IXZQ$2A>ji};J>a20~ z0Ok8xMX7nkd?@Z`T+LCdD)stVH7~e3mvs<C?lO5RRMFa>RYNs0mxG@1AC>V({a;kW zqPKmR5c@2>xYyDrQnE(Uf?rhm+BdC<w7&GHniK$sc|quMmhrPDThjC{kFjPJ@^SX+ zIC}nz3U`*o)p#2dxTg5j12@qIK6oMGR~6O*8}74{hH+9pR)n8y;VzuFv2qjPzqwAO zTi@WxBbZYT2Q7j)=Ty(6WEQs!Ne4Kot!Gj=Ck=Ht7OsU3#XVDEIi-%n(jgO&tpoqf zI`FTV)!9RD!Q@6pgCH*USI?vjCjJu_1jsyb51ifXNS2Lc>sxc8b!$~!TyWx`$7@yT z+-)npaG8mfC}N#z6qHef5BrU%hj-&~aOT3uv-so>9~e@PCahDTwdc*^74dHD*{#{T zSI_RadgM>O#K;fFDm>9yA*dFQ7bLQ9g743DI7<IsEahL1%&!*9O^NGOJ>&hgl(t^g zapuJuEirAIwec>AXMXL|>Fj!hcW<90?+vPg8tyF@M8p~my!GW*<2I;@#uG0MY~P@Q zjXx~l;RaPFVe>m4yVwR{cIR^b4&TwQ0awLi=JpX%eWKx2P2MPqsfM!yzSD`_x##__ zF^%4+!n*y9aRZBeJQpkBe!LQcNP)~Z`a`G;KF;C%5fv4737&^L_wtLQI{C{bW4H05 zY&Kf8z1lm?+sL*wrF$E(e=VQo)r@pGtJ+R3Or?LfR&rYKE<2G`Fi+R86FEAt&xSHt z`CHp1jjzO+GtY7YwuHG1WY`mW4|dk)&toH>Nb8yhJ?uT98nXcy-U9Umq+AT<F&%HO z+qX&ic>7nwM|j5aC5&d$47%`}Dxvn|$GYe@6{`l~3Y{vORSV<(3!1PQ=e7KCH=Mg+ zCNt0G7qn)x3QK$^$s;9+Q$BvdF^=r5+R==hid|cbl+D@5mw(M+_ExT8tlO2@6uJdF z+x=cp-z}=2arQaw-hxv$KYYA!D^3n|m`lN1RW&2G54GK@it+E@t*W%)i%W>Ns$kUz z2atZ?Kbqi={aX=1^?8e)ZdJt#KCY$9s%zmM7|U!^r3>b^YEGkn0=nlm6&;xiXpeL3 zn3%R=lx;$nvtlkETCq)yOZ0)*w0p9*1}>S13tjLkS^vl``j*DtPkG?LKfX*Gd;PEt zEr2KT_?stoJ@B>J?Om?AG;}+@Uf*d-8QXD>gGk0^8t1sWo~n1yia4V!Uhx&G%Yz5z z2e`P$7iP?@4|4b{8BBM#;~s}C25Yb56xvD0D}2}S-*_A6*5A=zSom&ke6oUg7Q-L8 z@$?sp+3<H&xKP3>%L6s{Q-==?{9VPRI4rAht_XA3AS;Da!~jK>#6WhVKw?2{>zX#G zTlX3+F7h?eEL_e{?L=;{F6VqJk%K?DgVavkX1vL;zm?5tq3xqnx!Igdvy|qxhP~dF zlwqQ4EkN#86vJ8TCbJiYK_d#v#@tmtl)3}w)lleVJ8<+Vy$TiFshUI-dyKtIxU3et zuCU&geday9-RGANng2ba(V#Qt{6w2~;wby=n!NcSH+;_HNVYV-O&^l_11GsRRnk@v z<o#5t_lK$&+(OtUqhi38eI&c~hcD=l`l_T~V`1Vm+2d2`r$2C(eKWqi;p{g`=#kNK z^a19oNwjVcGFnwpXC%nWDb#8g&a%J2=QNjdcuuzI%oa6?7VQFCl*J~<9w~Hem-^5M z{FgfIRtd(T2b8%RCnhr<(1qQqM$nJdSlk)dGl$+8DO7QfitziSJgdNJADciu_NWG- zWrd-=X0UGu77cT!Xti?-k3Oqm)|){0_o(WjU&nDiyW!#<r4<c7n5fnMAV!x~kZZ=% zguPfLzH^U^edyjw-Xs5msxnR7r~Hg7cWLH6RV(N&B7`nyS=43@-EnqQbk9O$N9!K( z0r~BR?r#ahGOrv;i0+-oYu!5wkEMJ1I9j?Nx*x2}`4r2^CTi~gK<mCg+Cz8maa7@e znrZxen>HQ5q5IyqS@(KI_-$%^5QpxM+@dcI;?VufTXcng6K+w|A=N0ram(6uH-@`h zzUUfQ<ENYS+aVQP0JlxcEl<2|`1mGWJEZm)5C5S)Z5&S8aaeU}R`Od8hhh|D?h*DU zjOpBA7p>tjQ0p#aliXf?$$h3nH}J0?Q=cQ)gnl|ghH7`JZkvO_qsQUt6)e-boCE%o znUJ%VRqNY0QntK;G-~HPt4=TR+I=1)an?@ySp2Vxe$HTZ7P?=A8$EhpA9TTYdXeu@ z+)BBvEgOIMeQI)4m8?~Vi7{3N@(M{FGWgT1T8T4rL7;UIiBEEwtp@PmhBX5N$%E*N zqxhhm)Qi?0#a$lyB`fZJj$``_W*zx^ta@R;bAXOeIHe?AZcC-01-P8%BWuzp(}HK= z*0jLn#&=-6lo*?LdGx<vr^#CiM*yK0<ErrTpAzfsMeiO{ErXy0!o*XLadv6>5+-eD zmx4hb($QloET8DeE4*b7>G?4gT+WRcg})Nh@R|7t7f_}PAyas4xhD@lReDGb{!}4d zBM`^8-cBy|p{1P=&zN9A?E1LTRs=(m&i?~|n4AV?J-~{^R$ITfmch=ne+>Qnr#c)s z7^6+rWl>(o)Wp@Agwo>U*!DH)I^8~wZC{S-H24HUk>($?@C5E_oN<k=pHNeZG_LM3 z8xfb4r&tgOy0(oLpM>LQT%`;An|PHXPT|-0Dh)iP>Idx6S9D?!Wk-Kw6#W9M?>NS0 z?SCxqXoj6ud5mlCP`T3>{YrBb0HsUiZwB}EXyYs!p&M)lBVUBTQ0dMS_{z(Kf-@P1 zl^(BpWRZ9G28(fCD+wYj^7d$+GoC!ZSUkQq&nED60@G@XX})Iq-jgZSV&bKPWHe1@ zG~VJ#);wjcnS>~p7-CS>Gpc0kx=duN90E!X(WN`fdZHab+jk}eYT4De`Jxb6!CXk| z%7ll1Q|4c)AzeMAA|v0c;vsktlchTw*7m@42sS9@FIA>>eFSpdDijB$Rw2d{oeOAN zg<!c>*ja<S3#f22$U}w4*I9)wHB-^yx@C@L3WT0Las4!IM3@I%n;?T?&njp6++U$# zz82Qg@s`a?MN|}vLf!?y@!nb0IAuNGPnPanis8YX?Jt3>7#@AG>t)k5ae&n&H1m8; z#{)2)JgF8>yv;LB^NhE6k~Pm*PoBg;BTh0(u$kIxrUZ+ryk>G@g5g#!Fwmek&#AB) zd6~#|fUIJo(lZIqT7G<jaoK@8UhkW8zLelbiRSo<g(6(zF%RZgB&1g04i{1Udk(Fx z#(Ao7UiD5c;3@P>QJqn!N9KQM+(v8iA%40><5ptI;#Tr=joaeMJEN#UkI$>)M#NG& zZ~>QV9J@&mFQ~F=Ol}8-UsMT29cQ^4MhJmhu@%ekYDp6>s`6n5+BA#LL=qN-S9Nm_ z#D@@<vp$|knuyg;k)7o|`kQ2!+8q9uUKf?D=#e7pq6UAlJG{0os=bbLd2L-(8c3Ng z%esi(r8h6(81R-ed>u!)G5!o4yQBsh5ARUz%j)}5j|%W2Uf+Vy@simrQQv^TU!e32 z2w%NNd9SE?1<G18mv}Q@7CtJ@exgd?$@BfV3L;fcXv({gulpW^Lo)l|N!m`67GF`_ zj4`L^@fA!pqEAt|XE=!5|Ej90PMlQwG0(a9qu^IQ#pvNxRm*5_k}6%pcKdZFDB~8+ z6db#zdX=erLV4XR#a>Z`{|drKJnre!o!x`DF4KABKwi}Ox*AYwQ554^T{2I-6t!@j z7n6F6D*&B(-Jm(&`V^+WpQz&G|2MY9MqQ_gPgMD0yZDjn2u)vCCKatx&8yewgTFCx znthE9^KYGNY?jJ_LR?G}$5|88c=N$k8v0a~qS-eP{QB&eRkVL@plB_QQE3xqczTpZ z;#aLWs%Xt}pAc%j**nhYe3Xi1VW@H(rNLP$qWFKZ99}RCC6$XclP_Sn*Vi08Jwhw8 zRH-t98l$B4<pw=7F-;lLj4{^51`Cd`S@!p&f3sA{XxuxkmviYX(&gL(gud0F)g^pe z*2#RcR>KD>j)wiC3I+qmUyffvjDJ`>8(Oo*oTpF!Q6V9k2Xlh&@zm9fse8m0t-@W- z>*wg`KdNXGpgB)-LSL7Qmztcm0Z98*){fzBnJYCdgeBoG`QXdcY3C^BrfOVh2nTfe zORA+p>vNQPQx)+SE*shY94*5YF2<BY^bh~mJ4BUl;l|Yq2icc;8Yu_q?k(VJ9;E8G zRnvm^51?hGr6*&G#Yf<OKR`2Yt1>0WK7DQ-fk#M7PNR2f*ctDkhGVgaGw0o|(DB>q z>(U>TW<TR=GlCw8qt(>D@UwJ+jNg9FptgS-RVle6Vs|I*Ah^}<9EJCEG}f3#cU2k3 zzh}{=woJoCw?{fTqUeXaDo;R#NEVGPd#EXM(OHA?_E6Du_bzsQ*WO2Q_i(8H<X&2I zPxVk^_A1)`4<0?te;-F$!uL|^`>JdSzel>y2<M`u;qd8*lWy<Hzn2!=SCQpE;4$3x zp3fq=YT-c>>U($)9*SlS&UB>f_f@5c6SfP@lzSbpfC2_Sgop!*>vAqXLDe6qRsli> z^*MLkOMHUnJy2Z=A7^hG@e!9xC+s<nCudZ%P$a-hQ1iX<mvt+Io(pz5PRakO>M25j z-j3}dlrR5e9!S!3uK?Qiayd^kq$3;5;BsySBKtasF<d0aOslKZ6i(!j6)eOXMKr6E zEOIcb&CQj$<Hd6deTV}<FaDt64^^rf_lKgp$+!z9|09(*2#+=4aGDqqI}fHql-Gz6 zF6YS;6#Gb3s{)hobr7+@%b|kNE(a7Vc#vxaQ*<0(urDbZDJgdk5Is^cm2oyp+h!^L zvI?ckd>V)rX|3_KP@gm6tj(LX>EB1HNqDuLxFS9iPq$mbtsm||gOQX$&65#iIJ$#A ze+*xGcL#a@r<#|E#MRCTh@c0sqoYAQ{2lP5o$U8~VQlYS-FKMV?mnlX{~-`N`!p^2 zPi>BPQkZ?URi;_vrnG`c-3r!(Sm;Z~xNmKzW**D#cIz88k8vkjy)c3x;C8N%&xZU0 z*WIJsfA&|OY?H3DDBXIB_&}3wJaV*E_qR%yS(xTL!+l0ex6;99=ql&mWN%*(01LEW zXMcHs&C1QuT)36|o~!U^U!FnQ&fbHcvGmE0(7|hc<={l>@LWYiGrz27(pe^6<pjd& zD>Gfr1f6X6m1PmkStG@;sQ=lo`_0dQ<dZ@cdjEcU{#=CwAyrptEBuu(qv;?XtX$4% z`>E0kRkV&fxdbOmuZh&I3{0Ld$ZI0*0_`}6Z%}F-%UxoiTYl^Pl==c)q6n}vZNJ~@ z5;xO7FED|M-%J%>Vo1LB8-4r|UE$}y(NX-C?erU0eY%&`6_#NTk49TH->?VjzUL0} zp81>_yi!gh`V;E(N|h?Q!=Ksm=@9Q^zW?L$CS2OzX1U=k;#=VLw6&XP{VNrfa)@`c zrL{>GHZv6*iD}J~@KqH5wMmkjMe2y)Hc6VKCrFTlORkQZeHQV|rwtxczy-=ZB5U$} zBE7R(0_*VsBF7yfNz>p6<#?$ca|!+T5$_|^%cYWx)<bEvONAA>jo`SoR?pz&^6jQ{ z*`<n9x$(7ij9jo!W%mFY$0(3|CoDZ8$5<aQ1i5?mf-;U~MoQFzp^hN$T?=M7N>yF` z;JNjcA=eAkAbPA!_@%kxr8oCqIj*BvR2m7Hxr_xD9f1vYS#|F$|5CF}$G!uXGuLi* zo^<D5&owr+26$SCFunZV)*Fa1E~@VBh)MZFh!KMU5^o*apfFwhz={`W!Kug)g3&d< z0|9gIV+3SKbedvAqWU*BV=A1(OlW2Gqs!j~)D4taqlbS0&$q6gh{oS8=Nrh|{>-2; z!+>#L!@&81&fFA9g$>8B&`AhxarWH$%({(rBuRk7o$z{!qiFf&*mEEn9(f-mUGYDG zq#j~gT4~W-RmEG<WyA4)O5!?pI=T8Gm0K&i!lt-$#j3zDIMruXYX+O(WeQyVfV*{h zdff$Rru_6V41yF~{lF=}oC#p3IU>8|un`P?<8oHRrSwdNyLCauNxaZQhZMQPQ2`3- zDw;k5S>251&T{e%+_5`8vV)bMEvLZFg$_q}<y+^N=J9U1`QZj`e(<Ceh4+DiJ8Th& zg0^)ys+YpUTKYqT``U+=jADBp!CctoEdM*LbT~>GVG(rL;RyEro&Eus(&o-{ln7(F z^J@grnB1!=G);IauBtE2P3r)cpZt3~r-qk7YHb5L@@F!J*kZ9m*<!ehZaqJ##od>4 z*Ap#{_a(ZVnOYg=2rH9qwIJr|6Yl`Gfx`O$Q|LL}t>7q1KlwPEDcfx4L<)LJNS5LV z>)6qjBWv-&c3D{wv;1w#kww`OHY5d$w;30)BVS3doM!znKo4(;BWH|bM=l-9#a)EI zakDN|fg=~r#^jZ!!<s~*8^<CSL}nK}$C=Af!&u@)Kjv}-7Xu4ELb{`uHG8q3sBLs9 zm!nj-uE+^icc;b==hT~9ZR6#!%%rdKy{awYT=z(ubXYj@i~3J$$T`G9W|Rc7;D6LJ zw<FHCjt^JRjPZ2zvA2_c$PH_5vAqFKYrd#16_|g@$o~^@6yd38Hezh8Kz^+No-2T! zX4p;3yo1<;_pz}<NV$ZjveV+51A6q27&LVZHe@#Pb;ML?!xQ?+PYnMLuS#pohfhIJ z?0<zIKik3~$iS3n`6P2o)aUuxU-(N$8Lem~`ycQ9#>CW3^gaH{j!rH@dp6tgCMGL7 zIgn)_g1ejtKCtWGnUP(%k#;T3guJoEY@KLy)P)lf+nQTN)!A*A>`?z&#h+Lx$1I;( zTRpkhW?}?}lO}0s#5aBTCn+(#TIeG@N#uB^*h-vs=B3s|)F=DVCGNR?tw4G5Izoy? zzsnJ%^sfZVUka143H?*N+LYH(H?-crJdqp?C-nG|fuYLFjHyTS@;YMtWB4I-$P{Fs zI&?6vBh1+IfbQgV1R3u=pgj2;ZwAjqb#PzfJE9PJrT>`zG}~%KQ~EfcqrUOg5410z zqiN``_c^<Za8Hly)^m3A>QIayvYTh>>;$>D77g%olnkp6Ha4%^jP%J$+<ljJ1RZ7g z%@7o&?0x#$&k<>~uSNU)93gEN9@o0a%^^2%bBJ`t_}In@J>?JTP&Ayc6}fTIohXve z$=7!1E}0(!1o0_%s78K>?|O%N=63`e74Fg4{El+QTM6`aen$iz%%#2g9pM3mZRX{^ z$j7HKJ<ab(PPsZnk3N~GLX4qk1>)kD*gu+=)oB8Bn=G>hcp&Od>aa0LB6G2$=#KwL zC=lv_G*;XT0Eo#<mNWr#Ig!g)mvfdon_Mg;bqHN3;3(l7*2Lq($!Zx`AFZQ;{*F*J z+XvxBe@C$tr-CHzke5emkKU7jU+$29UdOs?RhZcvjK?D-QzkLLyK1#%W;DOBp>2%- zZG#7*BX5h(kgPIqn#a11mE@cl<jPI$>*ZC4)3s^`e$CEL3fW!0j3Au}UCwtzAGf&t z>&ZL7Q6^=+gDY4Ec(k&yxD*FpnMEA3VbIRS{HTFd2F99uu2^NbR2$Gg@37W*fgFWp zhI>wy<7dlZkkO*s7Zt4vpl<^lff4mwTuUCd^0V_vdIOSMUwKZK0~|$Cei3)T<tHH? zvZ~m!80&I2UaK2~*CcQ@Ys5FMp%5cALvnQ>CrO>9?SZqd^<fjwj}+os81AHkgzEX* z+S@Wd1k0<2ET?$3p!jOQ*2)%yPqH+ppd&ElXNzt1R1mBcwrsBOI3VxK7%tgYw6YiC z70FiiLiM&KCwvN6hP)=nt16HyvgJIG@9Xm;!>3SmAxFX9r7Y%QDWHpbjrme#Ap2x9 z|6nl-ageQqP@NqtjyPW^P<7&n6Mv;eg&ZZC{`8u^jVf=|>7{;L57TsI*<8`^1Nd|` zOB80Dpb7bvp8qdVg>6ys1DGt*7NxoV00>bh@fDgKDo{kN|Al%L{vTScj<K}L9LS=! z|12(KbM@7tKCna~G!L4NztDDwN?G$-0bALkyaq8@FI$x6ash-^(UzzL5%qv+xY07m zj+XqEc0@L|%h~<)EdD8HX$!g(5Ih$nqmWwMXAswP%Iy)|SyVW>NG^Y7L)2##EG6w0 z6c7wV!CO|x$B?_-rP=Zs>vDc(ix(NQ2EB0I?2Z%1$$TesGMz8t$dghO+fi-7t0RPI zwU`hM9iUrsMO(5aYG6w~-4e=pU%;#@-B}bH0GMHn*ygw<nJ*xtlUuR)o)B+EUSbQP z!d*_s8XD|$#3ffOD8_*i*_hnN`U&k3X6BnJUCuv$v~>gM)@?vp%c`1alvtfJgdFn; zdpy1YC%;LroQ|R`d#tc#V5|-<ceA=Ut@By1q9B3Zx*&Wi%H=$y<zdenK*_W<qdWgd zy^A`E8qHtP=%S9e(j@~d^?4VJsPFoLiz@0TA+n8I6@Q>3MbXc7iMABh=(n`RF-HKW zc@xV^R=E8@_Y~6GOJ|&f&mLwQyc#Oqm<ct^muIa4Sh}*s(w+V=ENdDqEqc3_k8d6_ zw9G6SIV_3Qc|-KWnj*Ug8-@syS^FhTDdvbvDdKOHD1iC6LLPkYE>T7i7O?>cD1#lJ z0NoYRvW!(eP1Hlz8Wy0CV_v{?mdn=+S4(URN73xh4>(E8xi``;;LMCnVJ*#je^~{z z$^u!OA5RiEKRuB+n_ZGF)=&`7dHrcxt%M;d!3I!@^%6LJ2Tw^MWek|iqG5VO5MXaF zFIpSuC}~`OPG<rgrHx)s7X~?k>VC)Ux=vG>sZ=Ses88AgdUVE8HXstv4I2t?1}IN| z>KFup&7RYkAPC(0gqA>J%IgxRL|772+k>l<En|HQpadIAjR!Qi9~9>BC=|iogSD2I zT$+HiUbSAj__0E(Y;B;XrM4uu!KRUnP3%`xBiIpEyC~9m11T))+fiFKT)MFDJ=7D< z9@VTV0@ImaoTiLmM{uZ6Au}Nvd78Te^ucVPC!w?}*ikb01TTDZOhn=<um^p;lDtFE zCTf(lip^*<4@5{cB{u*R)0b-|d+HI+f^&g^kvz6@Zi2iYu8};dyOHNCBoD)G<ZcVe z12B*&n*S#Y%l)^T^m8D&Tkg%-+1+w{edzEn0{S@%wWlH%YR3wzSup69(-Cr{P>eOp zoU)22lIpbRqsz!fV-D@u{UC^;OBf8yX6-Zy19qIk<y^grT8BD{rmWIoQXgz0luVe) z<!oo6`v7eVayjEPc4|vt?GuUto&@<o06)jFaLr1D;_-lz-QGZkbvuxDvz;$n#1rya zTH-OOm2@W*fsmDyr??{oKc$O1!iozA`Zs8ieXLLG*mEWI0SPE4X@<`kT0xr`T0v(t z^i)I65|UP}1lAy{zN79X9M#If`{bQj=qT3$CF1jp%lY>*hx@I9c7i#uj5d~VL>m#` z(KYbJqL9ot%;wv1g86!S@a+{$V_;x|&uCi-M^L^aSdn;*c*o`ZWEH&|hU`%^7L#g= zsVz*$zs$})UN9TKqyu4&8eP7%ZJUh0c)6Tp)p-)C!{wX{Y{T`wmZ<`B)XPLSZzTS* z9u8v?Og8XZRJbFgy_@3pH;}GB++^UJIObU*IIksGHnO-YEx^sT7Ho3mFOG}~+wE^? zZ@9xW?k=LAOFHJL^<j#dM>rN6TZyhl05QFUqS2)spBpn5Qqf2UsWy1^b9E&8x>cj- z&qyo^r;Vcj__yCM3MuWVq~_)`s8wl4N!2<xc4?G$G&a`Hr?sUWJ&msO$r**;XY*(T z|9(1;{)}>THR9({#WIdIDR)cD>fPtmT`t@ac4-r)GRxpVuFS-`uq}1M9!{9Z2^@16 zP|AvI3A%<oXAthPHss5j%0mF%^g}#hExblT4DOaw$a!jsG;Q4^v2AP#6^M33r##+g zwPu;nn>Hjf|G#WV)*1(FNERhqY)ICSt8GYDQH`*hLYi`>H07VaK+ak7&}l=pXYeQq zdt`kGL{s`T+EJ|WX&~`p@=^Yoy0?XYlUG>Ouu~^YJqG9k7b6<=Z;p=CRy=&$ZAD+k z|9Fu6%VOD^>yTK}=cDZOJ#3kY2N|EnZ>F-W<%}CFxOAU4vT3I?zMZDE?;ae)xcU}t zp={a&#z$#dd)He^G$RW!l56g*l2*+Lx{f`$5Y7rVG>BQkY-l<|1#M_KL)e(0t+|Jx zM^P4JGIYa+#0qEn+n^Y0zYXy!)7)%B$>;{mA8m-k6y{PJ3g_;6o()O(X{tR@U<Wlv zM;SD|oFl9p-i>wd{M;}bG4;t)<i3#bthZ0=Hw~tvTQTcnN7m7Dj<)e{VDl#Y+^6p? zcg=M{jL!UUzh$g5n8k?G2znJJI0B7fqR&ek)HlXayR?IILf3%4M~>pb$S<G0a9P&` zt!LWX#c6wtBdBA$LvU>DQ@@*62Zum9+vFgt9jp%kHA1Y5;hapCPsr?OJ?4yOIK^_9 z3@%G1_BT~3?+Eq&loHFMQ~2T+8irs0alh~!1yNrnIv7Dq%Om{G%sFpee*Ou|gZCxD zV{s4uC-khmBdYj;rx+a5ei3eW_&2Z%lkEM3>Q!)*3VQK}1cxy{Zg&{gg9xv>$m-D% z8e72;+U>>}ae8#ev3ius=)_$KiZB3K>frnPM>Jy>%pP$hL5h~{ENO`guLp4%N2DgC zfovNL#MWaRdyh$3Wa-UF48e9Wgej_xU27tEx1Go;m}hoceG4mQ?zbUP{&s7NaSyK@ zX4^9iF1WcAl=yz+HIB!tX!@k0BVSo4VShRD1s*R00h5R)?y+Zgn3x1u(|GcN4pwy3 ztlAvccPGAX)zv+i@fyiE;kI>jcg7wfs#ytvcyHwG8Hms9%Bl0fqYb&{kT&EnDQ}v# zjkEVbjg2h<B@S^X#LG$xnG^=(hC}pgB}bfb^&H)-<cLjKXc^Vywcb|+;O$silyBu; zS{O3g;UZU-7!9`<*U`ED3T*^r<;>l`TUK7pmi(lI)o{32<|=m@if(=m2zE_IBd5i& zj>rnHLgBeNqwoEo*#C;Yw_GUE_fDsw7*1J;`aI2=fxrGw^!*76<#LX46ZODf+0pmY z+)TaE$=K0%=R)dQ*%6ZDi!Yc~p#7!Y>j?4CFso2n@GudKW}ubn!zy^j*|~t`^QSLp zXJyAQW6(~jUd2(<xX^@#RdJLHt-YToOC8{;9<l3t+`0KWX>Aop1^-<5c*HIx$hw8; zK@~@}(DZ%Gwi^}h!G<P-i<*j1<EmgA%b$S2CdeNPQA$-uLg?+i%vL5R+dXDGTbQmg z+ZlXIk=z*RUx>ou9I>Hgg>4Bc+9NkC)NwwpFuffIwzd|VAg2|iZ{r+GjmW9=Mm5J< zxi?HfKRM&Gd7qvOrlEZuesrmtql(dO3KgmDXdl{hH|sQQK@Q;=oPC{wG`Tv2*WynX zD2gD5`qS3xD9UDh9CkTx%+JBLn%O=Lpi(u!_Q__=Cdk7DsCNw%rJk_$&dG*Ax0hKs zfL1YEL5oe0%?r?t8jhv8uT7F7(EUD+AX;A2(K7c~3p1&oqd5IPzP>y#r{nuOxz8Q3 zgd})~B?Lk2v2Q^_!V?l=k0ti46tTye*hPd`kDb!mDWyuO#=h^A)|OVQS1F;YmXhD+ z%-s9rq2KrYBYEyQb7sz&GiT<^J_YOQ^*suk7{A`wH&vsSUcG2;6djHqFZe*lAeQlM zZaP{Q%wB)1WR%D%o|IV^SsRR^%d~Ht|3S29j@BhN^{$6#oy=$wIWHHjsfVmxm)wef z7%h&YUG=0#9PRRc#Z4kTa#7j(`c`fEB)V2#AEK3?L}9^ttjF1jDyyq9Y=!Aau)b8w zi*qdv(2LwXfe!F*y9rddA%6cJPh%VEWo=!(G+N(KZ=lT?Pro$OhnJn<;*LGX<K^d< z5mS%*KlFU8e6e&*i?BE_zL8!xVN-ytPWE&&Pu^o7@$NmSd@1%h=aj$_w}x@pZp^Fe za!|D)kwfh(I3gTsf{K&s8fTCh=cW~BxQf%?jMHKdo;pVweOx2eHY255ks7K<)y+r+ z6{F}IF2dQ&IEED`r;3xwDu;0QcS}AMUE^G2Tvg;K!;17ng3QrbGt!qTQv6jHMk{vH z{Sdum%Ve`GrD_I(P;DxYcSW}a+S*j!UnM<_w>UtaI-In%uf0hEwGGw#lsb%7g)5p& zbKh4|;`vuxaG!rgKZWXnEqN`-NjMmUiurg~bO)d<<^v}&y?y2}{D66VPTFGLbducB zUg{DW8E2X&cS+{{vMX*1w0jqwZLF7Vx%wLy!igYM%#&Tw{eZTZkDDl&6E;FH^A?=6 z#k|8r#XS9#OPV)!O6F;<xT8DiKoh-e_Z@p(2vZc{YFFG?#!Vex$7^&paPfbHM-JQi z;}Q(KQxwGPU)SNe75fry)d4nVa_cIH_7f;HOz&6fGMYrEDo%YVrFrIx+w&!z3DX0+ zum0MFaH1ld>x%n?asMA_9@du9%wT5$Y3eb#B~AEvCCy<pnNDf;?U2&!a>ZdC_NQ>Y zY>#<zoxm)uA&QV!qnwdDGmgj7>iNzP?jjVZ%U$sgZy3S22uHZiVHW^2Rg+mkHoqOz zv#H)#J3WHFXsVY;Si+WU8SCcloN~ty5Ms@KEQi=P^I8KUrf^t_eYGq7SVixU^wSjm zSd%_h(T{eek5Kf{lD-|&C#2XT%m|gt2xhNV)}BHt0?u1Opa8|7kV*e;n-r*wD}#r? zsi!}C{O_kfu@2zO?LiPXFyH=k#eV_3W%c{xr4oK%-w7qmW}cSSFODa72kgv;>!YQ@ z>`akje})c;6Zc{(&35R;S{azUcOp-2<toPyk6w30?*y7HUgr3~7>;01XI~2Li&Pl) z%0U}z#?U_wy;rFguCWU+MT)()D^A-=6C(7^rPi4}AgS18TO^@o_IxF7`WAW}p$E1d zy3<9>mWr^uE3O{nEE&T`OBtIp0c0#D!!l4^139a_!PNMvhCBx1lUhxhqPt1@^JZGr z9Hy8ulzwimk1EwtPN$oOUud%wu%0VUY^Jd-^nJw-R7W}(oTYPrdg@_!$H_F@;*{y| zY7D)Mo<z}+dQHuHIn9iOBc3%Fdk~X8C!fB05wB?hZt#odv5rsfkUdJTSZt6Viv?K` zlxhEZl*;{532huf-J^8>5|zHkRecWT2flI#$*oV};1SEgBg7qd@ye-QJYiy*3t1fw zSphP>ks=U)bsGeKb5#B{n!84km;o|n8~`!N_}Azi!9rq2+(h!P(b7b|V$X*JOYw(M z7g#xzkXz=q%JpvM#<K#eGO1@v-9O;$AV@#?81J9t{lB5Hav$hX<0`$)G%oPJ(?nmi z)WfyCgZSuY0UtcxIi?Q&LiS_ehtZuvQ@K{Umo~rzq8SL4Kxqy4vU5aQ-Ad1^Weiln zDV!qJj!M8zFIu4kn=O$7qxFXgXV>r`?WTDt&n4#Jdk2rX$&~<mxY?~ib#yZ>p^ovq zLq*w>xWqXRV*G$F81I}B;<Zwv#s)?Ect6`GXd?sSj7A_dX8|s8#HTi`6%@!peJyp# z*d3h^lSNpNl%l=`Nm(md&`y@TcqZLztp}7EYvWSmbf3O=cf)h3DfYSBlzmCYuQiRz zw9$jSTbfvzkJEp>rG9Pn`P!)d^tz2+PW$N{1+>+pyv~}=c_&LVq#`A@)e8=szEUYJ zMXZ;>*h`OKr&5-zb5ROQa(z7zX6|J|0q)XXIINJ`ylUz*mj%iEzWbNl+v$D@m0gAS z%#EvJTkmA~+L5HYyTX#k^MA?n^s|rTsr<1#6OktDm*pA$FUx9`Zy$!_Gi;I(o^jpO zPH!F1MY3V?WpfcTbRXtokbnD8IpAS@=xFk5kIwn!QIyhNkMydLrpiDjGkO#m9GGns z#dOdkeSEP4ido8n+&a?b2uEwJ{zxj-5ed9AM>laiE=V6ilR6@SxDoV(1HWYlg#=PL z&_049Vi5SnaM~Y(z~Tp0U<L;^A5Qr@=|l9NhJni}YzU*zI_Xus0`Nc!ClJj8s)S*5 z4>X$BFlyBq2~;&}!cGp{6GvM*BQPwE3U@)^YO}eF<G_bQX;c>kjvY$Bao_=7m_)MK z*?Ni%rI4-&+%bf9@^8Z-e0n9)%ik>BAeQg`U>YB*&(sEX<r69X6wpm??2)Z2k8Ji( zqoTr(W_Qy=v~^wRTsOU!*02i&b;s{dooNyOj_ypa_&0B7>e>UpJ33Jsem$DwP9IL8 zRZR>78~4=1v<ES~2dx-wU|>oNJ?;teVljBN6~Ethq&@uGp(FYB#_#hEG=YETcA#|r zE#HB{`slrEC)(R+Sa(|qI@3oFvGoG9t0#_umG6r*-?yW<zMx&+j+PG5OVZ1}7--dP z$JMI{MfcP5L|-sf7tO6k&nNCUDHpoWkd}nuKO=E41p33s34kLRGtST>4iNOj#Em+U zkl7XlY9DfToz_0H6{<9tyIt1dgq7x^w;0Nubn7e^>MN&yHvKKV=%-h%(1Ry})SNbR z!n!sv)=`|eO#5<0uo7DUs1cs1rD^?jp8z1aY^6n?{f(zd_hDfVIC}~gJ3R9jy=i}c zy`9#oHy#|-t0vsGc2vnWXNOvy=GwAeeVU0a2K4X__UCc(N}x8~)$-oH53n^9cKSMC z&2_vU@cvoRa)AIjgOA?TO?Rt;`QEi=L&bEM!~-^KA@9Sum%7oD0a(ZDMmavgLR>d0 z{R!6bWCX+olSOjkD2rKaH|hxzP)=46RxuPy-!T+RKPu?8g6sqJ;tgV%J7oVKi48`W zk~|;2<fc+nay45O9!tXp>P1R8$!>IIonuG3yyeB3)XEV{+nEf3Dzz2(;^i%n;Q|<o z?0i>x2(nyGvhH2UYmjbt?@FZyVWsgvcWN<6uUQf5<fT3X3Xm&}U6Xji<7EfrV`^}K zddH-P#QoHPwhe+GsnVTpa7^fpV+JA<GUlaO9CP3YF|SEn%MMiMQ^Z`~je38o*R00b zN6hS2%rHrHx4kP*hr}HL4n-VC4L{Wj($AmjovVFz6mAzM{gPYwquW-83vDG5GLk;P zLlcVvmNI_WQ5rlL%pX*urGxcK+BcQx<Y2v|ZDCoB9uL;*X?u@Q;1H~#etL-73_&gb zp#|6OSZz!T`iFmgTX3x}N%2GV`r7{H^z~3ZHe2WBI6&2&e8O?QD<}?|9y)SyIE{Oi z1<G1U>81mco-)aTg1E+xx1dWb>|hIuW~jRbr7~q}3);z06F}U4q+!k!XR(SHQzOuB zOg?rA@CTi-7NhBY916U2cgitL_jB(+WryiOITuW2<GN^^zeYWW>BWkm*rdA*%CzUj zw;UQq1_1iEJuM%m7j6`PP0l7uTqGzS4U#Jf%TPjIff-(br}{a(CLO^`#^aH)ab_s| zcki3#ePEHly3^gA?!_xL<*@5R-e&Tn?^uUuj@aBxL69#evB$^a8lDs9!)0C$YBXG* zQDftJkjN8I;UI>L?bC6j$qk+byQkW)=^O0k<1_7pTg!0q+a7v7TrZjMkjJ}8;cHKX zZ^CAasGXQ?RTSZCflkB`uj1?mQE${SoydT|O#3uR!Yyait4#Y0KqtfGc|-^y30AaI zQoJ&`ZUu?g-tfR#;hP{^kYe-$%CEK~Iott8r)Gtpa->*1In}WcJ2mtWvfvh;e1i9` z#Uo3paJQNEJFV&R2t8j*C8>S>I?jE{CXgD}F<X+#5m>sEwX#|N%%mGD>7t^IogWYd zqAAL>PiRfmM#9o-G^HUUvBB%rZJIGsuUX)?aCS9VGz$xW+zxLXax%8#XzobeVVfCl zqf77I^Hb0$y+FNg-0=lj2n!n`&l~qf79mMQ@;Srz_P?2|CDn-XDZSCi8?RgJm`I7E zbbHh-7-uR}6P;<FgLwFqS;ECj3X<hF+ze4=dk#thS)$a+H>@$lPsiz$HuTFVy^2<U zFXbDJJzag5aOZK}ENDm_2FoAD9=27y@#t%JSVyw~nB%}-s{!)h*a>3tRs$5R(L|mt zivbD#TE$3`^@=1$ksJpJf-pUC**NXbJ@Hm(d@dW`sqYee=*;Dy*+!tvgJx)+vOoOi zIQ>3aZ&C#1<Vcyzy}3+#2LRtL#U~%rE7yd=$DsMiY)nJP=;iZ!FhA>d8GcV&yxvRO z$LL*aUBzYGFtIujDJ|<5ClufS;4t<pAO=8;;rX2;8vtN{k$I3B#p}Vvo-N>P-*Y54 z!eiV1#+0(SMIaF><H?=tp|mU>8{X@_rsMJYKCQ|^N*IgtKZRe@=VSFlTFwyaGfof6 z?>OS__VTFv$lTxh%9t086OCxoIK5`Vybjrrt;x-JmVBhAJWPt0E&!fO7T+VR0S49y zqw;5-+K<-BElF&Z^qrW1@4)1;<9h{@{T|HEhRkmZNR<pK-IL%*oSm^fawON>$si0Z z2%&C&c_qN)9MfNpv{BdbXy7-VrJ3XPDuuG0Lqjt4q(82)bkx5y>L+<s?M0)}dAc}W zFPL+Nyw>29G3gFvjK@BWx(%u31iiS|rpv6h+&=9&D{sT8_XKSBh`CHNCg^3ggtqkM z1U=a1^ZYG6nV=Wd8jm8+iFyh9dJKWH?kRMjOpV8<sPRNJxHIz7fQfoBZS*CYH4!ru z>w@VV;0oiyq?&S>Y8nABxk;o_kx%BSq$ZJ4OE}XRM)pbiNbPDxN}i;bEYMxHz}#$p z(L{IK9|t8E_v%w(l3szHOwxz>h1Qq#nfsh+(z;F=KK&VW)>x226B6|Dwx(_xZBEe3 z*!=KuB|(qPoif%OC<PkTzNO$qJ)p`q?5=mDv<x!Vs}EnJGYrgJ)xTi;S=U^29KhKf zdY*PB>t$(gqVAQj5kYu+J2UfP5c{PRzoyY#pj}Z=EO%n)2U#BraB_n|Ad&V_;H2n| zZ=8uqFf|YZ0(5f3CYefDK%gTt&5<OQ0gOaz937d$IC%O*mSpyZ66|N0kvAebk~t9W zBt|~Lj$h+p9QB>7SJ%RZ((=jr$TBTon2uStuhC~^kJpcFFU77c;UrEO<s+!Z6up)9 zql2bT(HnU7TFf;WuE0oj(1j^_sNX7nXaWx!sdyX5bGW*m$f)L^ic|Gq?=blm1+WGe z+J=)9KNS}7RV_Nmze8#*nTDV8wJ2<w9&0;W)3(sDp-LVMoG~+Xq%2F3Qj>n3rnl4@ z)TFA@(f|Iv2F;uf+F3Ph6#JE4lZwvJJ)4Bp;F7_q*J#J|TO-S%sz)1_<k~@tAmgO^ z@HHl3y}`Lf!$(GeWU??9o}@uD^oF*h)otWnS?iK>Ez1CJ+@L!7%+w>biw^2O6BVK7 z?{8`KOjLvg1L@#QRD{3K)y}F2(Oe$Ehv@lCRD>Tq$afYh!inQlXBP7LyedrqT;WXJ z53B);aQ}~ru(>WBpQVqql`5%GaFSl4)R(8ZFTw@=cOC3WI~d>%FX8637!87|7A324 zwOHggC+I&lqAQO)Q6uh5p{ldd>dpU~VrQd@55Q5Y+4`B>pAIqWLy+O~CB-JAJ|xRY zWz>f$>ciKli`jE$eK?0JS>T-J$kY8s%OhMLY9-77R#k;Msw$KYS5*Nv3BkM9`XKW$ z04FzS4ic*>G{m<{Rj3UDt_m|{D(tXjRfq@3RUw9}LJ(JlS*-d`R^+s*!qb{GbPndr zPW7c3b71?W`p|(n`iL@>ADXs*iA^#nP1=4LWy4ysvi+P5sa=ZRM%&wfHl@J!8_ia> zA7l(}K+jTO`{Qu?e3tD`i&M7G&9~vzfLhIk?U!H@R*yGJHuWH_n5#Fo&8uLe^tpPd ztpz@gKX9)}o#yGD!lMF8hjRVyUYwHV>Gf@!%G>B9e+<NjNY$fl1@RG+s&}v*Du=Oo zs@~Ps9UtEF_0T3o%9-XLlV$!JH*#AB^Ixq#e2w;-oMm^`Fall6Zs0*$G#}=_JW!cG z1uf9CYxx7&_RCO@1-hU1Wdr32LT{U%V0d@s39hzxtpE<rYth}(6WI3RYKTuJBJzfB zl`FVXM!AA5l|L|o^#K33D@dxWT!F2ias~4aSry=VCCe3fm2q(e!%F|h@IzZG!#^@c zx&m$VAG9d}h9C6@eYRNdmixQjrr`$~y*^it;5MfHq$9YhK75VYm}heuzF&Z;JlS@v z`NqW&+$d#Pe~_~N(e+#%!OjXFWPCHg$qiP3#IpW*_;#`WSs-BRzbR93I)c*x|A!;^ zHr43}LJ;wPID$f5lp`3~NjZW^cU>Jp;@7e=lvI^rT%xKBovSNHkfXYC1Pc;WWe7CV zswqcsp3ew79l?#hsxolz#^_Z|If9W)!j(Zff**D%NAQckas;dWr6cI<uN=YK;{SC7 z-xXJmU~qBe2nrTgj$j|QtY$fak;TlK;Nl3}R+%;7pOx~%*VqA!(-DNqD3&8Qx=T5N zzp(N314l5}PdS3jYRVDJzic{!BkhzUDAmHX9!N*<=_ct2Y}wFzDl`lA;N_Rf6O=5f zJi(h%ADF{m0RMMA__37o1Z_P{PjGLyRS`-f(*N)TZHg#QaIo-yD#V<oszT%*tUSTt zd&(0my+<9^!V|2FF)Kun5xPuy0=%WBD#Tan!`Ju({di}E_}AC9HJP+cd4j#be&7k( zS8??O^ZY-^{49Wz8;k>qRTqZf+odk_2LacGZ)7S?Pp}E#|L_FMraL`Baew6rUbRx5 zplwU#3A$Z%^#nb(NaL@djDN}~W&HI5l_z*mR(XP<BbD(78LP@FPq3wdtMTvYtc+iJ zf<|SPCuq$iPEW9VgYpF5+f7d}9v@krptc>Q<KhW!<~KdTa(qZn&<r2a6FkXhdV+cQ zke;ALKGXhPJi(3mru|<~AHK%)1<tZNYxv42mKR^XL3x5Rcukk>UwMMCyvh><ZPE+a z9+b^S5u5aggn=h8;J|LIocmBpnGg3D;Qk}l^w<Tgj(D4CzLMSpaAZp9t~djZrNjUR zPfU~DF5F6U4p&(f`oIpR0ZbO-K&^%b`7ksPg8-U+<30$N@w2<Rxx*YpA1bt2Z)Y3& z&%YG6Sr71xiBUxqXv|$nYd7mfY&lBkbZE0)Rof6u&o=A9c^i3SLr_|1Qn-@9-&dzb zTlBu#thcmb3&utxmeZpxdRV}B1LUANJ4Uppc<eh7{Vm7TX4y}1KBLk1GKvtj-HI_| zc`tRxYsyx=h3~b-np^c--2KNq2s)+vdvH_uRUSnmwqb(Z<N3ej*ro^Brv3FVjo*e7 z=bkb+KW*8jk8PYIS(+v~_=w5O_}7@qyCOp~@$g1Fp7O+mkrBrz?*6bePN_QQ(Wvis z%<1hWm67f6aTxtOGxA;Tk2BI`k;=$GPnV435BXmid7jH9Bh8+g89A0=W+YMun;H3J z=Kspb(Omz@$WBK6CnL*oyrA?>J=CjAb5*a_veNf2rcpcfI_2+2xFFZz_DX94+<x6P zWEQqu-`J^_Xu8xD+fiPZiF*{SqO67e(YyiEe0xYbs*=2Cnm1`9rn>wuZXGq;r8{yL zmTB>D=p62+T)0aQD{~#^xI?F2$j+~0`8!3~=ukqQ;u7oy+IPD!e$ns&w-su;;9;ZB z_+vIce)|gDx(Xi3`?;Z_Si_({v$6LpNK1F?4Lm3tT8N~B)cqi~{k`6;*R};`vr(kC ztpau1qxbNB5bmOu`M9+4!XDkX=vS`TPjDcCGcMKn>F1<<t+y;uRIp!|7O)SJCdPZa zjnq$scuTT0mi<mJ4f`4$={ogk!`J#IEl(On@6}gpL%ydB{=IOBQoqsjm#b5k^>~w$ z&(2N3zQwX(#Q}b#WiQzi!eL;yAfHC(ztI~MTZc0m=saNaJ_j#qs$`eiuML{OeR@c- zFh!%*7wr9dD4IA<{l~l-E$^rY(3X9Ap&}3YJf?FE^DR&E%OUGzP~GK}<|+bn%(~Rn zi7cB^pb6fu*Y~c;G%P-kt_+$_GxzJwY^&XDgw2ahZSC<<_*=cHho>8t!ybD070O}S zw|a=!#1}qNgVwf&THj2{aX{}Ra!S<l-g=nr@OzDZ?yZ-giwCgo7yF)k4(iQB{`V+~ zg>hdOrLhOm^z3{`hk(}lzax+Du;ylaM}zox&A)W<JK(Wy>w5^lx&Nh}hxAbG%v<{W z5C)qs{-raA^r))s-)cOkgju3#0kgPG!0l^GW!sSZ4<Gnedw>n5oc5@gY<mmh@e9ZI zm^1$64Wz&<Iw(JwMejV<-I~^um;O1XJ`O^oyU-h+y!tVo8uiEI(MY81Nd5_TDQL1S zx2D3j0mM|;X9)gyDlA0`lgtE;<lI{ID8k(?ixO5vX2apg84w05JIOJDJfOi$2gdUw z;!QU;P<{9sCC0kAu|2P`c_fI92y^Ni0XT4#NJ#ZtkHi5uC(MKAZVZ_*C+rUQf@3d{ z5FF$CSf-qMEU3#-IeAI%({x{30k3RS=&)Wv+qa#X9@bk{4#u>h9OU0%vq%INWBN4N zGE9?@d0En04)7dE$w&1V!i76EwMx~f^$}eDF}RvCSxK>eDkUG$i`j}`ozv?gmQYU~ z(F@!5l(Nz7vw9;f;vXt~6m7Td9~yKN(+5okaDvM;$4e@6Ot0ugK`O08=5~HE^*p8* zv_;}MneoTqPyXO%8;<G0+LXWP@iDzkg#{RqKz4qJ3bLnjq+5xQo!eT57@Nk}FBZ@z z$Mp#n8ntyve+#zvphC%s&lJ1v8q^BAXT4A813X^*g(IifB$Qf26v9R8dVVc#J?%K5 zw<?_==dv+jWh}<V`mBoC%875FYm_m?y)Xrz)LUr3J*T9TdO0z09RwtwhFTb3#PaSW zGPqOIso*JOuq8VD%}-%U=-M+{ehS;zmp`Lxr%)qWKO?`>dOz)924}n~?LDm*^&giZ z?K%ie#RqoX*bf|xU_W|(TCZr!lPw#SID<v))t^(3GvGG7yiViJ=#}i{FgnPZ-ihHB zXZUzJct$U0f8^(C6m>YL#&~*jMsMnM?h`)3aub~+ujyExqr(^U(pBOylflYf%gWw5 zj_*I)Blk(*wF9*g>!h?)ug16;t5hcCxu_SW@6O^96ZGMgX|#Sqe&=8sxt`FSi+U|u zc23XZar{qK|3TX2g)If!?&>+H<t2>T-ylru^C#szuNQ9Ey%3rz6nGl91UwCM@(ntQ zYT>;H;>*>LY0?f(hH$Ixb~411e=rSytvmHPuUD!XTExun56)c7j+cfc*7ZWxc%dFW z3~-S-d_R`b&ZAiRKBgQO^acU1WzY1IG&e|*X<rPC*IxKr>=pql+{O8t242wHyT7Ki z3woKrY}H-#Rd>vP^(7Ux?=35;R`%8fZEm3_^oI2FS-oD~2Y;ANIA<7>POofK>>Oqb z&tHU6=KsOk3-f3JqW>taM&3UjYUZ$Icpi@Y`~@w#q_;2g!W`qgf?6;YjRz~tMQXH9 zxP(VyXTBt_%Q)2Xa3qCa*30+|^Ec&C!3$o}gv)vre(Zv8H5w<U2vGf`korqHa#^on z+ihr6qK2&iWxJw}cK@3uUeRm2zo4(L=m{k(8I;260W=SIDnyAF)cz{YSgy{Xomcfr zwpL|yO24Xy<eu=%-EHc9T#+a=pekKMHOcXe;;vzb+16`%EBEL0_L^R$$#XM{T!6S) z2B7K46`}<YSv$mhQD{agb}UL?sVF{sPJ^%OB`Z8b(SEQvy017EKs`LsGf<18Ry~-O zNZ($^bzB2E{B_Q^wBs5aWWgWwQhAVuT=B!otFfdoIeyTmYisV)#UF6etp0EG*AG|> zJF|%bZs-kta^5%f93)lQB!foW(CgX$`UQvW0<=PO`i9=L65nYZUj0v550F7=iTE`Z z-^V76xYz1nfGUgSPbv7OUe>EzNf#SDIGBdt)N7Rcql61`^K<vCZs%>+ka^GP;!QoU z$ud`D49L;L46&@<sJ+3Z*U5ABWq{x=XFo(!UCxo?sNRoydoLd|A+{wW?HR59Q4cPC z#e+MY=g{fw<I?H;9Ajl?{<=S-%pdg_O+2GcKk1FcwR=z&JuNA!)1{wuPc8Kx-Tg`L zsMWqlwQpgb`meh*{ubcncj?+KJz8_zr82kmrHvl=x#W93Hu*$MJ>mUu-&^^3tW>D| z8&{GcAYmcavb@74(7W4cwM*Qgs5_W`4!=ud@90t5hTDW2my74O$C-wt3gG=im?9;9 zi^i_fZ3?}sH}m)v7Xn8nZF9DBA+|)^0K6;RRxl?Y^kQ$`@D_RB!>wF*Gbs8VI!A-% z(ZYLrb$iYnu1$3u9~5odk8a&Vzv<5}$vqtw^+_a^PS<N`t!q+jx;`S`Zte`DEsMiR zZbz~guE6=7?x*Wj{T`TgBu%zi&3{wP0D74{jPKr3)t_~H*Gc!8hF7cMaHT;8|BBWL zXDajXnM!}ghoB3J&e-qF1ucMF)XoD4l?i?sk+|d9!^kzqREtXI;BU0<XT55n{n#cb zDMOGKP9PP(xFg^<di=9qIH75AbJUfdou!9AsR%jMt6qf*t5W1cmqvr4l5pQmS$x<A z#Pmom8eMH;XC(x(^MgdEAfQZWH*&&xlTY;Ql>q2D7;mpYHyk^`A(!9XEmd)9nf5oV zDuiAF5A0V0BpVKO_;VCe;=lp&;QUD|P@d^d>SF4^!3Fn-p~&RiBM{?To=mVtTCA?& zd^Mya5(%l|DQ+gKb{Y+n65xsxQ)yhbnf3!F4MR9lnJd#iADD+N<f~1Sex>O9*gf<s z^}CO&3%^`QYwqg-wmUzVZS?K?`XcxHH0)QsE`GNDiZ<GM_~Mc*k}!aBs|GSI5fy%+ z7Qg8|wY7I?$8R`6-zq=a=-;@FzK1sYciBb*Rp|k@(f26s0k_c)^d9c%<oP?==yX$W zT(o!v8X&tN<X9o<0g?3zv_ESsVX3J<MUk3LlYU1VeedHodSh<1!7pFGK^u*}x9To} zi7{dbo&8;}nLUQXe}DCcc052EUCz);`5+C;&Y5y@c8WEy<#E<!dSKu-y|P!y;~|>q zy-TRhLp0MbF}`pq^eT60=0m+s8GC*<$;f~@M(?h0^H|ZTBWnSY<czs-CLVr6zdgi` z>c0O{#Xs~u+U<+9;19iqSDt*zoH=hsr!I8(v0ljQ?iI8=$+!adWJsnxM>@UxLoZ!f z%9`P*e^6Sv+`9EN2XEbKeFK$qYD2Z>>xD$sx<S#8&>_8ifmS`z%V?eI)A2|8pI&Et zT(}MHB)MtNFVXGCy1$mOfZjjW8<(qi9t{=7(cX|dA~}(pYwiioJs~Su?ogRVgN8nM z|MXAv=l}6`Npp6LOtZMxCC<T39?WFNh>l;LnR+-xjX{jOl2I)h(%#*(UdwX`hL)5u zZ~9TyBdN3M?ciHbc^R-Q#3;6u9nLAEz#xiwf>!>!v$X4pp1<xt=S(XJVRe`5ZbDpF zu)7Tx8p(oFTx{TiMqp)tFGA_?KJ?#xpQ5~vccZ#b^{|>x&tTpt?IHRGE}}KI(ojim zh1Ok?47*8RJw?;KGMJt})vE^noYzGw|F-AeAKvLhA>$@%?kz`nHOAcG_@Agn1}63j zy`)JQdNc2hr%eNkk(r34>%iKgPn&+C2kJEYi9Dw%<QW?Ky>}`88H~w)BHewamrjUq zW8GY3U15C{6HRSpGdm{$Q;Il^5YC~f7d)U@t%BO|eYjTmZh3;6Lw9zAcf=+a<040q zb0P9DvTt8gt-hRKP7BI_|1$pVlfZ$=ZL>Qn<Z~Q;gXfjduCwpVm-)up${$yj)xs>g z<pMSO341YwHtS#p6Th^{R4#FBnQrM`CQlh$5RyUdoPwwNG?~1Qbtm_~F#bGvg&O~* zH%Ta)LsDXDk-aM{W=0Ov>9A0Y=$nnZD(oQa!^>E5Mf1En<m$>8<pU*SL*wL31n0M4 zPnkZXWU+I^N{Hop-<3aWSh>%TARv~*c>dUomCDes7K8;@H=|Z0)p?<}PFVOBZCLWF zDBfdcKU9z<L;Ya-hZx(iaEnVjg_GS_cNQ)x`M4?HC8mvK9BBI%aMDVi*WH;mW%^pF z1*vCNh*8O;|0KbRz?s>^)L9L(%<D*#QqPhinmJBjT3K$K-VWvVIFa?12b7E!J0XrV z(}JYXV*v%qG-SR8S%GmfM;25E71L<dg}(e7^9!v;(#5}V?a;|=k~_9&%Z!~e%6ORN z9mDk)<t=n)dDjb2T8-zF{`BBHLaW%>YHDyP<ELW^)2UV79Q`X0CV{K~0cd5|7UPWN zo!gmtmoevbHX)h*Bnyh+RO2j&<ur!>VN&j7sE-9neKze(`(EPE#SI~876lC8eibrO ziw&1s#_T4-Zgb{rHs;5;3@{0ZOW9Z_$k}-;vYCP#EW_eVzMIL#n2#y*#rh@(@9ks? zB@?N)$pV?3vD|_NFtpOzj^JQut_4YZPIu7Ue=rTzq!S(ZN3WFd;+2bCcb87nwCmZN zL&#Z+$16%KUlwHDd&v2bUB71>XtS~BRJ5sV9it^}%Jf88{8@H=!KBZbU`1e)jF8x5 z>r$8u*1ny!f|S4Dfr?65mV+PDI_<g@N)Zqz5~e=Q7O0jJVsQd3=n_MP0lC<<rxh5- zf$uw->aN3i&giJ@IwOuMzlL28kPRXV+p_DET-aRtNCa}8GB%*uH`}ql%z;xpr!-eL zwJMzXS<3h_?_9LX);k>tOYPhc9Y;k|c3r=tRoXIUB}-D7esK$m;Z%JrNZNJ2-_1Np zyA}*RT#1J(SdCJtzjUCYZ}j2XjtEM9qdPvS5i4_L8pINAG^3J_p#fZvp*6><BeP^S zJ+-*g;bJHo-pVXl_x7Z6accjn;_Sc)FfA9^#J3ds78eU$;|M70qE;XZk;@{I@y@cI z)L!O-BaTp?W?A>OAYYcMqXkJBBLMMLoLshCOq{MG85x6W9mzS22<)Ry;Q13g0Of{F zUjZp?rLUCrsnQEsM^f6pWg%pxDlAbqqf)~Cp^h-lIf8;%+M%*_P7y_lIn{v)Lo}*y zq&l4bfN}R3ha5l31KN5@cRM+tizH47?_nx5m63Z*>gP<Yh`pI(<u{c2FK)@3WrnZK z3YR7AW+oP5Mv}%LIe_(59$u@&q{&=;%_2F^?8UP#*O&=6%Sw1D<2Nc=Rbe9&V6~%7 z%4}JwMze^Mm{OVV?zW~C$|Sz9Ajya<D29_yvLGq&cngww8mu6m$mwMU43v+l80{=N zsk5dQB-L8Sf-bQ>%Ue(eLq#n}mSP?YlEv+2LDC+cw^6OZ^FdVcJ+A#7pxPo_p^0?3 z@}GQ<&Xub#*nr-H*&4Jh3Vl1Pj@i1^a&s1fFXy}rI`}SaY${isDU3sbW#a^_s`Kt2 zH@5_&Y*n%hrtAbtvq+^&T-Je`4zp9_*~VFY+|{R9eg0}~mW!0&Hw&u6^4zeX?5wHN z7R32A&Nlnmj41uocNQeeeT_w$%2qJng5nsOYC)G68r7PTGW7}-9Trx`sAoYkMnwyf zF^aXO^h`Z0;nh=FJwsDE%K9mb{a1;@gKOMf^YT<GmnKk;8(OIG0oMGj`oP&}^YR0g zOOx2aIMD9R>7)%}S<6Vgsq_T1Ntj|1zsX8iTFaZiIT2@tk{Uc=(hkW=SnBeEqP0Ar zROoV(wtQB)(JaI|rbV$PsQ$sVR%R*4gictHWVg?P25?TdSdfFEl@=s(HrIk={u3?e z5>pPhAgRYb7GzK5zz!DZ&9XUK$r_U281OceTh%{cmJ!L<*a)R{rExRC7331AxyBUd z3X;_@pEBP6<E$|UV8k3#)`AD7kC^+fIZeQRVDbwjm(?YamEaC=39hxk4|UjC3sPG; zYr%B&X{JBM32{C?u^^Vy7-a2ilX-}>plA+j1j=Nr(Lc=iE6btUjB+jMx+Vg(p$#Zg z6GgNwC#k4S%qscp7tQU2UL14Bzw+|9H!7JU2{RPt&d#JKZ|H<ggqFVkm~9(_J?;|3 zU;|9n!r2))B)~I$C#j+?x@y->&}>~qdOg7!2qz@Fdt*<~Z@LKfPQGnghZGjC?o<_` znf782jpN^~d+4YT4Yfgg$d*m?*0SxPOS!P{CJ$xq*iBXQU>WF6HW5)|??YMF_`aHb zEHm@r?5}?KhC)5Wa&7Vuy5k|{mw7VSWGLH@j4&xV?&v}k`xYLDqtMSBp+(un5WVve ztY;;J;swG{9k3yxP7dMgb<>;`*~txB=3(ldLo`hAx`{-c>-xha2`gsfVHB<MVW})l z!A2M&v&As5<pv^|I~%7d$B&?;+^l`iLDm^Vdm)ph3~GlYy}aGLd~oMJQt|S3czaRN zoT9v6KNSfb2hK|z)=QXGJg4_Ije6%4!G5_F36^4*q>I@*h+&d-X>>3rN-Hdl3g;44 zwabktDwk+xySYPK7(KCat{7{3#%f##olEr4gLi0d3!{E4O3|JoOuM<AmUyDX=542Y zo}!niu$|}K<qKoKY@<23MK29o<uY=MMp}byTyCAUpSMy<9?@7^wUsXC5uLQgTdAU# zn4}%qLfgDR-)#$ddy7!5$QEkrjij$^rj_2n581rL2Vm*V6yXE#@Fv>sBkFk1++<CM zaIZ8+F#XL`L7S*yUQtZT*ht;-iaOeo?{H7NsHIizN|*8qKmYFc*ly%3$SaO_v6|Vl zjA3Y30Oign3g@+d$x|B{tWO+S#9%Lg>gE#_>^FP!Tn$#(<pkmYF4gH@(b#;VYN_W1 zO*@m=Jr!XHQ;+&TS|lx#(|A^j&gT;iv@5~nnO~IBwg*$y{Gwcm#tk{5G8$P`-0PVs zrE#>W!8AU<Xz#tPv58&F*wu|GJ-;a8H8z`SlHysEV?k7+0N&IrVHftQO+!>Gvy?;j z*Eb_ex~+g<4qeR|ZHen2ME&ieT!Bwj*cYy0fkCvvF3J=LQeib+!yZ?mUpU?~2#qv{ z^Js#tkhyNJ!tzv1sM5$qlyz3_B*`Kf4fDI4sb(cqZIL;g{g#X1k~6V-Rb)ZoqIM+B zSQ(|pJo92fnOajbwK|;IekcI$?qC3&D<F<&7rIeuLD8iAWV4=dOJ^KB3!2b<X8mZx zvrR}@2KC%c?+S{Rn$K>E@)c2D>v+Ksfr+R~#@AobW?#`wYyTDHD1^YmW?&izzTQQi zmGQ!7Vj)r5&*PNjfVn-ywoi6b9QLt#R_>x5l|Xl=kZ7TWt)=pXMXdO34c8;Ne)WA} z;i-MLhRy@8HC{s%i{SVEYDz95I(p1rjhWG;u2iC=$WQNzi27QM)l{!2D6X%fWkm(9 z0*|7!q9VT*Sc85jDrzKLxhh*s?xLmG8$4CH*~wZMkj@>06p{ZOkV@s37@zo~^k&X3 z9pi2@4z$1i>7<n{PCH4PG9!^Qs?vbB#0w)Py^)X=;U?!kKn6I+*s}aGOkzA~XC<<f zX<yw0Q>P`AuWlN%OsA*?Np^WGNDAd<K^d5_#PnJ<GosAhuNEYA@Ph?OpM45YM6wqT z)Yz7|Kfr?U0PQ?p+$sjOQZ?#dOgzy%=1|AtqP^Cm4(%u|J}o~En-82uGzuFevf6cz zM=n8yw^EqD=&tSGLR%|}aJ<STJiN$snQNg%quZ7xCBzWz$!3ZxAsTpIe8sW3m+{4B zHn2eYxrC@|YqM0NA@|&UsbY|*lJ5|&x|_#~{^cW&*gJu(D@7<NNL0<!&n0vf(dCjb zmxe?^rSN-i3C$~o<|(=<T_`1rB?O(5=3<UD<G5?(CsDYF1(%P)7GOqAaKxN58_mH( z%+f0?cMr&#`-<^1uCU1@%M-a0%L`UUy2PdkgIg12FtR*j7$23KU=2@YvF<U6GqQ+f z0asM`X#voUl?uult)>}aMOFk^=x;AeSx~H;0mW99e;YHxnZK1d3CNW+g)=IKb(!!! zmVJpy+%PNkrHo&#XsuqeFWc@wllBd_JBndE<A*aX>rPUAUcod?na+|5?zvT<WH+k< zjV>*k7EDazBEicOQg-un*NR1SwY2E&QE!ndZFyhfjhcFud}$ELvV~g<Rp|a+*v|KL z8ByP3g2Kp4BdfizRm<b;LhiSaT9<`U99lp-`M3K5@(L7X>z@cT#eBut-Dg3v__tV) zw3U?>#K{_S1Knv@pzv>!9BR5-)&Y0OPq3x8w}_XrW|~>hD~9S?&_0GLAfao4Vwr7T zS$B#nCmh<IRQk3Yx{M=J=?(wZNd2Z>d7-;&#ad8E1+iM2)SS{Qh=%2B@oJ(~s>8mK z71M0^J)XD(6<9-#ilV2sdo@?gNUw1DGP}9bAF~>DvI*Tf;GQps=?h-3QuQ+@H*m6k z?p(zUd#K-cyCoAWA9G!4bw@Fg`Dn9>t8l1acST~lhaX)Vh!-nqU}e$YV@0wmI(e(g z-<3su5e!T!c`w8shXGZDr^l<=ilRzk^p2NS0mU+4Qn`Jo<Tcr)Si8*5YAfn{2s4`1 zJ~YraBypS2nhI5g=V_M24MRzas0wQ_W+@hzyTN`o0V9%tNu{bUY}IL7Igp3XqH@(l z`9h~_n<dN@7fa3^4Jw8$D5)=(819aR8CyMcBczx+eP2zqv@M)zt~8gaE(T~98dGX@ zQLOAQa^C<qbR+X3EnYH><`y^x2EYX<J6Nxi=z4Y0T5CFk0&9p*Y`3Osl=d55yW3nt z)Yj%qr(bG_GL=%ff?8!>&_|{=P1b8p(BYckvRPEKrl`y25?2#;bZ8pwtSS6$bG+Q? zYE6OT0>6{3mZ+f3olZfuL}Q;fQ=tG(Ty{hz6m-XBs%SsAO{F8X(7SCtmHcXpx;ZyA z=YGs7BTq@{QCk%7no&q~h8)~Xo&J`l*A^8T1mEM<$eUA>?OoCRZ_v-oKwVFl#$!IZ z626ZcfQ;mJ>JsFoTqCOPqd#klk_oF2#axX`W5*k1m$?-w*sozZWTu~fNVb4hdnVhP z*55NOMYPVMl?_iPMQgQZH@Pa8HfjB`Xt^;+Fe)ixtG6KAgx3<6A_|>w3L#qucgFLa zh-wgJ8*!d-tf??AbykH$7w|Qk92qgY1x2$gZ>&D|D=h)wV+)jm-nAf^l}i@1lp`Lo zAYWF=9t)C++h9TQ9JbVgq_SsQ&`l0QnVU_x?$!YQ&jMvHzDIsDP!1rfJ?G3JPcd9J z`PFI^Hr6pz3#QX3udvhIx*~g-eu=1Qcz+qK#s`}^D{sd<gb^tJm)uUC^)Q5Zx0tHd z6Rk_;O=B~Ux@h=pmMsoUi(8zx-<#-fQ|a@1VvrV_KtA<FNA2@1G_byCuGQH>d+UpE z?b&8}S05v<9h)g6SoFymzK@IRqLG+`b_9z?J_!>c6L;033i1kb^hA0eEQ)21_C*aa za&Do32BMsHZvnMxAextadr)%y$9VIFt1!P>==CYM<rdXFVgi+JC^~5KHxk|-kI>3& zq*D#Wcy03>3U4Ha=NQH7Sef>w$&}Velqo-(MSA6^A6sx#9&C87^0f_1_w%RN+|Kdt z21eD8sL@l%I|QRnzj4$$M6|7O3P<6U?2TCVWdI{nR+@WLy97lfkEj!od_S~XcRY2x zGCyai!v?w;B1&r2=Fz_)&~CH+rW%{BbInkYg?^euLqnn61@Uw{6dC$yJ=JK83=LgR z35_vSF1MbJHx?n<@9W5;iRhOz;gHhqH=5LL<-MaV38i*tGC29zT9lzQ0P`8<RDO5L zXuh6)ZGuL~Zw~o{i3ZiSV50$FsKJfN6?Z5sBIWy8T>429ai|A-qyENi!!GwXJi*-^ zVWN<Bbt0_@69cu5{m3I+_`6T0z;Lmxm~TgHG!NnUI82?48_wj;>XdX&{&qM$4;S@v zRz$n!NU3@Hx{Zc56NP+k8fT?Zx=Xy@^6S*2sqph!BazpqFmdjZduR@j+KBD6wW%nY z@b@=7sfLDqfNTL$62a0)SIBT|47r3nr7_cUjN=S4f!A_brBc>1pecaQ3H`H7;v?~3 z`(yPPb<_9-Uw9v!Q(><hWVAm2CNtSP*^xadGB6-0Is6><_t(JLtzJn2TkrY=)R}(8 zYx+ebJ^i%Tbh*Xk@njm(Occ$rU>jGxQ<F7ZkSZ`1oMjBbDZpmJH~ht3nGf6&BSj8j zk<%H6+KAa%Q<zysQS)n)kynYuluE40=P0*Bw9_giQg4T-;`K&ult@XDX$@XVpE*Ra z((iW2=0hRZ@=A5+K08E3B`<%Kt?868ZVLVC5LG>CsZ>VPCgYtum531aG@oG<8zF+V zt8uh~e;3Emj}fAc78*yDnu{fxNTB1*#q=U|S75j03B9)4qr6ec7gfpobB-Q9q`oag zkXC&XQ46s=_W>R&sWbU~hET&u*kj@*8Wbr?GzmeYiM@bNe4u(Oj}AO|2Q(KWqwod{ zuB_%)7@m0XX`%u0N-#e3#e28Qj-!i_un;DRz&$S!b({6@nnp6O;stlbaIg(G@A&fZ zi~(G3L40Bi|Dt>|?fJ$?KH@(2wUWYp`E98v+;=nx$wemhjgLs_*aKp$MRJ+;)rxpA zLtI{&_7@6+aC8iDf!kP$ixLIwV`ZXD5Qa}FX7#bOB1)7iS?88hB4&t*Q+v&AKv`K0 z8b=SJgn!L(G6^&PuaQb5)}o~iv<n!3t9Ohq`tZFrL3|{n;eKC8Wc2@(>bJy9*4Z1> zrKK2LP6ve}IlCiySkNO|MDhzJEhvTgWi)mR#&IrCYbOq(XD!j%)E`9ETZtI$=Yf>c zN|Y+ob-r17xI|l-Ksp1BCBTivtl{)SD-m3z^FVHq;GLas!v`{E@-bf<`A4}ISa@+` zo_eskO{=B(Pgf<4QZP=aIy^ni%v+GLhcSG763b{S-ejILMqmabS_Ehl6KGeo=vp%0 zS=Lw7JY&WJNN8<%w7)uIqN|LfDy`u!t`DGPtwk5jcM-j8Ejk2TJIw@qF;P>_fHPwD z^%nj~JjJyUgKhKrYvl7e=1E?(fs?zjfNHlD?Q^D{0$uV|BYpubX^RRtr5`<RD<T4( zp0wh}&T~!oq7yI1P^WfCcSBz@-8=2j6TO>CLG49*+s2GHG^;%(WH$Gq<LyO-vaeU$ z+#V&%1Ebma<YYH*{P{|&x8Fe+Ul`<zNCi8HYTl*#K+#FDCm)UAN^S2$ojQo3xkj2~ zUp{?9i5<{8-O-!UI*67&-FllPr95+$-c-D!D3-s<dq{3PoCnn#_woOnac3U2?ucIO z_IR4yQN&j$dralhVJyROOx(W{!ow7&5_M;Ay%7`;BZg}~^rWRRBC<m8Q5A83v17K1 z$akwaBYv{d3T`!=ygG?t+T$KHrIQFR7kh+5(0HCpQt>9b#;a|G4jD!nox}(&M-S@T zS@hRJlIcQc@ribQHr4GS+U1<beH|3rnAt>K#9%G^Y|7SE^sybm#Q)%~JiSb`t1HF; z(_-n5t|-^au@n-EiM+dADHXpybGx!zJLX7^^5zZ!uF!iL3zc>MhgDW6iB*<Q{?DC6 zCAx_zxu$=|9M2lNK6PKXW?e&VXFqz<4O7e6hEZU5j6mmj(eUmfAfdxL&LC#=xl>o} z0lMQBaFF+%@~w_$VDK|H^Atw2TCx#eFFQwOFaODJkO2+J4^ow8lphrmB%Jzz8=Sg* zr5TOupHc1`CgCY72F)W;lDb$yvqLTE(lV%F4^cRwD@R7QZm&=y@$Y4owTGK&%3Q3) z+Evu_mtND(%Oo!tO?VuL{hrefN@@&#@M{!;I1zX=8~H<*5U>&!7Zn3ytfa~pZqC(8 z8m)8&{n$g4Y8SmlsV$9Dnz|B>4kM8-53q2TIBpNduUISx2NEIs-e>+YJJd4x;8PQl ziR^ev(LF^Suk6cI$}&RjzleH@z+T~>yRZu}*#$Auh270XAF=cJfZgjSuIwIJ&{~%C z&J!xpOB6_$|E&x2SyuNyok_MlQd*JpxgW_=6MdOpi6Ao(&LVJWvh=R9tyHp|GNu~R zPD~B8x1^A<n<ZGFWKtIp>k@Y?VM;a^PqSm|BLHkT#qR&U(mP>?JhKAXK5nhsug%iI zDMqwgE_03j@_=Ni%8l{I`*3U}IVXut=fKp01*6<0#Y#y5P$u(!iz&9`;(bS@Rfp}S z?KK+ITZANlp67;eQqn0k9$;12={ydUc|qF7H#y&CnpcYQt&9>cWw_8=<_TGrB76xj z*fz4X6*1GkiZS}gd|8-<z&sp{V`>RfJEksF`~fmKzM-@wzRcYEb77AD+00HfBH&dK z4#t%gK?rjjRf1EOWC@Q=lTqmfGOt|n?4~_<pR$w?POdDHqs@IpVATqU!6{`&e%(f4 z>pX^wOpy=xN7GUJzgnu|d4sWWKK%`8eK8EX{D>;`MOVAzY>MnFiU-e!vB|QKk*5NB z_#9UnIHqTgoXBImaPGEagb;@mqrOoo262jkNO2=l>|7CXSjTG7OG;VjPo--H@T5@Y zsGLSNPPsR7Wc-UocGe*0TTO_)LG{F40bpTnDVC+Z=oppnC;Z%dlB1s}T5jnP<jc<U zn;~4n$=K9|Ut<^05y^Kr`x5p!Mk)O;f+=vBHuV$b@*X(K#Fu0-GX1Tibibb{Q7{nk zkfq5BRhAN2b$jl<p(6c7Bkyq-Dsl{&nZCdd>@NZe40$M{bTI>2exv+d`n<m=U!bxI z`)83$#6RxPuN?Noknt|=QDHLPmOB(M0AV{+*cvlTG8}k^`f%6~6?WfDQ}Me)pL1Ac z6;|9e-XFK=SA>;%@;mdxj3gJ+XBVU^Xt>yg`KsGg^%ErWnIyEY+wCHB>}?wMi6~v5 zp9&jehDqinZ__r8S4M?3bB*`QEqaWwQV$*|=ChdjGK{I9<eaXFEWSl`2O^PWlF<Is zS1!!k-=eVyE7i$NgzJpqsS=rJ61uV4v)`f<AWZNC;j~+$_<Hok{2Cl`oyg(GRB@!Z z;&w`0meX0wghleh_o;2%MNI~2j6b>n)dG&@#zv&-((-pn=IWvliS9hBG#kmv3e<z+ zP58}(WGX`}Nb>3dhz*}Bq%0qfup*yRfPLJHLk?urCZ+%#KN8^9Y!?AA7Q{~a4+Qx4 zS62a^SdbJT9S{rPi#~!=fFfA}1nzPX;OKlL#2VP}kp^4@NJwM>X2TX;G+?om*%)F$ zQh*+SR5KyLVN=<+$vyOkcDk^RFj*f@`H=O`NiKP3&I#Thu+}VQlJ$%GrdX2K13;X2 zZo8a$FCiz8r2s8m1vs6m@_y%w4+ZG?kpKxsDyl+O-lteBr2r!>ND9!81wea^VFlXj zBCyzhQ&pbRfiMc*gf4J{hWn$!EGF9gEHNMbsKPWJ4+qLCHk8)dZTZqgZFW=Y`Ex#$ zdi$)8)OH)SCQIlGznG8|I_(!~I0PGj*8f6X@LOO8LLqB$lTjk8z3~H@GeiV?ok~{R zCGwx&=*AG?SMU^P1TnVlP=O&F<LD2RYbYxH$)9Cvab}pz`P3h%1;Q%KRAK(Ei8e8- z3{Q7*srBH*iru8OLoo-C>gB9De{NUI)^d2AxyTSKH*&pG4{40QG~**ZWPV^T&mfJ| zicI9b1%+_b>k8s|qBHp95=ze{WnxtP4Qd)EiYNS@$0<;xDUf75FGUHoo<{&KjY-*$ z1?pf4)PtEiED>ZP^(<&DhgGzo5Qd6LnY`^Iwz}y2r)%`tFp)o@#x)46xXOfTWJ$SM z&PAANy*)=snemw^C1-8S^pAA5K^ZlNt+;0@tOv`GVnLEgf(3;X=D=Y9VH0P}zPuE= zk}2QJs~^fYGq+QVx~qIuO!=C)%6DekNAkT^*39xfx$7!lx&=x3u2_(g?-)SHSK3v+ z#H&hwKVA7yzMpWC+ibP^oBEatn8L0BX14@>SL&N(@cUT4$SnCnEg59=>J}vBD{Vna zzJf}=#LX_{d-aNvuhK{IRmzg@h?yVB;5s+lkgxqr7y06*ex$!OKTD;t?2FL%&T1xR zSdf%2-hx7~=?AOW0M(2|50j-oquX+^qyOhMt-Gu&_BLkdS`HOg==2CQ3ONuN$}ee# z$@Gt3rW_+h`MRfXa|#FLh5|RQX<zG-wAl=$heS?hv^0Ku3sW~T>0X!VQ$#P&kE3H_ ztr;ehE_s=@AuO<r3TtJC$+Uivc8V9_Bp+5n+7)^~5{*qYj3mrbpSOv*<N9jj4!5jO z>9bX)O3~?Jkw#7aNUNV))j<X?xn=4&-bhxT7{$9G-b5=P+8B;cZf5+m@o%KSa;N_l zT0IJ)Ea0<f$^rbty#pyq15=dNS)#}!uP1&aif)M_gJ1sS6y=fi8DylZPct`H06~dm zxg&r!*hA)F?nMe2jn>7ufIx0tSRaqFJ0<HOB{TE2a3;7wPaAp4LJ>zBl|Pm&R@pqS z?6$E4kV1x8lEoW!tpF)Rg`e_E(WbGVhG-J``voOgsH<dQS&|(#^C6Rd%uO&Pb90q! zX2M50+pDadCELooSeTcLzDhxy_XSpf6k^(sO0wTRcabc_lx+EV7oDx*lV++k%ezVz zZc5f^g^SM8Cw(NDSC(YDC4ef}n^I0$D(cfz&z+k}vZk(*EjzDt_SZQV$zEn1aZEN9 zER$Z%J^?x_HpNA<x*tn60M!eMVx7fW0?6pC6vUE+SpiaKwM@xwOjbHe<f`=i7Tt~) zfdQ{>$mC34^#>rBWU?#ehFcUkRs>et#$lO9ABO$S8=UQR%~>9qS`S&P?5EAVOI+kF znle_@DtI%|g{=n@CS!Z2jn?!O_JTJt2tjV_f!wFCIwDuk(%Z2Zh1~dorNIp|5Li_N zyKok28#7s%_wTs5h3XnG(y9nC6F6(iLraNfTJ|1oOhD3E<~Bq@th(M-K$?3r)YRSr z*Rs-@0b&(g<dJ-e{TjLC>@Ca$xRGW?B*Wh&4)ZY_`OHCjF;2Ypvaz2<R{a@S?F^+) z!rsw*6GWtzyCL<QfTh^f1{6I>L{Wu_*x*sK0nM8%iWkU^h79R{y~ZVW+9?%#`b5ND z5lmMnB6hK0j@?N+T3<!<P!V@yEyT&T<w=g%TPs(e!V?f@TRp|mD-j%9*HaPmsECEk z;ggj2_Ho7WlSFX*rY?Pxh}iY&%Gi14aygm1;O^DoM9O%5!wrCy+kwYa>|2vXil*1$ zSY>Jc6rLZiO^2rlKidUd&-U{a5v5g5q@byym)CnNvT%H<&+nSiXH&7q^5s!FHB~h7 zScN<pQ+rXKX;=sd>P0=LiE6Doy>)X7<E{9PL+8!c1H!9kI%mrN80C`Ss;0c*@H#W- z!NoE04a^aCG#PU|>Y|jh7u+ayvM9P_x~T5;HxHbw%oJ^k3oJ!B8Z=$h)DDJIXp*Q! zH>X2^vuaT5WB^5H00^r=<!6Z4GQU;F{C7%we<!a!IC;sujxDixY3H51%2LJ*k=LsX z4>>G`QDMxmyY{$=;<afelHZ5hz?j!#21Zt+H#5P@j(7dQE5ym`*O!Wyr;}H;vrb;+ ziiOAlQ0P8Qm3YV5E?g%yX08><Gf7m}{2DXs#@fRm#q~fExPB4DIc!aZXA93VO@k!s z9!}QwzZL5!Ot&bN_CD=oU4*927XDt-F{|Os=C%-K=tmc4^R~zk%9D)MBfl!lu(9pO z${KaW5Tq71Q8{gGQf17g@!(GOF3h5g_)GC!w!q>`Ctdiqnj;E%RUG2N_xFZQzS(Kz z929DDL#5~(Dad8VN-E1y0BrdxNikxI?yKl>L*)HWRdUi+=Qf~ADUi5xMUCup#h}{0 z(_BI?2J<rcB006_RMnOYC2~#-V3n#~9s5w^>_xGBo7-v2^9Q-e9~rFVuQCq{RZr_n z(eq%FyHiaE%BvhaoQE8YDX$bsDG|c6XwmX6*=RP<MbPK<=+jiO!q&H(MmgtWUG&;P zDnB3jasy)MeC*d4bdVM@f&w+VIbX!sg7Hy(0X}{%tI^yAAc;IcUo8MhJP`kIh#x-M zEX2o=G8%2?kN)_`z6c+l_~^|ayGm<xXpv}V>x>WkV)1E0!M-knHT<62L$hJHd=wL6 za4Yb8SjKaA;v){2&Ai;V)IzRiAdZ~TY+ylZ_PjtfbLRRctjO@*XZZ()G?`2QV&263 zf$`#7H@@yr>|4n*$zU6THkKE)Dg<a0ute0dU8yT5b_rI$KC49Amxw9ayB$=OM3Bc> z7=cl)6{Ri{74xQY=N;`Oww&?B4ySP?|Al4PV0?i@K&~y7U?Eda=no(2<g-i^r9w+Z z`Rot3zsU@pdS0jQ%S3sP@24U)drO%bZCWb4Y+si!)A(g6)_Rvzr0mN?EA9F=>a+~p zccW)vxJNO4ecNaLk~GpbrGh*8Er+m&x6<I{AlnG{Z~WOpC3|T(l1(XYCYy7G2(S$) z?@m=$i0JHFv8DiN{8^gfd9#fa;njY9gog+1%ixEN8_iV;4^|+BF~u}`wL&zvbuQ;l z;VZ=&8@931?<+-HTQxt8aC@yiH=po`dc}&&D5_ESRid!=*EckNl_+9cQccjZRl-qV z#3a}N_8{Q(OTKPV_JcNt(?6@Qng2{P3R^AO<b2-+G+3(~(u~%w7TrDnXwUFPqx42h z@>jg)-Y8$mBD{W!omDtJ#QdJ)I@j1WqEPmiU-NS0&So@eji_jw5+rE*8qvVE7vaMu zdDux?D}qb?GM?=)YM;@*iR(&rL1x3~_s~zzwW7c6bKJ;!b}jaNJPo7bpNYtvyVwas zvSnd3>NC-`VwcZR<K+@{SU?ZnRT0Pk;zN0w3TfH<OQ#))TZpQDPVYVw)hh>@m=NRn zdf8fF2^kOBtOetABcX`et1$I&2y^k@P2JXsP}})}a=|>>HVz-VHep-3_j*y)Rsqob zjl!M}X2{I`jc56p*^zbh>3T5x&cuWmQ`h~6nKx!2cw>agY}YQutQ#(e#j1a_Ef+p4 zW~F>uaoY@Ae`MnY_JeklwVBVw*a4zgxBZN6eGb+gOiYN8|Fi$F{>=9S){S>6)=zOf zK(fY$G8fkArmIk_qYx%@ZT5>Q%MJ$T`qwqod;?fNl|2OB;qb+p|FEux-G(l?zPdxP zPDH;&vaW;=XRax6qsU{si%Vd^v8d-+X&}sM)N0zl5v=Bzm=L3u+SB1$nn&#)u<Em2 zvGPH3lGPy}$*Ps@Q+(Jqi-tujV6z%OoQ35@V<;yWk<!W^h;+k!CB<$Qjck{^HCnS- z6t>y&y3;|#sXW}9*X4PWVKmo-CIGSHgnL7-+u$O%a=pmbfC9IONZTtfjS`1?_!Dgr zh4oxMIKKDuaF6=72@3B=-djQC4XFE8Y|Yq*tE21Ja&K-MgpUl(y{WAvJ}%dCkF;IQ zt&x9icih>(P2}@m<&XQL@OV)Q?yE_{yP}TlUOrl;{cZua4$*2lJ>4eydR3~&mG=}* z)KtG>l&MF(w~HoKUe=OJBF*GuoM;)06KLemu}%3Kv+K&Rh0d@ob?Ewb5ma$PT{ESl zNa+&>PO?=X^{%)sYU(ln?nkGmjr}9jexaz1s_qc+wy7lqZQFsqfl-I<?+|6QTnUux zOYH6JS%><3iFLp+lW5+T*t&neHa+<gdiF%jTsuX>Vs&b}@G32VNVH<pPmdHvx7yTy zCpJAF&!N%mouWyNQ#CcWht1(#AlDXrXWB~_wz-{jD*)l}<{7>pRzxUv1SECCZ>Ify zA>6ILOO&={D=w(qE^LdeUyGLP62)!Zana|#U7}d|Kaoyk(!_L>G;R?+Ju-)JOJT6_ zFX|F7UemC%1Q$)zT=JEuP<>zx&F#@r@Nb2WO#2z%EdIp`f&VzL<%q_3q{7bxkGe#w zcZq_wH4r8KE772JI(od1E+B>D_{g+}xTLTM-;Z`9db*P2K6rd6+hv8ZWP_5vuR+;% zW6xW!8dQC^C~5m1yP{%ti(<udffV+Dea+zY3cTbVs;CS$=WnxVw0O6uTk<5j#4O{Z z#UR=Q0QaF5%*xW3f;P(74M&3;t0~VO;g@5lOh^ojp&EO@bzpVsxkvbG3&+ybJ)(nc zgwW{r9#K@AGnU@$!M>LT)u{T{7@Gu+rOscYpQMkaar~PePs{oDU_5=xzf0rkC;lB7 zPjC1)I-Uye#c#!Us>i?C<Eb<M{yK)n@o(A~TD})&-nx#VH+vz-nD$im8&N62QAry0 zvYmXi4Q+oR+!TIp@>}8NkvOUlE(bEk;O!{1>LC`vEA)~<kjLHKB-pD6GUYp~Na2Pe za1U`a3BFbYhb)4<il8I2NRT}CD2j;|#bQN~%gst+w;~9(2u3Ob&B@~{MeufqnT@uJ zz{g!Th1jJCzO@LdDT1QyoD@41#aN5Nr!o!MCko`MV<9ps(L6@{v)yEJu@dcM#9j-r zqY_;PqS+`5ky1%2>!faJ^O0gw!y@>U2_lm(!p+9136a<G#c1fUbtS62Ulg_3Fi42n zFUooC7-@4Gg*}6fvpedG%_C|0elfD}2sbuVv@>XXRZEjO_Gza5vA2!#eJkE-UU+`t z07k@_`2__X5cLv%8je(Qo2gs}FtU&%Swo7uIH0&0u#JJd5y___l4=``P)BiRT6a`y zMLHUxUelXNSV}WkB5E-LXPJG_&f+r3nEn1}XN*{#C4A-JeMfKIxQm-2E?}G30aTN1 z6*S6oP~i5{;Z)|J_(KbRM|r;!Wefb3SD-5_Z}G-M1#qH>bg>t;`VRZu_x(#tz7tjI z^|xrk(eHhQOTHaR?bEBj>{qvD^<K!9N2cAL8yn0|hVv0Ix0B&}s^bUgeA$ySzY|4E z?&`sEhF@|djk*~L+s7cf+fa59?Khz+tTjr6QiDS{bboOu^*<#1T4Y2)rlj!n3`eH; zmA{jtjOu9_4zFFg&jUo!B#knV|4ST}l6!MYfjbEUk@*z+c1eCVvtTMB=iV4a7Z0J4 zZ}*no91;%CKfIlptwW8viB`1gdr>IYSM?waws@`1<xYpc7xr9BOvEH0erCit6M+lY z$UO~+ZYH835G5GV*hCZqB9swjOvL+~=v)HPB&UhEn-dS2j|okDU3^S6XyTu`*p;d# zi+G-Wr$09n{8b(~lJlXwZ5PsQ$SL>L75f4=5;^byME&<((^vAu7I(uV;s4Nl;u%Bx zVRRKA<Pj8cSk$ovV{|s{u&5Ax-JLhMk1CyMKZ-BD1{6@ih~C#B!r^W<bScgmV~fAZ zd^n#we%LcB66?E-!gbDmx4O}z!=i-!SQ#acIu)MC7MFV(l{g~mX!+h#mm}zZFZOV! z*+<Z`r+0MYi0E9cNd%W99_Qtvti?cb?y~#?f7a50Rou9f>c(m0l`ZB#SL%IKRQJ5= z5N?kGxCpN~Xx&j<WZ)jFWbEXJZW50d*RlY){Lsyz+9&ktRQH(3Q=s%qoT0*X<!;Q+ z4T<1g#b?bZ_LwN_d8ZlDEXZkIZAMd%iBHRJC;^98&`7~gragPMEbr14-(0aAUf$wV zKPqrsbZwg#cl2ZbPk_Ai)UJR$-{yc65_9z(cgrqh+OOcl(Yswh3^Y3Z<)}Q+?@5er zjO9h%WIpl^OTGZa1x6$lq2tFzp!XuMm))b2@N|<g9(;FP6!dXSLe8A|{G+ftl{t#b zt2>_%xb0Ft-IuIRUUIQt{fow*5XGWabXH2*T9}oDtxLr-!n_VA_=Zk>>ON|qdcu=C zV$5l;KcCA&L8ITscQVYJ=*qAh7(O^5n)ui-%9gJ+o-fA(ff|2Ny^|Q{#do9*Cq<Mk zDZ8KzCq+=<6Bz4fdOMP1QOjd5oebaiB{UP6(x6*M$~Y-LwYA5HwEHP6sF!(86HbX@ zIi5E`>7<D2v9$gaM&Rc#-n@MZGe=dPQSsBFhv#>A*%+<ECF5_5Et5}+LbYdQLkw=J z!pl06-=GaDF594v9aI}s7j}&{=&5Rh{xaL3tL^`fv;TmL`gs1waqb1TFH{szPC?qC zsMrv@h(-|0p&%G*VvokIv4A}RMWcA0C6+P8k{C;(Mom=gvBchuEwMzCs4qfdkHLDs z=j`is2<rRu|33aa^zOFJ&hE_4&d$#6(xt<YLFd{_8RQMoQ3f(76jXS(tCT^vP|F3a zd0h%PVy>>-?oGBM=CGEzac0;ISmp#@#Lu*{D2Uq(ESC^~%sJZ>GN&Xs&1Sy}p5DZ< zS>DXns?Bb4rg%#Evm%bxA2C~fXN={Q0qg9Qm|R2d(DftcTJ8a6qw_jKjJ~P!ZnvYJ zN6~pV0*%hwd|U6lNpM3(=jFbmcV1VdCmuuR{rC^fI%e(}ne?gAc~b%~?YUlUu-fdu z;A}Qy>7~_0itQk;=iKJ*ELS!?HQc{bT>H2VaUJ72*(Uxi_uK5|-xQ<Iapwtk;1U1; zkCvW7q2~5$&G0-mw%gpY;I0OfZL=)g&WT{sl*4IWwu8GdnK^U%SHv(KfF&W{69JK9 zJQUOx(d^LO1dfDK7^Uw{i$V9=>M~8>T8S~NxsPF4XapA65zw83Wn$?}mvgXSSjeV< z@>-K`^fEH=NiV}HB%S)gjU*Wu?Mk}HH5K_LT`wj>)%qC4*r!mty-H7#ftp=plI5L9 z9nV8tXV=k&Oxlg^)ZQAv`7NPs3bdpl=U^{YM%{1$mYKf<a5>D=WuxLJakqRC&S^H> z$-quB-l2Fg{I}HjM0>oCEpxoT_b4;2g5|~W(S*!A&$KqEY+n)t%BN*mLZ!VGx5e0d zSc_Qh7>VS?^$ZdgF<_jqlWBv$^aT5UTh%?-n@+FjJ*h|qxE2a|AID4^kmYi`>3j{} z-Zt-+MhvusDBYyP4<DoRG0ux0d0Vf`hdU$~hx+7I*ZB{^{nx5M@-A5Xr4a@9yCFL} z`+wmncMR}@Vmf(*^y%zlI~eQl4cOEC8B%e+G~4Flutdj4vADHA{2I~|GSj(B66|I8 zxW|PgdrKc~GXvJ%dRftIgqd}h8sDq12F7bJWee1F08Uw{kontg7sG=o%*pwN+bn}E z8H#rH3EwXxubN?^$*X33(aZR4%X*18zyVZI21P#69`#De490fLupCGPG&Z<54hlD@ zs?;bojEftozDDXeoM58`kvQ(;Um*2+%|tOl=HPUG>{bJs++Ow!(iZw*Ov6ge0XZ4D zJ%W(epLqCGV;LkLyzX51eTPIxT^~$HiCIxL#~2*CKu06W0;M1^tG??!2g#np)4;7v zxox+-vQpFeX{#Ob)dTKXH}s8sn7FevlpA<m1P41Uz5eCNM&H_F<eZjHG6sn285-yr zbSOM4)lN8gfH^eIe&DY6o_Np9JQM58%=JzmJ(9jIVe)NQ`;q+xYZ9nc?**sj)I&u& zMwiDpcp3Y>9y_HtV$p`$yJ<sNykOt>j1tkw21y3TH{EyRrE{E)Y9kbsV>C*(B^W{Y zNH=82dQ35n@!&UVTrnoZ<kWNGEO(jm+#6$<eEF$+9?0H+m-I^f0#WGsZTG+!o?mzR z6;!gKnBBw(LqsqTr{w|{!Jv#qnp@fkb_BMWXm+@JX(h@u*YvH$TVF05VrJ5EZkXuP zyY3-;PlJxEit;&)pf?&L&<Ak%fgr2#9f9w-EyiBrla>XBZS&!V5R*mFDn^f6H4NX{ z)bUP8GGN01Y?)8IN7b}B_p-#{?DW$uQvmIVH5Cc2bOVft24o=GEiH|UOv^7qU&eTp zqGPvAzFu`)qv6V*(84iJ+;e8X;2s_Le`1bK0#X+Df|%DD_6p{VF=IX(-&!h6BmV<) z+H=bkl%9Xbli!~_hBoR#1j=2Dd>GTm8B>PriwUk!6vH2yACml2<{mD_ew5P+7kL_r z6+Z&QvrB@#yJyDu0Ic|Cq7i&2&nlEpY-;~nBHFiaU+>V#NMYPtTbZvI|Ab7ZcY=4z zvo`x!%nxHB3^7QG@O8s6|0Q}iJ)lj3UC;LuVM+H|Z<@S&tgzX;_~eR2`vaRjkgH4m zimSQ?u+31@GzO1%lklo8Zr@_~_Ve05JLTb*DKEe`uK0qZT+WRb+sd8~sHpP{i!80q zP^0G&N(b8WB(re0E#&0$W4P-Pl9?Nf1psiyDyCtYz{oz3>&s^ojoj19JaN{36oY#X zyl2z|W^pk;dC!vU=CC|$#<lX<*1bbymCbNywm@|dGwC=isMp8Yj*XGn##JbQ?KHjU zWQh)!X5qxur=T{iN+D!taCsox6G?7q9zfMwM^)y%S{h0K7HJTsogrIzGO?utp!@-V z7rFISIwRJJ3M{sK>_s8$qX3-i*Esv?(Xz7`c^{+lJlRue`C0Nt8*C_%_{$aIW@wkw zT|wFPCtRV~+_v4W&@c{t?+S7K+SmCZ$-harAwVX{r&25%;tTX%;^3FG2G;W=){I(b z#{TxG^n$cb0Z>j`&o#Jrmnu`LgvRYtbWjEjxqN=!(I4jbf)~Spw!|=4TiU|kF~50F zmOSjR>?o&W=ficZ8w3?k>R=qib_+xFXUsZ62bD}H^KBW0RM0hoyEe6&aX?IFTw6|F z)#1-=;|PYJG3>J)5MV+Y5K|?Leb$^0FoWe|p5A?=K^<<8mV!*OT1nidu22dCtm6tv z%2jlQ7IHa%S7<ipEb0mk<IuA-17;M5Zs&(2;S%U?o^8O9IS2pK@zN)_B{E)D4HK*8 zBxF8Uy(c~O=LWu638d@oJ^T~SV?xn~oS&z>Owopi5979kF|Wfo)54Xy8OK@-k<AUq z^E-ILCA>d=@;CGzikz#27jHH#BJ+gR(7b5TmrBL*vY(<~7M~5!TxO~9y$Tb{x~nGt zgv6}=`3j?i6PvHWLEB(-a+>SBz#z1<xAQStZ-CmZf77sz9zpG20S9$QHQ@aZZIhvB z{a-?5(nv&&Z^&`hHvMZCgsdxwp81#}FJqb=VPJ}|rrbsgtDF5xzfv&sgb$a~6-&Ho z0hZm1Rq-Kh2`-LA&8%34(EJkS$Wl`aq{bSlYx_X$JbKeqqg0Iosn;**WsBc31sB!z zQB31?>7!4T3Z*W9Uam?e85wu|WeTR?*&fx>-z)kuwW3TN96rVd<4y(|#cKQkjAb`n z6K#lesfkVwzlM~;$|zQ~-|@1AS9;^2jPB4UB!_u@3diQZFD3_uSAPs?X07yXw~Igr ze3L$^SHeR!50$xwsMGTJ)~hP%9T{VcVQ7(hhW{s()GT#U`m%({G7tdtVKp28_<SBe zror{<vF-HODOC__9LXEQU7Mfb*FUAYiSsdF0FV@z=rJ>-8tJsW0|;nzK?QcGOM!K* zSYFj(m)<O-!%jr7k-PWgETc<w)o>8UdZdnKT=bY;vRDD7&imtAPyuLZq`5*VR-}QS z)H6?GS(&qz)w7Uv?rT?*bTDUbxD?(k_yyV<;((<T4-?j9`P-(qSUVwJ(}K(N0jU`= zhU~Ox3<px0OS+}?(Y0Wp1HF@mHu9)css`J?4dk9&(D{1NUH5>_Ip4q3eN&8jc@F3L z`{O%b_f24XEh^+pTA$v=<iR0sAfwKy!#H)t5cEmIX&!aL1_(w%ABs&;E#sJhEC!C# z3{8EQ)YQ|<ac%?2hvy}d`Z5>;XBtY$fuk>y-EtQEKjPgR2IYLbyTA7e-i$A&`lB1o z+S0)W;^`l7yn%QlpduN}8@H*h=LD!QyBQyZQ}E4wRk+W*BqLdlG$>H_re3eq&2@6! z3{pEdf@fW@7I(UhnoaYllKz9?bbvn5=AP4aZO+UJGEeR>g(Sq_m^Ey{t{LUc=zud( zlVu%t4D-7}DTIz)9>Zp4(h>$4m{5~x9yQYU7LbTH&cfeN8W_CTz);js*r62g?S9jY z_AnIIL-g+*;j=jmtsEwkqe(F>eY~fn0cH}c$HleH*hazz&6M6Ro51rw_h_E{?yx4@ z4Qcsoc(k702B{^K?rC%>hYGUcLWH%>1C53-0J#LKYb?Pu$_Q10dmrIa29Y2BEQ$QT zNeYS1eTbJZU-n^ok5@>_^>Pn;qDF1c0E3(Q;WFO*in^g99tQr%f~Cz`B*oeHvlc(0 zGBo(~a9&XOaDf6cIuBv3_C`e7p;^VoGNV{uZIvfYoNEqlx~@QFznsxW5m(0350^1U z5u*rj^TOB5Uf`L{=$(bKcW8EdlUKcQ27pzZ2>>{=0f5^o0qFDvfO-aiF*<<X&boV* z3IqTts3ey!dLIfIO_*n{UFt5EHah?CX<Z_%4^;xvbFi*<Ed`yH+PG<2zUK9X>{RYK z*$6O`9@8u<!u7iGyzpxhC0qzI<2s7Pd?6#`yH-CJ<C~v`{GzyJHYw*l<+0okEq+eM zCL`8m)!#a|-rmY({B_K*eScK@_Y@QCfHi0EQ^@lQkms(stNc|gU14-`&7@Y0S8eAr zWOtaC#DY&CCpZqlF-9;-24Ta+x6{%JTEy&TP(f{RnRtG)piR%13mX{u84TWwJC9`} zq=W&sx6K1L5w!qlyfy13YbucBnA0EXcGf&ET(~cpl40RRI@Ae-hBeXg<47KDOYz+d z->YP1i?5H)=8UiQr<}1Z|JLU?+!rq+`RO*B9UD84PEO0O=NPKxq&KoaTK%Axm{7R@ zlqHD!9?#Q%Ay<1?Z1<h5ukODA(I%gfr*&s>dGxQWVW<uyy<ptCMXJFp+0H5}9jaGq z57aAd!ujp(B4k=Cq}4jJptVOtdMd9vq^Z9_+W_w=?<43P+KltU{11c<HAo3ay`PgL z7bli8V6S`>4)dJuu>55R9f{T^#N|&1lJp?6Cl5LpcQpBJl5b6O8oIWuo``L~&bF)> zk|UGgvmLW1wKv^e=UyhgtaoSzvVvcm`tS}ptVC~nW{iU+;vWQZD<#->C)wTNGR6d8 z-=%=n1MvxVpG5m!nfD$brY+)k{;mNQ-;#wbH)$+jJhWL0c`1b9?q*;rv9s?@teU<j zVNafWLcX_olJ~j;&Ad0W1KFid+1_y_4mZNNx%HKdCyQ6b)v1WFaXI9My&T^yVPU!G zoq3NFV6o)G*RzTj=*yvU3*K_8Y=O9U5m!-OneFwt&Cv)4V7MC%-PB!Pm+cQRqq%?b zgmztaFO#x$7Bb-II2%>KXGNu2W8}BDFJqOo_xf2fBk#g<rW;TzWYeQqh!r%&`788g ztSK<v&n1ZF<Ha{VA@L8C3)eOudQ|pc<=<u1i^B`xpT-)C!?L1Ifw*3X`=9*5f*eej z&mVI2m%iq87HO`tNLQDME5W%p(H`s5yg~nf)N(d^if6M10|U}Z72+9=(s{<J^9<)s z^OMY;&nz;NWR^89W=VgITbeBRU)&;@r2vb}C&?oJe=tWfWUoHZ;y~d@EKJdpD=|~$ zkG`@T$M>oK-^{UZmcblj9TLWo@_+%lA7N4EVy1lNICe@h$GM_<rsc@=|HvF2j{I-t z$ieYBpx>RLy5v_~uHRwlSTGLHK)LB2v-%_t`Zu@#%L3R6&e+9MD_fr<5NI}S4eJ5v zFhlAS1kQQuJBr?h9vWvqj^?q%w(kuu*GNgN!&Ac;gcI#jzY6DYXGQ~ZB4)A_^00v# zKdM5|9La6*Xs<_FZ_YSO7WBk^Woj6QQ)EHxAK^D&N152$EwSp}B=<dB3~~qCcaoc- zLhv_=1#{bhGmLXE*|KSv8^Y?U)kHq`l+vxbV5;Tm9J2uD<1J9^RXxwOvbG~*GGDNw z__Ms`^Q86+d;3lKb~#4kl<XaNHoov4Rf}qdC?V-@%OTAR3^`ZNIK<ipvdYPj=g0ro ziBX#~2Iv6&ShUn>xg@#7HBTQuAs1}0S3(d<31X-^w5o<VwBB}ZiJ{8eJ80-T`to)l zrXk5*fLEww_!g-oRWG>ESnMjh8`Wr5xwi@eUz6aa=^<#TQo%dCKy`@+O_cb#5}eND z@I)O+_E=BuOa9Hx;cqR}+vK{S(TI6|K%xngu91(wwf~lZI~fv-DHkLuvH*#{wfXRx z-e!|h+KBmqAtm-lA)fnOh4?pD&)-_Ff`w#EItmp!g221!><iEW34GBe@3$w|yWo<| zk+FQyW{<e;aoys&_Si>lO{Sn?ns)y&Zru7EpVVfRQo6K%35-p9v2C%8TINsIE;*0( z!^l+SxVbtW3h#UzZ#)E_pf8V`!%Mb2#w;jo;0~KRJXCHSryA`<0Np)qZlLTqN>xt4 zPx6zalz74%s*F8KLr$1ml#V+JIyx<1;fr_e<!)lqQL5fv)TU?1i08tCPMYiZJ^LH= zOP9FLJ-T=6vQHa-_c8T3X|CXX4-LbW5-_yFyLr@ET6hxIqbX;}aUM5AC!aF=D$jE0 zy;J6vrqlH8DRTn89-cA}Ed3Amj`4`QTW*OY`w8AFhnv9kMzrS)u71rrZ7yayMe|Ra ztN8u%?_=jN{l>ie=$2#J<$oX3&!^490I1m+bHCDf7xFbgjbj*)6)=83V-7F7;$c3F z)%WnzwkOvL4S3eW$7KB($J}O~qm-Y`{>sLVH1KD0m=fkqj-Snm0+)bcP|x-KJHQOp z@^Dpp{<AsOJJgrW*iu70s_pfr#Ixp>L8p)v`w~%_^#;V&KAYXKo>>K?Pu@lA&f-e@ z_UFt#%7nkE?>Tc!i5I-}3pc|kEE4DKo||0LLJ!ZHtwED9QS+>2#cKxPR_vtm6&T#J zHU4`{QRmEIEi(U(uw{<(_l9Gk4{rgLl$$|`_Ba_Tk{Gi)Rjsufyb`ewOVKoSy-EJo zTA)T*nG90)Io#48o=YXpn;Qgf2F{F4PwBmaODK^irN=%kGUqY%I&ZF`Ozgn)9F#tT z{UNd@N`d7tkJ3XInKvD9N0DjQ^iV53r0JnLdPuH~aFSLJvG##-o_a_sU=H*B>Jo~l z9B1aiFf5@ye}v)=#{2W-3OEELk96CoN-UV$9p>s$H0OfZzuwatoPTn(M9Dt&8rPub zIBcZIDEm~2m!3j3=r=C=zL7&BX`d>w({t1|Qe>2Us>D=JG1Z{z7tQ_^Ps%n-jyBM~ zSdGzui%>xvS68D!7vZIN?I10<Xbz2?`jg_umQ%C|+MeVdtJCu3K^Cmwu2`me`N2Gk zgRf$-iF|-3cx<zv0PLCv>EDayI(^FP=Z?+Ws~T0x4G#wDwEVVD3h7e}0HBwmLIBgx zX5qGA)Wjh-2xUC4>#Env^?vB87sYBGAjdD}cl`pkf@QPtFV-_5s|AE{<9(Ir=`Xlk zOWQ(ae>K-C=M%<j(Y?Fji(~^2OYf0b=3v`a?ig*}78?4ixy+z4e3}PTOXrOn?k3=j z;}=fL%)KuW9^<qeM2p$?1PIFRL5?;1jqVu(G@X{6C}4B+z?M9Y+F(R~xPo!)0pxIK z*lD@BhwlDrE^jFU{+8Vsr7ez;Kh2vfQ^X|<0q=N9zl6)9Kf6s|UjnDs%BEA7%wgfn zc!`%KY!1Gkl1GNayh>6P2J6<icJzW)q#0Q*o9ig?$EfvXI74n8M+-0GqT@m1>5t3i z7A2RVm4?%1EX#qBn<(arxpBG|8~(E<Hb9R6=%Y$96sw1>=^>jQI--YC^w35<#N<c0 z#d@fx9-5|y`s<+)dT5v)`dhYSBD2KHF?8($cY}SZ#6sugwUx>DD#pQhnSXM$M9Dr? z;-cqBFj8cceX7JuPbpKGdT`krvTc*2C6e~35<5M|4@QcNvQL$m>M0W=Xf4WCOg3^D zXh+G)cnlT5(Y-R|UNu(^?zu;fomfonSRA82+CyT3<_+MZyo+l7X7&rJge>{jptgtK zELeRu@;WVRcTq3ou$B2y@)EY!83ePFd6$cwaB5XX9@W|oK%!(RSNWEJ%+P#LJBG&| ziu>IhN|%4b+ddO`n>nAhef5y+NQXH^56RARm>cRLgSO#%$e?WrJtVuzVb0@)S=L0^ zV-EB0ddTRct~#YN3eh&@+-tNAu0&xu<^WSgiosVPuQDMeU#H{Liu3_8)HO1^PR8;^ z%IjpjSAlk-Xa$M;<Y)uIr8563R2*4RQZaqn_LsvQl$(Pf1R@jFEQu<m)-urK&2+51 zBR{`OfC9=~#A2)$pz1`x)rG`Msvhs_<`z<ztotPKU1SB5fUI+rUq{i|-_6yc2V()} zw3OHa*_PyZ-;>V+T5S+c5x~@KYb-vrE3i-|VhtdVL9$G<`Diy9QS={XD*o;jD29h0 zc>5GrD&dZWF`|R}xOfxInIg(i;-7HB@BS;z{nLD^)FK#84Jj+dkNH|T8g&C=rsG;# za|6Dgqs!5q8|Lz!tt^btvyD{trnypje5hm+IVEB`)I)L>bePNNp=-bqg2SYTjEOln zM3$3tp2K`j56OAXVg6AMx#?o$8$INyhss0L7nqpw${sr4;7Q4NnGy?qaR13xr>w~V zGRmGQG161MH&SGjJyT+*r({^E#4QMuHbxGKsy$QUsOJbWQe>1pQ{t<q{1r-FQ8spq zY~|ztiM%~iVy)-+*hn!NGAo!7gdSB8>-U1`>&NEuUc6zh&z*C(=#zHCO_Jw$z`1zN z>a?^6TY%@}q<vI7-&IaAa?*Y`TbC6)k}!L1p{AO-Mf$TK*?Us3;mJ!q6sz~_DLo{| zro+5V4;f<OYdvI$iJ5w+r(SN19_p`$-qS<ID7>uGj<J3@1)MtenwVG=LSJ5km<XZm z_zIMz-Xtc}5W0g5b!FeZN!l+nQY3DLr2X(<YJ44H!pLACXq8pHA|@UL)6*Pt71Q@r z@h@{|=Yv1UuD3!w6zKYz8;!2l6@qfe<QnTsnc<-n4DIfc;8H2*w^=7i9(u!RX}g&g z{bg>Q{so)w@+J4jddMKjFg;|D<Xt^vkffO&GDs4shYXVV>mh?AiXJjrJV7T=VUi3x z@)}7R2kEnNF`55Ov+^%&CVrzdUm2*+%4tRpiDaQ!Io?Qlold@i`mFq$#5!M|@0JB# zA=KPJ>hd=TwVnxO?X=-dbUKY#IYe|i?Op#mol0Qb6j0t&P?o1zolf`g0Nvl9QzJH{ z<*z_0>LDpZ9A+OqBt?nC{DgP3vL+gW?oT}=B?eAr=piXM9Of;0$W0$QU+E!FJrtx< z&EFV0q~@557njmZ7bjN&^p(eI9KL+>%44jNBGD?e@@N^LuRJV94qcoTTzUK<TQoUZ zB3fwWvB6(od88XT40NaQncP=b9$iYyl}88Lcc6jcI-uXi6YI3ZBhpxgxb$pDv~DhP z#qx6CH#j~?{TcatOUk*HA)7W(^d0lyT3wd0vJ1E4$>FOo?0EM`=cz+l`IAVJ3L3^@ zkLJ4SU&fa%+%bo^_j5j`ygPVJA^cmaa@QPF@*pzUV)AfY1sJ00PCwD;yXI}_?feST zy|ErL=w3+=8Fcs6Lk8WSmXhTRy5G=42Hj8UA%pH)^^nn#wPi=<uRQe$?!r%Ud={K4 z9%34P^8~loNRdbun&4(z^a-xJk>m9Vu9}geb40-j?unm1!5xyVeA5KCz(_F~vZN#< z_{sz~q9kp+WiD6zD~-pPu4my1Q(l&~`Zk{*3W(W0{Ge(640jVQpe}wGxJDnQEL@zH z9c!u919Ow~QnFT;q2ReZ!8p+%*DXC{kn6M_GRU=E4;kcIu7?bA&C){#xyI@tqm>VI z;<<*YPA=N}8o4&gd~ec6CK)NOlPjf^POcCm$Lr+!Tefy`!0Y7NR#GR|G$V&ZzK}lB z(MT~G(t|fBUnN&9ADvvc;Syw!tM_W1Tt!#CiCp2U3zBO^@=J160eM-f>g1ZRnnwH! zh2)sG93>5OnYURF#p<D@ddQ}Srt2YN_Dj`63=FDecRkco583oke?3%74;i!H8l89< zNPDS}EXCC^udGRj`0BG?jLiS0*{_I^BGD_fCcWUJ&wk5gkG@Gu8EK?QgbQgYaX$L& z=WXOL(7r2!ugre?e0cV&oPKRN_qi@tu@1S8;OncI2OyVA1VbhkSe1@lk)Pi+?f~Tv z#A2isSk0UUT$hHk1)`QUoM4Q{S5`BnzR~HdFH)bcqI>`0D*1N2b(lYUHr7MNu&ktq zTvAjIxumF<Ea#G<ddL`-C-sn<PUo$9$l&JMI@Jpg%M0)_M@JQsq9qvqn}+3HBjxpB zIlF`$mVw=k9Ip?{YE<(+?nZx7+z^?vNpBRHMv8&;65hdkbqtOurjNlA@X~XM%oT>n zT=u3h*heRwu_(CN>g5<5C`srVgF99jB2(6yFEV*|Eh}GS>LHiN)I%<jsfS!5Qx6%m znWcve+KkmhMk^oalqyUc+Ws1CHp+Z&qRk{D<#pPmco`zo$niRD{+6wMqsS~K$<<_< zkwYS1SY#S0MnifOc>}p>(H{@Z;a)fLiPigSLtuXSCSrwuT}WWsUJ|Pch+9BleoeKW z;JSx9tEtBm^AX%)K~<k(UnOlmB|SAyEwgYQ)R)Yk8sG)B?${;y<wxGJC>24uPtE0u zeXv+oV!mZ^C;w;Wu=HG<WyLE0KnqW7D75i$TB>l4gsf38V45qcIOPiqB;Oz|XXxX= zT+YE(j(~8Op~I7jt6YiLTEgbfRwQ|EhBNLow$!!{AEv|qeGwXiEv;!RII?KVGi*sr zUP4Enncpe3Xf9CK?Yp|=Aw#8l&)M=Ymj*w_IBK$(ras5nSszumK*T@g1J(b2M%SO? z#q=sS$nS-Di1)rfJ#cgFEK~p=p6~vo*)MP%LD^4e)eCbAB@)|FFU(clhwpq$Ax?9o zN9=p>?Y272)!M|uA`{!rmic!S-#ozjqSkF7i#NF$;?9kUm=+Jq>pt{vRF{1(kGt|? z3^=c9vSr12>Xw+i+2lJySSZv(lvFdL;g0rkS(@g=O?i0QZKu=R*EEa1^c6w#W5qaS z@2~TBh_cE7kNFoxXVXloX%d|jzbiD|B!ZNWJ!q9lG}5C37bv1?$UWTKYO_CuqYn<v zS+z+cv2&Qg{RwULoP!b+5oU7GAVm<q+}%ZN{Q)>9i9NCeM=Z8-y7DV;I1!Il#PaqZ zwpq4r0hhS`a=LuwCeQL7qbDX&Gh`y~z`v|+#BfxXVpP{*1|4=sbu%c}U4-Dv)#}wI zJ00~99m>xr`F~e^dGlk6H;am<>3Z38vuG4@`bwcHzZzPg%I4GQ7qbYn;7%G~401Jq zqmE9l&_U!aP<&$H4*F^ciuX4#-jqcH1TfAbyAbp76{d<<Q)>z{i%|E^H$JAxs%Tkq z17FZ-Ke;VRmTIEKO`|KSD5tD_K_*WTT2}IjwGiDotL8r~zXyEXbDl1u@}8o*(q$^s zG?<opiV~$>Fyw;!sliiekEf`oH1AK3Jw<}@*~iqZh?uI>`JRp!5gp<A9$r*53pk4% z5k6EAm5~m2C7dg7X|>tUX~%<TVo~vqa?y=4#(I=fzI$tPF<~<)^D>#iLTP}PcuT39 zN#A&h%8iaJ#BuG~@)8d4z*z9|edgSlu|E8C*-35s5PlrB1@=u^M%gmsJsac}<M+w2 z*D$Oxl_)M^mB=BKQd|TCUji~1B2g>|qO?t!j2jNr@HRt(N%V1XQLWKm^nX|O?co1a z+3ZGKS)6GwMU_BZ*kCG9*SSdr>gqg^`j!xFm9$B;wFG*4e}>-b2Hs+d5^4mldW$fx zZt%Fm#>p71{lzC#%txdtUDIijk4OnEidP-B?Pld6YrH>{8QZ~lt2c-lJ8itD_RmLj z&qu^~U!1{0*q(uGxY=R`#rTRoO5=~Xwq~AFZ?YVU{+Ryp6=h2o!Ho)XCCZo4!34`x zI_*cnCB@*N@pc9?bG8K27lCaHxnk@*M}J7mONt1^`$IZeQq=P30!Ja*?<s02&6iPh zDe%R+6KHZNQKi&FE>KKo%}m~q51v4KN(q}c-rU6v9}?b4?Z9~Q_XEd%HJ%#ziA1IS zc$&`PsPXijpQz+Xe=yDonRLYuI0uY>9cSP7sklXSQ}&Lh!4}kyrvN2Kowtb3l*{vI zL}^jc`|Ee}hvo^b{#aUBS~OO+45XW-MWXsH+Mw0FN6}?Ol#)3ldr%os&ZH!drdj?X zREZo->;1(rWx@g~7a%GX&vkRTQk>AH(u&gH+s=b%L4X*g?Cwh?$_ks`)eN+7m>iQw zA->S|)HE7cR#dL`<!dSR)8s^Gg`h4ZB+|#wk7Y$erA(SWRDA-4w=$$Eg$0V0iY--- z{4G!nQVxuy#2{f+Vz1KBAW>U6+LM+Ap(F0jquW8EhkK7pk0~WsOswWUPF~sJB^}#f z5+4g2y}fy2WB5I$r};V$Wi?OS3bzaN_w}*#JXp+E8jhuTA)<~~>KL9;?Z@GPI)=`M zh?aiC&pdYG^!+eQVc0VSvzS+2q8g!?3HA@8q)<`cT|4%eriO|N0jD^t>m~@FTzS7n zl=j!r$JzTsMR${B>?i==7E!RfRt%*EVWNh6kqi?J^cL-u(4jg}uZD>($`7k3rkrT5 zOc+m-%Aq%Y9!FKni)x-`_}XAIG?jXk7nR%}J$X!7<<WxygITNv(zWs;Uiox6RR|a5 zf^Xz8{_&nxNuPZzo3SF1wEFBk^$8apykka#ien5uEj@@1p<L_x16iK)tr5-&=SS$5 zNgO+tG1k*9wWuDu8?kcIbxl+({+$)F(p;JK@bEOMTS2r@-WjN4x3q%jS!}|u7<XAF zr)7026{`qZew0eF6-BCh!~m0iW8H;{;%jAofBLWz220ESbhMHP3JGClihU`%;>l~Y zft9L#+LC#!Qx%y@<_OW&x5WcA*rgL_V-yqhix3r*jq_<{gh*DFd_uoPpl`)|YE)T# zSn=&ocs|^3v!92Wq`f6W2W<|&8i`f+Cpf$!ZSLo_2$ZQTYFW<mNaw9z=o@i8xazHL zxSyqph^+oMbftW+7tREEjce(0dg7R#^v+0hd1vG#jiQNFM0w?lxwN7RhVB=AsA*NP zU3oN%oK-O}ulJ^!)xg#ZdeekzA|R~$EZJz?H_T`_TyFMhw`Xy?JI|!e)kL`a-rJAq zN;T1}L`*89c?f<gIBh?OYE&21m1zU0dvy`1EFDQRtBY#N@1to)bx~ibIg<XZ4qT4) zr?Qcvin4nIwTMLez>Sm|DJm-EdeIk=kPX*I(N3iMcYx#J<lU+LZ1!0hax_3Ib6P@2 zkTX(@QJVLpu{F@wFVbjf4be3E-5E0X1RIV_n=_xAcv7=-xn{D%ofhBW(#xoe5iPX_ zEOCcXV3ZiF)a^l8Q6gFy_dfj;C7LPEr&H0IKzi8+6kk*HQkM3i6*VE=@RZk$nqrc2 zZYT|?g+?wPN}tveG0Gu4*I5gL`^zCTq_$|J^d3U1Ym3%O>3)<~8)Gf{JxZ!0I+f}- z6&;+_4Yv%)MxoaRQ+6GZRoiPYxOB>;kDziV{g->)dviB62d7u^9cJNrITrGk88WE` zPqnSzrIB^T3+2*48d*;`lrM&oQeS+hOdder*B2?}#&ws1sY<41O0AHYr=<1w-h~U| zZT7j`D^5$v0TkXq;6mg6)TIGhTBQ@sYapsB9s1Fp1|mdh+>fp|5P?{)(2EA*!<KvG z+$*~jmbQM1+kyBA_&*%<$I*b+-Qcx<*p?;JZFY0*Z=e8V#i!b`T0`5=1vUokny$1r zTGR;6-7m)^B-~;7E6&F@anC}D*V3+3qM;~LzaQR)gm_d97n&_HpGUM2WBB2>kA4O{ z*xzaS6uANI{!iIm8;ZFeN?2RE_m-$p>Mm?W*cRoJ>OAUBYG)@<?IsxR<`nv+iD(k| zaGb9G#<uI&DXt@Ci-<>Y!*E%!Iq*lS9V_}Pak#)M7D8@D2l_o$RIC49PaY!16x0i+ zUyreihG!=fwPNjHe~c$?-&Ncm?K7no-_{vTV&&@7Hq<;$RPhad2WY<Rj*jnAMw|#M z_Y?(ej#<1K#;bN{ieB1k$jP8KCW=opRr8(Sxlr-*?<{C4Dz!}GSVwm#9Ibt9j!syc zE$hTFol+1J;k3+0$a{0k{)oX!thH@ge5})wA+wNNi#b~N)K1-`p-n}+Utm7&Xs5(I zAW6sF!6jbee!la9cu`47>qM2~MNLKNOkLwKAl~jsGvY-nMI_S2cu~1jJdo2{!)(WW zahUeRi6Dw<Cd!oEiT!e3JlW^S)G23DqiptsF`DCB>eWoNE&c5VcqGO?I>3FoMdEW* zE8Ut7H50A<$Fe6xmV4}@gPeLwLO-hg(2A-y7jep#PBgSR^t7U_c#^YFPIFPy@@{+X zm$`R2uVWT}Y0e>3qlGvS+>evk4dXn1=m<A3I^dX%O12dBYBt)XBb&L`6Bpci;)&yS za!qXhA)6C$Y_t&M3PTz4Lh`kVI>A$sRf7K*KXmZ@4e%3M(t9>hx7ZB{1@n~O+dNNI z1Xtg0iwcb9>x-D9+KU!+&4!8k<W{PbAZmr|OJv9xf+dp_H={FrB<K@bzZNt)LByD< zkZ((@K~5z=VE(s>{!0)wLfW)3$~6Z7qntF{*iUGmHK%5+(22>LXlg6u?cUnRy9qyx zyqfIr6I#*cbhedv%XEZ#*-%GRYvEfeFvZnK9g~w<7N-W$(xymlou3+ObU}iiy1upW zQkEvuuGS($Irss^CW4{9isvb+KCMg?C6!L`v^`Oj4UPKX<veA~&FmMt{sW$+$_}N6 zi6TYWGn85+K^vIRloljmlB?O2t|y6LMIE}JjR^A07|NOd8cgAB#1^Ga99?ZAN-IHe z^r#KG3Gu<nqH^#8;FufWI<^3F=M;{>>gj^^^<diZsR;A*AHskp4Wb#z!lu+8jE9>s zy(NwyB?XdyNek+fA}TAXEof4TI8%EEu3xwD^@;yTF6>;%mifmuh{`-DaS-y0IGL|b zZQ+B(0|={S45X=TG4=SrMF-kqt(e!0UbMwLd%77_e_JGamLJGoyN>=e@olKfQ=01z zx$EMYWG@|Zlbf?cZfm7VJWXhaS@&5}`nDY=ysb^?Mmtff^rEI<HQX7CuY6zJZ<?|% z?o6da4DD<$k`xg`UL7z)U+YWNJBUEf_WiiwyWXdi4iJ!I`qKOkSi3%qrjU*zAn=!H z7QJ_Q5t%j8hwnJR8jBU5P4Cm&9YxdfHqMY$8wyk+Y!dADX=P1^3Hi_a47pPu%I+xU zDI5DxQYZ0=#evnJT<~Mv2?8Vn){!gpu#@;!8PYp@X=fo6<xwkI^{#kZDP5PIy$c2Y zVI2zTB3ilswC6Dm>LP}hn*tx`tf3$vTqJlNJyjbW4v$mT@3?B89`vFMI%q@!RqHA? z`27eY23`eEc6d}tsConsLuhMD(!H+260ra&7}LNg*CWZ%@*<~ALL6Rf$8~SJlceII z#a_ye>?T&2lm-_U^byrdz!w|!>8E#(N0Dz2u}W!ofs;t<0shx&(4!t$3@)xg)}G>X zC9DSR><RLJ)r_9?6qEff|H=;GvIc!t(>}YLJ+GITX;S`@U`nhiP(yk(>d{*)QA%)9 zw6d%!#q`1C-n%LT52Fcv#0Sc~D)dhu)G#7euc0dz_=RgIdnNm)_qm3FdK(JXkQ_m? z`k{uIdJQ8h={3}@q}Q;fKWf-hk!z?Eo%wf45_80pM0<{YSG&C?yJ*JRa4U_?ew&Z3 zrHxOr_XnR0^MTX+ADFMKxGRDj14Ove_HFX{MAS=X6IN`ZeQ>xn*IXM{yZw>zA<6|L zI+|PgBAJ%*BAK)z30XDbrnU6U9cSADMT-C26QY}YdQYB+k(Zc-;;;Bnov9$lp6)~C zut{LQeh(ENOqw+k*H4f1=?h2TNG{zc+=`Qh5ik%|gUeO5L?~u#Hstr?wKdFQYTSXA zo+jL)O^fe}0FS7)@T#93srXgmgJn24#8(71wPJy!jou-z{BSu-8~)Q2GXTSRaSAuN zG#wrwnwaKMk%1yQBm`#__yiB?#SGusDqTdS6Z=suWCQgai0Sxbd3`avYM}5@RvCel z17S?uKwg6&j{a*y^#_S&C4Hp^f7Gyc1!`ZGBgY_&oAh$DZV(jRkT$g815uay4;Eoc zsjXxmEMlTR3u6qVvspd{5e5dIeFt&Gb`*3nPPfMM8q{s84If(XFh;60S%!#urs0%0 zL{#?3PDH<K9R!WOdt!l_+GXoC{TlkeYx;G~n`+|vv}K_$Yf?6>prj!fQUA4~`X8X8 zrLDN4j;8tKIZQMz9T<{dg=_-|ua#d-U4~(qTWL9Uo`a%85@^pbkzp!9>py_g+&jZX zQ^mBA77Z8m8_x*JFaKI+%=iW<CT8`v;(rAGN8x`1{Eyul#b~yLf6WMyXzD@TN1&D! zEos^aaX>M(q?C~&rfys&uf6{$hedAwU3gs1aQWK|k95Q354XGHtT|l%cCDn{BgJ^H zWSh(7@4q>;c#P<%{CJ6$q+%tL+&o)J6DE_A*o@4h#Nx=x3;3RvWE>vQfB0(`@WU{* zoYV&5a(jb2PH5fA(CJa)it=SsT0a^XUjK+O%nW%QL)pHLrC-Oe`!ceQ5hJ|v@J@p6 zl(^KPW4Q1NV`!z)W1&CZiKX|(irb2hAItGT4^Qo0DH=Ww6KwCrw0#_g#?z8idps5} z4;$0K@nVKjuO#J-7dMsRcqxf{Zv#v*PD{Ih*Kv#GzOU%}I&P7R_1^mtldz6kziB#d zvo7ns_hU@<Cm)Fblk#=L?6v7)q$z9-Y!Fb|EvP2Jkp>}=8V+jr36I#C!qtQor?`ot zl<70-Fi}kRTHVkEx!q(Pvi%axo&sa-dy_;H<-7XX%O;5>CgsQ}YBpI^i|z`;2WDm8 zg3w<|t)5)N@gm$1DGnl}H#^wi+yeS$vdHx6Uf)%nm?*0=;VSwm;ytB%o$LowL>H4{ zs%`Mv2VBt~CH_ZmZ5FTh)~>k*uhnr?^52Jgn|fR{c&%o(k_G-&Oi`3FT{N!S1gl(F z!iv3K%P?-rMt80S+7SHrT^zk*Htn4*R(V-#x@tKzj%%q+-`HVIh&o3n?9lUrBeUzw z5O!0!;sdyfbvUAR>=i%R23*A?SW&J!#HU_9kuG>!M(gml&IG(+7wPIuaXiG-k5?=C z8!czB5weZDn^!RJzo5gjph&iOLE0=aTDe=9dd(JXO@Gl3vmsE1J?Ct?E3V!Ot2Smj zi8&(0)R#KVf%IJyL6hcyXX7GRyuYn9oJ)N^fxOxKl$L%XMk?P-(&f&biqvE-7WGY@ z(4D!WbRfaII>G*y%@M@fBl-&FfRj+Iw8j<5IuCRBiwe|Zo(QUSO-^Ods&ai=IfC{Z znYF_l?eK_^XDFn;1+|B@o_jNB?K}}y8Vm8N2XO@1jH5iG-bujh^!FSXqtoWYKr`ZF zS~On-MSMN=u`?m-BhMV@325kW&qVu+#H!AOJx+5%%$-r=acgvH9bBV9*N|I@-9<0v zL-jZ}g`yW=-Lh*ZWh@Z>%1<BDXA4BxzycP%W3lb@HF!^05Y`v>$UeD1lr$-q9?>5J zo66cb6t+;rhIV<x)eh#P*w~*)4NpnP3So85#_C+iBg$APwkezcrAD8M0Oj+4sS_*d zLoj6}I69i>+GoNV^e-+UEvVFcafDRrtA^=H{gN=&K#N%E#;0OUa1S=T<8F;XxV;hz z`z^3&OG9CA_K>~<NTrOGPJIT`#?A)-RldN2VGT!=g!w@`8cIQ*i|U@WtqdFfu5CXT zd&^$AufrZu2)3uT|2|d!0vtI%gx>x_)C;bIe7O}104~oFc%}Wk)-;5ce<7kgSB5ZP z-(b4(1y*mzgUPxGnpw?zv}X~PHUanOmqoDX+zX;di(v7Yb(d-^7XJQecey`tk6cvF zSsc;UDg-l>S@7RnES4(w?vQB-Sai`H>aaxEJbw%1)P%CMe2HkU+%HQ{mtg8j=s^{h z!ayA5;X%nug~hfWw`9)-86$A?lgG0aw`9-w7u=VLE5EDrEp|}iot7+QlTkQQW==&q zZaC|W0yyX*(|ggHrBG+QAJK11Mdi-(9&+|PXKHJ<ds<oZ!Ajt$))j)oxVSR~WRyw4 zJ({3ufPo3*7}v~$#kj*f5yJ;czfD*9zYCzAUy5?++i*hNo`>a6Lq2O?cPp!mxEQo} zQvk}$F{Pm@SXf|nFRuLsTMd*OA0AlSta2P2)t>y#9a-@D{=;LBIV~ff8{3t8Jaby2 z3WMYIor%LRHGRtloXkB%F?pb)v_Aj5pkiNPzve^$)%Z#T`nJ;3jbuM0clip!qF;BS zuSBq4&;Kw(v;1^fXL26p(xI=gRk^$;N8-c~aQ5C7%ULk!yX5T5CDSrt4bSb(mpHT= zqn*Kt9Aq4`P0Gm0*p7kX-9Rgrj>}g17E>E3F}akvOoaOl0lf;><(^C1mx=Phkqpbx zy0iB09;0;Ek7SHhbKgf#mx+NzvXj6%{5OA>@OQr%<2L^nC?;2O==#^#3mPQ9gK5}u zQPcauT^y`DXu?VcR|i!1m)0-GZrEop=+EV%s?TyHVlcY)TozO43b6I0yL8=0EnN)S zG-IEFJFTeO3eh&^_8pU3=JscZc1yjXrwjsw$-C2PHE0&zfW18>uboFen*$dhyOxHV zZc)w(5maq-NjCEz(oW+0*j5E_wD5QE6K~Q$<AVo;*1^burD4sL5PCJ9Q}Rj?;oBG> z3t(FB4p~=VyT9xm`g)~kTxI+10+?lBIpL-wV|7~ABT3@LLT&C%Dz-`lsg`7(+b&S# zDv<#7b<8T!+x_|tH`?tDwdutwC`Gm#H0m4JJ|6u^hrWTdUH2z>e=D5cB`^i#@7#a+ z2L-Pdr@bTLQJNpQ=lAUAt3`QJShXeG=WTqFVjiZ3LyX&EuB1lFBepynYQ>jO+*)iQ zq%5WvYq2J%zBoJVJJHzW9oZhxV$nG~MYjEohO85(srx!nTp4~fJ88Y}Fcs}`OLxGn z-I}^=5aCh9TY>SjRCd^9+b6V8Pc0Ve4F7OiK0xjREqxH0Wkssf@`%=L5Os?lx~W51 zpG3Deh|;kqJy8OZ0RC*|_BgvPrAKQ3NH;Q`Wb;*)JGShz^n)B((y4VTL)E^!OwGO* zDMkH_%uxxn_<K>hPG|wBbrK3dJ$OS_&z99={PRG3EKqE1!+}83z877Ug>$II52CjB zK0w^Yb?_c<y-PIh2do<IFQj8Xh!4FVps0~}QtSIGb>4^p-}G0Suu(J$_E^Y;SZG2Z z#LC-}b!0=a_^0G4cy#QqjUukZ>1)hhY1kwy=Cn+p=uH?#rGBB+n?$aX>_H1Ri>76L zJ<vPydMS6Cy-5<}JS;Il=z%*u+>CwJT^FcMHmqYKFHm~62oG+`qBQd({fgImNjORg z^Xz$SPu0+HcxZPv>^@(*^Au1_p+B<4hwih_yV3AO;YXvlU{Yy%9?z(Va9>}A=UcB( z?02zUL{aF*7GX`l<z|Qg?B9W8{vA5<MerGtYs~NF!Xrs{Q5eR4IQGYEB(T-~2W$0M z5O*AmQ*14sxMw{II4uov)8K3zgNj8T<DR?2@_L_67{4&%imObe{OyBIHZJNxleY^0 z+EFM6aM8^<uBA`xv~}1#!k+)SiHwIM8NN_v&XTomHb>aacPi1ztx)(pFVpR<*vH;T zzT4oovX&Zb6P0|r@m+&iON_k9mFR<Q!oTzlMvkS%nj0)+FXE@ua)=gf6J->iOSE~L zXk6;cUu7PUBoRJ280ZUsCb1oJe!Cp1x*eV!)?ex4?XY~@KSOJ_i<+iebagv)jm2jc z><~Rl2IE{;f@3uJzFh+*>6P6ye1~Y@9f+!>GXQURh%>Zh2MDuv2i@BtI+uxwMXROD z(xbhm)S~j<0j>LK>bX+{lquG%aH5<JB8|kS-2DYgYUmv8#VNhyvR4w>@T;9L5?jBL z2x7Qti%*et7uq)F6t&nTBHK)hV{(}A>Vo~3)KZySrN9PnXYT3gv^?c|?xaxv=Ay|h zW4w(+KB<`NPis9+JDr6L-$%7)Cu#34QM*z<bg*QH&7hHPcJC<%<VkJKNhYn-9}d#7 zU7}IZ&XU+CwXP@Wy&qxqzVwT$Oq7ulP_Rs>O;ik;g*>u?^QcL$;FOX182SDvDwj3( zgyQpotuoTHINdObKSiSoZ#pFCsk3*BstxAUW3eB99%_WmUNezbm@n6W!?>eMo#4i} zPXFQUTC4$!`O$;j;z3B!<49wJGj0z-uNBZ=J+<4%$YZZ);PXu$oBV#_XK!J^`aF*k z_lg=-<BmbWtX@FljN*tO);N<36^P5D6?;Ww(5k#V2!@jX;ZttsL+#KREa${gy1Q3w zRazdU)%(D~6^_#JeWHbO<p}NhN#HoiPp~i7>Od2If+e}8jQmL1aG2uui_Xf(BlP)x zY|36aMA!F==prS%I#JEB2YFQffcRbsJVbj=V01n^NRJL6dt^IGIS4ttz5{)C5cdC` z9cbMXYyp)zBoa!wb$ASm;c+w;a*(ajJ-X8ehlGET<?k@i9{2KS_93hvR_xb-PTfy~ z4vP&+Y&!}$0$_LFrlChf_mZ>UHsD}8U&6UVSC5E@A{9F^m}|H5$or@`uK4Yvt4Gn^ z`+FB0gC_t)Mz>?4p@#+cV$t0Lra;<!4C-y#8p=5a;1$+T^l=esT2B3s!=vfZZaQ>a z#JgY5&7%@0fJDvRI#MNf)3p=gC&fR7R-6>o-2?v0qw^<WIcmR)7N0^_)ZLZ6^Ax&5 zQ5R8}pV4)_wo|vCMNE--Z5X{aH}mMrpRuIdbczoDEJAJ1ygWevJxqVR=u*^qAudbJ zS<R!g21dF4V&l6ekBqd|JW;#(Fc%dcS6*?`cHQFNmX7$%k}mBgMV%GlVOJ1szgYXx zluK!zaar|qAXG52`8lNyTJ6Kyid&R+R#Yl60cIoK9dIP!&6m;i?OE_cqZ@SptoYbJ zwHBQ7w|Gd7wNxqx_?+wN7@B<!i@G{DY4thLr|gxQ06fL%J$WA1EkI;Z7$b60oA4)9 zJ}(+XKK=FuMDIy01MW0AZy^t`u|=ot#w%Gc&})~GoLj<Xmsl;lL9@<_fQlOtslR<F zAB($@jVdyK8k2unO7||^;E6)tT^F;$dLVIIERamh>W69PgzaEU`JRN$ex=#8N?L3- zb^l$|qqFD5US-^7T6h7Z>9U!!FNg+8^-t*D1<VD0pHR_@qLL|>YF&giYttMWa1q<^ z+H!ad!$^6T{<$a`7b$sy>2~?IJgWVRI8oGlBR3pl`T;GyAS|Z4*<rtm+a}X-^0|!M zcaCuGt(Wtt<7EsG&ka=ciU>C4WJg>Py-iBnb>z4z8WkCNh_f~RHIL3*g%8<#^U#_M z?s9b5rthfoZ&>#A`i?&QP4qM6(T(54CZ*|G`r;Z|QGP8>X^IcL_rf}muR<;d`(77q zy}!a#m>=1E4SjkY8}3V1Q<L9OGGjG&%3$yN5J&l*nda5>%kQXd!?#rZ53xrn_buK1 z1DV~wCGS7QeQV5K#?*Y41q=QX?U&nifZi}oB5VF|7lqvr$)&yKJ^|_A!e~E-k<GeO zPfc^s$2XuD4|C9q8_>V1Ip`BjR5h)lp*JxuBUjSwoAASZZw7hYf<sKy40`JpMr8FJ zI>;TfUkAC+PUmj{q}8s2ygZ$n-o%dIuoV)f=_>uEiSbIw={m@3Su`_8+)_SY#-e~N znG=@Lg1<xu#nh1g`3noV{n1o87pmBlXc~}<UZ@#OJ99-1zn-u`wRQwWf>}>#%iyAn zB`lc^h=3xs>vDhmb1aX_{VjGVwZ7E5tJIg-&cESDtW@Ynzy2vI6**Rm^L>0IkFsuK zm+Z=7J>Ray)cy|kZ0lyvy(8RBrkg}}VIzs+%*luHX!l)+YWhMKU1?v?qI;qtj_+T* zC+gy>#C`Z@?xB?XB3+65oKD{toju&~>@nRLhYlX{84Z6R8hTb|U|sj;(GL&AX=TQz zTyvmWj79FiPifUd@qYWzifq7_@1M7}YQ9D&7BhRS=5B;~BGgm+w}Q+$Uvej0F+q3j zx)HY&0k~)Kmv+1Y_4-$owoFOFm~>?B<|KP3Pu`Uokwi28#j^7vyuVleD|(pDlln-+ z6?wRx5#6;nkJ>&G3Ep3g0bBNz<xXmKiN1M+vAcW$4fzl3`0)ao@t?S;c&((qd2sNm zG@r8bM6_oFgDA5*kMi=wYGuegT}ro^M?XD=O%5g{_b05(m80%YQ0inD&qv*qVPRC_ zsi^5$kxL)inMW<3!V{_6C$#A){Ls8VA@^sZmfv~oW??tjGr`fu1V1tGwziKFo&j#h zIW+AVtUlpfK6wYo_DuY!%$ZFSp99wsvuWvbQNL0o*26YCwx;CeU&pl&gj+fM%42(y zea^HJ2q!o?QTnIC+Gy7-Oz;f~%=l|Lq7u*e$F>)SvjgD-hhH7J&3RN?yPe*BA*vQB zvx8NDiQDpM<_obR>@r5V6jT}9r3IA_x!b*SCUtO%YCe;<aU*%9z$)vgZ8XOzs#Fa_ z;oNEku<_xDK*pv<p#ovs=%!OtFOs#5D}S&hZ+?&(klyJXuF~$t)7W<XH`FX#+!e-? zg?&B${@E;lFXi7WyUP4hp$g>u_PMMqYIn^1+s?lwXJ~C4GGi1cexd`g^6v#bWc*z; zRr|Gbbs4zEffKzM!uAaO=J~a>)EIj$%r~XrO1Ame)yB%M8Dur7E#1>*xan`=R>Kc| z6W4TQfucq>?cRxD!k#0oI4SR8(ZYuotgMx1?(x^Ix^rt>>DRiwnjX@LhAC><@VD*k z<zKk$%tB>*zDwUJ>MUi+bZX+RrYRBAX|ua}P8r^m93JXZ(H^3ATP&Rrs=sL(tu(6> z#m1?KilUijwTy{qg;|{>{5Yzo9`zsH6zZjr<d3-zFmq*bXE=tzntJn^EvrRduBTS} zWBN^1D=0X0FFe)O!S*R2ckKf7AIA~pU{lvV-9SS<)y75cZD5LbS)WH6J=OKWYbHzR zspDT~wK<b%Vi7gMyX$&Zb@#&p38Bz<J#8tXR;m01PVBi=3)Gau5oMXvJPYQ}p<+eV zNYCEuxz^*~QCv~AQ`xSwcn#pPvW)>J==7<UN#7S$Tb0P02|~+gSSo*}qQ%sD%HNsP zw3ymcX*h|#E`}zTnnXv7snr7hm7L;&HH`a6(i#)Hms+W8g+7SLuPQb_*)fsYda1pX zDidj=ms$Zwe2x@TBLl!7FLS5l=iZq?zFum@vil2F_7d8M8Puz|8mBbOps$OoolMv1 zS#fogGBBM|O90pSbo#u6+AGl0fp$A)%|?TrmIpJ?NN_YNgabO2@m9wxtv;f8-Y8K1 zBiin*_EWZfNZ~#R&;5{E`>2(aDsw5-M-6kI`ez<3^ihL+ty2n_%L1n8=CbFL*|KNF zNe#tUO^g{jxq#IS><&v`E}~wu=XFG6A$wlk3DTZd>%SFw(w>*RG7p|J?_9;FZq-}- z59s>Rs&~@JS7{|(@Kr-nD*ch?)Jh`zv160ZU}fWj9?dy3-VLtFHb<OiK?h}+7Y>vA zOP}SO7~g!u2Wv1$ulyG^FR3OswgG^&8cVkZCU=i~NXYihf&yUJKM@Xcu`uYS;Yrl@ zC(-GWYJFc%2|_OatSIvD4GJiwwkkJZexaf;KOelw$jd+E8*r1Rlu{inj*JBcsJFYU z7YRk?6)b3Pix)T87LJ;Ia{fUl7$Ed7X>~E5xIvx$)EH&X4Vv$#w(4Azv$sysvZe#J zqqTHV?vgWg3Fa#O@1^vyC!}ca70T8V*<PkQT6sdZ|LGIHa;62<x2O>%KEy1Y-$}=^ z9Tv5ZLc=YpwTOIr(0j@}J3T3*j!?c%qoMw4fRdF)S^jEk#WRi0`>WlQUzSka0QH#Z zQnpf7^*5VtQ(&mtUKui!hKH&>e7uHYlO1B;O}<E(^PH}Qs*OzLDcGv^Ro)pwQ><#Z za`Z=9ZB;uc6MiHmOs!|SNYP<xpx2JUOiwM*ZZ7>J^$b&MSN>&}JEq)5`vK1_q3T7< znk8&ipV-_VW3qz}kJfo1m#}=li*|&mWz*{-h@Cym&P@`l;{ED`J=fedPekf7cy1k= zqs|qEg~gMMhlT1rQ~`koXL6BP^?rh*5#C-psO1uOzE=%o#A}@UIb<(hA6XM|n8?ar zSKy`z@FKxNJq}R9846|OiMmza9)!%M;6HXUTwJ1N%c_1-{$^90JOiioSO8AYw$`If z<<uC}<199BERpnIIrS~2Of1zeul{NJlY+w42}-~D^jSC_1sgGsW>ru#-3LB`LdwSo z9Q~+mMYT=`={;-v5j@6!D$i#z7rdu_CL38qUJRJvlTh`rZO>zKBG##=wS=m>Z83*N z7el|AY%x!4-c6tI9jhI&odI?4u(tePy^5-bpf|JS*Bw4~*g;|QKJ1@IdBkx;;5Xm* z0fx2jlNU}(uc!tpO($f3QBk#<JgcAJ7O8L$jZmj6#ZJ@q2sKjq;S}XY;Chfn|73qz zSuJ8xKKYy0R8g1I^Zgm(Cd(bBD}Ap4rYoqf*y0+%Vu+<weVlVBY`XgAJ(^fmwT6Cv zlFP!-nw7#L6b*S_TX~43)RNAKpg9xOT6Djv8sT1RUtV@_HFbbV*_=bus;fJcJT1FL zq>4@UBPVEH4T#qV@6+}gYPwg$qYM;ospeq^sYR5Upd^i;IZ<lgy3KpZ*NCv|p$){A zpL{7pl_wMAMVcQ+%X7FVv?L@#K~J(eEuZwxu2xfB>8`x<fX>xX8!EvM$hWSVq8z<X zz3ZxB%BuU>AJ<irkl_xUYrq-qkZ-h_9C7S6cGX&d+a6@Kv?j*nPT1Aj;jx+5XpSIQ zK96dvIYV<RIqItZ*-N9<KirjX{?cI#`HS{628^J;{(r!Dno|Hq%3JD0_YR+5gj|O( zheX6lNrw@NMJQHFH$puT>ZuLaLvu60ZkW*cOY3IDE!E@rOG~(zmtC=`sw$<LoCj=Z z&47lLOHB?@+m>pr>=Df{UwSOVLX}L-)tcEanyW2M?v;Md%eJ*tSDKXLk#x_dw(vN2 z0_-LYKphj*no8YB%1Th%C^xFpF9~XGrDroL(Mp};d8G^M_A7_b%2w(z<#8URwT6s^ zs{eg!b(}IRks=e-y5$1iEhMfJJaaC5moKD2{yD2@N}}3SSsq7+6V*`V&pFwDC90)O z;g{Rz8{Ba-j<mL0!GrJ}VjfHrPRrXZ;2x`1_C44_&dkN6P;^>$x1jEAAXb;Rps{V# z>Lo=uZY9NrMQ7O4V{<EOqB3o1qlPF8n$X2IYDJ|)iv`K5Md{Rp$|S3m+`F&Kqqt<X ziRZ=@JjAXxr@V4de@7q8KA4PN@UD@-L&i99S2lsd-&QyHd;qlaBj3e)gpGVfIa1rH z>y=FnX=^+6E2UQt>egQULfO}yp0-yvc}|92@3ef^gtl~0>nllnvhQ_JJ1R<rdX&&v z9qPGh5ht%~l>K98HO%DM{tFI%6qBvJqk6h~Hv5!=LmNokOlo$$Zctg2<Q3GThq}kp zZvm&iRaeLS!shILJ=L!6N>+Q?-&>7W{#-;w`>4Mv7nA5_A9cA>Gl?AUt5-aaKv#5H z9!AoLzG`)4(faH!`>G2~?wLR2QKSCq1tmH;+cH4yV^T&sX#7BRt>W<=RT-q->{bn{ zM7V+<R8os)-g=HP>C_TF#pslV?;;2v)S?kiu!{q+UhomYS8;rmz-9?ATxy@eWq}dw z$@<n-EA#SQeA=>_XTy|N(@sMMtJTWnPG@-m8QIyN=XCoiR^@h0r}cx?a>}+J=<Hzi z7o|pBS~o;(W2vzX1Fof2Iz1v^R=iaU+Lm2%sOnVQ10TPjxDV7ulrmg>0iU_#5$YuG zF8{$6hm}2B?34d9G6aoOJ1b*`(5R7Wb7jv!+Bs5f$tV9rD#E7+P*SS;k#ahNj;E^K zy#p#1U;vMb)G$p=Qf~NDR+?H_sZyObrm0cYqu?-DV8^vGg2yI~PsFT}o>uB$d?Jj1 z>BfP);&2ii1%W>-lp;r|R;5KKr63#{jWV;b8*6h*^^$wRxEmBcg0o@Zb6SEzY5FKI zLhe-hVU*fTNh?E-N2wFj-^B_L(#AY6lRFXa3*#f?z8#`EP2wmu(J>k~_p!SQ!`X{U zu%!1qfGOdlD7Vz&Hb=(>+L~i8oN)&P&YvuhgV43}nF{Zf+3=r+B4q9?j}T!q5AF<I zG2$?X#dW90qahgF(y87UwXQNCl!lB^gH311K1QvoeDo1*83QSk8$!8=R@#3=MaQc3 zi$3@e&$CQPL*J0^4cvU(bF6w<(Sqo$aq2tDxl;7$IJJF|A4g#t!Ud9<^k|%FSC$1* z=6JP7NW(zJze5x_FUo1DriW|@VIMRkaKQxC&*CW~4V#T4gSiebU{{`?4pU-6vp=5z z##gphqPiccpSah(|Co+^q}Fy{_u%n@bakkEo4m&~JY6jvd834!t2*GI9C-W!LbB!h z1JSmLKP?4ZKBC4dwP_4(N{42)tTtUrha6};n#N|R^?cv=E5sDt{b+ZFTGrAO(Z}p9 z(W%K+J|R^V$IJZaP6m2VD@7G2g3Qj6lsr+bSh~_ErXeQi1W#i`IW5~ul6|7uP`xuz z(wEwLsD5;9BABvM8r7Jj#`?Y=fE4H&AW;{%F)S!e8Izzw>>^q}Ngbff&BzYSREwI5 zt%HxHv<ckwqo~PhE2Y&4nlM=n?b2(6UTx-HJf6ZwPL={?uvsVcdu#Oj93zO1=MCsd z9K=zdp3~xcB2$0F_IFwa>zRltzycIsnpQpg(PVWH<cx)Se+-SSwNLi4kJV_Cl2?kZ zPKActb|^KTrnXadd_bQ}Q$MaSp%~X}PugOvJrWVdCJ){r_wn9*7p=r~cEzZ1mKy2% z4U!6s!LN$Zge*0{GL=i@ceh7cX{V)6G5R)34J_RfNtk)ro~u3W!+Ot2ZRBve1ZYLw zi_0dP%MYPa)75efW)0>(aX%2x_g1v_fqeIp8Mr@wFn*#hR`JgR@jU^TJK<9=8Zuqo zm;UVP3+Ky~gItJ3;|8?+D5h`@vAJ3Q16NfZ#1$$wdmLnAQ*1fzMQ&T~xM#Mihny9D z;8x{_Z4-0+A#QW({s2E8BTr8M?GSx>{`8y~5S*@rYcCT}FoO$r`-~k+T)>k7+*#o< zn&PZb)tf&p^7CK`{=HRxE|Z^A<Yy=O874m;px>MouE@_G^0P>BQ#zvlkl-52&y%u( zt@86yQ7$k<R?tI!ww0gp^0Th|tRz1J<YzJY`CL|ZM}A(HpFhjb{ql32{A?>f<MG+q zS)r~BRFa<o^0SmgWs$6Ymi(M3KS#>X_vL3Nd>SOtzY0858&muj3z;2iHRT8R1UuBu z>3ga`|0%G7EPg13SC6%TF($n22pn_=uOX_89<>xvu3;LEsDfo@$g+=ss@=SW?>BQ4 zAB!lv<sc{Q&N44UWS0B;HoHfK&Hx&>m5R<(i>6OQbbOWvPIP^TvM5!*KqcD|g@zQY z$13ZYjs*6Rt8fqoIj1wXIUF0X{B=iST;?ILeDS-<+!oH4dp<M9nR+$9W_$4{&Zh61 zh1mTL+07n6A}-6r2j%vloU4t&C1}G;ObrW@;qD4K*DsvZS!%-?+t=hdVMy_)wL7<@ z_MIM3wdMGc`?qnKJKG?%xrotbuAyPG)E3H2Z`v|Tt<!s98(Bd_&Wy?!$7d?%IpLgQ z)}|wbdLwXm%HI*#|I1m80giCaHTmQ32sUOMFt<f%la?Y-^dJ%pEc~=>dY}kOu3JsX zvsKFwe`IyD|B}`(^Ra34K<yh(H<mXM*l!F+I~AmAw<9<%joV$6!&m=5wyr*~s`>w~ zwYsP0+r!q%s@ubA=wUKU54ushQn{&^=Zk2FE*3-FOJQxsP|gr8!XlZ3NwSDWVUjGx zcbJ^>6((U+_ItnHuXFFte1H36=k<Ai-p`-U`JB(^a~`gi3r0#{$6nrTLAyC<cgd&x zXiU3Lr;Fc9+kGhq6mgW|cXD{Y-HX%BPs=<*dpy&<sd-^x;L<L20;D~bcQ-rS@3}wk z%V|zh-(^!q$A2P}q~cu#Df076ovo9fZ)z^yYK@hH<`3T_NHqK6@y`phjCQ*gdaS31 z$(Ex$1}Wd}?Xql|x&MC8UCG-zn>Rn;nVEc3XY->6JnwbeHC1$XyAwMJTiSgfuQopD z8JP2}oV_CRnH;Q7Gd1iZt<;0flEMO?xVo10i&6iA)Ng55FxC9yL65&vS0PPo{<OK> z!l~xOWpWibZmN0vGEeWLGsKS7Q+_h6xUOi@5Z~hQ@0`{)DS6@X)-X|PjcF%sv`YSM zY4_Y|=DW*eworbW*?+kwtw)`lrn0@euw7|hn;(tl)TEB)smnb%$@}}6i<W!(4%^vJ zvUlen-Ii~%w&I>`NxQj}DCnx26goFr+QEElxhJ#lQEp{ksn<L0@(W)b%tOmP*LC>X zr%f?xrFr8+o;h95?<~oQN?+U3?wrnT%`YGFoRIdy6g_R)Oj_D5Ch$kkq>^^#6mys< zef}DG&BFAII^`{V(P?r0KU><Ff@Bbuxb7Du_YKew9v9ec{SUpaA0SM>Y-x90OVwh5 zTiRXLsjc~r=@}b2T8eAy7uOhD+NBE=Z<3a_OA|Elk9T|pmn^RFZE4pmpTUyMNyTA7 zZzLtPt(7FS6Q)UnKNSOq#p0h*GimIn3s2Bzzy`fD=ADI^!c;Hh#a-T$|9)ZIy`|kN z0_AjplbZz|`=e}}w0l!fxAl8_U*9><ZGB_9)U6WA#BS@q>3RK(7KNwChErL`w&qLa zo{X`-PnHb)SsNH!8(5k;SJ<O}wYi~FVDYzaOL?{<o_f7JYb>2X)YkXBzJnZ&%M}If zANKTbJ6yo9hduq;mUn1tP7%uR=k$r($=<-y$&K=T6e-E?bQ}ZR?=Lxbt7SHq&hm)1 z=KT+QPMq8WU(%8pZ4jO;ZFdTaveBe7yDr~Pl2UW#UGh{JuGw8am$E&6fW%(fZkJ#k zTdYVQv)dz{^rH_;Jn!Q9GQO4_DD8L4TAU-}3*>-jvD-=?Es*8yffV!JM?7g}{v)0) zea;|H;9opd$}=Qw{ol@~k@Wh5u}r@4pKR7V;+bKb+FmZ5sq$fs{*QW2@J*2CR!f?i z-(7sL?V@{2w#XeHd1fX}e*G(1e%QR7onkJ0)N_>ao^-Y5%qQe-<fEQ*2ID8hB-}iV z4%B_KXnDhycM0T2&AQ0T#!2Sj6`oPuKa{86<<54toMfGwQ<pR+nU}7REw;&jnBT1M z%=GS;C)uUiFV%ATt^CJ4`7uv!x93}^B6Pla@#7No6OVbW^d8YtBm5s7Hv2s8Inlda zo_BY&z{p|qlE*!{$6hJUNZvfMIOK4?IZN6kN2u^Pu=ua$g6_?!D2sL3p8ocqB=e)k zJx6sud?-$O;UBZ@6Q04TJB5N}5}xHwksqy*ws_%?Ira(9iEZ=Swl!~j!gJU7Zj=f( zr+#%XDQR(&uiKqN<($NllWV9ygbWP}<>|-uf^83~@toa;gXWl+=e6Xy2hII4&*))3 zsTH4&Y)*YmT2UU9T70lseoPIM)>KxByO$m^Pk+)gcGyN?5#~YiY3&x~waWYotDb32 zZF9(c@k!69QTe1CB`@iqU#sSBOY-E(tpew0b+<dG;98#g^g(&BTXyJ%{B4eY%5zfZ z1`%PZMjtd6J>@wgxzAtbM^AYM4_G2{Sb<Br<$h<o@5f5_mnrDdb7cye`o&nY+tZ$- z`#jYwkGtS`$vd+o@Y70~rkDIG<J%X_=B%eZ(~`#zHlKW2ZoBLl^m@mYo*UXEpMTiA z;~7tG^0&U%H$3CHv~9B73Lm&iHeBA2wbm-x<NP$^^~0+?uO=to@Q1l>wddUAd;6H) z7iDARhTqL~FQS}ode?ZKOTPAi`NkSq!Q9;29P*Oq-Q<bCnf6Oko|<OPuJnAL{PeG{ zkA2xQI63*YUtSNr;@Q(CIrfuz(yN}clOOo$b@NqEcH78TU&{0=^Ar8QN&mm1|DVzS zrv6{5|8LR%SL^??zk}2_-{Su*ir@PRIHLa_*8e5?|5p9KK>yFw|FiV}2>n0cVm)-% z|3~Zp%mygxt^Ygd|5^Hfj{ZMe|DU7(&(r@G=>LoK|Hb<MQvH9K{-4)iKKF*FIC6a* zv@X>DH|qbJ^#3jT|5p7U(f|0|VsqwV{eP$ae@QjHtp9J>joMrF|2+MFj{YyvR4kYO zvKW)DkS85Pey4nCSVsOr-$b)=y{EQohB6(m`O5mvy!TB{PT&qH=}5-mtfbf{R}%Zc z!9R876DTQ;qP%$?c5RCNz*U0d5<-&+Rg%53t=VydY!B6^nIkvI(l$8Hyb#A|ntA_j zPtQnraecD%;Vz3W3m=xnW5_x;O(%aoJVYfUT?tjM`}<EhUlhwaH_OfeSE3xShe+As z55epb@&hY>3i+LKz&?<QnL%+ju8y{qY7TwNGc*#qTw;->_yzK+ZgD<pW`I&!8~{F9 zFfJ{0C`U``U^Z$G{G|>8tHA;oC@FTz0eh~L)j=_;{FgCTqA!T@q|~N}dW1r*!|VuT zfi@(rpo9Xm2dV)Gi$T9Vq*EdT%HJ@E5kl7LmB7O5vzt05%J!kiKh6F*GCupvsT(~b z13NBCIOc=w%1aYv)w`^vtbr_P;n(uqW9WxD@FP!u^XrYCoV=;II$Iwgmvo=?Q`4Wa z>yEv{t=5yr=?=V5O`&43Zav;jGA@q_-XLmZAA_ClCaFa(^e>UIZ1c*uJx5PIK}DI> z^CT&8J~=uKVD}oY@oGGV;5bWM|LhCR0UvpM@OG4WWVI)4@YSD7TJ^rhSV7{*93LFM zA;)o8p0+g?ZSwT*JMB-GYcT2bkCgW2Bh{W^NAGUeV)~3xiZzXcWok<HT4cGG6ix32 zPkJ_TG#8BVj#!BL?PG=FoPsw%CA*e=WjixxlP7b?tQ~QG2MS8~d;YNre~;W@-nz-t zFEaWMI4o{zYt0_OY)Bc8wb%zPPPBFib~jH-)Z;#ry+i7S7n5MSMp{0uX9MX$$W#)C zfmaG<?+TRscbcqQB0}K$bG=U(B*)p-fluUO7!Oz7y2hpM5|_HO{-y5J|3}-iZf&`6 zH0ss7*TSJlffUgG@EnyXE>n4AR2QZZS3<~7tQpE7E(1Nwp#x_Ss}V0TZq?Z-#9rX? z&_8;TH$vc^5K|3j@Fz{GJ)^*(%OrM{{H%gKNuJddXM>Q*lRCj+;AzBVz<%ON;2h#w z;4I=s;0(e3IT4)cY>Uo9m{{eJx_DCrt@-j8X`(6o5W6c+ljj5e@@(eLak#WN7u3xy zBY+>}oC}>kR8nlAyewJ!t2$8>L4lo5riPE~Y;}z(Er!=Z|5E6}g``Po14};EZA4cu zDK2AOu%*r(ezRr=CyYp4sHcPuAW{lS2_4a#y;-hC7w$9*H+x2&)F0CEp6BTAOa0~4 zzgh<Z4nsvZx%IFA%xu_<hgCi^JH6-W-$kMpm-EHAoqM5q{Cl2ZZ7wt~e9tqg&H3iN zHJ;2!m>QpVJke&*_vz%i=d(I(No1ZKL7cviA!xVwQSMBLe$DvXeKm>5sBldrSBRxf zEGeJo78l=1nVUXyWm|NW!PnU`KNcJVPQO5Hgn_r+tn_-pV&ksQ%<%i30Rzq#hIqcJ zl?@bU%&R`%Tq8`8b6rf?vX&M3J=^8rblfOKno`6{0dZKk?3yCASgC3Y=}B9mNB_aK zp%~u^7fnxzrj`+<q{{<R=C4Mq4<W&&rDs5cbstWfxT_lJUrSYgI&2*#E|crO=={O) zj=nz3lJYITNyg=ihZ_COH@0}Z>67$S^ufd2J6rH@^P4T6QD>azin|s(r-S13i3!Bo zmd6rTfM*zS0Qd;vBH(W4nHSY~M)qu#OjLY)t{JQGr2BjEBAyRgMV=a}2kuOI7H|@A zHSiK>D&?%LP_UW(mZxw3kX6+|(h^UUN<AwSp5o@GK_k6GNvUSEU!FPh15fIaQ&bOj zKV&kIZofV@QMSjvtSOF4L)a5KnD>1kGriY8FyH>blh$p*2WXvQzsT90UT!iQK9DKb zIU*akZNbZ#pg3Lg8AG*IL)*i|2JlCdl}Gt+CtdMEVsr!h3gR$yPRHa=x;W@FN!JcB z*%+r4D!hv+RAVE^R1bkor2BziCH4WY%EO#tpt<)$&(NG|k0^@Ap}J>~H3<7B6RR)B z3vQiTXtTPUWnR41lNw=U+40;yccMm$vVHVR>TE5HkAl6@;zHm{Cn=9!o_mvC33?}D z^`N=E@+X1*8?o~I;G*vqEKiabYsDw7ig$_C!0W`y^Fn)b@HV-#nzhB8vCWg#weo#! z;4(P7XpMQ@HqW5QS>jtfFREY*D9!}p2$!;M#5l?Aw#4<w-JhI4Y3_FS)F{H>`48zD z-Dkv&h;APBtF80S>a51fP;tgtXs@Fpvz1f?-Ra~F0Cy(N2Tmf+0zNQD`73}e!E8I7 zK4|?A`lNp3vh{r69Vd1Y!_<09NHWTYt<=cdu3<@|>Pe4qKG}EETCEIwGAvyyZ&S7C zz=*C_itQT{DoTp$B{pF_OIRhXDA{Y-A*zAz>Y*vCf^2i9u}yy1TG;&5zkO?q(8t#) zV>yJ9=|vPCwQo?mD*Nx5nu|j4d`++QY~D`nc)dZi{@d$PIA-+~$0JU6;9ORGdfes2 z->0YnHTH3Lx934}Iga;bDG3gyxg4KLM_|l8iOz<=Gn#at;D|kx1*F6t^L@gI-Ia9h zImyK3;5n<U@)QD3C04^<&r)ZbK;KTB4#V#gYbMtdt3zuPM>qgJ#R`q|A>v#J7YmMe zG3{iPP``tdrZ6~ai1iGVXS;ARc|orvE(8B0YSeyT?(l<tPcj#oDiCEw2o(hm6BOmU z6s?$`F=m6unFK3#Cc!??ok?&A*qH>Y(?06ShR$_tj9SURT&!47rWM4hw7#20qj(3g z8mJ*w0~?4nfa*5NAB2I~)YAwj0xtdI1h?c<G8%E_DoZFFg+L*(4|qOt3^+s_0zNR4 zig1$kkaB~R1;>Ev9Nbe+vUh6qtO~KznI(11cg;W2|GAwYJ%25$(8;8<nWHCuG1RX5 zO=mno>911r<(8zD6KYyXmk*`fdd36o))x23QVqY3i7=sp<w|YX_sbh@=7jB@j7WFX z#K+|@;+ycI3@RnXA>gN9(y2{Uu$cc{%!$*EGiPkpQa1E&y-oGkVj?%-R>g&~oUp&! zukM$35&Q*lB_?tQ7b#C;yNDFtW`(!2;8%!?ItqS{xWX&=QDS^?-M)`l4gW?Am+a@_ zN(Em<y5{gAVl}*&JnGyOp`#Jh*jO^D6QhWcIf=Rrqt@6aJ0_5u)8=ctYix&q)i`5p z=>cp&w1vobXUQ*h_V?}N^AOVP$l1fwMLt&+KqySVS`(54rrXa@#oBNSiG847Avn>4 zbw1Xwq_j+oSR>?#@kAqL!MUS_*X$ZK`ljVuouDJ$!~xX)HA7yj^bF`Z<KGoqW|+@O z#h63|7RP01m}MZzstmYDaLc%kP7`n@hF`yK4y^O^G^=|X-8@NhI$F;hHb3<nJ<V~S zdwL}=atc3W8{HyB@cfmlB<{FxmGJG?iDIavxDbZkYm~Ig_9D8^8^DP(W-B{iqi{)z z?|fGdG6{mr#n9+Dy&NfarWi|!>tW+o!52zJH44|VA|LoNVolOH#BkG|POOehB!+4G zIO06uBZ=jax+J^b>E_Ixp7hA|uO%+fareflOI7ILslRAQs`Vz~7|xCnvebZgIGcX` zS$VQC7<^9*?<DBg8FUm~|6rj?_%HxA=c|PZIsZ<uUvWg*tH|f?Xr90(3bwGMfgC+Z zJEpqw$y9T|7oNV6sj9~(qIMqDl*6NG#Cga|C9xM?=MbY2MR|LAR|~GG;$5P@$kxvo zDNn2tzn#xol$L_cI$^ylS^gwx5FM*-<;*t>O%vq_G|7w~_)cc22II_W@(Q5PD}l#f zp}Ej@yY_TBWu!tc#|@|bZ?~PEYrSRq>O5J=Oa5j@y`WAy>UmD#t~yWm$ntzq81JJY znEp(LPtj@td$2-qhRa8P(*D|nX1EWSOASfKlbhU`Kd)L#G4P!L?WM(4z*jNlI+3`D zxJIs%N%kxjDqwI5vBo!+I3M&;#D3tx#Og?IV(lB91Sf_NomJ$5{eWafe9$JfhzmjA zBY4|Hw}7+J-kf>V+Y&;F?uScw8>+PwgphTOD06CXt*N`l+__60?Dg(rg1dhy34U&& zdCWI*V=?@VC&k-+@nyb)vRrSHZq%Im%tmwOm-1wuJQ=4frC)k_<jmP92I6gy4KoL? zl@~vBw_5hF<eBir^*-J`@cl=&5`)&k0*c!rp8VHa(AmrEzT1<Y{B!|sIHZ{qcYAvG zT=CYw6`yQgwOh=OSFRDs$2+1sAX<MtMW6V<)86d3$J4#%t_}Z|kC-F(i2ThC>y>*v zy_2usK>Ow%QPS^v^W{CB5k1rXM^wJM0nyj514D0f<X4`w<jOZGdhS;udahGbA~n5c zz4>p`e_dm~`jy;EJ8&%({0ap>t*3&1UyB0MshRP$CoNL8{@)6Yzb5`Pn{<czu9D_n zKd>9)%*wr1yJ|kp_CtG>-iQ&wN4mCt1L@U<(Cdg}kUbPu**py8)uczf7+Th`ph_!< zRnayIsG>3#&k|x)TH)fEPrB+15!d6KnoX>Z7LvcVlhDWQjc5b`jKtYwQtyTks}lhV zsG`m;McJgQ(+9p+J!;q@R@u(vQT?@~tKrSW_40t7%<o(RdlqPl)L4vk^?EbuYOIKK zHMYnl8zYYzn@hSH%Oh5u(_H*v;g6t=k)j+|MV`xv4ARvJzsrdf($$Hk28~`L&Tu(V zPr5p>gII0VwD2Ee@4KcY;>wl^dxwi&F7)^agh@|d`S`6|EUs?gXfo*=8BHcRg{!~u zbWiT@6dshCw!eS(r}_Lho-vVhd49$jK%9GVvK9FncR?i&h*8F|wXe%TrexR{e2r7G zYFuB}b30U5FxPyi5!dpPS|$>SVMwOrQ7N~cl0$(NxfL_%_yAUq0qh3`se}EG#926- z796dEvHEZ<eSj_d&u`VP`tYNJ;b%7&&u1>4EyODOX2ex^$;I@vLx*7x15*Pfq=)1* zmb6S}T4Lb3_Hu1AXE*mpNueankD6hAbvy*T`vT<(GD*u{GcW$mGpNl3v-__yJ2b!Z z^q7P7WIP{Hh^*xbQ^hZ*xML(pBTnh$R;3)r0c12h!SwI-4379wIF;%Yj}aX2LweP# zL*j;vSAWas<K?evBw0xH-}BXbP2Gi@Pln;*CES&@&?VBo(dKBB!A&xhOKETgB64+P zu?CJ@n6Gmd1B%yDaU;whf25jMBY$712BFN}Sg(rJ$Xa6M+3DhW#Km(jvC7^7EDKvL z+~8umk~j<}K6cU1B#z4TQljWgxBcMC#k18i;TMb(W1SqFdk#M{ZyM0I#5EX3b`qyY zQ23Aq3wR^3_Vl&H22%JeaUHVs2r-^cvF|0$h3p*;KU_NgJawr8^eY`6&9DofIsTu) z@LQQqbybXU;gRFfQH~rhBy<a5&xW3L=c;~;WfJl=uf*?>NPPhH%UGWUTr-ZFzFYQs zdPIh6OX`VJ#QA*%coq>yfy2Zh;JL(p;5=d<@HFB^U_Y@JvE~rRK(831wt}E%IQ()U zNwU2xsNodiTF{%gDenW`N9+f#Ck_GcAdUjp5Ub%0#2Q#7u^&7+S&77<Ji*@VV+K%} zRi<-sA8-b72sp`w56Eu>NmgT^7hP<oS)O4%G0l$;2-+O|$C^P)KF&bH@?lE}hSB?g zH*j5`*{UbK4ElBmPK?Ow1Hvk+(?U5|N3C>?!Hv+7ew6xMjcl%<4mDjytn{-QY&{_> zAz%@!(LKavpob`s3p|@xc`6(pIJSZ~2;6wKd6F#)#JiqOxFl;{NFUfE)=G+#)EY2v z_)3TTyHd|V=#|pCm$alV*1DERn~BR{rHZ%~cr~%w2+7@B(Oa!kkY%iZTDyoi47`X~ z6@`ga(Olw6@Z=F^15YCk0{e->+It;-1e8VG2%ZeV5%EHWy{xE3MGCQIpzs83AoY6M zB|4C*aDA@Q!{FaRTnSu5tXbJW90a|RxD0qD@Y2~sytC$*pZ(V}B>T8E=p(hV0)b8W zqMwxI!3n3-O>65C<^QZPhyCcu_D&vwCn{v)LxOBhef>pq-jANghMcdj!ImO&Ya5=q zm{`?UjLNgsm+ys@8td7Y&8&U$VpGn`<|F$&(>vYy9jfJyz@AET|2~gD^5vexP+Vip z%+_Z%xH=wkJT*6pHmf%aBGknpBYG>zDX8_|j-vqjt+m%FATic1r@&};uST?0BCmge zh&)M)4?Sa8)Hb+kmeX4#cTb3@(Dht+kXRe}Zig-^>{}c<@B(5uZC^@U3w$;(+dv*e zkWUi+S2Bq;aG=D@{@K$la`;FwDxX4h_6F`fMp7Y9#Lj2{3z|y9+VZ8ON<VE4lBQ<a zZYO)4MlpLz{W`~$j8B~cJh3)A1<l#(T990r8-Monjz~#@Rfq2(*1)60P;3_fBM>Y_ zvk`~m+Ez54c>DsIS3OooQs6Nf_q>rV_eP2q^f(P_pcdf7>|bP+<}&u@v59#M8V8%9 z4MGyE8>4l^x^CM>9EFe7#8u#5cZ~AaVAWIixehOW>@960R-M^9l^(;Cry+8Ywtl0u zja@+|JSk$YAjX9e7t816;G}9TC9*klSh-4T)Tu&Sb*Z!af{ImF(B;S^V&#E73=!G_ z=er#7kx8TIMGViyk-aphz8}@fkqp*kdByogON|#IBP&O1Ml|v~I;GCuL%K&jiH<gZ zZj>49Xv|=<BB+XAtCV?=OGz3rGGlinZiJzKMyVk`@Y>G203yX{J2c(Mm)((A10H#y zd)us}%c;-BmlkH#ubwWEBVvhbhqGA!zPFB$`LO)Kxh?oDVhyo7Eogf#|4c1|Us5-( zLR$*)O6eRaB`%|~Y4@;9$(@Cb59euVq%<lU0oFrLxV#8J6E=PJ^w(IS*^bdV>g)!I zNg7mJJ)PFI`*kK(o-naC?t$&<VL%#9e0pCp;B@vtb0o7$if$L1&i|K-r9s(@wSIrx z<sovQ9*(7lnv*l=RR}FJcz}8ii}sCYskhp~W3!d6coeWqvz2KUnW6}<H<=W7BCdtf zW;VSF|3+L6`VTJpZeo@Fgjmz@F0nfLI<XJ3kr!A{rB4tW@cKbw6~5cWa|^KwFCbQ> zmjcI!Fh7SdD7Drf%^|FBz2r=XFgR!ZwnK-o{x#NA8Kg06DY>7hK|w{mqs;r8WCT^` z_K(!mfy>@2m`gEf$RrFZJ6Nlini|fe{ovd{dOGF}mBc!!UrCHkXy^A<&B}AApW-lN z8%g);%(%d%DBq>%eBvM!d4JUNQ4JT&)>f~9qI_aqiX6&N14<8)uKbgT)wx{adgwef z;-3gQyD~M7P+?_iAjTEPu5;)xwvAY$sU}uq>wx18<XmG=VRbr6@;|Yvw_urI{I0)e zU1NR!oP4Llo7AoQWWTwpz2WO~^Du3u>3%CHn$SineaZ-P`Y+N(Y9o{O)Ym?O6U$`@ zpbX2^6f)!iH?f&2f%kC=oeLbz)Xez|!8?X1E(E=XJhi|ZTuodFEay>F0<c%ILKPWI zbqw@-NDl!=UBU&#QPA^=v*p4h!^D|SBOk>uC#4lnX~~P>HO5C68zHkYpe<4vkx|Uf z`&h@Bpma77xmiS729}a8S4z3{rVcb%^B!>xEPm+x^c)R31pGNM?25_=z0efA$sL|3 zxL!J%ZfMv~vqHs9;ux4ph_#_2#D37PC)Rw=JKFR#d4{CFjK-c=l_B-gCyw|^4l>&) zdB!}Y$ul~mx3myC0Q|82E6svJOn9xYj=~w+FXC#dR|Io;T#s$rm9pxSw3f@zV3(6E z4EjC9RiH<S>wpW0v%!;3T&w)fMHbh-=r+xJ8R!kb(i<ufS~*A6TAU;2lPM1k6(kOd zfMj*hlZdjowu97MPKid$Y|a(j(txF1rb>BYmB_c;aS{=0O1Y~6E1`06L@r*X96j>k z$IMy6B0j;v<y<y}fp`5!TRI(qmU1Vj4D{QHvw;^9tLzoTLD2h6QCY>^UAUd#h!`sa z(}^xcBZ$MG4|FL?b<sPx_z$zCD#8EjP;Ip`1oJ)Vs%ICm+WLq%TlgdPCKiGaewA1= zzw1MuBA}1os#sg<R}OjFQm>My9!<N77{;WfZh1mmDvY!6ZAz5M*=oNc*xgd;PYa=S zQ$faxnG+9s(iWs@FxoQD&(xOD0DhjM8ASm0=&uzQqGk3DQ~o^QFNt%3KPJ`~@0i@u z8aKG`m4flW=K%BLLmp2gN|8E<7r4apiPiM^#FcO(NE`;9L|g`(>%zl{Ro3U???oI0 zzX7~-_6)8toXc~Q)L0h{mUCHF7+ZEpYW4D5CC*vp+ng1~FY+b<PH&~YBi#T6m3(!m zUY*U_L!R~#_75=GC4v(JzwV3G<IE};qFL0N3;ATnhM|2vaSS*}Tn#+Q#gj|yNB0{} z90HFo&X2nwy<AL&i|J6N8jeA@kysTqxaf7ns&pH16b7n^(=i-0oUTn=hYnY_MZ0bc zJmYHqY@Q}3TnM8~<4k3W$|b;FN2VZpYXvcs;?l4}`>_{2e4|LX`|g^Vrtcqlbn}G= zUBgOPoYx8GuRS!FCIs{94DGw9v;R6%?P>tycPq|<)4ww7>gY2kD_!x!!137t`a|>N zP<#*{F;JSk=ftWk7%femS0@J<{XI{ZTmF&P`yPMX%x?CKKJuvk>=}s3Iy{&?0}fb? zP9Y`=tnUV+n`A`Z6C$#Nl)XU=N&7|OCg3NDA!jdl@hl})*;|P<>T8Mp;J=JG20iCE z81(7H^U~2g6Isxi*m1<_#F51LNLfE(HP)S2jkP0IV}A`|pMtTUh_y++8MM6A=$)QB zKvE;WF(URQf#2?A0((5Re1kFih{rRSx0uvg*NQOCD0pYhH9u`@q({`#QymM!WRDTt zaz<fn$J0JT$PoocI&lcNvx^@3RQsvYXA{T3Q!zoiLM0zgdg>uKSX_;ojhk^tvxE-; zuHCHSeyNaNySW_U6l2aTrQ1v`HDWsU;k)GPC3qxdVus*vr>mKIr1e?y<m1VfM~G{w zcRuw-abi_Y=OcwNwAMQAw(HHDe2OH=<yVXs(>S=Kw1_2rzN!8XHJQ|1<Z~Ri5LY>| z>Y7Hkbm8tLy%D2iisDFdjDGE;+G;d%Uy8uI-Jfo0<lEoT$Q?%xAd#{np_6-As>EYg zQ|VR|u3W=?ZdkD|Ar1kbMSQd$X`IReQe>Y*><1oAj7G4B`piIEV@P@!J!)drK&hAR zh8IF`zD|9_T+-GUow2izbDm1IwMrJI=x>m>Rt(_!N|oKlC2JH$t`n>ycMZ(UWlcH8 zv^=hlEYPQs?uUe*I1fBI#Cp;caZ0T8MZ`Ml)sABa6#hVdbLNK+YT_zIm9*!!Wm+nP zGK(v0HR9|CPyy+xcr&p&Tjip!Ciby89$IeJrWmP_KkrTqtR=;`g(MblS*{lKhSC>Z z^xRe}FYMOlMJU2Gf?T*8V7HkqU!W^3R-4Dsj^q7*=)LONjrZ(i@h0gK`S(yGbJHwU zKq1Z2@64)-*u-l7D`E})Q(`svo{Rqt7yU&S|C7Y3XE`uN`&o0&Hot3UWOu#z69ile zPpn&em;>7z{gVH9$n>{2vT`3=+uZzqiu@2$$>jXN()2jnPr96v-QwBkP!p>LAt|M) z?{AlbbhnYF8EbDGnf7j)b~jlkJ}d&#*F@sJ4D&zjjR6rZ$TXZw1#?*t!h;mET~z@G z>jM@pdKu@7e$bZ?>-J9FiJIh?&?U*+%ivFONW8Ou-YCr{jSPuzH~twxTUas}3EP1O z<iLmbq_pOKE#=}=|NAX%a}~M}3dm*m2(T?N1neYFC5EgIi5<Nws5gdTuAbBKdYmi` zat~szsM1@*<rJxr>%SOZPvc;d(rT8xP~iPlO=iLWWrq)Ihr?K!b%b_N%|r$<42pF7 z2h5Nm*O0kOT%Ej{AzRd}flcbD8Z=Akb%`KF!z1L<%&zIHTnNp6inv<xDqPdZ<&;ix zX&#d+K1(Nes)n>;Omi{z0HZA15!|U%uC9%7868Qi&I}^fpwk>I&e$DYJpc5e!<WJ1 z{VasQw3k?gza&;;9}`Ex^A50kP9!}a6;>Z~>BMUIvs%f3bok#M)DGXLNM6}MH}_i? ziUJI-Dm1eX2UisAV`;_@JWQ~2HJ9)!(aybCT?T9r>+0lCx`vYtdLwZKROE1PU3uzU zJllxF;IAf*R3H@%>$QosBJif-GW6p^le7&gF%hjMj}Pa-I${`>#=h%5Imp{~7`8s7 zgn>T&G4Cpr<1Dy?61m){Sb48X2$#GdA|Ik-5gPzHi~XaW#--_4KT&6~x;gL<S5AIh zj8FbpUDFu<aCYJl`+tdxfWIaVBHr!9A=r@qNsHmmSQ!+`d*R}LBiQzgSB%K)7)5G< zml6A5x`;RlcoDI>5hkt&eJ-);$s<;mrV)ps(=Rw8hBeL{R;Z#ZVx?!e1iZwmG=*4| zHl=C4)bKvwfAvx@S*M^M%1W*ihIXvvrsrFc4L)Zbx6{jBns2QZ1?Z(J^n`pjLAF?j zsF~YoCLgI?C|G-`_%9=>1l-F!x1%vJ=XZIsf0}$x2j7k2gX0rAQFYK-D6a>}iQ*G} zxiXynF&wF}&L}fK>1gDfc*V2v>%k}8C=s@vk+nEZ9-sB7gM!xmL{z>+3T9-JC+%$Y z;xZ|UM?rXW4l%6R(}}~t6M^Fy^66HzJj(fKclB+kaENcud_><C-Ur`?9HB0Bblmb; z^}Xm;(AwF{v^p6XL#u=$hSk_=!7cM~ohYeu%X%<HnXCVuq6Hn|DS8I&FtI9=ZhWzg zZba^7iXL7WPf>H1c#1yn8Bftx2L-K7L`=~-DY#O!T#E4&EhSd3Zza|gT?_m_DcXwo zCsrLz-!dKFo+)*uXpG~Q&+>{2v|P|?-&0c*vA8x>V|xVuD@AH}SsQguX8iJC0r{(d zS9_JN-O!t?I0X7;UL<_LMK1k|fLjGnWoCcm@tT)*l__2?TCp%-<x<MPa5tP*szEO! zk6#8a88136MYkw+ri%Er2`QC<&*D<48bjo?lXUP1L06C)|2hz+tkWU2o_obZ@m7L} zgH2SYv!tO-8>@qzDob)HOK~Zydd02m%e&pWwy~t?OLFO2$5Blks~T~o=1)DF-%8oN zt&~Mssz7enjZw!m&qhnc;{MuJGAmhfB7Nv?v%Z^=bxFhVnirL>V2%~9Al5vVx#&w= z^g<VXzKb4m(Pw-4oK%U|=n@&i3f-bjCk|r{(V19to4r<ZSc_}lGGaYL1J1GoSFg^b z=b|x_i2X_0V%zW1oa@F-8YRLW;pzz7NBV^!g@0sf@7}lhd90b;UHaaSw<cy@@>q&E zrdPaUID0FDqrc~Bu2E;7$cFO*-};_rF${c6H*G`Z&m>m<KExV)7h(-^({Poo?TG8$ ztMP*1RWAG(aS#SR?b>pZy+@4b?Kg;3>5DF&CtW<tT|7%&JhuwITspogy4J;XnTzQh zV&$3c;+Y5>KcoE|wL{jU^2WIgNonGmjM|@Xk%L@O78aSSdKky18#+doB4gGLS+-$3 z3Rxd^;mj)}LiTE|=D=ddi1jkMj97V!h;`1sh}e&7e3;m)*ZWSIuO?jA^N6FMPjkuo ziPO6ZJ*P`V1!7>zVnq@vI&(=F1rBrNqUT2ex8C)v&3Z|@ZzBhgsf)Ecf=kZFaV%BC zk?`@_ll-DfYI?9HikjEPa37@}g{f3m4ObrTtZu3K{Ty6_9JV^&p=MNZmHggUd;r|m zifixfEnE+fOI^NUjk>J(O2v`ld`u-TWQBV54zb321J$a)7}D!;l8tou(c;aSNlvub zL!CqkWW^5fo`RkShh9|EP8j_eMq^t!6GVZRMUA)M8xB)mt+|&qS;)${f9v8(V_$QO zazR4mv&a<!*IcLFk<)ZMS|kr2c2lnHl9j|@P%_z{DZg51-j!<fN*e^3_){L51g}u| z4Tz6ZjRC<=uo8<i)S%10#kH9_^D=Q1^k;};zz-9LfJ=!j;M+Tz<I{}vvGU40=7QOq z#Xa5Chi0pLr867MPvM!P)UhIu31JK@BRk^c$vECirC_jA1mj{Z@%m6c&_Vl<V#|g1 zbl@=EwzrWwe<dp#lSQE1qXK$)x`)^&t*9g8>K`@rPC4Bk-cq*1wr;Xi!{}TYK@%x< zeiEGf7tdeE_XQ6&db)WEMXz;j6`$*uHwb$r2b_YuJlJg__KU2@P-#1+T)vG02OoPu zx{&h;vipJMJtm<``#+6tB&%7t+njm9ZRSNoje)Yft%cZmhQ_6vP-nDP90vUq(kp>a zAkGConixLX1Bio&ttW9Uu!lGbe2}?<ar+lyKlTh#nlpFZW`31!q)$CT-e5|^5)dKr z^3B`SXI0VrPfc$n)cwe<S(q2DtI1U+*Fq_saGN=yk1;5%C#do6h?7(5nr}64l)6)Q z-|DJMM?f=w&<0XVnaAjup%blDmRc<X&reK@2Jwwx_Wi?sj82httb*Hih2Z#%Q4$^k zZ5iwJ<SR<i{1)OwTtw`b6H)un@Nwz}%65|PAes+vF4{{fv?+DZ*&>c1mn%l=$-6-3 z3L#eL%apT;ah^)tLlLj+P#}scDWY4Y*KmhjU#A>Ii2&EVlNPB2xJ3SVmUMmjh}@Ln zjlh@Y8=gLufBkQ7o}OpPyI1<^t9E6`S=H+jUD?xFK5OU4Z!v_dM;x+tYPf5CI>^<j z^N_t?p3_dP+5HY!LSbOP-=c29fVlb6&GAmH5q<S+OVTDfV#vVn*_t%X*&F21oV`fw zsE$yzrukh;XwJ59-&&jH7D_ldd+cWBER9LKk3~(|Z@ZkNjil@LUv0G$XoLR534DbF zVShuqcAC%I{$uXWHjWrtCP}c?q9)#-RcVa8dPXc0-i%|6BgQN5wQk-RF3=Z|S1;nn z_S24~I;N1Wcx+p9aX({da?iHr3;m3fy2uSv$#fQ4peC6EV(<P&R`6CVYvP{dqxvc? zbhLpkB8DIKEEjzWvGR{~@r+6~@9S^$iS!~(`=~)&CyBHVF*_>P=qz>6iVeh7;He|7 zh0SfmO`um3hrqwi#Z%$pSwS381I}8i9KuUjp+OZAYf$rvD`6}|tWL}(_QP0!xLUCE z%h82NEf>}Jm#qTUgIBsnJbeLNczX-4WL>RZ->8F+dNYL^xCl|WKDbf2yyB;n9%M;F z{v=5|mQ!<6E555(Qg7$UO;54ogSU^0jQloM{Ig<{TM3=u5;~Sbj`Dst#!okg@aqln zcSLxN&5}8VJ;ZScIQ<_Ds0O$*aT$7N^>I4vX-{28oDF&fu@86!aR|7KxC}$+k_Zc7 zR1^|Nf#(zJLw%vkwaYhxK9^WmAyrT65RnT-8BZzJYhA58>n91R#%ygFc`7gmEFw09 zU-Evg#2Y9bQmpsr9;Zma(5kY9sN!cZ4(xDF{=u@2f~AhX{qLArS}iSW1@k#<{yI>u z_r2F}#Oymr3O~Qd!YPA{)YJ^|E`9>SU-9M00&NWQ-a&>Z|Lj;xSZ@+*SPSF{xp-K| zlCEhOM(l+3SAqJjQH`gB6V)iz#N=+P{orR#RD<Li2g1W#8EP&|4{AdP5$)}V51S_q zHhcpw1Vh~Idh~&56sbhB_=PP3wtj9l?LwW%rrMeh9X6{68<~+W4!N}X;lO*KNS6kF zgE$+vEMFwnRl}3SVK}y&I12uy#QE^*R$?`GEwPT9ml4-soIWSwVw&z^n&@IWj@W|0 zk;LjmKNo*@7k@iqHT)Mdh(?gs{q8z#k`VT8&d_;fq&OR=?%+2PomSYMAzLl-`34m@ z-Q!Z$IHfr(p}p;yauZCl=G2U3jSgZrW^(O>!Ekqb&WRv#5j5k;G?<x1GaBO*VvTVu zu_kU5u_kUXvBub&*om<XO@|TV)&JF|3?jsdRqhbqy;d{fkHGjBT<z4utF6RN91F?j zl;*Ld@m`wlj(2)1z6q^L$GD_Mw36z5ZIT%pYD|fI6jpCE`VMqJjU1L)5t0fge<jwe zd{3;=?;_R=eMDS?Ysw~K3;0#yTr|Nd;ymETh$CJk=zbQWz;_a>6E_j76IT<f6BiS! z;W@<GG^Y`(bK{AfrWwXCqiC83IU^3iTK{>kx!cBGpxKD^kc0fb%L4P=VaBkuVo>9! zz0)8!EO;nOs;2)xRVOYm$D_{s|I{72#=IGIpI!66D&M}wd|m1y54r2KVYYGQps`mI zYwYWYHTDW(&EX1S&21U6CVdI9Hbx<_Hqv}zZM@JKENBvE6FW&f369C08<P0^UhN-Y zB=I)xxjLCiB9~M8@M?4QkrLFCSGxk%K)(1xHK=1-iPf>UiPf=JT=+R+?F^3+YvA`0 z>vv5S6DQ%ScOx<ONA0U3EL5X#5pfK77I74K3bFRQvBaAFQ4SA69Zam5?M<u!bRyOO znt#{8G=SfTYh>vvZwIiTncYnsgQuSmM}glZ4gtST><4~<xE5=sCx~_T<w0V7w%~5! zY_!iU#ApS3!S9D7IGM8%<)w}Q@Y%$T5ICK<7I=aq416qc2>io{)xZ(NUhs4yR)^XW ztD}D&&`d~Qm5+n{$b!?CKEF!)QVik~8^{J<Q@Q=?^d6I3+6*r^%6M+hapYN=!jd-K zDRSql<#I4WYGkj%oH5)O6iESF{6v<0A$gdnt4^!5BaNg1#e-Zp&4oJ>2fB&uKQajt zLlwaLiHm^ux+g~^lP6^+CFzf1^)!DOZgflD_}fDxjN!>;IP^9rk1$e`FCo5O@T44Q ziu*`ks9SNG3u6){_KmJ$bK@t9m1qBcbK3}GXxk6>A2wI_GmbWWBMl?6Y`=1Z5p@x# z<(OE?qCMTNc|x<`l(X!rR^?oG+3p-u-hA|j@G>1d1L)j4h+`Psi#W@!M`xWz`uIll zVm}M@A|T^yk1MnfRHNO`qDY<0QKcr3uQiQucJ&r#n$|(yGeUmf`QGe2%1BQ(&U3BM zi$taMNi4BK@8&5IVe46kQZmZuF{Z0@3}&{ZxCTD|^Pu=&Qd|U|_XEp&S9C3<#Q||= zqj~#r#*m1Hu<wDEn1htj08;vCx6_zw$fG&hK<wzfcb*2OS=x?CuzW_!5bHa+7o6Kk za4{vERII*SC4{RNGV?f#nwjMHoy?doW*eTN23u91r91SKwzj^M)cA|ykVIxT{9=BY zZ4C5n0xjOld`R<4F0QA4F^@P#xT0<@on>C*;=1G)^Za9sp^-6et{UjdBA31;H-Clp zmuj?Jj98=0xnJ|BIm#kNj_iAgHP>EZcrKxTdzogU8k5nXM<j0fMD+9HX+miI4Jz<i zJugVCP@Qj$;cd2a_Gm`1=(GE!>%1@k+ZVG%&~xm}543fPK=0F8aRqP}Vr_tlKZ_o7 z$r(mJ^Rdx}F|;?zvOm&Y_<r<g+?v~Fwua*0eloX?ma}u~PkMF^H+{$A>?DU?SBi*( zI4u?tSHROSaV_v%;(B<LN9+flMjQq96Ni9vh#MiBMO+Vh26050yevdfkwRPz+_X=_ ziUIE<_5;@wt3x}8!{Rhfm`iok<p;@~{esdOF>Ym?m1vNXVrUfZ*rnXrMbSRATaEdF zYgf6?$umW%WEXo_B9zgp)U{P9NlLB_%sND!LkFug1H|RP8NgGVPdR&8p~h2)v%%EF zo$w&=KH?_edS{26QGa-exi3ea_{y5&iZLvF;_m88)OporFhte1hntr960UGvNUlQY zzK*)l=@2e!oKjboR6|F3ph42&)Eu~2C-y#B-8ht*i`8-^bf!>eBXAQ}C}qI=h{M43 z#4)jJ?;wr>*ARz*HxT=QD~W3%yOLPCu|8~c@5TR5H^>)8Yad?2iI2rlDItc1TLMAJ z-nOfy7sR;p86(#qa@Di6FQhU~>1!#m-LbkW!zHR0J<5`e4%^_w-wS-`2Q^T8y<l&* zLz+REqT0Rg(JrU=1qz8{xk4W<51xs0<#I8%8%vbOH(ziAagoepB!t)KPV|JN0rK>s z{H}+HR9~c3`*4unE1R-*@a-n^+7pdI1B+xk!oK{g|7SBLnj~3TeI~DP%TJK~lk3ZI zaqDHieS*<5d8$*eq$XAFFeS!v+$|PI?!3_Ko@->yd!<-iEo&=wdehaU$%41`Qr~>T z1m8!V>;-}s6JuH?TISH_>Jz2rVMhY#Z_X^aP@^f69b)^Jw-`;tKSfHJ)Q~F-b|2yp ztlvuPmo>88h8RCqD7rqQuCPyPdW)6BttEL&*(2rF!#dckl$KFM9{fc+Uz6H264{Q* z?xQ{W9gR*O@EqDsu}-4<66;fPGtAHgW6%h>yCfT3_7HZ5dUTES@3m|Aps6$IIu<AW zU~W87u8Ln_=@Y+p`XRBEi=nDy!Ef(1o58ih%@qPyF}W%X!ME)-{bS_Xd6t_i8=g!e zR~DX^$R##_hZ9>J1pA0<fO`?^=AJ=Z1o|OHkq_KR8~|=0&H}EBun@zRZF6Sd^R-dy z(J9x+BW#k+`cnk=;EcL9L%CAORf&#VbGLS{>XQZUlc%~wq9RLhCFwN*!7GWeun-$J zP&$eMOx~ibI*%sD2;*uh$UaJNm_m)I%Ju-cf>WjDEY^gN(3(QlgpQY*`IJw(U2rzJ z{KpBNO?ufKg40R&<p>_voj2wy@03CkE0T^CJcI(iC4#NHG{X901a~GqELSVLmUN3z zJ>`TU*Byzf;am+WN&2Of?qZ$)GA-4xE}eCeD_I%CtWGWxti(D^N;6oeAI@yfEMr}O zb)#7qx<WY%SQncpj^)c!ZPE<hzFKoGYwAvyn*MaTa*)>eQ6r-yUg#BL-;yyjT^Rqk z^Uqc%VVbCH^{If;Y?<L$J<m*x;WBEA8vE)FI*?YTtIGeJBL{ibQ_g-da61iHGlXw> z+&~1+1j=dtsyy!2+CoqkcGg<F5*R<z>M)9QriEZ{)p;8&WU&!^v=9yoUryYDV_^3G z7zoS8suh{(wxDa-7YvP|te0BoM+<(jV86`F7UC?ulU%-21^<P0g=Bn);J21&cWIgl ze&VQK@aN>g1AX?x4t*Bh&Mal2UhZ$&w-Xz41TQ2`hp|317MdWql#2W#1kWUo|0M8} zUNchgiH=U5)xYIwGsI+4E6wl>OSr!vrHIKQ-XfIZQl}E5)qCIQC}_znT51+JN>K9x zYeKA<!y12~)ZEXSFtv?kO*Le0WKEr{Z$#Tb)+C|t*%y3cUOd6LJo4h%QYW8wrJql* zR3^&?5xAcvgQdkR#gari(owpI>{9|?Ph12%kJ!L4_h>ys!N7YTaSgEi<YvorPUidx zMw(m>{Ah`r+G!^!Y%h2^CGvnL5|?3woV<g}(2~=5k$%l@^hut6A1>0vlLzQA%}kwW z^iDl2eInkAgEE#&Ky&7p6DP{`dGYNWK+(5<AWj-5_)&R~SHcQr3%-c-va<xwBF<xv z&lHky`Nm7l6_lvHQuUuFeMoAOZkC$2*E!ecN*R0Y-=k_VO9l|zCa!?>>C_yP4sU-- zdYD$8rmpP%QuBj61m?aze<9`8*JrR<JEpl#+<LU~Nu8TUA)*laN%9*SU0t%^KjdfU zgx&<E{}R_B)&0Llw-_ib(u8aukV%rTRRdd`KR4ps*h9L`K5M@+e?Hk5>Z<@Po^ag9 zvL7Os&UK5wGILH5u1nlpmEa1JE4z*0Nne>a3s-K2o2wRF9m$n+qu{Uq;L{FB;C?PD zeZYJ7m~|qZym8M%lZ;X4$y*(G1n91(rBU<|pmcd8!aCs&c?2l&v7;sl+8P299;>@W zUMs+ZKuVn<no&@xiB2IGDsuLi#gmMFeN$;040Z=%NZN;Yo0}#XV<X<BvKUSLW?inG z)T$h?8;jiad3Lb7#FgOBxBackg?2QF13emTE?Yxq+j-8)2E*kvVqEtp*nSrDG|h1; zaGGWj7eXL|I2+jOU>Hc*ZLXgzTgbb=bTzB)WqtsPocxe@i&!<iOstxoAr8aZ!!Dju z7tif3o`o)ag^TBc2n%XpCUGs4PA1mSP9zSZ2aO;O0}pg~fK!RJFLofV1^qCWJdMD= z5@+KC`JOl!L17mQvcQrb%OS1=-b7pm{3>x6congQPWc$Ifo$DR+=u|~B=*AaO~l#2 zR}%-(1{d!-+y$wwm4Xakrw8$FQ?H1qvR0j(IM?M7E}=;Mh@cKXYHDeXHj=t<!9#ko zhsCUL{pSqj(v1FAr(CG9e<0T8+f9rmgh<>;38!>pq*d_>mcsD&8H!<q5wSB^<3&wL zD}~3gMqRkJmCO;WX+*ZpZY9%(HR9el`Eo)lp&w*+BUy6H?rK%q+N$){4BYLWU`B_^ z=27ZtlFQ%uU0e~bXL=r>KoZ*V*_$+RGI%1M+G%n~{Fc}y<U^f(5_fsC$QNWy6HAvs zN+x_P&1Okgh5^wYkt)ne?Qt}PEhjNGl58=ICWBZLWKA!rabF5jq}KWUzantRD=E@w z)-jV4-NX4J`H$85fCqfEBT0Js7TiOw-z@l1G4Ig9=J;<^)e6B{R%o6()#x9Yv{O3@ zb`k8{9g3y1$?Cy{eH)an7M8rN*aw~>@?=5w(C11wfE$S`z|%k+0<I%gJ==(f*Px=B zg(Bc}#8D`!AhtkX@%drXhu@w&<#c%#eJ*Rl;L7_<P3M7Yn+yBjRC+e(D>o`u(-q{= zlQM&PD#7C=MtbZN;(XvHhN*h?5f5)fMLi2;z&nW1RCW!q7kI-C$L+z>jMThdG+l%~ z7<gA*3IebATl-@Gn#zcy!20W~GH(G-p^Im}izg%)O?w1JG^-12$1m0@caSzUiN6qQ z8onde7W;y@1~#`kJn;T)V)g44V%7N^vHJKZadtA+ard#HU1Bk@8n}_T5lXKjR);Pk zt_6J-aTs_CaV79rVs&~HaT(}?iPh=ef>Y&`iy>2;Sm6b3HV4i&2ATEKWmkAenPyqN zuGy~HSG<9^K1uj1iK~HE632kcUHtbDC&7s*aS%KOE}nc~JoG;cUp@@rseg0c45LTy zk7Xt@v1+LB%VYoTAC-g5Pwt&&md!9`m><tHx_IiP&Kf?=+&{xOHghW{F0f^le9DQ7 zGTg?3yrop|sX0~l%=^v}iZk5VrxB}*<3BZTKf^d7D}}UNxZPB%yqd>-#MP268KHJg zG3(EeUDq7EHxutjF>%RW3%<lKxmtFo#9B3KjB3?}fzjSms!2x6iM9*L#U0p>6I@bL zz?yo<WN}cb243`s%8$yXJAa(2X42vGXgV4L+g|>DgkvUls`+ft7})mrPY#>6f8$9t z{}VL22e*A92IC=s(_RmXGj6USR;QmL)>Hf;Vs)mN7-PJB+b5=frg3C%v`FHW*^|n} zJ!!zlPcx%4jTyb(x!m=FT%MS;#+_z<JJUESvql?Ie#G@TNdu;zTKkAofOl5u$L29- z8vTyAhKT}$eF?F8cGkzvShDm?`GJ@r4i}bW>Dx3eFYuzb6yv=RN%J3*G=F7MBPBme z)zCbNV@L?G1)L3NT%8Xs&<3by{`-qW%VnvgOIIoD)<Pu7`58%hX1D7&S6}hNi9#+t z>J7n*h_O_&YyVQ^LCma|(U9&p77?rLw5=LI67+<BBR`jU|2;*6(HD6$hJK`MYU0cP zDqAh1Ty~1Nc9t<TwE<a)x4-gj-=-NHV0NBu7~LwEHLY2}8o9j8#^r@IdRFHV=OH)K zK2)2PnE&}nPX|4R7<)5z7I7K!nnA33ybcfODa2vO=JPV8GlyxnXdIEC8el;c?O;w+ zQ4Mh;6m1~RMT1rnhatO?I34tI;#$z}Ay#8i2SZN*vFgv?8qp}#!1+!EgoDJD5LkIL zGY(u%to?O3c?x0JM_dlvi#Qk9AXY~YF{A0AHxk$41sA)41@*Mf!7#RsSUs&KR!7%4 zbU0c;td1VyEUOl>jl_8{wuC%|z=g!+!1D!T@}}tuu|hqaO`Hp+0C76-IN~xG$R-W~ z4<T*@PIq|VTxa5ZT%D4L1HcD9(5z<*PsFxZXhg*x;#%NZ;!5Dn#AU!$#9kO!O`HwG zF^3;`8F4Le5pf;@SVUY199A4DE=OT5E5Z=SBM!pAG-3-pu|n+!`mV_`Vgn9kktY{C z8N}(pUg9$7Od$>eH*r~`0ql#gppn%RYs5Q<Yhj><xDj{*F;Zt&5^G9V66b@boLHT^ zhd2xLD6s}pKpfO>9_F*4UT?UOy<H6umjO>Ak4BU02qT)|#Og$p{OUvju{vRpN1Zsd zMcZDTXxzfbi!?0_tO!GC9dS1BHiwP@q}su7XdSUOQw4D&_*b}i${Zfhmk^f$7ZOX8 z$>T-yS*S%th`17XHnAEA5Qjk@N32=NCN4*N4<W9FbLqr|pm!$L>?RTCfqvk9$waC= zTm_{T3i5ddM7igE^V@TbBhQmB8DaA$`F^<+=;jX+Xq`7-E~<&mALP*rfP`!F6V;qU zDfK#0iL0+lUFH<f9#-D_xca91P_R#=WpLReh_!JBzVBRuH=b*Bj2w7R{nJZB)jGvR z@O48>aXy0fzuFSRW={F5!Ba(9#jA;No6wFC>mAc&E?nfoi-;r26n0h2b>TeXdMKSn z!@0nI(s|t?_9F9H#6cuJgE$K8C5{275LW{?ZRTa798vDutWj10*Av$P?;vi3Kn<}@ z#5NGu!f>U-1H6)0yGS{)I(iSW>Wn%(dYLF-L7m7aRwvFUZh{j*VvTYVu||+f9D{Si ziKD<iV$DP^V%2XDd(kNlNk(y*2&2>FNyLH-TP9tQ)i291Mr5i8Zoy#2Rr0aU(LZ zf><+DMqCN{5{E||jo5`ORKeJM;&R{+aXO66CN2ba)|_f=oQs}Ktj#opxEh&ACyoJk zCXNCpDUR@K6$jqYwy%Q$i?|AS4{<qgEwMJiW@3%LidfH-J(do#*$5y;x;DWwVs);_ zCA%oXf*KAJtFgJng)p2)tf$#D;&jmc4nK_L5Nj5*h_%Twh?~IUB@P0o5Qlr9(6mXT z*G{o-lezsu<H(4-nu9UwfqUX(6ncqu)janY1pzA$B#cony~#03sdtD<j8Q7J&?yAL zpRa`~X#)L|$!);-DFRg6r_q<55VXg$-~~Qr6PAF3&B}{p8Jxn3u&A(`WaZ|1v?l~w z16OlJz;(oa;B78m$Vl&xLisxK=sMh4$zkyjUr5A&8#%wP6Fm{TfrWfEKpap5#4&X9 zYT_vHI^t?5svxca{|e$F;4)%e@Gc?tgTK(l(^(z$@rQ+z=(QR?!1bppwca*&hK!-7 zSA!N`Joun$4Y@+VPYF&ei=20MWo>sb%e@d1Mp<*+eY`p4VtL&0;^U<lSLlb&XS||a z2R;km{c^8dme=`GBc<z6;wQlMnbHTjfrZ>i?N>Q1wauBIpv2n?_U?=2B%&7k6JWUo zr+!S!{N^}$oJY#AU~i_rTHq>TKk#beGT@ktzKpmM^rDUC@s~(9zX1D!@rX2$r<1D@ zToZ`Z+OfoHZ5VM8c#a@et=))KPg}w4VR~{O;F7i+moJOhud|drEYzW*mg}f=G|y(z z>(P6vNUsK7O?n78MjQiPMyxzVE*@tstvq2D&s<=++pmi9Sb>jfNYk9mrolOCuUV}P zTmyUu7fHB#CtNAy%7wF8rgGuNfYiLhhSv$!#xJ!2eQ<F<H(~w2dlg5Dn^5?Y6<&;L z9}{a1-XYEg{Wans9QiVp=3siwLyDu&^8k6&z+J?u|7K!!;u>Pre@Vn8a2ByTG1Vn- z60tfl+QmPVxCzenb@6v4t^z&T#s3Ezu@DXYUt*vBkk;2M#2~Q!4UI-4c%O8=u&j3k z5ak+Tz4$yuto#oV=fXg-i~ly_BIv))rT_9bIZMxjz`0~ff`J*tK?s~off(q=lU@yc z6mbZ+Ke6)kaPhQv@%+7B15=)#iA7JIeEN?CRkYK^^kITYo@ICOtab4`>*9ID#dGg^ zGy8I5VDeS#%~_YreZrGb7eC9ztgLcf+(U?cpr;f2fjc{N+yaU9RQK!A`wlQAdK0^d z^lZ@gxN=+TO55fL3u?H^#kAVR6m#(`BM!ldA{YN67f;y5GnZJM$aC>ebNIEF`CS4z zE`cnUK!zg#!(JDEii^Lgs-=hSBi6v`iPh;H#OhE@6?<6>N;kNeDqX@WiT&UyCszJ@ zi1n76uZJ4022TO$KHP&cNY{bke9~n{Q>M(sg>t!;RW1vvG}ncP6RW4bgn;bz5UV1? z#ee8^bwZTNgn(Fi8i>`2I%2i84H(Z<L7>_tu+Ak=;SyLuto&sz{v|H{LKpvh7k|jb zKikD03AhBt5r>e*Y+_C65Mni)POOo2Cf3N3i0dJ{<37!V&eNK_ihZE(d94N45=XRR zv#X-Yg;x_-VHAoHhoESgi>HX#5Bee(PuRsX*Ts|P;+ghZq{Sn@iz&y<rwLX1I8~ zE}j$@PZO8K>d-!7b-JEd_3ViApqJLX>a4nZUuASpSteCx{Vq>Na>1+S)T`ts=4_!j zGtz8CIf=sc=r{Sh^%`0QJe>4KU>~urNO}>6KsSh^z=yb|_X9T)hkzT1qri3Rc#8T_ z*yduYb}_9ZR-OtM&k7e$nTuzMi>J`VGvCD%0xl`8OG-LQ7I{)|GN2Q#xr4OXLU1b2 z*D}X%`B2By_S6*v%ej|ol63CXRoF3W1U;E*!obhoqjcqYo_$t%z8?6{)kdE_ugG9t z7Fe8{RL~(%BGb`4?~k59X}`SN&CyrO<3T5#?z%A&6@AvXyL6Q^Jz!;tHuIOOjU&w` zuQq(Wt{)^5p-b!d9mW_~kE}93zuGu2H3c=L%R!UnQ8lVo`OL}J7{17`#X>8Qdl8SH zj8Is4@>(vWAYdKm6rw2Po{TR8p;PFeT;JjgDUHwWs<B3;(!PMR=os*?FAKfZr@Stm z6O@(Su1<G2=6xssY2Ke^^fZ$f7-^Bs15{5gWXngi;MGD$bH)E8-@3h&^Mn4*j?TNX zi0d#<TYaHCP$ciB0mo*mo*M1w@JHU`0zH?w8WWG<FDX5uz1zo%Fa&xLmjN3t;X{=w z;Nu*0@35qnn?CXHQ{-7w`X*L4iJvy#Dy-r`9wHnTQzcEn2d|c9kg*%{cbV1RN;b>` zr8I@5Lb!d3+z=H7+3@H_dZAulMXX+5<f6|a)(EB$>vVK1aXEC3BF>ll2y&a41zkw= zb_sMM4#IFV^OX<&--s<J`hi#t>?Y0w{Sz1eyTp~y^ZJXL0Wa_iFL7W{;U`=I54sfH zO<V@Uw>XM`7dUh%x|CQ0I9qVbx)c2>P*Pei2kS+=c*SX&yn=@cc^>tcp>pICFm~zV zEv<9$d`&uB6SnU%m8+1Yc9hW=>@_OmG~0tMeD;0(p_yzr_%6AEngQalW+39Kc!F57 z@t})-H*qBdZsB@K6)hkgPT7|dYm=N!Tn_r_#L7Q`*g*F`Rxq*@+2@lR?<IF)z+YUS za%XkH5sRNe;h>BVKDlNFZr@Zc#pcwG@|a~}lB+d~H~Azr`v+)hK(RM&(Weu&dp}UD ziP31@XQM0qW*2?Ui*oHuG*;Y;WbvXWy^s$cm3k#^>rQB3+qHgVpro`8Em_j0IcV_b z9%0dXPhRB022-kZaBhO5b6EeJDZ^c26TB)p>8d2_N6@gtbn<iDVG?qZl`00Y!=z${ zQ&80hr3wE3ff3dA9=4G7#ad!0v^THD2Gh_q>1;mn*xpg84<#wi8)u%iz!;YNT!tB0 zV2n@ptu{9<Fpf$7=>_xG1xD|)bI#)kfJi0l_N1AKvK^4U_e2WU=Ygd}KB?P1)z#Uv zU~tqt5po_*SiH$^HwVp&!p2FxJ{bh9n|&9&E45*Cvd7*xUk)2RBO!6lp-DHWhwA3c zQ(6%%5{I@TqW=izUr<byB96uvVgtHMf|w-cgt(;@(ID~pNGmG3fv}c>$P`NH?txnJ zi*9?XJi!{jTF6n1_|Vfg^WH>M#O=aqnl~R^c|?va0>U2z9j|LfP2|*k=USt0BuSp7 zP4s)eaM&a9VUH3H=noiz`3f0=6OB?Tgr4TillsN=x3o_#s!HUMls-LO?GvKFV?IY9 z-ba?KI&7YIoiRG{AE`;SQ8v0$m(}t_v+QUImgM@GoG{MO1TjG3tX4#f1mfHAt%!Lf zb{Oau50Q94qPVO@X+Ei62(^WXUL#7^w;~pj_!x+Z1~b`wnug}gRjezM@a@N@n%7=$ z^d6n_aLaj7BR|0tZy{Jin$SK;59!z<Ns;#b)LehPaco3;OS~KFmhOwsYl?tdQskwN z4$(=`ZyCZOzk5PXCq+A35uFsRVxM$4ofIt-&a+$OofO^JO5RD)xvhv!ipGPONYU9W zp%dAspJu*WU<{62?sfH+3e-$mBWWt(E0?!#g3I>6xq5<YR#IEAZjQbh)}CJp(bEn# zC9;as1Vm}QzmL!)RI_vs^P~d#5$=ckSama7&1u7XL@eG$IEunVJNX`HX{TPbtv@8$ z@JZ|Pj(?R4UT&$6h++HR3`_ncu<Ra3fG4uu3o~{Z1R!e&jyoAYxrVG%=lrNI3b<ZC zS`U&AqQ7=!+K1`bh_LL7gfp(;l}l8s6!TCu`x&$N2IHtmcB+WSd!myIpCmZFw<cIA z^3`efgm|u`-b$Bx=ju?fswH~WUEcBtYtu)p(`-BZ%a$k3nuuK_1y{5IDA@dxGAOPB zc77&f5whUyspHbJVdlYvtYbiBR=VWNDW3(s<3v7gi~JF$d>I9NU@8(EXOak2p;NCI z_2Pso-1qdq6_UPgnFgRd<@dJIr?djeis;Ug?HF0mm9}C)SG6}kt_<o>;kH)ws$jOu zK$g>&oD8VUN}O>{x@$^W$!mRsQ?H#hy)}axIPhRg1XabY6fgpDN+Uo3t?Si54(k<H zENvyPw7GO3qJ=yuxKge(j2Z5TmORqZmkR~E_~DRr$w9reOKQ*Gxgy>$;-pe`$ZE!| zZ?l$1>KNdsf@1dh081Ht^bF7v#_>t=Sc7@!4moEGG4`RHH!b5wbLLT$MdL~B2Amxw z#aa?sp?nMH5|k|a%(oFjyook{&^p+4QkFXSWj8gpBuB5!=4Cg_Pt^G3CBwvt>o}P% zhHAZP$f0=cGTxO6LDi%Q%v-$SCjFT(3x0dj=dNBu7kr>^aN$bgNERxFeBW9@fsC8+ zm;(D-@HiLFCiX*q<;N{NHNUpt4K7^i!kZK0vV0#63Ua;?A?IYw!g@6^XY|?Wt;&Ae zXjKl`O;5D&-@Yjdb>9m~J61f1NezhrePEb9-m!-hw?g(NT-{I^mN_(WL>+86Uk7$z zxwd)Z4m;&6yWlZ(BHmN%1OHJ2PC4D~b-UAT9euMORQ_z7xH`SaVH634L;j_(fEh|C z+#GGK@Br44iOZnRZfI5Z+dEp7L-sQ2kElT>ZJTiEOmuF;-t=|rAYT4V%Z^AL5;<~_ zo5iqC`qEuaxBH8makp;Yl#VIG5pEIua_R0}tz}McWd@TV+i=T>NX5?9B2}`cYcW#} zk#-b`I}6hGM_b2t=4byzTmh%s+qa{eh$20Wa`;%7o+0H|xcZ3GhD(@2r^$TrKH!x7 z_S{zWA$zu~>|}gmL}-cOqoE=Zm7N7<XXHQh6MOH!J82I19iBWFPn<T}RiFO<)Gv7- z@jD8N_O%#^(|WlS1X|Z?hL-)(;y~_iEqJ&K`&_u;$HZx<S>4gdpNPyySE_kLB98Ck z`DBNn+u0xd)-5tUUp_#b-<;Z~tDGr{e!!czrE~Iiy0rf%b3??)=$3O%%XOvhvOmqY zua#dItD478CH09K-IE`fXAX}V8Ifh9l+zEJO%EsfjlD?d@eJb_Pr?!zUE_UAK278m z<IZ^|@2g8GE)(ZZX-)*`gN>X`YA*zwwdqfDOVoHFGPSctlii$}E=U&rbFu>^Tdi4F z>2|<$q5G6xB~tn)*N9x_p%Qd3`^b?lZ^fY?hzAf(yhF5+c_deiGQjxktSP!#=>y-m zh*ZY?)>xf|sH~?LpI_MIDzus<D95lTl<jalv24w@PkvnoMu#I{k8V}Yw+Fe(PN(md z<?43F9@cIHd-mP(YLw$uJc<H`Bqp`Tq>R&KR)f81teW-#?*n$G2+`xU!7x<XJIJHB zriCYBufE)sKQSr>vPD25?2C@(jDnJZZY?Dz1D)Iy$-rys224nfBm=F=k^xsao`E*Q z%ms^$G0DHRH(yw6j5~7b2sGC8tiV#)P?{`VA<wYJfwnZ=ipf#7@Hc0n`OSeJdHS0p zml!=pO=~CFO04pWW&dT2P{1kMDlHXSwqIy#E?8pp>ro{82-8X?hfDPI30eD+&BvD* zN2I)aW^$6*W@Y<RB7xE_ZDu9Q<2`bP(yp<1U)HpecBR4~ug2V^hb|F0OfT^p)=59% z1nROt%G{9_KW*DN1GFvWJ)11id4X_PUi@@gNtc=6mY$Uq*wSvIVEiFKyRsQQg9hhF zg&3Tnhb~j(pa$3cpaxHn@_KDB$lU~k{#hdF`*D1rq-~(&bR)2|-BB||MM;}LiQn6t zdMhScB{c!r=<6OR@diqg*UL3QHW}w?#n$H32hr5sOZpuMirAgI7ru_vo%im8-P=AH z8NE~9b&$WB{XFh)j(eTse&?9-8|%}Y;}GZQcaCQ{$4i`Jz|k9Yj+Z;fMb5F9$4FAS zLs;V+Gn}J(CI8l2G+gK$k9UrTejxoF=UCtzbDZPey{v!SIiBSl)0|`N_o$a?%DoDb zl4dx^9?o%30~HiG#~kNa^Bw8uJI7wmar?KVuW*j%JIAih@ttp2f17jk<A`a}68x;I z{7rI>|Hs<9z(-YGd%$PTOp-Z65|Th5;bjIA3=d-nNsIyFOac@UX+*I2sAhm5AdeV9 zk*bqX@uKySQt?o$Hlbn>mBt5(ULP4PEw<K1EB7Mxk+IT?*4osHMXUDvug3|KW72!S z@Au8`x6j&-wbx#I?X}l_o-=-h2i}$Vn-qTbj)ZqByk230!V-m93O{~Z@b@TOrEsjm zx84eH`Nl4I=(kp3vBFpWAn|u9yg*@r!b688eXGLj6keooy24V0V-#j7^c|*u*}?Dq zH-*rv3ZGPXr^2-g7b+}JXexZ~kmT=F_<+J&6fRd-rEsXikN!I(8GrfT0(U69PT`lT zY*imf`eKFE+9Ypu+tuIqS4MLbf4;(t6dDRAD=bj>u_}43hF^Cn{l1T-ygdqUSNQ9{ zNc@W$UMnza+^7-z6ro<j)e6Td9H#I~#d}X7Hv=9!T;b3wQs5YcU;akIuPEHZ5UqHZ zMyyxZsu^BX_|`$m*ru>V;VW-Q{Cx^9Q274uCB8-Be5L#GuO+@v;p;CWOj^`N9{g4) z{I3HNen8<`g(V786~6x~!FyKWeF`@zoUJfN;m5xe{4Rw%09lK#)QDPzhQfRHONNCC zM=3n;3yHr=;e3T-752O&=^Y9$R#>ZW#fy@j^P={muDC?pu5g9I@e1GXl=Np6-mY-D z!YYN;Dsum$g8$wN0-scPi^4eyhrSRMgpZyV_=dtK6ke&YQsFR#-OmYr&$9x5p>UYO zkN;ERf2r_Jh07JzDlCku$58mhGm`Ndg|ihJ3g3HL(nlyfv`@l!DO{|uM&THR2c8nV zCWZ49MvK+sSNNwV1@RXOcPP9@;WCBQ3bPdcX|LpaQelh2<qAs_`V=01g7Krq!{RY+ zS6HLaQ23|Em9WBAg{u|LRQT#+f_LC`fy)(EDg5*`iQlSl7vn?!Z)Xp>pTe063lzSu z%JhK3)e2`TELJ%GH7Q`3+KqSUlX&=Dr*OK$uHQ-gdV<vd=4nKx!Z%(OgpCU873L`1 z@moost1wGpKzqTTlmRXskC}fKd?)<uhY~&v$o>CgjrdyO0fkP6VJ-rNuJCeKxY8BA z)kSa4i7=OMEOceqt_ZtNATlp`uJG47s5y*o)$qfv_=`2)FEzed!|&lUPEKBiC9VRV z{d?c^w_M@Xf0gtl3LRn#dnA6DLMQ%i4L_;)^-)*G>;Klbz|g0C!|y2mVucSV!F>u} zSNN&IETuPD;Y@`K6h<#n&kBX>75>S^SgjH)*Z2_%t2Dk@;guRcS;J!$<|)inc%9%y zjd>c;s_-Ty;E3#D4R<QMTj2tg%p8TLLr2r!Q0UP4`eTu#U*kXFu;?G-+^-3*xH2|t zn{RcseTyfJPLmA>8u@+>7r3Cqz=Oji-3jl@LRNeKo&Kfi9m_1vy5+;P7CUwvAKPr$ z=Fgw9Q(_y20ui}F3iAet5AA$v_cs4s6P7Gp*|egud3|K{WhIRp8*wOEH?y{6+3M9! z$yY61w&apX(@H0f!^;|%HecPe-iagJt2SP8S>x3wV$Pj8uS`Prsu%oMeK)dU{fc$X zW2?umT)pnf#w9D)Ub=e2Si=~*HnOG>u~#)NU%l?CvAy9FY>hP}O&B^6Zx}~@e$&yP zKSJ?OefEOC%*+No<GXO*g9A<D+NVx`(ch5~y|i)tC6_j@+t75$+LcQ$qY|&EE?By5 z?fS^l^##k86s%phzF_&f4QrPnAASY><44vK-nyp7waIybzjQ@p{Uy!o)~(^(IQrhW z{*omdmM?F_XGG~2?VsQYw1UewG&WyduspJIb>p&vb<G8hYns+03?CEdFMq+h%L=Gq zDt88B_0M=g<3{_`F8}DKzWkkky7^S-b${zH+y6)Zcx;0d1ZU94RgKAZ<{$k9Bsuzx zUB3?MP`~bq^;e9omT=R&m6tU(BY0s_c$ox^0#*r<*%fQAxCBz#5Ltc673(AGuRz&L z8=KazT(`Emz<%|p|Ibldw6yc6bO#4^Xt>RRYbCuy;o^45*YQV*f8+y!C!r6pwvQF9 zFVgTNg-tsoUytUCIvJl<0xu}sukdk&bMBRlO$jOBHyYm=P2~c+6t=brUe}?2kGD%I z9yMCt6~vym1-7U}Laz8OjW1QaEQM`<kbJEQ+gy@5uKBVI!7Ke*8U7W8VZlm=i>L~= z3+LSr3ZetMG~B7sT|lSiYh9-WD7^*^*DLICF?Q%jD32|ua@6*fa8|0YTVV$wLd`lf zJP_U%#cNP{PEC9Ag|W`d1+I^6FMjXg+>6@YT^z8>Kf-?+X$=aR1i^t>8a5QVYo4VA zmMY;M#p_bosW7C_QQj)e*QEKP4yU1;Tq0D&Hbr#svRrtj+8eS)Nq$GEr>NGSrf`PB zI)xCb(LvM5qpIC4BZa^~+I?IL>QX$Xpx3lF{I|ll75-7-cBS7lqCfgj0;l`z(gH%R z0{*FlLfWrAS_7whHfaHE{T6V7e(~L+OMP^Nl+aNUr#H+|o#@#j9Ji?U8fzq6|0C%& z&iGxb<9U<jYx$+%8D4>{n%-YNdiTZHt{J<vAP077xKm-9LPwbnXpIV7{o7EjcPg~v z$5Qk9`=pn(I6Ct{YLvT|)0Sx}+6;w56y_`Ja&%y)5OVT;piNY-P4rg{A5++KzcA3M z`HFN#Gig{<rZ%11g<yliDbAEf!>4H&|4+*d*C}kcOYO!sfoE#`w-qi@NZP&y?tn5f zR2k!C%yuNSX~LH}=xo$*>HR{u>4yUA6}J9B!fmYr9fnIa+;E%3XWc3=^nHP)w+O7i zSzxq&i+Bu$9seQWP93cZek$Qmi@>b=M3h}SBs@@e?R2_z`@hAD8jJ4{f-OH0#O`m2 zc6V)(aH*zusq%z2N_?IwRe^T9|BJShvVXPi{IBxH-LdH2=U*TF>1okrJCABjTeSc~ zwYuJA%R60KU9WguF1%J3-bTf1{g+lq@f!$_`oGgndVbQko2=0BJan&Q97xm!T7jdg zJBJj`(fHDP2F`E4@`-=e`O2YtoGx|MWS=tB`Qw2Jl8Eb7dHo;QtN!jEzo6>dQn4N_ zr{#kb8C4Z_DlGj_;_DSQDQs2Pp|I;i`@O&W?}(}fwC?sXxjbdBUc*(Ys#j|#bl{c& z;u{8t?-(FHYG{KwgdKQjfDFY0;MWfjzj1*0ZmDS0C{Qy}uF$XcvGoQIOJpF82|1dz z>fhtFI(_Wt(kI)Lp#ly=ceksGIW>0-vJ-YgXUyEEgxho|bMiSuRD;GhDRlCcPAQvO zUQu~k)#;HXOYJqE`O`f=wl{s|KP~E5i4nqS=Y={(YJAW65_TBc<yf7w`o?!@yfH`O z9cy%4<K0Wz0yT4G9Tk$HbgIAuDyq(L65g=(vbF23T3gWA+`NvKVp%`6m;A$jn&+qX z-2l;_s#R6?ofY$z0pdF}-p$UT0pbnqk#78AjkoKM`)~FdgJcn(zWqxX=5_(nvOd@D z-sWHDyA|tqUgbyI6rn@mK82kM4=6-MjbUG0w~`>8&62110m~@93*T|W&q>2Y00Xz- zj60Ebrz;ING>m1q3BL<zyCf~pn=un7s;7=9-7Vs)QaEb*Ah8Hv*>`{89~Vd;WE@&% z8Q87(K``I${=%QK9KqgSW0D_{T|jq!|H6;_AvhwD{F`%yWwd^;ZycpJA$~ht+a?s3 zdzpHZbF#k^C=Khsnf)lmZ~10?7I6D3t_ty6;2N%`;-YSnn)Hq0JCJ2XKinTeeDS7l z7H@3mzxd+5@x6OBMm-YxtH;Ix;@bv@KY;kWE5R&W)zy~azsfRt5V!A23yohieBiWT zT?l!Se-4f0IP$jwuM~8<;G8nL5$BXKa9S|B7<rO^Ew1n`SJ){dIS=`d1Ft`M6>RK3 zevZWJK2Z|2rU5c+A0WPSfcT?`&w{`q5GYoidXowgFUc$U2R%#<8e6E%Zi0MoA~NGT z5bXSqz9@u$2=P@=`(57$+ORTc;KqKm(5;#Ez&QZd!+kC4&Vnx3hZjZd6Gs7L?-Q4Y zjsZsc#8DuG_$DyF9quTc3+IQUz1fr8oyy&3_ko808q4VZ9?4^>dcRRrDNvGsixJ)h z*K!SKQ*SZ``@3A(jw3whTFWT7mb0n%8`+wGlKk6_@KLx<$)?_94EAST*Ed@g!VPfy zHdATi)ccKWTY%DW0!_W&Ksy8!BdXMfjTPTFu!<31?_lMo^?LKq>TZFgW1QdE2Y)Nv z3WXtsc?x?#fzl5sY*V;VAS}(IaSkmv3#BOIgoY1V+&9?LH@K@$aPaXHL8B`MspXF> zxW2DY=OBE7{8@)?0H>R!Rvqwffoo7$r7%n3QDmj`PKDbQHVH(n&Wqj%^9pkAU-1C( z^#jCj93Z}JfcOI%Pb;84zn%dygurBfjIMAo@5rVPQ3RlqeWJP%hFE=Sn4&7;J~$MB z-Rcv!7~vLI93i;lx`4B*AH3tPxB}P_7(}}B*Y`I^68c6W<T5}|nL$bRh-`}6zV>6P zm}(a6ZLiJEJy*ToD9}ABZ4op54ZIG-Z@d|;bPEhJ;DMWIgdUxC2=S$4)<=v-Y(1O{ z%P9UvuG7c;-|$Wu?4kv63~2+o5SVZ=GT0SIl3M|^eQ>R}kj1)Cz2B%>H&Bv)ehdz% zQgRgg-EoV7(*nn%T5eRm-^k_~M~og!L1`sTzvL-sm#fIutU)}lcH<eh_GPUllj%uc zOD1^KMX({K|AO;e1Vcmm$18Q=we`V^o|sI}aUr%0?Y|}sF1&8wIlttJY;@s;a{FPB z>fh=@?C1{>c)MJ9p<(?H1YV~LuV(<fL%{1}>)M9*Pq4>DupzI1JpXNd+qiQ8yn+*W zQhru`{{*W}AhLw(M-MXaZ5I9|i+Z~oZ=^H{-NH@ATj9cM$&U^)Qu-lS??S9sf`t0- z2)2&uzalLzdQIcBB2@omg2lJ@72(kWsY!tg?|_S7X|Vqqcf0VK#tNQa>9PDn2po4I zW}Vc(WI9}U4uc@kry>I}=)#K{199j={04&^s7ZeYDa$3nP*MMQA;wG6|JDHz7rO{{ z4S?6=!YjZTa(@hNNyek{n+8B^OGX4<=Ky&7TzCa1_iwnmTzI>H$EPiBQ6F_7b_3D* zB`d3OM_*+P759&q=fZ0P9__v0M}Ho3!UUJP5Dx*dKM~Gx;cXA}66`~-!G)JK!A%eH z4}p!1F2s5uI=^HFTU~f9z|)%aDR`F)Z}G(b>2*e3h}#E1JmkXb23~)X>2cwePU^p4 zKm9oae!cqdAJjj=0!4JB(F8nvn1p}HlBsgxtr(!-`o4HkW7hzPEBYcDEtC5fb%zVD z0C@CsEFAemaNAvYhfppb`4d8NO<G)t4na4bn_$B!{WEynMb7{p{g}ZhN~S;vuG@v! ziJJ7+#s^$@4nd-mToE_DhLUeG7^Q+kKj_<!dy+X!VzAhS*9N@)7|e3vIrQ8Nf?luw zQJN7t^_v`q5WmGmup2d@pSz8lTzGB3>yN?3y?9!_Ly(9ji_lH5YXAoK^%5isSa|`j zzk=Ibc=gfJ{%d^Hg=he;KZ0E@yh8)f%iG$wiCdH&*FU+&h6}M_O8*Sbap7eFuRjJ$ zU3e>|3LbsE1La10wZH0zeL38&i1h7`WCrV9cwLIu;KEzs!ZXUHV0z>B1U=Nh#f4a< zi1Y=J6NoS%F1#kiqc5H$<8`?3+7vJ3!aG2Cs(-9Bhk)q(s(?&pwjQqAMbKX%H6fhj zf{(lKy3r)~3ts*u<84f85-z`WfVOK$LL@5wvi^0U)rD6z0NySaUQ^kisL|i>+37-T z8-U;;7hV_em{B~EYuw|)^FwEFeuE$CpN!~tiO?ZPsL6P4f>j{cUquRB^c?N?J55LO z55Wzj{nV$D3m!=OkGmKgNc($Sc+r8h|ELRbAnosV;SHqyhg^89{mJ^Dto>a;{@=8p zaFQkC*8UFklK!+mbZ4@if&85|0lhv12W%1--at*_rq^$iaQ|}=9H>d$1P5voH{L)^ zLU_?+5o()IJpYoLgd+a8CLx?;dhRAkrl)vOnfbW7Nk}c6n_yO-w!_W|@SI<A!No4T zL%{2=doI2cd+Eu)#g+Y!Vq07Uvw-LPk_&Ef;dKl^Z=ZwbwEva?2(~$hTH5h`@XkhB zmkY1-wEin{)P)!Ak6@@Df{O<rXl&~%!PWur@?3abSVzDFOZ}5YSn5LD1;qZ^ZjKA@ z019?~$@Cgrc*j8xMwNdw|M(aALU0>hh<O7nDqCH6O~5-r@C3bGF1+LYF-Z0AbRiZD zu+@6Vg;!eD|5B{Sh1UYS{uuP%<=X#iI(?Agv}Uph>w%d3>jEAPpILCpcq`m^D43?` z^h?GoIDseaU!Vlth*c*LnMg-<|200~!V3Y9eoo<JxI%E-U3hub*#C1xgLJlVgxKOj zTmgcP5;}PG@N~HF9LW$)a*f@R>7_^YPeybTOs+{X-ZyJ<q9Vz7?ut0{90pnbA%xrn z8>aP7@VKkSS-^9C$pv@2@S331js%nN78=ENU*(!Jfc9s(@Y;aq{E`S7A)Ag(?1n-s z#nWiN6SRf{+*f1`GeeDb=2#9Qc9_}PXxB)PQoWsx)?J_bbIoqfG|cQlE=pcbG=`Z4 z%k5VsxVDI6zm`zR1P+yqvxbjY-nS;CShQQ+vs@?_Un(RnwQv77*sYf`w)cR-LjujC z$UO;VU22ahWbizdyuzMOA%K$^TqhxBxoL&HM}w014npP%A%94qd31#c=lBY{hAOsF zf~6~Ms;9Y9SYN@>PSCquqj#-j;du9HxND_-J8`wrE*amO*;~9yh*YhzNob}9TUJR? zb5_~U6ShVlSY>~Vpl20V*NM%#%+4(4SgNRbnNVDOnSC8q?J}t-fP|=`h<ryvEH=%L zNNUZ})piY$TP?w!)%IEmvZDCc*!NKofb?e08m4QmkwQDx*k325cCN8m2iDr81D>^9 z82~Qlz*-T=T4_5ZLOkX=Arx9Cjkiujt+6W*EJmr_TzW5Z$2z9(<UO>`=GNp)!#qv) zI}=g(I;M{hD@BuCG8u$IO~QVYl)44c#AuULt^*KiWoqitCgBuF<B>P(a#pPT%lm3J z8GnlDyqt;{p5Oe<WO_re;d1+8Bzu~rft!Va1I^OFh()5Qu|0?tT<LCC*kevX>J^fw z>I!>4f^=<;4jdQT6g_$n9U{_sAzl;WFdaV9K_lKL;xL^Z(m5es7veCT5z=`eUIXGV zodwddAKv!iFdg~P@gClH5d7Rhd^(5s7&uHPb94%a*Apat*dRV_!&^Tbrjs^0RXeI- zI#8p-GrSwa>2z>Lhh%u?g~N0}Mu%Yy8m4nFI`hKIJDg7EU39jEmwq@*$3}EQgtvt_ zOlKQ>j&Zky=?H_4EAV0mr_)gd9ZTS1IEU#-f{q_>0bJ-IOs5QO8m1ElI!(Z96oQY9 ze>ye5HE9mh20v})<EA@@X@8CO(n3xc8-ld?hu14Oo%UF1I~BKf1t0loj~|z9B^_bf z%kS1O?c>v)z5gCbr~P``n#YZM#;5Ie+FHjAeGb#MdMCmy8m8TI+9}6fT280kZ`$d` z9a;|4CU*hCxI4>X+RUbnYuuUTFzt%b1{mINLwHO8LE2!$`!t+Pdt9`ig%@}@O#3FZ zM}jvCI84hHTB6_uA`a6oAno|!4F!aA?dj!~6~Imbtt@dB+==rKqCG5H9^$??N8YN4 zw6w(C@Dqr%iABppTma|Dw+In&w8X<5?-Phsh~)L*Pb6}3g&@)r50}1AAkt<Mt<!Mh z8<C?2(HgBAVchiQFm1cj7CSClbC`CyX-6Bki6smbp#5XKD!^gd!lmt6Tz%(o7s9kV ziVNNxu7^x%a}%!;aF{kMX>$^<3UZkC8)<J5H~SIJ9nykPl%{XAnME5{xM|LKP8b)= zIZS&~v=4>1zc@^LP_*BKcOyBBy(WXUmGGtyhiOZRwvX_RmE=bg_)%}X&?ET~E<hMB zc_ExTBv1LEZ3Wswz$*@n=Y;WU1BYp;xftnqx01uOqNLR$?xhPp!nFFs+bkTWg&Hl& z@Xm+e(<%WI_^h8wnATIYcB;}at($0x)SzKn9??<=_p&)ZEpKQggZtPVrd15BSa1)U z!?arAmC5}Qro{#=EO74{>A6EXAZwC0EiPywfj1{OA1xwi!GPC*7>`~NB0O3%(E0$c z3sJoNN;MP>vt^o+<J}_8OLIw@H{zuy4$~BmrgM1vn!_|Vq-kJC!U3AvVH#(w*lAxk z%^DuvX&Ez7)KS0?VDO_f<21N`e4J*?IF@G2gWCi5HQc$Mr5S@i@Eb$mM!=1Mn+P`r zZW>%ITmu~57&r1jtL4KqqZRkL3y!B5e?&O_^E4xWG~jT*aRb6%0#3LQp7>F}aRzk2 z|7XAP9fTL0JM-NC_D}k+X+OR2%<CUsefXk1cOAUIo-y6}k7$A4Z<MUZ`^$xE)&kS$ z$@4ScPF!JWsZpBmH@dnE#oK5YANq|;KwfaJUPk$h9>1|2_s~mLE{m*>6yl%sFiro` zZ&U%6l$I`Ceks=d2-7O3q;A2&!o_uAc=3JpzLE0~X>=owDy)c$DDHS)ybCDK_$ry; znMBa=_l;w`tUht`7%z|Gu%wVe<}qSHAH;e_Ebbe}c%^;f7BXH{-#Eq#AufcPmo$@9 z(1Od*>A|Fg3m5X10`AotZ-sgz`Au`YD`4Dn0`baqtJkj~In(X`qnObsflZq>En5Qm zM%Hc&M2x?FY2le+sbQbE3#5X{aSOv?UQ!kJi4;V<6Tn@jWc}(ZK-VZw3Kt@bcLk(C zq!(Twc|wTWcofWSl-lmw8ZZ`Pwk6?0C=M9CCt%!)TP!7wj1x8PX%86BVzH%)Q$|RO z?+-}(i!$L4|Il|4m!x3j6i46tSzp(i7ylngKa2?;#0d}Z!!}@o$Kk?eem$Y5#0gJt z=Gt|l(|1v(C0B6R2qDuPgqxH~D+W)HE@{4^d1+zk6e^~n)&AlPYn2zh&%QKd1qZJg z<~Ld)g5n?H(YD*RLsk)|z5q`Fb<Q3nY(>`M&*4dX2og@uilrJJvpOqg`@&WMqn{kM ziiQySVqjDgdIX*o580Q5t<h7dlp7IlxET*~xsg96)fl{NkTJMCU<_U`sELe0F*4=n znnvnYvy|BTdDzMyMj5-1r}#}g-lfc$P5FNNov<~Q)BF!3EgO&FaAsy3(uUPq3r14D zCQ7>+j~n59nO!glm7f9OhFWVvkPx0Agy-;h6)rWs8*ihuR8AfN+cJHG-~Mf_HJs5t zBD7<8q(1`nVYJT5iwJEs&{FEGlMAWhRY<*sDjtUCT)5QCRv=9zVRe;3R`qq(<Xn~n z5{qxc<4!m;fTSPPX;~eV^fVs7h7*<=DnFvKzC>9s*I6TH5QUEjjVK(0^DQ>2p^Mqs zDMt2+OvCbwF--JV!W+5=c%$(sgyWKeGp!+$NZcV3H#I|ft}*x%e^XjRYCX3fFsU~e zN8nkz$G&8yHDMIdYDKvCM|kXn^97nvM1AEI!~FLBGp%CQf#1!vhE*Uji0lpcCd5Z@ z&r&$WG*Z^58Vxmuu?}uE6p3+q!}f?-)`$^QeCX$vu>-X!J`<jA!<m^>#{5~<80KO< zqKdD@<7PNtddGCUM_YN(NWZ;hmNhC$6grUb7*Ti{p8tXiq*KB5WyEnq<(83t<CeA` zgPY3x;Z48AoR`|_-xTOF@Y%-ve4i00Pd5TvQ&}fTNZF~-$uhH)WZ>^W>DhRUhVunF zzDJb;e}=En%=8)dxY<^I9U;y{`U<K-8|sRmBLW(Qa^M^hB!}~dcnseX9vSWEY%7;_ z<sK?=Cms*OnSs`*{oritq$riqMM-bs(XC0TM!oMf(`-R``AJM4M{>hggfqKOWwIVc z{(L+N;6R!xV~#cZ;FJ^23_NBsP78Lz8+;|E{jG0V8RLkFixA%sp+tY5Lf2FL)sNa& zeao6S9)4=?`uT=&58RCi=lf9ETG7&95bn#5+Q0giHGyk(oFcx$!(4CV2TUWdAeF_R z^%$mUqwy$$n+xaj=g>bFgwWjPDF~+y$?C-Pt6&u7AVac3n5or}*VA$lfUlmq1=A}_ zttaLikY&OuJeuK}eEvXbZULwPX%JqFt4*s<)qb?aLEQS7ea9SY^jOOM1R{%{!{Z=a zAdm&wv{k->f{H6Y80EKLonwvX+I&fPDUVx54xBH&6k}RL89hV3`+VnnO>V1ZQLtj5 zR8`<n2e%R~)z1wRs?~a$zOyKHNDftQ`e?uL>mfN*<qP0_HM?aa!1Jj!z9r@uszhF& zTHJ`7T;1Crx4(a;mCqgOVMG@1#pCyIfq;Q=vZeCN(SE!0Osnc#>QKHXES|YlWy3QA zZa!RAfI3y!TQhHr-&jsvU`wDLb?PZ63L$<rEHZ`b)bz|*$YW-=+%?8;pEXy<o%M)g zey)4M{@z?GpU00jL_#l&;s@dBc*6eKTx;xXH5gRDC2-Vx@&nXW(~Lk_Y7@0a574>C zeGZSW(!3Znq&p8X0?pi=?ZIbR75P-9`n_sp&W9%g$F}jiXIYcjgxrakW{j-G_rh~O zC-*GHW=!g1#(m}luaQ47V2tuiF*14vbz5C&ohePe25+g!_OlD<n<(#_@C<nptqud9 zYD7}1v!WO^eHb;-&oCaO8g2aSes%Rpe&e%e@Tf4GmO$eYzFM+XVQ;~5<B)G*YQ2A6 zU}E~kjxV#?cUM+JPGQyz%&AbxQ;3<0ewn!l<!>cs8sT{tZY+&9k$Kk2C@~QB)e?w% z$E-CLo6CG-QVad>WnDD(UVlNvn{{!{n4x2b-Rv`Fjv13h1&vEFay?~6YLBnmtd|)) zT`~#g`i$K5rG~$}%IIEW7=@UV`<_CV_nU@)*%S`fB5oALfexkDhLR$ZGv$v=HPXv7 zjr8UdL(+}NSdEOux50BKoQWBTee>DYxcSub&myLHKOQOjEMsV9TY(O`Dqa?Hm}V=e zserIoLf*H{Pk~+5aW#~_EbD6fi?glDlF*fgaR*!h$PvGN!!R}LeMxcl#q+K4=NEv& zsc;)LPv0=|EK4(z<D{B7M*3qXs(A=`q1;As0-mFAtdwuhw?^_v;C~v`%*G=Rjz@xw zZ(ApwO=Ec%a^>fnMw(|5ud706m25I$o)Lx*n#8t_vaiJBMmT>u_0o3lbOLd2^|>FU z84bJ7{lLEZ+t$f!v^og=X*{x@v5ZlHZvg>PJDY&7`VN3l`S}z`-C^95YJ|$d2=t_w z1VUe#JweR13dW)#PM}6ow<e)}b`w&IR~aMB5x$A3E&c`2@Y@5$nG<~%*eBInQ%<68 zx(sFWlxht;o8Wxhms)8ywXWW(;3?n}h%bH)kC))g%<i#%`<Z%c;us=u98n8Mq@Mq@ zj0`wmX4W`X58FJ)sy(%L-WkNAwtSQ^*fY$K29bs7dSux_`HB9u|7l-wj#V^|2tSO3 zC1}>-z3}wF4Gmm^s>f4mE(ZN#mQDTLEln7b%g9hRl{Hebx6!-|u(P`BKE$oM`~&;_ zbF4Wbq8NG>6wz+QXToz8TxKBjGZ+EU*qF&#x{)Q#h<R&r3Ss$4qdla`_UZ-Jbhcd2 zBI6BdSn0eBPuX)AN8rY0)&spba4oSglvTf*dqrZ%4x*75Qr+|j^dPso<zDV1p>YUh zG+zb$u>Vi5BJ)J!=fVp>WN4$8DjObAOO-)3s!b$&Xe8A%#}rhfL|FQ1MSi>LTx&5; z#oG{9{2(4r!ubOAtDtUW9lPy^&b3Cf)qe}|+{H=IN1n6)fP`vNTmSROnT<ycTxMo# zk#=tF!Zfia8Pl^}M8(=sw$Q5Pwaqn7{>{(Z-&<%+7(qmzpvdR&co_~VF<w;S`GwZ_ zI#wG*=TKXCUa*WxxGbLTq7lf3ca^oEPsO~|1f*zg1zHo0Hn)%W+b1uwX7FIJ5qYP= zN>^=$XIiIa%!8}W>_UMhpVPxS*>7xWIAj<ee>K^BPioB+M3r2M$1SZCZ`Evue+e4- ziAB~p6K5lDF0zV4Tw(8S0g^S1TQ-))kueE*Fzi4yG2d%Gb8KZ*9g0WWTw3h6!{=Gi zNmSW45ce4A_}lP&2ItRgErwB~e5!q9N$o$MXH`^FhVnRcj4Bm|C*wuS7y}o|>_(;% zYXTnmcyOiSQmJrSHQ2u3J637_ek4_XhR1#{)h-;EJ#?bqSOxMw{f;$j5|tTGW2KBs z1!&wPMpFOgHA|+~<f154AU@G=4_R#8#=7$a;(9Ca+>7?(i>-<(V)RQS{F-W(@{(mt zhD*o%nT!=t44%*yS)Yj-*#+lYRos<UBg2b6<lX?!{lBn`i+IXYUq-#Ut&AyEE}TT| z1ftTR(2CqM2G`g~5Hk=<+d(<dAY=$UY1L#266Q9x1fGmq>O4p!o+7E$1z8@$6Aj2@ zL1Ggrxv7-uv1*n0yvYvn5Zf3x?aj%w!IRP^<<*j6mgt4QxfF_?Fe`XXpD=ko5UEXJ zjf$8IdRSgcCLu#-MCLJIm}o0ej}Y|`+xGSgtoyln>i1j5>(rUfhiBR^?QdUbm6$+? zUT9U4IzM%xRXCie#C_86LYh0c{mF&acuowbaAH{0A<kCs)QhakMFW0`reZS<&qu$s zAHT?&OhqIvvZiud7XJ!rgM~uz6nNe~fE}Lz^L>`EKbKoAHouxIWbAA)gEA_%uA(6= zV(uWD=qWtRHqpA*yz5kS5i*LNvub_^f62ReOss!9&FC)gd>1CZjK)-txoZ5+0K?W^ zGYiP^IkjYI!$YcxTw*kXNF~g#{q%RO(&3zFacq1z15Y6m@4DC;5oLO3v86_Sw$xtD z&z3qi|2<+3qNzU(I&}6<Q{XnQz|B5^8&U)|rV3n?CUBNtV1*^HC?GI*5W}joQ_>|O zB}3r0;R0((uYzatC=j31OoH{yV<Y4t`P#2tY&|rE%<io(!|ZOu<4L&m%#JB)%j+wT zz<WJqY^@w#<~J@rv&?Tla*6eAZoI5tV-U_j<K@G1>u)S$H8)<kj2kaJbrWR_Pp#R4 zoF%*H@ftn8z~i01!HESMXneaxz=r~kc?Hg-xlm#XPl-I0JSA$4zDH7TEi!K)$xhvA zQfEy}spS%-e4Ww9q+fUhba9uVk*L?ufFy<DQ;%_Hj(`Zn=9yCS_o*=NWFZn$xH%IO zt2;>7NGq_@8Oszs5S57+3S(uYDV_kULCnV(?PFLCg88fli0nSk!#oSz>=n4dC$KR^ z;G$H4v(f}s_yrbOfLv({n+`1zYYVTOM!jMg*wHtNi{RM@H<9)vf=jFdR?s+11}V7r z%JCIwgLCni*s&X(;(F>UEoEI7dW_&n9||b)3e5EhJf`qSii8iQ3f!M2kWFQL49hWS z7T;~mG}rnjr>^#w1q##0+MP?RDjvSme`{f02_AFdc?GVD?S8~p^Dr^>GCe+_$H+>k zNZ%k-#Gba)I`uqi_*g2pe=N0v6(Hu@%L))nWd%rx@k>aP2L-gtu%e@j=s^qXL4wU< z=Td8N5e-h0U$u<8$!1l+GY2k}wYrIMJC>l|%vfffTul9DJyMIW#bX<sKb@x3Ej+_) zEw6t7W6|;zr}^z$msy28bMGYVm+@HlJItCgTTVkoAE3wY=<zu{PO2hXg=T5^dJ()O z-=oJ)di=gO<z8>*=@_d|$D?EgJ?_FoGM%0B8YO*6v6HItI3Ev6s=%&I>YWHwzCh6* z(__>$C)*?b@4#PqJsu^G(&Jr8vX?bl8@b_nz;SaHWb!#Yzv;4!*#WYXv1zPSu`#0O z8C8#wj>V-%w5?*xJPs)KNz1K~!zisy`pmdyN^8%cwEE@N2orGia%(EV_T|<eir6Z> zMpg-r-EjWQjv8?GCOynE@F+gRZ?|7+oy7CTE<$}1k0Wrt%myG#zT*S?@TJ!H3#m<q zzK)$=?Dtg#;rSFU<@cBw$-G<V*h9I?dIm9rai7ewNB*fBq<D@^b_6{o;cfJ`U4}Vr z76uIa!WC9&l*ay8u$mSHv7Bn2dCOehlg*|#mfcK?gK+*HZy1bE#$zH`98b<I0uGu2 zWyX=+?#rQYOE6_t3VY0|>givCY0R(Mka_btH?8y<W6ZI>5Vi$2+JTkU13abfM5TB^ z^z!fR7gk!M*+};w@(P?-RDA`{u!ELyGTedy*|^AX9#_L7s>uel=ZS?FDMMJcwCNxg zMEoQf!m_K$W(2*tUXn#HZyU=ZK3oRRks`a3H0Ou*g{!~>iN`aZ#pB6m@q|aRrH~#K z%-cbg4C+M7SH!|-PphTa1eHXoehx;wDLx9eOEBSsVS?Qc=5cDfbo-{=gwnK=t$BND z5vMi%EscfRbh&?<pVQ5`^X89%C?M4L>iqVo%d7(@k*XX=-0Rf+J^zJu4V*7PWi(V{ zP3T>16;%?_bi^+OQq`I8EQVVN=VwG2Tk1=zOrI~c0nsR6&P>03@oH-#H^@DRyPk~T zPIyZG8%-9VK_)J9w75*N)LMDOXmzsf5o;A<e_V`O*oWylO&-lzESPW#*H%-NNLX-@ zaU=vIR63c8k`Ggv_SiMn0v<`WfG6JW_yIiI;mknW8vC|2*0`E19BZ8n*M?ZxIUmH~ z8pJ(JagYh6Cx=huu|Hm8jW~_uH|mgO93~+b!E+W|dLXo%c<VUmF&dW8GgQ`wXXlIj zEDQb2K4YzQIt%bt;Pc+WHh9|Me3_lIv`;no_nW@YP4gAs!)E?6pRsIxhI4LZ-~`Ud zFGw|V)@K_z<yl6~>x1fPpJ4^!J+$kMnJQNb=M1H9d5r0AdyGRMpI?OiLeCN-y(eJ* zW3833kZO?kre$Cw$EYfT=jy|j@c`U19w~Iv9kHsrscB@E?=+aXD|7m6%uu<>2XQ~} zq%}kQi`Q8N7HMV}YmAs3TW1Z8lH#>hb_4(B6rKcGJQu=@p9aCUgQ*N=rST-lyC{va zcQehfC{Ea$Yw^s;V!hx608~vBqMLP~7nAeFC0_$4McWv}b!s2jpFsu0y-Z6`P{3eP zK##w+36>#Y%`#6gp~SRQAr?0G4;3nApkYZ2LQ5T<GY9+R@zm9GP|tP4bLb94BK7IB zaF^ibb=fWV%=6nnZnEy>F?7x!urs{?kEh@|#z>db6_8Uqk{{SquBAfVQWNbp-py=P z;?i5Rf5bJPcM)6NctE?-&;@3RuPyaa`>D&V(WlYC^uEKy$HYW>sX1}zh+!pp<45G= zIj16gijn@7GCS-odr-4Ax`ec?4cZpW@)=nRM_^+%-zfdUW4sSn0A%VuC&Ko5&DNL^ z^<R06pTIR}`iZc8JJPvFbRz9C49``+g=fRNmT?o@FZ`^Hp6M)(n1X2>@|Yje0FbC* zQyrYdz*8ji+vzf>=ZG~=V~`k=G`)quctMkg1<ia9W&yity%C#M#0#6)v|L`;#HOY2 z!X`HDn8G8xz==&e$P1j<wEeumiA~$f3!K<AjDPmkS6CyXGE+@1A1sotqcW6+VYZh6 zkI^3D^4midTz-3~h|6ye<#M_0p%gB+J#<Xr5iY+ybcD-CdJgg59^wX1%&6vm=g4gu z4=1tdHLde8ct4HDL{cwIeF!L4>rOApGk!)bO^7`+n00VTvz)k&tKOR0ZzFTVrI;;D ztENd_*H&InOm`|uHSAh-?gztxF}>zjz%Kceve1~@g?YOD;Ch|S2gA*T46GIPz}kk# z0$%e@-)VKP19vlOX*v=NOWRLtW?oIMO8AWA$Vg3c$RoW)#xO?$j^^y;eo+<_ISG!6 zAtpGU=_xE6k7>ekUkfF~;P=Qm_NEQiXJe@6v~;6K+=9p5a2+^8>lLMa`;|IAzJjD_ z7$2+Ngy+_TW!wu_smhFzimeSZ-NKzZA_lfS^>Ft})ZAB1rWKJbt6&UwPysHy&1TmO z)4)(kB5J|V0zr9qlh`guV8zBk29gHC%%x0FgqBV<)W)=n)Rd8+cRyFF#Wc#w?*#9V z!A0lVKe)<T$1=!z4>A}*54cv9L69tyJ!YddmOJ!9B-QyLg9tn|f5d@1T&>6;Jd7(J z$z@T*hgH)dNdhxYfLOt9?$<~|y~D#92+JPxFt250Y8n%kJ6VDbLavFqTGWV-s-^7~ z<mP^um%ODB&y<O=^{3AkLNjIUNOQr?Szem?hV!=ZDCCh1D`E?bNHJO_SJi2hSivG5 zRKmkeqb4*PwM>Dy9$aMCU2UyladjeY!msf-4A-kN#J>IN)z<j$(qQa=-!lH03327Z zv-D3mN`c!AaY0vNr!fnWY6kHN?gI%4MWhqQ%Xd?&hfkAkJA}<(m^XjU*<=mj^>esF zq;WEX_@q6<zJrcehevPsL|3omEuMJACuC6K6+77w#VfY4A&OUQW&;$j*uVxTUeU+~ zC|<FM4Pd-t7Vq%HE7%Z4s+i+&WmGsX7f{J-ig3lTLEOZZGD>M;g=DGFky;4F%lBro zbrRgLG<{rgb@xLEgex93bI52#GDHYeYwUHzO%_d927}lTHpZYp3KGv3$&A_a++v92 zLp+j10x_~I%0(pQDw1*)Nx6!oTt!l@A}LpqlppigM@g3DVw_Ls3PuDZs#F$<jJ=~s z8i~_Ha?-45GK!4%3XVfgwTpNP5bj@ojfG6E+IP|It<8B*CgXu!-vfYdE<Yc8<jwH- zFR(XWW4*=Gl4bt`C0&b0vRzAv<|S}^B2&l(9!w#-{avY@z9w%2-FYD8y&u`WPYbk1 z;hFJ)Wn2umUX}M`u0n7E1J8I?-q?5vNm>+ZD`HkUaja+q*UNJ<OTvkieA4hOs|Y<- zq$E?kr2CQL5U=PXCvm%@2p(rsxY@CtMLH4AmoZq<!dX{7b|Kn3`YxW_;0f<7WDmN_ zcs5YP4IV41kjX$%kxT-La%B=wlp>RWqGJkWFb4lJ8IWaLd$Fvb#~;Zeraj{i2Do9Q zc5F~+I1mYFmAaE`T5SAglQKl)JRRm;$S`OZsrH+V5fa{6d4wM`ePid>&qK2qP0fn{ z(E6uc<Toy#36FW|#rA@z^#E^K_&<am<j@1I!!HI~?H-q7k8ZJsvt64>So86?m{4^X zi112mK?^RZkZRnDq@}q0R`nxzmVAVTJY0(o19PP=YRGr+A(fm9be7SaAH{BiMUKzi zA)v?<c*HAEmJ)K(9QJY3w(zc63+<{#F}v{XG<gCuyq4!F=ZH>>6)P!o#`Y<k5i>&4 z7ta{k_e>R(Y#u8->9X&c%KM(Nc{@$o$BfO}#`~VJd7F9PGd6Dn?|a7PHS)e^G&XM$ zZ+rss#wQR4Nyb`Y$}^J{wT1UvW3pL+sT=cq8uNtuGfyYW#!kAV4QHOPe@GKZPrB^I z&KI8I^M$AQ{LQ{7Z??`CrsDI3srY=|jGbR0o3ZmNXfxJ`&*$Fek+#tGmO;;R4mT47 zM4F`i(U;5Sil#}|T(=5s3O)L;!Ec;>`m(XcKHT@1o@%eZ-dfFy(u4E~U*OSa0Axk^ z`g&ael>P<BnK%-wngP${A7g_7?jli?ASN#8B$2=-0nA8y@@ytzvG#QHMLaB9NqfRs zqCJ7#tStf6o`7mkpqAI1CTOBs3E8`l+94-*IqNV1DjgtVZIg~DM`f|}n&u_WQCZN> z=WszkpTi+Lox^owmiDA+1ZCk0D!i{IhwVZCZekG`5P6Z|N!iP^byrCGKN6{2Wkxs) zrU?_eo20BcTp!G#44AbozTj#|4^8sDrS_FKTDOm;nd{KMq7}yAF&VB)yDJrC2RGwp z2KCm9kn&On8et`&{SC$(?s~NWr!YHGmgf|fH*^<6faesJHx@V~=vWEMJ60m{j+KbK zV<p^MJNfoja5C$6`y}qI?US$v9wlY=?&a>9DCF)6ELMLxit=QL`pYt|eUfzLGU=`| zs<-EH*9Z=g?wZD3BU~z7BU~z7BU~!oHC!q^BV5WoBWi?8rMm)h*8n1S*KlcV(^Bl% zP3HQemLz1)DLf#d>b!SaR%0%Al)*DelwmR}Lnq(P@OZ_F2Pbhi1NWp19<K;)GL!)y zIuB0XEQhfrjD+e_Nx&u0Tkb5@l$PX3Md{>W11vGV<o1~RM^X?<aa~I}S`$h!|5AI( ze^@`~VZR4a6TYAars<9iS1ZthwY&`bFZMg^mwsXyUYfJcfT#2Cmhl=~lW0p^PtXK( zF=z489du0HE;gnss*%iYe9B=meC={T6`#Vb8<z8_xU52Bay}I=<uq(I(m7>N4yYn> zK$XbjmJj-B4zJK5y=5zn=$Jy&knX8Sk(0}cSw5bWc`7P+F!xjx@gVN0z!#qdQI0Gt zFni<h5jnc7$d!{ynU_kvq)P<N!zAeN6l}Ai7gRJ;2aiwTd3k)QRI-#oSVGZQ`FoVZ zBeOf9rE`5$k{eM(1#xg2iVjKBYg}K%*lGLuM7zs0R<AvP)<A0)uJRixn{R0~TFs`^ zQva2KQU1S}srysXqg9y?XYI}zm36Hz{pr-9Hw~MZS3RO?)Z{S*1*68+78Z`ZVEn@3 z>nB!Eu9^5`$w6=J{J9I}EuVYw{N;0Rs(o>8OFcGQ+r6f5!JFp7r>*l|GZ&tdQonlf z<O>Qfy8q&qhO#B=mtDMMr?oify<ph#hgWp3YFS;mcGT)K2iH!X`RwfFb0$Q6wR=;| z(gnj7^1az+xi@>wr_jZl@Yn|DC}dDoCbifs_T{AJkM!aydY<9TKc4{V<51SBI6Pf& zAH$J>!=Mp1=aTF~reXRHA=)RqbFB}riu#R+H@oF`ml5<|V5~65`;OwCw(EXw`Y|vx z438Obt(l_UVPU9^RXD`Y?$@atjY*$qUhf;4y4F82Fcgd6<cq-<IrPls$L!y1vGS*q z<=ukV-YRTEfT}<|-wVIP^EIo5<)5svhu>_CK8G?MLi+Ei?nmIs`V2d8a9REUZ3c8R zV-fHQK_pDxR)8pJw%jS4{{Z86dS)K7KvV8qYj3{Un#Lo+GDP9<*r>W3p8S8{W)U2= zFo<keHhtRxKsT7qbUlNr_?nt$wA^$^=Mx$11hWa3O9e48;X$9wV1|pC#yX8oWXxs) z5p(w?1l!GHd_WUw^s%KJ!uP>IfI_k1!L(UvR1MwY3^kMNdD|IH9SQgX#S@FcFt#tI z0HAJVO@8A@Aw19GmFZioySb8YA?^2gW3TE1coN4g;}f_!YQRdQ%Zl}lpR${$Y`U<P z!3RpflQo$uCemdB%F{V4G^pP3(PGEOzSDd;78*angV!11k|-}U;*;4dg(rVOMkYL2 zw)?`9WxFpt`4}6g@Z=+GoWhe2vT+Je-p@uUJb4@6qX<vt@ggpUKdg+4{f|$QxzHq$ zkf5OP3m~r+)`9S(l))su_$j6_bM^<20HpN0X8XKbt?PK+u>Ny&fa~zM4bJJ2q(AoG zZq<3ivq%||4MDyP&wc;2j2Gaxh#=LXiNeLoc2HR!EMci{!t#-3iaqqmIzA>thVC82 zDp`*_Ria1LZ1mC4BzV@NMOYsUW<^3QX^v-Vu9r4{Jg3*vu8yZ{6HWbNTE=M(otuFY z&gD%^&(!y*v5>zv(*Ec+yz-&3QWh5(JBb_FqZ4yIXdEnhFp1SVoXgzA2lMR1Q!TR( zPqoZGJk>J$@Knp}!&5Eua!<8PJ^*?0f%tTuz<a8Xr1KObR7-uYy<CnVr^*CEHi2Rl z+{m6XKBbM-)ckUTAB(3P7Ij&+_Yv=yEA`f$Ze4j)9Ad^|0;GxBy$5+}AM}p)HLt(& z5wxUn<4sQjKral?Ih(c)?zqw(cZYRwDNQW5e+dQIfk*Pzfzk|mVg0iGMs|6Qk-e2K zwRfg9r8ZE$E@Y{C8;?K1{R2+tq#-ueA0q+<m0x9F*lJDT{#yDKj@nY7W;5XV{?~YM z1#Y#dSz8&YQhZRe09LG6M$L^^q2Jw!$1S*aZp6~7=|YajTb21NCA>wCl#O_l;IXG~ z@Jy30GW&Vn8by=Ses#p!=@nSyqxFMlaCS-s?<$7}@vR#yKDak2kQ14NOyv_9oCa3O zTFH6}bh()Z%Y1Th5l`<tgXPrNGdP7$MLp5Md_m8XU32Qy&P22IZrTn70h(3CO}YG+ zAs6(*sk46o#6`TN8T8G58G+oaddMK+uPuEDjGLP}m$3C_W`s}A;P_Bq&cw-gL$1b( zRX+tl6MP@CNwdy?@6=6p)>do#Ni^`x`<K4Ew+NmkaB_jVn+(IRwpuf|#dab7k2FQx z3(u<_ypd-Hj0dE}pl)a}Oq2wODX6Hqa}(|?b=>X6{iQ12&}kpT>*RKs6ZXBcgbPj7 z8lE!g*2$NaunSx$%Yi<(mcqDcMGM~WR9y~C)#bocT@Fl@4jG=RtAVMrWHm7Lpu)Iy z#9}QnLzzwAgYMi$k0<Hz79M*vi0K7~MUC(>8Loh}%FVs9&8$P7vJ}>#@KjGqFoicQ zaR-a6mDbfGcFv<$`ufxra-jKdY`_az_&D_c_qra@y2dhhX0m#gv2uei3bl)g?yQ`4 zEe15!pQ&2~q_FyirvjbE6tm_U2PIa0H=)F;MZ;s&xnp|J$}!#2oqF9tU|t^dXI57I z8HzG};d!3|EN;2}D*$81{i)C#sNigf_>tl8oPLep_~0CP{sPYrO5pKc=QliSZ+y>q z7&EypJG#x<SwWh506A}<DbhiB-iJE|C+Ds*>DH?bA0ZlK=3Hl=f0s3N24yYv2IT(l z>F_kdWo9;^6t1)6ZI#Y!zDSjm043Nj-(}Tt7wAB)$6*Dlo`dIoA4-Q?9AH^!uM-fF zeFh=x5&NO{z|>YGboC#TErs4#ZWPHEksBn!NHi?Q1-5~TQ(_)VOpR3`rp8iJW2vdJ zj)=*z4zgYISo`&g@P0WLk^K+Ppql@JipxFZpvg<#R(>A=EYS8x*t_}Ld{;Q^OW_UO zL>kZGuu(@VqeSXs0zPC(@J0x|{~?jQJCaE4K58ypc-}`47~18b7W@3|*7sScTT%kX z5Az_@ZSdq|1dMCo&i7@pSle-wN3)CRn*?wuct$nt#)PXG#012#{f@|(g3|>B=M#vG zOUMJv|A8@@Ufm54pH>xRqlB3ob<{*T8=km!RJlIXKAw$IP|~o?M;mp)pllw_-OXEo zb1P&Iac+_9A<oT}J;b>wvWGbLn8G8xml&J7LADa-Mxy@Be!f*&9?BecJ&a5xJuacg z7CiR!4bGD5rGc<F;$;g1<_2UOl_G2U?-`H&zvX<h!}*}ieBcv1lWhq^M=c+&sJY_? z?NPBa#6+Bt%bFQGqn0q@)iqrXM*H-;`R%gy>0(9Nr!xwOWZ$SnJZCZy&zU-sqBIbR z&EeAG^B8zeYi7!FlH!@mk?k`W=$Q*9o`e#d`W}Jy-svOTwcbR{!5u1GAss4Qp$9V+ z$9yz%^USQJaT+_kJWl($cf<p%_u*+gkAwb@-UrKNR}lLGG(w|;w%m%2lzN13)db}L zDH@kaUlL1HKZo6a&rz=2v8u?GDN9AJT-?g8CDy{0vbKTSi6+oQ`Lw<)MwQ3zqdmvB zWwVTgG3Co6XGXnZJUE1L<jPIEOnMS>iV=|uE@7D+VYCx!4Ej<_sveCiVL1c+ro^54 zrD*+*DLld^EL?GrO<1^MKi{AOl>15*$3`TzlqZK<D&~meLtb;vt;yZuH@2Bk3dIAn z7a+9u4m|F91&`;gn=!!(QUyG6?M7>*b<`Sb{evQg|Fs%UGc7744GQN_GhtriFt)cy zdHEWJAK^D#Jg0G^xl3hbYxmAFiNSa^;{-*gV|grZkARpQxO)V|hDn+L*ac*d_I3to zum3;l`G0M$y=X47>=irN(1$Cw$q{nJW`4&cT(Lop;$?R(HbS@;5X+ZPz6c>an1z64 z8i_<V+2dKFK+esnp^_*7mx2j38WxCMNeaet8N}ttz@ej51;i@ZKEx`;KEx`;KEx`e zuvn#3KUOK)8mkm-ja7=a#wtZy0ZCh<=<ADkQiiFMXf1ER;I0mJ;#fdC@q5G_jD#q! z%f5)-)cp8Xzp-;QO~X8LB_=3uJOsrQw#&_$U`@@$+c3N=#^d&zqU3!7kHb_zaB7j+ z^<BU!)v4>o-0n9Xy()c7sCE{{<k{yfo)2)rHP?Lyz+-yM6te+7%e2f4b0vJnIle`{ zW_U2fe-y(?F$bO(Fp_=V1<%>A{NW;a9=!=M>);vmJNRCvHR!zCpL(~=I@8NDf>*Kv z#!quFBX|>@okIe~XK?SxN+XO*M6@^z*K7fECEMw-3y;UTN_-gEb(xXN17oWk$LaZ> zuIxwhxERwT!a+QsM^2WLx4PYO&{ikoV!Td9^mv_&=<zxk(c^VT<gJLhgYs5HU8B4e zQFo4i0}tqlno#D&cYw9)=<zdpbm6h5Z%~#KK`*aLgQ>(AG{P&Z(wJ9PrSZC8N?2DE zBa^D7cf(^+t@hmHYQ<7{L6N{UaGKam=CxDgWZuj`Bp(vi$=WGir>Bf{ymo>`s*}Z2 zyiOKR@j5+atgGOKM7&NGPw~1RWa1_V^oH~eO@i}I3h5QD&dSL@aHawwUQonBDJCJr zL_Iqz*Ek5Cxs2eMn`=&Cf^%5`J1h4%7{NNm2-eALB3M`3faZ>$QQcNzFM0silxVKg z$<6JVx_0hX$onchWP{Gf`*W@GQc3M6{E|p*k-St=n=3Dq)TYSGB(=vB9+8(yYB$JB zCAEATJ}4)C?K%~&d(=88gU+%uHca5IH=8++g{~X@LqCq00-2>{FGG1N=hwduuwc_Q ze*k!(>-F~mjKgpJ1pwM#4&AtRFgz1m{l;@G@Vo=h+q4k+9jXzezH-(N?F)Wpea0Q+ z)1d)l3DzOSU%~TQZosHv8yeSBMg_9$XqQz)SXLy^dy;TV8OvGf(Ycx1C7vd{3kFv7 z)U<-(k+>K_G-ONeaM}(+38xit_Hdf4J;G_n<St8^tUbbMM`YkmV+$9zYUbYQtTke? z)&N~HcP)Ip7Q^ux+c{tDVWYq-@NLES{|eK$W?r0Cnv<Po&wtRG%|fUe7BGg;Vr&*X z@4@{Yu8akt%ddn~Jt9CBRl<8*CM{u^v?SzR*o4+3k>)INq$XJG@UES|re>RPJ`=Ns z6kaBQ5Kp&K*iv_iBoisTI)a+eOfa0ntD|tr(H^s;r1V2@iROG`oBf^L)_1uki-#kM znll2=M{pCRIfd`Iv|Lz2!ZJ0*iT07ka+>9CX%^`!VXe%GX5q?&{WY8JLS;tt3qqZ| z`_#!xK5YfF5v^d?KV;2g7DIUfqwYT-?6cvyq#$5?D;O|t)<qiK0fYgld(?ZqLN*9D zba-n^AMhDB+~<|+Jaucld>D+qGun=gy~pM$au)+EYHE4Kk|X;+@33X|er-l;$zFNi z^gg4ok(XPD*ud*8^6-L-JZzWA!-g3iS+T%V#MTR*Db^z1^QpVvJ16rQ8>ZqgJ-plT zn2g7szQI{uEW7M`AGY#%57}F6){;?;-NRhpaJ6ua5u2*y`5)oh@-ovmydg{j3e)fi z)8t{M;n~bglZTmxXB!VE@W_4@JmK_6x?TQ=Ubsz2Y4O;V=l=*+&cNPyaCkKtHt#RI zI~49T)w7pP9a8qPt%GMj8##F7)j4=JvzdcuE~zYDz9Ha|X;x%RJoiX0Db-86z0tYU z#NMZ54dB)5_hG9h>uxpo-p9Ob7yxInWq@Zc<xT`@&gn&ZT#+94E)t~21*v^(%~l8L zh6e=+P>|q3`5=XxSOkIs+E12{0IZ5RO+b5*gaot~#(X(+qTt={ttGK}f9B=4g}f)3 zwY0PkU-1mJ?hS8i^e}1d_8r{Xb+gUr7o?<^HxjmYsP~A;s{ChGiukUBUW$)@XOWM| zEHIDwIATp>3gf-WcwWD+F_jSDnag@}P_${N??uix6rXmX9?~Vzr}%`cQ+&0ogq~M8 z-W!y7KtcbNp#Re==>HVmY*%Ja@;*bndxi?{6QPq7jtu3Rdn@oR8HM8-4tX1W6b|M} z`dMD81Fm0sGt9Xxs})j-moAoY{FcTv%8<yFN?vBpo_jBpq6anrQ)`yPl5G~3F_=;6 zt}<so<e)?bGfMco`v(yUUTI@d++fa5zfY-PN?yh#FF2NwMF&FJ8#0OdOAmQjjNU2I zT;Wz0#7lQzhKl#%S~_sH#dx~}FZLCud-guV!vCB@!T(%jlAZVd$~%__pxWyRc&eWv zkdURY_X$Xi)C(TQ(xtn1ulGfc-s@%CACuix?~C4NIQqq?#K&cu!uzDgKPl0XQ&~&B zof_Tg4b7=v+_0jViVmN$n?NM=9*1fwV42Y@)AyQPI3tUh6<&gI6a5@8Xg2Z!Dp*)c zCAW_g{hvGTwTj&Dk~#K%sNGR}cm6Z91$D#y-caTr+F%3!NskHbczg$sJ$-|;2W9{D zQ8k919+q4<&ftb8Ot#>WY%%Yjik_V(w$R(92E0pcAtKa(!y^V99x>qXhym|%40xAU zrk}_aOb@5$*f%|f@0+nMNpbOwSKhn>dP2P#D_^#KFR3wn$*acjCA5>Ks4;xWF@`TW z#_%P_7``ONFfxdZVM3PCk&*4W`^6ak%rS-!h%vn3=K{lNHKCt^6B7Ro5331#SdAef z*n)*qYi{aAdPI>PaqQe9f)w}FywZ!bN0Ih8NPE1|{nyZ})4Na5JsH<inX&ZeC*F_6 zU<(BjBlFTrN`H+JyL{&C-vi89wfZf9wRhfi1R&d+jh7lfhA-cn?;Y*^2Yf+q&|Bm+ zFu=chw)Y&b1y3X1QM%ci1K(}l*SrV4qu|4k8ud-^6~T+6i_N|gcrdYP#bCN&5IjpU zmgeq(=Wp=*WfVLwVzByKF+7j|1WDJy^BO#-(|q@@@O<}rcy5FC-L?~+A42)QhdYVc zEkQKvtmonR1fGgt>kW!v*5dmud`tFfBn;X4)b1y&iQcp5C~|#a0B78IY=i63Td#>x z+zlcE5+ehpI9Di19q-2t6#8=9R=Kg#;pA<8%sy$Km0Lmt-#}#X+jx8lm!28giLOyk zj|O@)(W8YPtvl@{`}DPu(xQOz68>|bY6d)yo{R}9+%o}c5xgTofF?}@vIXcygiPzg zGT%-}n(jx$hdyGaKcHv7@u3@dmJMUgG-U&WGtlZ-b}+gRQ(8CA<TXl3Y5{RAPUe(x z1v1gp`KGQLbQ0>UFl1?=+eO&%<eCVGM|IsH8zw<vB`!4z%e>o}e&_DyjJXx2K-o+Q z=gMYEI9K<Qa*xRhB3HNma&_x3SGWFhX)g()%;l{l-2They`)^-OUl)~q})bcu!eIN z@imEX?kv8@9nP)b&ChUdQH~JG<&Dm8?lFZ$!z5nj&ckb-`<b(ZY0u(y0IEsrfcC-F zjZqk9+!v(`iEM5irv(o332rPynk;ueZ{WsrdBA{`;Ub1UCP4Oj<d8X$&2mE9@i-uu z@gW?Eoh*vPZ5qlK&)S`J217+{+SszCb$jZbJsrP-0zUTG6I}pLKDqBr0Cb!|5BiOJ z*TORap5HdX^Q{N%+5c(1&ad7+TO2Uv;;^lFKRmC%nE|{LH|1H3rqnNvBc|9hAz<7H zSDbnCZrD6B$T7X->E{oC_2@^g=%Zded}dm|gua!6SJ(M7U^;}z^}xu`YD#O@Et?S> z3a9L3%=Xk;N(`seOwOUQ>Mu((I?8%5=GEWQ^ML)qv(~pp8b9+Hg>W5UiQZpK3fpHr zhxfm`koYgS_X!~d9~}Ku!b^7fj88Qar6-4z^LSG6na|hF?%?=TWBjrVW5mK7yf~R{ zbnW&T#Sh_&Z}{dP(_Np=;X4pFhvG<%5BUm>6A>^EAYg!i(U*Wd=y`oz{uSi>sfTvL z;0a9%80Wx^m7TC4x-0s6drEaHK-;RUOX<oQy=PXxgkogZrCoYlPym*sq$aXntY^az zl%5&X1*LTUcJDcvsOXr2IVcZWvHl@@@AKBVycB#GQ4bMMPs39%IbckIQ=Vu+P4-84 z>R_Han5PEjseUVKsak<P#!i;!4a}2cEd(K`2Fa&96{9@xwD4hj+Y9>bmo12TiQdxN z2G8PC0>(<X>Ha_)n2DuS(`}m|&h>E13<o0wTKPpgkNHmb!#YwUfp}{daj0xmcoNs{ z+r~Y%ReGx6dsYdPY8m^ATdk(jbWCX<Gb;tDvDLP~zAv#7_GhP?MpbnK>Vo=a@3DW| zX<flz<t>0ViI(9N-oN^cc|AU(3uvTeNn!i4xRuY1R$LM=#!;hHz;g@SF1QhX{!~>9 z%N*YzqC#U*SC4?c+YBBbn;efwrA@Q#pllxVpqw=OOk-HyRuI==x@VWQ$8RLYX1DzQ z=XUyw*7QO$9Y=vM;S)Ukrv{8J9ixRHGhnZN(aPhmNE8BrF)<?l@I@;q8zzY4bNEJh z#*_w(8E|NB;v^#CO$d_^EbpriswwM$$(Eh5m^qz3N?3oG@7#FVawoj9*Pe>KA1DpB zaLAM;yqidOz!NDAgmT$h#A;hd<b*qB@>Q*PYRz#J@s$~T)ET2iZ#!5{pikV1euEGN zdW!hSqk$TEJZhjKi<nzM;<a<LTb_B$Zhy&I$J3e)AWV1$k1n`Y6<J)0&^kBptmc{2 zjsBsjeeS7#<m81AFZ_iHv0zHTSc<ROSDgaSVYq+7Rf!PeMcj`gMSL6)E@UC%QX;>J zDQ{eP(s+-#vy4`0p6pe$E{hF%XTjs>Pc#SjfCNp&>5D7qb`xZ!AfK{Y7976QM`HFA z@oTT1LLRPwL}J0^aN2!{jgt?RoLu93qW211Y+N=Ls*E-6(SWa{wCn?LZIoAj0)S3Z z1JswNz_b1d`;z_EW>%LiWw>EL@1tykXLn`5_zm2drra<{$OHw-2Yw>iI|MKz@k|C0 zox<orko0#^*0`5-D2^ovUY@`mcLp*RhY1lh9n5VqCGg4UFE~&ks!Lc&OL?5}L_WdD z;BFSqC}Jw%j9l4d%}9|`;EZDmb+a`?r%KU`V=_0&s3q3o@=8`%^v~%k(qkg2JLTj} zPt$bnAsjl4_N~0ImMN@dDr=d_S|+iE`iC=>w@j{iyV%X3fOtC7i0kY}r#5{ilwm=U zo`VXo!1}KMr*(6G3yZ*_|GUHv%H%R*znm*)?3HunjGc0>oUu&>xS7pMI73d<!x^&7 z4rk~q!x?gr7ZyRcr?D!uN5$d<1tj_v=8<t+rF0fgSZC2H0u_h?k%WrQ5u}iASCA(1 z$zV$z&cF>1CZ3^F>x^906P;RT=+xTLmkga+XXw;ALr>K+Dhf$|@a7_Gc)$9(sFc$1 zjuZjqE~+)}Wp7qF@za*nQrfV(*3rI`vA>e=bbB!_vC@;Yd#Ef`l^wkhL{$NFr*lCh zqVoq~I-%OGO(7wNhlBFL%rsmsGH01jz)U!+%|Q7xxSDnYR;tfDb?UFJ(>?tCc7GL& zat<D})^v=ryUG}olV2LZ8KvZbF@ESbI?-E=$dM^9QCGuLGCg2?8_se})DWJ*M6#=U zF2qD8hmCT3hFp&oxp`#$h;3*R8#dU<jK#1-U?7oV#?+dHrT!2po#=R^Tg3$E@Dveq zlu#=uw^}2EMWZ5vMWZ5vMWZ5vrI$wriv@}dKFIwkGFYyfMF!8}{^Yc%wh7dg%GZgK z(>BVfHkh<&B$HJ-lBwlqYWbO3ex_)2BvUjRP|DBT%WFO4<F#HwtWZKV7*gQ+i#>7b zpKRqKV%{QZ-Xdz=B5dBETx#7SLN_ekFfP_DEFdA>SC@F$=cG2$c1Wb?3-#J@1?adQ z7q${&3?d4|3M8b9Co)7H3GLwt?cs?Gkw-#%ctU%4LVI{Zdw3!vDy!#2hFru*WXR$< zks*ucM20M$0eSI^^g`CL6t-8SYSe(jscKHYa@5vTZ4y9QNb-+h-O4~4H%l8gONO^d zmMT}4Dp!^&SC%SQ)?QYwNS4$klC{5tCT#7x)RsnR<1*sjqN!3A^B);3@^_S7s-xX0 zBBEBoJIx@isg0^l>@>LlAd4f6Z<^Efh${4AwIJa@;S1R8x;MM!U52mUZCq?FOl`v# z^nYi4#MWfq3|NNq@E~jA%!=IwIMzhpv1)Phz?%HE%L?*G1D`<TRv;EX2TvEAd^E6? zN5<||xYAnjnl<SZx)tlI!IX$lGvFzPlL=raqvAy#5>=4;gMHg;)~Q1&O9QZasjsXF z*!bREG5-h5JxJk$%$@N3_KbjWUV!p@0$8Hjd9Pb{@rA#je2v2+okN&vH?K`8j{6N6 zjAQaewU|}27ID0(;IWqf2>xHvgTKhxQubraI6c1U?EqbC|3Zj#i$9k71z+a(t>ioZ z4SZR<OD=0$KDt|BPx-wSJ(Fs(FcdI8p~`<3o^5b4CG3(JgqJHH7R_#vICBS8C@dgu z(v-*k{P$KJf7h=Y6!?44AHY)<4j98STVK@WrBpNS-Aehjw>aepO(}<E4Gj4@PMjrg zzhPBm(XweZX!0lZHiQHATW{z;ncRcex-^U(55g0jg~ow9UB?c`+Q`7*!ElEWAtD1q zL<Wrrx(5vtI0a|G8jR^ZaT-hEP7@Pz-5YsKrr@bj?nAxNi&AK@70%~Nk_kE056Z$S zHvGc^3|<Mn94sFL4@+;0$+|KoLlW_bl6w#3Ii!=oh@aUZj!BH^(dN+M6r*it3egT* z!j1CU9~mv8FBvT`oX)hhB*lzNWLyk^!<r0*7(-Z}6*VCPln$2;YVXz^OOwnUgbGXs zTnoi)7kl3Bh=kL6?P4-!LX0IXT*!7(@t_tIqCqjNN;D$HW9C4`djvC#l90g>zN=~f zbp0=}m;DeP6FHBg2eYKfW%&Z~9T0phI`lDya;q-pmDu6CIZ_Tx8o1*qKfQV+YXy&t zA-%E8Wh~{xJ_U1RLj}*$^^>Zxlp-G7V^JZX3g}6BjB`rMgDSCseNq7;0(@hf7|#<H z<)UO8vlx+4zlQ^{)Le9J2v@%0DwU9=h<TV&I1t54j!d_08-GVG=J1otM?^iG=Acvz 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 QeUK|Jef<*|={F?(4|0%SV*mgE delta 285010 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∋`Q>AP;m zSjWR(sdaZF)-h%%rFJ)>Lq30t2TP+-QoWqlce!ypRgX?|H>&xUTA_1OkWcE6qlZy9 zq^z+0fDHFy%S9h%HmXNmdVp;KuK__TLB3jt7WXg`LT0Sv*qS}hc9+@K)TO_f?FJT8 zm`#vpYg3J$Moh^5wam5`8SNEY0BmoTs7up&f^DG1Cdf9mX>U(sgX6m%)Vr54BL9dU zXeSq}eKYunGUS?zM}Y74GHN*r^`OY!MwgIVSm$*+*N=EkcoysQxE8(H8^YW2+68nH zWR041wl|WJBy8^C&#~n&Tc27~yARm5F41g)TpUBM_CZp<#3C>5D}J6WhLiGbO*+7A z<t#Qq=8vI&`xqPYFY78vAm6!05bf)0w9jAJ!YrAGU3-=K8I9EET@?A>_Y0$zy^Y!- z>tKIuAsYIeele`yfg1E}KSWe;vDQzJcdC(pe<bTE42c~=L!M(xX13rOG`>IBMl8~7 zg6vq0KJ1TV4M8En@zm$p#xmQR)#)*_{g|oQ1bMP5)gNHIr`mN=H0HivS#qRc2g0Rf z>Y8Ho%RenyCw6;DqYQnMVytu=?MR~sVjMZRBc0)|(UGDD;rmVpS}@3{q`vsYmv#;^ znm8JFpuYwguT|>p)ggb9q<m^WXq$FC{6>*Kb#E-4lX2OXG6owBT!H`TCTh5qvVh6Z zdvGRCOr0U?wc3K~$T(~{<`s6CR_*D^q0TDIh%U8;<_Y)a3AT7H*gUf}&%bOB@H}3K zXU`$yAJix=WD?Qu3w1=-ZKe*I=`)MzB!_1@uggf$;@N5Om^M!t&9m6zc~kRz;?3h? zTur3tuFdpY7fDeci)nynDzMp0x%La`@0X489fFz0*0>A^_1^X(-e?81y|H|<7G09J zIUwO?2B*<_7O+bf8a%{!IieF92#?I+Oo6LU-toe9&7ePq7*QQU7kVMff>1~9?~Tp} zv>o}>&P?wty%HZpe)A2l$h&uzUF{JmXl6W-PiBftXU@A`xWRAG<)KEU4%IWfkkvq_ zBM<XNmjc?3{Ebdb@2o`laF#FdihO7%9r@TbUNYw~MW!>^8#jIdof&3S8qo9&FTy68 zu$DKjGUL*w#rjXm2m6NK#Dj-j!f_b}o-2ys=tmU82rbiDk=u2E|6y|;=;H7jW29v2 zG~5^(F%Yer#}reTBGWm`8~5^jx-{H~8c=<K7hyF`Sl$~K#JK;DHoc09Hl?_`fHr^3 z^U|hUN3BgKE;4pW8_pD&&UkNJ*Ln2E2%}O;*nBU-P)%6E8&^og!&|Cf@{Hp_!e;DV z`rpS98e<~>qB?FBnlI<lxRKa3_IhjDJ<=%Ws>pa-tzL6k@gCZY$C5b2*?^ZDkf<gc zmg%hSO<!5lCy3dXY5IZ|eNj!H&zt_y9Fd<a^e;2LE7N%q?s<;jDhFmd^S#Z{TJ6DU z&45E!$k#eLf~^+)c1^#B3#3iI3OM}?Xv+V729$Yi;?W>(V!Z?Ejqe7$UFuIKGJ{jL z6F|p?9H(91-$|t6qfyQ_Sc3~`_4cJpDrR}NgqzZ7^=Kos<CHmGu}=n}j(mhSI)(Y| z*w3_=*vE2jir8D~FzlIwH9l-l`Cl;xMVuE$yJfEvX%hQq-nfs_XyGeH?}%E~U`Etz zs|lA{16sk=O{0QijHoVd@oZZXpJ7rD1N`lc`-5?|j@{acj^~&FI({W#cTruV*wDPs z)EwEJ&w>>9DIg_rxkb5THf<k+lGvm<-5X;}jJPzL1=$%tOQJpDjoUqo7QAZg3#(EP zaxgo)&I9VSBfbeI592B)cY=R&m}N|7N*Qa^bsQc|G#34EEUHK1f=yIzff4MV9_fQ_ z(K_4F_Cu;L&ZruCnTO1*DuS@)*H&w>QlPzU=+$vXc)4{;abI5o$A@@j4@pKd^zYzG z;CW>KU3l-*2y@-S-KQS1SPp3qGQOH33V?kp1pj7M{+b_qvj`?oB*Xn`k@44zz{V7I zR~E34{56YN$cNnVL0|;`Fdy05b!69Eu<Rn_*w`&l^m`ijnh_p3ttqshb&R)B%4X1h z@w^@MGxO&IkKN`q{_o-e+Wi`KlMZdl$3III$19$bWAPWaA2UB6vzbOygYkyHBhUg; z7`WGj87eqFmv1ThV7&2?BijNl;Q9y0cmbSbOuz`XR7;ATVBBzB{)}g77p%K^aygE` zt9a5)mI9n#T3zB4%+bskR6=$<>|&&L|HLppa3<qDE+JkmHGdIYrr!jcHZgLnd1nTf z-&{6XE;A0e=-Uwn<e=}rvt}v6ebNIl*?t=mE#9*s(RG~-<*??9zoR=7jmU@_7r1D# z+yMy3yQ!JZ&{SQ%B;pYle5u|fBPQUQOJgM+3!G1A(j;SvqXMohm~2#bwELFoOg57I zyI4JB4r_DGm$D`srAID5tPO{)LlTS~^$6y)iLlnwyo|z{%$d$9)TtLi%g#xXIcx!@ zYckao)@e2*>3!uJDn7+1>)K;=jKW(Syl4pmGUUx8p}T#^)@PYezM#+gsW0erjTQ9P z=aw$9tj|w+kD`^7?--KD*d!u6=(=x;(JAt#M8o7a24USiejl7MNWZg-%t08xq#adz z-5BF2*N)b`ZY262u;xNqOj~-$f!*8E@To>(@h#TWMKbbng4aQgPL7NOsyz(?GP87c z$vhw?ffh}JfWvL*83(qr`jRZ3ISgq-y{04Zerq~C9f2QO!}GfwxVkk(&M?Lp(XA27 zc5Dfw9W#s?{<|`@^kkk<ooz*TK;szDiU!PtfFo8-$l*Yv6@5Gtfy-J_v<rb1t>$tp z2R3L)b6f~K-Gc6OU<+O{MX@NrrDseFN=`-Kv*vV|zl)ml8J0x<94mKYSijoMDPxu~ z&rzlZpGyg+I<t-D`S(=kiOnwh`o3Qft(a}JbabvxS7zhL!R=}kmxk{f)o2rcD^{Zd z>G&S4N~8JPzbfV8oBu!DcEb_|^uj!_^BhQ6QH6J*h0-1dYE_{pb3p!8G~RE;cVsjj z<8QubikgS-#>%vizfCLCUH)E*qOS9eL26QzqFHIG99^1k#Hp769hsxbQo{w1`9UR0 zT>#p4m1xUSqdet%1M{pK6}fr^Q_34gvE=@i>5{qC`1&(n9G8pVXG%#zE5XQ}ow>!w z#0da*16yE6oFk|U&y7Bq@L@#|=&i^F49amDLDiC0!shlFg|*hQw_isd65GcVP(N6D zhT{nt8AkOgb=VVRHBJb?$~G|eft;~!=W0!`7MlR5BOa@zWf?~CNFX_Hr9@}&9<TU) zSlQ!hP*zsTPnq}Y)9DNxby;5@504r(U26@?&nI;~^q|yyt}P|>PfM5|pc_}QLr+>u zQK)lmy}q~aIcyz`owE^GYauTMoqrx%VGtl?=%aVkGJI;l;fukCgfktyc);eZ<UP-u zTZ^78#6n&z3d+RVTP>=aiG@620560r6VFjzWc_N<IFNvHiDuZ&P)+)hp_+6<Lj@NJ zRAG@3)}$uK4&DEUFl;ZhG%tZ)vaQt8T)V4U)udUFRL(<o9yXPdAUD0(Uaf*P=~E^{ zpti#r{NnX3I6QF)j7|1s3_Su_VGr4W7z$f#IDKQN?qc3fS%>;8HtJS|IeD$mgaKr! zadba+U*xNTbfh(o)UTP072F@u^vPoMBlBw0@5~9iF=rGKA)MFyGUwE2Z_Zx?*FTyP zvcL&1()cVKdE(@QlbaCX>?%~ZD|>VH6x=t!A&bXShb*Hs-ODn1*XpziodwSOWwZ~+ zuq~D|Z7l?u4W7fp63Ze{ZE%Em70p<J$T#~E8s%z^$-Z=ciBVp4!P>!-B{(cJbS1?u z#Ug6RG8(iLwR~<U*Y19fN}-hhO?*$4<yv2!=D%q)a*QZT$AQdOs4R|Ab)#}4aLOxg z8FoFuVAAJty>>g-*`U<Q{ClKYVAl^T^k}yQ#c++iX+yajcGZTG89Hl2SxkAvhH@C% z35eT|!*H77L{_j_I|S{<tYf)=pBs$zSxtX0Lx$IlprGYOS>I@?zubr^w6O;luCr$5 z0~)v72n|NILI1?a7`O8!{1&ISKu;>uw&g~dX0Z>%oh-OSP~03PO9`uxL;g{B{i99| zP4J(26fYWQK(cx1P4wS`FIe}2eX`$|`tS4&tJa;veqH+5&9A>>A)+0)xtW3@hc<GL zkJU9?z{N+*4wa#fD~!2y>Q4fR9E55GV(8fII!-qEpl8AUsft|mP1bvg+xcY$3HLib zmkN?m-gTP0&;_lsPqf;Cod`)e@XBe5R@p$O;-r^5gDF~Cr*#q|qi{EnkZ{YH^w8~G z0qA5)Ih6<{gkTK{JZtgLiuC|U{P(nqn%`;*urWHKbCHHm{e+BG35e*_{8pzDGVM57 z>MW?86^|wnZ5-AJv3qR_l9Yw+*6qAnfqo>TL<g;@v)n{ZedZRBn)fkd&teAFE;CyS z+6IfRpwJ~Ho4L;sMWHEjJEvEm<||Rse+i_SE3w6E{xe#!(x_W%c_4Q+ST$=I3B3~n zaMsCe@{E35X(Xunfr^rS9VIDll~Jl;Q_E0stZbZ|Iv$K9LX)-`Uzl5-K5?^^bR)`# z^(G;07+e=UxPh`(8P22(6iyf|DH#R^AAU-b+|IcglKh)$h3LHf0!9K^s#s+&TMYcy zaXzIY{k6)d;kcPW5v#GQ>wDa0mXNV{J}jiqgdHozJ#5D*<{CJ?aDHq!Tpal8I9$$; z)f>g+9fxb$m7oPlPmtiRV^1L|p-Fmbl8IUzyc1uW3;sc+%j}58=WBC@{#}mGo_U=& z8wRv>-VDuCfg8it(7&sV7Qx7;gv>=en!}TP06t!cpL|;HB5tx<gXZT$+}E|nh%UL; z3H9w8X82WYzl-zf(=|rldTEO}_HMClGdskZlQfV3Ai*4=ft~<*n$wpG*>C{E%~zLF z$F)Y|(1Ala**_#?G{ckI;byJ>FvU!T$xsW;IVEZ9T5Ng0afZHMYwUBZA4-eY;RMkC zW9!NTYdX4k-hFpoBE(DZk|2p7mRKtG*b}iNB!t@6sI^6FEwv?z&yuF4)X~<GqV}C? zC>pg^EkSKndvWb+)zZrMJ2Uqt&+<p|?wL6=bLOlwbLY++_>DHr(|2fF3(&CndPJcN zvUxn&WgF(RHBgp3VtibHGUn^mlNS_mpj$JF@>2P*eDaf09M%HxV5&HRyn2{eCl4=_ zy?+b5lgCu?lf-|Y5%?%fmK~ojm>T?~tplB36*gTqQ1PAwhvDlP`>oj2>X{5e(ISxR z@yMABm5ZJ9WSE@>EP#XWdxvO&Ua9cjJ8&cu_J!g+%h)>ShW{Z?tUY36-=zx+^Z;-F z2!7eS->9EGJ01HpZunB;biJ4}a4B=mr+8uRN!}tfG#%SL_AenImC?Qkpr6zAy7uqz ziR;UBJxFW)H3faA7k9mj8F21#g|QH+vFawZ{to`uzZ#AFP7l$peNS_~!vaNXC;bVy z{Io#HrMxDWCIC#0iB}x*%icdVCSEcr+x31Rm0G9|(`I_mw+r<W{>7vNX0Q1}fbOwn z5O`pGk)Nio*2~k&h5F#&2R_oAdB~Y5m21DTvlb`)W|UY<pDohM**BlC(UwIxw<7HX zt>2>8pn%1CS)X$Wa;Grdo3Zc<ieIdURSNo?+0i1xD5xF+jRSZvk99h1%*$uKc<jer zzOaxo*Xm_x?_%AV+#XpOxH2*OMg)hZwBUAySf*VdE2e$A>y_?L1vtLmXrM?H@!uyt z!ZSXMNjACA4+t3Nhzwavqp-5E*_p9Z#d3i0aL9@AX`F^&pTd-^7*m{sD>oF1g0ZQb ziHOoc-o=hz<Jl}4{=HsRYcrEpe6J5Hz2jFi8cP@J3*Et>H<;Bg&GltJu42D2DwrBA z(OYWa!SvM<y<WbDec70qT{zj}{1QDn_)Zl$XGGBEay46WzIi^_r$JPAsb1H27Nc;g z!Gh~^gQhHnR=k&o4)SkE9`ap=-#@&l%`&~KeYBT-=Kf`s@?&Q$R;PX`!(`O+q6f=x zO2i#cie8Q}IC&B+2X3UNod%xNt5by)dcK&)4i*hQK~0REbaq%c%stVFlB?0pBaE8r zA<(#shnz#YcFH0kO-j=~k4CT1>)VGqFcXT<I(w%x4T#8h1QlPY$7>hz(MKy`4G+Bj zr8O&I4GTY~gDYVTi>kU?Lm~_0-wULzf;IFBr?RW`5WU8?Hjmj}j%qY+m7Y&qsMBXi zE&qqlD@t)3;M;9tiw~Vxr4O@T`P)YEtM%d~Kf1-E5|+0>A?zLXMZEBEeg)T{EaaG- zEo4@3UHcoxk*|_6j)99QdJX)a?Kc{@2G)N10L@;bAMn}M&@_t(WBf!KxE5ydLat-N zEFP+dKw~+UKy%Du3{Gf~G9JWz-$85^HIi!}Rar!&vWV(=ltn-_LHI}BuXMg2!147u z0mZV27I=2Eh^9bbiy&DGhi+*RQvk9>bYP2!V2gl=@r~7BZ_6UG^HB0Stel;mO0(C& z1gcJ<-`43vOV78aYFVtA_b*8kD6LfaOAP&4_c|4zUhDC#z5^bAJxt&ThUaVo5yo~u zvTc9~9Kc!PFdfqb3N=zDz>eJL?nm7>zyt;}3Y&m0Qx<ccR&LN6+8eyo=ss!?FaAR| zb<rGE>HUp*KJg>qSW3NND@I>$#9Q4C|7moJABy0?wMkF3@B3Gyew*}m_7Cx}a}y4| zaN;5K2R%CGw-?+N%%DTA83gc(T^h_Fzj_EX_TVAM4CcrpAWur~j~TT12be*#7n(E! zirTDu*>^wJsQG3X>d!VA611cL5l$5d);^t}BEp2S?lut19sTon6%m?*sEFV{T}A}^ zr_VGx_njVGo)5i6;Iu-*Mu2Zu|F1O}670Kf+Gy@Vy?8*&i<bIdwOKLY=cgLYSgn^+ zL816l4*aLxgTe!xuL{jG5X59qxQ4#Sps@XC4hr3Td?KZs*ufq9M8$*nk!C!IQ4fK} zb3EiI{-GzPWTgjjrn$v~$;f&o9{lemAFp7=gUoEZd*8PJ9A9rGP%Q0VfM+-Dp92Ke zew=cET5{sS8Gvtz2Y>X*i3f=&_?CDOo~+`*#IY(K+}-FN528*<V<@4F!TVih3@bcU zJm~1D;z5bl${5NTzMd)`1Y=D-*BJWNQpUjJ9Akq+#e?0}0=tX{v$2UDalrm1_M#qI ziUWdL;K6Sh9=!3;b{SNA<wK1_g3~=D48%^=hs*Q?doUgvF4y0+?|Y!poaK5Kt=|J0 za1s$-28FN(rZu<)g+W71Yv`*U0*#QNIU>b1^!MFGT6MAt3X8B4mV-iGD<}jb0R~Zu zny%DK+nxUi8nhDg<l>KL^-7q<v5_h?9LIb)cc3IgLxlq>G|VojLPH-c$mfIx`?0$k zrLEF~D|kPBMM3NU-)<Z?{;|`^Rr*kS!HX(5ge^E>Sx5DM>~9MW8XAGA%nTlI=M5{V zTUc4iyw6p1sQiP94qiV{pWTQKw<}2gunS!Op^6UW2bxAwLOlc;XYi0?B&%+j9F_j% z?syd)`XKd{=+OI-vJVv<7Ce5X`*Q$}uQv@SmVJ!FvzvX400P^`K3PjnbjSesmgumh zb6zVtRC;Wuly!O`&1;wn4?Ty-@KEOPGSebtcnCcxEuy@#hyt<7BBuRoqu%Rr4oeL@ zY+0|@^~r9cY$C$AgN2p>DcHXfv_UT&^4t$h$O#jT-cgnz!^9Ur#93B#e7|FyoH#Lb zzlswd8D^X)Zy?((PF%nKYMhvI-Ha2>@F3&FKe!lI#)<iOka3~`9%P(&ah2P8HBL0` zYg$Hq^$>`|A9CdQo3UROvEqdH7!@Z*U3HHWkN?uB=t0D)C$|K3JgCPdKfjJ?2{vtc zXFyunH@5imP!VtbI6|x$_##`L`8+W!32=N`sR6ekuc?bAxEJ@uA{9s29K;U0JFn=& zEP$zE8nD$2q9A4vVl+T=_&f~xvb>jvhYf1sDof#q^fvbF!2c-akRF!Lz)F=G%eL4- z>kjEf?Y6(|boh{7S!?Gc+hM(KfqR!VkE)r`QyVJ^B5q^J_^{qvi#<Y{4`T{-<s*7= zSZ@?o5tpE0YVC!2?|z;k*ZT`>oY2&3Kld{c<1*uH2K79mm$d(JNuyR}G~9%JL~l|! zECBVN<&c2o5{z57B(a}-4>-0gkV*yrqYhbmguRgKKT6Hg3){C{gcM6^1!-%R{z=16 zz%pnHW&kM0P4TZ0a~Y}8*|?*l4KIsgQOStlBt~Rfa%d`Y*+#>UV%@LgK-G<4Tps7% zjj@+r??%zhsvAWvxObx$4$XeE8w<~y-8kiIcB4%Jvm5`ObMMBPE^q6`gbQzUV-P33 z(Tz?x9H#p3dbD$MurjH1X80#R(xl(@$Z|v76Cd8S<t&lAy1M6_#!lwzzw5=Dlyy&C z3VghYkIG@$UVIzCdo;}}iev!Wz~2ktbt;a|GtUUTID%T7&|`g;AVq0d5UO8vLT^;M z6uzg9o^aTUFVPCMR_k4LBqA;=VEJvhV<VrFnBBC-17<hT_Hln`w4NVo<Kgd<h=^y; zsEFtR>#!zC^Ui4W<thDL&!%S}#;M!rql?%TnCG-!(|-H3MqR4e%hQLa^(5aRh28jc z2?MJ0r}e;~7VfEAZgR&zQ+KFU*h>Y@=q-vLJjLoUF)RaAri}FU7^d%y@|9?rO!u86 z8h-|Z>)7tJ`Ha3y8}}6@{h`m-&d-{C7C-f8QTkcEP<U)tX5neB-HScI$RDL!#rOTF z%C&)4<uU5MeBDOp&g%6-9wO+&Yhr6ZXNMJ0q)Wz622SLkdQ`|Pg`-|RxSsIxJZhJ* zCLA~`M(bg;^-sNU(OL@8e8HJ25qYe4^qP(Ca!u!XqkoQ%E^D$xie)Hp;?KcHPqID+ z;0c$}ek0L2y{Wy$ag8pW)0@}@9?G59n|N+J#$wn+&rU)Nv(D>Lq61Q<Q^Ih2ea&@@ z3SZDWimgXEX~kr{k$vz{jUG(ai_?V*dX(mKl!{-}n~L38sAcB;AA@M>MR=T~EIN#2 zEg*{mF5!jT#v?SEe_I}*3zv}YI6`GF<9GXE8hlxg)<zwsO_wnX-IPUtT-FmRi^Cc( zIAIBCVi-2*Gl5}qq*L&DeuBT@t%l1$s%G8_kuJ9k?(67q1q;ew9s(6uVh83cOY8@F z=B)Y2Bc@^}+>U^+UGzHwdDY!KN)5%*(nQo8oB9VnraLKJxV28U4ItLZ)+77%b+UPq zm~R;&Hq}Rq@uL@4^jXQP@ri<w(UJA=X>4kTvOL4V8VDx(R}xrbF~j*oJp>vvTDV27 zUI(%47r{z|1^4y<VsX+)RMoS$#7~GxSS0sp4VtrEpPfKd!ACLiARH5aAI6-pJEHS0 zxw1+5uj+yJ(#HjbU)9TV7-)A@Z}HCUXM8DArg>mi3R*E5FOg1RVi-f_VM^(EH0Gw# zx7YO!RPGu!*=&E8dR)WVAY&b-MKVUu@9EoXSUxNGCxtxHgXq*Xy@<Wn6OC@)!)b=k zex>Ty;j=gXN~5m>>-bcz?`!SpeyU;U6`V_TRaFXCm9~fm8+w4f5zc5$H4sR?d5miv z44fWUWk3CE=&j2)#2f{r^IcUinTuTLTfB~tUX~$F&E(YHo9L4p`k3-Z<Z`YVYMwuk z<{}qG)8q>T#!q4V1!rs&dQ<P`xp*&Hzy_l926*4S>?Vd;5qoIIO}%9)r>qJqS;p1- zvL4eeFJLvC-DaYZhW#CbCfSNm{4Kq?_SGKx`j#Fp%IyY$G$TsGg#dfV=QcXH3|G07 zxs49K#Gt&>Z7dZ{+)XQPV~=~Y-SpRO7=&#%RlI|PUccVO9j{D#@906H<#tK6j({I} zMXg&$qXi>AnzXxm1$)Q=L6z^~h4(vqY0zD?_UTJIO}ndCbe*|x3jR3vy92wkD)Z>z zT|M0Ot(7Gi8_8LZ=aTn5y@|6+DzC$y#*oN42`|d&=tI3!B`>UPa3$%?y#8}v$Zs{) z0l@tSYLnJJsi@9|I5?~5aaN5Ybm$(AIKc>BsfKMQRlE<?_$ia_Ji`2E`F%aV=kQEs z|2EoL6+5iAX(A7GdyFGBy&vfLwL+Ox<bhtKzVkNNfYAX^p{rP!*>@O2Y4uXx7l}+P z-bH4Dntf61wDFUVf3QTqsWJ_DpjWK?0P_fG11EEO(d-+kNa9m|xy~=~F+f5q=_qLI z_?EIBKrF7GsqjO+Uf3ZycF*FnOhvZqE2KC#BhupCA)3Nzorh@DL%pr-5M@2oOP8JP zZZgm2yvZ-gsC7q}Q8m15HxYLC>h<ZtJ-v2;+1q*Ko6}VHgLZo7K2{OWJpxmrw=?$| zdA`{87RFU8@C}mHq-98cChOsTTKrgVTN)qj$SR+rclZ?g08gRhn`yWw9ML0FCm*0< zf8&dn<+G{n-+F1kop@v7R_MzE^x5Bfr2v%0_a+lZ$t5$3ANm10_P1W%-t#AoDtExy zrv6X#k8QtF+7rE|Z9naKq9+%(XiyBR4bc4hQzaDNPrd)a2bgzvQ|3Q<Mf-(kcDnzM z9_4dzkIiGk6`Z0dzC=>Jr!bR_dnn~8jv4#usooN2A?1ChSBlwdc98{$b7ugWaa<)d zM?&uIu|NpT@JKN`s4%|UOJkquCCcxCXkU48y8n^g!w87Lz(Bn?1;@CA@whD=c!tBe zMsa?gN-t=~Q^dzI&-Ie|QHOjR$g|KT^{K;ieUjF4GhKL&&(L0Eko^T-l+_+b)n4fJ z{kHyK$~!`;R?Kdi@ItR`U-W}Hh&}T{Z&L9NhCGd{-jQ~IwxxP74Q+qK2980`)Hef4 zH^13M@&D>&oLl||5f-guzMxP4)vJY%a!-7=*KNSr%RT49Ub^tFUN$D&J#iV(t??$y z%-FZjZM?~g_?wZygU#od?BY-WjFkRrNzMM#+dAhV#ZooHcQ38^Pp@05#Ghz?!a)o- zd$|oaBTdvy?%&!y<b0`j(Aw^y_h0G_#Ka9eBFSzds?x=mSgDTMKzCp2?X~OcscANr z{}!z$+yc^GYqp;L%Ekv9PuG1_L(FL~<bfM6F8yNjh?}t2_eRDGdAY3Qr|VsJlpR3H z;a%nV<YN;pw4-aOt4);C#0Hvb6A4<owRGAhiWQpF*wiD%|CigLi8TE@eBHS<)JhXg zJ!h?9Yh9J&=A!HoYcR*q@!D%0Ue0nXzq^`3?V`SRcM~PqMYQ%}9WAnps;;ePP0uAg z^&tL;wBQuFWf!=3>nQo@qJ$O~Le+IqL%Y<D2I^vH!JgQ+!iq8oUwOx-I^mFiqDQ)@ z9K6*ukxc2bnr&eveaf*c$?(adXdzr(KL3$%_(eA2t<=Z58Fs!w=w5#Q-ZGTaqp+5Y zkG%POPC%LReRqC9a2B&<Aywt*9wu8<J=?a>1|cdJj@vH%?yRsV^o1*!j$fP~u!a5= zqDb<Rf8?<OsK|?{M>wefI@P6LEAFT!`GZVj-eZZFaaxKGJA@b?)g@w}ZTLFSHamP! zv>yb@iZ-Gr+&6iH&t?e#pR==F0pJanPL7pt=4}?MxVCK9b7mECv(N^%G69l~QGFOX z95r!fKlxGpJ}Xmx@BJ*o<UuS8u5)EcmCsO=*oxV4&TNk*Py#o#PLGX8MM^xy%xWP_ zv^iK(fQ#=;rm<{s4~>b#5Wcp|i+8<9xzSu+>NGBcl01dWmO&qTike!3A84(o2(zax zH(m5?Pch5(BaQbGwea(kmq;$Y+3Z-B6iFk1au)|WE)&Xcrp|dp5AFU2+L1?8vR}9k z7oA7IMPqSx!gcAQkyOuHz(sGQ6mJ0+?JbgQn<yx+s1&owte!=STcQC<{ez~-gxW~R zy(K!7Id*TLr9%>9`X>53uP9M|<LfT^$4hX*ju3Xy7<sGFB1#xnV(4sMQQfN_=l>G~ z7ws*IQ>}cWq#x?A^qetgRG@+R#AGdUF+IsAifPxEP=Jr9q?H~(u|A@{-;zb9msUcr zw1LP+M3(*@x45#pM;ax^A<E+wPo%U0RLMHw!JSy1N`L!^#+vI0)y*$@X`d~mh51D_ z=lp9*ak%$J;jwhoR}^;6UjomQibHbuMd6aGP2}SgrQVUW-jA)bO=`K^o0W~LErGBS z#yO$B+770l=cFbpDak3CYvaG8)lN}byU~SCIK>@jr>kzQRU9o_(>5%o+rA=HOX^4Y z{Y1m?KNqmKnHc5^y5mw)cwoQ-!O!<fBl9`>7uQkm@L#wg)lXD#PL{BepV4fTth3mW zMce~yF*;&o9OB_wUW^c<)C|P<v@bVQgYLGs<*WU2K07MRg{3ktTdfF`JbN@8vV`$6 zz$lVOYqoH_*>9ZujQSN2?X`jPX=edZsMe3^rj|r8yT7hxLToG9t`An3TBlmEqZK%T zxnY6GrRbk9d@oxN@~&Qu;tGmJ)fdd;MYS6%V4b<7HMHtbRjvfrr2|k^Hd;l$6ol&@ zlb^IgqH@{6?sDBWf(L)N#}7irS=T&Rj&nA|g5l6L)EU^?ulwoqLZYc}`?;oqb&#E? zLRXP$_n2$Oi6q!G#|aEg6J2ojdl%9a7nEt;e7frrrII^_F>mBZKa%&TeF6qb8apub zTR+Z)UGTi6o62g#r{!W^!1?7*$nBz>8w&REt!5)1a1pr@!ZFI2Qrl!}AQu>ALH9Xt zKy7>>2(G^C6<fYw?9S)7eF=UYI%AY9$s+=G#4eBLEMIP7#}&B?N$kZ0+O)y@jJ)Je zcIhhk$a=r3X|^e|Cs&ma*DyvsnvHx|)kb~+qJb9wm|6#jnB=~f%pj7;(G?mqyP_F% zm?%ydUM`0&?U_Z_y32~L+fQGmYtGr%=$c%^ovu%+<k0n@e5_{mK1t<#7RGcK4R@NQ zrZZH{f(9`^mlUViK+!6BQ8DKF(*)jr=4v7D=Z1YSejN7+W2;iR#K}?Y`ah7Kkh;g@ zTNdN`Fu}mRW8`#1wmC`SrcFwhT*%6i(m75C{)1$z05iFROii^8){rs?Gi#oO7dK{$ ziQHlZ#^w4XRtN_=CF_Ff(Ug?Pfw<5=R&<m^-vCrr)*<_K*2)~jsD~^_&Q*Vopq~qi z5Y0K8E)*92$(|Qv>)5?*inm62Q{Elejv;SX*&KNvc*63=254j%2^Uq*OZ}PCpE;af z{S4AAuEt~E^eiNp9hL?#3ueMS9AtP$v@zu>Oa5EQgk=49EvN(6deMTIPU9Er{r)<J zHd&D5=jKYZzlaD<4mfZ2tRIE}+>s`%xa=9d%!E>9a(Y$-t7F`=vdA*JGEX4WuH0Q^ zQwGz}7z3tPjI5evOESB(MWU>vcAy1vbB4DC^<(JvcC)9k44t<isn3ZaG{2}QuWfvX zek&>}ChNg&dVSAykW#WY&nY_h@~~gg8OU_DK818k0vLg?7Odek^yzbsWeRsXr<azv zX_HdGNGqLrI?lxZ5;tzD4A$#sC%Kka^?HwqSv{8uDThOho1@o1SIp7tP3qCq>m@l5 zlQYMHB+=6Vx#{&7D{~N|erQ3F+~=f<O0U;_N%e!F*UO~ifv_#TKE=Xj>9abqI&6m9 zH~s4bOha?@`YyXtaBA=A98S&Q7EYc(y2Vx2-s<R}#ddZ?)nTDZuUA&+=&slED!A+Q z7Z${X7~?HS>UGbbOiZcQZ5g^T7dKllagwR6D^P_HF+>X~M(H6U_Wj2gI!Pu=mN?jH zCZz6$1FZT`bxAVkuIZ$9T+ZoIAUEFbciAQDGP~(4_zj$f?qB0c9V-gUz2fiGs+b5! zo@i#SvN9n=mc_rvQ7A{&cgx9MaKS6;(UkQG3zDtxvmi<17C?MB6nBKh#P!Ce!h?gg zv8j2CJkwufC-d^jAIQMV&9Jn0WvrC;R4-84NZPwEm<VZ9<z&+7gtW$?V8`#=b7Vy@ zwMW=Pp^Gc;=dc5ddN^{4dtpf!cEf2iISsf&F$|8atqf-!XXKU0X^oRCtKq~xCiW=C zR>;2G;`w8g9x4hYN1FL%bMvL7*B#@Q(;7#ag`_gb7SMFhTrxYb)Fv=;?t;unPHSma zeB@$I!*e*jy~0(2C_WilTiV2&eJ=+ykx6`qF_rq33^%n<R^hTB*^s9Nb>Qlsl{GOX z!M7|(_UW90cpc}Mnel<VZN=Da;Z0|rZMGoE)@2qXx&Ms?-Dk|tEGU8r9%n&P+=DDg z>ce|wl{eUsMs-Vwz~p7h7vX$O)WgPqs)Xqcyv&5n7(JNY;L2Ta2D%c-J-lmrx4p-6 z*cHg>C(&a!U760NQ{^ZNCQZ!d3M|uE4a8*BY#G^o#>@juQ`9mf=7AT;F`qGIa?EG2 zdNj?arv*t0+FFpLv#AAfhm2Yl#QimjHnqOiFqm{73zBkoTBy^RsWuB5#L%PCmUtPu zTAIEtDau#Kuu^4-6&55*%(b8_F7bJ3x?fT>O7<!w%`-Z!y|hm$_QwS|4HvTUaBTtR zU)+DG0^hKs1sgxUox^ge4BC-bST0qf8>a!cKIU{LLnFB5lZQFoWO}mc5~`TU({d~B z$NX8LkgX%rBnLk>ai8RlZX_?qDO_u0CmGtz#NB!;hloTbqBY~9TghP(tx+kHo3f%B z79^W1YeD^(pduC&%TPWGl0ADFX4WG6f8T;6hb~*tIxhFS1-Yg(xYq)GnYN5DX(7p8 z(_Un=SG@_fj7$BUg&?)dgWUxC;VfXY#Z+Pg$#u;8jr>757So(Nj*`*}nwT*n1SNB< zpz<M9m+M-k5u_n4+1(1#V8dLE%=J*@auE5uq}gRz|MeV*`*FsCm`>xT4JM}S!)gmk z<h-@OOdS>$dgK11+<<B~zAi~uON+AFg#zR(BZ_JZzoiOg#FP@>VQqP@UJOgefAPC< zUsz7;RIE^#TRp!n@Pba35z(ct`bs@ko-?pNcoLlv2xda7JKbOo>^DCBmg<%jU9_-o z>6@}5-Z}1&VwW85{rV04T~^ffJ-f~%T@s6Xd7{HbQ*H5Nn#RAKC)4q8Oq7dGrh?@} zPi^!6=wc<jcaz_1cKaViSHWALJLN=N(Y-#>*7ziw45k?b5902x@p(b5%8PHb2QhS~ zyqHnCTa4MD^dIZ`NXl`37gJta4*K>RMTizx5FhF*X5)3%7rpI8Y0@ZswH8}Z1Umbf zD;Vq8p|zY%A5|3fle@1%r8#f)Z4!mYO8<NX(W-zrovAsM1S(l$7<j%Ch0Lvv6II|x z)*SX#PF0_|17P_T#W<O@7*#rbJ)C|xkRP=;ePex{RN);_E_gH7m-DjU1FuWCsgYb? z^RH;=JECrISA~K%G2Go-=IEdUqdc5N2j79TX3e5<m9WY%qX%`Zg!P0e<F%RT$?s72 z=OT~RVm$LdNxz+<dCWX?Hi(iUL?dlV3N49%v>K$)y$JE1IGfB%?(+JvFOz9*W$~W& zPV($3m~P)0$0F;b%@{}Xs)&YK!Z^BAMRe32j-|R)#W-!qSlU(<==sM|Xf>>9|2Bqt zRzuC7j-gf6kRCFIe5(UKF`7D72RwK*ZLcmOeQS=kmO^+$`iUQj8o;_Zidxjbq%VCG zeON<8YD>oB0C}v0>=;WIYlz^`kL;{7as}imm;0iPv~_cZ<5E)!t|^KX_&$rV?lUi^ zFxC%EDXyj{@9H;+*J<EA<>FyKmZ<A@np#s-F1hfI@_=D7HB5sNOxP8AYnIeXuA_KU zI#*NF(;60_ph!_t3oby>ks`eKhJvh|N@1j#40dt?n$F~6kNhY#Qnd9A3N%ysi&-Oo zAl;7?MV)!hm=b4FCbp)^wQ=8O<yyj3d9zD-m^qvi?q?Pr$xu;1P=(uawHVsMX=Pf| zh*~1t|4&#y@~WFF-7?Q;MVo7h(*EfxZ;yMqRjueDm+PVOw9{_%3~a^pR7hS>$c>Z& zK$N|cRqL`CR_?e{BN{17kv%Me+Zs)-NX+MnQcyU-9po~1WRczL%rBTF&Sr3qvm&{+ zaDOz!i)!>|ZSjj%zZ#|25i#Zb<Q0mhYs<%Lg3)}!BzOAq?}~WPgyRY)lTTf|&*?Fl zy4Dp5&T@NHW(xZNF`2g172UM&|3`)EA#>qwm6^$zasQ*B*0}z2dOcApxcyw&0@n4o z1wS5IfxrxA`Rz%xqZRP()WbsT;~`YLzUV5x8p3uYUtJxkFY;-vhR`{rYYzug-3Iub zIhej}AliG@9*kAdsa>dY6Wn;}6D8`{{~CnN$9x7^zbIJUq(QViN|e$<KBBBBQAnGU zhpt75YRQ-Xc@DNd<?%wA>(EX`&N}Y!{tPHE#utnEf>Nc9S)3lRLB_M3K^>=k#%aJE zkeP!keU2`1)Bcyj-BoqSL0=aWe^7F6fz!-`-`8_RIkRjj#dH(dH<yq(jJu3+nR^oJ z8!uCjWIdl*kZf+81xca?S<ro~Sz>FV1<KyFu^`EVCKe>)awMR*R3}f>SfhAEz=ZG= zEo~t6Xb84?deMl6;;y!@JN1nbZMD!&v?E3gDCcd)JzwV59(;NSEi*m)7kKl>y^vWS zBvYG4qPvzSnSM$Xjd5w0@N||rs4&vOMPto4@@*_W)as9;l*Xc7zV5$qrW`AbWj!lP z4;qVFcCEigcQ4rjscsulso)NN?{0p0wCV%alx@6ur6_&fMpVw<$1OJjCqOoVUfq44 zqMG9Oi}z_kQ+O%gessR62uY5*FZIQoZVuwnRYjSEV_I-FDY^$eI&ON4M9w}eMVcm7 za4=Fj@RZYQtdydb-|J>E1NfblF<qvni9zgC6t)zo7pEtrCR;0(Qm(yB<dM0^Qo?_( z;Hn{}r&2t!_WR8Fs%C+bxdpN~eWfgb4n%SXRI}?iLo*9>GKo(Hol+M@sS?(}IfH3$ zVj}O&$f11>r?*hJ*1$QCmA8nAJB{6sYH%c{mtb7xhQumlGnHD_<FMI$RHkh1sR#Wp zPBaOa{uhe`*Lz6X&F{XN_oXXwqPyo!{!|pwmd7bx@2FQQ$nTpiT}U-^@o_aig>NS6 zcves;@=VEwfqIqvzHaD;dQ*?)P>K(GQzrj9dsDG^QKn9fmnP9qxw~a8NQ%FR1xa1W zXF*)8@$x?p8Xqr0W19Cgqb~D+$K-oi)%W~oRy&6|^P>elWoWqtWia$DD*7v4d~MJE z*Mm|LM6A}UCml$@s4=W3dAGptU+?|ctcB2R+UKE^*iy{b?iQo_Ek*rudpAG;mQ;79 zO3O6;Ke2PNvic0A4vBb;X&=g#8Sgx_PGw4?TsDM_GKM<uuocW>?iPz1q73w#pBa%2 z)ME%c_~>AtDY6y3LS|z*wN_OmJF;*v+i-O7+Q|~d3={9~P$<5vl8pw_sMeydXY+1K zvhvUs+q<HHxZRawMd**%<}mVIk<W7(V3vJ@`iKI{-W7F3oWy{GsOTK;CfB@ObDc#U z&mX$H>LBWA?Ygj2Xhq>|5rO{c%$}hHb!-cDnbTR}UiuUYlz|jc3n|knI#91l+Y*5O zcPFaVPLwM=wWBFwwp_e+Zf|%#_VBnd{RySqw8hRGw8m36);+?dqU}TrdrT+ub#smO zqMuejkkZ?WkTOH0TVYOCtA@(>y=fvl;SNv%mXjQ5ZRtu^+lyA(lMWQwLA-BI?VwSV zf&1{bbin)Ux*h0Y2T{6Ws5xelwtT9JtZkySY_2fYy~2)NsBuS8ixnoNBQ)v5_LSLC zgxdf8%Y&|T6z^!iZKZ;puxj0+BSm!*4gFTMGY6t_L~{GK2Togs2kp|1j&;H~*Vc|I zb{4g~YYgBqB~C}fEzzBYzw^mm)r(jb@|pAWRcBGY-rOINnCdGX0uN#;oO_M|=Y3fF zMX5dTnymkA|6~_%KedfIC3y~~MgK|vbrvO(SEGpeN-mSD@Tn<#D}wQ&-t;_yj9;DD zY33Z2B|VO94yUDwOF!h`O4pM|;aVQ;G#m2?nU*G2=i;(ENH)&RmK9qA2I&=+o5;(* z&Z$`XhxLrh3nR)UN-r^%ahX#(OPyIElmBN8uw}uK7L>@ed|*LOwPb)@EKm~K!h&R1 zqAX|*7p!7Ik|kjlBpK&#K_i)6UKS*o{roo52+~e-9%ODhaowXHmOw2~4(GFOn3-}W zae1E!bzs>{R7>~RT*uH7s7}io!bNwx3a`@s@50n@OEcWYD;qoOAAOFEossf?m7^5Y z4RZ;fP88iuv?{S=COeLVBSw$0(w{)J*yVg-C42X#P2EI)&8IaL?~ZrlZN}25?xLAy zjG?{VvH9S;G31kkIas$bl$a!XdAI$H#dXApDo;C-L<7G{;I=&GBO!oaGkYXb{vIO4 z%i|VWGm0FhYCS}_cCQ_E?;)C%_yRLt5c3b-`MVP{(n@~R1Bc+k+@H0e>hFnmTJ$JN zdr!n^CqJRn?}^dc&LnEvQw+&do!`o3yXJSNte&EDxo%9-)7Uy)1BU0vp63R*{59M4 zT|4Zu<}D7K)JP`%uN{T<!btc~JoV@$-mNw=-lDw$(;f#fK5cFo&*|e*J4eK&4vmaU zy%OE6J8nddzs?=%bAXIq*gDnlUCP%R+&#<OVD8TT*u6u$t>gyXD7iPd+psy^?u`yj z`<NQ_L5GTcOkecDocYXfI?+c&X*8Sy`ief@&My^rM}$f4zSAepqEK?TCWGU5r-MML z0OoDYQGYRQo%Ye=zHmYn6RCJVQLjqv6---N3Okc8`E`0++Rsy1`cuc^a~^Dv5;(fb z?R<xqt!R2bQCPduidOa$A7}x!Dd2q(YHLf8?~7F-`@^x<Jc`TXQ`0(4HLwU%-n5Hc z{eZrteIROk|JfGwrB&~^%udPuMPa|w##yP9>t%XyIb8Dofe3c4m5GyNqR)oOG#825 zgroG+2O=n0z>!JE-cNdfv=lUH+&?Q58)J7!78=duM*rkA?jR#{{}3zykj_AB1@JdQ zO|8d%MqTxoaN4MXCtM@WwQyLDFnT<Ao}KEO8tXMRzHC@TYU6|0;$ID4Z4F7_ueN%H zMNT^AoP>2wk4e8eC&_&#bKB6k{vs&P!Ynquk@$Fj@CPDLBup{JWl?5-5!hHaNnWN% zj$)GU{~<|Ez~w*#CB48OU_LD~-oq2fVoXKWjQbQkK(x_Dx1pf}L?vf4^};w!*0p^A ztsfvlO0AwO-G@p{Dh)YDXShHrjC||&tWCHGz8yUtAS&m(K0r0P%-CL%Di0L3wVg3E zaG<EGO^BhD{M$H&ZVVKywFeEU-iKng_CqT=@u8Sh^u|EB)3~O`tpW+DN0j74xknwh z)9{Z(gmxv7mVP9@@hQ*KCH19#p=fF`2>LjE42>QnipM0z%MF2d{oMK(o9#M^WR@Iv z3YWyR1cYsacb)t#Q9pTP7=Q4^`?t%qpbLYbA&e4-b710XHBE9(L})-?#qT^A!zXPx znJ19H(CEi<i{P)t@Gl`S+f}l;Y)9<k!PeBqfqeN?0!~NjkLu#5_8u9R);`HpplsI~ zh5S{ztULjP=_Z-!9vB+pfVTun87%x=39?c~XoN>eX4M2*Iaq|32wa^*5jTj{Q`eqk zBw1aJXhBZ~i_q#VWEE!rpP`m`ypWbU&?c-Oj^;6XV@eXA8o^(M)ZfCZt42TrYCZ%@ zS}T`R{~=;v_-^cXiB0v2O&uI@%O02dm{9{HF_)WR%itjH1+2DWeX<ROx4Bi1Vup$i z+KhTMZ>T6)dR1@JcvzwfOyD8|UrK<T#hfN|ZK$YQ)Vm&gBt+*l4@66Lo2Tnar-bu` z(p%d6XSQ6CzczF(;}>bMlUS@$3dTug5R)=<Qg(9+e>jQFS3f_`K4?t%g}xnz9ja+D zv~!r~Qex3O=2yZO#>qaQFz3UvDOPfF3u-VN@nTXPT0UHK*7o-y$H$^wSg*NUjt?%H z%^k=o7&yX8uMhcsECy-~YSa3?h_Ctx#JI`5sp$yO);siDprsx+%J!xuBVd13YSF(V zL|j<%H&*f0J>9GAo|E3TIlVs;)wYXN)!rG2ap>ngDe4o^*4`JZ=5sy~b+nE(>BJ|Z ze3?8$?H;#M<%gmU{?f3UFa83h&b#gmVHyq_r~O_~nNgyO@9`R7^VF{UZVhFV-cy6# zA0>kFPBhUz0^0OZ7@KyhL0O|j3%~q~&T>+5`9gK7G+Kldx`4^<bmQ4Z_F9kdAE$t9 zq#mO&hTUG5W{egi%l|lAbu!kt(cQ*}WkvBUC5MHxa<Zp2rD|jFHvWIrXxSJMU;f}% zs$f6kWj9qY*uCH<gRJZYO{mydF<6^hmA)J+8i(JR#W`?=L1wwJ?&bDbxjP!q9w&xs zTdL6TaiXtwzbl;|C*Id4b)~pu(Z;(Nk7yvYGF@qDGDMKkh5S=QFZ-u?U(nbTtTNx} zPdigE0jL&1&r=}P^OY!ZJeKo5uSDti^{ZcrW7=+T%$L>LS&6d8gJaGE%(3v*%(0U4 zfADIm{HgdfuZxE*Fe_WMZDz6W>uVl$=;fzaVD_(0krOZh4XR9^P7q<q*M@Wdu%^!= zx*MKqMN<M}iUQyxAI;2FnDna8Fq+n2vvF1ZLKT%`$~7noPwDC-IcXO8S|wuG$+h2l zj*)(vtAbgKjn4=l!6>{I!l3z0l*C>WDJ#UzY{rY&OD!g1C-v>mRkv;rQxox@rM<dN zaI!_H?*SZKJn4yZ;vre(VdGIJs2g^CPTVH3KMT9aRmOpwxK#P=OdyY~&p2d*IK`NK z2P%_Ti~5)=wi1Uwh`KRRlx%Z)jA}5GYq|nrcpB0`5|_nglQ_NkhaCOXR6#PS_OIq> zT4q<+V?wf$kUf+%Nkls53~=M>(*3k_k|_J$3F#ZuE@~s)Y%Y@%Rqe9ADFa_?Zp41~ z=HB1!-dtx3N@q$Fc2nj5VQ)_HG`Gf|T4Vo<j8bH$;)=vSlut@c{QX%D37L%a_W-oP z(&X;C(-yC2+i%2pn_^93{5`weY5FnQ0%ar10WmKV5!8$U*zCx2Uk0${6#M^c$<Ty7 z^4t{AupW#zA0xR!#T4`&JJ5#67O-O;kd!Js2F}cm<kAX{tHic*q||^0L+%n|uEYQ+ ztI2-^CYIAm3YL5sh-AH)@DGiiETWQu&r3u9Gqp$6s;ksVJPG6y@`%O}6<%bU=Z!Kf z(<KduYsx+;G@O?Xu&#YrDXSokdgK&+Si#(snMk?uF}_nvmfSIU!PREF`pN3}_|g`5 zGJ6}!e6NAmO0qkND3I-1%Go&2C<1vN!;5q667AkjQ#`7^vfNf)`R%6b;54NvQC!`1 z?L{_inIg(o{uU*;CVqA9F&vxcF;`@a2}r*+3D)1xRBvB2Y@}%~sK8Xr!J>Cky{Q;y zS6M?{rix;9Z9tdw$-<8^u@dtTCmF;}${seBCwPDJ@Ep^FL8$Q@rcc~X1lMTTUeJ%I zvC~|XVIHejUy{nHzbIZafD4DRhkF|zbIm=`BVz!bn1kGJwH)@r9-JQ6g;y-hO~q2$ zjlQAU(?qbXI(3*Pg2FTApkFRt-i%@ir<yu(6v=U^=a?*6YUkH9ZyKgAO&(LmG!b5) z|JRJ1#rbkUAoXi{G))u_h($Sc$*-^KQVNJMhIzc8@~NVMulE!;mX|{6s8kW=e}0E7 za%-~6WcrPp*|aHDl=Gjj@+M>DiJRh%8!NKuG3RwtdEMR1eUMGnK0{uJ%By7N$#Uhg zX&C37-!9u5YSyXRdr6x(Z@$V~`#<;gUeaUamFy<-J_}1{F&)L62K_wjUP;%N6rF}j z{8S}X+$#xwN#n6g*#G1<*|?{fCmX-~A8q4uvsK=yNp6iV{Ez-cUdeVc4{t}g@n89c zK$`0t6H!*u_CJdI9F^ozm3-h{2~L8TioBA){=|(#Vq8gGRf&&@=)tVr|1X^cV)7Uu zPCPrD&rUDZQ&E$``PF`w)Vti%LS<TR&`D>+mDSn3$_?hLCaMZDIlW|mm<0k&-%&_( z^Za>xvAL*(6dNxoJ%<FP0VQ#{+gnXY)^gs0WLsH)Sn=5)xpy+Ld@cb|gWU*N^noJa z`X{dvklNFY0BoDbUiw!E7+^Ii3Fu})vaLjufIy59atK%{S5PGfGA6hYP|_rz?`s6) zbt51-g$Z~LHFD#?mRC4nL6U$hK*~)>aQsrZdd2(}?oBU$U-i9hk5~IX<2|>&bIZvo zuQWZxYAlm8ds&cds~sR_KKrhmzOS#EBmMKAy7fKWBw*mkR|)WYjeums;}rrPX1MqL zFAI_coCL)FdOry87+w?_`&lp5<V7SHr=EcqI6T94s|b^s;ZEkt7b;KV$#7YDx`yIf zo7(PF5AUbgRy^rds=M}hjcxHTy<CCSx5$)Si^!lBUt$YT!3^q;U;igRGQV7F$17S> zn6n#xqPbs+y3P*W-4gr$MAyF*!2we+*hA&6x@L(eE-~RL6`cvAuc>PDF!N;3W1doH z<dy$tvutS@FXO>FWJ?=OjpemYPE6v;&Of7dGqC^=S~*90V^dV2bk3jCNAclL9&jsD z&E)iy?yvFTBg;Bub`P{Kxgslh*Mg$BXk!KOB2jHg=B%)bc_mGp6#0zW%@W0uM?~Zh z^rxKSo5RR^y%j-Ka|ue~T2FO*ji9}j%F67FA54NW8F_^Tr86|wf}$Au98heUuggA8 zu|Xz&^Muxah5fdRmm|}S4ZADlP+7~QGKnjxYf_mq%w!vPt<38r`YRGSFRw*|EdJjn zcWUohP*f4F`w~FtM5nQC^xgSe(f7}?SLqALrEiwmAKAbc?0Vsnk7K$l`@=Mh>iQZB z-&fkqdEG1;Wbs4`%4C8XT9BfznxgLqbFLA^C{ZST&0eGLgLiWH_m9~h*}!FXjG(Wy zJAH?`yhh(PSOBz)>07^1KAKv+$buw&Us;f%Z!$pe&)1#4nU59!<}H1df7|(ECFLJl zyVF<Qr0+&2H~xjbPM<TEKHZ{0cJB#qzF-@a^cfZuRfl=?2SBx8ao;2{l#_QcTQUA~ zPV6p?#dX=tP3PP_kLV1+DSRTw_^u6Ro~(b;BPu*cl&e*X^WZfTQNY7F@dp{XT&FrJ zJxbwfu1V#0ogJ;xWYr}e(HIo>KZz{|;M)Q-PgZ^TA#Fom+1V=Zf|)1lYAx%+ZE><4 z7E;P%%KtT-%`f~(km71FSt34cq*1R2cmk1+A7rxB4C<viF|Vvq0%$B`nTn*&q4ukA z4KMJPL2`8t2Z1{ZipPu1%XpNdWK36}E&@pxAJG~nr9>_%lX-XoWg2PBOH!m<`Y4AK zS>>dTuaPp$(tMfS$7*q;(b;;8FcQ_H*_(!v6xWX&3?Y9{*@qSnDDfM3mkx_TANQ1r z7@hlB+<hK409&^5h&?a(RMR4kdw9OXYm^;Q`o?*`tmQnb_$CE$3(KtxNyN8n3rYDF zGD(w(OYbYn)-Q6S?Dy~-@wIZNEZ(GS`iCalxb>Q^Q&u{cvZ59NvSU8ElxbFmB;xTJ zMcMEXiVZT+!=%jHowAC#lx;P;A*=qLJui56W1t&l)7!tsvt(t5O!cre?mX+GAm&+T zD?<{IU{ZGSV>ik=-cvm5xzLSg|I7X8t*AR?FWKjUvJGwBD7(?_HOfv~N}gyOTJ28R z&kAD7Hdz^xvL&k(&w6sbkbMeU_j~K<_FPdmte=IN#HpPC!L9?`G5yz5<UCQfN)YE| z@4C_GZ{FhU`nA7XZCOf{JDO6FEo@syU(ORX0{XRaLma_~m}5?{)7nV_w<_LKqnZp3 z;h;@YG4l@PosU^a(^X8(Ea@4QA$-p-V3fDG_O2=+g&NH67OXqUiOOmc4X?JZvF;yB zs}hadygMkz5Y8)zS$EvZ$h0MbA$u$^o!RpvAZEc4p2?@VdVS#5v;L?YX}T$X$%6JW z&0L3jeu4A_;+b<M$1!v@lxuu=i|#MP4$_k8B3|3>OM}z#9yZFCk`{^ts`DMTcU*PS zg6~B!e=j&P)Zds_q^;5^H&yAczC-EePP+0PN*~V8r8{av^Q(fMs$fhDw}Sa^aKWD1 z86Rr92xYqXs1}PYMvFEdRWQFQxSXA^)#BXis>M$hqs6}YXy0O#zL{5+&i^@jWNm!< zA}?1`+S!y{lU2IhHC6i7_aaT(<jtkZ(05C)Jl@rtjxG_w_Hj5c?ZFb9;xYeSidrh( zbAFCDEL>jl(<g}5FU20q%~$F4QqjP(BKl-htxh4!@E+h|H5$B3RB82VmWM|p-i#l+ z<B)l^K;x>}IV<c#;@m2{gHe=u>v<B3!$*F1kS6?~-0Gy1I*UCh{d*BazRN{b=Oms2 zSiKog1P6SJa2mZ_RM+wqp;oK$1--Ex9E|j&9%}(qSOMU%gKDo3T}yxEzyf$$+fXhq z8*5aAl{rncdEaVm$im#l%FJFV3OF~Lqjsq*^8&fS?pobI)mFwzRNqgiw*F-xOpx~~ zw6#Z<ZAIm@H4I;@aa(iyS#2#$&uuF_BuY+!qBF1rgbuo{cX8|IVSjG60tKxWRkeZs z+;&6lYrAUpx7BF2t)08rips4K`AR?0WZOwOZGZ2t+CJCEYWw*7+_sC-%rzp^>FVs( z;=hHs#bCOy2HSel3sJ~gygoW);}#ogQ*G3Ly-27r4YXR?_Kpp!X*|7?;|r6&X9}ry z!+Trpdd_oixBEIA?2sAl)^5#$IqiDUs&x?S*#e5yh1a8-o*t^tT>;p4W#gRI^`b*i zzihYTdOnI$)k$?d??)Hci-vY@pqAPo`qy06&Mmi?+!Q`bt}f>As&)ZI^EdBVH23@F zHJZJG@cz~(N1sbIaO=QaU)6yI8}Y8Hfv=?9ufCgE_WuvBTd3Rj*unN}BYIKhKiP|T znm1773p)6(TUU<Pb0fB)lg4Zk-`ZU`u(rq#csJVUORD_?`nC?I&?f(YJsW3d&>~J~ ziUi{a(ZPQExs75r<6#CK=5Gedw(0cCW}uWsg6EIOIrPj%@A1PBJZ$HO06YX{;9=WS z8x7@$9(XvMA==oz@la}u7?8X%(v7e+vshtG|1je!@5I8(8rI^eww&}W(@k$LmnvWI z3JmATh0Qw_q?Wt=9p(bIe1(&eW`zkTmN7(D6NZwf?ErfL#HoiOV=gZ!quD69T7I{6 z_KA(EZ51`_m;cjg;8wf@dw}k36`yL`ah}glBEqwCdpNE$#VLKes8C=!kKwU*7~9VH zgojUXSpWI$*k*kGClQwSIX0-qPS~s8xS><=?eIh4+eA69<yg#*o^VK~kG6|)o-LtP z#-31F8)a-0PJ8diW*rZ=;eGEl4+`8aT54Y%ruVm_^%#VAV?Dm|-Hu)CtsY6#c>A$z z530BW#Ew5iV|M_pCIYuHFGN*)aR;ic_t31i$j>;kX2(mM)bX=O^y+_5QWMJ56f58u zCK^}y>lQ92bcG`v8<T@o4NrbX4Q0RyuT0U*z5*Lc+h&Rdb}u~qlPTV{U%qFfi|=~6 ze0Yak!c%5sI+8xxDT-)|rcvrnQPjTViB8LRidcVpE9ihc&wMJMx`<J7qVZ2*^85um z`$rX_Hou70-d|P%4qjP?6rpv$i0=8GhckS{xVry&Hm$m3Yf$jm9e%NoO?LQ<h}&Dp zho|lmg}s*W22vxlKYhMSRIq>fSf}l~;EMX(p&q|DT;#V~)GIke2GoQM<NE+0=h$Nz zZY2%LEx^ygyG37no7*-zyBpg+76eeGJtE#aIzbT@7eJHth%Ob1?!_QTzNc;!mc$z? z2Jyd<(HYP()aCjoo~w+<X+#fjbm3l6wNi$e5@l@IgR;C)GYWUzq@&@BMuU4Oh3yIx zc1Cgcr%&;qh^tzZeJoCGExunQ+RNc#=Rs^v58Wp!+t1#x(RaTIS3#&DxAqw}XQ<Xb z-A!Zmp|u1vCCZ4|{YGn9cV20&_++!S{HRv8_LGs@T1h|L^&yr0mYv_T4?v!5+w5s6 z8SS~J1$WV{{b>7|4A;EZ;CHp<!M&$Fu<y^UryC}jZ7;w9uCi@xE6eF=NxzF`#87Sj zhoOdS+Z-V6h_(8?cqer_fVPv(lqjS3&Nuq~@a8LR$4oTajzG1t?Q>V%+NSBhiTw7@ zk%T6L@^zL<!u_nCNx%Mvwt~!*DB}tCYP=@V2{&G8>-SI1wszw7dfC>8cz{G(+Jo>= z@Q|n<boL7Gc4~`Vc1Mg#nW!-?tz{?@E*gUe)4)Tbfj#Aljn*C#MeMt-deA|Xd8Y)* z#IZRfB(gO;!U53O4##5^_w8{1@=iy?zXwGg7V-9FI1l<_re`QEJuHgozx~Ch_w4qp zW3QmngDLa~ure>fkdI)KMn63K6lrT_FN%jj!q&uo49Cy6s%49}PryTZEn6rZ%n}7d zS3lO|B}ZvEyk;uyAC2{L`f1s&yEu~(+mR}@r|c}z+j%Y@z|{TtxTfkc<77S>dQ`+z za&(q&NA68jCxV6=ALrF@A}kCj)cB^W%&RlW%IlPut{xQ;6)IRY?Ltk38Q8~qf!e#^ z?5GL5L%Z*ql=;ccY}a8N78-p_jI__Zs?)Y(7$eNdOOKA>NT*wgRP;FZc>3j~VaM@G zuzeyeIF3#HGrj5MaqzhiN*4WH)DJQ8m{fCHCnOM$i+3jdI!qY(y=lbn*!(>FPaA#n zyNIba5-%ceG(&^|ZYMlvyT;ztJob6`gSc$hCwRV50lC;5Ftr<gvt2K7w5Q(*QOfRr zMW<RPus!mY7cDs<irM?({QmtXL`b=Ls3(5v*o%-fP89uhSRNx)rC<YKLKae-6Q}WT zc(@n&o)qP)7V*?PZp{G!*%-rSyGq>2B_IUPH%6gdE@_lUHGH4&@GM$$LIl{Cf|e;K zMZH$jQSjDb)G%DuFz0q|4YTlkYa@zZRHV#AW3Li7UZq&XflD8GlK&}eek<TfF{eZc z`@Y*avHp|@DfSbpheBY3Gum1v0p6r@pY{0zoG$zQDN(D$2*Jl`4bQsu6_7dr$aam! zwE`ATN8Hk8pGL5$d{L*6(;_%elB`FJ3Zh1*(P$9|4L*(2xrR2UnWsfNd&$!_x_w#% zX#<**_Ze(~X(%Y>45lew&FO<P7%TnNjHdB#W;0sBzjK?>0sbA?jBfI8n`Y$w2Yw@( zQ91t2*NmF+uMtNd@bB(8n#RBBakSzOd<0iFj=ax;kjaIq=2@KL(xH`9>gds|)Cd5- zVl;ek{0rgXnKHaEzV$Lj;DRZ5c4L%@uuLK3x7kdD%?e?ug)mtm*rGg4gdY?_9}A(6 zLTJxTB+E87DU4DUMq`DM*Tbq}qeA%W6O)KAg`nlMu|Xj$vJmVF!Oy0fM66c`?^y_! zu}2R53~G~uu})zWw=i~k(6~Q^f8L8D%|<clS-=Sktb}9_%H)J@Rzf!qx`c$L!B#>& z)yh8I;^r;Y$e$z3I)fM?KJ^G<?I5)_@|~51FPrP16G8Tkm;rP>C&HbdH?eyR$KJt) zUa@t=)F$-RIWeqA$>Tf>fuDizRh}mMlY7~&+qe{=<azNzyMoIXE?{!(Jfl<81yMVB zYa`U+W7hHmfMJDWQ#I5$gENYm8J{swATD)(+|-&z1DGfdP{W=xG{vaxkn5b(RKk*) z1es8S6VhBMS7ApuS+c{HQ1}_c=M+=;6dM+t6JL1nFgH!CiJ5&7R?_9AjY2L8f9+xn z)wn2bYPXM2iA$o4zx@>Wqt5fjMFoi9DAT<<b-#pd@BNO@l1rje?GYzUoW>aXKE-k0 zu~XY#too!+t?Ij~p;w;SF4rY6cVFXmAj@N4<4slZgL)cNBj;riR3f@6V)oR=S+P@x zpN@y>V}@H_PUzY$gC(RJgI$zx86V)UjiwQoMR0SE0)p``-jB@|kNxnRnqXATydUda z?{f|yBr|omf$m@AyfmLJKsV?GM^e{ziT+!5z;qP$`O%LqT!xR=50m#55u5M%?>U`~ zq?VtGmbChcD4e%pe$a<KY<Dl<#O5o)mAAB+a2N>>IKkUYSc3$=zmRa(M-}-T36(kF zn3?b)5?XP>W;3A$5(Xn7<{LBNoeS8?F(NwUS+NmSz=_F7-l~?3c*Q-l5qk-K`r|q8 zc+FJ1cR}5g^Byy?!!G1+%$s6y2SlBh&Pj85iAx=79?8xVw;h(ciqYbeV>)%bDkAN- zF&&$ARg|y0=Y-}lDRX$KY}ZCS@sXf_0^)j}012%s+cBazXiSZHo_%8m5B;!pR;1MN z7><*jgZo#e7gt4b*RW@b9`%)Y3M<^9@2T=NZ1yX8jQU^05d7*{5BlaB2KP&k()DYi zQ<ZmpSdzHImqpoxfmENG{DW}TA{Os+2kn~}mWis$@}MtGG_OQMuZybr?&cF7x58M2 zf90bM*Kw%93``T4#`mK!O5$l@Iup?O0cL*G^d`QtiZeuh{}cOhqHi$j;`V$|39etX z<)eXyD3b3EURmA>;5x75rJ05pP^R5u+&mv()Wc7<E9sBi*wO{hY*(>PU$HEbO5YG& z-qnsV1BZpl15isTAph1pphBkH!fF5V;U*qpd$tMd0BR>a8J-{fZT}7?SSuPl&%Wi` zDD^NBx^cqS4d}!TQP#H+nwO)aeTZ|FF(vf5DFXaDw8Z!=r=PX&c~Fh(ILG>fn<9U~ zO?x>nRegfVVxO>=Qg4cogz^;?lYXktOu{CnV)q+4cP0l$Pq=3r{(<qyBe$0N007R} zVHmdY`3%&;y}?iJdeD=bBE}CFLrj;qIvxt=slZ=*sM#${^}NbapIaiq{`EnfHs2Bv zMV4UCR<>_!YFAi!*Q|YwGq9+NP2BbFhR?n&2G|AWq#xbJoAr~s>9gA+B#-6=;iQRz zm1yH_%)!TC#(DcT){idiqDpr}Qoi2uIzkLqzQ^qH+dHCg%{d1wFH|Nr^*LNnG3kP? zmsKvP7StLp=$>*xk4zWTvn<`Z0~gf0jC4Uxc#Z(Lpkfe0Z3qEF?dxzsr;M-iQ21R@ zQ9F$NR(D15rZ0rRssX#4U;~fCi=ZIB^l;q*0GIQZ11{$mv=y6r9xA<uQ>Qvvt36{= zZP|%l(*0}}lzCT#`ps>|h&*C1!_o@=g&y1$RqWxvn!Kw4FZwp#jVn!q?tyt<;ffK- zygoY>^S;z2^L{I@n3oUvUG9T<A7#>l`y%O`zk7mJX<%OU+v*aBsCRLFLuhR38GNM8 zROU0T;@hOyeLSJ_n7O?~Fntr~2)5m&j6g?IZS1dPE9?j>uyh{}(;TrqWA#}3;cQpa zU+Ktqj>42!*b%7(?W1Xh9iiI8y|k*ZqnLJPFC8lEXyX6fUT93VOG8<B7;kA4tC6=5 zH{f+C;wWajO=F5Usuh}Rz~W^n?a;kj*Ur0)vvr=+?jnv-PEf{v4}J!-BL6IUTEsC# zTX=-(m2kw++M*6WZSGb2rKqDR?l$xea>U`MO_1XQe|((82f=&X%Ab&Wn0MS_nWkAy zDjtHhfEz)MytV`McaWo8p#->)gKEcpYZ%Hwqi*zbsv7JVgo+jiJNo)xdrL+CRp*LA zQAfiNM_3U@R8Adv>)|nW=dDoq=z9&GQ%Z>A9qn!=tqXAkYQx^810jy$+W1a%C&Ur& z*ut9dbmok^g>iJ5cos%oi#ej4$z9m#!)I_5D$$u%6>~HV!j@|l2r@5X-w;+?(m1@b z0=3K_XQ-nw?GAN>20ex|;FX0?dHo#Ts_-ru=3I8e=d+7Dic_mlM?o#<8ubZv)bXFs z6HW|bA}~gnm8r%t2M<!;;*Pf3u&cDAxFfRYl1nU^E@4ShXYm0F&=R}vGR{|fPJSgE z<+K^CSr+}1^TG6Dr;f);J}4DWq=}7}t9ohTqJls==N(WGM9$DA1>INBd<8vK&=duE za97jB5C!3T8isE3?0f3?KtR#^Vgh+@1rDN@-wLKqmQ=8&;?v7;iZ1C0tT9^RPpl<L zN}YU>TTmErW{ylsoh<26IRWAH1(&@l`!=zbBr<ifq)uUMG;?H9>SRf&${Aml&Y^7S zmL`Ttc8AhTHXMUHjpa*I(J)82ma>bQggJ^u)yzcrnJ8bNsFe=PgR@=HxWxidpbds) zkZ4ujn8i8~1zY?Dwuvy<0Zhnt;p&U;!yMIm6+~BoA?lPeo0KQI@G^I{>x-YcF7?_C zRY##g8DLayWxg*1^?AT0VAHeJZYZ~#X0?lAN3nypl%rFj_cub3)Q!$@Q=53<VB?tL zw6c^VSc}|92TD1rl$c(Gzd#&<OBFDy=R4al4v1pyjNQVFG5*>>A*CGw{rj$!fk$K) z&7~P@F4?a7J8}ueP3Wh#gG11BwFo6K;&+<t83{78T?0`dHm!SExyA-dI+V^db_a2I zXNYULw^Mp)M@iQ+NL{iq!dMfj_*J7Moh}U%_~<jLRK`(Kn|71hl!2yyx}H+XIEsgr zEXlMvV$=BR6t;{sQC3P7pDi@UCr77@_tR)k8Amnk(U0_^jH9`>cLc?jb;N0-N7Br) zjwS^jp_k@JEsAY;*IK$&)=@9{v*KLy_(*UBm42+CC<P@cC{{tu6vTT$fLTpJEPg;C z3QAItmxB5!=pi_U76vJ3fb7Y57J9A?WgTZWq)wJpC|#~tl6Ho}4qlYt(i3Y*l2Rv2 zS`@~wW{ylsoh<26IaGq2<xsY_i6Mzhoh+$S7*)+2nUp$NQmS%nC8#UPmOdi;FtL_N z_BvUBZODzr2_@*;a*ps|57vx{a%VJ;$Jky%S>}=0f4_w;m2(sd+6OhvS^aIp=Zvef z%CcPvTgk7yqfqS6Tcs}H*h#K})#-;VmO9~;l}!B2=z-mJN~Nsw*HJUq=8I7$%wrop zsOTt0pOtr1Nd7m(UAEU0BpI0|vJ@nlmnOC<$dv731(~w_TtSjmX=0>;B*)UkdkQj{ z^rw<^$}6&sI{Joe=Y`VIYL3EK#Jh!`qO#P)T5rk`>xIRtI|^4Xrc~ffF)lK5-W22D zVl)s%OPL5JfuXXg*QEHUn3Q62<d3=L4#`CWG=-{`yrn~oVJTUw_^-(E*Iazdfufc= zcvlKrcav&m;3+4OE7fy7Jv>5Q6>Cp4lq*&!3B)=>yE&95zT>D+>$V^JwjCSc+Y-`x zd-02a&{#O9vQQI`Em8PqR9wNs81tSOo-@Vz8jb%)H{NlO&k9V`tN!}P>Fe`psGaWZ zceJ%nt8b%ACmaFvZzV@#ZO!i#6XD1zcxP#jmzC~EBn46F%5XDFmQt6>j%e+lqO_p0 zqomgXOi;63tJcwh%8oM0y8@-+$&iR}s33#}^hl6`E-Gleg3Q3&UqLeFrHQr*da5uR zD9A&(k#GfhDQFQ~y<1?$Oact}@i(b>6C@SNxO+*wiG^iS>I6xV%Bf=J$fVQ>k~)>+ zQG|9>fipQ=SZZNmNowi@Nu$D;Yv#zL)CrPamGePi%2(A97!_$^Na9l`NU9Zv!^|-| z;tb$M@Y2Jb>dXGrtE!`f&xhApC8Qcw-K3)S&2?{!+K-_ZP&yg4e>1MhJ!mRwKi{CV zicKlo6~BodR&_K<9^)_BCp}x5=%b)0#o9y#N#n$vMM0*Y2vd;hC-N&u+G3h`>XLQ# zQ?*=HkZFcpl<-oJ$1wmWoH=kkGGi*H1Y_qy1^9;m>W`nIk|%HT50e9E0T8O22$GIh z+<ZwhN7D3)n}6U>cTlvHq&dgSr%U|T{KL=yT3Ovu&bEeXL^?v-<E9U|g;01~%gjTw zU1#L|AK<te2pq$eF_w*|v-)B%Fs`%Zx#eKM)0D(hbUWMiU_B+&a5PU2D&#H+hk{H= z+%G8eOiBEqAX5^%6=X_cje<-`%u$djiBA<|O5$H77fTXqM4Pnt4UfIurJ`}F#D7~f z?r7#n@?MF?Wn3y6|1EnnvDTYn+GXavDW(~PR5b2xVwhw{$;MujQ$ZKyjf9+5(aGwL zVjVnJzfDk|AXS=%64a1YZwe{|_Tn~bTME&#BUXZ%v6faxLQvb_fZ=hZBS{lW6eOKT znwYL2=|j@QC<U1wu9t$Ot4PE5uCf;CG15e&f;^PTlu(eDg61l*1p>+)Hm%#O1SP3Z zrqi{cntGI%_-~tfJS)I$POK%#du8geuYj6*d}U%Nf95{*=xOFif?t_>R4$;V9@&!W ziM33!z3{co8&i+7PC4~x`*eA3ELGEjsBG6GB%1ROYoHDL`VVrlJlYZCUTf~R@@RG` zL2Dk;b~W9o?HEvH<vbqk%B$s;!T$K7cBNeVjiJ9HOODWBlxrKPu|Ij!<T{QJdqDH& zw5*OJLi_!D`lF7cPJw_ZVApwyMJiB;sYugIDpS|7HTgI%rsl|hyMj#lFIA8!{}~E0 z<v&_Mru=&=$drFe1)1`%r67}$8=bN}Oa3at?aO>4!VQynZ;NmZ%^XSOD-jNdmU4tE zdLA(xn(>whw~8(`aun7^<yYY>)<l$)z7o#-%^Z{JV)?kn*TUJuyega>yTXR0MpesI zID7tmj_}=_tIm3o6V9Hr$Q8c#GG&|WQnFoLmeb|>jt0py^SaAstb$D0^i_~4n^p=k zWm88%rff<n$drv!L8fe;dCL~eUJg}~dQ~=)cf28+Y7*~lveC?(H)WHRPmMn2OHRH` zHUrEYWv%X`kJ|a9xEgqw7;lQ}r0mti!e&P<<avv@Hqgwbj<9^W!m=+_!rHp%ZNl2U z#9dgM<8y^|0K#QQs)QA^luATn>=7^9wC0~R6cnYLUZ{d%738fTGvYn=k|N;BFsMAQ zpd<zDS5Q9%ZBURIIw~kZrXVlZkxu_f3d?<NcgI^ryq~0~-xl$vnmLlZS0Y|}Zx!)M znHZADR|Y1JWM3xMk_5jpFxi<$MZ7Oe43q3ZvZ~i2UW_+Kyzu1d-!adX3&osc2EaFG zE;APc>8&%D!V7coEvrK<sYr#@xy@Y0qh4!NlL4>Fqne7a#@A*p8_`hi%w^tU`Yy&1 zm3$mK=G+{nf=r`asvyf@D#&t}3bGugf=r`qsUQy}=UNIfb$O$b`m08{Z_67-IZWcc z%_tk1Id2-Jua`2)^Pb$Nw;AOsGv`gC9OY^HP!mHE|Edo)bIgtu6K^rfhdTSvlKCz$ ztCb5~Xu8n(Z?j5W3DcYrJZYM1mEKaQmQ{9HNF`z&<+Tf6Q_EP#0j<oJR5T8Y?BYwR z7w4E9P<95w;e_3hIF73umdt<k;pOX|W$0|2qeR}dbEU?JrT=N<)yz>mdF6i~Z>nQ& z6ECbTxA4t&6=96HsUKrSOkC6Ot_Vw7{6(tl!D?JzCf$4}CqM(osQP5)6e|;lf#FTS za%4F-<A9+ly!0oJ+vECw`4$bP;`(XU&Z)GlnZs8bFpsu2b95|NaXLs>3x;Yc8)c`` z%`ug|_62omj_6iwE{$mJsHkOWYD#PWhqruOokK^PJ1T2Mj*}km80g%1Ovjf{U!VaT zO*Q`*rNle@wH2S!oOnkQZN5KUjCYi`_sIL4@+Ua{PuQEl*LZw!<GD}dnTte%T!Msa z39&`&A(k8KMG$+`7PT)WDu|*9vBhmHEj?OGQ?!(}qE$haSZb*))LPm`Eq!h+jV_4o z{=aADCb{~1-}j%-C(k`IbLN~gXXcqXb7pzMi!C3HolXJW^?JU`M?s|27FbNbV<Drv z-dO9kjY4|pqfPHnbi5u+89ns3w0T!3xTjuGTc}ZFPd(1$pcOs!0osM1=#QRyu+|BR zjn!MJ=t>kHtJkf(<2t{I&+HByYVBz?=Apybo5JOXwQ_L@eHN=%H7%i&u{z;rL@(WD z>Oyn-=vB&B5U9L@Kj*UyFE8~W>epiRhLxj#eue6rlR!1rO|@Sd)$R?dY1FN^UKu}f zw_|c|eVb`9)$ODAt3EM6E}?Wuw_zn<FdX>UXrF*~W8)oS@Z`7hc}g4m=rv7?RNi0v z=&dTRfFs?bAR8ulu<W>qTJ+VcS{BLWB&;Px#yAd1E6!*zjwbg-_UKpjuwgv1k9AA@ z%|beX?52fux39hmKXd!(w(50D{lBGrrah%w{q)Xdrd*clbbsW#tr5L|TKCthX>UBI z;r;b0-p*@l>2QC2sJ3Q4*H;MH2I!^AKIcp&_u5#7)FakG&LQ(@_yE0`wqO)}FaWOE zpHk`80DX~`xSigJ)BBq$(UCa4Lxma>IOFUZ5h=+PuuUT-y|dNsxM-ZlIf8-uK<$zj zEnkN((LRXE${48IP1=PNZa`J2_#nNFHZ6s^4AN`28o#J;rvbD-6E5Pvc=au6W&qzw zb=KG_zsA=IPVvqW_SE*~$h#%ww<<0hnJsDQU_IKjhw=vL6+*5;7`$K+{7yy~KJ!?% z7}O|S$VtgmbFf~o)slt(Z(cv_#+4?H{}ZpA7WCyH-KI_2O*w<X?59_lh0gV0w)$<- zhv>bu?^9^t5Phi0hivh>m97lY7ih!gC=I+lRIlpWdNmX2mSiN>ct+cX>eIBfv#HuJ zJ+?~M*=Q2kJXoa73c}!JKi1yrkJ_;<o@F-b&!!c_^eF$a4(?JNDL}(lE**4jm_AaQ zGm9B?FhBl{yM(LrDLr1VSgy+~^e8;ZfZvVXYg|hY<LSG2ePVD)oI9|mFGZh&43E-q zYu{>S%p14gqK?D$Fs<iXG<mq*s94l0bP=Nl=#8|{4Rm!l+Qo-6smAMiow9#%hLWn) zsRlHYhQF@c{U^)^Jvls}CiR)L`*k$N-;(J1>w1i~GKuPpKsX_ZdW_I(nME$k?3_z; zMnL9)N&hQzuh;2|5&96V%v<C;68y)^Q0kmMQvXof_a2oQrPuVoHK6cyJY&q5PMt^T ztu^yFS~yCN5iL;$qv@Y?brhyfKTgOhIa;q~(v~GsgE3f{os>wiWAp@V@G3eqMz2-M z=~Zxt;ThxDR7GjaIBGUlpRNUrqA$nl_P|NWC}M(qeNU>lXXl$#Vw_&PUc>)MnenC^ zl&pgepL(TdI6Iw&jni9d1Kw1<Oy)S<U;84A4vy0|Ym2A2yRGs11Wlhp_r_zG%lwH- zO+eRNawxT*08Qk)M@uK@!@OO!pHkigeQv#tNpcg0uiTN~vaCh$l%r!zYiyfJo>tm* zJgsBQ9vm5k!sjN@x{3NK?WY;k<PE)vZ{Q3b-5jS~mJer8;v0JBz|vK*=$bk!0mI2{ zE@-+>`73nx4RrH9lj!~%dUNl^m7Y?qNqT671V$}b+z+@bcT7YWODaCi8Z`;;f~CSV z5Z@c-sjfQ{=*nchfp?cVCMq#h@1qTy;C@LG^g&vm$8;?Le%`@vQMD=1#@93H<P^Q0 zc^Wp4xGZC)l52`y%ezzOr}Wkg(NY^Yj{CJrl=7zDUYogzzJF7%7SgmM%irE?mGyI& zJ7k!kvY~!>fr?Gl`}v=QTzk>t(2ma<{m0VSsd}|;jmB~(&Km(-q0@0)z8Zp3W}3Yc zOQ_g*#2zjfncTlXuANwbj5vf#C(^~KdJpY`F-kgHq8?xJ-X*p<OfE~eskAK-by;~T z<tFNh-eX6*w;<1$rf<?Nj-rt1cw2DW+=S_RaOI(F*zh9vVBBSlGO&Sj*l2q*ANI{> zH|Ue;dau&&V+Rf6q#lWY?X%nEMPh~?s{QjWh0oA?YQHX{<QdRyr+4Z441G?`cbD<- zf{W5G!DKPsmZ4+z^uPu&b-(YD?i+6RzGRF=o+Q1I<vgp1*Y!X<dKk0L$AO2VNqTtw zdXTJeI|3u2zs5der)?VYq`np8ALD2jFdcL3GS2$bsOn6t9$sHgoo3?Qy*`|No2h@R zHA|<D-ol$%bvT`S3(fjcJO$6vD^y+ojx6-iV$CIYS#a!yIBYEah0FcqI`yBW*YGZb zjS+KZ=^aW{n#y7x#|8qI<?%Q=I}6rQ*jRcw3mXn1-lXu^dOdC4Xc|0QZ>}AjLaSy& z7Tij@cQ#fs?NjIur<d4Bfphel+UrB9)f{vVb4SsTIeML-rtk1YXNhC%j%6wGZNM5D zZiY&rkLKt}e7{_Ux1sCxBgyu*-mXPUhs2(3#||f-)E6cm)Eu0zgH$*!o}DbWe++U* zOH;vRNu5mJzO7HxrVXar$$AT|;z$~qtas2_FQ%=@5W4*&x|ysG*K8xGQwsXG*B8-( z6n&oN_XZW8i$eZ9ky^~vqqMQZY5H8e+_fi?-#opQc6S1Gn}<c$N26%<JiKdH<LUl9 zeL&gG^P%9hA=qju3+1x>I-Ulk>S>MF^5y>vuDuQOxBKI}H~e=E5zaT!iFoXE+Jg?4 z8)WweJk~k}P}%wVOKrk9D!V{W*IEss4GZ)ywZO5|d!Zg%t>O^bG1W;mOo^eXPqb-c z{rBUvi{0@aYsF>RFoupS)SGH`$I!EdDCzjV)MOD1{oA-oevw{T!<F)L7wMI>gu}Fc zkv^yM$8))=rAo0*Fd82sYCjwQQxJ(uK=0ym@x~|YX)@jJ@PTcNa<)&jr*(t1p*n25 zpfQ8!^~HLFkU@v!JBc2yg@mF5>~jxdn1)=oLG<Nfy?k@Q*Ol8H!o30zCh>~3aL1&t z7z^d3^=<JSHg1s1!k3$a+Up0io-fwlE2a(aK`YYr24y4Q7sHyD{BQ-{y0b>$Tl8Z( zUiXgOY35SBZKahb(6I4m>(hTgbbpK%VUMB{a01N7@h$zhR3EF&jiJ`d(8<;7OY@fL z^_p)O!mo&X2#QXGjm+!s<^jB&3HwkT`7Vq1K+WsXVN;^t-Z&JAd%COL==L(bPU-Ik zK+Ga_+=(OWa=mIb2Qt{xm+{opW%=c`g4|YjKRLLYi4M;&)hpff)$F6=C}X)^tFwip z(}%+3=oVm4AApHcW88EOC>AkcE=wpv{<}JlMN9%>?2FsmT$TWdLULl1-Ywn;xJ9K_ z=<Nfy#TBrRce5YZRS938a})_bdH`jt&}(Uy{&Zpm=0orHr{^p1O8nNB>b<LX)jD;d zq<8h&fj=Uf(grs?)<*Fz^v%0^ql)!;IUC3A94lnXg7b+Hc1M>aqkcY_-qU-P>*|F~ zgSJOUS(Ce^Fei=vb{hMh-Yv+96?QlhZI6y|YL29Q()hbGoqP|AkoNvmY9-9HuAO;^ zvryVfy`kl4Z&u2Cat5BhjDL(@C(_xK`q7ZboWv{aqj8tF5;oFZdf!g;)hfMN#OJ*H z3Sm<Z@d+t2cCGf3vs0hyJ2?USQeUC$LuXd%AJC5X^(G<Z3#gX^pr~WSld9O)fi%*a zmh2~qV367w%Y#%+H0gJ7=&+#lYT9zrXw!jG2%~h{U384}MwLf&W4ZDEeFea+3(T|- zcgEP<p31LA*EGI8^<52}jKMd~SL+QbKZtSXx!tue&l9P?GsaKt=oaH1*g>^E0Pf2! zZrpxFxP}|IYdcE(027Q7?P%u*di~1VdK45+NpRLU5zVg(k57(c)L?~PE$~_)j?Jxr zv}kJjAzBfx-5vU&o}!62DEC8dMK&Ipnp5XBdKr8tfCjD6D^^LsP01K<<?!Sll6jwA z?0z1c_U@yVYxG#nG?DJCff2B;Ej3$<v299Qn!6UefI3g0jJ0~O+4>!0FZq^^tkrjG ziEZfZb(pXZZbR>{!+26>JbkwgJ2)=2#!lP{g}v`d<9m+4tm(3GYaGpX>Q&9Vzhy$z z_ENp|x?P(wj;622uvTvhZCH;Uzimf)ydK-B0y|Q*kM#46pW|W{JMV+Xxi>V!xLWqq zo4M#BpTKy-HrAgxnUBD93c#!Zb!udfp;{Rja^j+BbOt7gtJ~B142-X)j&wRhk1-$K zosYXu>t|8bk6|W<c2GMcd$!{mE7~FXXM5fu*-iT)nu0fAv|SrbT{mE$8yHOsHt3DY zwT?zB!=3H;Dcl^{C7L%!F4a~=(vXdMcdb(-eZCPRvvnk$-l$hH|MLwOeCSTf+lY>F z_Xujb36s_)&1wH8EY4PF&RuREPae~z2JpqEm|U^J^Y82Q*CxGP^~E?V5R=vz6&V9B z0Pp3qvW3GnnZA=LKmLjae4?+^{uxg9KhfW{oW_(>&h9bcL<PivR*7r0@>6}Q_C<V_ zZL_Xx+WRfY{+Zre>)(jheg?z6Nh8|-ncmequ+&p3xmBN1Efw3M(<Y$;`9uN6&wz$d zIJOb8UB|35zo7M7p`bF6bZV=<Bhcl~huTi}OfOcaOWhxE*x$JCPb;?Rmat1mL1zJp z?iTBw-uVir9YP$g;Kml$Z23jOOGe6-tTWs6Pfc3VMauX}uU`tgBEj%bEv{|9aN6;O zzD0ZQf=r{uU+TVESbci`OUwg*sYlsg>T9&&^=Qa;G=O%EY3+7>eqitw-0rG)sPWAB z>1tM!Ons?ItK;Ue#e>Iz+T_}yf28%0JX&Zs!|2*q7}z(4G5M+#{Ixz=YZyl9UxP=P z28zep|Kai4Pgx^(GLNnQ2Oi5pslhJrIOFE=bq&R1Y7NCBCJQ`FHJC>&TDeDmLtEOD zVt4E1sKQ>ot*HYI+^e^!T&g-NG>@mv7_s84azmTkE_>3b?4r!Q7+nrjQ?s)td*Q)b z?GE7BRx8t78vHHZv(6vUqHpyMWe!S{^rYK0Q^{CSm45yf4PtUta(xTStyFh1W$R6G z-Wi)<5AUXH`}C+5OEA>(ITcR{!rT&k_#E#Udj{~{VuNyfo>Y15vEyO%v9eI*Xw-Ll zGgCCJ{Z6l4OsvayQSp5+QG0ar;N+d9IQ>xh|IX>Br~fBT%+GkQauFwO?x(cwJ2aHe zYiQ8{Fk0S)8TCiU5SOjDE>|+7kcBKmy4`A2&!=tKnE5{5L|bkk>vtbe>4WHQUv}oK z<#0G!Z>R0}n(iOeo41}_sgOWneH3WpoyU+dCT)Zj|6%x#z<(tEZF?eE&ge=kXN;)< zeR&9M9uZwRq#xBDcBG8MdQ{Wlb9pw|xH_h7%1MG9N}SKVL+R5B(puvr96-ed#n_>= z|6d9?qR;Yeiz7#Bhf?|F^x(MOU)%l@{dokodD{+Iy}!pNn6y^ysozn3efU-4V{1Jl zj2s078H-lCTyE#VS>rW)Z_eF3&KTWsNyRb!XKh9F`^O=mX$}kcW99!9P!_KfzSZa6 zLRBc>(1(<8Tz}KoXjdR$wnGWH_&N({rO_u~4*lAezB-}f*kxJnpehwJ8#l_(!5=Vk zl+B=$C((u9ElsH>VUc%ON_$W0?`Snkll_!_M;qQsDeoK{1}@9S3jZscja6Sxx>#i! zE|e|&o>Ja+3|>lkixx`ROv&`%i2k~^y=B&KXRxtGTiGJ(#aVr-sp_ez%w@d=T)L!B z!y#JSh{C(c!uG^6m(sqp;+$UAWY8z)^d-J)S`-kTI!_gP)=!js5zfc2&g*Tp_06*W zKCgdd(%w2xD=%Q1+Ux|T-lL2s^`dQR@yy{n__6pjkaVKCx2avcMfn%>RNo#LI#fAo zq5x<Frf~Z8BFfRDaaQ|F`XH0`u%Wx9y}^tc`~P2*^{LPQR^<L0?v~cLfJyn;s!TmE zyIWdBR`085-P*%&%J@ld-E<gcZ7xeg-~Z*3z(v`Fk4wflFv@$h=Y79WnQQtM-++h$ zE=Ce_!NnTaFgvzhpvu=_x%$=5ntxq)n5xwu!z^4lAbaXRoBAS|#hY+CH2g*Xz}KsO z0lh2J6usiVf?oV(3jb9<U3mv@6D?X4IP?o#Zme#$$8iO0g<M!j&0bJsu0BJ{4Wk{o zdN0$5<b4DENxbx1%Z63hpCnzO{x|ekQ#0Cp1D)^lBszZsO}1ezivJCx@E`Be&fn18 zd<8GrZ~9bi<~-Hyw4FiAZeo(!AfMXa(#us^bb${mwXvrMvsDCLVS3Bou`ud~Qo=2a zOAl($_FH;zqa1vBm)8u&-VNxQ9{jx<+1SI;>BXYD@P=<`M_@ST(fs43^x~FYHLgp5 zz3y52!F->XsDu6s?{I<lW8%nvA|~pn|DuD^4n1c-_Xl6gU-ytb>i7(J)0&j-5|!7* zza0*xxf1(#arB4baMsAYn2(Fobp&bd4AD6F@MFHo18Y{yAOA4jq-$r^j~D}*+=f%* z#*Z}kwjNxoEayyn+w6ox8zr7@j&Zz<sq5-;(B;!5>d)zK;p|*u<I&401ISwZ0os2X zHd@CYDgQRC{a^Nz?GBD^G`T>p-O(#nGUy#w!9tC#kD9i|W73`Q!aHl(9leZ6i~5%~ z{th?9>38YI@4BtZxBqZWPvj$DIM$q4BeqLgWwwOuYze*n57`WTuU76KdTwCZ>)GE_ z9`>zvx(c;)>Y*WX{>Je@Pg8gzM@UoHQAL@;!=|v^c49Jp;?zG6Ilz8uoJ^ZwPfvoG z`#WBM&Tcbz(_b{{4~)h$D%0{m;0Oo->fP!dX0|U!lz|?Nx|QkrA9{WB-;<g4kV#bf zu70RuYn-oR+Hbx>+iZkBr2BW#-v14zGWYamAuIDhr=|yC-k-_$RbMhT1k<Q{dW3n* zBqn@rBCWfJDNp@i%Do3uX2qX0_dX^BGykLy?!*7ls}k+H5C6!Y59rVPdQi~C2dv6t z_OuA+1)Oy>Zck(?Jtt6=2YQCq>j52nfEVD!eX{(i+sz+M;MC&dY1E&3U#)iq`u0x@ zi{pmU?LXm8&HLM%{PT2+J>e1WI&%0J4cKkc0b6$+Au<1=ZKvYMV}1T63QS*@r3=tx zls|BrAl-!xlE{EP|1!NQP0WL>boO5yy3%XM_2qMXxb88r8_&Y5Y*xX3K56VTA>IK8 z;Ypkeb0>vVVb&l6f5AJ<nO{XLx^e^g{4R=|dc>{_<w@hn`cSWyJida<<#>WgLrXrh z*K`lRQ+fUe{WK6tb(*Gu72FZ<QTrKP%Y)#t_5u9b?zQ5<QoP1gAy?7q<r6bc;e#+Q z+$(wq&CbU`h3#DV@lU`p(~{i~sRv77Xo8}QzzQxp33;^eAo}y6Ua9m?{bag3`ACq9 zD*c77XweWF@RuGE81NXQKljd%fxC=B&i;SU;=lAN6~D*bgOJ(GGW+kfF^WtN`GXGr zrCV#19K}al`y?5SE=k0sy|M?sh1CmqRU(bLDJ~c3gGDQCjg#8{t=9+)L4Cc-YlM?# z{jFCI=`oT`lx}fGzifBz*~v1-YK%BY-~O$SFFpf?q;z#t<(_(ww;tt1EqcQ2X>HKQ z|6uXt<nR0&LJ|M!4gJ5)!wIots8>*Pg?>W`|6=**wFk86U%hU?C?w*QDOjTzO27V# zhTSfY<_;I-O77!4>D^*omgN-kNbeQ(<)0?6)Nj%0dwC_^Rw;Es0iOnJ6xpFhB=3Ba zt?hl_+0)yj({oR$EO+R$M|yC*=C9{NQOAvC_&o(54~D5*TL9YA`@o*W>b+rcW4!S? zJwy)e&wJ$mSPv`x;=wDDK6*g8|6=j`rw26hvEI7QEF>37mNFZg+m$d@mn8v7QZ8<= zf8U~$kM&^j30xg63(<qeIFsi?kx%py-qE+bD1Iocvi(nBb8Wdv&GO+i=zo(I=cB9j zze#8Fb(jC7!)U3otQmCsrr+r2r}{bnrH4EstKP`^?wMZQRP~*8tn(fL-J||Vtl?h; zn*)DN43}pGc?sTlV;z}Zz~!E~miE6uubRF#>&6ScwTWK3bU$s!&s5(9(vy0Fw9U=$ z-1Tq#L@`r|2{=Ev94-E^ohq3`jfi!f(X!J7?_Fe9AxvDeks-Jedcq&o0N6)62OzYJ z9fvN<E}Co-O-o$C;X$Ti>qcLiL^)dn&VjA~Cr*5B^<;|j$dJp@){Qufojz&a_=G^3 z+SHyV_mJ&jsz#}6R7?}GCBodu*_~*pCdxHQ){Cef>EuCm(QV0|{gCf4c(lC@B6hRm zJ`&oZiNV_LcS-jajs2&B;$G&#&a3yYlHFUh(|QxV<1Oa+Z$wsi;#uS96$&aQs%aap zP^)61RmjNqITQDq=n-u4n6wf$`3hE2w_g$#+FDFRms*j_t!o<AluEiRtth{kNYJKU zrU^dcuC`sHI9;@>I7NOBJUPgp7f{-E=QFaGS)e`|?bJmZQ)Q}Z7J(#$Xr}#mk=hDT zBV+^jr>SqNJk7e}Xc>H(m$0JKz*uCW6d@{^hxg%e;AAh_D8wA^ybCzAzeW$F=4R1c z+i-yr%%Vo=DPHh6r2AIE5)r!;UiYF;%)*+yIo90|V2KOW7Syl*0Q=l~DYC8jRJ?}0 zK<cuD1il8rk<V8q*c;zZn+Q#$`;@S8RhZyi&qM~7<>@t40e?LRdd3aGC*&o;1MmvN z_j&YZuBk$g`|lk&Ycc9jTm&`FLq3o@!QQ2`&H=W?+p#)>b@J_VS&sCc*lP1Vqoi$L z&Jhlu?d54%aS@^&zeZmc7u8IObgsCliLcf@DK2USgh<?v+_?U@->QTNDraHgxa0Wz zHutnw0J<!TX-ElCUd#E3rk4<{%MSlZ;-Fe^M4aFCC+FyB2~k}udzJ2%5CgT`tJJBa zsG;>fM-xkmhNjK5zND~fFY*1il44kypRco$XQ1)-iR5~1eSjMJib(&H;4N3sd68gr z4kh`bX8gXT9lj#2{K?iRHa1J7nI0W7C6?GLC;$7;lGRUCD8B}-GtWdhC@gg+I#~Z6 zISpvX80t=J{GY@CREiPqPQ2Fk)tq+pqsGfKl<SAWT{%N~DG?qQ#7Jo-96onkO)Q(b zM|Rq1;Hd}W@m-h8TxZ;|kGo>>N||NnP(UI^{By?H9GB}AfAL9U@ENW+jQX$==z1y9 zs(8G78P6KNw8LN2rX{QNk|Doe1yOD-<)E-v7diHwrfUA8LFF|-Q7I9!Eu1xGo@UZ+ zNAQ97^_n3)3&<=)eJbP}H*!5U8Sg?eTihwmQyyfbKlxh}Oyw?c*MD}3ng)nYkyV>; z*YAA^#)RF`FotKbMf1!AR`gU!O-*aq<;u>6N<s8>fcU%e_><to&f2BS+S7_P8$C|a zk<ubEpg4^G?v5jT4Jf___v{h*mJto=e*6Q>%=#X7=W>n+X1jCyBhL&UKcdlPM0oI6 zJNFFdJMl~IJ`1lJm^1tb$}A)HXq!*agtBPD3r<jaS<y*reS+o&iXggQR&>{T_or5Y zqP@1_I7hy%l|D`;i-^;1o}fV%frZRt^sz;>DBfrYOey1?_W5+vf|Dk*j?&!9cs&On zrCsHKzCMEj%A+&3Zlp=&MGq}!1NH2Ne)GrjqD$F?4f*)C?P(MiogsU2lZQ})AQ4pj z``4IgmFRqm4HA1b{fHv^`(dhELF~{nGw7EJAQqoN;T6TuGF};OI#>dibo^<3MG;oK zQyi1YXp>K8D~i)v;z3$p3FYm5kg_Xb84zdTLxM%iVoiI%zDhWOT~X76MMLeIeEKXH z)JNr0ey|9~hlImI#89pO0a_d)+IxQ-l}~3vAjOLPN~$;aQ$}TRM2qZ6qpOJe-d9`X z)B9D#QElfw8ft|uR_)80V}&lXF>B~@HR$f(9tx>0qKfbA$?}zImQTa0i<;WBY)Y#x zs@V5E_eKLa$PECK#1gK{(P_fDjbGDcm}ok#w9Yf(2BK~}Tzds@Gx94@Rr4|`Bhj92 zxnt$``?vwuMqYJMqiSoJr}3i&*QS}H)0#UwfRMUXrk~OHgrVP|rZq&ZQu~7Wu9Ty2 zG#@wmCeipBXb@{}(pNRa!l0E6v4wdzZcAbMSye!vv0l!k*icbHTX~Bngo=?BU*N5T z!2a`B@>MPAmiml{PVf3}<O~&&;oB~~MCW_f$i0a#1hoMUq_MY{mW{iD;N3RfLGs;F zc88Se$xZ56Q&gxi5|Qc#IC*0hf1UxhbCSpBaEBbGiM7NJ+TL#{G7QRI^9>CM6Oq~* zD`-U+`uDyoXlt0LWvWZ(!$ec<-{n-iwy3Kmou_8CMSoKSrPmg%i~n_oYhrdpKK)o* zoGH=sYc2|2)4$0UCM>3itb=vL1AL5~GV1~R>`BHRh~>mb_0Z<+nY6XO2r<>pI$mFl zFlj5kr1}j+D@&gfjP`S#!eN%JZhFvAv@Z1?tg;k$@AK~$bfSUit$q9jg+z!krbt>4 zA->V(eNL?!qCg`)r$G(HWPfdihmm-D8(nQEdinph%p-EaHfqsGY|?(+O20Nj&g`x9 zvXPkR-w2&e;ReNyTWMxvaC`U}oo*}+YOjAr%bNhX{b#hjiTKM}=`aiZNe#EqF^=nf z`oSz%EQR$6*-i(Wik{`_-QX|1VWXYnBHmjzkKzsUb*kA+OxKoQqxH>TV#Qpe-<pX! zTEJ&isySY}NuN?gbAg?wKhfvSMT8dn6aCU0@7w9m70v6v{4dSjS7~}AXxgqSn$NE= z&AO&fB}o`f$t}bzt<e=l(d!C@w-mo?*EaBr&aTjX8>m^7=%-a(OzBbBUUYjAorn@` zv`-dM@mA16uSGPZm1q!{G1|+kTY7LfT4IiIlQ+;h4%0!4s8GCdbJj<CNIo5ECH84= zW+-*_$;kSswTLrmqejzPO+~HZr<yQc%}V)HyRF!&g{)V2FW1pOZDHOu&uVNF-X>E` zY91}Bnj10lpF#N)AB~Rq@*34KeY1vIw-YT*VU*NPG{w)C?L@T6M0xE*vNrcan$ljx z73+iBU8(I!xYfUauf2n4X>P#8o?G&%PX}>MJGGiQR}v+;L*2TX>>b6ZzLOJq1wdZ* z+|6nXcZX~kw{1orcPJjAc%!2Vt&*)1yAx6GMniX81_Icz$UjC%BAGgga+dF7cz<$g zHYYg-nE3;yU&T<pP9n(r3HBy;?j(kp%F*UdBD(m69W3b3vibC|lj!3A+YB_zc$x34 zG3|Zo(penRZm%LgJDTIsRaDO|u4plzlHNu1)W)o&0bN83a~&p;6_8J>yNGSt7w@Sq zc<FmIva4vV&6-RbyTVpWNT8Qpk*i7qk2XWJ?8)?HH_^}>#<|Cq%BSDEiHX{}71S?A z#ArQnQ*exE6j<&%_7uY5mfpjJol|JrhBrB5K==LS6xLltm}_$WKYdYc-Ngaz+%l@# z1G0X#jBGtb^IDT|w!`kgZX)?P^V7yqguA8(R>#5}@4_;AAdJt>Qd_5PZS@i_<=se+ z@%%nVU=i<<;rkyt&++-1F6n_y<O1MH<NjWH+C$VWp5@B}eASZq6y8&OS~VE?WuKM8 zD)lri<T~(+bo#fas26Z#4;PXr0&I}(+CvRvMV-3C)4{x+hcvMqQHiCQ{7Q!5duU;- zs9(HxNoM|D@qF4BD=H*Y9P@N|@gVg~!LXpbj4IW6C~#yl{G*U?2E)G(lK9eI8pQaH z_t+>j{`6tk!LV!^#!^fNKp=t>-&F*x3||^5<MU8fqhefr8OY^8sS!-!+Z4b&dX|$m z<-^s5{*tpsE1KI2b^6jl*}X((?{6Gl>f+Cd0Qllh6YdA@EyCNa@6S}>wvo;n-d|sI zw@~WAAmbMwE>A(a6(37@HGOD*3g{y$)_8Xb?{|MSZRsm{GX_$RK4O{nYa0F9M@-Yk zrcwXC;-a=An(Frx&$N|`s7`-TNt>~VI`<cI^?w#ZJrNY%ALHBQg(|Ku$HjA85G@=a zu2o*PfHi<IER9u>o&bmGom_ibrzdyK#?%Fr94A7x=pFQFoah#Eaz1Liu}Agq<%nun zDl@KTQmKI$^HykF;m^GCsqa9M8FCNH-k_d1>wjC?xm2q9nh5h>yPeI_@A=yL)5e_b z6!)5_Q@bVd-L31vsWwMc<c4PV#IH@;UK8PFZxeHU!$mh<69X#VTgG#Q0!LaB+JUN@ ziSwxUAknqdVx+q_fu1zV($+zkOShU&zYP-c+FNs}!(b6=>O*f05#d3yl@w4)U=7Jy z#sEK9)T%h@m1J9C^63<MI9LqV#-~u<A<$p@6q+zt)T=lRjiX4g*h2gl$+Tmzs9DkH z|3dG(WHJpE(b`+d)M2O?V5&-Mhhntb`Zfg)1NqdqDQcJ)UTJkYPq>yXM}e`k5CQiV zZ*0k?tYH`cm&~Ci@yIY@4h@PIW3;EU=?I5^oK1J*MJ?@zR0<p}s(ROInop6#MR4it z1+VzS_AF5TuyqUAb!Ro*r47Tej8O_$g>Er4b<Fr2i25Ig-J|&|pNGS4+AQg?YebKq zNQd2@_{C?4!!Zacw_TeysMjL5-DEf3vBxyybx}F?SmS(`@fFZdotl3h^Wp$#)LCYh z7xwDf)1%FvJ9gnb7`NEFXcMo~F^sbn{vrJXgKobrdbVEt7S|FxsIXFD;|d>ENC{|N z7I~224SU!#W`oam8g6~`Nu?<xMDx;iNkY!;tjIFz7VQ}!x>hT`@Rh9aFpp_oC<XAY z-lEWvBE3_InW~`;m3)!#*?iB8j$Y>I-R$lL=KyDVlR^@zG}5Qy)8-aE87ZPP(=BQ` zN_36$W%O>b#tFRVs3W;&caU>T28Js2SJd-3y2KhAUO}?~ttdUcD~>o>M&c8FF1TDT zj}l?N-(iq0P!dfTD{5wy9*wuDxV&7=e?j6q^x;_XrgkflN{z!@;6x(T9w)kK_C%UK z4g>GZJi0heoHA9)+Av-O`Iz$P+sUG@_Qe}iIzbEz;BVL#_65hCttllzv@(U#cL`#& z_Q6C7odTc4giPu-1vXr8CT*A^nwf&=>J(AQ_xS{_O(VwPvupeNZ;HmXXKwe#aNFv8 zv=y%|b+2H=EM>3z)b5>+fsQYoT}_<9(tA4%ep6ITo`xXS1u-(Wjj4;<dAl6U^)~E? zRHOIZCRnV)(IiGXD&ygN(!c_}8MapIF?IjylHN*Z!gZN2oN_?Ky@o!Ljo;-j@nv_M zt+Dc6Bs8Vj*n$H8e>A8ZL6V)UT}0Em?~X@SQ%EYu01x+))}Jh4_OfAzHdY*6cb=dN z%x_Blriv($c%E-?JVP{9v?(^AE!>bFd?{|4R?(d8Vzy}|wVWpY*1md=8cY|d-g`Ub zt6lY{N7KXUq6yueAuQU4H?p435Dt@h$Z4iEW)dx%DVAtaIaKK_5w6`lOWocQJGCJX zvP`o?ag)~jKKafTA2o{xYq)RW4pKgRxPxFY;=l*aKdH`vaFFU%chHLwbYr%#Rylcw z^TK<X7R$Xh6fw#W71^8rQ5+)Z;d#-Bde0GI-tPwHXU&--#+kI~e~|GuOzz#ztWT2# z7RR5Srhih<tMwT}mF9|M-|;^%QEZU($v8@%&J|s>FGkSAxngwFey_XO+{J2wQRnhY zm%Pee$Q|<XroDwN<l)RSxJLFR<8`;XEPsv6dS{;4?5$OJL`@fBs_^r_G-aWP)g1rQ z;f12AHum4FI}1g3ApAv5moUOZnzBUn414F{OP8Y)>iO@q&eoWyyR-LqOE0#IXGZD4 za3`KLCNM%rE8Slxf_6E?O>b@7eMO@FeX6<)B(C54{~_@$Be+RqWiAtQz58veB~AK1 z=!b9^Z=E}2L&#<<bBE#)iZ|w}(0eIp%os-a$9TgXm!abL#~4^EKWpK8LTF`shJrRs zRZzopA(}(9W3_0Mb$%5_sbXJO$1?Qr_eI03p(Hw+yqj0c&)TwDY&L0M%%NT%icZB= zoqOqasqFd?Q#`ojogc!b^8IXTu|_o35<1ePHDZN%j&vT010>dpQ`(+qba5?uw%PcE z@j6Ttv%AyMb)sptncZILB)gcM&Ake{M%4bnt#o@GCY;~2quT356>ZbISzXtQa;6%s zIu$yxliVI`E1IBPHNj~*wzqbs`5%eerE4J$)=Wv+8M!Q0JMI4n-I<S_u6`uym$~yM zpU3EcTMN@V+wRsj?#!T|3{hG8)JBmR@Z3!5Oz|0bwZ_<JMuw>6y&q=M#~Grn`PL`= zinZxXtEa-`Y<@he*2hqTe{xrTW!y)<#&@Op8^w-*16@2Kw{|hn^<jE78na1cYTrju zg-^r=%`}|8`$VkOM#R&gPsKOpogXpzQqdH&nZ3$~vU+V6{WYy=bNcKvG0A*;EhmdM zSyi@*swVUNH5~k<RhE65FngO5VHBe)X(44Z9m{(EOIQk;|7JRnDGr)Dtm4%5&6MPn zm33@~80@V%KcUcX;1=App2mM8e$sZYrB1uVCtB&Xbbpul+5B`VXX_h5=d(n8ZOD!+ z({8ca<o%wOPiyyx%i0GSS=084ktS{9J9O<^+?;YGla}lgcZRg8g;y4yV=d7y_4gNe zCtXHy-1*B<ro`e1A2agTuro+MYV*ZT2mJWqrxaEoc(%~^JWiw6=AD&o_E@<w=izBj z>zD=a*zhHE`a4mte5EDaUts+<E{KOxM-F?VDqp97{aEvPYZo=yFRp6KYLfo}(ZllR zKD=?At@1br@Y32_jqCfe-aH^&ns?o&FX`iK(F&jO5HC$<X!~I?&ws)bxVJE$W-s`# zCvJq<N8tC1oJ5z7h>qIa2^8|Z=&S`zq|x6aykb0k@jYCtE9O%DqhhH4xLO_!pl>bu z@F@JS|5hO9QBhl4QkepeiHQ2kG5zsab4^3=)ZAGyFdCAll|9xz27a|<_rb6?tTg2q zrVTk(T6zo)m`|;giExz<kY_noIqhDFzH*HfpE0N+S3hvxdA61QIEIGM?JAW$4qxSh zAR2gF%uU`~l`+zNKAgu&#LC{RFu5Rxs6}%*O2nkk!1Z9f2ZYZ}R|7sK(&nQW65fvR zO7yd*_m4Ct;!9=GM|GTocwfGS1xt!YsxkGnS+GBR7B5sB)RI9Q+iB55Y2XR;3=wbB z`zPSVJ7J~MC*X0@=<W$P^S+!zK|i3I>1L&FKVU*We-4fRK{PK>eU1sIpr=7MbT9(D z^|OBv*R{yXwEiS~1h)ez|D@<!yvlLdsOdf_^QiwR;n4mLrkkh4u*yq<S^j<zXn7IP ziVE2g!UE%@V2VF20xfYe*6k`uPvK^FyBVdO#`53IN?FfNqvdNAD$uI4;$3eGyv=oT zL}Tw|?VeJ6j+o>fjx%rPazwfCfBofX)elFu(8_;DNG_MGt&szY_~1nbe)zByY+s*- zGstodMv?adiaLj$;Em~Y^_*x{`g_YO&0@cWtmj2V%LYWBa&(4Tds_LdPF<HJ*+M<f zLx*+?Ej*8k9u`R3&x@Mn225kMV~FlzcE3}&95ayao);}e6;;FZurHP<Z9k$}E=r_j zKMGrEzjDasC_IOAr#$8U2qWUm9SXQ0#%X=#X3e@FN|;Ix2xL4g?=&k%%P)$q+FMiT z`bAM?(26OFZR(*Qb^IX@BBP-VfabeF^Ecc<sGiq$&vOuGPU080j|b9N#Ex}Y_9-Mv zVTHM!R*M^C^}i%0n6ye|=<sFu{I-?O^1dQkn6!)lYI7CF>D)JH-Br;?yElpcx+)fi zUiW3rj_$kNM*rssW9bB!90&OC%0nq#mL0yd?k5pmy13sf>el?|`cI;Q<#*0esP1CZ z%DF5@eDQ4rQK{T!Bw_GnKdLck7f*}M8b2PQsB0p;#Mh-{k$w71q^Z|Lwa5doqwtO$ zZO^wEbPGTauMk)tW!)fjVP^1X`*_f0CFJ|j>1*O}vTyE7SAogSGXS)j4{)bPVHDS} zlMWTm50E~PO}I48?ubV3h|BjKhk$J#5&hg=_qZ#xEDFnXRM<Y(8H5hk`R_L`F@;lc z&anOH{1lw*jQOrG;LIpWK*ki#*xHG~yO8*H=*1P<3q^5-&I;h?DETZepT*_#Z-0)z zD4(0<bBcVnm(Tk0xm{8iSPI{2cZD{Vfpp023T+^t738z7WOh*!Js_Vu<a48Zu9DA1 z@;OsJC&=dz`Rpm5(el|?K11d6zk<fOLRU$N7Rl#K`J5o1L*#Rq6y-)q7Vby+{9Zn@ z@KiH4_jB}U|0?jq;LjfA*Fw;!Uqn5vY#_b&i-=3EIvdjhkExqqSUaA!&4WxB@+u*4 z%$u{qz*kXTh>}hY?Bhv9lxN<1(VVvvVjVs~I`Go{t|H1|sl`OI(|o)UndUvp?kE-t zZ=F~49vc6vD3NU7#*p@D#c;gnC5nbzgj@woN`f3p;>jmP^7#q4y#Flpm^V*$?{>s~ z0n9r`ATc`iIGVg)Y$4v=OQ}(=#9s<IJN%Y2np%vi><B#W@EHjqqSJ~6AYWCa6|jH9 zpGxOqaCl;)Ho55Mj!mO6xuRu*lh2;G;K3-?DEn?1W4{Ur;~M~X?`7f`){!uryS*1? zY($K){u$-uVkPWS00rF;O-4LvD;b12->HrFxY4X9_|DBVA7cqZg*maPmj4tlI4C*u zBycZ`y$DBrb|AOOh}DtxG7{WU1R6i6Kyl<e@RYXS5SBNRfa>MAI&Dm9zG=pI<1@1t zkNRO)#H)dFzK&GmK^VtP<8qJZ@Gml)7><H99_>Hb=Nqnf=<{#?WS@pWu&4R7#19Ag z7s2-UIqKurmKy#hYL@XC@x(PP$v(m_5&-H0$7;s?CRW6?Y~xnyVO5nWts5Z5YsuBb zV)M^W^EG<sKXENNX>`Mn)E}RYFRb>|)+K<9-tOu&VQj1gUmvy@;)+nee_B)Tn_{6B zSc-nSDSBxK{iyye@x6bGR-o;_fM@Z?d}_BM(``|;Ngcd0$WsYF#<@^g?AnIqnF}gR zv_jOUvUBx2i63Jd(vSIEh@$?tg{@?NL`A#KxqL20(Z{zj3apBv8@EOIy0fF8va(NI zt|eC%cc@`aZCwo!+O%dyEs!-@`k;<J!{eBbh@$FuU@tsrNpIf~<;p}dFRu0UIMZFT z%VIA{pWYEowBD2H`W;cRR<p^_-hxN|s}33`c_9?@eZ1K0D=j4*1kyS>SAs%*7oioG zs3b)!0O@l58fWxM(BR+2o5kC_DXXH^TDttZ=vQjr3pm(Q(AJLm?7`JHEe+AUT*(&l zwJ~)_^YH?BS9EarJdUJA2HO0YNXj%sgZ3fFXHU(2dCceWbIl8#Fv|515U6oGcnQ#d z@9%+As{rZGV?O7Ll5PS#=JWk?jjB0CRI&rXuX0n5n~(V<0puPg&1X8G=tqaFiLa*~ zw;uBuh9ESDgdu>idf*L1+h-Ku4%N?r!3%I4z@eyf)0)feRn-o)JTxs7NH#>L`i0_Y z1LCz~K4k&obzvcE0Bn3$0IL!p|Gjt0PxZC?@68KBT5-fg`|rI`c506zg6-k#$$O@e z{~sbas$X+7;>S7m>N)l_%aLcAS4zHVdP#fgZwC<Gi7;okOvOH4GzO5(EjzV1ewwZZ zfzf}6%HHn)SoDVo@qY4Dqs@q^_qZ6U)zLA)p4KtXWkE0Kg{%A<GJNqV-ra0ib3rOR zrx-o_L$v7l=2Kn~=X3v%B+X|d2jS$AmYrY6W{}VoddZu6O*HnV2s>L>LD_Mb8L;Y= zaIAasT@h4w2+DJqw{58d!uWW}wH^G9w7!5J-skMiEe<o>RysYnE6UOFyTY%+c7?O$ zKR8|zr$)Jo*yd9-0&y=0d#xCS-4i{`pJI2P%Yqw=-o7WATbE%s8_wn*PJQM*d#U3X z7Fw_qrJVn+7|j&}PpVEA?}<8Q3$R?FuBRmKi-FY>O%O2kNF4VLiuMmk-{XAY<rQ@> z(a&WWVWQOgqCx38PtbU9vH>rdugh}53x|~Ni`m*Ik16_r=oQfWu}roh8L!_zF52(_ zyJkuh#Uj(^F8bqvNDi2VtuefJPvM5RXy%`yML?sXSZ45&4*e-28}EH7`&fagp&A5^ zgrPp>BUU<tQ}bPkrCk;dgBpCojUZV4JW<EDdtuZw7mdgh)h#tS6DCQi*dtvGpX5Y6 zJbOWF@<a>o<Ns)MIZrHXJq+arp;(utKA_YmR{sSxd20r)z)>@(PKag-)3B+q1YoD& zWZt^w`+`1vD0XQ(pHuI@M59^>s5g+R?Xu{AaNI2QnJY0+8myyK62$%b1#SCFMAa&# zVyd|;o1PUSe<hK<RnjLeORpE?_qS-!U^h@exekuj6e9c2$F>^uYcPjDlgapM6OZGT zzn{~Dzu})td`9p7E!y}tQJKMe-gCPCH`ZgvJ*E2pi0V~NA%*APXrfqS^yyfiha=6N z_8QDjOY{0P`5#fYg7y%v2X8@K5Qc)|b4=YG57D<Ze@I{dgH_vgHOTZY);gNh$Qu8z zm~PVcJ)qwnVdqD?YFWXL#RzXL<Sxy93U^C|yL9d;Je&<HXAOCVofX=p-zo5=cujjy zkrH0Qt#auO1-dv~ff8I|vv%(GstV?D+D}2N=9>>|AK#)bCIq*Zr=2GAZO!{;)*8)R zUDJNa&B`ujzHZXIex>!gd4TrUFIkUubA)$t>+3MQLL10uRrxF{pFZ;W_!_4=<@1_+ zo|ezew>Z9`e4dog&|f*`*I)RVFQ0ei^Jn=yE1x^$^K1D`m(S$k@@I;CI^=WOZ6+~H zK8MTa8u?r&pC8HR$MU&RK0lGq&GPw~d~TD^FXVIkZ4xETOOk)Q%2Y4P=Vkf4DxcTn z^Jn?|RX%UX=S}&%EuW7irF{9kCe`w@d>)g}J@R?&Cey!-C#GR&2ytj0W6|FxpwCaT zMpJ;VIj7V_i8M*-E8!MB@HIEF|A3H3N9I^!#Ter3+Z`q|cRr3KDIA_Zo;@~8Yz!v> zF35p6m{MNOV*O~mpShZ58%s<5%;8$Vc-qguxnrndeRJ95gw$LOE!Z!0RKg2P8{>_= zW2D(<MTf4~NYa5Zh;>LdnBj&wS29*%*zTN<up2*~+1~0V(;1fdBNe_oY<KqMaQc!6 z9v7YVF|@Fhxn{C;9LfSu$&kZH8p|oAI3|6GonZ|y4=Pd!=RadrSs_FOr}kA08I}w$ zjFtkp!*=Hpgr$IB%J@4A@~1C}<?yD_Pm-lX99Zo}c4r9VxcLPH94f<3wrUg%hBoK? z!G#)-_#F~e2|2Hwg;9)wYjwr}*By55oA=UX>xbUiN?ZNS;r5lUy9<`CDtzSV!my;< zw<s(N(xC`nhL6lsa?rub=E~G2z}zHmYnrsvt6(s<8r{2M8B_WVPa39040G(`E-X>E z0Asxc8pqDNOCW<JCBs#uvM%HwB9+GG(hmXVx*bVoRa*TPN-4m@Z$afGE|ulAvM$B~ zE<h=uA2^&2R5n{#+6I(X+FY*2=}V|bxu&rO5Cp*|-mwaCX@Of{9QC|JKbJ9wRQ%jt zM33o$rj7ZG96(P?n`_mL8c@W0dy0gm9#f~td_d1(^h5+H!Ot8N!Rk1|hy^V%iPIaU zBgXv>Ug|GlsqP>8)5<dD&>CM~ED(4uphAK7%`X%<?V=Po`Q6UU7<^^^oe4^OgcI1Y zuybT#b;mQ`8t)gTr*L>B(t(@7@L~mLGdvrxYDRX)A2I2E6A@N3%)M5m+tZb6uXs)} zhP{H4af-9?XHqFrnnhbAj7gW5vo0DIII)Y<S><&ZAJ6z@0V_R6a8fZPL@Xyg8D2!{ zo`N$uK3BoAfXNqBU^yoocPB8sPr*41XDT?B8EjIplxg({DN`QfyaTwPA<2q&s2(rT z9S`%fODUM2^M62z-EB5*#7p^>Coq8+MNA4}Q*b87H&Jj7!(j@}V>lSFr;2?Mj^538 zz`9l3J=XXfdoT;tYvWv(HcOpY8Lk63xkzS670J;@ie6zGhnoy{w*kizLx%f;gky;m zB8*{oSK<n-bLEvWLbYWWeB%)hEY=x9F)CyQExW5lXb*n397~p~#N5jgl@p!y=1BD> zNyN}cvPsJx07Q(7^uS^c(;i%=pmOH$HeYf+&xQn?t(?QL1Zy(Pwv`9v#j`yr_r6H; z%b7#9x)*6%Idf${lo!&DWf3BW)1`9eT394{S<c*`>@cJhFp1#wGx20AZ?2f!5``$N z40+ZJqnFj_cC1kUsyRT8DzYz8jpJ@l$tsdb4Vx%c$!Z1GIaS(t6<VW05^ul{o_M{G za_UrbcP&Ef<xDH_yu`_1I4EB7NMJZv<;?{Q9_21lK#;jg70*&-GukPRad%wV!>9+4 zl81N}-ACr1h!ep;lay0bmM6uSyMhyd<uoo!NirqbSxOR2ah=v!8PDInfh3JUsZf0} z4!>#$tJ{wE#&hkZr}tzE##w%O3MybZ)2wh+(g|W-AqrlOQ5-a9xTRCF)>a{jcN@zS zwBs#|M*}OE1A;n&rh8;bT2KT}q`4K$4SEjsD0dEX?8Y(f=FwKcvIlRh;4O?(OTl)A zD=By}!~R3bRlyu?8baaa&7mDLIBw@4S%R?)Zy6+M=Q8}ciVtHrL&4b$&*z#*SLRj{ zU|L?vT(NSz5yv<Mx{<j$Ax1R}s``mJsJJ6tDludbJ*;T9)b1+ju)_jYK#()5O<~wM z2#dkY1G;zq`WiK;1QTt*Ng7tkT+aVj9Fjnq4f&jPu_!yg5^SZx$XmeMU@3cXjJq{< zd`*@xo2j)>u$kf0c8MeLtEzYjTNKPS?<}t11g3d^jHHvn@ec<|Shj)N16#>}%zRa; zP%=BMka9W0K^1Rf_!|XV8UAb#5B61QVX(PolX%WhP!37EheC~I{_PYjWoZWZRoyZ* z!*3v&Ld=$ARkDZz-EM9rOUhwqx0h1b9A<ttPQpnHkLWCM;uy|S@tF*7Q?QiaBL#bL z{Cgfai#+0I0mi25B{K75kAx8lmJ9|cSmJbxqr)NQ+S>8s^dQ7su2k%CS;5O$*tIXH zOl5Pm<bjZ_KrfQOF^)-JA|?4&*))>ab_Mf$?cAu~T-F^aSn6)pC|T+R#z|K3vUF1w zoX4dbqv%Usg9iFaX3IID=RmHnI>`fM)MBO`q;TyF`zm-W!(IvwWB8vqiNA$m18~8x zhcd|YBO|3uQjSPfdsfD61wMs6(_RBn=-3mCe#r+sdLmh>vPvR;pPY*nw;c3z=!r~c zJbJgH!J$kM3CEILlntnNPD|Z$$oZ9O5ZMgZRO0Ps{;tr~r@fNpJE-Wt?vbhTAz6;q zoJmtsq_9LavHcHamBjw&Cv}m;IKL>V<=cE-!EUKzK((mkJoMNd=`5J>+I}pEyPJcu zK_OGPhY(LYNd}VHB<cBH;+8y@4|1XNP=aq&Aukqi^uZ#*yDCALnX`=&HlA@Bsdy{k zWM@qkV8YJVu&)nfC0t6y%a)@lcs1iZQl?50!+$7PGXAB%6!r<npI2}YGd`+dsmZ+x zmI8e#;bheTZcqubr0**@k~1#>T+qa%b)CuN6BXM8#u%$$`O*wlZ~({0DtI~LcTf~% zyN`6^b9}wNYIZ0ySXDwiCj`2Yn2_0n(Asvgj1i3Ewtgk-Hh!%f?>2tp8Fm}LQt0eH zvSK2b=1x@^InX}_D;1DPYZWYsrYH+p!ifr&48|&0G8n92S%7%OAeI^QRdn)L2)hUU zR)CB235_PZ&664`a|&k&Qm~a_Uj=6{?4{s%hX3iS2%)v)mO=Oy!hkavzT$?<%9pIS z8t39wXzdBvaHU|@DKF9fl^*~tznwzlMuyPf;}X%UI0(jdRGkXiD^kXTMBxhsBj+`Q zUo~==x*@VXdX{XKtJfJ-1AsA7o1H77G3x(X-5i|UkW&i!<peHY@)yYMSQ5|h&F#{f zNdXM@3&0LS$0}id{a%J5nEu_<l70@`Zf#FVI0^FzXKDutul55xL&2GByH!#+c|OSq z3{wdKzJU8EcyS59ofW(#0C1Fo`Mz#v0|iUQ?<tr?avnP=ndPw|S5n1G9lF}fc*%I9 z!jZ!Lj(DyF$?Td!l0uwSFl!E_UZJW(mTi=q1?#5EWLfXBZ0l5x3{}(Hk4epNT_FF* zDr7^N)2E;8W$di84`Pu&5;GqTtlKAL^kSsBy(M8;anlrR<@j-c3tO<X$3h(G%fZCx z9uKkwl_&?Jy1=EOSIrg6jWtR#je=A=i=N+$EH%wl%J%wi!m(b|83`>56L?y`oGWG} zM`1d~@M6G)&Cq@0g)$5)@5WbC%w;KHqS;?~;dL}R_LOcpx?a;9s0F(N%@>&clNYn( z-ru6!1+rzbY!5qtkz+{`GaA(nsqhPO^BKr+;TtpPs8TVopkj+^iZaiRy%J9fy^2-r zHZjr^oXb4s03M2jYz|CO31b-^rC_O~feL0Zo!u2I1&LO09t+r1!Ep@NRxtL#VII+g z9@a7kC4ark<4u&}4R0$&+RY988=DkWQmqgz;S7E|y35T^OS1WGTA^?viUVGtV3rPr z?yL%(!cD)D%3<XW&^1AF*n;=3xwDTui<;1kIwG~kXdo~^g=9gx;YuGUM2d2@I~@qa zjI_I?V?|cyleSX2)hy9H1;?>oVioxSmimH<=Sl?e_Z9IR#u|U@Nl|-&E9W(Yqw!%( z_A{_3>FJDS%-HLpESnc9MD|s4l;xYil;&dF7{s(O{D~^_aqefvO_SnhGMv6!$|~z^ zN)Nm;$RLN~TiAy8-)7rA(s)7Hwc!S+5u+OFi`r<Y&$_8V%{u1N$+xpWu%L~`GwUDG zeS)gN@Mbpn-Q8srtH81330Fe{rH%}x>xPH9oP6;hE9dS(8R9hOBBl<*gW(BE<<gKC zrr_fkC($jcz!qlMS;4Y=Q3@W*@eLGgW4OA4r6A=M%&eUy0T*^5(yEAL^naik$RMlK zP;e5*Uk7|D+B1XOL+%RQn~fqkq$3*zia8`hv7E`60%GnI9&4^lq3LzaHMPvvtkXdH zs;;@LcI=1>lxl3&14^fkvOYsAc!Fl+vNX-6hjq<0v>9%cy7kO~O>Q3mgMvDUU^Y>> zFT1cdu?ssj*Q(t9)?eXgjWsH{voAt+E$sl)45S_P%t6}W!_2!J-Kb|SU$)-=5S~XR z>w`UxFaxW;=_uvZHCrgLK5}}wbGEHy)^WPnT)OPI{r{Eg0G;9NA0ARnN`#xso4gf` z=HZ~x`VjRBH`g!w>39Fl`J7gSBj@FVj8LA=gqzE0w(peSPdV#b?v%O>%;f@a?)z{4 z7L%!811y0By3tkuO`C%c0&~f~YXAaS*^2Z7q$FGahrskn1>4Wi7;;NN$vY!u<ILdq zDlS{XWBFZQtK##xKd`BIS@-i*e6|_!NgjEF6;2#?<nby#Ie<HszA7Mz+7&Db-8&$e zNkS1GI5iY31v>75<E!E&O)mxKa)bY;xuhcnU9IqQN+SMx^JJM|=YBXxAxY_uC|C+H zR%MWcKKCFLtKy~5D^<K?yx1deJ%uCbC#ZPIc%*`Ju_F#D^~msizZ6I^v#EF~^(_@I znT4r%$t>6-Z??jb%!;Xa$?Qq9BAWLUEDN?A_{m(ytfC7Z2}vG8>{Iblh<FbnHmP_i z#A=VctvrNCQSnlUL<LJ;V~g+`I(<Eu#TF$v|M{*+>PW;F^gnF!R1}$z+3;(ox{uq9 z(3jk5ssiXs0<`_^K$FJivfitjKB2CS%`KC+;IOW{`%uek=(8s7R<35~fy;=Pc6;yx zgNzNxOUfY2=FxSp@_)+tOR1((xEwX0T9Ko$6M{h=fbgpZITJ9FzhgVPp!>?@?n|h` zKVi6}g2VW2nj9{>Vktu(B?I$vQWMEn%HVLrEN24`oT(l-V-zg&4odb2^z=Y#?~Z52 zn?2&|DmWgmG1PJqih^1)7;D8hN(`_@$}E*)<CI$MrQq=l*Zo3b#VRF*?j}=Hb2U>t z+R+ZSVe_WuGW~cqS)h*;&hnL-U&`#eKKEpjn^jmVV0r$P&=D1~u@)2BQEqc{^<)|7 zq{vCQCE$WKB*(lfthgFBDerP6<D*@YNf@iTqK8V~R@P(!i}<>7!y4Qqb~TbB=AmPR zP{&nn#<C}4Y*fMHEY*5^xd6&DGvV`W?4q?X`)2hdds#mf6%!`r9I6OQCcPCbaUSg{ zWaw<^ffHUNh_f2QnAS={<vfr|C^&(InB)=vS3^lO1;!;xu~vy~W30HZWeT%KN;{Pj z$pw0#^d<}Rn}UyXH*!hALCGBWK?Mwk_bXVo^sf|bW)*&_;44h@Lk07e66aC{M{?eI zZhRJL;Z`Zq7LFh9#^Jm}J>cH9m(^Lt5~-6%LQ4-g+{O*1c56g&vjBPo(<!Fta|ekc zzuZ}{5QTI*r{7Y`ieU^NZ>wCsV<OFEk{igHlyBx@W!-OKoY@LaVK_m-@eGetu#Mq3 z1zQ=8QE(o^HU$T8S(_+0gX6cfmb_v)KG=<qfyB!hpaPO{F$L#v{1fGpw=#TB!8V3- z6&%m-1qG)td|bhj@jeC1f@Lb$#yCyt7AlUzZJkG|D-Cd>{a0y;TN!Sp;CP0u9&n(7 zGdO-rChclru2q(e{DKZaR!8MFl-I&sAz3lTXDUz_ReCGK`_!yJYAaX8FK2oe02lVi zd+k7l&oK!<#`sMheQ+Mr2&ymT&Sq_{RWu~)<qDSZ{pUx?W|zqs7AsgXovq;I93QVT zL^9l0!4d~w4(8S<1#6|?SQgT@nSN=B>EY3hg(6|b%ehyEBZp&&m*mE<TIWTBT=Er) zf_EGF5$do*hNOr&9uuS^3YHvqD>#Qaey(82BlA;9H(Qz@D^&uMbuLzL0>iTvED0qj zSP~kk;7rDeQ*Z>sF$#`l*rwnF*?QghT%a%o=P^z&;AE6XW)4sZIh;^T!BPWBEoB8s zso%lrQFr;BxluAcf$=XWIFsSy3YJ>gr{GwQ&s6YohBq;s*0)ALpMEs8mAOX5_qgGJ zw~wT!Gf$Ug6~fr=;0}ExQ?C?;Cuh>JR_2I+RkL{?1lGe)NSCGab`q`4>uL;>Cs)(C z<VJ8RFrs%?1XFB=Uidq6Ic_ZcnvS<NCuo6RQ_D8y?j=9D#mQI?*!LB^+s155u6XkW z6FzQy3=5Uz$N>SPMhitbj|1gZ0Ga&U(U~0W<qk;he@Che+-{9K?f@&sxatn5(oXo2 zON((_{n?YT^_A~b=5A5e!M7XStp&RK2w4#?--Y)SEGv1DJ03Kgv)u6vPgXDs?Hr+C zE{$^l!>SIjPY5UfaUF9y&w%X?%4rMVQ1_Yq8nD(G-}og3s=yZ3Nw*n=t4bD2+<>a& zEz%stT#O4G#o8P6w$h%A{iV5wGS0aJlJXIEK<X?@2A~TXYBQHlMhJyvH0L`CmIY5y zFcWqrGRy_x{Z0{F4!3BP+!FJSK_#&iq(iP-ylrzl#0v)%u4!4QsxrVr{A0r`&4bzF zW`%YPR}Q;EZy^e>bc<e5u$;G@Qg8~(n62R5jK8yq#6Qlno}^l`Vr}eMny6q&Ge^N0 zZ1NOK-Y${yP&ZDyO5hD5&Q=QMfsqHxZTNAk>im~7M})E*ny3^h)apnzG_WA8G9;Fy zl~=P!kXs6t1!8{51!QL{vQm(2g(OR{Q^71b1evbbN!h!;BFN`krHEkxU>=|ZNn$}Z zHI*8XCExOq6hsR9j*1sjl9Z;jv>hzirfk86C38~2SS69Gc@Qb5VAhPYgo5*!(aT1X zk&WT=gQO;;n7cv?_2t~EVA<q)z=kdy$S}3Igt1*sEhw(N*)MqzE{S+mirYc5haAhC ziw`P-U*O)pf(Elgagb_ks$j;4>K=b46~yI5$ca!9_jJEKFv;B$8!Nx3>B;FSa0D2a zKJt))%Pd`X*Q?61N=b4RcTRH_Q&l2seRqwbTK`<Z5+^`OB`bHOJ06t=nfiN5m>g>V zkBCA46)`;)u2`d~r-WS1Qo<-DA%~rl)odl6;p)|-<aTZ*^hr^3h-xh3Wo<WL7-qIa znyQdexOn9il7vetIERV4RMpGOe=B%3$N%mTe@($M?^y*)bsSc(6f{f0R?eHeO$8*; zj}&ZXsoztu%)H10XO@Cx=E(|{L`N`O(1qDl7sf=560=mN+wul<COcgg&S-p1c43u| z8y_aAK1@c3fDHFxGHXC1YS<M$s1)w6hEjF1WOo3osTem%?o=+QR5{cfSC+I5Y@GX4 zd=T3WnF^Lh{U!x-BXo|fC@D*v=T-?PaNax>Z<CgBq6eX|9)t!fIF<=Tw8TvUZnyHv zjk4B{Goi%_mQ#`ERU`u$pP=HUpd%G5g^N>gF4KG-p?2m;q`U~3St8w1Z~`M;amO>W zQwo-)$yTsrwv*w43UZGzoL~&XAPEDbJYX0YmRzo;<Hq-&;cATlFaOdVZPX>sY_0Ia zbXiT^ZAL68aUIFr?IY+uk8+YnsN!b>DQ5-1h0|qdWjRk*iz$RShM%Zv%4GPSGNB_G z&PkM-vzh_dP;e5*A6Gaz4Da)(;!K9|9;GnXO)5bWGAmVQaQr(eKAzzekIab*PT}~m z3XV{d@!vMFK9(>$bQ<+kD1c{>*_)++d7NicH(4W@$?VR2Qbi`jqOl=M31lhi`y75x zHx~4~1zX9Og0cBSkFL+gG#_q}Wa1hASHa8|B>jtIa(=5kJSmK|JzQ-Rk;UGq5@dE# za0Vke6f7$$S;01rpQ>P~?=j)Dxr@0*kZFc&6TwJFn~1_O18x%&Hq*^6=0?F|P%GR3 zSU1KWs1^=n0N41rKEJUc$sSepHDEP8&SkglCd~Sv*46A5Uaim)IQ|_4@8<Xv1z%w} zQNa<6GgiSl41ew(WQzf|R+b7|&hhgZMr+9AqU~0_YL0x7LL^cgS5%&YW03(`{b~c3 za!F2cq%2f9^4PL@3vf{d;vgo%(YukqXuSzp<Y$5kN6<_rnVO9CigeX`jAc1i^pQg+ zCpy3RRLYUSFkhMl&O!elWA6he<+%QjKTX^2GuywZcDLR1XR0kzl96O2nGzP2k+4Xn z^k*eC67~=?C9M81sGgNLQ^M+mIp>7s_%jg}$snwRL7bT*=M2I+r}TSY*L6R;&phpZ zzQ1|BX0P{s-S7Llulu_HJkS07nWcuVmMb|?(k~V4C49YLE_;>W0O_w;$95Rcu;2@U z!!Q~p(#aM>#|jRSzQ4s#u|@B+@DE8(#fksp5bm`oHRfB<vz<=`b6xKW_JSYIY?nlU z3O^&5Bmbw~Ena^vn0u<*X4Z30T`2k#b?w=LsWS9b$Bo=mA)19>$|4!1)5s5jtvyxx z8Wg!*MP<?{<Ex2!$-+`@4EM~x&gY)t26U0Wrv_xE9LqgZO+EA7Q07+>-XqvYc$Z*q z;|FV6+VzG7zW_{6c=j_EOx6p+5h>D0#TQ$OR|)2-rwNXe8v(%~!V?5X3HvN~m|!mJ zw(yGt2Z*l|zH91a*<q-|a}#pXPcOn;#-8Y(dk|VaJlDgybmIqVhjAL7!>8%Z+E+0Q zD8VJ48Nx?rBQ#mh56k!<Qf4J^^TN;9#Zol079Y(~<eLjsLZ=IcnQ4M!gad*TgeO=y zKEZw(e!~O@iQ_i;bQh$^LeedygC4FpMuoG2+0Z_VzELn6-6=Ri6(j_g(sGdZAa`*i z4Y=wu#xdgT1)hir7o=6jwUIL-biOfFNC6tH6@tkq9U30yaqOZI{sp!$*0H-QW+cwT zgPY&qZ#gc6;5?sj{#eY7X`;sbf}gfVy_A<JlkGJ(;Bx#ZG4vjC`bUX6JNnDLEly_$ zn`Z+w9uA)oG#Bw(sLOkdtM^c)tBdc%D_yku|1)OH4d`<nx5kWQKp!#WrfXzmP@B?+ z2Fu7G2hv%Uh`~Vmo53_pdWT<!lA=T*dtNY=%seT$iSS0jR4%jD!nsQ@m%T+WxB6Pa ze&Wv-93wlIC`|fEg6Eb}_l%PSpNX9)n4K6RxQas7M=)2`O)yv1K`>YL`yd%pRM`)L zxl6tpWE?w1?^#;20I|V8+<*g!prcVD_|wD2v?(}#{`+c)TnyRiYf+r$6#18)HAv2Q z+1WEyC17Pn1Gh{n#4$>b`;-eKLX1+uLBgFZdTk*0I_nP%kP$$frn?!(VFx2}L@l|v zB0)LROK`~u2^U3dN(s~a$N+8XdWh!d54t?SsVtq5%_|mO5%4a-F&)_P5bIME*)v67 zMUS?O7Mv8j2gOo^=2mipJX08>>bJ=S_aMy_U5e0)>2Rf&6d@K;og~E%IBED<d^o9f zLz&%0&F*J>Ql4$i-@tm_yT^r-rG;`c<M4`@_%%n&Ca9lBOA)F*(^uT$mM@ax%8}(1 zNK`IP-XN(sJ$E(l40bC5%b5josheua%oH3Xe39T|{1nD>Btap{j1}xBJVLOW;xl-l zk)DbZwge5SarOO?j{)~Kzi-lz9=gFOzYqg%@KtK6B0K#A_NFx8sC;_E02y#>>{i*e zMyQfSz`S@jP&Kn8r<RtrO4%Z%Nk38aek$P?TuGdff_dI}+#G7w_ZG|xpL-SS>1tI) z)!{*xuI0eRVG8{@Z5^ko$yi!8*<6XbB)|reqG!W91hcdC7X4PiZt0G}h7r05YwJlh z&1>t*6?7K~HFh+(M!u)?iHoN<*K+Q$>?Sn@te3<ux*?G1{|ImQxXu%$9_9T)VX>`a zR&sei!iDk|QVvc}J!GJr6yhlTB2ncc8Npor=YqNM?+fM%U$^j|x9Fd=@HYx(J8KEk zf`7q<7aO--tb4mGO;UqblPBqSXBgWr*84batu;~?>mJ|de>;5mjXeBYqLpV<Roqo- z(th9_6)qTWuHxY~fP#YmO7I~Bju2fQF#MJJkdhvAc(`G!_y7uEtf9m`{qU>AczZ|o zWZax9fn{e9q-QCnTCyq>CjA(T-YX~We$tl<<|{m&yEw=(=n>?Z_mMv<g77YLw+lJw zWGb=DB`ZrBixFtc*FebAdq|DFpHn`X>g&6*IWF{v-~<^PVMt%n5^#g)<FsVW6RhkG z6T2~5<}@jhqRFxkw;^VsLcTlflOhdR*iiX7QaRC(8Y3we8Swh$U{3z8(Rf%&i~BO> zNc0v=6{7UI``2BHn?jqHTgG@oT3juLxm^=FvjGlL{Sa;!wGjq}3X7|Gst>cMWtmNa z6>BdAxjA~fB*m6j+zD$K<BGT~hxnL<IFpFjxKrEC6yt1Qw58JFg4vk?g1OBl3d7}0 zp@s8DZ*h1wdHj<kf<*dGFc;n<m@C^QI6|CP30u#KFz_iOebsCp?`l8%^ZRHz#`}kB zdAyf3&NRpSbQqwul?$EUo7dLCl*pVQ)%Xb?4Xh64XnvGbMZJtI)Aey9zl|Tpe@#j7 z&*;cQxu;z&#slf=XR#A*@G<H7DJQ;MWAwX1A9?ccTg<8U9v*3zNq6B<qQm=t3I*`b zcEv@iHa!vv<IC=P$;IqNF_Q2oKpr^-Q*D_;vX>1J{*ka5BR5~@!((y}Udg@<1_Qob zlav5;VBgA*!V2I{7b>^h=_pK)gMsuNy$oMa?>$&ug5%1jA-CmJhmS$*+=NmIQ86BZ z$qmuM%ghixN<A^Ievr8F=l8^ouJ=obhCE@0=<pS0h;A=4Lv*u3f%LV4B>uCIu!QIg zB+U?=ESSAMRxpRCKj9-n^bWOuT>UZP+Yh_Mw-fIp-&BZ3E4SR~1oo&BqGwAvMB!T5 zwQ^;vfNde-iYFAXb2#b1#S-Dy6P{MW`WnIs;RFe<S-}&~P1t9#Ka6lr1L}=rU)^Q= zeI|~cJM!6Dnhs&<o{V)`5%<d8Btd$=)Z)kLNXy%52%I*`QFzTNPDP1VFME;%o!|A2 zvNu7prO6#8oz~5%I_pz%C2mewiW3c{D<#EE8#9(SL~Ja1Pm8f_auJ=4={d%F<=E;Z zDGp!u)D~OIEw-vom?teJ&t5FBdbVpNw@W#ekW?MTcC#4cI5$cw$w|2XQ%;$El2R@G zc%|W;rF&*>tKnL>bfxqp<B5Vfj(&@Nq($$s=zClAE{i^|M4m$VY!>bZ?UqjD3t$a` zLmjE9s&lEMBKho4l9t$gf_a9Psx1YDW}4`I)R_UnevO;lT^h;T;_p_or4SuN_Yf|_ zdPv)bT}W7W#V@ZmBC|2}K8rLT)o{}vj`6PeD+l*UlpOu`6z(|6%Q&UuT!bg}<O6Al z@K;4G{Eq}P|1H7X_?HB8Be&x&Fvf4PkghX4V<v!~u;7OT2dILjQaFefXRa4at<PL# zF?zX$bH0UhhJ|yog>x+M9C*Qo`ddiF7Lrpia}M?3R&on|By7%TzpUE9^n=rQNh*PB zShXK|8v=*54y%pd=jbPt;)Pc_mQlpg%Tb=zqhR``9<pNyqEKd<RKY<F2<EH269hBI zCzwx%h6(o5R?98eMYyONyV}$VSQpIi5FG5zdM=w4TuRrN_H_?S1{H3U42?4O%BCVh z*e_?^JU`0i+CDD<)$O@Av$BA!xRV;cf>@Z3OC*&bM}jBwNb<uLa;8X5gmUg!B`1<8 zN~{-i336q!xWd)HDvN7CmaU0*a5ZeW&c}w?u?;z_!4}psVX@0^IM`*zFE9?TsG>8~ zrzC^D>MoA3*)zo~7g!;j6iu>Q6`y+i@F2fxEnT51k`fe^Op{z_=Xo$uN~mT`7YDQL zF%w`QAW3fT1bMO3?c$tWlH;MM6v}xkxBb@JxFu8q<*S4hw2T36N-1s{qElkHMG01S zu$mWxm1p<|;Xk7pA77;xm3%-OHS-=imrOt-uhjRQr}qnlt%L>|ve(Goj-8nyI70dh z1;+@VEjUQ{RKaP&$GeQx^YqeFDls!~&9vzaxX0H_$#S~g^Xi&u)kQLMSo?ifo;j;y zMERmCO`hJP5>TRjM96Fdrh_@sZc1;KJjS&aysE1#(-&N=7tfz68Cg1pR;V+1>bWt3 z`AAD|O-%do5LKkorJ23i=5!`r_CLx?P^Crft<SsB$wb9U*&43DUf#uea6I0{szx2@ z?VadBX?{Da$Wf~jcrmN%INFM*!?>TT`UF2UK@R?K_&3^vMW~{$2;&_QnQq_QhKk?< z%%YzkT4p?blinX&ha?s2*oA|{`}@Nk8HY&!v$Qcz_@9D(gg+BZK4#t%9H1&+6PzUc zoM3k4FM_G^%%27O>8PA{cu?7G#<ADvrRN;IxcP9?{F2K5ma)%l;?08`&N!JqMK1AD z^=QkJ!ivg{?#5-tJ=f?1N-iL+IbLaUf_d69<4xq9d6YG;)B%h4_T&!Ynu_r+$Pg($ z(YoZ{Tx*m#4|U?ea3k&oma#u+f!;AZOR_4+xk_O3j1gvnq?;i5Jo$WuY^Itf;xNH} zEN*;sJ-AwKYtv%q53o!0R#;~DLGDVvoaZ~lI7YFYznmxULOu_R3yEJ;+bo#oDcU_} zDFk+Z)QZtkgs(#Nm22+&s@ftcQIXFjmPfb*u~7a7NhQgxdAMC8w^<G+^n$YB;X^HF z59-arNtNl$wU(hw<<c%^^H476gx~t|(~r{!)Bn;%&4ZfUO~1d`GN>yldZ&?VGAJ@9 z<TUKW7RTV`e{MAgHMi*4|Fs0|UcnrJ*Ozh7IA%`KbIcC?m-#AYuh6oKb&<k+zm(vZ z-6+?lxm(_m5-Mh&-zqV~PkB?&-jgH;?X_c6(1xQID2h)wc@S`iJ|rjbb)>&n^g(L& z?an`pV{X@v8XQF`J(F_G@ytd8!sQt;0o?iEp32<*R&I<A&|QTaqd|AwBpz67<2RlC zVEnyqe0VKh`+7|`{&%fDwli*5Apjn7rCOH-aqc4B6F8R2n4VNo_EBPmhksYW<VU8x zMgN<$lKI~YX3m!d#+Qrm)bI|`aSzoCZbTq6TP@{cg8ej(*9fjBPL1Fs)wx7)6X`>O zgT$X@;Z#~U69tFaF}0VfrNSd6gB#@$%ntV!9H+`$g4u~Y!R%a<?AsEk7$afP60PN+ zYW@~PMf$dDEGr(rTnp~S;3Dc=>%d=m@nLU_?%W&HM6jH~qT2>YeRwmM;U<TrW|i~2 z<fznNB*os&#hoYA<EGG@i!%5(J?3vU-JVnEMoXa+q>wUq`OW5ZQ;Oq3HCH}5#(L<n zr`;WRgt-Ve;Lrzs1K}41M`?6M@8o5VN9uCHUeZ?!b`zd2I7m1sI7*{=YFH8>%BT<= zAv{JfKQa|t$3s3#`ptrQ7oz{lQ{G30<_qRyUF;TFBCr@{_Wi<~Iywhz6s&`fxUav7 z;$AMdKNd)l3Z1i(f8s9TpBUINSWW(c*hf)KFEkywX0A@4XVd<xW!W5e173lg>yV{! z9wo-A#Qitu#l^Vg)jR>oU-)uWHFt*b#SMBv)#C?Rn$=NU=4PF?q@`K635UaQqhQsn zlf`$wsnc0Xs8%hkZfVt(_-{6R92kIOTz9nUZ0S&r<*DtsqXX31<J<pX+<l|&?%#z7 z=DLxhF>p{elX2>ntm6;kJ)*r!N|VMz=pRC3Yfppbs@4aE@3hkV<iPbpa}&Nwu(t>B z<$`(FaK7LWId+EN2=PxATt!|TE10Y6FPPWOV!;ixPCLUE(jjRrlYSJ;q;CbMslca# z*@<^8{OuP0GlIF|Cj?U`pmzt}$bk>iC4s|yUKw8DrKx*eXYNro2)@06X-SIbRboKp zJR&(NwN_Hp-<k7qI}3AC<=iYeyok-kzxhN?lorExoN`V?CAyMjdhUm+X)o1q8-G)q z4<dapm}By#x|mLJ_)svn@lC<1jpL;15Vf(7oI3}oiT8H0I@n%07^cea6ay)$@MgiP z9nW0Pkx;3}CB^N%a-P-P>KtA;Cv~l*)Ui3GF1}tf;y3AMg*yv{TmL-Hgb*&S<VnFC zp^bvM=hq76*54(VBXo=420Er(D>zMfwqPH1!6kw#2~QFnc2R)FNg_h{M8WLD5W(z3 zAHnQIH^E$S2f;jCfB%CUz|Q?3Sar?Z#T?BDb<OE=MjWKt`aV}^4dxJ`#W0~TW`DlU z=&?jUy5#NakTmDB>X2uzGXj*ix|O^?U1zMOyg(~?W3Dsaro0}l<Q-mQ6x^a89sYQc zr9SSNC5O0S-1v}SZu~64-1tht9K?x&Ik<ko9QBccxi>t5xtDqi=H7FiCkc*Xo?sQl zTgfrZCyL^w``M)sMRAv0Csm>G3rnR67a0esQD0qaX%si)PT3E!V>b(C#}*1^$F8*C ziv{y&I9D(?{4~M*qY)<vrk{$>94(kGkY<hwOCmvuu7YEP+Y62m{_TG)<NtfX9Q`i^ zb7Vgh%#nRlFgM^Ig1G@t3+4tqBDewP;&{4S5**o;f@9=qSa5{!b%KM0=L+@{zD#hE z&gRb(%$HwI7tHr<PZI2<{y9c4^+KlK{|<#|W_ziXJyZe01%k6w;D7(+)+Y)7M{u0* zH-dx2|3olX@Qz>?ab6M34*gv)JNmd_j8**d(u0yvW2rdAV<|?(f6Q>zG4ge`T>n+0 z=aYrZ;%>N18I#GmR&vx-y;D-WYMhQ+Uudkda1C;BJ;-=Cf**vNKs0kE<H8Vz@mM~u z;(_$V@9YNS4=nf%3w}XxMOT!4N^l+FO@eC(uLHJRf|@W$)A*kR^)OCbs&{oP_}vIB z)rUF!EPEPjm*V&FyQ{=&NKDv=)2n7T#U0Y%yps+<Z&)y$h(WK@vE-?bS~#1UjNZ%i z!R>EqI%FKYRzJoFEz|Yz1Yw7$;XXMvr;|%;+)Fchk^`aAo=nqw*0j%>&P)_;6%C0* zn$OfKXndDv7{_RVuaq<G6phyn!Z|fd134;*6bfLCopKF#aDuviuoP*;c`9;h=5tP# zoLy3;PSu?F)e;KvqVJ7qx8c_%nl88O(raKc-R~FUeY~MBKL=EU!s%ZRh~~4~^zNqw zF*alXtduKilgXWxD{9E+@j0$dXmJ4U{4vkmD{w2u{IjLmF~Qu1-E?M)Upb&=mx`Xl z)Jd>v^{%VAZ5*ggQleT%i96(yun$+!Gkd<{8dNm)&*Ku+C7{8ZFC@vq`2aU7<a)-T z<$A&3`d@e$@Y70Le`d^Ye#Ar{M36FTeldpLuJ?CeOFDBt(8buy6&BV7zZh2&%WGxv z$!1>*tNSm;*4y!8n*TarvDHAf8cBoKN2$ZM?&RT=Ae<7+tz7;sw~}L2Etq1I*(;c1 z9TZHSqv->r=?R(&zs_&I^AqM@Z2k_4+@JX&Ub=m-d84X+&WWyfI=^QBXz!Qld=#G^ zR#4r?OOMdt$^1h9n-ss-Mf$So+_!avI}7Fx_>rP)?0!V=ga7QQ>x18vs7G+-n>ohE z?dI4%Eqca}{A?U`Cno64Kl20~W`ypf2`UUey7&YKXl4u(Tt}X|1t$p?2~Lqmx?n%y zgFkW0B80PogM{}9&QjS%!70-36dYz!LJ|?m*d{nZxK414@CLzt!coEO&~m{cI8AeA zF0Z}#S$5n+QkM-@H=y!#r%ReUWaSF72zF|&x?n{{x8kKr#NAKW{RfYc6fkJ_!6<U* zQWjFva#E9XQhub&-8@P(QmgmLHST(jfZ$rfI|-kqejqm?8C>}`!CoTO2@Vk6Ah?Ne zRIpoGT{zbma~B?}DaC)sXkKeV;KAMfbJ%&dR*x4m;TBsPCYMC3q=^p;tD0;N5Zg59 zsJW7(Qj;ac77FoP1FWf>k#qR`-i=L;(&)mClg(|iImr^P6C5SHL2!t0RB#OSW|j+% z5Uv&+Bs^cRpKwrclFCjMjA4u){5(8p*X&k?K^2JUy%$+RL?*$GgN=qzDzoIvmQj$E z3!O1x%@kHjQp0jmeUXxWr%hh80}So>4;%7e@0F?lfw7D5R>4V}jb{R<9pnh&h?JR? z;vvVk2O0#&e9#}9%TcZ!1nd{R8;6O^NWnEYn?VzPoyARvoTT-`?@~yS#1))1OtRd# z(3Ej^``y^SS|8BA2HTEI30}f(K5H<4;Vy#qr8itC2f1%o;xfu>`;Go<@#9KeSK()9 z)~keXm5zTx3D?ZEobKbok=JJ$Ggj%Ix$VE?=0xeJG*_^82JnM(xH;~lfxrBMIo^f9 z9}1?EGgw)BB{wH=GIFj`C1!BWJ2N>aipxluSGr1T!v3?6x?U{!rc)WgL8|>-!L&!n zoG+OEg&S(=A+?0u$oVH8p=yo=e!cAzq;r>bqNNYC%rKlAQ9qBJ+jJatVg%QDGL9m7 z94;St@WtFxK9%kzxV8ZLKlU4cy<hKtEbcO4C!E<WyP6b@jfQ{mIB}Dy7e&vDaeTkg z<!&4nSCh^RxSvYgEUbE3vKQ_*&Lh@DD=SE>(ZZ_JfrsxmqIcuqnQvuz$&&-$%ZNos zX3~On!g~d$oxn-K4TN_H=8Jswf@?^>Rd5yInBWS+YXo};*MubzqpM?hx;DtYnxav8 zD<Y40rcMX``bx&h-praHtT>J2(!D%(661ki6jq%FSQC9i1@M8-m_z#u)bXs8j?e%) zJSf~mvjf$P262fP@D2q|NTF;o(>@SZ;2h*UCOM&_IHz86f}@Z#M#^hTfg{55p9owo z`sgy?D$%<~0(ZJnZqUbXM<O5@+6ll1X3FeX4(t<s>UiM2q7Q|E-J(xRtG-svprL$t zP`RWu3{0fnkd%Kmr*uh`N?v%2BxAHl<0yeygJ{rp4XL}8nJP{tC9gvA7D-<4D$d&` zd9iWiusG@J#X0LGr}13mEZD;x5g))g5z4_bNv}<!vH{BABoNO8(K-vi!$WB~FJ!Ow z;uI&{{=()(9LqM$WS%^kSJHSXo9rib)8-HrY?oAeGI-y9swxQ62?FN%?MKuQz-}+S zX{x1$M%c+rlo|qf5fwIHz8nHq>!lNdQbQ;J-g2`BRYCa?6@+@Ag77$N4ZNlO-p6f- z7I6)iOAUV1kXb5`t)^M}y0F}50>4Fj3*3V!2kwk|ft$_;ZYMb62YysI^k82m)5x62 z1@sQw=aNX>f{gbC>lXsQF1VB`yF@Aro(6om81f$ryiqv*vA}1DzF|1<UCO4+>Jy|1 zF`U&RWZzEXkkNexq{5#_lHS!q@-3A~tJU@Y<aH>G(`e*8EjcmDxlD3`lCxHF{Ipt* zlbn!PyIFD)ROV>OX~YHx)@DeKMq@A2`Jc2B&k6r<8S?O+qxkuyq@vh2puqc*(k1np zq+%LMFYJsVqTb}ZQg99FFBYuRGI#EG(i9!|G{FsoPateQ?_|7qzg~jFfuDNf`4f2% zRMQdU(6?N=lJJj$qqIW)@~Lb^Z=NVe>HM{Nnd6~v=qNqRv5;knF?+4vv-muW5A%2t zz*>$5t-Zv!cP$RkAAZDRAwgsNq>mYEV}P&51HEWgzzh7eaH1ChKO(qNM*QqcIb`lr zk#n+?NX%pV4_?AK8XchT$yW#HIKrMeLo9d@!_3Ko>!|jJ1jkS?(_e5%YWYTNdHW*g zIXnzzT^b%oI`;rgwDgYiEE6|Hz1(HG9H4_VPCh8)19YPU_}59?(k3GPOK>BFde=AR z0lJBzy%}do2uOl(t?Uu9G&fd>o=-m`-xy;JeXzTdbY{S##5z-0e6l<G8)G@Kx?5Rs zVrjzi;tVx&;A`V;uzWjduV~sz66*!oJ!-hIk?D*76$-EX6u?cQcN1Rswc)A74e146 z8-ZH=xXXshvp^R;hF;-kfl6@>l0JGRo&{?DO_?UNI$cC6dcN*vk31g4+CTW0X7KtK zmHJU7e3aPtm9eK5|H$ce2?-H0&kLrKnJ2$8x;>zu5)M2MN7c^}-nQMB@#mx~GTxkY zWyXCa?rS#lt1_;fbaf`-m6e`)tw`$Q^KD&lfY!@{vd^Id|7n@5B;qtT_o)oRje@JG zz)rzl!U=_`f^8|Ia6K+1uOyw>7ko|gPr`~*iE9M2r5UO;=`R!<qT0^3a89*wj<;|I zS#X(!(>W{&uArUZBpLlhHY?n;jNkwbq0a?}2*0m5gkKlTgYkL6Nzy+lI7@h=U@y&( zwSog-O57z0Y_agu(t_iJuN536JX>&x@FjxNG%6<v)+s9E1ZSxMCkl2^#X|&p3HK2k zpg!pK<)O|r)RRbH{aQH{?~fFPVJZCp{YM(<6+FrX4YIG9%F7Sebn-5qx$MD{|KcT% z`U0$e!s38F@&&UfCu0caaj;S_?IBR&bsRI{gi1XZ&PhHYsSvq)p%kMP2F31?92e!B zl4J0C$zd1z=ajija<UYxf}AqrBnR$|!DDNmv)`(sqa{nF%5qX2b5e(<&}GHbjO0zY zdNlhX#PY1>|5cWf@O&_Z8>>+_{`xKl4vQzX$A!}i%ubJ_HVKdNGXMUK-BCGF$!QYa zmH^vRHa19#w}!Q_9!6a0tTeMqs-kO7sOkox#b_~EBsl@enT8zep<pU<)jv(EA;#*} zWINrzqIq~=uSGsSxPx!8laHB&_y^#q7`Qurwo4Lz%6NR(!NcbN0ZKxV-nY}(^03}F zeBd)~Azenuq(5a0NAQ&Ko)(<k-W-L@$k!RWiQ^NFhstghJ38T*;5y>05ga63BbYs1 zB6wH>WrQSALwJ_p2pOsroF@Im&+u#C^pE-O|1+LRFOr-Pv2<~pgR#Vdvk7+9OQomo zXlX*FaClDclqST9lMqbd$!rr`MYv8d+u0y^Se7!Pl86#sE||J1Q!Us<c>W&c_H{A6 zxN=7$yHP`9u&IG@fbjf@eAKQWOF_XA!czq^r^3P+W8rv#scVm-1ugv&HO^erx!hl* zxg5kl3-*xh`vr54-6^<%^fxOGdB0FF`*o#Ywt2B&_VHZ7UPl-OPLl)=i4z2K1xE|c zlF_3CvqN14CrRI4aES145~w)g?*+5dUkZ+r{zJj+^qasX82K@Z=07CEMfmAPqw6Mp zNO<u+p7HE)wd6CNFF2)v8x))%JXLUvaD|0GMzBT>cm)TDQ*Pmu5~dU33+T7yD(K07 z<GD?G_nvN?gp8{n3_c$H|M(#YoSO7K-$-rJCl_s+Z+XWm1y1_KfHD3N{e(e%<lKeo zOrP=zozbjb&4l5Sz)M}_pBU?L;k;J|Xb=X<&HVl`V|Mk2kB#>q(NFSh6P=ITuM^C% z+#ooCkYSZ7nP_-7<I-z6y+dOTrWo0rNxbHzazFOLs4YP`^|CO~;+PrsH3yq|57r(Q zmRyG2%{~zeIol*BMP(Xgh9(G4tl;TzoLAf#CA3m<`s<I_K#XYLoyIg(P3j!u*UftW z_K$va$mo9pe)s*jNA+%jCB!$IK+McMvB1m4biwTO6u~^r&lJqgj22u?H4gvCh(4+h z=}A2@uD&-^=*TV)LZBmuPd1W|>XVJ(kLaBXDp6H>=OkmqWBSlRy|@D>dD9o8`P6%y zdyYzwSLsuC8%rP4`;_&S01+Y6T`+r;Z=4^~hZw2HaC>9-ha7`S+Ke^4&)7wH*lUdG z%@724)Y;_SiYRiBieL^?SCL)*2fFIgaFblo<sJFN9o%gxiTZSuXgMIQ>^vE1zHAZJ z)Q>6Qsog*5^)EBLesZEhHXSJ)c%oq1q-A2~a%TnTlzQK5ToGStY!u984<@+*8rkum zA$-~34Hfs@l+*j;517VP>>0zfq_lGPS%#xdA6&eK7^YjyTlN93!~KkDb-LcQ(qdtv z<lw+kM+X+k;W@1fuB3C8gYR*jaXRtKO3X`1zfUk-mB};;j?zfkDVXgf6o>TN1c#_> zsT^1NoMFRz9FlN=3`HfuhL&3lRa*?r7wn@B4JxBlcB<e~(pLyhl75U}uFR`2IaDr~ z9W8x7%&p8)Mkkd)g*Cx((jVBxo+b&W1@ma#E1g$O6(<GP65b)$N4Q>ah-_{ZTuS<w z;3U1`l361O_OwP}s%(j1_B14z9i650WVBK+J37(gsNdq~Na3)f9>MHrZ(urY<8Zko zgFVd?%q?h=all^h7aS$$Qi9pJ-GbS<2E`%gUKCtK$ECR73c{NOd%+23Y9*1Sj8%e@ zgd>9Egcl2r60Q>Lq6(%7_L4&Z#V0&LaFVc3a3zI(nBZ!{ZpLB$hpCw&$p}#aU2uRZ zIH)!sR3N*P$AO2O*e6&g+$bE5)=t43t%Tqx+1w^LK)6mYH(*0pk;qU~Ft>QQV2(t! z;4E?G3#QOzf`U1uQw3KMr$R70H%73B^j^VfYD~G{0RN_3sU+CzPSUa@RiFuu5<c)Q z&lGM=S}?a}uV8i}`3^^jo!B9mov0TMJF!(TI}v+Vo-blUYa}B?A*vDVCA>uGX#oi- zOb*Qw93WgNI7|GA7LH$WNIz0=l(0uIx(v@3^_E1EGF*b=g!2S*1x-7-^&!&l7tB#f z39hA(?iQRRhZ+P|lm11)9NoC!O44s8T#U>0WVBW?c$r+a(-`rTKIAg|lnlKA_QCx) zlJQj^3Sj!&>#bLPD2{0#spyFOXFMxUhg;STfJsVlsbZC&{z&UP>DXK9rbH(54mXWh zna>4t=e+-pI+5@4v|bqAEIE8=sCt1*)KHIXeT;DxH99MLZo}fYSf3zHm6T;XO>m6# z0l|E;bb<x@EO?mUFq7Ptj3Nux1*gd9LD^;a2xs4BC*-&#*hP_V6da(y?-U#%oDdu% zyiIU|aNXN-n5d;zZjg+6!coDEgqI7>Qh{p0eEKzCaFQwxDh}bPf_aEk2xdpe2xgmJ z#o@z5xg^+$Qo-y*C&5kRgeI6<c|dgmIg}P0BfM8|gm6+YM`DLywqGyUMT251FdZgB zl!&PUgx3geB3vVwu3Ti6C`=B81ar$~3Fa183eHj_CJN>V`31*GKT>hvXgK4ML_Jl| zTW~F5m*7&WEKhJXVYS=j%J$2cV0}t3chhdc35rC6;27Z-1xE<S8HZPJh&D?`BUMl< zxSsGT!L@`Vg1HM83+C2W3Feuybu^#Ed8q*b(X;&tg4sErrR=b<B)DR?V6Lo4a5Yt| z3+8Ed@J$){q|XZGXzdfsQEU|4NKWh&+(bAbI6!!t;81r;)JcK|#fCSH0e{Cf(<N)v z%zMl=ibhHLvXFI+q5|m(QqdaqbZ1$kSUUnHX^rAigH$3w{8CQTqYL<hliLdQQ}2|W z`TY%UU=J#o`9Tsc!e6~X8^3|;wqf6}P4ppH$kYK_9_k5_ZjI#E5UvsIC%nYMr7{@& z5wbl?I1R*6+c(-fWYj()M%XWVibin4nURvHq5>YlIIqV57968d?h+g!oF_OzhMHub zP)Gdzf@=t;1oJL;x7te(zrn(Jk@u!<`LC^U*{E{Gn+3Dc+SiT2&*+2C4Ux{=JGjZz zbYTSvPXTV;6`8L&deh$@W8DXVh%MKfqYdL3y*#`TcjKE4`pM_R_1s(JGk9N}M1y5T z6>^YzjZ*kAGs>d}N>7)4aZI><PHxG?Z_`prZYyMtc@`%dVkOg$Fz%zU9}@@lhXd4U zR6}O5*h><w66_~DO>mTOz@ncZI8J)s4&#nzG0Ho?Y6%es@_(}R%o6KAg1NSD1aobl z2(BT{JA&EjD}ve1-+^U>@!Z}lS+#WZsuk?#lay7GXrzpYY@<r4dlrj6MWd%m^a;Y# zL?0v^5F8^sK`?WC7LM9VGskV=6cNU4em0~_2K}lAI&PVdyN0G{X8PZ_gBu8cAX^W* zZ3or_Vfo0}(ubHuHw2L5kQ_e0dU+Txh;DLm69pTcNq8OOu>70C6_VkiMeSC>9D_xI zy`-NbI6#i{I#a5nsvq9KI6_9p3x_KhCAf+7Lj|)FeFd}q?qN%Te8KF*e<k2t;NODT ziLV871s@A;BIn+=@Lv{OPx`-E_>T#$rjA~(`22s0?v_N13M_l2B}6xfo{uZ@Q~_$u zbisV=nIf1SI#aNZDj03y4;NfR_6Jz(mu#1l^hzpFC?t(4_(Lu?2dKbLFSA22(tjuV z1mQh`gM@bpX3nb?&a)QI77OR$W=^G+xz9qn!$P{LnS=*aES#AZ&P5i^ITp^?gb{f` z@9#J&VLb8z?hpP%tu_}zc0VO?VE1<mc2iRtEb)0!>FM4_>U0i6ibmgN(evHw2GM&- zzsgcJBA7$6I4lXSxXMDBW+4SEoC$*2IiH0;%))V7I7Ncl3Ejd!D1DdUQI?ei8{H?E z3p5J$Q|ouC0)!J5{x%E0&cfed;YTg}<raSR%QDJhWOTlT6toncDwv(95X}5Bg0nP2 zgX6gi5@e@b^lrNOR3Um^7&?i*mbya|T#dsuHn}gg4CAx~?-k6END4*)T<Q_bhUzW+ ztrkwq!dWAjov5+!mk_3hsmN%^Qec*)K&7R?M8VAWTlga_e2<0S+roEQ_<0t7xaq}~ z*6$Y_q%fugb4Yg!=878xbL(Fe%q@!xPEpw%YuP5BruoJ(c9VXUa2Q7fhdHs>l2K*B z(*)O39|r^n$<PD~$0yiN`e7E1+rlZbaC8gj;6K7G-ev#6m<{a{%#}3?c2fmAEu4gf zv(3V(vv4+8I8h5{xyhkXTKx~T>7M(F-YstevW&<vdT&ShKaBOS;O=D}H0q4hOHLe+ zEq98>jqg}KhSn3_EBY+qq+s5V><}CzeZAla;jM!Ggku)Y8Vjf91(~8uT4EuEETmb2 znNw-uOtf(P7S2cu$7A92ws2g8SFUK(w4pdfMnXk^Pq;Qu;jRjj=e2>BbNrTH>Nw}w z=a~{C%9iK&Op(vMCWB5V8l)dDW<rG5-N$<7{LA0M={v;;Y}d=me#UAZt+>snEp}F{ z#QA8Y>-&O=)qOn6jb+>MV9;><WcEb!=M^I`n7;2z-sMcHNLRs}aoVf6vGL<}-Cgt= zZjDu3*(krn7$fSZFByYg)h{caN;#|7k`CLW1Z8Cc#@bhPclfv4p<9W25&vFCZIR5M zo|BCf6-a-p5)n!?oJqe8M5BT~mW>oQaL8%gzz8xkPd>xJi4ooi8_f^5`RSJ4l@|tZ zHR_3uX7!<UzZqZ6!z)u$Ueim)=1DMpRJQSQw#j(^c`bdS`pr$8&Gmd2pK-$(#vKj% z(T-0B8BaIpr#j-#8vkz4k9XYitkM51z30WVwy|Gcl*1Omomsr4Ih|=tTK6ZFL|KU+ zg8Zs?^ZrEc-es;xppd$gciVP<=D01!J#Xn_i~e&AS>55j{59l;Xi^>fzVX#tdXI2q z2pMBt#nSC5GJSZ^l{w0^D2ETTGHKR<**}NbB+9%TrH1Oj{HMoSTo>ir;T$bZUr?VU zCEj8YYmX1*lpm?g&6xfaVD*9H{3w~aJrbdY)ji5_Q-xoED<&Iz+?9NZgMW<2wTWVC z{PecoD;yt=RmD6h;)?#DM<Z9tvlug7z;b5|&gF?a)o=%?=@`Odzh(bOLjwI1NN0Lk z`X?v_UNRk04a^j6J7lbUM;{SBOi?rY$V=z*FFEiCAa;Vl=o`NTCweqlH<cBlye>x> z5an3%w3%5c%HwmGK~WY#IlF~gCEDL;dN!A*QG*8W$x+gkCn#ScWpjr;C*8+kz+<VB z7e(_k?>=H|+^P2*v14P)yzm`o`9USrMq#2C(4sM(Uv4V5=2PQeJM|O7e<sUji1<p# z<?T2`gj+)76(5ySg{Vi4QibRX8GeeXLiGM17{jl&i%k`xZBSm^qE#U>a;PdqH{~c* zh%P5(bBMx{qCu3od6V(;yZAr3qe?BKrH*ono<*2e%1cU1x0B16^Izf#&QUp|1@lFP zZ{OmPAE%<fpZ|NyM1c)bqN93=YY9nhm5^|Orm$RJc1zZJ={41d+se&RE@K@AoBJug zp{1YpeUkeNY};(<&9?M}=Ue!=Nr(m0Mwn_#m#<X?WFq6ls3jaeU~{UQlWW^k?3|x$ z*Kf2uvHt?8coE%RB4Iz8*G6hq<{mIj3*Y>Mts+@TS^J(gUU*L*8V=$K-sX|0V&O)B zE8JvOqJtlRmT;S~LVoE0<jXL~O!#X{>)Cd!<(aRBk0g&81bzkOZ+njO35PRvlu$p- zJ?v?;QeA7hZM!>j@Q(jAN5X1gO^bm{jg-gu$CWok$&8%hyGg%X_>8N8O%DFsoOq-N z>>Ux{1RLCNq(RotdZ?v^6^7NIl$(WCqqWS{*X88XNX#sLob%n-#^6fO?i>Oa%Cl6^ zxF#o`Td{^_lnQ@!EBU)E`3?8ylxO>!H;98gSgTqg%z{(REy&Gh2g)U%apiqE6|ioq z#eoXomXPz|Ff&qgVHy-%VEK<NW3?LCQh+?hkXzJ;ha8XWJ03TC8s%BD{4b(0?JYLb zD_8iX{M)Dp9a|x(X*7UWO8@gZeE?4p@StfP_3Nd8T04euffby>x=xEwKUz&-lIO+Y zLGyC>2m5n%7XApDYb#9)9{NujLr|sZ@wWFROlEpB(!hTBn@KkrkA0{Q4@Y~!gn8iL zmf$KZTyc|Lwe7a;u8dzc%0Vi-rdFZ}TOLY}JltFlS;&n1yk#uaOPy}gZ?)i<U^>ge za{fcEfmw|$27Lc*!NV-rE!a=x*L>W<ssFtNZ?)i<1#g3W?ioy1?(6al3aKgDxP{jY zatz(*&NSqt{h9ilbTCtANiW?VA%E6F#ly{v{K)-gg)%nx;jEnNqv_i8V9wxllZAas z2NF9tQZ9G%xS;M(4y&{$Q(nhTn`0xh@1I<ON|$DKtjrmUnY@RY@1^O=gLU5%qL8#F zvm5gPl{XulB@t>ixY%ZJb5418W=&4opIM%h4rV5Z!(ncL3fr|0<<|Mv?{XWl@iR`V zB8?QMFP2*=dS>|7)^urR*NT>AE!|#9CkpRai_pJOd*`d%GN<HJL#IBOdTSXJsr@3i zNL5ZXwN&I8DPlTHs%4Mmwr~7r^p6*tgIt<<bq@^_Xm}bePx1oBGbH`0WsI0(LPDs< zfZH4cD(%k{<>Uu5d6u+__>W;)_RLYbJKo%?Oe6KbT1of+BBR%`g1RaA<-}K<3Jb^7 zO|azat>iD>CI5Jmja46Lsl+spXEET*&6f!M*5ZKYe=WGT1-mSG_s`AKkfXZ!tnvIR zQ5ChO`cbsle4opWEpOM0-})K<;JFIF*I9MA_$qp7kkLtuF0A5{q_2N5I(@45?z;SM zEk_&AE58~4c^m)hMBh%oA=1kTeX18azD^iRzzpxJVWywztlQi?JTp6?HzO>IldKhs zvAU{d0PFG>WxOtPCm$Y^M9M5<2JJxpVYRqP`MgrTFchTvntC=FJ@@E;39m2a)_4yW zR{`N3?1lJ$o$sU{!5v5>CP5!!eLYI?2geAXx&upfXa01j#ap-+AmwIijyWLcm(ygQ z$jfNe61+pC@`i<xY5L7=Rol<QgZ?Y+^TQlkyI)dd97bHw3@G9DD~&fZz6)B{ym_t2 zjL1n>Wd>N%YS91rc+0RG*a2>;W8#f^vsb34vy=)|@Q9hZmOC#2hcXp}vCk$vM)VvS zm!CU~mdZ@Ia2S`ia5`rWzS0suqtl1_(6hO9)Gf^m0$PW=<t=HnE+>uFS<+_fyv8eg z_0f)Rx)}f4tB)Bn`b6r7NuG+kbo{Fw^m3)19!9#mO4CtDT*}(vp`JCi_tpCvw|=g7 zKW+^6_&b}o?JICWWhgYn#C4LE3{Gbr>}b65x!$LHbr-tubw+3<&x~MtZ=vz;&-J77 zdQ5a^#`d4{PY+kD?tDHHnOQjaaIfFC-!pM#htJP-U}hD6%%byq5R+E=_4L?ZX>N3W z1!?&a5crw-w4k|*uu!5rY(5D_IyR7k-gzUjU5I?en;q^2rVlkR6Dv3z#+3}N@KI!- z!iQOOHXyjdr?On(ok+hx9m(acq6+;NprrfzQ!7@suUL7mUU654o6doWmF+54`dx>M zpW$<*hKk!0i@Q~<bXBZ$yny9iJ6ybhGu}B|{9!4~bz9kI0u{Ucv+JLu&|UW0b4&LX zE^BwctNp_82RGx%U#hfL<Wwc+D7i?<<w~woa<h^NB|ld3Yb9S)cK0ZmRWg5x)Kerf ztPM~KpOTL$B722D6YiD*4kZ(-C4GmI6P5g9mFQnqGNhzO$<#{8k12U6OPq(4Dn;W8 zA#6}`j*{J#eEBZPpQ7Y<HIjZ<$!SUsR`R<$CBIh5iAw59zI_Ms={%?l0ep7dF7iGl zrzp8&x#%NGj#RRflK;9*^6QmcuVl57J|zz<6W&%O=Ri{Z+6bj+S}KIUDS45SeU;o7 zk^C)6&Q!9ulDd-Lg@yNqk}oJ(r{sDi?+(*{oxo>-QdBDGSF*2?O}C1{FO=M(<SHfS zD|wERUL}i^%-$m9Usdv9C2zRJFBt))7^bAI<Q;0zy{hEbO1f0nOuxez{f#~<{Hz+h zTa;{6@;fCrD7iw(Y9)6nIZa892L6m+BYydmELC#q{i2_!(oK>MYh9FLydvyTa)**z zm5eEQhm!M^G%FrvOTT@sR9L6v9ZFuLq>m+fvDYHynUWzT*DE<kP3xgb*54%ji<I;z zx$jS+cdH8i2uZq8$!aB^S}6KyBxw{4Rf?Y$NJdaeuaZsIh`wIQsFDkmJX1-Jl6gud z=S#T_N>(d*sglDWWfUvL&a0)sawR7!*)&h|Zzy@Il2ep)E19}Vcy}wgNXgnN(T`VB zQ}X4xY8KVb6~aYI7Ad)Zj_6-ja-EV@N{&`?feO9vV&Q)`TjUE$Rx3F{$=*ul%~sQN z-z+Kcn38jpJX1-RlI|;ocVMQ-GnMSC<gYVCzeCA&N-k1zs*+wM_l1K}V5^chDCt$Q zyOQTzAv|5lH>OLvM#%+APFAw%a><V=xkSlIC4EYUOB6UTO$vOV<W?ouC^=6_zmg?N zes`Iaiz~TK$>~atRI*UXy_X9AWszZRfl_#tEK%~iON5wEa)XkKmHeYp@(ceYa!0ku zDN1H<l=Q1gHY)zhO4hQ(_+P9P0VRu+{8$a94NBgiWTld~-Y6CPTg~_0D&2U4=&O{} zm3-rR(O;_MAB&Nu`S&pad}@`PuB1cBJ=aP81|^3n*<FqP-D;s?Blxo`Dtt42rb^FJ zvRcU+NS^;wl)@|!v!$Q1rL(ql!j>+vr9ZeQ*P$<3@@4%QpcErpGT4_*wt_XbbZ?a& zWz(lsI-ul1CFk3C_4laxZ?=5Q1G%0~v!#DsBl-K4G|TN?EBbv(ntH!V_gW|Udu-(# zVI#M~gssBq%D`Y{z^CLCB^N6hRdTD6JCyuD$-PRZl{}zi_-p0S9GmAmRr+O>|Efy= zWb%}(S8}V8o0P0o@@^${B{wU3E^#2Nxm1Q3vT~JfP?7jR$x%vwj*`8UT&AR1zD8BB zM9KS<H1jV~{NXGwG}W5+Q>}DGcUu=E{+drWgEdpe-Yk%`O`4X@e!akWXTN?uHYuf@ z;@zE0_B>D!G5$KmS!4u%(94d$K(xUkjdSszg;|!iq4!_#+?F5obwi3Sm@sj~@LBWc zn{{1$`h@YulAg}qMqN+mwZ#i&Tr+#X=m9s*o-=>pjRQ21&)rb!9O3A8Gs@udxrTfV zKe?k_{@nAuobk@jT|2~io@3oG=h4r7d5rVgl69v$GvPCodxo?$sAND%zmi&C$#*GP zd7hLD+$Z`;wIW|p(mz0&`MOHKqhu%`<)W%w*erO7B3z;5Y$Y#Hvf^AR=!!~3S1Y~y zc<C~)lF`Y+3*GsD^XjDGVa<KF5TmO^MpQ&nt8?{9rBALDeOyWZ3Q2pFv`4B*l?%kh z(a=*$-azHBD0+KJsN83Y=aEV=Xv&aE2bHu}kWl5as%uPp36+j38Bo&f!p5^uA1%s$ z<x%QM<(ZOhrH>O4ysXl<#j8=gnAt)ly>E+McYkTv;-$5oueTOYi+x#HXv{j(IVfzl zyq{{hk|8C7O4?iQQWZwsQZAsRS4p>$F;(7dxlff#s{F9oC#jKQ$P8gn5jEwx$&1@~ zUUN3=l$M%<`h7J>KT+~?CBIP;LDk}PW{_5+JMoSfXlrygsft{-imp`#Z&dOYC2v!* zR@wKqYM%z7nm%=^f`}rTEqPEGGUxS1l{TkmNL7$hece_AJQXsQa>fV^LUWLqp|4P5 zB6^Z^Nve;?U~iF{A+yF@szYk&4ykhP>xJk4yF@gp@>?rMPxorIs-Ry@6H|Is+O4F0 z5H_e51#R=&|CUs2HmK@sX?grS(MMFILl@_Vd3u?leq4q2NhSZT<nu}<RYC8?V#q9a zm&y;QrS~3{UaMqwikik3Nx9c|NQB<m5f<P+M=}y;i+o=Zf-3!qN`J28H%cbX5`Oed zkr}1`kCMMANu#|6-v;H#HuKm*{a=f3Ol53P8PzHsy-*A%Cy0zInH?`_O-a+?=s3|Q z#)=G`Dl#@kWb_n~@zEl~@skAvm2@eYP)DoCRLPI2S>l=~q4X+!TcbT;&Wb5gz71Yj zt2{>xrUF7toh75&J517EmG4#gu_2-_Rf8(1rrrOa(N2T?(85a&l@7e;!iQe|pwEGm z!m}PttCnWf=+xAxj@s68O;u!$>VV?8o)(A96*6fX{nd(>wDDrZ<N2?Sg4s#A)1*or z&tsFNf;K{^xm5#d%(0_ng?Yj;sqON{!HLc@E>RvHah$fbq+U7X{yz*-hy!Zy))~h7 zNzTDj>JRC16jk+vUhlx^n38cN-EWBAuVhfkh>|fS6K@#ZCp+&6s}T^nBah9MD);;< z?NdXw>~)#srmSg0A8bP(Z$lr}REL>{P1)E+0Z$wJKpXn%HuNcJXjn_Ap5CpbZXP3- zw&RGjHDdfKQi-|$H!rFp9NQ{$GNv4oG{$bN8e(S4%>~&^+ogHTtXGBu>QH8uGY?TN zrFSc7mh&Dz;)IbWjylPA@{E~R8V?1Wo!XskYza6|3aeEj*-IT8FB2J2`s^i=HXW){ z`pCJt`lQlp6{0s+qb8-d?`7O-nHv#5Q3`lZ5ZRzYl^7`L>la+TVBw7m+_M)gTDS;v z#C5)L-}%my+MRE_4G}(HroQRExmBuZLmyXqyE~0-=ruJX?R<~Y8<8o_yV}PJW%t%8 zvQ;K*6q5FH#YXA}ePP}zY}|Nz7p_r+S|wvj)+rfR5)IY9NiMmHB;9l);F;>wJY$@s zYR<!tzG_AIu0h@!TONM)Rhxyk$?A|-CwYa<1-sneuKg9gyp<9@pOU@z7V`Mlo;21^ zbq*}tTBtR4cWT(C-rK*-NKJKin1f{Vr-ubYnFQVZ9L9&RA73(I{Z#aKYSAINI?4}0 zUyE<dgX)T}R?u3KaRQX!fFp~iNk8gHy$jsds`Ei#gKzL?sxE9dsj`l!K8_+)t$5!E zy@!6s+x{8Ydi9=Mee<SW3m~Jlc2u{akF}w1fWEXG&f@Dk+NtS-oLUyT`f?{ae^Af1 z^ZK9eM;YtKv|-f|j)Lcf-6Xzd9VzI{I@-?bAFf0h>nCDM*V)o$9o900o4{)=UhcuI z>nlV*%Wg*twNaq94Sk{weHwZf0*-)SV4beu5!F$=tRIX+Yf`JBJ{yVnjwCY!<47h> z%%u>&5qcknecj2Rm5jg$tZro#+DB#poCbWeJlDeZBA9|Xz9?#rjuI%IqbtS4fFn6N zO8B7<!TDNz)A-sr_jhjJ?HK!{vd`Ii*wBYMwbT%b#|a7^QI!`I>!%XwI(#ETxtM}h z2IHiySQF9}$2c|jF<eZ+BZ`GUv3_ciPUD-9VhUOrj9tTWi}{ca;#+?L)izMUBZ}34 z5^td?cm%Bx6zy1Ltz>|pBUm2j1177upc$5(n;MQtAIIgjdf+I&RZ9AmELAcK3zXlW zWK79wkyvRi9BA6IyWm9~EhD^RWo|N(o2<)8c5P}&YRTgewX&n!^xv8-p9-W~%%9tM zJUl%?S``Pb!8fR+Pf3@OX%waWgp##NhD4%O7llV)d4)Oq$J2&B(1yOc4SlQ)eS^}| z4k+i7ZKHr6PPXP~mCboGHaSL-z?jTYrI1Eg^VGr=Rw2&ePy*{#j;<2vh)qWXyDkY% zT`RmMo6e1O1PdZP3YPn+kc?a<Qnm#ML#Cr;J)$+mzP`4yRIybT*4ySaxA+1DkEqao zRH~6>`UqYe`s$O=OFk^fkPRo%5xP%7BlKQc)_V<xHh`~<rFo7hb@IUff4pP6+H4^l zJz_BDhZ8nOy4rLUxhl}=@s0Xu#kx$vBbt^1#rn~4a6pr+D#mtQB{&g$`KVSLR`7^o zw&RGF#VIK5r0HWl1x?zjjK&N3yxPvwM(4T~d5Z1HT(cTX+YAQ()_TRIHiQ1Zx6bq0 zc(EK_xaDNJ!bXg2YrQ2w8!rW(`LQ;n+Q#!g(~5)C{-})@Z;c3EosH*zwiScmC2YKG z8@xvFa@M-obFCZ9+6)HkTj%Mg<o0o*4W7G&C-u9YZ{47;g~$;Oyi};=Gs+!=wRYY= zq)X`WN^6%?*?5uXaUZ%vD+U8LVn7)r>i=ah`eN%1iP-FgUQ-RB_FD~_+fe0`mQF}Z z+%{f=&7gOC>n%>%c%fH?rz?9Le?JmUHlpj5)*}<Q@k|F{BBvp3IcVdBwYEI85sz>% zj+V5xAi30Loyyb4|9a~@Kl3c(KiUSd(q=H(1}|jex!-8L;u<TD>JPO+j9H1`CEDQC z+j#CbTVJ@6HeMZge7A+dWF3TQ8!-i<`LXh}Q*-CLzoB(rsf`x{Pab&2`eQZdwGkUZ zY^{$gY`oen%?5Mq1#LXnTXuVhzaLGjwh;p$njfo!Q5!D;o@z->#dS7b<=d^>ON4F2 z+BS%dHeL$6)*_R&@x1S}Ua>w_x~_Tr>wjt8pj#2mXoSGSPn+<^8X2FBSJg(vfm~i# zt80T;l}pqjJ6jKR+{SZ*M;~*ABkaew*2Zf@y?o1`2-cQFY(&$boo6=~e7AK6n{4(p z@aV%1hEX#m{P?D9!~|N>S|2yqc&0(JV{M4tUU1iu4u+{>|7p4NIBWIL;-JUIi-Fgg zgDxA-v}bn^_L|2Z<!S!+j`YwEeT~gv3N4|Jy^ljSUJSg}9IR~SsrpTWWYii$yTN1| z4%RmtBn#Mif!A8aF&i%sPPX3Sw2i2N*P6kkjn~+Qy;AxacgrWD>~Z_8E!J$r;QOsR zSYhM2z-!GxuZ>srq44N;7Eo`vdG!0n<$74Fi1aHBRtEz%UQ+RbHeQvDr|p)C=`G0? zduV^eM)WBn{Z>N@5etZo7g9X>Z3-(dZsWxi&u`;35KoOi?wLjq&5sXcT4n?IrfdfF zkEA8Uu~yt<<E79g-IYNruiDZjTz|BUz6)B2WJmv?^|27O@qBIY>TJBw2Y3#>wZmt^ zMvS##u+hd#g2#^HkF~{F8&AiW!TlS2(0(gXw}sF&NK`A&ZqNsVtu@4LvuBQe-RwGw zzaQVWMnBCdYsGDi{wAA)ZH@k{jTdff^rvmawnl%-#%pWzH`;hS`mN*NI{K3!|G!2* zajcQCkN!AjNo%9uKi;~|ApT~bz+R5QHoL^eYpYA__FC-{o_{ujZFPy=U|U^c=e5-( z#0y(PsQQHT{IPZkDgIwwLL93-dzV=4DPCC4d~DOiuU0s_L03-S;mQek=EqvG$Hr>} zueIq}IX-M144PK?aqCC18k<2Ec;?4iamdDtw_&f|<eB|n(}uyANmR8pwZfZ(yrhli z{iOAVq;0%#YX<$T7_4l=pmut01fy;6N^QI(_7PZurTx|rdTqoy5L@fJ3LCEh6`LQc zy`YWP1bbLi`9tR)hY9)dt+o+M+t^e_ZM+b8Ee2cc)!BGWtvN{TPuPg=HZHX`+IZf^ z*0*9=8!rN0YYyrYY}fxnpB8FnZ(2hb0MYtMf=7o>7rs_rm7Rx*=@gwlR-U_sC;jhM z2JJ*&3z3b)_q5*P1{=>09(~NpY2otYTWjN$?!omxGc?HO6^@7z8?g!o%|U4L0swIv z&x{OltSz=jrr92~-%7L_w6?^`JF+D$4YBg<4KeMR4s!hcNZAbrKWp7!ldZ)r@XU|3 z;*^aS!k{)IXyHxOJZIz%u8KBBzstspfoFa!1~vZ~blb!T-s<eou7~l(&CZ?>4~Ly4 z4u21$%MwmPTjGfJFvd!fa@!|*I1TRw&SFQ3OO-gXC`S23WTeF5E;4pWazU82e@JTh zZJZi@i?e61qTHs?$fC>D*&=1yQ!F-$jl2I3dbC*R?Hf$csDL941Gl5TVx#Y^EMBJC zON_~sf>_GpR-_yyPUFiv3rnDVN;1EY%r8_XwY7aCSlsAziNvU>#28D>>nTZZPlH<P z=&5K`tZz=YuQfC3dUBN7*PDuDPvdU#t*0?O(qf>!r&L+;l^PU4hnbF)N{tnz#>-T| z)HjqG|3<o9DL1@X?J6_6EMqmb*-@sfR+bsJQZvh>(GZfNMnlOVD3cH>15i@$dV3jT z$zCr>W_uY6B*`O3KgxKRk`OeIDvn~ij-ynq@uQ4CEZK>p3?3A{4H^{fdP{?PJB@{R zp+9;{TzZQa$V8MJeUv4CAL+_I5_VHvh4eC1oMH!B=<z;WMRW1SJ_dKMlq+f1*Z5*N zJm|xfAjQL^uQB`%*z)(4M)Xxx*FaD1_LVlqAu-Y%W_G%-I1E+<rCt4au$A@89r1Kj zAWfnlRnoJ}ePlMx+F(CpI<nijB{Xj3LW5iS8fxS^Om!A&Var79Z}hzr+5J^1Uw>mV z()36j-Hfa}gY|tn(j7*+nTU6YXpHyiNVg{GHYDCQ5(V8_q}zyin@ALN50UN{;x!>r z(9J@+FNoKHL_s$N=>{O)h)_kIDdZb?c-27^boY+#)ZrBd#dx-mZ^_}+AW_i$IJ)<i zHWhT=jqb7G6&hjC4K})&hIeB`L3h&Vt{L8e5e3~bqq}2x%|{e;Ym9D#;r$>{&@Cpq zn}j!uL_s$~_@+mNQqT<#y19YZK!ibeHs~$}o+B3p-NK;T6?kA=8HIvwOT<hC-IJjE z4|wrH6~Vm%y3vp|6?9X8ZUErvcwx{*Il2JnZ&u(kB3&}XOBuqTOS5zp77zQXBCtXC z2Jn!sVn9JR0aB)d?f}r$e*GN9piBL9RUZ%QOA)$MPnYHKbiXL*ntTEZJdi62y7o@j z+3_T<DCpujT`0#RxT2to<ZdYN?5!y1YB*i_#zVKFpzCUM2@P+^k)m%Q(sYduujB}U zu9ML<F}wsM3cC107h3Rof+%S7LmM5uh9nBQm`E26@uCAMij6UMJDr8N;^4!!36GRF zEA@_aF{}z&JUA}eRf<ZRR6J#Fq0;p*+G*lha?$Q3DwMQc#Pi}7st?*)Xz_HpXouY+ z)CMT=2)Tty*QT1F#RKG|?bDI=d?_gK<hUs4IzC;q$CKNlpzG#zjU3M>D+LA!U6RJz z2cn?M!gL83kJF2SF2m9#S3ET?iU7h)mrU`3f+*-ZC|&c!8;GKy>zEZ#;Ee%N6!(bW z=uGE@bd`**h~W`-VVVj&x-JU3>_wNj@M4)L==xS26nO7a6u6M3(KRc)MkETlU_}?F z@CKK%fsWA;2D~q%Y(U|L0xyw~qPRz?@`tWl&@~FYLm^C4ftM#lLA%*XF!1`OC}`JO z0|lOaS4E(xhXSw6h=R6*X(;e!i7G;y5$qFO=PL#6+e)GEnF`vV(OxWQDrh5C0R^4_ z7aO#bs)hoOev5*3Otd?~GvA`1tx+8mc-UJMw6$r30#A99qPRyKJwUxcdl}ld;6)8# z(x!zrD0uBinDkB(F=>-R8xp*q#2LoUH5iOIKc`Iq-e!{GboxrCs(8;z6m(iir;vEn zR}^$YO6Q(_r6{BmN}N1uRTmhyu66bdU*OaxpuRMuA9DNp0__ugjfV=f&mSq!_TxKw zbAk3SzCYvp%00UF8oqDiy9?hv_<n`&_xS#VuPdr+_1H0$!j}7i0xgQC$P<qhXx|{c z_3;9&3_tO?_4NYnHl#PaQJ@W34sb0Bo`!)@f3L1xjP#TXCS34|e$2<GJaXCD%eKzn zGwrE$A5|Equ5;cQPCQ$n4PQLFdU5$R3&7N(Zx*oMrmo!U)soPq8Z^bL*5dH#3YZtp zpJq`xEv9P`JpDfWs#!A@&nQ2URCxMc^Fa>xdas-_7w#ZUd#mB6PnlX?dHOg&y!w%= zoCu}X039`05&5m}R4(sQ;-zzRXOlrZab&IJZ00rP=q55xdy;tA$Vep<nW(eU)CHL6 z%GEKiG)Fg;d2Z<3a6s%$Wu6~8|7_?MQB)9-?pP0q!|C#=d?5o*^J{zk%}RQyLc<#h z+J+Y54GZTlzJ}sV?;NCYx}*%;bkj|<W+Jkhs}ct><}bdo{Oob;P-%|tQg+B~)lD5Y zjyH0i9HkKPCIZi!;fv>A2fNxxOS&9syrCc!BES4nDdUIE^%b0}mevMN#+<`6mUMYF z*@=xW)F$BBnc=gU6V~>fRj9p)EuI=UBbam!RuurHJArid&{+o9NYc>{$m|&3%o{~I zErugUJLtp*EwvF#1Xe9hmoMU%BC^BH^q585x&-EZk_yedj?-GIP}_SJ(jjHV+ffU` z_V7j5ExNMYdpy+>^cw$tz&WoyW}h*4y|aJU&X|T#guwFv{=_Qr&X{u$=e`2qrpcK_ z#(gO2`5mC(5=6LDXhgo&&M`VP!pM8j>1O)T4>||+AbKSjqlrEPpz0FiiU*y2PM}(r zBOSa8e;jkPvcCCR*I6C4t|JSzu2VXOXfg1hP+74<%fHXzCHJ0w&{<YO1(PV_`4oS? zq{3ZX4F$#*4>|{Mo_;Cvy5Ubxd>vi<$Sc|4oN^SE3sK&m@Mk%`d0j#c1=^@}Al$aW zIix=kwh`ea{Mm(Xey0@Pfr*UT3EJ?zpuM}n*^_DeiS`Trbh-?~hiQpX2Z`3{tpcON zL(Zeiso_54uAqjG1GoU+{4U<N3bdgVtmFv9D)5kVSTRQenV!}7vj$&BA+qj$NYxdm ztmpCPZG6S0;HXtFGkgQ;dg~$QQKyoH{X`=Rzu=o!sg1^1?AEP=)~%|G=4{tjb6~y_ zuV@;0eekCoU#_YD!_FSZP`LdRZt8}S#ah>&^iV-CKfwJ5Ce3Eg41fjGj4K{?4(Uy{ zqDXrlz@JC)%_|I{iomEI=%~#PJ3TxG-h0?taw0POqj>OCP1}#}i<Iu*&^j#6*Meg; zZ6Ut%F_4(koHly>+1aZXRqwytsck}QJZA%(hp(dx)iL?c&c1H)Vlh;nTkz*DeDgZR z$6)S^I*0%{>hcWtxWdvfS&1X_Z)D|pfRFJl>_n9ZMv&LRQJ%L8&{dP*(WnW4omMy| z=129L3X@vEp_P^8X@w&@X@&RY^SGoyb<4-N9O3Yi2l{k)&<%h3;G0+II+hv+AGN%4 zN0&U!7#MSwole9F$giSi#L!-R%rMZA=v92pFj&)NJ=$q`Gx_Lfgk#QP9xofH#z*mI zE544xtk-xV=Ij@yI+B$2DgLBXR=yU<d*9)RpuRGT(@n?@9wN?}IgN2$f%0Ye<Hi@J zhoLc!0gfEbNaCD|KNFY}!8Q0`-f)L;)<$RNf#k$A=z}vTQ_rb%G3ozwg>mCX=g`5x z)aQZ8IOOBI9O<$=G<Lj<)E&fq>k8w|jZXY)KNxKy#UcE0EY`{j9a`a(d=9@Wh!eLy z_%jIKbMVd6yL<5ioqlw;<5;Bgd$<xf7fYaHgFRe+oVa~KuwCRJL|%ZV2HP8vAE0`I zC^BRo{w%^bl&2SZi`}pWQpfgM$MFS$d^MM9OyYe(<DN~<J_D%qHYhzW;m=3-78be? zo7kxN?_f0>b=Nxu#;#4y!Q7gI#OpA_sddLUuag(YwcrT)>(6^Q?~?Wo?yE&Iz&xP% zPQ;(n@x2P)e4RVSKVG%dk#{a>dvvG9?L}p8_vlVd{x9IJZjsWR1=`E`WAkP@`cflG zb6T++CAqnG&oEX#;w<B-y%kE&Gx+l%zJ-Mvj+K#78+H~LiAS8i3ur>+&2;kFo39(d zsrXLD*HuW9YFzuV`%&W@ngTV20kkPQk}UZ7Z}38gc%9#=%NZ!+=oT6EZh>*`W_9dY z3?2J(>rCV3&CW7DhQy%6xX?UL0K{h+k8gGkI8!YeRKXSa((EZKq^Vk<6^_UcQEy~H z=Nb1qK;9_Fbl8yT+)*oB#M9a6`l$27GHO!bO108l0x$z#ULP-i)OidqA#0#ngrlqH zA%M-CoxKvLvH5?~9(D|Auayndwc>WiY0hjxszWF**xu{l^>Zhv^QhcM0Hw2>S`ij_ zb-2vemeNrZsrJtvco)Zp;EjmWh{O#T4J$(4d~ICbw~mnaQUc>?sp{WhG>JsXW^JNl zV&263QTl>T5!d?eRYillUxKv?FA4Q(H&W}Eb*2gurW<lnJr#A|M~++$@Cm*H=ty(b zW6rCFkqcA<#P;@m=V_IWS$Tc)%k{5a(*``#!F_&v*Yxgviw2Zr+G~E}kH?%PVLD>a zV=VoP^R(i{Uc9>D)7*I5a2CD?VY@&6ZM8n@cup^au4uMQcgnY>t!2uN%GWxL?4osA z)N=G$f^ws&=WhpCg|CB8HjMipclMvm6An7hOZamL-=Z$sd+G=q!x1)LOYz@v66Eb7 z#<k~=Z*Tv(V=CAqDCQBw+;G%6M-9*7)akUv*s9DChjY_dQx@lGEjnXP9VT=V{q-fj zAyp<fjWV;aFk3j%(C%8NzqK?piLw~QSiAvJ_|oXh#{#t3@fIv--JBgX=hxh$ykt?^ zwYg}!b8aDK9uOZ0il1=yn?#+H<e~1+3fdjRTPr_0s~fFg?Rsf>7(!IOlFHA(pC$O} zooJG7Y(Iv?_V%NHHn0|M`Pnd*KH)sNis*Gj|117DtDIWz!heE*SpGmFZ}f4sI98AR zof7$*f;g1=M|_1uwu6I&|Bxe)#OYQ9e}=YDXXM{!q5k?^vcPa{aaQ!B={OCQ@afZR zfJOM?6axW?(wWnZTbw8I>E2f8J<s6JKk&ur-unf{t6Q8y`;vhyR8uITzXNo*3I@7_ z-sjO_6#m6Ip3hLu`-@s(<|BU-k;&NgR~a||#W`pqS=o$?ndkt|lK^RaiwX~;LEAfw zeHq3)+~UCcRDT?2N6_jQ8qoof*xr7&qa$QubOalq(7bN7#{R!JEBs{9HxCwR9*zT8 zh;Ns|#AYm;GCHv!P>~dh6lhD^k6rWumUC)&I~ume;;qgxyc}&q!P_tdeA@wrUhULQ z!FNEHIOv|jKIB3X4|ACTU-j5THoodHI=cnETRb{78B^Uc+CLDf&Wn12KTiK{_=gBj zWGnj;g_uz^yFE2_T(9xe7!)JdW^^l>k?(Nyb&o)eSiT?pu)y#?>8#}AS}k;*jrj8v zzIlc5G7O>-flDv~@?Xfi+~F9NhZVS$dA=KTp63+*&yjHKb#yB$)XLiR(>iB6rku%^ z<&1~^eAMH_pHcXB>5_%#1BX%*)$FDdZ0ZvFyHO&`BWLte&e6QbS!^1(WxjFSQ_dm1 z$m&*7K7&8o@x^f2EyLxFr<{XN=OG1kcj~&|0ft{gM?6}N(Py++Cr3mm(S9@ushT^D z7W+Pqrria`aZfu><%2>9Wlz8k*mnzo1vr($cXSu;M>w&+g#KKGKR2a5(zJFuulViq z$KFf&H}PkM>tpDhW4{HSi81lw)6Ri(Q{t<qogP0oxcwFpQnY{v!qNg(E|pX}97qtF zrFrk?IR=dKor3Dom2ZArV4NLyhL54f?u71dG$lR)_&2_Km+Z$_FR9!(2`MeI#?Nu* ziKD5&u!R_s)TsZDwReH9s<`%mXYX@z9y{-lKoVX#Kp;SfAtW&b4CjQ0h=>6J5fO7J zP(;L-f+A8*4vONlk%}9=Y7;6JDO$9m)Ou|W4@-O1Mk-dR+Jq|>t&eEIT72~TueD~A zb5gwbe&6pqzu%fQk2N!EX4b4(Gkeb7W8q0^@T=Z{U|R4`)E;tfgu{)BNuxsEYOuZN zDSv5R;hWG7bKx9xQR_n1lvM~UNAW*@%0GD|)fw}$49BDaVQE0f^O?&m8DEo%s?dPI zTVA{G)Bd~JYS@LiGY#0&VE_7Qe?=8BdJ+l0r<Q#K&yee|k%J9Q8jGq4bW4lu(?pEy zqF?%}c;+oehJ6s@qHExJsL`($u-Q{rMoOTij7zF~<}Hj9d1d}#6nP@0*ZczsqBWx4 zZIlB8LVCmSR+HlBG`FzgFj8x2t|5_l3VW(sQVnH9EEY7-Qfy~Zj)$<}uhoU`I_eZ2 zWR=vj?2YkdlVnNRB)qz&s9)s5*SI^~05=u9+;*C58-#1c{0Ni0!>r@}(#3Sjsv35m zDHLVvLJcXD*|uAr@juGLGxZ04b(kj8OnAnuvM=4^FEKITx9#y)k~sfnkAFxX;xOix zftR9rg4?I}_=j?0D2Wq8A`UTDlIK3_zfL4z6^4qnIy~>KvVZ-oznH4{;936|9?OE& z5F2b3iiX2;<a!*rT2y27Lg|HRJZjMy)ud3P7m3!CrLlQAt!rU(8>vuZ$Wd0I{)f#k z-oX?h9co-ybI!XE`U!AGblr)=$MX7nup*Sv!fKeyhn|lzL;gJ`Y1-J-T2joRUaXNj z`!fnxLR;Ih=lrD+PV|eq?!(9!BC0$sK1W~#heD;idK(uq2?}Lx@8Yy@C2RZWjAO(x z`m4Phf_2e$Q}7m-;Eis<tCI*vjEk0dBw~(N@MNFh3cuh&OK?uI;G`6dQw4A7Be<4? zEpP#^B(bTDEWguPGl5<1`|0be)naq6dzxpyFWVZQQeaivpYHW<8BH4cmK&g<?}qav zASErMgEcg!Xys&hH&6l1l{dh<@bM0>z2{f{i+P-VYp}fI(77lRo?CA8s}(%Xp)#&A zG-fSj42`Kdft)42PB^2<nGfgP#Nddgp|o<|A?QOvr(A+3k?qtunoTI9k_VwVa*PJN zxzHR;{XJ&8N%OjMbS>8?^&2ADQJF%9pmv^Jv}m2tNhp#+u`#E3-iJ{LI@1_kbICER z1f)zlM~gU&sNPLtNdkn!(WnTCA<`8aB8-)hP#G2rN7T*vS_iOj1oBuo5LrLlV4ekU zbO~PV7Q7@$@Enie$zH(~KEZ{4U~aS@XB3-$?cc;3t?ada^&w1`qW<vg28^I1jNvc% z3nJ82F;m3Wb^WdXjWPHooDpO}bZnq$)dXw8P=SFT3MzC7&T$JqrSb732_NwYKIj$9 zS~WI+`!Qe^J*Xy`E8WGO6}~cSNXj7l&<p-5Ug_O8VIxImUn)EY09Cw1gxxhM?}4e| z<jf-HCOGdV1|cH$#Q*f4GnZNu_3-#dJryhfQTHAefT)KBpwq*gbjpwi1hvWvq!%KQ zgC>@PPE!2#q5t&HE2MR7$U47zkks2Kc!B^AOLYU&?p_4a$uIhc716v|fz+baaP9{9 zQpf~vV%xR3eD|eTww4|`?zQiG(LaQ(xV=OjgY*3#`c+L@$8j{&^FEw&$hnN12%HgJ z^I+b6yNAMmCMW5yaK^xql!sj_;jesvVh@q?#hIjwl186E(gHXocarlfIFzdbhdiE> zls51KM9&~+9ULj~3Ey+@S01C-Ovq5l1UN{tSNz7mhG+T-aNL-IKKTru{p<Z|ibWba zI*x@ZIzZ$+wd!d$gk?swEN3M?IG!Y2!IYs~oneWaGPH2W7~Du1T2tdQ7=tr8R_DOd z2j#u0%|FHje!R{9=R($B5z=39wgG%;86Tq!W64=W&ZdvO_Tw@CKsH7X5$S7i-T}DN z+CWfz&Q|+a%s=#U8vT?e94q4>u__Oqj{x5Qf@1q?J3pHzw~@?T$J}D)_kBP32|A4? z6EqI3KAo;5F4Z4~at2l*`+NJa;E+KP4OG*{B$`#t*1zm0j7(PD(ac8LpoH?C{NATv z{4O{nNH-Z-cL+LS3Klaav(=qN;if>+<Rtc(Rn_B9f?*hKs>`c3&b;+1ml|LWatCql zu*S~X?|+Q#^u1B^0&NOnQTw<1{ry)^(@!As2Ns%s3ZAr^{c0d!7Hn~tN_}{-4&_%< z16y->h(dj33CxtiOy-V=4U{D?vzoL^z?I{oz6j)Q;l7CVp}wd)p!>oY%6(zvabKW3 zYJ^O*K<+jQ1hlE<F65TCdTS}R6UB0>kAq=XlAD6966|!Ja?^4U$mP^l(FP4WiKJmW zEBRJWA*VHb=H(u2xX!o5$LZ#@=`(tx-RQyE&%O4LgZ@JUsdKszcbK%oKjHD*LfbH^ zqrMuO(Bzl=g_T59j`;6^s44_c9Uu(wF<~>SkGj$-)9v=mLo_PbfeMzs<R8IP>^{V8 zAl>*dJVQ5Pd@NdfVq)dRWHHl9%n)7H#$}2U3$i~Zx-R5C=;|W#)11s56H4ON>Qr4w zNNAC<FFHm_Y2#9K@gb_y9`RfMEM8!mz!RUP+zwAOz_iprd&_VAgCota80u$$t%#NL z_hb&gh`2{74t+xD@!|M9dBbQ=+W+77q|~R`xBAsl>iGWfOa!D@Eq#dJ(mxuiei6AD z!LkCNwteiDwLNN|f5<<Uk1K9L20pI18=eOM?zDoFJge+S4*B!>#BC}{&nxh#tW}vR zt2{$x9Zs&J!=7b`H|X#j#xA!Ck1KY+WvCa98mb*d<rVr>FJqBP>9RU}?VdJwgR7p- zy@~6L+x!aWLO4T*=ekXP^$1`wFC@@mBxzw7o}-6jjAX;$jGVb6?IAG8+n!i5QyShz zj6?nJu#!{85Vk8ooxbBP+AqXhwS+=)!qHM0JmpolC$Y)oXUhp&30g8+j(8YN_Oi+3 zn&YKXI=C!k=8|1Gezv3hEG~vHsyXX`XhhEJQMK^IBx5~`O$)m*y=Slvrc#;29*|Ik zTsi3^mxix41KOd}KiTYNLYJj$mBK>i!E7nTwCWe#Scp#a^vRlvQ}~$Y<uB0CYx`u; zEsIW1-f0SDHhq2CYyb53{)c(R4c?Ap?`d#;0oXl2W}@C&Ijxi4bhwuGbVy6|WO8j} zWfPN0<g{GpbIoDR8?*Eb%bsPHxLZ6=*}wTOe}C4sZ#zu9f4lv+|MKU}rxnY6hvqB| zo@P&xS<)|S0LkHfN$S2;eerm)w=(PH{zePp0~v0WF*_e8!g*@<KMb|_OGD)%E6uF# zu)XkQ|A74V(}o)Om7(V8^zN{IKhpVBVK36I&VYO#gy)*O{c1hnfR6>#7|+rW)o2`t z4D-W=Qu~vaF=uGW#_~mrb<E4Cb3mN&iw@#VP%dwRqT_bb79~2akoQ8-aXGvfijGU- zy-;-ADUFZwo+vu*2ycm^;|}tcC^~KrZ;7JgWXT)9-EZIaia$s8ZnF8(Oaw+U6X0Gm z7{^6xkhy3LRxlT>!9wPuHJHP-w+55A_SWDjjgK=It-<5W1=6#q6|F%Y<<9e}BQ#H( zjvB{HOLTlq*VkCJ^S;rmHmoC(T}{=z9n%%_VL~n0%*J`#aZWet1=UrvjWW0OhM54< z3U*-oX5Mm)cY2$qaQpJV+kHSWzGm3BsBbnLHs#x4%G*!9stx`?sF8?4b%>}=!I{N7 zXmnwaPDswHB|9V#lEEI=$h?}|l+c9u$Z$=3$dD-_>zUI7j;QS6$xs%Mei9np4N;*n z#wU%CnoKC{)sQ+YgsIBj@CW}F188Qfxd$_21Dwr(-FPTR)Le#rf4g2Q4<KnA*2=2a z;JM{TezgTqsihaI7ONO$x`}6USafWw=V%b8q}YMc%8JMiggUlS1wH6Cnsq22%O-UZ z9%E2Pxpq>w&F^%x%@S}ik~9>|T#CY!vb5Qu6-%r1nr0;6I>^mxGF4gmUEm#k@Pc7K z@S6Wx?gL*l`XCEV0MM-a05xJ67<$-0i0y^xNScUyJyn;%Q+cmnoe!v$J_z;Z#)osb zD`LH?>1j-7b~QZ$ix%vp{^>*-+8ye{NLV(^qtr1V<kkqwZQO$nL5>L<HlkwvYU%I> zxoNJ!IFCCEiKU4}?0<i*%O@6bQyCe7ZIfMO@`iG^@X}+*@t3Yms)<US+*D^!q6Kq! zB?<L0RZXx4txQ69`Q7$~fAn9&-L)5S!}q~C3^*e)RFwV3AMqrK7G$;Auf9q{ccsE} z`F(gg1K5e~LSIDB<pzhV8O17i4s=Q=ER#4^zLSI?bgoR>UVIV|qLTn9K{@dci7pJM zvKk6iNY@Oj?uro2$S1E)@~M)a!Z|Zp5nahjGFI_9sh3#Ac2-NViY=^`Vig-%9mOhE zvpR}ZEMavNtC+(|F;+2|&xv9ctd_!6%s;rI;fs|EsuW!nsyLO*170Z$l}@dYEERgO zmV#pCd(v1}32jIQC8lW;iVsyhWoFSzfM%1X(#=ljl8B1-;yytM++TUpH3OdP??snP zgA>;!V4wS<T)L!OcS*VKl5*W8<+@ACb(fUuE-61HT~jWadMw%pt0hbrl3m5ytWZT~ z>Yjcaajx{73^JHc>^TlO%`RjsAawTrTQY=;t9CEAr+GOfOFg#Z2S5<im%M(TI@k!` zGN0Y_hW~9A*#%o5vP<E_Yq?I6LwoI?`~z5IA42k-7DV=Ocq(kanhRK^MRpjo8W_&V z7|J3W9V#J7!{&;3l9?MVT+Qqo!??jtq-2xvZCXy`(L%}<QO3|D7fF1$D9Bs=@IW44 zRKcrj63+vibJ5s`@?_<ev{1(NSr*210vsOKPS+i@@N|^1AyCNU8ZE34JD{*o*8jpB zS^o=@NYo)Rg{Q<2C_FBPK;ddJ1Z3mZS|l6hp~o|bYh&mUi*TnjPpc8#1JWe@%s{t% z=th(1!}53@I$cU()H=L+G6m0?k10A`lXIEEbPt+QHwnX{8X7MG!YJEl_H~os`B92J z|1JMxZ0@P87;Xzr0I=I9T3U0dt1*W9O3Y&SVb3xsb-p^&C|763Q{E|X=2Bk07=(Fm zHvg#BZnq%md$?FvbuT>gAB1fOXwr+pG-;fSa@#iAEf@#@wUv<>13oICmt)hm2`V%N zA9o3sU4%Ts4!L=#oA~&xiH=_*urb`*O|}O6)UvfQQ)Fb2=*p3dT1Sgoba9$7Kn_Sf zLXycVhLIu%q#iyXjZWWg(t&4m`W8MQjZWXl2c*&ItNDO5I(-QrkVc}@=kN(BFrScu zAXzfj5>v(`7ThL2n2pL=1q?Xm_gv-)?I)QwhRL~3ilp^no^a4eW~7lKhqg0>r`QbP zDK=xHJHn^3GlZ$w3}GrZW3rsu&d{f}Gb-rRR>fxU^rP-40n<amE37e-<6u2gk`_~U z4y!4{G}XHGi!i2;t7+*zb<x<xgVbK!CmHXt*S+mu!8+vx(uaQzCt(?6LGiq!bxP5H z;Hi)sf>Hs`RS)^qTEGGklmN^ZtcGE0tsrKkHQuHP`&oKA%1C&yfhFk)Wr*}xJ6T#R zEj^Z&9;=qOo95bv2%6O?ry0^Z<fNvC{YME=?Ht-7GgBVFMN?`HXZZB9y?~FO?FD@N zY!BJ#*<J^1wP#EfkUc9(;bS$~4F`NXiA7{U<N{?R?cuWZIT4yc^@?q%nGwzcUST32 z2TGbXhwCF*ln=Jsy!qFm_b?=X&a~IR>%XTz*{>-NV-$MB83Jh6)0L{ShyTStj1~KA zr0mCYld3S0{RGM#ut6(@QQQqumoaJ^^)v!BXGd{=W1B-A9WCMhj+RJ&M@yu?qa{3B z+xS*kpqS;mbtKQ$){!_YH@4dCfAMGY_Q{a#laVR{FMGJwkurJ9WP*xK)0)eZA<#=E zD4wlCmP4g78A7Ep8A7EpK|`f77eb{n7eb{nKY@9Ef-adSO{lcCJsYQX#oS`Fi@Mbq z#cL88%ZH_9HH)&H;WtLg@E7y&xABz_!zGG5Fp?)0xToPq%Xr+2W%!FX$`joZra`YX zT#A}N%j56VJDFvpDLzt@w8;dOk)iCwr+Kii7K8Oo#TY+`!IL@m*iQd1_~_vTqK1DC zhfH`!YwLO6giU*1Ul%s{xym^(>eu2|zeIf1aCoW!a{(khn2{lK8dViEmFW&5+AW73 z%?o<_RM?f-6zN0QH(xC?hq_Og_CMb9r&f|It^)D!^>DTWn$twWLZWqAxKTlNI}TI% z6k}H(_vc?uc@H>wUxlZ^GsrAXnG5^*-x%*g@)^dzL4X)1PLo=@IW5i=PA|^0e{tO3 ze<oSvL8SkYT6_^aYXG+cGJF>8vO1WpFs)Kh8Yb`80w(Xc+BhkAFH~YmS`)IM<0s|Y z{onVG<H_|hqQ=m^=q-4n+we>PfW09V8<GRHRv?rcNa1pg<SM>=Wb~H@(kXn#jZ-#W z6yz~)ROU!P4*R2hWFDl-8MoO;N8Mp_=aqz8%~O2j9bDpOQS8OHd{6*|qJ0A1$zHOn z^np>Zk$PSq=>@}<+bSB-42H2Ud;kb-JJ#2yjt_xnML)apul@%^)OVA9ioQ!mBWJ>M z!J}C70aImsV<jx0F_G)osGYnD>KzNsZaedYzZX9gltmHd8#Oi7pHXPgyMy|}e7hJ9 zn{S~KHs4~!Y?p_MPm>uJDwdOzP_dkxgo@?lBvgEy&9+eS5jNXG#Ru7J3l(qSN7<ob zo`bPb7c!F}&8y5Qu*@sUNa+-rZ!+FZJnEs5N$J#Iu~DX)G-W2*jDCp>us=EBU(d?- zZA1-!AI>R&GwY}X`}PmC@*T1rr?#2sy3z1>e&$!h0Gp)i^hQvsjFxSqx(wL=GzYO^ zB3T?GvtKqrQF+p=H(t?7mK>u>B&V7+D2A5$pCt#TQY@WC2eBk8#+V!z?W2vcwX{Jt z%GQ$o6xDT{>y$GbB%vHW4>HCaqp?E%gvcD1RI-I}YoXX-Wip@+2h|ZGiVoyO!O%vJ zeuk4SYrsg^y5}&Hv2@n+Mz!d9qgwR5Q7wAjs1`kMREwTBszuKOvz|wM3at}H_3;$e z<-tfTO~Tf4dFV4nRJClgqZK^#Mj1Z<i`LX!AMn9G%Hk0y%XB^AdKD2Y1p08m(7kjP zQ>xW<gw3Xa%iXx@`W%d}y5-gZKl7)Pxa>wb7twZX!XW$CfAb$<(@E`s+*okpw_{N% z+J5pQfBr~Ph*e0gnha+K;7WjA+k>o^=OO}yzBkDJ`$zuKtckWF>O%aVscJhse}5d8 z9CzZ1gh*NomUPH*a-$%Yt!QdZ`C!bvNpSASIM1b`P(`>GVYsT&R#3uS<m@5mT{urB z1}`xArm2tD{|JVcPXEIG?JmKEZnDFS^vt9RKBEgI*HYCm;&?)7<UCs7$j($oV3kyq z*rh0!ha_EA>GVQgG>!Be*<Gf~gE%9S&X=c*%$mOpahC7q2kCGL1<=K;m?;;tQsweg z$TKBW=u>m}fGFUeaw7sc8A0?x*jL+5GsRq609yeno0$<ljr3TyJ8ML-iGEefmL~&Y z2*#mCuYUr3e<`$geB$3akTm8qNZgForszN6`8_}`zIKpqxbjo~c|2knKga!hIwa~3 zPvsMSbpzlr8L>7Vv1kR47{ryeK}F4^p+2>!<$4z`j8ySPxpe^VH?ZHKiJEvxq;rJK zJ(-wB{4EijsSOb$E8&_*2v=L!*czjatT8hALSwX%HAWj*W3-VqX0jMrV~%JX^B?!K z6q&)af?<%I^T=6B&RuYx)IldKVuU~Z48b2h<yKYMMwTI?ED17X$GY%OR$dxKuju<P ziA_VZ=|nL4KU{$M|K76WJ~1E1MANpXu{4&kEThXQ)GA83t@3Y0Six9a#%vap#L^lX zBWsXZQ#@Q#M5`YpifFaSbF?~VKnKP&st>@%tltRA>jJ*C%Bo8s5*6cT&s_jKuW7>) zAhqq$l|YcVFCYz1^nvFC^yddN;dvNL+*<<AFNfR7pZlMxAYm+h5_dYu^f?cn>3}N$ z@^q@5XPbUbJR8x-`sHx@v(Now&ZDeb5yjUpTj6;Hkd{_3LbpQlHp_f9_fd-^KnZsE z@BWD_<+;Cr#pXioh44(@joJb8Ebah3u>^%>OD4q{q9XL&8m$gG^+qWwyRS2`JP?vE zERWxXkw{4N2c|z&rwcRuqD}l2qD}A`8A>($TATQf^HXfYe}q++;XkNvXdaY<WZ5bj z$u+l*bd*iN<h?>O-yR1Gv{MYZHeSqEHAC(suAtM)wi(Ve$n5C!JT2%$?g`#A(j9z> z<efyPr{jb<d-mMf=rD}S<;C`AC;fMFr*<Lg$M|Dv)i?00-HVHnfXm#t%8Zt@;@Jn; z5aZVh;!t2hHEmo&)r_KoVpS5-XsnP_GKxvasIG3?4}CMfx*aGst}4QM2lg2m51r+# zcVc>S_T_cGbtvndfTZC>gw8Yq0Xb)xwv!Z0bXtWRw@fRP<CbYTa@;a4Nse2loznO? zAG<`St(H@lY2k=(qmOUul?T&a8U?-bJ~`<naH`-unHZcbSN5!sE9~NvV=(ufjH6Ms zeErXiNB-Y(zR}@4c_W{RM=xOgfv%&$3RTohILFZo6GSge$YIHhP7uveUDM=Hw2ps} zpUSt67uC@^o=H$h%pox@;6jWG^kRwHP)&3y*A|=3$T+u=B4cvcY)s?G*7F#JBogK& zkp#vZBh-4vNaTZ+Gl@C}PpD9ZOsG&rA<H|S0l3K$GbYv2QjEheUW$D@J7N~geP|q; zWso0|`#`zupv#Z#rbQSNv|t=2lIOUeS&>8bNK9<FIF_h=4!i#|M>%pqr6NbHl8PL; z^^#djtcCoVwbeXMFq5fTSn0HvI>TZ_^Vo5s>&q>fag1rc40*hBrW=p+Vj8)a&?<IK zr<?$X<?=#E&V;Z)OKFS}ON(nB9c+c<q0zthxYNEQ-M&*AA7>R7syM<bEL3rjuO9(( z&tjzV<3`HJ;*p9v-SHvsC8yOK#71|E8Ij(YVwU^V$_a4pUkB&KU%|-<Py-CPoS<8! z+o)Tt+aHi__+Ojh4AYz;BtfAp8YY-74r6-?H7`$AVAsljFfh*LLF-v73tOvevPlfa zs+lGrG9At3{x$?f<q4%BDB4@n1VJw#d*sYykn#Heqn-cP;o5`YqFXT)+gZ_vDz?Z| zwu+5>#XnTBTAp3XgSBYBa4#sDC!sv)gitzn0(M>0CHg!vmLUS<+%L(NL_x7$9EyYl z$FevW&0!Ri(^aP&U8<mHCF_T1rRaxfrRaxfrBoKJl;%e(MOvekBCXL%k=AIXNGmW& zD<0NV&S66g_L4{~AFSYV15M(nr6=(*Y8RA*2yYMlB63r6VU<s9UqQB)A$JG@a*I45 zs<2hAA_Qt`j)JhnH`b@_sf@raSq$eWRS*~hHJc7xrDbaUt4Mn4hLi!p+9$9kPnkRK zS)lpr*8c{`Fby-wJOrQL^qZ;XYw)R=?m6zG@L-952uoRJ7ChHtCHrSPJm0_*DugFo zhL~&NNshqxJK9oyJ@&a9zVTn+VvC^s1;6@f7A%4gJgL9&tA&7fWit`Ntqa=!g=(s* z!TeNm=D~To4ga+@#_OF#4lj(&^5jB4D$yJDzPv6*_0yDOUeLqC<RQhxo$^d#qO6Ot ziL#={Cd!H)n<y)KY~pdbX+H6Y+%%uKM4nkpoatN53wmcwFfDBySSumtQgWK$Jee4j z9Yesy8_$4;7=uK(WaAli$;LA_F_08W;`Kh(H?CRw7Hw3T)tVFEtf+@K5uE|HVLFR> zdlVkVXA_7dt0gv3wnwpv`hm<u-X1|CO_cpnY@+OsViWZPnTh&=%tYBA#U|dHhKJpd z8<IB+2_6kmNZ)yBt9*OBV+sT}Q$jSDWC~{SYOCyjo+dD+F@Z5H#~jTCPSX?%9g4t2 zrU*<FYa%eQwhqG`n^4_s*&mzMAU>08<KZ^OtUQfuCBte^Ivo{-+<XexEEn}_Kj(}0 zwS{s~zcxoM=+`F61^wDn8XuR7`n9X&qJAx3q6)~vkydSrPkhRML>8UMgw?}&>P=zJ zqrvsBp!(KgE3LF_G=#TuMqM?~thMVV0zKA#csh_e`t}?kNdJ2f;2);La}+}IpH1-G zgU)-0Ha`)R6QH^B6+C%AeYRY!Ht`pM>7ILhORalSmZmjlRA-ggsc!4fJa-nf;oqFt zq7*HGXKW1D<ypPP^s^d`WJl5}8;p=_Rxl-~^P9?e2&9Q^8+piLUTKz4w8c{x5*G#i z(lfb3-fdJ!$Xm$SLtfdIguJK3n)1rFB;-9VYr2<}U(8=~dV;eJiOMzv<&q|B;zt%y zJhDjMYQK_XUCC{2LGyaicI*jwrtQP+6hIlbS8u>NrG;TZvaON^#>8w1iP_RAe@5)o z40n2+ZH_RE?GB&A`D#813WJkiMJ4e@2?epimBhNbT{^5YiT6hk6tV?FNxVM_C7tLp zOG-*-flCbNEg}0;k97sNq>Z9z)P4ug?EUl?6zag3@Ewx@3h9urOg#<~Lk|>>i8L+b zeNcK|CQC>+rn~pKF(F^gh*~tJKmYBbjgOexc+;ml+gw7OeZp%^XBKyWtBJRvv-iOB z+yBDN(3kPxL2uLO+7wj4#HU;vG_ECl^KMsd!3MXw`4N}gg_wAaiw{_FK*nc0$5=sy z?`MQ<O)c+PvN+Lrmvyu2TQgEi8q4*T>v@fr@P-Q!t9i#o9^P`1hcz>KST(~Vdlq;K z`CJE{(f&Dnuru*d*VMG-6QL~bAm^9lybb5c#Ng!qyzvT+oawqwHeUNTN;5)f;MBg@ zZ{=J`jAPm6<DI_><9-+Oee>(WH?Z&xkMK<%<{O@k%r|+MZ+N!wngS1<OWFJV)^OHx zol;3GdcA)#G#uRz3G~64I6CNnYn#T~P3_skY7QxTSkJ+8kQE#}M_9wbvyoLCJkv;6 z@fQU`_-6qLQFuTs=XehJ_V08>rqQ6fo)i1ur7tLl{55UF2@$!TcJa&yp3GApo@tcO zY1J509HL)pqF=h^2+=QvsC7_HtwVJ4<3a>1MDU<~6om^cgaU$Ehe=2fcEp?}sFiQz zsDPl>AyIc0Ju`3}bk$O~xqjxte=2|nnzgj85B=bII_AIm9Ua}<tfg@4HkQtbQ_RR| z8fDmwMD5CU9XDBs|Hfpo9Y<UgAG>spn~Rxc9(QxZHA|A1?k%Qs`P@r9L;%k;7MCMj z{>|C$eVi}b&0Iy>C3=)wxEkfI&13SHIo=hJcwms*Mv9fg;?b(P8|ZqTm^HG6*%6RE z3Wu|~sjdqA#fHK$9S*vdxG5aSk@O2)!n7;ZoW^~#OqkxkP{Of0mUxN2Ge;VAwK?VV z)l)IR9hmO0qq*UWw)nY@bf%ejgE{5$3p7bMok>Dh984w>{L_cqezQ5{1&0LoH`hGt zR4PB>$y}XAh425l3*B~qs)e^g@3eDMtzi+4-a*l@nZM!gG4?#qo%K%+1%5rpBn9sJ zt!o<F(6t)~8P(4d;>%-@-Dl88Bt7sjmEM)R_PF+O^d1*0^{5<{y7sxA=jeSAiPt9( zu4i@pvl1OXheguWrlZ?j!Krog>X$WA)uB;435A2lI8;*sm5V_bzsGEV<q|b3T!drh z9>xK43Ga;pLu#q!*1;m|iwD0}k#hy<S=Wbpw&}^6_dK00-TbI4n0DuMD7T-J^A<VY zi=gHbgL1qS8h++@X@8q3Ps7ql%eAIi*{tQlnXKiaCq=U6ik5S=Ywg^wwHzX}c7{i^ zGd!Z5;SufJ?r7(B7g?8fcDmMbF{vcB=K8TSATl&vv7Ke5wqI+x{VuKL_G5%}iq>-b z9WA%t(Q^A8Ew^8^TsWDvT&L`f!+l$G4vLohnWN<%6D@c1F9e6YHC@CBb^Oh{v~Jp^ zwHzW?HHADil@~iiPiUei90m4-5XIaz>&_58sfnI+h@Nys4z43p(zRE}jnoZPXEf!- zqsX<ri2|K{b5lx6%dh~KPnt3gXzKD6lYmy<cmG8|nXXLy&1)`vd9FNHf7g}p1zZ7F zp=%j@uU_QBLI%$g{5|7#*IM}QcD?30;<^PstdbG;aQEHt;u*w7H~#iOwn`AI;_760 zdQHO7$dmB2!t-%Icp9PmKP!Ugdlw>UJv>o(#*z{H6L_xJ0MB_4xx2T+GZA8U6YgYX zHoXSl<QL)DhF-1sy}p<c$ne$qeQMl|NZ4QZTy3T`!o~kneESddcpA<(fG&Lvu(Kae zfG{EZ-fXMSEPC3Q+pbCJg<0)*%M6}=WiQ4vM4akmmu2van8t&qXfm9|fRwbZI!p;Q z6HW#>1>}^H6P#(E&bH)lW?MnJAFq(F+73_NA7OC<p0{W`a8H~NSwVy{1?jT|G0;L{ zCwEGkK4OSvKViOrdf0f2Wv^!I7%G{|lrss=fO8U^qvI&0bw~y|r_e>}3SzoCF%n}M ziRGvbNNw+HtJ2vS$d*8#0O5p?TOueH(fb8C0|`jIF=<gq3~9%n&e_Qsb1F>1g<|pN z=+nF$eLR#S=OdvUeVUh}PxEs0X<iN;51}h__;e@&k3JsC(Z@qM`gka33GYEeIdk}a zLnvo5UuzBJRPcFbD5o$>3d-TL%TUfKjSG8AycolMYOcA&*?P2Q$Ze?%Htbu|tCJ#7 z%D62@89Fn0bes`5!p~i!sWN0a2l-4kmct7LbPQLK{j?xCzL7`6otfNE7(3SgLK*AD zkvN>9NL+lOe6ft34HFn^(uOrno0_+Jo_uomIS|07pMIta=-FrYhJY|_em&c#9$pF0 zTkyQn0M9>W+wb<V4)b3ThrABCrH8qr;3)@~R?|cF?{cw<(%h*>Owm<vJ|a)r*tt+< zv_41mg*P9+SE)<CWr*ID)WuIa>lV@5Cpw|}`6Wxd=)yRrH9eeNO>wRI6egcTp``6h z+3KmK#86Vr+gWo^*Y1408?mezYhK+Q9UJUuo^^ht3kzHJ&2E)@1X>KN$A=9oNm;d? z4(AVq0lXVA??9?bnw_HBkmpmtbjn9>cswcLS+}^=0$moR$A{zd7#_S+@i1N^m~Ul9 z+HM5{x4G30r?6Ei9F8Dvw=Rs*yTi~Fi*ZwNHqNoiGgW;4yy9e)zj%VmFR#JN(JEE1 zuFQ_~_SClI2KfhM`5QR?GU)gVo*jT+y%E8?l;r#?fEf)Vyfvx13#eszLoQuEqrc<S zEut7XYiX5984%POzelWN-4T$<8;}%3^h2v_CfYopU^nW7+zh$Yr#2Q9KcjY<_T0YK zG~Nbg|H-d@PRs@1*#vk1pn0RsG+2PrAx?HPZ@ZbddgiTeGYhm<7zuh&w&wNBo1<8S zAfR=ZduAFl*NpnWoO_-<s-Goq)96Cfe)?0>H}JH*=~u4-#``Qa8tW$R+vB`FVDZ%% zJQiug6|!djUy@<I+dNON)<_`UTBTcbAL&k%xK{TTp4`ncsfFH%2$NcgCU(14u)0h~ z>n3PqsYvT(JtjEyWqskxOfgke^&zwc?TuZATRjWr?!#a#aNq4V-}GdfzE@oK+Wyu; z{x5C;rUr}oDxYfpFSi>1vKu$~WXi;c<-fN>&-&lnX3!6&!F?E>&jA@n@!AO=zfY)% z#|AHoA?BjeCx)PlqFRhJa<dvUr2ATQzHOAxFpqF28g5hd&OMD9^upgYZ$4hpJt(v3 z=F9Cz2Uz1TByCiO+K1z&zG?up>qTG6a~N=2Bg_K#^PXFL`JRNk|93fg8|&?n1Fe7@ zvmlb6-@gLSt$)VtP5=ajSPRR*bPCrP5<ZVlt~qu&)&)5>i<;x<g>rRA`8tk^mxoT5 zoY8x5Vg#Yb!4GeXTx&_{z$J+rx+$5K5G^HPc`_a~`NmevQ?p}%Pkm#)23O=?Bz`vs zP(E>2FTE&%u0noPQcvP>4_cu6Fl^Rd;Zv_&lG(I;A>moi<D&aIce8J!%X5)Et-xBy zrd00R=+!}RssPQpS7TBqcY^&&fz^lqfIHhEMJN8fKzHIMM1C&?Lb3&(+IJ8DR7oes z3Rwe$3;8idXb5*=Y?QnLLH^`oc=>F)t&A22BXc?J@uJD^npa{bl9_K5@;e}+^7f0+ za9K;_4Md9reYU%)n~g&Le<5Bv#QUb<+(*$NY|}>v%c~%U)jWeT^-Z|w;7sg!S#$?K zWw~KI&ji=1ymCGerq?GR{oQDIhSb~t2v{3gT)L3<V>js)c(RV+b}ZlmQ*I`7iWLNL z1V7=-ZGxDQSQ?|Swv+S&B$*tb$8g46EJHC^gSelLm6DMx_#q;M#ph6N5xc`JCWg>J zgs7O1E?Vm2jNSQ!B9-S|D7BDF38m(UJ(ilp^DvZpN@INzo2u=xNa`suz+l;c!x(rX zMn(RdsUkBb?Agw{Qs*h0HgJSPhtb5w3u|e@TAF4pO|zCptkILfG|gKYx4cy}Za`2> zuCv9oiKXqQ1gkY9B=yqa!oYVlfcfcQ!jN=W<bUt6BXV|~dQhH6r|yyG(W%?zd35R) z-GLify@XQbNqi_(_VA(9Ir4lnRUQC_q@!EC+|jKO(KrD?ooDUL<AYfSQn-6U+EmwF zpgTk(=?UF+PDe`7ts0?T5~x&G-Jw+643V(5-&1q6oM`(!Rom~5yrgRTJyqN9srqSr zYQ+!|9QwBy$<JBkbxtXz(ce&jG<Ol*@-ysBE+>9k;zmjjtlm)Rxs!UZlIZl&WK3dP zWMoAIbYE&oAi?H##}!P|@e)LawdEm9cWP<ZLm?rDha>WyLoY5RnUl?aP!rCE)_QLV zuCd*W&G6Faemm3}Yp|W&@ZZqEYvIs#*3rQ|n~ViL{zcG_I(hg-&`9H#Xgqq>h5U8U z_N5E7o$%cMSHF4=;AhQ+nbnEc3}JN&XI3|-!ZgZaW!;+ENGgm}654La<`pN}6r%gA zNQ+{B!bl=Ty=g5Ml75k{Hl$ahf()%SL`y|F1&8G#Y&cycEu1cr7ETvQ3#ZHM52uS} z3a208c@|EWt83x($vn@Tk=A1+VyrDMXUH_8GL8{y42^CYi+VUs*Po{APt*0MiKK_q zMACt!{<J;3(L_GpXm*Nr>eP}gy`Wp{v|qYGx+WYEwHMZEFRayGnAIM!rQ0p#hGcri zMC*kFb;`8X`^&IYt;a#PS@%Fl_lNXOj0S?nUz9{xBhe0>GW9!Cr9V1Tr9V3L%<oK< z{^-;*zf;frPCfHG^~}frgIVu&rpmpJ&Q#gBcc#k5y)%+3JNM4i)x2{D!4Q@)c}a*K z9cC3`D57)Lj?~jqOOqfig<<TOX^1oQ*k<Ul&A`$^caFjtx|1`saAj!W%Fx1<v4@2# zoFR<~XB;dcL#|ct^JP$4xRRKwaEw&Ode|8a;YYVd&!#Z-^d+cXI^G!u8BIN?dWf9? z_Z?wj4dM0Gblsu_(^zYkkoEd<oU=WQzsp{2Us!DYli%t8%n2x#7vYd%aZKi(WjcyQ z|4sIUlLuDbZKJFJzss%P2m01`Av{$8d6!!=tJ03;IB<Jqlr?e`U94S!RGhryeQxkH z1H=|=W72@xNWBxFIbau-Sm$I@mP4T0Oj)S(*FNyu%Sx;w{+fsTL)c?3q@==A@i+V_ z%A))R{!~<I?=G?K=R1P|c>{tW^Ff$uHGi1&<_e#ZbvY`3K#clp23(^LF%19G3*di= z9DY$^Q`tBepN4yU2&jGK!$e4T{iB}KeC6MLl}VSm>-kD|yIkq^yXks{{kwCl$OY7r z7r^4@)RKend;<{cuw9lM7dJj6QrskQ<~C|jNKniq>&L#g)SAdIQJeaaexvV9cpe1w zP7AKodsJy=%(a>F>j~o2BV|fG+}EIxH<HA-=g%2!Rq)F5I?Cktm%RgzdD4_s<ioSB zBJPjz$QLhwsLF)ruU&q18ZcJdzmA~G3SnS9Bs*AEh_I|4VayX+FYs`kP(+lGAt;)} z(<dsb=}hD)G1BFAglA&sB++gxl*hL(JLOJ5Kz3fyJ|DKFK&R<j$MR0-km&fR>_nrY zl_SI?y6()wewkXL{=z<HhghcGO=&EBHc7Q?PolCzFij9?XjacwimoED6kT5^g^LbF zq$W)olUQxYI;_c}s8<tB*(ocPUN;@eGY5#o8c|XggOU+9LQ}SiVsA~2aIC|rqax!; zJ0((YZFHdlDKsD&O&1!L>S01~&q(!TJ)(N2^Lvc!`;oFn9I0OpX9Q<*<Y2N4xomJy zehYd&n*FpO;n^jTeRguBJhZ9j>7@BNBSx~BFk~?~6U(JUqDdbnRLrsU6>P`r7hpz{ z3VE52N`jijeJql`RCB{pzcD@eM)D=g*;i*f_Ag;@;C`rj4dP}Gxy8IQ3N5tmkU zX~LtF;sm(dmM#1muQUAQ@MEejPSXXqRP<?1MuFbijOW0X=)|a-S;lPvu8cU>asp%| z$%3d$)goaeh0Zh8XtTon4D%d&;V-X$?w$&(%;fjMmH%D8#O^$JE&#aGif{0#VrZ{- z&$R~e>GCQ>H<B{^Aw0JLObf|*Ro1XeNmo9Dm{~YpD*8`&Tqo(>^~79E-U}2J?S<LR zk@C)Pt>!{9gWI^9454VsLqFPfm3192DeF+)IMmJG*VuT{Z}%H(_2ZOXNco<VvIi;C z$6C1=#L$~axezJ!?;v*7SgU|f(t?PQleA=2@Y^JOsVzx$fs*6i!#AxE{v6;wg}7dB z)oXSyyj?7l<IX>nq;e@9We`n#I3XX><ICo^=#^&|sjRq99W|pM?#>6`c?{sT3jPcH zlokBW9#?Jk=hnT9_%m;+KXS@%uc$^lsCDWK{CN)bRHec*4R8Y>*XPT~rw*oG#C|Jk zRu}v(Ni{F0lA9i(kEHBtf;4rMb^Hp^WgI<6W~k{lP4{IeL}m9513^TZ*WkW1ERx-i zqhHJ$@k}o_v*{0O?c{OR=!@wLZx`r>KMUuNfOgAgNwHM5VKxd95j8!px)1yCjj)7s zypNpxFi!3qXXWv$;B)_>WibFxHNeLm(@?G6O2S((iRXp~3;xUg!#Jyug?AZfxF_jz zN7qq?Q>OX6DmAO@89}Qz|K)otqN}#U`4!;z0L$tcgFjnW7sPO^URt%D`i9;?8ABSH zKJO;`!Jt*mUqJGGiB&ZdP9K1o)^d~mLD1^UNmY~-f^$A6wcljtg{*<+(f~CehQ9)J zBRmfSU^}2+>MK*$;jeM>{ih;$i+tnhJ5qI(GuPSIhOG0rV>>`!^Z}d^|HP=KHGr<T z0}o{IC5T_bUvh|?cgXpi9Pba|^do09IaA>9lbzsvJlp>&WCi$3Np&cz=rTAf0r<QZ z{S!^z>S1_riPWA@YZdZ)ueTCmE1Uy>l(gMcW*e1BZx(OjH;eCPgQ;!N`CIKRwbro7 zBn@4Z?VoTwrvYgN>z!wAZSHDy2TpMH_tmI(3P4f|@hut-Pbq+vi80aY%k8g2Owna< zS^@cK^(d;iK8lO2zM7xHU$U2+SI9X=&OgXWiNFbvQwc}6ztgs_o@fovApQ<Hg}!#$ zZ$CQGD&h~dsjpC#A5L$8+o}tYRJ1>7{}tJSlx-3bTm<JbB1mhY!s+U1(6d<G<1RNd zaZ9n6QLIuhx<tQ<=xOYJ_?6$Tn`HI7fMQ!H_Hj5L0&>&ZPztvQH}zai;5nC^QRLK; zb16A1$cd73Kb#S0%brQrFm6l6*SeCtul@E%sDuY@JjG6ia}^*ZtsS|FGtQ+y-`9Li ze!9yTtn3?wiCp?ed+cOuAb*(T^2t_SDKWW&@;?RVj{u8b+#Hi*al^Ha9tg(d|Fc27 zkKTTCvQ@<I4p!eFmmf|Jz@65N;zu-JX1_n#8pM-iJf%;DGaZ0&zRd1F#p)ZOW$kgm z?gjceMqJq7Z!7ue+e-DKt)cPKJP-xkVMQsVf#buOy?m<I;xyH(JXQ5-Oz%qVNam{m zFH_Y=;JmG?#<00Vrg?zAqv;gfglq8+0-S>5!{1f#kZ)1&C^+Q+)1trs1l?iN`~-YC z<u+$})J}j?ZbCR|3VoIi6Cul^ssRpBeE7R6Z=uSmRgZt`x7VGI6`{G8M{NV_Mhf*! zLYO~*hdmIkN*o6`HN}SwpG)~_-5q9~W*^rn>T^75CBXMDl!>x?;Sp=vDoZ8dx&_5Y z0ojzMRKK1P@tN&&r&@)P-Mu~PcYsxrLnVZX!^M~*c!BM&0FFe&hvlP<z3|1rER}v( zKH5lcqUFv;-X=UEdH~?$O$aBM5w3t<b2ta!5G91Un|z9%w*C{aVjh~N8KZDcKaVO> z7I$yY@Y(XvJFfEpQr8%;8W)j?jYkUJo0~FAKFUOsZx;$L+5_hWfN5a{-F<;IctRaM zleh|SK-ZlR)<c^y(4z_g&d|n%?N2Yj<-v9&{vFWIkOm}#sgQEWFW&Y0J%B?KA3htu zn^0EKy>NtIR*6oB(Fx=nfbQssN{C>tVTFL;Qvmlg`X@fj&*x{E4N{<`N(Xt=3_u4r z0FQ$g_lV<0;5~4lxef5OZm5JK-4XEx8JP6(9|CnM>loru-vZ(*ONi5z4Jq`fa{<fn z%4eE&J;P`63;{Qpj!K&)pNl(yOhvE2c^zO{rG4z}7g_`P$=sKeWVkGq=Cc2Ip(Wo7 zEk(F!ESz}&{SBFFI>BhFoVvm8KixWqFGw{J8GX6#c6iKv@@+r;@yLe|#TGPuZxO#U zqcsYn1voP;&V=nprdtEXG-2QOQ-C8G@nQK2p6AS0@N(Vw%6fmd{pob8e||%`N4*3n zKqPfgci0|!ku@N{paQ1~fY~~|J8UmR`X%(b=_-d&Jo?@})}#Ifcu3R7hx7Wlm2Z~Z z6`_1Z$d?C&kUUF&A`f3OL%jWmi>yF?%Xp9a1fY_HvF@;K&9L$#4d;2(D}XAU9v{xb zJjygO@zJ5~@9u2^-C9&wbT2$x0c6ggL)}N*<{TV&aZj(p|IS0WYYh;QhZy&W%j@S> zspUBlmHN4S|C7D|9N^E}Wvi}QkGgWAM;+2k#fRfRx0&I=5ahryhoc7Ek)v%46nd|+ zbY2uokyJDm&LjZV>kTk4UWDUWrOI&sKp8dmpo^{i{N^bhHST<mnhr8vRL+F$xffeA zA{iHZ)P;b(Iz2v|$5YD(b&V-jCX2D#tHm!B9`^$CX=)oyC8+P<Opm$@a7F~<!kOuA zl;b^9&U9oin&YjqRG11%p~v?1mG7bj?ipr{8^g|(BST!}O-|*vd+p2XtWgnlnMVx; zJcNXR53;ig7kb`9?)Z4>zJxH+iH2z7;tjuB`DZ0{xf;w;UMfM8wm6AzD$xfOF9Tp3 z!@a1(=j#Y0P=O#;xYm?FoaI(otMFRa#klivxkv2+9H2!BJavcd88fYX`A{n=DB2EZ z7r?ZF<@OI}S_An*q3wv_-OoGld_u|C=^Q7_JDnG2S|ug*^&WLUK>3Bw#4rS@+^xFf z?EG0)eo1}UqkaRJ>f}iXBhP!O_%^FUV=tOz)ePjVIp}NAjG|6>J^{F`uE7w3vW|K7 zZ)RDAN&KF9d-x?*-(j>gR^hXtMIkts0kF%g#y4)N+2sd^ZIzR5wy(a#8XF+utwh`k z=NSM*6Q)^nHM=0T4_;yoW4phD$UcDc1ps?*vf!!<#@XK4Rw0*DkPL$1aK-~XR*=hK zm&&<lwk~HGkzEI8JwWykb=ASX_K#*;!^@hZ9`yp?E~N3eC4@<sup^$0@jVl7e>fXc zuWo}!T?Kek=j#sJ1Lj!y+<@W~R9pe47J%2b(7n3qf_(duIo5C{Xdr?c;oQmuEhDih zEu*h&&#?;g8*cNcy8+EeW7T{n%r#7-o_voA_!v%n(@OJD5BB%;1pth20FE1<u<W|i zqlVvwbyk<x9q#6MYAVW`31=YyDxAB#E7!huu9cS`{E<i92yhDM4tE!@n+o_9oR_$O zdM=<o*Z$L7YxqFo_#_d011Fy2f?VR*9yrI!la5ORQ3ae@fZHnNj_c@SUvjBc$OJ2h zU^Sc#OprmFz3RF?_Kz>M0{xo)!=wHKa2L|3<Kn}1(-Zz&xzbEU9EbBc7oj;Nem&o~ z%p&)f_G=Jsp11wdL0Sl>7+_lU<LvY1S%V{WKY`|L@u+gdQa$nEOuYLs1BX%>jr@@X z{(Lqy{}w9hZaDXGQS@Hxpk=t!Y;&Kw-n>WU<w8$Aozy{kil*39lp7%Jx)^5t>}1up z&7(d7w4_^?a;0$*vImG$Y%Pz%q6avNEis&^*Sgc}%FFPN&aUk+3Lf*QAsN!R#4z$= zuc2@YQ-P_3v@`pV6lS>oXOLikQ%+(yv7ERx`%jly{UZ%KJ?dV7Oisx1Y+Oc5h=auv z7v@bVHb3|nwAiIsQ+NN|qy7lU$drb}hx2mr71a&hUr{B^w*Yi}ptmG*xuqHr!gnhl zgM60p*ROronC1qYmP|Dri=q7&9_88XSPV+Vhh<NchIKAgrEgAdpbB0<k*rz|!t*i! zw&ZC0o%vQ@KE&-pOc`n3f5M}(baLk9R<HcvGgznqXO`eIVY}vXYiNGyvmUh=P>ft8 zklkT>{pD7^6&KzH`hE?2AxMB`O&=e&r(bU6<~Kd>QO^LJ61&4(;uYOt)X0W{N434+ zQ6B>qUoI<Qd^j`3ty0Q(N5#h(^}R41u7YzDz!U!+s>)p(?YkFPeHQY9L1e9PetCwh zo-aW+RKC3tX3-GUh`;2*j$%6mHjTDt+9}^#aJm5UnJXt>%B`@e2Ha|!S3uaQj@)d} z2FL;6<GGhY6S$YEJiM+^ng;tOqs^nn030(rJ}kS3R7Kx~r}CCjQP;s)55Ve4<&_2T zCcP&2O0x|2q;Z{Ae=|Ns-3J=B`ybA>e{qF1YA^}P>xkr2(|6$cJHVG#Ph8(aPRp(K zzpk(XHKZiwk&>X^UzLtiZR`{P?i`W<@cwUcbn@-c*b5hG+hhgki&n!~2Y^K0YTvz3 zZ+2QJiMElC=h(kqXpI_I`ie&_1nfov%UMDgudpP0=>Y7dRTz`mX)2E1{!63Q@uj^{ z>R32a0B$P-CT26OeV1Nojbg34h6ti?HUV&ev&w$pN^8uyEw6i22jD)$Qss$ZRQNh6 zCNkF2<I}n;&gg@3^WY2x;A2QvQpNRA``mhKcxA>>+~fv0r6-0HOYcsz@2|Ipe!t_- zP?>Lg)Ga8NI7<wpTTbGL>^<NE*xRkL64LVq;c?8do}adr3+cXGOI?lf>Qmt{@3A9c zD^S^f%%l4LH`E&9sItT`7$yD8V~`$~X1@`(hE@lUd(`cKWjb$Sm>5Og_t1q0P!8m$ zJKe5aWDSkfpMX&gIHdC@hU4<{_@}Fcbe7X()$yT6eF<<D>4dP}ay0+VqkaN#KBTR~ z5gh^HCZUNZqHP73w_vO%LFE>F<Wc7V91|)rtUC#`swb^xvI}{AA9ph;VSM|Dxz<E= zAXpYh6c@G!W2o|XBk@&0cD@W%ci3JSwt7dp!${YKHh<z#I{;4iB!nOJsYfB<{UGU? zi#=FoF+`u@Yzg4VZDLr<Eof<0#HZ!;b!Vs)+AG(&+2B~Fl>L{*R$gVsXP60q4(1v; z-%E!;WI!PLsKhiC7q%Z;j8lV_&pqlzz@)y?;_k5h?qVzd%KE=!;Q^ej?8G!keLQU@ zTD;1ulF*W_lOBajVQ1=y3wO`;?0%T*{o#xNxUG&Wpnl6TqV}Cjtl{UDehJY6IDM8F zPVBR|H2ZI}tUT6GJE-)h;Oqt9fT-TiTWSsC1ETjRiL~3t{p^dETBCTiE9j5N;c%t_ zQmow#*cJ2ksIGGBZP4jE$k|KIq1)_TORa+ZdK2H30XSmN9k$<JY7HINhP1B$x1d1M z0*T?cnFxhRGdV83yBY2QU@H|)Hh>lF>hD`4%j&%NFcqKxu~c?q7#iXvw%D)$yW{P{ z--mW+_jy&SA3GVHFELC!QP)Bh;<!l7&cHRPIQqdpH5e1P7qm|rv_}$Fk7moOUIaMW zCNUh>M$lumi6ms;Q_3=ZN?DF2E6uB(1r!X_a}8T}3jY>RL~&?n&+xzJ!MLS+)wKXe zHFbw0Wc7$@>W;+wdf14UBNCqEV5SQNm>GDeqbp7bvm)@Q(oC<q5a1jfCx&T#??DsM z8QYQRZ*dtD!;&!}PUmaL@~S%lPKAkK$rm4IBqyolMcyvnvtZk4pS;S-sLbf)RW*R7 z0_oGlFb3)X1c)^+masFlcJ*=yP+PWFeFAt>=S>Xj0Y3n(Ed#C+(zz9GMPH(N4Y133 zMo=!{4-r=t5S}PKKCJUZx-+f9zss<hjsfBeqVQ2blP;)d_}}tC$mp+iF#wlC2hAv( z&h#nnDBzG&R{nX35%C$%ww)*)6t|riJIMZztF6(!$pCFYLeY(IZUsR1z3Q=#T@7Qm zWuR9*2Dl5+vfSWy1H!)n+(&Vk0zJd=dGhF7p;n%xc7eYB6dbb%FWJM^wM@3ITrRe( zY6w2h3iwi&i*Vn#2uM=`k^RUDtRBHaueusAey}jp9k$<Cfqw&cjPNQij!K$zdP11T zA5XfG?l10^;)F1DKX!>pIM!(a&EElhY=_4`{h@qPp?s2HpHcjxQC{`7u1AMQ>If2G z7;-%eLGN`JYVW+p8dTO+0xb=gIs^^M#@{JVLbJUmar4gcs@W8ed_*H*``c@*0akZD zd+17QD1XEJBxtvRw&)vp+=cd)E3G`<zw|4_Pz2zZm1qCYHIj-Z6A{2lp$E<NmBpK| z*o-G<IynpA;2VJJFmPurqlwD69nPa%2EE;&zH;5BDrCKj@;^k*E-K^=DJ0L24R&q! z2Akya0P^x)=aoYHoNMvuiy}`@$)CZwbSOOhhnD)vm#Mh7$@z$!ugOWj9nL^F>(3!y zEjhC&xQKkK$=OK3E#%ul&Rz;0BHy3M`GlNr;baF~*1ELX4152zR$vxwxb8yTv#4*k z!1FVJC#7XR{arERA}oI^=>m%HBX^BC)U!}d)ynY=LrmA#0M4OUci66Mux8C|ne0`6 z0;CMX7?a>Zz>=W6DDF5Qm*P=pVwffdOr-d{py>|V?>0bD)=l%O+W<YwrnoJD`*hif zVJSNyFUpP&_dL!|DZ-fKz$pb-dT_?yk&cd>eg~Wd<gB>E-h7=kf)8fvDZ^E8)&V>? zFvH%L4V{MN%}w?@*I9%46z@?Ydjih$0BERckX2_i*?k+W026c&!3S`@V1fcUj*Qrs zf`AY4`V9v`A)GRRoUjI~n<6O3v(jvGS1P;pI;$_2wSY*Mz-eSsDXTtW|FKb@DLzC5 z+u=OT1Z^8=U)XS~-RlR|a5nckh~NV_T>u>4N9>tDuzE#kXK&0)Tp=i&5BL(4G`c;* z@p<HlQZIg>L{d0!1dc<Hr)mj2s{k7T_@5wsBet%L{#4uEfD>KMIz;2?fVt^T`}hy6 zVP$ofW8nt$)G`!z0&pMbiI?uMz3>KWU?e_U8a);9@xny5@<{+&O30QFCM^r)*SyfH zehqLmbwW6<EZSq=2XM-Y4^ImaA#6cf4NL1WbO2tPP-#M#RXhG+jP$<(9QEHFwui2^ z22?hMz3L^vfstr0G}O@dJgU#@n7XhvDZbAl+_a!Hl;0h;*COxSguHPLpwo#V0H*;7 zVd4wC2bXx&_W;h}P<Pn=WVO}1Y&X*W2Ix6H9Jds0E*74;!*<OoYv8E(Y`UttWnT3I zfKyd>SgLA6+E;*{RZ-l$tI&*5QdM`D7o3uWe7dfttG(){0H?0*u+-Isw2>?Ry)KH| z1b9Z*)g9)#A_@7ZuEmyWUWuUtIOalPSgeJFIL%}GwOGXg4vz_8O%ud!>w5rAg9{Jw z5piQp+p+@yXRH&#%qYzN>%8hlfO8TXA2z%$<*mg5emzd*aGalu)3Bs+O9dN|2hdf5 z&QBVT7USrgBK85krbq~6Vi<NZ9i@RzB@|#kyT%$&OzY;FbD)!=a2^53s*anb8Msv& z<n`+Q6L&&4r`>h`jrw-&R8%7S58URt36>y$Tgol-arimJ9YA@+5T(b5|1A$BziypZ z%>~4lL*efOQc9&9gd+(N37O)$pS1Tq0H^yC!bAsyi>6yflUEG@#GA1ct^};pl_rKG zIH-uv6jxX?;vWIT7e?V{0f%&9J;U*N#4yjqIe&&qe_GD@OGj&KVk|t<0hTAFGzSkX zpu_E-t;OHDX^D9q;50QpoSBEW+-%6{>eZ3ip5B()kW!yqXO)W8-Gai39*6TR07uJr zLiv=RvlU`#Z8fL5OUzdR&NyR}RKL-yZUQ)4IvtMa2$1$9B4NM=McwLEnSl7s4~0hn zzDC_7AU(tJdE}B{va%ZW^BBzW-N>7M8!l~@O^^b*BX9*L8>bMsKbGB?(UsPb(r&eN z-@dx946S|`&Z7X+YWcC9w9XpHYx^NedJWFI0JlZ|6${eW)F-U7`q$DlQDg9UJrzz4 zpa$UfWzksFqwQvYggw2of<MO{>boFZu3lMfJ1v!dw@;<wBULl*wjWt%^&Us%%meB0 zMR1k_n%zE23YkT{orlk+V<TMW(W7*WLwnB{`_pyWO5cUZ`lsNSGgM}lPi4(c#i!d- zRMspsw;{QnDrrY@(OYmn1Nhk7YAGwg6^h`}H^I{g_FC2IelzF}dS>876?9cCOQk&B z-C5bt7kIa%r7i|!@db?GE&Rx&X=%TEpb|>RsUc?uISb*8X!$YfC{wn*`-fH$o8{}M zn2m76<Wa<g>>1sPsGkDF3kQXN54a0iNH}_i<MU+Z;DuF2K>54$^`BC+j+);^b^fz_ zJj~4s;+<|#)m4)5J)gXWe9sX#5nhF4^XK9kF5^FnHB@)az>t#OvwyrE^NU9eWfX<s z+y+SFCrr*GpngB1ejulYoEhXSgp*dH*1CIpdiw@gRVmZ)RTTp*@zbt%kWvG|2ZcX< z2-^H%ueuHy2;+Usitc6_+1OdYgvy@nwa<-U)SV2MKH^my0k<Oq{rqRS5bMzX0(5Tx z_JEdf{FZxsrKQ$f0B1U20l@9cASs>=FU-M=W}oV9;y#l8?{WtBX#*0kS_=o)`2XT? zMMB&B6R-Lgpaj|Ix2VOdt^qjV_&agL9dv^F8Pb0Tn5^?W1phmLg*yB`{GY|8Q~2|^ zbbr3bzM;uV?d>#oc&k@=ws}<}3h->RA8fL&=UdOcqShStTpdM6(vvPsExaQUS3Q^E ztMX7Lw1k$%ylOQdqe^5hF^nY?w0z9agEntuit4uvBW1w$?n>_Pw|m>1ohsGUfV%Pu zlU46!Nh)(+s_oifWimH?Hdy`HbM6LfEPH;i!MY%_1`_N1sB5=YW1!;VD2?LVz9as` zcf@CmJ9{}*iSbz7bOrT^31{LreMkK6?}&f%JK_}@_3sTs{Y7U@!0i2w_?EN86SrSJ zCO!Et{3wjClc>7qap2eESNgL!I%@xS5jMmV{ttA!|BrMh&O#SC8;1ou;yC;tDz5)O z(rx{2IvIbbhuXiJ&>>;$d;I^#VDNvX)Ag_UUkRmt`o|Le{<ksi_&?HRSTPZhy0O;1 zft=(F9js3bu1O3wCkA&U2HO&YZzcx25`(_#gnA1SgH?&ay2RkJ#9&jkW&dQIzjsnC zCR(k1`Zg=ywW$Vi5r0l{M~$VX!gN|wOZD~1g{9K7AKUgO*<ame<+<9NOby7;oypa( z)3Tr2WDPZe|FX#%<tmzh(l`2h=S#s{V!Y$~xn)nd9fW&9_?Mf&TBw_~+@NKj)8x<T z)fBW;E)u$c>zTm%v4Iz0HX!$>l)H{7Z}sP-_n^8rkmuR~qATwJPr$d`0pdeJYM|>& zg#T~{&S+Ys#CW#YU$D!v)9*xvO(E$bs}%j_lfGMcr`5*<!3}q!WZ<6=;fWBJ+=B35 z@3ac-`j35X7T<Z3EMDA;P%yzE6tZk03PXI`5d#+)lGN^h82o}S^@dxOKI2w(-x?~I z419x2wcxvNy9c{e0}g01{%WfB3!(5|ajT}g5q`*2P55k5*M1kjj;{1?xUD%3>0g<u z`3?O2q3tzOH58bt9tCDxouul&LB;|2E8U+A)z)sRwm%^4&!~J8GCqR!?{T*Z;{8bN zrwz6HEki8<ldAv`z-GWMzzcvQfcF9a0`#AZ%T0hw0LuV30-6CkC)eZ39z6dII1Naj z0%AZp;6gwcupV$fU<crNKs(?)z_$S3`IhPjC<9CaTmiTVunlkkaO8aZ*1N4)&%J%O z^^{>h_9N@X=hin{1B}SUBEB?|58VVIeblG+PV0`Fu@3$g{7r2}cih*AYxt>8&AYHW zF6~E_Y60Dwv%BLm?zL3GPM_+Eiz`E16~$d5bUf^{De`et97nhwaSDXZadA5k_a^8L z#l;;)Tn6ZJ=X6*61>))v*Az#Wzu8iUkhdW&u6DB(QF{^D5*N7$geMTE;^OW=+*HJs z#>MSK+#19M<KljgxJ`(wkBj>daXS!K7Z;cEW88s9T-S_9H`jCTLocBF*Ti-8a>TWv zt53}BrpvWqnePHKadB0MTk~_|jq8PZh-*VH?2U_CgE$4csZJdA|AUBZ2H}pl0$)H} z7YKcqc31o^;_6Uwy_1=QW-D5Uyj$bqh9a&5aRqUChdcm*M_v`zxDv!on2OdF#bv%8 zkqyXP6&Lpi;+lxTxVX0w*R|6J%@sKexuxG!)JwnF8ZXtjQR7=QzF*@<HEz@R4ULa! z{DLm`sK#9y%cB+i3z+5x{Y`F=cvO|fk7+_mrQf7`gfUa&w!0;a8OiC>HU9Q43BRau zgT_S~cibuIEgH{fj3La`5pUih1P^JvRO2j-U%Xw?XKDQYCJ8^H@dAy9YW)6flD<{r z=^Fbq{{5{;ClN{`4}Pz16uepESsEX>MdF(@F4s6k;}36^^t~ECsPP(&t292jLFjgA zycC#KNSTiKGAaa5Ydlxu0UE#8B<VXfUZin9jeQ!wuP5e98b7b`4vinw_?`$<2>n*- zh<O?ZH6Ebxm+PhCcQxLr@m(6P(0H20r5a~z-1S4rzfa>wG`{|aK}o375ycw&G`>{} z-9C+vX`G>lX5p=N^?&;+BhPB#-Kp`L8o#gcLmJ<q@fwX^)_8%&+#7Iep}Oc-rE#vt zv!VOwH(iInlyF3)>4;iQa8%<18t>A$MdMpFUZF9U3a7Y7`1jXIg*!C9RpYrDS24yY z<~M52G;YxNL5-K{X+1*Yy=#SjuEs?gzjvd=7w8JUZIJMr8n4m#$!jHk0b!D&5jx`Y zm6A}eajC{%UL)~)HEz~;rN&b<F4EYoar+9%_mIYGG@h?<F|bInj(GWM$#9Ft(>4Bb zxx~Mu@p_GCX<VRj$5ldikH(D}Z(SzwwHhmpU;MtFMO(iw1amdc*7&2P691yc_iMaN z<7$mp>aMTSOV9gDB;WHIuhDpt#{D#QFVWNVy~UCN*XUTDmTEjjV><MpU%~eTpIjt( zipB#p{vs^#2Q<E4<3^2VYh0@Fdy#s{uuJ3XH7?aSOXF!*3Y|~mmljHRlg2AGo}uxV zS4et`#_Kemr*W0Wk>1*Ka)D$xtnn_5@6&j>#zBpHYyAG@l5e-h_iMaR<8qBHjo+Rx z^e+mIsFgaRRO8+nzkit!wrTv3#;Y{`cAlhLHwr$mM(`|+yKa#1K8@eh^e<|>l`-Uh zm5!*>I9ua4v@kuS@%0+d(|G+2Qo$#BzW3ANH?NoYWg7c5erdJD&)4|dRS47kdxJdq zZPj?8#-_$ce<0}(X<V#vmX`k4wW8ue;Jn%_^iFt+4lmYtjmDdRdH&DR5l)7d9^of@ zgu8l#+j@k1_Xr=xE+PK+Zg;xqpFujJygPyExAn-lsYke<4p;VwKcT~Q8h@?viXL=( zf28NX!`=7?5;<MaBmBjElKzp#PQKT-Nc?*mJMlps&c9#MkM_uCM(o52+j>;EP!}*% z7f_|~ER9!b+^q2~jSpyiSmU=fKB4hRjU&f2M@xHf{<03gsMGi9@aGPl#(Op1rSUe6 zw`zQk#y*W7)#YUf0}+*>6Pzv^qQi%DPaM{`QpZozIA7xp8aw$n=?d0qyjf!>eXgc2 zVVvzm<Hbc=Whk;9c<ywIwJrO(+GnlJ!=HQiFV=Rq?RwwZGpH%e-$V}~2<W#gUBY<K z#lM#H=Z?N_c@5)<=Z^i=x)#`;^?~&xpkp6czX00&p)~>M@Q2n<fExeCY34_aHh*M& zACad&vd#svKDGMV7kz9Ear}43`Cs|i>WBCbKW0+o=xd+%36rw_ho5lrgP%Cb`SwSj zSpB6WDjX^O?1iWS{<WWWQ@#ADm4hf0l5c<gDd))Vvd%%&v@UBHP@|v+1?}sy&PSy6 z8JAG|8B;b&Xy<2~;jp07f(Cugk<$b<e$E-T0R^7$amVU@R3#Hab64Hiu;j|CRxZ6Z z7*tcAu$N~h=RcS7cWX8E?uL_Ax(U4b3+oTm%amxZ`_eiHf9*f5E1jqp{>f1rPCHQp zZR0B|NK{{8e00W_ze1_nzu;?Yi{nrErrZC*H`aE<FZz~C+V`z>F+y4YqC%eA@Gs`# zxmiZ?1mb41nfx0>&vF3)XC)>7iK0LBB%`~YEAt9fqYwBA`)MB&H~N#gCAG=PRPyFz zPCP83K`9*BC}>|wGBt2eYVvJBJ5!TsNROp*WNjLwZD|~NR8Uqr7luw6m^pdKkh#Gh ztXhmtr5`$WLps=d!k(YOL=R>VllHL;uCXkW%Rx?Jb!TSsIY37<nPgBFSG6IF(-0Z3 zckZ&XlP{e(sg_Ge*=8@MS=6hW=I1}N`q)Q%CHFx|pZ7{e|JjSOyOSUIrInR>rU+*6 zShh4Rhp9H?FlUEzm>07*hpgP>f%Y%5l0CSwp?}n}-pQ8|zrDE;S$&vvQ6J8@SwdD` za)0|@eUdHEp%7|bbuN=PN@$xPt8elEyDK+2kLdD*PSA2e59V>M!x92XKYKuaGEK1R zd`{u0d-9WeNmPIPH~Go=@E^_R(og{nV{PB$i_bP0E}1z!==2I&_H^ImVU$-gW%c6$ znct5~x}zVbJuQ)^`*FEt{W)@ee-3RH^!xst;k1O77bHXD3`j0V!SLt*KTVx~fK=n+ z#^0^oc6PTi6jG_FR+d}Yei5RPu(@F<6zNVsEmj60i8E1zFuG|M+qLZ`tNmeI8;fGD zy6)a<vAJPYw3o1vj4N!(_5D0^-u>?R<Jr%1-g(cj_nh;dnb~)qQ(W3FXSC~&FaEw? z&Is4j)%5SEv!Z{_dF}Q0_0JiK?;S|3YP<`Ur1L4Yz{WsF<sk#w7tVz{Am<T>0pmfx zF?S&SXFCdCw%#0R%v2PlJPbEkpMZUi;(t_>2jHO|#!SZ>I`xsLNcCX_T7VBS@?a)X zc?3RXeHnD({E6~{*o4;M#cs#AGx*^})<@w=qz!F?Nu>JX&|}^DL3kNboiJ=bb*c}? z@DDTjAiNu~LHv9I^FGp$X#a7%i|cJnqh^3T`nY=#fXDV_2dA;ea2gtd55sz-y-dLF z$Gbis-iJm}Ck9_ctjsjQYx~inlt<tf{dgZ1VZz_vn2AUW4M7KK527$PV9W~2^I;OL z!;6Ult`~y?T_1*L@T7xOv%^_PD~`Y_>l3gIsg7|NVlV`$Qa)U90!_pU$_5*=??j}P z!M-P>tJr&Z8d7To;WgHWVQ2_VOdWCHP`6G#{1T}pl5oo~+Y+!apY?~BA%=NuIRBlO zhv$so+i@)j4koB*J3a`@M{@}HnQa_~PvyVdc=3Cr9Z150(`Zr3L-1o%if@6zF)Rl! z7Nf)XvN605&*In5LrDDc!w8X%WAS3mSYsCA6Y%o082OA3!+mHIUd&@u`F6Z`HELBI zcoWhFiO-@o%Ec<w^%`~nE*wvbUc=94qL_ndIxm=W8H6-}!+<Y?E6-y{oILcM@1DJW zI3Bf89)h2t+!^d8>~aB3jrYUdXaQb7s{aE@9b)+4L}Qjx9)o^|p>uVb0iKIm@gcYn z8A5rYunKABI2=03ZT5V)0qG=)!zPrvbYZuP-1-5y0Oe{qaEmQ(f-Ptg<&MlTjANO@ zL;zll7UM&(6fMPz+fWQIeu38EHU6dZCF}s+4}S=8>Eg|$#=MDI@ClfI89T${*~E#H z`M`${!Oc@R{w;cL+Z1C?znm|2XL5qTomUvM3f}@Nrg8}Iad8?OM3hky=3eFQeF**u zsfENRP(5|Tr%@wb!|DfLZOkrwK70|G*=*=^hf8HTXEhV~@E)Wljl#`H3vGh8Uc<>k zoha-)ixU>_hkIvp(&Cfw;yG^p5d3l;{RiddT7FYsL<=x_IRNLN!+7yt)YF-pl`_L` zWTANRFDQr?e?%d?na_qsXhnQJTyZNcgpa}PNE@Am;}+10^RiO>6rYC|zd&R0;$Acf zpM=gGx7j_0t8ZroywC)9BmLS;yyOnf3A`9WF}!#sD#J(MM+-R*@GWrAU7X1He7IyW zEq5&&3QxJ4s{@}8UqKVDrT<T08loImUTA`+Eu~T+=K*|Y88;_<6FlJo_86ZJD^UU; zhyQ+%vmf6AA6ZG0UdPJdx2tGTd=eg7%^u?e#axZ3n$`-zPm4MJ>cv`^IJ1<!)XeaV zHSVzt!q?Vu?O#tF`0fTa0-uCORk?Kn@a}3Z*&8^~U^CL;Xn{*!;AEsc2LJmKR|MYF z8S~34v}6(9spoe2Dhp*I3>R#sHSke*+%~rMMz$L6`jAU*J`082KXO;>hc{RsftP)2 zO!`eM2R40Ai$-WUc;Am)1^5^&?UrW7-pq!=iX+mDqrHz~dic{)XL|s48<=JSw{nKV zLAhyW1))Rv@E@bnOdCE4pB$HF!gsKt!8CK`xoN3Z48jpSyLlJoaX5j;6esUwgJ9V# z$``R>_`^ItNiJsZuT68z#%t5e6ebezC#0q`g=|nH&6H3cfH&QpX13nVi3b0QbnFu_ z%VDD(HWdEOC#ksnk~DJ}(sGm#dN0yt9D`pxnP&D-Ckc;vI?a?WVIqL(@;WP6!pv~u z<}}lIA14Sbd^64TTFQ!H71Dy@@UwT)OoZ|lxb$6GVi_xd&!G~$_y$^s7rVTdW;Wr) zai|F|Ugz+qg^37U`2o#^FN1yg^@a8z0$*b&K=^+47~a5t=hxx&U;2tq(o8*G|Bc_Y zgN5S7sXNn5GhY9_U(4`;eX0ZJw6QY}(fPoK4l=v|@5sE*zw`^3(7*Qk|H=aJ;%J5j z6ye2*D2mr`fg1vhA;4?+z~g6hGNq5Q(eMJs7wFQ`ID@wti;x#%neax&C+vEh`tT0M zCM<k{^9FV<WgJ4dgl1>3LIHyn(x0Z;;Uc7_)&Pcj#v$adVejE9j7vx_!^2k?ztAiX z8PH(*uH_KG?hJ&e#A`srkB2&$Kn3R$gC719=xh$J<JiOJ88p$il2#eybT(tp=xi1+ z5rkbBQL$nJGsClyHX;a1k**YtxVU~=XS0hs5%|qDosGYig~ID+F%knGflu>D*M0ah zxC3c9dd%yYjM|Xb=#9aQ%-HJ0xwJGy1GT=+f?)P{olP6w59<$hHu(wm65iaI5gLD^ zRp2@NwyX3lni@Waw9puQ&H4l!%`g#dw1$g3e^t6!x`jQ4U5RwdZDRS*`D$^xS-?aR zPP-@Fq;F?IurtqL9E;b3hCe}CkoQ@PdPd_kl=~q$xbS8)79WMLBW;lP`HJ3WFX|bL z`_O_9>HlSJT9$5>GqZT={pqFzAA}1e78Hf`)_b3==zRvGp2fHmH8QVwALCY9@Zy6g ziPu<`;f!JF`Vq^ASN+9dOPJ6Am$c{I7c|i2WJcPkTqAClzr#X5W@gy_m_6|WRPaew ziU;x2@fv;e^M~xcJR^37eap`5U^#FG18l;(SQlKtK%2%-*)a#>Kc8VfUvNC&i4!x- zfmUXKJ11qBg1wwL@as!5%sPA$J~}<awBTcK%IplY>RT2HbFa@Jf`WNrS4Q+~!fRyD z>E+bN2jM->vp(|Jqi{)8hH<7a5ySj}jQbc~4?=hx>G&z|z8fL)@(P=Or9LBd9x&j` z{DxGXPi}ZKDmcJ~!jTM|)VZSJi4P*xiNVgBGt5-#_~EZ_W|$RtlgMz)mx&CMU?K@M ziY~P>INtgYj94$mtQX_fi%r&xN$W-bTXvZ+-+D2W^7Q{Q5&MD|vtEo_FYdKI3H@8_ zLgDbg)4c3J5Ee=7aU34~w%Za(cogCA)s%Zf;8Owd4lgKK-kTn;6!}Nc5X!}`&;-2r zJDP$Q`~8y@;PYV>(g)KxJno$gvq0rAPeaJ$;e-FqFuU+E_{fJDrj4+5Cx$urQHGiH z3&-PQj%%~~g0j^IA?-~*Jh&snELNSJ8D<`8#z){bq>ifvUa%`8^+7WPZ$$c#8i5~v zN*(IAz=69-5@}<Zu%U(HKZ%KC3w!vV3{!~@!Hr1QeG<<8Jj2ve9)S%=pJbb0*Dsl- zoQL|Db!f~%_8wmFb%t4p55e^)bvWQ@t!y;qL3r+7=08N8y-tSN{w*^z(E_LLr@8Q9 zIPeFKD?T3{|6eYzUpap8(gO^Z!-rwr&lzSpJ^_0kbbSDZex(&Dk3#=%%zKy(h3EY4 z&KrVD()dAvL!}tTmrhs&EAzv1y6^(!A-F%2uwQ0Q!aY6$TIAuLtS+WS9tLuVi299< zgCR5pFDlqy-kYnfeC^-Rbjn5NY<|rVVM0$nIlr45E2ig!9kSjVs;#i?E6@t+i#MV& zd;}Jfg%ihnv$B<;{Sn$jx%eGw!zbZM{?xi0laD#?NLt{3Y&Cok>6m%Lu@##A6&gz& z@i!F0o1^#%J<<nOZ%(%Ivu{UX>WGh^1^5`epTxMO^02&z!&Wn)sO)Y%iDtx$$D-}{ zd{~0CL1l1@_1>s#MQ8{3k-#46i!)FgJ`CIAvc2)xipf5L;Oo5Kv&<0=rZ<|vgm?~` zf)Bw;GzafZ##UnXAQG{ol#3;372cbSt;FoXy}Fonl#6pvJzftFei3PB67Z?xIQ|Wq z8MCN20ZVvqOt#{)|BG5E7f1H#Vh-TFDcMTTE<ya%JjGA&z3|=yY;QWYQnUYv#!?45 zrj3aZ6XO3+81GHSR%G@f6ro&v9WBKt;JL(LuflsHuoaE{Dr%x!+=g25o(SwzG<LW@ zhsp4NP?^7=u4#<vgj<lB$Qy~RsO%F195d>OXQQ$BAe@c#D^KxBGzl-pQ5Y|d9Ka5! zK5UP{7XR$<r-T>&47Z_byf^k*ao8se<iw<0`~zyjdsC|wgRNNWR?59`*NVM<8TmW$ z(>?ed%EgO6qEUFq4C-QTMcU&i{3Mr?kr)0ys+xr=`dU%eQz-XFS}W>$9$HMfxCX`W zVg)M0$Kg1B7OieO2ya2Db-@<~bNn?CXX0I?>$nM4pGfm*X1EurP7<y@sf*b~c^Moq zgovxov;^FTitzrST}%+Iz>Dn})?x{&q+I+2ZNj$<b-I{SPU&JAnFzsIsG5~U;0~k} z=M!{256OFjt`&g&F=}C6aX&hM4-V(jLaJW|zpy?D$B*DjNoU9>+=hzu{eKI_H;R*G z9{oSO4yA6LustkW{1)Xivv~Aq4imm3Ae%wclpRKMC>QfirA6^U7(u$D#$dvF(fNiy z+R`Mv=QNsqI)?+kI)-Ls<^=p2sgD12HWFz;VkJ_!H+5TS+>f2Xa+p_q7H!4H;eBV) ztKwsD^;k~WbjCq-ByE%YOW{Rlaa=R9Q=E&>!+X=VmBQWWY$Ap!7ypW;;}dYnIcyN# zo2spJ?N3n|<>F7M4sXVHF`tj;_@~}zFwvf*Ej~Db6OBsZb0~>V!ma0Z;Y(h|qQhn9 zbKT>;sn|-#UWvk#i?5>v_yoLsA{`e#a3MFXNo<h3gV}@h*m^wzraw}X2H@o=)zt7_ zTONZS*m6DprPIas(7-2<z8NWlA0o}GXS#H{#MXiB@!aAf<TS7qGS8x2_&97usaAm} zgj}BwKSlef(*n=D)GhbsbStmB2KCI$PVonP9^PEm#q30>4T1wF+htDX`afX`sp?e9 zhqoYAio%~zp=Q3E6A@|8VsI-`ohCT#3b#BA_gbHXxmVg1z`52(;Iq~@!C$7b+)Ryw znbwi}t^Dslp=wqv_PL4`;Kc!`884oQTJhd^Ze@DkcQyABUv`QQ;`8w0V~B@ldt$n? zQt{nCIJ_{07k+@*(>YFfKU_M4YgaSCYr>qd_>Qn`ei%X71vBZ}v$9jX2%n1=C!<mL zj-c)AR48}ttS)9M<zgKw!aFjrp~XxjU~D$Ri;vFZ8kdKeg>;#CKipo#trOn@({FaY zAC9`s^+9;X9lQ_7rt^U>qC$KEF1oXeS%{CqGw$N}Ya)0T$8|AHjc<Yv-@|2=!;0ZU zOSsnMVS946IOJaXbjrokP#iB#KnZ+DLN>oerR)o|hjMWrI*d==%k}@wGLBhSCg6<^ z@MZ+>4Z~I_cJ^{2C@B|vpgMd2_I{WRmxl_tR?Bq+UGwAZ6?AAQy&H!HE<nBTQ8?x? z&JTx)j$mtkAw%IBR7APB6-Dt)aQRABfRDk4p5QRZ!`DmLf$lUfT>LaUfcJ(_E1dcx zR6@D<4XVZ`p|fla&B{a!j(>(`!F!XXl{kGrns5ZkUNDZP;>Fj>Ij(qbD74a|Z(BzT zQ7--kHR3x0pR-dT(Yv0dzd3^bU*>bvMkTQo`TT4hY)^z13!dWyqg=cgh4A7O6vlhf zoKp$V+bd}e%EcY11TVIrO1wC01IK?W6W&y3B|v|Gnkg4ct2klsVmac$9Vu4Ya&N-3 zlAn84b6=p2I0EJ4gK%~YZ%*(L_!&xlqvl|atYu4i=M#WqP&K_<5YDvaWv~h9z9443 z;CesYV!by7TItYZ(PCC6jz=-A82*g39P=WF4mqiXVn)5h9Z6dXd)2Y`_y8P%QX2%@ z!=S~Nk?$zpSi)aWU%c7KW%;uEZmJ{vIor&kY+OA%M;&nznvRE#nae~G6W%mvr9@x* z8ck2Rcq>Zaz4_0|iGFMoEkn6jiVon#jVQebCnjvqh8Bl!=8~ga9EZmCp#KkI-a?aj zp$SIcp!>y(-QMKt!24lNf~!Lwwx=?S*P{HMY$&`3O~6Ot(SPIQ#0TIEv=kqP4JdU8 z-r_^8vxR2og(S@WyX*b1&p-IgrkP=TzOq<{dLGTA4B(F_4=?%}*c-fG{3knu55gOe zRu+LzTVDp>vEFII{Awr6zxaTGG($eT)cP>|0HyBVaNs-k_6l#YJ_<KlpMaej-8z1F zp7kNP%=#D{^e)GLDO>7EY)&OT|NA|TH|63ds0A<XMoGMRpEo8SaQ8cgdEv_KbV_({ zII}{VGd|{1Fy&$n+KLyCMBDL!kGcMptDIz_BVU;wkg~>|oUzA}nGQcdQ}JRmD#Uy9 zmX*U?yqgcBl#6Rn9bT+JTk&z&_&GNrd=pH?DLcJ*bMXaVhkQwIhZj#lWAWl>GzlMs z?HS7Aq*iXDl#7?461+GSRpPxF$f@k)Z`g3k8{m7W4KF&|`Qtl|y-^`j^s9L4x13y* zi)W*;_#k`)DIedPgRIcxBlfXT)DitCj2DkZ5xh4GSsBS6pryyr|I6$|WmFPBM{#@- zwud2$=c7i-#fwo3J_Osdkj3>VNx4{y(tFeFussf0T(qB-rd(XQ-=R-tVkr|3qY&Pk zeXLC6uTX??aX(s$Pr|dlcU!`nZycq}{J?oY9kC0l!;4+fR=hXOIOI^6`(Ju4UJ#d| zUVR8*gQaK`z9Y^!I~8+0>_<8l%Ef7@2=9$8R@Cu=1N8rtiyxvgytof-!nem4JIYK} zuJJvn5idTE_Tb|%w~dX%dlHFLDaOtr&WXOffrQJ@biDX5D#FL$TZehmf^UKwe`oLU z2{^e^CSUQe(VYlsYR?-MUq)eG5Z^!x@SY6eRQB-xbi&;z7Z0F1ym$z0#hZ*wGm#wO zJ@}5SVBUsP_Og#mkA5s4ZbAk6xth#dXeuvw!+{klyfm8_Bg(~xP#IoSC~zF_4F^_e z@KIgK)1h4Kg_3x&A2R*93gGeGGgJ5e01P_(QFj}JVe7?5t&c$k0;`TU7}y&ctT5r< z&{$R=b|vRGgcq+uVZ1jRSV6+OQG{|wrUfl!Li`%7!h6Gk6&f5yby^Udi5l<`IFQU= z-50z;!3q$588uT!{2SVb7aP!Fyv+i3L!lHLe8o{@ssyrAoQcoHi-l+u-Wvj}z~G-z z0p(&^4<4j}7k#J*-x2dm1QTT&dUDt(7vrcJAMZ)>*UL<7V#1s2t32Q_<n^{vE}o5i z16UB8fO_Gh@HM1E<IVr|=KLz}_t;}I%_QoJeNh-M4nPryi4dk4=?!5EJg%3!P(7w* zn)PAWic)VH;Ys8Hr*6~mI_o2_+Inv$us1JQIl@`w|E^-aqSKu}l}v~|P(41NGNhGx z^MJkK!3q&RsSjzj)E9@L19)*HN*~Dm0yZEmrwLB&>-sR<aeSufIgtLp1@k+qrWr&1 zSTQPK<^=o?Qh5?y*`Eba?#%}F<_0TI_$O3N9WgzSX%cv`FKWU!!GlOGX9kdjHo&n> z&BP^0FGS!YsD&B4fx-$FPCJ1G58_0FBTz5AI0oh6JF<g$h5}`~QHXMJ#9;Pbb>Qxk zxoYq&4yHX^SiBIe;sx<3REhV72`glH2CAoAd<He*J2HTI3N&TyLBiri!#Fh55v!3u zm$U}>SL6hkkf}#w@Esw**`9!49x`|eIrzibYU+r&Xa!!p5S8LX@N1<0APH|9L6=N< z6n;ID@HxC5vfOhNozw}OXQSx<M=+sd9E9tU4nZ95w7v!AjCRZY@P8<mna!!}$!YWt zc=1uB6~|!zF)ULnfFGa1vByWx%ruL}a!&9)QWQRS7MI^(hfV;~9;qvCIhzh*aCVA6 z<G13?xJ+|#kUhYM;M#Mz!QkWYoC)-3Du<=#x#b<vxqLTFS$p)Z`0V-Igig#(agW19 z0TX**?+ZA?@#0)mgpa^q3WylQb6Yc$E_7Gm&Cm7b?J9@&@;|co)E8Hwt$6WYXggj! zdJ_E!-U(oyyU1NZ9FDx0JWO6_x+K%ogt$ZHv6t}LOUc*7N8rfISSUUSzeDCEjw^g) zGB+W70&cj1W#Z$o|CR3H3&1bYR@H~Z)Vk^C-n?4n*j|9Tp3FB}a1sjO#Y<5>z6|b0 zsS|A)UGmjzDCOQv+K${=0xo#{iEFrlQ71)wBfjn$uKyiO>|(;3IIASuOJ{Jc{~<fY zhwy#z-o#lY(GL1krWr!H=%66pn>MQy+OJWFa&b_Y6BhsfL9-5>Opw9{&_Z4i6DWok z+mmO-firmnLb-Sws>6E|WINJjx!KI(te?$ompbCt$Tx(IfZgWMap9FJ>$JzrinpR5 zFNoD>Dn1V1(lnP=6C5+wJ(eADv;60avel@N`eF@Qta)L31Z_vmEMMWw<0e$dGKbLr z%jBW0%phKjw&OcOX4xRh)}zCei<^;uC@lorgJ(O!W$CQ0qqDk!ouQ7Hi>Bhm3sE6H z1aG~;ardSpWi~sNKKl_b#;7EIht}b}39=pOvLv7s@rH9g8%-Ut5beW@kD|kPZ;GrE zXCJ?bjT)A19(OQrp)pK|4X6O`jg(c??BEFRa3~kgLJ_<-QC3m2t5KA4u?DTed(&i< zGJEXJ><s1NWaMmO!W$>6nAvwxBjsZETQW@x-VaA2b<f^tS#N@@l4bYYO8<Te9UA-z z<>AFX3)o3~06vVgoY(@c|6aGb*Kq(&u|9HpCPV1lN@eilg}lbhWp{GsFQR+KN8zx$ z+&cO2DeJw7vEDRUrOJMXnweKTjP{*E|1WdlVhVV{n-c4dlvT9s8WhOqGd-+EqwwM( zGy!k!Cd&|M&m!=|d)zlN`EWDRyPyO-z5Senk2?HO9;+f~ccUpRNc<8N;k^m6-gsHX z&fbnzQAdoTO1yYKs>gd1W4&pzFZ24(sD(O?j9J1P1SZ5TD1A69hLe%H*f4y?`ZD<P zy&Plecmrfp!Ls*pnNc2q(@+E-hKG@c_?o4h#LL)Nl|w>e-S_`Wi~S01<puEv)QlI~ zP%GXW^y&?PRXFUG$UlNKe>ffG;>DS06g~o9K-w8^{_7DB(9Dw`pns;4I1|m$4DeZ$ zngQlMgr__RUwD|~k8gr|<ymN81;-xgn~?}yj#M6lmp{S|P(KWJp;aTf*T9~SvP}K| zH-MR;349pdi&B>dJn$I(JTsUWdx*49@iLUE4=1gpiK!EU%aF=r@bA_)!6*LA2ai!) zL9jhVRdm|pQ^j9U8I{Dts17ftt>Vz&{qVad=;`oD`1@+Q*wJj<lYGKOCHOoz8EFTm zz?k)7qxItGr&4tsGY0dLJ7MbJcSw7ggt<?<UOe6Uv2c#{;+@tnhP%*KHbU%L>dq?$ ztQW7cemeZRRF@emYh@z3hWBsGEUrT;7vHtM31<JrE$<2kA#G?bd<-=+Zw!8e%&FOC zAN(B+!TX-!%0Q|w&M)H*NqNM<{D|tAH~{;Wv*oAp0TE6^dbc_UE=Br%kJ$fN-eyr} z6#N2(@V@nI5Yh^Uz(S<+KwM{i0=|P(rx8B+9LK+inX55bl{6o|D;$YbX%t+Hv|@4N z^K`w`sfQ~!(A4-<unwudxZQg3qAGT1HXrNY{k2>j)L#xiLs5K7E!Y3?FStz_fHPjC zPv(U%JXptq$8d6O<dUnW4nF=GZ`EJtCZn0*v722VfFs}JWTQ?HKAqso!F#h=mD&2r zTbxsri|?Y~82W#iBe&3uybyp}P_NUuzTvf7X%)&9(E3lLz0^Y!`uu}8qSVQU_n-oN z87xO(HZB3*Mum8P11aHXk4C`2dDchZYR68jhMTO<|0myuAk8r0Uvx@HJ^?>NA$~C> z9=2Zm<2xL0%8THGNcDHYLrC?-UX8977ox~a#($P#UPYQ=A3W+^*PjYkqA)+1IsgZ} z=ax@-pFKvZA8O(_B6%@x{a3KZHn%(o=UE?ttF3<n?%c-l*UYzkK<9zv<M1Qvhy6R# zT#Z!zG<+3B_z6uC9=F{skHFQ|x50iNy5;$Bn)Q#ve^~z|?D3IX=N}(A+-jL9ozFty zF(11x1mShopU}+VK-!1}aE<i?KFKuWkmjv}+mPz~0(<UoeKl;f{^w7*L_c%O$HBSs z4m0>$=-rTJJ`dht{T*<P_0Plit#5_C|G4$V;ns^+Sufsa{p8Pir;D`w`@f*KMe<$u zaQ&aeA5DmtSufsYy|~u;mM?jK@ReI%JjHr(n)RY%z4*NK8{tmt#f-00%W+a>q&s26 zS=P^oPg*ZFSTFu;y?8>ayFtU@bnC^3truUlUTn4g0PMe)<FCE%zn2dlNM2lQy;x=a zEAVsc#UsCQ>x<*87w22=|Bl0ov`lf9_2P2tmphmj?L-3Zw?4R^Hxx)S&;FjS6UmEz zwVpx2rXO0hB+HEdFPAEkuY_+SotS|GndW??c}w9Y>w`a0A31uV@n@RoAa|+<c?iHE z&REodKMZI7N>_?c9_Et!&0UZ<-uiO*zV#>mkN0^<%WQx@S>Mh0c(Sa|6h6uil+t`= zTqmDtdyFx}oqdkEud^>TLsq)aJc}y%q0sFaK2w3TpyM-r=0YU@wusaR6#9JTT{P*5 zEFN3TLXqke!)I~`n=H;Uk9GB#e%*X#NJ*Bt@Ccvz3N=5)Pd5BM^F7)#&Edx)NBYc9 zWaGD$W|>*Uso#sVpjrashabZX&t#eD@RDQ6f-IxUgojZben>B$>3^JCehF+uDxc8X zXJ#QCg3tSq1KHR0Merf(2OiHd9sX!#PCvpY`?COkp>+EI9=M5A9*6HC?XmcaEgv_K zIw<*Eme~V44YDhME0E?DH(D=#X1$o1Yu9@wW*X88cEjK83+J5R;~Px3(w(rv`rYt1 zr20P(CeHjs*9YKPNGlfSSud`zUfgK?UYME3@z;XZ<oV3&Nd8;c^CWjcL*V7sFM}^x zFK$Ds-v*C4+1>j9oQSj$_y2*7M)Fq=AvGVVe(6x3c@4?GJ=Ec(U_zC|BZj$N9AmvW z)B2m>BS<s<2K$`i`f;!jX*p5&y!C&B-&;R(gwHrg^NMTa9VY%h(q|4J&D?1eCmoU> z2j^SA7*<*TDr~jBcC^oYid6rPJQ!^elHUP+r@LM})p~J`^`f)VPP_*XTQBxL!`;$7 zu+y2Y?+%9{tw6ledNFFfxZe65unlRCA06v6)kuC9%s4Bx9Nzz7&UYuw47kGjL-542 z-IY0T4bsf-!e4E<c-%O*{1EINbnEYj-Oq9TQdo{O@5$roOOSRTc&^XPIG5v}ct6Wr z&%{GWFNiN$FYdBl%$VTT=>dl$&AS%9X?@mtG&Rz4Zh<kRItjSfmZzQ1voDb9jCU{* zJ8`IhJ)Y>ka5Y?R{U*5A`q_W<nI%XI6`!$Q+-&_>lYHiCq&g47Dx{T(pI9$uUc~X& z3o@gT{JC%@(#+f7_tu|&G1oLwopP9vsFQ^KE^*6Gg>$T53^!Q61NuU49q}2|z`R>R zT>t-J!p9E~H(ly8-y*Hx#>re}NdEOHY&FvH6MwN@Jo<9Cd>72R!mWQgoMnCPl|C~b zsT)q8>N5k8d<?#dQvLtmruocnq!*@M<uiY}+Gob@;D>{7En1BK9Cn)SuAmZbvtB%8 z{rGD*k!SEQ!d;wCa5<WQ@AM~bKu9}N2S2xdKkVv+-4*A;@z(E|>oa%F^O@=VCh!@! z8Lh%^zn(7n2A?Tw<<16cP&2-{i04?`=&qn2Jk$D#@HXp%^L^$zq>UJH3+D%tcVw2@ ziMHG6O7CztXb8LvsZwmA&(tCvf=+jGLM<WznIDh64?Eq(6@s4%|BTd%W$<mJd7I!t z>+=@-%y~%V5%}C<j=v@nche0c`M^EgNRWIO7F(ZiIQB^8O;PTANWS1+pP7r~WAF{@ z_3U~*x?bhWANKKejk|GrLRI$_Zh7|=EO3;a(8GB25S{|QN)a!%UaUe9%JujaJyB&7 zpY=sOF-0p7^(YkmmPpj|Ou~Gm7xml{)e-f~5_wUNAK5dD37JYXiVur%_!cVSgQnPq zLNmC_!T+H-c>m)*a{<za(GZMUFTP@ZJv?G%YB^-$k1Xz9lyhc!evWzk@c}(v2^Zz8 zP3v988i~P(RxhuPRhLwkRmZCn)eY56)y>6y=I8Y0D*+SiOjt|!=A2XK#>z{|%gQUu z<K^|`iSmZ>rt;?Umh#r}WO-Y;sqj_!D|%G~D)K7wE5=j=D+($?6;mt16@?X%iiH)? ziscotijs=5ipq+3MSVr0qM@RxqPe1_qO~Gf(N<yB`PTW@^;#DwzH)xfxZ;xeIl-K% z>%;2{*GJYbTpum|n9{Up@zFQs4DB4OEGV9MQ_j`Jl{e)K&Me#z*|2a!w0PT1IX#B? zt9n%hs`9GxtHx9Xs|u<@Ra2|NRfScts*<X*s>-T(Ree>Ws-dc>s=2DAs<<GMlj}D% zz8Zf`ubMzjUQK?@n403ENKUWQ%W5iX;x+X(iJFF*rkduOmYUX@WKCO*srA+RYkSoO zYV&IIYsb_EYYS>awNq;s)<$cW*T!l~il2<+3@!dwB<G}bf0h|rd@z#Jr+;%<vaGEv zy0&C(+1kpr@wN49qvgxX)u6O~S$6SDH|Nag6wfa1aZApyPKoT|b8pGHqEl1$D^K5& IGdJ!30Gws59smFU diff --git a/src/pages/AnnualReportWindow.scss b/src/pages/AnnualReportWindow.scss index db26b11..9a8efec 100644 --- a/src/pages/AnnualReportWindow.scss +++ b/src/pages/AnnualReportWindow.scss @@ -1279,3 +1279,134 @@ color: var(--ar-text-sub) !important; text-align: center; } +// 曾经的好朋友 视觉效果 +.lost-friend-visual { + display: flex; + align-items: center; + justify-content: center; + gap: 32px; + margin: 64px auto 48px; + position: relative; + max-width: 480px; + + .avatar-group { + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; + z-index: 2; + + .avatar-label { + font-size: 13px; + color: var(--ar-text-sub); + font-weight: 500; + opacity: 0.6; + } + + &.sender { + animation: fadeInRight 1s ease-out backwards; + } + + &.receiver { + animation: fadeInLeft 1s ease-out backwards; + } + } + + .fading-line { + position: relative; + flex: 1; + height: 2px; + min-width: 120px; + display: flex; + align-items: center; + justify-content: center; + + .line-path { + width: 100%; + height: 100%; + background: linear-gradient(to right, + var(--ar-primary) 0%, + rgba(var(--ar-primary-rgb), 0.4) 50%, + rgba(var(--ar-primary-rgb), 0.05) 100%); + border-radius: 2px; + } + + .line-glow { + position: absolute; + inset: -4px 0; + background: linear-gradient(to right, + rgba(var(--ar-primary-rgb), 0.2) 0%, + transparent 100%); + filter: blur(8px); + pointer-events: none; + } + + .flow-particle { + position: absolute; + width: 40px; + height: 2px; + background: linear-gradient(to right, transparent, var(--ar-primary), transparent); + border-radius: 2px; + opacity: 0; + animation: flowAcross 4s infinite linear; + } + } +} + +.hero-desc.fading { + opacity: 0.7; + font-style: italic; + font-size: 16px; + margin-top: 32px; + line-height: 1.8; + letter-spacing: 0.05em; + animation: fadeIn 1.5s ease-out 0.5s backwards; +} + +@keyframes flowAcross { + 0% { + left: -20%; + opacity: 0; + } + + 10% { + opacity: 0.8; + } + + 50% { + opacity: 0.4; + } + + 90% { + opacity: 0.1; + } + + 100% { + left: 120%; + opacity: 0; + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + transform: translateX(-20px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + transform: translateX(20px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} diff --git a/src/pages/AnnualReportWindow.tsx b/src/pages/AnnualReportWindow.tsx index 8def63d..0e7db77 100644 --- a/src/pages/AnnualReportWindow.tsx +++ b/src/pages/AnnualReportWindow.tsx @@ -71,6 +71,20 @@ interface AnnualReportData { socialInitiative?: { initiatedChats: number; receivedChats: number; initiativeRate: number } | null responseSpeed?: { avgResponseTime: number; fastestFriend: string; fastestTime: number } | null topPhrases?: { phrase: string; count: number }[] + snsStats?: { + totalPosts: number + typeCounts?: Record<string, number> + topLikers: { username: string; displayName: string; avatarUrl?: string; count: number }[] + topLiked: { username: string; displayName: string; avatarUrl?: string; count: number }[] + } + lostFriend: { + username: string + displayName: string + avatarUrl?: string + earlyCount: number + lateCount: number + periodDesc: string + } | null } interface SectionInfo { @@ -274,6 +288,8 @@ function AnnualReportWindow() { responseSpeed: useRef<HTMLElement>(null), topPhrases: useRef<HTMLElement>(null), ranking: useRef<HTMLElement>(null), + sns: useRef<HTMLElement>(null), + lostFriend: useRef<HTMLElement>(null), ending: useRef<HTMLElement>(null), } @@ -373,10 +389,16 @@ function AnnualReportWindow() { if (reportData.responseSpeed) { sections.push({ id: 'responseSpeed', name: '回应速度', ref: sectionRefs.responseSpeed }) } + if (reportData.lostFriend) { + sections.push({ id: 'lostFriend', name: '曾经的好朋友', ref: sectionRefs.lostFriend }) + } if (reportData.topPhrases && reportData.topPhrases.length > 0) { sections.push({ id: 'topPhrases', name: '年度常用语', ref: sectionRefs.topPhrases }) } sections.push({ id: 'ranking', name: '好友排行', ref: sectionRefs.ranking }) + if (reportData.snsStats && reportData.snsStats.totalPosts > 0) { + sections.push({ id: 'sns', name: '朋友圈', ref: sectionRefs.sns }) + } sections.push({ id: 'ending', name: '尾声', ref: sectionRefs.ending }) return sections } @@ -741,7 +763,7 @@ function AnnualReportWindow() { ) } - const { year, totalMessages, totalFriends, coreFriends, monthlyTopFriends, peakDay, longestStreak, activityHeatmap, midnightKing, selfAvatarUrl, mutualFriend, socialInitiative, responseSpeed, topPhrases } = reportData + const { year, totalMessages, totalFriends, coreFriends, monthlyTopFriends, peakDay, longestStreak, activityHeatmap, midnightKing, selfAvatarUrl, mutualFriend, socialInitiative, responseSpeed, topPhrases, lostFriend } = reportData const topFriend = coreFriends[0] const mostActive = getMostActiveTime(activityHeatmap.data) const socialStoryName = topFriend?.displayName || '好友' @@ -1024,6 +1046,41 @@ function AnnualReportWindow() { </section> )} + {/* 曾经的好朋友 */} + {lostFriend && ( + <section className="section" ref={sectionRefs.lostFriend}> + <div className="label-text">曾经的好朋友</div> + <h2 className="hero-title">{lostFriend.displayName}</h2> + <div className="big-stat"> + <span className="stat-num">{formatNumber(lostFriend.earlyCount)}</span> + <span className="stat-unit">条消息</span> + </div> + <p className="hero-desc"> + 在 <span className="hl">{lostFriend.periodDesc}</span> + <br />你们曾有聊不完的话题 + </p> + <div className="lost-friend-visual"> + <div className="avatar-group sender"> + <Avatar url={lostFriend.avatarUrl} name={lostFriend.displayName} size="lg" /> + <span className="avatar-label">TA</span> + </div> + <div className="fading-line"> + <div className="line-path" /> + <div className="line-glow" /> + <div className="flow-particle" /> + </div> + <div className="avatar-group receiver"> + <Avatar url={selfAvatarUrl} name="我" size="lg" /> + <span className="avatar-label">我</span> + </div> + </div> + <p className="hero-desc fading"> + 人类发明后悔 + <br />来证明拥有的珍贵 + </p> + </section> + )} + {/* 年度常用语 - 词云 */} {topPhrases && topPhrases.length > 0 && ( <section className="section" ref={sectionRefs.topPhrases}> @@ -1041,6 +1098,57 @@ function AnnualReportWindow() { </section> )} + {/* 朋友圈 */} + {reportData.snsStats && reportData.snsStats.totalPosts > 0 && ( + <section className="section" ref={sectionRefs.sns}> + <div className="label-text">朋友圈</div> + <h2 className="hero-title">记录生活时刻</h2> + <p className="hero-desc"> + 这一年,你发布了 + </p> + <div className="big-stat"> + <span className="stat-num">{reportData.snsStats.totalPosts}</span> + <span className="stat-unit">条朋友圈</span> + </div> + + <div className="sns-stats-container" style={{ display: 'flex', gap: '60px', marginTop: '40px', justifyContent: 'center' }}> + {reportData.snsStats.topLikers.length > 0 && ( + <div className="sns-sub-stat" style={{ textAlign: 'left' }}> + <h3 className="sub-title" style={{ fontSize: '18px', marginBottom: '16px', opacity: 0.8, borderBottom: '1px solid currentColor', paddingBottom: '8px' }}>更关心你的Ta</h3> + <div className="mini-ranking"> + {reportData.snsStats.topLikers.slice(0, 3).map((u, i) => ( + <div key={i} className="mini-rank-item" style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '14px' }}> + <Avatar url={u.avatarUrl} name={u.displayName} size="sm" /> + <div style={{ display: 'flex', flexDirection: 'column' }}> + <span className="name" style={{ fontSize: '15px', fontWeight: 500, maxWidth: '120px', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{u.displayName}</span> + </div> + <span className="count hl" style={{ fontSize: '14px', marginLeft: 'auto' }}>{u.count}赞</span> + </div> + ))} + </div> + </div> + )} + + {reportData.snsStats.topLiked.length > 0 && ( + <div className="sns-sub-stat" style={{ textAlign: 'left' }}> + <h3 className="sub-title" style={{ fontSize: '18px', marginBottom: '16px', opacity: 0.8, borderBottom: '1px solid currentColor', paddingBottom: '8px' }}>你最关心的Ta</h3> + <div className="mini-ranking"> + {reportData.snsStats.topLiked.slice(0, 3).map((u, i) => ( + <div key={i} className="mini-rank-item" style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '14px' }}> + <Avatar url={u.avatarUrl} name={u.displayName} size="sm" /> + <div style={{ display: 'flex', flexDirection: 'column' }}> + <span className="name" style={{ fontSize: '15px', fontWeight: 500, maxWidth: '120px', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{u.displayName}</span> + </div> + <span className="count hl" style={{ fontSize: '14px', marginLeft: 'auto' }}>{u.count}赞</span> + </div> + ))} + </div> + </div> + )} + </div> + </section> + )} + {/* 好友排行 */} <section className="section" ref={sectionRefs.ranking}> <div className="label-text">好友排行</div> diff --git a/src/pages/SnsPage.scss b/src/pages/SnsPage.scss index eb9188f..645cd44 100644 --- a/src/pages/SnsPage.scss +++ b/src/pages/SnsPage.scss @@ -547,10 +547,41 @@ .sns-content-wrapper { flex: 1; display: flex; + flex-direction: column; overflow: hidden; position: relative; } + .sns-notice-banner { + margin: 16px 24px 0 24px; + padding: 10px 16px; + background: rgba(var(--accent-color-rgb), 0.08); + border-radius: 10px; + border: 1px solid rgba(var(--accent-color-rgb), 0.2); + display: flex; + align-items: center; + gap: 10px; + color: var(--accent-color); + font-size: 13px; + font-weight: 500; + animation: banner-slide-down 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); + + svg { + flex-shrink: 0; + } + } + + @keyframes banner-slide-down { + from { + opacity: 0; + transform: translateY(-10px); + } + + to { + opacity: 1; + transform: translateY(0); + } + } .sns-content { flex: 1; diff --git a/src/pages/SnsPage.tsx b/src/pages/SnsPage.tsx index e3efe81..6e512a5 100644 --- a/src/pages/SnsPage.tsx +++ b/src/pages/SnsPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState, useRef, useCallback, useMemo } from 'react' -import { RefreshCw, Heart, Search, Calendar, User, X, Filter, Play, ImageIcon, Zap, Download, ChevronRight } from 'lucide-react' +import { RefreshCw, Heart, Search, Calendar, User, X, Filter, Play, ImageIcon, Zap, Download, ChevronRight, AlertTriangle } from 'lucide-react' import { Avatar } from '../components/Avatar' import { ImagePreview } from '../components/ImagePreview' import JumpToDateDialog from '../components/JumpToDateDialog' @@ -412,6 +412,10 @@ export default function SnsPage() { </div> <div className="sns-content-wrapper"> + <div className="sns-notice-banner"> + <AlertTriangle size={16} /> + <span>由于技术限制,当前无法解密显示部分图片与视频等加密资源文件</span> + </div> <div className="sns-content custom-scrollbar" onScroll={handleScroll} onWheel={handleWheel} ref={postsContainerRef}> <div className="posts-list"> {loadingNewer && ( From 0054509ef20b9e56194c917e906bf05e9d2fe9d0 Mon Sep 17 00:00:00 2001 From: cc <98377878+hicccc77@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:09:40 +0800 Subject: [PATCH 08/10] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/annualReportService.ts | 22 +++++++++++----------- src/pages/AnnualReportWindow.tsx | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/electron/services/annualReportService.ts b/electron/services/annualReportService.ts index 87a6dc5..4caf50e 100644 --- a/electron/services/annualReportService.ts +++ b/electron/services/annualReportService.ts @@ -960,7 +960,7 @@ class AnnualReportService { // 曾经的好朋友 (Once Best Friend / Lost Friend) let lostFriend: AnnualReportData['lostFriend'] = null - let maxRatio = 5 + let maxEarlyCount = 80 // 最低门槛 let bestEarlyCount = 0 let bestLateCount = 0 let bestSid = '' @@ -991,13 +991,13 @@ class AnnualReportService { const early = (e.sent || 0) + (e.received || 0) const late = (l.sent || 0) + (l.received || 0) if (early > 100 && early > late * 5) { - const ratio = early / (late || 1) - if (ratio > maxRatio) { - maxRatio = ratio + // 选择前期消息量最多的 + if (early > maxEarlyCount) { + maxEarlyCount = early bestEarlyCount = early bestLateCount = late bestSid = sid - bestPeriodDesc = '账号历史早期' + bestPeriodDesc = '这段时间以来' } } } @@ -1023,9 +1023,9 @@ class AnnualReportService { const early = (e.sent || 0) + (e.received || 0) const late = (l.sent || 0) + (l.received || 0) if (early > 80 && early > late * 5) { - const ratio = early / (late || 1) - if (ratio > maxRatio) { - maxRatio = ratio + // 选择前期消息量最多的 + if (early > maxEarlyCount) { + maxEarlyCount = early bestEarlyCount = early bestLateCount = late bestSid = sid @@ -1045,9 +1045,9 @@ class AnnualReportService { for (let m = 7; m <= 12; m++) late += mWeights[m] || 0 if (early > 80 && early > late * 5) { - const ratio = early / (late || 1) - if (ratio > maxRatio) { - maxRatio = ratio + // 选择前期消息量最多的 + if (early > maxEarlyCount) { + maxEarlyCount = early bestEarlyCount = early bestLateCount = late bestSid = sid diff --git a/src/pages/AnnualReportWindow.tsx b/src/pages/AnnualReportWindow.tsx index 0e7db77..afa4765 100644 --- a/src/pages/AnnualReportWindow.tsx +++ b/src/pages/AnnualReportWindow.tsx @@ -355,7 +355,7 @@ function AnnualReportWindow() { } const formatYearLabel = (value: number, withSuffix: boolean = true) => { - if (value === 0) return '全部时间' + if (value === 0) return '历史以来' return withSuffix ? `${value}年` : `${value}` } @@ -769,8 +769,8 @@ function AnnualReportWindow() { const socialStoryName = topFriend?.displayName || '好友' const yearTitle = formatYearLabel(year, true) const yearTitleShort = formatYearLabel(year, false) - const monthlyTitle = year === 0 ? '全部时间月度好友' : `${year}年月度好友` - const phrasesTitle = year === 0 ? '你在全部时间的常用语' : `你在${year}年的年度常用语` + const monthlyTitle = year === 0 ? '历史以来月度好友' : `${year}年月度好友` + const phrasesTitle = year === 0 ? '你在历史以来的常用语' : `你在${year}年的年度常用语` return ( <div className="annual-report-window"> From 8b37f20b0f440b13e625d92bae2daaac7d865a82 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 15:24:48 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E7=BE=A4=E8=81=8A=E5=88=86=E6=9E=90=20?= =?UTF-8?q?=E7=BE=A4=E6=88=90=E5=91=98=E6=9F=A5=E7=9C=8B=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/groupAnalyticsService.ts | 59 +++++++++++++++++++--- src/pages/GroupAnalyticsPage.tsx | 45 +++++++++++++++-- src/types/electron.d.ts | 4 ++ 3 files changed, 97 insertions(+), 11 deletions(-) diff --git a/electron/services/groupAnalyticsService.ts b/electron/services/groupAnalyticsService.ts index 889efdf..3e09181 100644 --- a/electron/services/groupAnalyticsService.ts +++ b/electron/services/groupAnalyticsService.ts @@ -16,6 +16,10 @@ export interface GroupMember { username: string displayName: string avatarUrl?: string + nickname?: string + alias?: string + remark?: string + groupNickname?: string } export interface GroupMessageRank { @@ -211,14 +215,55 @@ class GroupAnalyticsService { } const members = result.members as { username: string; avatarUrl?: string }[] - const usernames = members.map((m) => m.username) - const displayNames = await wcdbService.getDisplayNames(usernames) + const usernames = members.map((m) => m.username).filter(Boolean) - const data: GroupMember[] = members.map((m) => ({ - username: m.username, - displayName: displayNames.success && displayNames.map ? (displayNames.map[m.username] || m.username) : m.username, - avatarUrl: m.avatarUrl - })) + const [displayNames, groupNicknames] = await Promise.all([ + wcdbService.getDisplayNames(usernames), + this.getGroupNicknamesForRoom(chatroomId) + ]) + + const contactMap = new Map<string, { remark?: string; nickName?: string; alias?: string }>() + const concurrency = 6 + await this.parallelLimit(usernames, concurrency, async (username) => { + const contactResult = await wcdbService.getContact(username) + if (contactResult.success && contactResult.contact) { + const contact = contactResult.contact as any + contactMap.set(username, { + remark: contact.remark || '', + nickName: contact.nickName || contact.nick_name || '', + alias: contact.alias || '' + }) + } else { + contactMap.set(username, { remark: '', nickName: '', alias: '' }) + } + }) + + const myWxid = this.cleanAccountDirName(this.configService.get('myWxid') || '') + const data: GroupMember[] = members.map((m) => { + const wxid = m.username || '' + const displayName = displayNames.success && displayNames.map ? (displayNames.map[wxid] || wxid) : wxid + const contact = contactMap.get(wxid) + const nickname = contact?.nickName || '' + const remark = contact?.remark || '' + const alias = contact?.alias || '' + const rawGroupNickname = groupNicknames.get(wxid.toLowerCase()) || '' + const normalizedWxid = this.cleanAccountDirName(wxid) + const groupNickname = this.normalizeGroupNickname( + rawGroupNickname, + normalizedWxid === myWxid ? myWxid : wxid, + '' + ) + + return { + username: wxid, + displayName, + nickname, + alias, + remark, + groupNickname, + avatarUrl: m.avatarUrl + } + }) return { success: true, data } } catch (e) { diff --git a/src/pages/GroupAnalyticsPage.tsx b/src/pages/GroupAnalyticsPage.tsx index c7e6a36..c37f0f4 100644 --- a/src/pages/GroupAnalyticsPage.tsx +++ b/src/pages/GroupAnalyticsPage.tsx @@ -16,6 +16,10 @@ interface GroupMember { username: string displayName: string avatarUrl?: string + nickname?: string + alias?: string + remark?: string + groupNickname?: string } interface GroupMessageRank { @@ -298,6 +302,10 @@ function GroupAnalyticsPage() { const renderMemberModal = () => { if (!selectedMember) return null + const nickname = (selectedMember.nickname || '').trim() + const alias = (selectedMember.alias || '').trim() + const remark = (selectedMember.remark || '').trim() + const groupNickname = (selectedMember.groupNickname || '').trim() return ( <div className="member-modal-overlay" onClick={() => setSelectedMember(null)}> @@ -320,11 +328,40 @@ function GroupAnalyticsPage() { </div> <div className="detail-row"> <span className="detail-label">昵称</span> - <span className="detail-value">{selectedMember.displayName}</span> - <button className="copy-btn" onClick={() => handleCopy(selectedMember.displayName, 'displayName')}> - {copiedField === 'displayName' ? <Check size={14} /> : <Copy size={14} />} - </button> + <span className="detail-value">{nickname || '未设置'}</span> + {nickname && ( + <button className="copy-btn" onClick={() => handleCopy(nickname, 'nickname')}> + {copiedField === 'nickname' ? <Check size={14} /> : <Copy size={14} />} + </button> + )} </div> + {alias && ( + <div className="detail-row"> + <span className="detail-label">微信号</span> + <span className="detail-value">{alias}</span> + <button className="copy-btn" onClick={() => handleCopy(alias, 'alias')}> + {copiedField === 'alias' ? <Check size={14} /> : <Copy size={14} />} + </button> + </div> + )} + {groupNickname && ( + <div className="detail-row"> + <span className="detail-label">群昵称</span> + <span className="detail-value">{groupNickname}</span> + <button className="copy-btn" onClick={() => handleCopy(groupNickname, 'groupNickname')}> + {copiedField === 'groupNickname' ? <Check size={14} /> : <Copy size={14} />} + </button> + </div> + )} + {remark && ( + <div className="detail-row"> + <span className="detail-label">备注</span> + <span className="detail-value">{remark}</span> + <button className="copy-btn" onClick={() => handleCopy(remark, 'remark')}> + {copiedField === 'remark' ? <Check size={14} /> : <Copy size={14} />} + </button> + </div> + )} </div> </div> </div> diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index 68e2cf5..67b1097 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -219,6 +219,10 @@ export interface ElectronAPI { username: string displayName: string avatarUrl?: string + nickname?: string + alias?: string + remark?: string + groupNickname?: string }> error?: string }> From 898c86c23fd2e64c53caa06117bf3e0895dcaa63 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 1 Feb 2026 16:55:01 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E4=BC=98=E5=8C=96html=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 88 +++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 3 deletions(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index ad35ec8..87dc4e4 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1477,6 +1477,87 @@ class ExportService { return result } + /** + * 导出头像为外部文件(仅用于HTML格式) + * 将头像保存到 avatars/ 子目录,返回相对路径 + */ + private async exportAvatarsToFiles( + members: Array<{ username: string; avatarUrl?: string }>, + outputDir: string + ): Promise<Map<string, string>> { + const result = new Map<string, string>() + if (members.length === 0) return result + + // 创建 avatars 子目录 + const avatarsDir = path.join(outputDir, 'avatars') + if (!fs.existsSync(avatarsDir)) { + fs.mkdirSync(avatarsDir, { recursive: true }) + } + + for (const member of members) { + const fileInfo = this.resolveAvatarFile(member.avatarUrl) + if (!fileInfo) continue + try { + let data: Buffer | null = null + let mime = fileInfo.mime + if (fileInfo.data) { + data = fileInfo.data + } else if (fileInfo.sourcePath && fs.existsSync(fileInfo.sourcePath)) { + data = await fs.promises.readFile(fileInfo.sourcePath) + } else if (fileInfo.sourceUrl) { + const downloaded = await this.downloadToBuffer(fileInfo.sourceUrl) + if (downloaded) { + data = downloaded.data + mime = downloaded.mime || mime + } + } + if (!data) continue + + // 优先使用内容检测出的 MIME 类型 + const detectedMime = this.detectMimeType(data) + const finalMime = detectedMime || mime || this.inferImageMime(fileInfo.ext) + + // 根据 MIME 类型确定文件扩展名 + const ext = this.getExtensionFromMime(finalMime) + + // 清理用户名作为文件名(移除非法字符,限制长度) + const sanitizedUsername = member.username + .replace(/[<>:"/\\|?*@]/g, '_') + .substring(0, 100) + + const filename = `${sanitizedUsername}${ext}` + const avatarPath = path.join(avatarsDir, filename) + + // 保存头像文件 + await fs.promises.writeFile(avatarPath, data) + + // 返回相对路径 + result.set(member.username, `avatars/${filename}`) + } catch { + continue + } + } + + return result + } + + private getExtensionFromMime(mime: string): string { + switch (mime) { + case 'image/png': + return '.png' + case 'image/gif': + return '.gif' + case 'image/webp': + return '.webp' + case 'image/bmp': + return '.bmp' + case 'image/jpeg': + default: + return '.jpg' + } + } + + private detectMimeType(buffer: Buffer): string | null { if (buffer.length < 4) return null @@ -2772,7 +2853,7 @@ class ExportService { } const avatarMap = options.exportAvatars - ? await this.exportAvatars( + ? await this.exportAvatarsToFiles( [ ...Array.from(collected.memberSet.entries()).map(([username, info]) => ({ username, @@ -2780,7 +2861,8 @@ class ExportService { })), { username: sessionId, avatarUrl: sessionInfo.avatarUrl }, { username: cleanedMyWxid, avatarUrl: myInfo.avatarUrl } - ] + ], + path.dirname(outputPath) ) : new Map<string, string>() @@ -2797,7 +2879,7 @@ class ExportService { : (sessionInfo.displayName || sessionId)) const avatarData = avatarMap.get(isSenderMe ? cleanedMyWxid : msg.senderUsername) const avatarHtml = avatarData - ? `<img src="${this.escapeAttribute(avatarData)}" alt="${this.escapeAttribute(senderName)}" />` + ? `<img src="${this.escapeAttribute(encodeURI(avatarData))}" alt="${this.escapeAttribute(senderName)}" />` : `<span>${this.escapeHtml(this.getAvatarFallback(senderName))}</span>` const timeText = this.formatTimestamp(msg.createTime)