From ee6078f195c2027378b57d49b250ff268599d3c6 Mon Sep 17 00:00:00 2001 From: zipg Date: Thu, 17 Sep 2026 12:55:22 +0800 Subject: [PATCH] feat(tabs): support naming and renaming result tabs --- .../src/components/layout/ContentArea.vue | 42 +++++++++++ apps/desktop/src/i18n/locales/az.ts | 2 + apps/desktop/src/i18n/locales/en.ts | 2 + apps/desktop/src/i18n/locales/es.ts | 2 + apps/desktop/src/i18n/locales/it.ts | 2 + apps/desktop/src/i18n/locales/ja.ts | 2 + apps/desktop/src/i18n/locales/ko.ts | 2 + apps/desktop/src/i18n/locales/pt-BR.ts | 2 + apps/desktop/src/i18n/locales/tr.ts | 2 + apps/desktop/src/i18n/locales/zh-CN.ts | 2 + apps/desktop/src/i18n/locales/zh-TW.ts | 2 + .../__tests__/sql/queryResultSource.spec.ts | 6 ++ apps/desktop/src/lib/sql/queryResultSource.ts | 8 ++- apps/desktop/src/stores/queryStore.ts | 35 +++++++++- .../query-result-tab-naming-preview.png | Bin 0 -> 111632 bytes packages/app-tests/queryStore.test.ts | 65 ++++++++++++++++++ 16 files changed, 172 insertions(+), 4 deletions(-) create mode 100644 docs/screenshots/query-result-tab-naming-preview.png diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index 0cbb83f279..99b05ec47c 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -32,6 +32,7 @@ import { Upload, X, Pin, + Pencil, Rows3, SquareDashed, Minus, @@ -52,6 +53,8 @@ import { Splitpanes, Pane } from "splitpanes"; import { DynamicScroller, DynamicScrollerItem } from "vue-virtual-scroller"; import "splitpanes/dist/splitpanes.css"; import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, DropdownMenuPortal } from "@/components/ui/dropdown-menu"; import CustomContextMenu, { type ContextMenuItem } from "@/components/ui/CustomContextMenu.vue"; @@ -504,6 +507,9 @@ const resultArchiveExporting = ref(false); const canExportResultArchive = computed(() => props.activeTab.mode === "query" && (!!props.activeTab.result || !!props.activeTab.results?.length || !!props.activeTab.resultRuns?.length)); const resultAutoSave = computed(() => props.activeTab.resultAutoSave === true); const activeResultRunItem = computed(() => resultRuns.value.find((run) => run.active)); +const resultRunRenameOpen = ref(false); +const resultRunRenameId = ref(null); +const resultRunRenameTitle = ref(""); const activeResultIsLoading = computed(() => !props.activeTab.redisMonitorActive && isActiveResultLoading(props.activeTab)); const showResultRunTabs = computed(() => resultRuns.value.length > 0 && resultRunDisplayMode.value === "tabs"); const showResultRunSelector = computed(() => resultRuns.value.length > 0 && resultRunDisplayMode.value === "list"); @@ -1088,8 +1094,31 @@ async function closeResultRunsToRight(runId: string) { await selectResultRun(runId); } +function openResultRunRename(run: (typeof resultRuns.value)[number]) { + resultRunRenameId.value = run.id; + resultRunRenameTitle.value = run.title || t("tabs.runN", { n: run.sequence }); + resultRunRenameOpen.value = true; + nextTick(() => { + const input = document.querySelector("[data-result-run-name-input]"); + input?.focus(); + input?.select(); + }); +} + +function saveResultRunRename() { + if (!resultRunRenameId.value) return; + if (queryStore.renameResultRun(props.activeTab.id, resultRunRenameId.value, resultRunRenameTitle.value)) { + resultRunRenameOpen.value = false; + } +} + function resultRunContextMenuItems(run: (typeof resultRuns.value)[number]): ContextMenuItem[] { return [ + { + label: t("tabs.renameResultRun"), + action: () => openResultRunRename(run), + icon: Pencil, + }, { label: t(run.pinned ? "tabs.unpinResultRun" : "tabs.pinResultRun"), action: () => toggleResultRunPinned(run.id), @@ -2770,6 +2799,19 @@ defineExpose({ + + + + + {{ t("tabs.renameResultRun") }} + + + + + + + + diff --git a/apps/desktop/src/i18n/locales/az.ts b/apps/desktop/src/i18n/locales/az.ts index d60acd1b61..b0c288f754 100644 --- a/apps/desktop/src/i18n/locales/az.ts +++ b/apps/desktop/src/i18n/locales/az.ts @@ -1547,6 +1547,8 @@ export default withEnglishFallback({ searchResults: "Nömrə, ad və ya SQL üzrə axtar", noMatchingResults: "Uyğun nəticə yoxdur", removeRun: "{n} nömrəli icranı çıxar", + renameResultRun: "Nəticə sekmesini adlandır", + resultRunName: "Nəticə sekmesinin adı", pinResultRun: "Nəticə vərəqini sabitlə", unpinResultRun: "Nəticə vərəqinin sabitlənməsini ləğv et", unpinAllResultRuns: "Bütün nəticə vərəqlərinin sabitlənməsini ləğv et", diff --git a/apps/desktop/src/i18n/locales/en.ts b/apps/desktop/src/i18n/locales/en.ts index e3c58573f0..1689086a6a 100644 --- a/apps/desktop/src/i18n/locales/en.ts +++ b/apps/desktop/src/i18n/locales/en.ts @@ -1681,6 +1681,8 @@ export default { searchResults: "Search number, name or SQL", noMatchingResults: "No matching results", removeRun: "Remove run {n}", + renameResultRun: "Rename result tab", + resultRunName: "Result tab name", pinResultRun: "Pin result tab", unpinResultRun: "Unpin result tab", unpinAllResultRuns: "Unpin all result tabs", diff --git a/apps/desktop/src/i18n/locales/es.ts b/apps/desktop/src/i18n/locales/es.ts index 22f580d94e..8c5ccbdb8e 100644 --- a/apps/desktop/src/i18n/locales/es.ts +++ b/apps/desktop/src/i18n/locales/es.ts @@ -1650,6 +1650,8 @@ export default withEnglishFallback({ searchResults: "Buscar por número, nombre o SQL", noMatchingResults: "No hay resultados coincidentes", removeRun: "Eliminar ejecución {n}", + renameResultRun: "Renombrar pestaña de resultados", + resultRunName: "Nombre de la pestaña de resultados", pinResultRun: "Fijar pestaña de resultado", unpinResultRun: "Desfijar pestaña de resultado", unpinAllResultRuns: "Desfijar todas las pestañas de resultado", diff --git a/apps/desktop/src/i18n/locales/it.ts b/apps/desktop/src/i18n/locales/it.ts index 3d4538fcb7..f225ad1a6d 100644 --- a/apps/desktop/src/i18n/locales/it.ts +++ b/apps/desktop/src/i18n/locales/it.ts @@ -1648,6 +1648,8 @@ export default withEnglishFallback({ searchResults: "Cerca per numero, nome o SQL", noMatchingResults: "Nessun risultato corrispondente", removeRun: "Rimuovi esecuzione {n}", + renameResultRun: "Rinomina scheda dei risultati", + resultRunName: "Nome della scheda dei risultati", pinResultRun: "Fissa scheda risultato", unpinResultRun: "Sblocca scheda risultato", unpinAllResultRuns: "Sblocca tutte le schede risultato", diff --git a/apps/desktop/src/i18n/locales/ja.ts b/apps/desktop/src/i18n/locales/ja.ts index af83f10f7e..e470002df7 100644 --- a/apps/desktop/src/i18n/locales/ja.ts +++ b/apps/desktop/src/i18n/locales/ja.ts @@ -1667,6 +1667,8 @@ export default withEnglishFallback({ searchResults: "番号、名前、SQL で検索", noMatchingResults: "一致する結果はありません", removeRun: "実行 {n} を削除", + renameResultRun: "結果タブの名前を変更", + resultRunName: "結果タブ名", pinResultRun: "結果タブを固定", unpinResultRun: "結果タブの固定を解除", unpinAllResultRuns: "すべての結果タブの固定を解除", diff --git a/apps/desktop/src/i18n/locales/ko.ts b/apps/desktop/src/i18n/locales/ko.ts index 95a73f972c..999f3c8e9b 100644 --- a/apps/desktop/src/i18n/locales/ko.ts +++ b/apps/desktop/src/i18n/locales/ko.ts @@ -1563,6 +1563,8 @@ export default withEnglishFallback({ searchResults: "번호, 이름 또는 SQL 검색", noMatchingResults: "일치하는 결과가 없습니다", removeRun: "실행 {n} 제거", + renameResultRun: "결과 탭 이름 변경", + resultRunName: "결과 탭 이름", pinResultRun: "결과 탭 고정", unpinResultRun: "결과 탭 고정 해제", unpinAllResultRuns: "모든 결과 탭 고정 해제", diff --git a/apps/desktop/src/i18n/locales/pt-BR.ts b/apps/desktop/src/i18n/locales/pt-BR.ts index 271a9548ef..2cfad0e247 100644 --- a/apps/desktop/src/i18n/locales/pt-BR.ts +++ b/apps/desktop/src/i18n/locales/pt-BR.ts @@ -1650,6 +1650,8 @@ export default withEnglishFallback({ searchResults: "Buscar por número, nome ou SQL", noMatchingResults: "Nenhum resultado correspondente", removeRun: "Remover execução {n}", + renameResultRun: "Renomear aba de resultados", + resultRunName: "Nome da aba de resultados", pinResultRun: "Fixar aba de resultado", unpinResultRun: "Desafixar aba de resultado", unpinAllResultRuns: "Desafixar todas as abas de resultado", diff --git a/apps/desktop/src/i18n/locales/tr.ts b/apps/desktop/src/i18n/locales/tr.ts index 461aa02017..95970c827a 100644 --- a/apps/desktop/src/i18n/locales/tr.ts +++ b/apps/desktop/src/i18n/locales/tr.ts @@ -1548,6 +1548,8 @@ export default withEnglishFallback({ searchResults: "Numara, ad veya SQL ile ara", noMatchingResults: "Eşleşen sonuç yok", removeRun: "{n} numaralı çalıştırmayı kaldır", + renameResultRun: "Sonuç sekmesini yeniden adlandır", + resultRunName: "Sonuç sekmesi adı", pinResultRun: "Sonuç sekmesini sabitle", unpinResultRun: "Sonuç sekmesinin sabitlemesini kaldır", unpinAllResultRuns: "Tüm sonuç sekmelerinin sabitlemesini kaldır", diff --git a/apps/desktop/src/i18n/locales/zh-CN.ts b/apps/desktop/src/i18n/locales/zh-CN.ts index 91cc2bd902..c2f42e62d5 100644 --- a/apps/desktop/src/i18n/locales/zh-CN.ts +++ b/apps/desktop/src/i18n/locales/zh-CN.ts @@ -1596,6 +1596,8 @@ export default withEnglishFallback({ searchResults: "搜索编号、名称或 SQL", noMatchingResults: "没有匹配的结果", removeRun: "删除执行 {n}", + renameResultRun: "重命名结果标签", + resultRunName: "结果标签名称", pinResultRun: "固定结果标签", unpinResultRun: "取消固定结果标签", unpinAllResultRuns: "取消固定所有结果标签", diff --git a/apps/desktop/src/i18n/locales/zh-TW.ts b/apps/desktop/src/i18n/locales/zh-TW.ts index 175a6db979..18d55ddcad 100644 --- a/apps/desktop/src/i18n/locales/zh-TW.ts +++ b/apps/desktop/src/i18n/locales/zh-TW.ts @@ -1649,6 +1649,8 @@ export default withEnglishFallback({ searchResults: "搜尋編號、名稱或 SQL", noMatchingResults: "沒有符合的結果", removeRun: "移除執行 {n}", + renameResultRun: "重新命名結果分頁", + resultRunName: "結果分頁名稱", pinResultRun: "釘選結果分頁", unpinResultRun: "取消釘選結果分頁", unpinAllResultRuns: "取消釘選所有結果分頁", diff --git a/apps/desktop/src/lib/__tests__/sql/queryResultSource.spec.ts b/apps/desktop/src/lib/__tests__/sql/queryResultSource.spec.ts index c153c5ecdc..73e828cae6 100644 --- a/apps/desktop/src/lib/__tests__/sql/queryResultSource.spec.ts +++ b/apps/desktop/src/lib/__tests__/sql/queryResultSource.spec.ts @@ -12,6 +12,12 @@ describe("queryResultNameFromPreamble", () => { expect(queryResultNameFromPreamble("-- older comment\n/*\n-- Name: block\n*/\n-- 当前时间\n")).toBe("当前时间"); expect(queryResultNameFromPreamble("/* -- block only */\n-- \n")).toBeUndefined(); }); + + it("accepts hash comments for MySQL without treating them as portable SQL comments", () => { + expect(queryResultNameFromPreamble("# MySQL report\nSELECT 1", { databaseType: "mysql" })).toBe("MySQL report"); + expect(queryResultNameFromPreamble("# temporary table\nSELECT 1", { databaseType: "sqlserver" })).toBeUndefined(); + expect(queryResultNameFromPreamble("# portable comment\nSELECT 1")).toBeUndefined(); + }); }); describe("queryResultSourceLabel", () => { diff --git a/apps/desktop/src/lib/sql/queryResultSource.ts b/apps/desktop/src/lib/sql/queryResultSource.ts index 9afd9429c5..2e4682de7c 100644 --- a/apps/desktop/src/lib/sql/queryResultSource.ts +++ b/apps/desktop/src/lib/sql/queryResultSource.ts @@ -7,12 +7,16 @@ export interface QueryResultSourceLabelOptions { databaseType?: DatabaseType; } -export function queryResultNameFromPreamble(preamble: string): string | undefined { +const HASH_COMMENT_DATABASE_TYPES = new Set(["mysql"]); + +export function queryResultNameFromPreamble(preamble: string, options: Pick = {}): string | undefined { let name: string | undefined; let fallback: string | undefined; const withoutBlockComments = preamble.replace(/\/\*[\s\S]*?\*\//g, ""); for (const line of withoutBlockComments.split(/\r?\n/)) { - const comment = line.match(/^\s*--\s*(.*)$/)?.[1]?.trim(); + const commentMatch = line.match(/^\s*(--|#)\s*(.*)$/); + if (commentMatch?.[1] === "#" && !HASH_COMMENT_DATABASE_TYPES.has(options.databaseType!)) continue; + const comment = commentMatch?.[2]?.trim(); if (!comment) continue; const nameMatch = comment.match(/^name\s*:\s*(.*)$/i); diff --git a/apps/desktop/src/stores/queryStore.ts b/apps/desktop/src/stores/queryStore.ts index 5c0e11c4a5..40f01534fc 100644 --- a/apps/desktop/src/stores/queryStore.ts +++ b/apps/desktop/src/stores/queryStore.ts @@ -347,7 +347,16 @@ function preservedResultIndex(results: QueryResult[], currentIndex: number | und return currentIndex; } -function annotateQueryResultSources(results: QueryResult[], sql: string, database: string | undefined, databaseType?: DatabaseType, sourceOffset?: number, parameterOptions?: SqlParameterOptions, executedSql?: string): { results: QueryResult[]; sqlServerUseDatabase?: string } { +function annotateQueryResultSources( + results: QueryResult[], + sql: string, + database: string | undefined, + databaseType?: DatabaseType, + sourceOffset?: number, + parameterOptions?: SqlParameterOptions, + executedSql?: string, + sourceDocumentSql?: string, +): { results: QueryResult[]; sqlServerUseDatabase?: string } { const statements = splitSqlStatementRanges(sql, databaseType, parameterOptions); // The backend positions errors against the SQL it actually received. When the // sent SQL was rewritten (pagination wrapper, injected hidden keys…), record @@ -355,6 +364,7 @@ function annotateQueryResultSources(results: QueryResult[], sql: string, databas // back onto `sourceStatement`. const executedStatements = executedSql && executedSql !== sql ? splitSqlStatementRanges(executedSql, databaseType, parameterOptions) : undefined; const alignedExecutedStatements = executedStatements && executedStatements.length === statements.length ? executedStatements : undefined; + const documentStatements = sourceDocumentSql && sourceOffset !== undefined ? splitSqlStatementRanges(sourceDocumentSql, databaseType, parameterOptions) : []; let statementIndex = 0; let sourceDatabase = database; let sqlServerUseDatabase: string | undefined; @@ -378,7 +388,15 @@ function annotateQueryResultSources(results: QueryResult[], sql: string, databas }); } } - const customName = queryResultNameFromPreamble(sql.slice(statement.hitFrom, statement.from)); + const documentStatement = + sourceOffset === undefined + ? undefined + : documentStatements.find((candidate) => { + const sourceFrom = sourceOffset + statement.from; + return candidate.from === sourceFrom || (sourceFrom >= candidate.from && sourceFrom <= candidate.to); + }); + const preamble = documentStatement ? sourceDocumentSql!.slice(documentStatement.hitFrom, documentStatement.from) : sql.slice(statement.hitFrom, statement.from); + const customName = queryResultNameFromPreamble(preamble, { databaseType }); if (customName) result.sourceLabel = customName; const successfulUseDatabase = databaseType === "sqlserver" && result.execution_error !== true ? sqlServerUseDatabaseFromStatement(statement.sql) : undefined; if (successfulUseDatabase) { @@ -1768,6 +1786,17 @@ export const useQueryStore = defineStore("query", () => { return run.pinned === true; } + function renameResultRun(id: string, runId: string, title: string): boolean { + const trimmed = title.trim(); + if (!trimmed) return false; + const tab = tabs.value.find((item) => item.id === id); + const run = tab?.resultRuns?.find((item) => item.id === runId); + if (!tab || !run) return false; + run.title = trimmed; + void persistResultRun(tab, run); + return true; + } + function unpinAllResultRuns(id: string): number { const tab = tabs.value.find((item) => item.id === id); if (!tab?.resultRuns?.length) return 0; @@ -7118,6 +7147,7 @@ export const useQueryStore = defineStore("query", () => { options?.sourceOffset, sqlStatementParameterOptions, sqlToExecute, + options?.sourceOffset === undefined ? undefined : tab.sql, ); const results = offsetBatchQueryResultIndexes(annotatedResults.results, batchResume?.startStatementIndex ?? 0); reconcileBatchSqlResults(tab, executionId, results); @@ -8685,6 +8715,7 @@ export const useQueryStore = defineStore("query", () => { toggleResultAutoSave, setActiveResultRun, toggleResultRunPinned, + renameResultRun, unpinAllResultRuns, closeOtherResultRuns, closeResultRunsToLeft, diff --git a/docs/screenshots/query-result-tab-naming-preview.png b/docs/screenshots/query-result-tab-naming-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4dfcff54dd7e974d013da9ac9ccbe3bb2a068f8b GIT binary patch literal 111632 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∈;e5+0pOanFhaL3boE^*+L%7ubYLxaz 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

vs@a@ce~oe)RAB3A6wqp0wkUh{ z8f&IqZ$k|$<8c|{{AIhE3izkc4Lmgq=^j0U^&ww95xG%x%G(A51fj6g@rU|Wl$Ym# zd_frSq~6weV>Ga?HyV%>9wKN2PV~=%D#VOEDGR_#g}BR?FT)6p*a}CRs!J=YtE=dq zHPri7*_5wm=qjn7+nMZa#5S2s>ndTnpr@I-n95MV&*5RYhTXXk5S%1(UNwN>4d^zH z7gtAcd5li+IJ&w%MV=-SVPj0p1HeME7lK$Q4z62!X4Qe`>t>BQ;Pb<@5|*`_7>DvF zf1tjdWuc=(+gm|p<=oX$T>ssu0Ki0nz0Cj{1m_=-k~^+0om#GF`;nDdtTt*?2eDe) z)JQ}j+qVpXmk$-v0qhdk^Ey*GQXU6>>SF^)KtVd(mUaNi2<7<$VeuMR79KSXMbNBz zlBe|+K@F)*(mZn#sPX;#_Xt;dRmjyz10N;;f0Xu7^yA>R%SBxZu;CaNl5RjH^vo2L z&pg~f&sNH4a#Cq5sxgOgcGpO#V?%CdD4@^JpFbsxlm8L;+X{N@Y9qB3)TJgXYZp?R z3z0wpA-WF#`gU+upHIIgD#`%0Tng8{4x#xJ+9*kMar^Gpc=U%q5}lLa;e41(n;~x( zt;}<>XV_BeleOYP{Ptx{#t&l0wZ}RzW)cP8=r?pjAy7Ts##~M=jAo42<)FiZcC9f# zzR%mcaxeSQuj4k631|j5|0HrQ<9~h>66<|ornV-8|AzgHzWLpk{Ujab=4U#zU`is~ z-9cdQ!1K+1e;Y2gK>zrSnAgFBU(M}+biiYvRay=Z7T*xcucK$gO(GpB^>TmSHzhAo zhdT{ly_x@klS$3eZ@0RN%9Qsy|Xph+6OJ`c}TJ`ZMpQ$ z`+=2%;TS#g?b8bs$o)ko94{Kt{;&bRfwYO61TJsGzB|W3v5sZ2j7Icf&O@?(OvEEfUQSHRsuQ>Vb302+gr$C%G+E5vNqN)JW5)bD`ZLMjs z48Cm?^p?S#E+K!BP0K;y-x9*~4KROzJO!`D>Qesq_vXL5)-CQ~SR#R3oEYocNK0Z* z*#B1S`G1oFWSD6N9$#4Zr&d;v)j?vfk$1WF^e(CI67^Z;Sdez9R~1%gYC;| zPX^LmV$3^4#l0-Y4{oZ?it&zV3tjingzN_mw)Az2o4LSW*zKd!JJ)@ zCUDF9A=x-G!kLQVrTW@6J!W+fYN#@ByRRL5wMoSvJs2R`Op@;e!l#H}ec<)YDIEN& zX*iIlxg33$QiflwDl4V$DXx>dYm@G-#mAw!o@?$7HHCd0*&eA^r1P0=*2mx9tEdYj zOZ4RclyOV)7g75I>Vr?*CVmTyTx3+#!zsk$7pTTB`M`n#M(%_rPXGNaqoodwnyO#= zZzX&Ir3i|W)8+vRWJYvJ0N;(qO^X?B313h*O(FOmAzNEp&RO5#Rx(ES0TDbjz^9r7 zdxaf@eAdg_G?WNpx(EcnFIX|Kk*_2)igeW7ORt2*Xjz) ziJjvDN@bfuP2cL>n zYJqb0UQkjLHd`;^sDYJBEIx&PTC5^AK4)BjkHWXnGZldFQ*~9|{<>fZCQ)?dT1w`@MOyZrE);{bO5*@@D0E-2|k~ft#Wis8sxx-tu;Y*yI^*+_q(H{jX-6y%oq zaO@+~9st{gqK{1Pg|~ni6$;GL;)3ADN@ip_jhL4bN*NCy-AGnsYb3cur_5)QQPw~A zgal+dM3lu@@r19V5o%PMQBUEVM(8G`0pPGH>-`Ga?RID^XSYQ*`1I+MDw5k(SF=<_ zGCiY~9=12aYPO7qw)Fy}rPi94Vz3+P2MYU9=3>|>7<};M^zwHo63Aa3o!dMCNC8Tr z?%1!u=3c;c$6Y%uyl}iwCt_VtCB>1c|6cv zVL;O%a*14c-#HNuSIRo61aEjh=_1i;;F|;O_tANbA87U1sb{?iDsxxG9u-cWfcuYOv5eS_-*3iy?TQWhLBA)aKXkmkY`1y#DAENE5+V{PTe_&a|h= zKF0%h74QZ%M|x{;)4iQ_ibcdHo|YkrY3-)w?EL$EaNUp0siM6CSFGhV#@&(C^(S#F z&o{IfpcYgZ07^`zPuaE<qa!#wvuTR5{07sA(xaq- z3)53mI%(`HA3{FLXRZa4^SRJ|OllY-E^htvpL%=yl2%7<&a0cvxn|^k$VzD8Hm6oQ z_@I|H-r;DT5;rV*fZ((^|NU)xdbIt)v@l!hdv`ezwnvzA@w~+kp_*MOH00~QX2-VU zl89ZJNTGKUp5y8~`j-o!Leg11S?9$goT-?MqvT1o;EHnW?>s0)E#F7~U(v8~27AyM zayTHszzEy$sOKHgdhm)ac72VYUD$G|IMUb3y2%iUynI#w1?ST+)1}KBcT?5HT56R& z#zY5ZkjT_tX$Yjk%q+YHlK$vA5!2m=65Un*H8P(o6O9{&k$igpzQm2_XEHD!%TuA^ zr-{e;+QfhdHnG--QYO&_WP-ilJYL_dGLI(T*9BDyIOjNwg9p}e9=ycM52EK){Al%n zV^8S-GUcfTctU>WSH`3#aBOt9W;=5Je0i;$`o~&Fss5GIr;!2^M)f3*LVF;*u_A@j zY$l8XrTl~B_xC1o4E@0oLg3lonmhoTJz$=0{5iFtb+j<*xwG40pOL6s|9w^>I2UYA!LF#W1^$G(+L7bI2Y!JYNQr?sIgZy6S#!m4)9#v zG3Uk%V09V40Tu>Y{&97=Q2ZN5z!SIvH+ggqBT??Gz|Ly^BC9fpps2It{OjxL0BALU zBXHe!R=cP0FXPyB;2Gm9z&U~zW?g!u%iyI=JS=I=%#h~BzL0dQ{&<4Z!B_uiD#!Q5 zpNJyGQ~Km3Z-{ORbo@|NU$3z#FevDJVP7tZc8$b|Zl<>_nw2x3MYvb2tX-J+Ii)#c z{;B;$z29REkuM}a3`K(ordWPl_Y?2a-d;fJ6Z>x9#ZkUeE`T?}TkCrIbROJLQWDEF zS4qkRBf*~M&y7+nt#p>J&fpw42&EKzYY&IRx<(^fV+4EE(NgteVLr57 zbWJd_Jx~&AT@eL^E6`GT_?2AfXc24caNW({jg5hTx`%c>=PDd?s9vLGV98e66=O85{1(=9HdGPCK8}m4@$u}5zke^s9KRh_9zOLW?jbj9eED7dDvIpgUseg@1D2iaMPVT z|7_Ho1^GIRHhDH~MI`e|jEiwKG)bXXti+CT>N82*RLV!!l7_;g`~u!jN$Knm8z;Sk zB99$h>C_1WgJ<>FQwJ!Hl1ps;aKe&fwoa6iePhs>r;5?;g!p^TRq~ZD(){ zQ>YQCn=x%09M{#DBEn}qe_Lr#k}_DuvAjEfkG)xHQWA1+Xn$jPlGlDWH@s*ql1Sl$ zt}Zr%O_8#P=k53H6MiO-ZZoj@9OurRTO4k}^j9%4vFp{<{^4*S86nBEoT5aMdMh1- z%Gk-1_+Kb}JYU_AS51*pOjKXL<2nNHXewuf<&i)tYJR(|n8DGiNBF7`MHoZpL@4=3 zYlX`_W!C8!8M#3epmW9$DlUzk5vctN-|xU=o)wLtqSo4|>0d$+uW|3vwX<8B)!E%W z{ekaDx&tz#<%Bl3C4F)4_onjnqo7vKYwiL9nTiWY|5CSkNQ(_iX=SI-1=;yY%yqn9J zt&Vj71Od?OMtsX)c*S^`VLx?hiFXQYR%obeP)?n;?A(5M0Q|D9Tg7%5P>5tu0i@X6EdFF8N~irObzi@EGtzdUpn#}#*tVWi_CV;uG`m_l zlRqaq^;v0DbhN4TstC*1`qs+Lu91UtbsY>c{Z7`=MTn~PsBa3gxkE2CHZ~%RRaH%) zHiE(FiuYShXzwPj^m6K=qD`+}sXgJgS^3^TxcAw!bW-jlCbyl>=-%+4X5D^C!#|33 zN}JUdR+$T$DYPy0X9rE2ib`}S4u3|H#>OfM+X$%@h#uA>ALiyIi==W&E8bq!NsZrK z6K9$tELqdEQ&(+NR!*itylS42`jf3u%xtidU}Z35=uUdjL;d6A>?WgP>c6^L{-pHG0Z%xK8 z8qRw?lnx^1b>D#WhY-~YC2k4bc*xk$t>0TGKF|MlM3!}>+SmSDM;~vT$~!pmhQ6a4 z2Tqp(bStcfQy_X9F*(Hf6DsXAH+m+fjhiMWZnanog?gh4!Rt;3kqrTYF~|d70U^F3;w;X6tb~7nPeanNqn?9lxM(zC5R}>ed1Bu~@Nl4z_ z>m@WeLISToR&|Qx+$*wY-BWK~XF1Pk`W3p`3I}>h65YjCKP}tthAJAVibJDx41o19 zG6_oH*-xl7a-sb@!Ka#mXSH^Vk8qPccs=qqe_!ADDRwX-=(j`#ko(%%)z#*zi%Hjg z*+A60&>W%i+;myy=xsE;ih@xe7c9vBK>#}x$pa7o{J~!(D#0yd< z_^lynlTd|2;{v$Kx3zu`nwp$oZXL|!obmMZL_d!r0#)h4!&mi~9&u^ynpb%EP{o0s zAfn8y~Kc?oV^0`?qw zds{y5+pc0$u3?Rzm%3oJ5tDt{*VlT@|5IOAPmdoE3Y~N5nguYbNNb8~5-!<*JN>b4 zJ#2F-XZk>&bP^lK0oU1HK_o9LE{@7s!^IV~00sl&QpW%Y@J~3(ZuEmCk60$cH*2(| z;qVZeWLR6we*OHpHD?Rk40K3BtaIvzC@%c$Nv0xA)tVPJ)?2VFj}R2mbR?omVF-bi zh^edzHZo+&iW3#ov^?8med`hISa1oX(1ZTG&^DVJGI9IZcMuxg`z9aTQLcS_`qX01 zCEeN4YC?89$`KPbN^^c)T?pbfnTzuz@YWO1A>*Obvk=S-)%Er=*D{+hMiB%59_)Ni z^g?|xduM>Aap6t819>vGV#-QUid-Vyw5AgGQbt`o9;2=~CvNbef+yjgnU&???j9RmL>e5B@{A+R z73jxpdZvJyha?j3DtZ$&vvoBfeEd<8^cku0eB7eUmZwhx@bsKOPtZhaA35gx;fVk* z?@!P()!`P_e`25MkTpZ3@k!X;jZZ$j>3{HN_5ou>vHPFhYx2(>`s#T`l!Ia_De(p% zLV4pxI1NePg;%Ws!DgV_EI+KAx@?4e_wL=`G=gZlBvsOmFz}^vd&1!Ec4b^#g(1L;mVJbB8|(ULcdX7O`Dt-0s!tj{;duKGx1GHDDo88Prbwq# zNOO;=D(7Rc1l`ETJkNiDnhJ#YOGj=sE?p6S;M*NEC>`E*+NC=wINIkTKV1TsY#?;s zANKwOO;P9tA*q|jf1IVlc6?#a{il?Q?+pRg`i+obL%xMxIcIUtkNkhUc z&-u&~k&LbmPxfAPt8>)?U6qr{5}eR0)^>MuyU>sJ^76H}B-Fauv_CN(oJ^`(P%{d#aF|hvPL?huttl8s26S;Z&_U-yFP%B%bUV7RB zA~v7j_S*Y!%o(-DxCwdoj4j?AsN}w*!H#nT?4>UzG4=8QS0pZA;IH}nk000a@NB`@ z22L9CCA~e?j%pNJ_O&M%Ux33Zx{F&3)o|PG3=c1`INn{9mG;~(zCzbn$-tRxq@t?o zluI>MQ}Rlzgw3t^IKO#)k$dY}y}NkythyhI`LqY6bsLfHW|cN=GStq7j{j-9#8z{2 zj4+&pv1i1{hz>A|M`7O`1f=HA+6IaWX6en!#uk6M0J*lFopyF;OA0_zKuyl6foFD> zGh-ZU=AB>{n|7+=U!j7T!y9~ujs5&)kiHlNRIROazyq-w5fQ)SVxdpv3@7u1w?44 zAJ|@dhershRnBP756quG+Ho;9DJCXHCS$SSSR%N}qcc@d{ z-#@QczDl>3c4U*1hy_3OQ=5w6o};DU%o#Hk)}}MRR$1p%L1}~?_a%BbecjyMOKWRY z=72^ei!~ee6bM0tO|;n!M=^fpr>gt+@1w5;n^B7{Uc5+sl~h6TFs1=0&zNTxYlup! zNIX7;wphqO*Jhn0BOTr3*RL>=*@AQ*egdlE=)!MaCY7|}^3qb$B|W^8E1wbg(BZ5t ztd7B-P$c~Q{hRyXgW2fSr=YI>`o)VQI2hpNZXWw}W9cQ|OZ;1%B+Id&b+EUWvbcEv zIk!yz-urj%yu%=h(pp}uP&f~3D+M!%_0I1{MF>|Ip~b>)0&Wu1gjM{vK_#-Vu-LvG zl2RfVeZt&_Q7_H2fap7Kg>1As1V&m;P7WC-aCVeDTVG#~@^A($5aeXfE=mg$W-lsx zxt%5Ip%BsAGS)YuRD>)Pdmj8bP+vlzrDZ3;3s_>pO-+>tix0}=D#<8`j7OSi1kFZ2 zPuLQoC&6V?W+j2^HNA_N0IvlH8^EFZviJaet-8KzRsBa1OaQ4CL8Z^4f(k>lq&o{~ zRXY=cQhupyKaw0;cQ7>`b<6kJS(Kj75Q@5lczB?*KY$5=!sG7g8Q-uOQD%!R{m1QS zHy*yvGhfQuU+cH(<91NQ)R~8(rrg%I%Fw_6r!pbioeg`kb+gTcY+*%3|BZuo)+<}y zVfZp=02fy{cnMAm-#EdbfnNcf?C({R>)vK>x-;0=GY}|^=-c<{Vx9B>K zg76yDZ+q9Ni@L!`!_xx+jkiZw8!(VTTJgzsVruL3IfcW6`f^ej_lzf|JLLmXfO_W1 zA^D!doYa!S^x;gQ!cL8F_Vb2)6?@eR0`ArdmF6SMvS1#-!wH1 zf(vlE0#a*kZqA*PWciPT{^4}#`@47V7ImXsF2D%t=H^j67LJ>1@dt>lk zb2*mXb~T0&}sW4qvoa*1zA=-F+rQOm%3F zgb`K=Sns*+nTA^t7l_&fVe>lzGyIOW)EI2~%DS9Yay^r7;_G6kpwkt-_NMX3glO9G z0o;I%2Bl&8FR&K}-Q9z6{uQxYBm^;hMeB++#F;BH?d9si5Q;z_AJ+NI)jDh@7L4}w zfm^L!%S(P^$1vPb(0(f#w`Al=Z`hphECo`Mo$r}lAKmzTWmgNO7?yY-_0{i zmFv{gQM^lLWz(?3=2*rZSLc~3xu@d_P2^cl#KoB)(6QdfN#%C#1pp<50i3iAsS%t;;B?L^?g zARccK;RGsqzu4%l#??vMd1W7RFfc{j^|U3rOZ|GMWm?|yls(TIH64DB=XZqW?UyK* z5@VH=QBq=$(xjm|sej=$5+G#=l?z$qD5eUs?*|;TL|^yhw{HNO*I?7o=Ve@o9Ik&- zvi-F8-gfg-)bx@zAFoYPKRUMac2U->-O3d!(6Gl7r4tYk(A)|?!y(XKKqBm}!Bm8m zx~$B<%{`vv^y62M&DYu48_;p~h68pwI}f2eqE3v`=Y3kaI#PwR!`FEAH0kgEJ6Fz9 zBK7CgQM4GBY~261$%$g=;%qvHx1B~wH0$>;)&)p4J!R71i~bpK(WdK~XX*CaId!*h zFD1D~i}DpsrLC=m|v9wb`T1m-Nq>hbm&DaO-x%Zb3)SM5i|L){O zz2mWAF`Ueit)UUz>yC6}aSx2~atR7fxS;d-yu&TG4yK0StSqX_Z?wkvp*9Z}Zyf)R zfcH6cLJrj&d3_I_A9(+%wbGv6f}f8MYMt#^4a4fyetv#S{PBV?&Mm6VGNmleHD79u zx&63cai*@z)#?rRRlWgn5ytCHo7U~Plv!K*6TI698Dt-Tpo{u;>8XWBHhas=;L-qpP`c368+qZBPtf-_LE2WYwG3^@WSEJ@UIq5bSu5Pn z#5Ma4*a&(8Lz_CEKW~KN4PyskNe0(1ck1icujpb-w{n2afxLYa2n}ipMsYG#9@@9B z6S;mV9_E@g=t3kQqx5oV(*GD)fKhxu=1ffrN-hhGO(gL;C-JHHx}ZLNerZ<^)DSbX zM_?Zkc@ziHY7!O}=5zw>F|(Q3*-j@Q(X?(LX8HxRpbHVrksYwv`ip8mIk&kIMk0Jr zFdjAdHHrut0%qV!B39iTKJ*UB4-R%OU}caWF-&Wt-RH(1yzGaQ{@tC3Qu`gHmdna) zmSU(aK{~XU^L%+7Xj055SCqF8zM;>E6|52j^(j9FwUlcS*M zI_;NT+G&|h||s^L%&9Dd36YNzr4sSG@@@eM>pg z_aQ05wsO^;xy^$YZCx&%)gt7IJksqro!%*wH3s!yv|B^nIpuZ|DVomL_#`wIY@?VV z90XI*jJ%@TWDPV}IS@h{0m9)IHMq-K*op4j1t=NdaVzX;@vum%>DvcD8yPlroUA8RIE6h?-JnQPR zf6lb*Oht(whAIDbpiJD6TvxvM^#1WVT$pL)R&QTB2Zu#ekM8@j;nk#Fx$b!#)uyUo@6dx3lKZ zUPc(d`deC7(zEiiS6#t_k3A8aJsJ-8rHhlrOR8PpbUQ#vIY@_fyL9y|*0Dbr zE0dJSz?d3JsT^NT$9gdF(yr@fsj*e1hz;E9?NP)(1uff2*8Tt_m_#iiK+-M#M zH6EC9BqJCj)5AoS+cfZF06*bpg5AqVWeN-*%&~@A=~N+vtyos(jrIK}Pu6uQ^W2i7 zp_ym?EN*bqDlL2Wv(uk9GBP?P=`a`wVg~6)AW_z*M3-*RgngvOkrN26>vvxHr_2kC z2W~{ojT?q;5T5h$@+vFWGepB;*4y2!OEchuaDXU`#*k>hEr8}|UGTPwv7Mu%qc{CN zY}0S!*_;N%gnbICl3V;oSq(4qo+>2$ylkp^25GYoY}!2)rMPLa4Dwfd7%+Ya~IMAcAsAa zAwRtW{JaY0RD()HnS8SS8Cog2u!wFCX7phnixWLv1YwTe4Vo~>+S(dElCC(`n_w1t z=V9$YI}>{<2ZEv|Ix$xmbBd=uzYD~Mk{YN1xCBnx=8Nc@as?~NgIHgQtVj64yqR^! zAR$1qj{5pnL!{rBT3eLL!Ns>Gc%Uhx@xI~DUq%waTXXqLz31kRq|3E?J!LgfijYpB zCr8Oz6~*q}bNvAvvv4M_9?=}x78LXyWm_!A)_eEvjreKK&(Bxg8k8(d8$^1@M-fMdu0 z7FBuH^pWJ0l!A`);k=vJRTPxOx5%jL%F8g!V;OFYs>;vLYNhxNf<}}scNh2e?xIkO z-Z>2`%_MwVbDv)h_1_BWdlkeM7Dg^`v~qDt)y0%wx$chjvybhbAJUi)oM>sLW(c-< zW@&!9l<&*e@0mWoVSQ821{rnr{)bKX#55X1I?k^Ro>JN%LN%0lr<{pUkWpe+nf%zU z!lrrKT}rbmsq%UIixh`j?B};&iWqKk_XMG_pbL-sVMZ;Atb`l<$Ii%{HE|pWdleKN zJ||u#_i0G#tw6nkbB;4kAABrED6}EWW}Q0+xy)LSuyP@AnU=kWkOTuHG$~{|%o)VM zwQJNuch=2Bo%J@N7R<8cE=_bnL2r+(5^tGzw&vm*x#s2&8DsQG5n{j>Kol^S@LTzy zIKX9*2Nr=_)9F%WrMHjIl~h$?KuE>`G}s`bA!+dn3LZLmP#|mPV`>#jI))coBfq=% z$&+nq<~(z7u2)v3a(cdenX<5usrapwFo+y{=?`br<8zy9s;jZhqZgDNP~yiAAEYGd zRU-wlb?foqrYsslvg3D zlZJ?G+qRL(WTI~pH2}yLv?Y8VAD6M;e0zjyZ!J~>cT(;o$r$8k+tb~9pjW%{u-@l0 zEnhEp&Os51xIB)Col0>c`hs1|?Cf44xD%`k zGTRx^9|fySSaLIOg8BfPp`&$zSn~sen?EEtP@|BP=&KYE8K>l9{#;{{hSgUUSTf)$ z)R#n6Z>aXf1CS)ZG_7-!e0rI0)bZ6B*OaT`<74T5P0}B+=qQi)9{*G&hADpbr=b60 zL0H0j$2=`s`&)uOV{cQ^nk9L|p|nnRql+?=;4! z51cK6J%KI&|G>&99Zqq@WAJR*Q+b;jP&9;qTnMEF|F+8on5KXD;tc4cJGDFL~#gk07R+63mh|04xK)Mft!?+tit320=`0TeNe++6+%5ZV+p34)2gmr zGgD?VT>t2fcB7t}30sAAaY_1h=TIh^lYP#~x+!<-0zZeq?WcboR4bu(J6fE7hi?_y zS}?i*AP$1AL10UK0_6tc8M;O}8DS42L|)pa0a$McA2`|wAeF&H%@hUF#hJCB3+;Z8 zPGVCBOO&AI2l@D5RL&D{$Ovz6ANX+6bj8g%{)caLqrQN2l)izX;mz9m8)K{`TSB*U zWk)ga3iMZ|Xys*x@ORCEdISzN;?rkhm8b_3M=Y0mcm=o_HbG1S*ODZb6}H8-Mxv}r z;kX=y>vMJ!IZe&`L~XXv5WT1hv?OzwI1 zY=`;>1!3WRaMR!n={nW(JGeB~YoBorjdi8t`?MU<>z){{4H z2t(kY`8F5bt&bOTc@uWVe&*UNZ4isGr!(gIe}Lfr?Qw*X%+qq%>J*JN&#u>oR)+e z&Wz~@h3vYz(+0eS97ZRE)EVo16i1&4h~FFK-q4;`wmYpo@sfXA#`ccvB{G2WRw`h5 z!E#ZD_jLi2c}rB22TMoae^<@YbnPJ& z9@xOSb`wS+^!43D?nNh%6Ca2HG<0)vVKz$8K+{U|Z|MJ3WLRm4_JdRg%=u71_)@v~ z3D9FK8FzoYuS%@R5f)7SjqGRwg9u6N_9OhUU*4dz+HMv-(YIjy3=T)fyVaFg>U*9& zPzvUBTB+b|;%IrkdZ|O&}@XTsZHgfOD!!2}ORs$11}u~7|~B{4+vMB$Ll5Dh@e%GeSg z05diTEXOy9765g@aVYARPS{vvd4%O2Vp6dwMB9!mR$KZy`CZZmAMV+)B*qs=nT+Uw zl0I6B@-fIiY1X-(!$wf46T9S^|L@Y0Djzy7w`bGPTuk*=VfE z&dwG+fbW;-;Xzc_dN&2O{N(~r-=tZeylRim8I$!~N)XPj`3W9|f;tHd*Br z6o@b!Tf6xsdOB3$s?EiAMo3Lf*&tk2-DMwX#>t3@j7)`r!-Oz!%y2>Cd5ey>CAN3o zQkoU_c;4mb>SA3^#z*xH%X~l{arAo&@_o6cvmyvL>{%j^^UA*{_ z9EJOgfeVybTRaDo!(}4fg_V^Pc)H*S3USH5l^9T+GmIKCqGE+PX=6_h*f zuC6WT+Wuez@*HJ+uVFDKyV#m?x)+Q#rrg{afH@bHZe?e`MDrX(u^l)*Xs%;gyJp@u zBqYR1P9{-<3yzTphGEd@t1xO|foSWf*hwWb(m^?j_&`ex?t*%0WMF{Nk^H%I5fJmb zdV9TkOWESnjnhC=TzqL}XX@=g?$ok}6Za3A98TgL;|}@#<1l^-<}!C)v|X>i zMPKbV+MEhxW+?kI(ZYUsuTyaF&7)Gpq@)I0T=`Rq8lKTm?%0d{z(PewM_Yxw|M9G) zz1jFrL29+Dd{xt1SM)^?(~qnbl$2h=p8=d9K?(kwF=rpp>Y9*yU^YSlh-_f{^m3eL7wfeE=0guHV z>s1!YQ*>g&axA)ef20}j>K zK73ErrFtPm=iV%tA;O-l-TYwNPg%-b~|& z78$aenU&KjC6x3OO-iLrqT33wBDB|5aD6@W99b zyq_ugWC0;&-^vB-?Y^XkzC`q5enuC``ao2P7~uimMld2L>v;n=Tux-kEohrWPG1Vr z9%oE1oRZwgQ9kxzZR6053>OlYx6_%*;XC^|_Om!dm+!mFeq>`W#o_Qw|JT+?dN~~j zhsKXA2(sXKFK5{LA17=bP@GWuM>7k|!Nqh6{IT=$c_ol<&?&~p#vGS3f@0r~+Yx&Z z17I(y%1HjN6v9J14c}pNF0LT6v>7QIom9%og8~s@*nw z4-TH&5b*-3R~3blGD;T9BYMfNZXOn+#gGY0G{+)h=fA=BwO$$`LPBTxG1tY<>fDL`PHHesvTZ^e&ur8N`R7M82Hw_t>F+t z(X&d2qy?x#A`2LCOIsOr7s*p>-BN+%k@l|)dFu1;dt#-mlqm^?v!i9sJeS%|L8R8g zE21@mO+V!$g0fhiS~iAGtX`dfnyBUZdRjJV^0QFzK)~{tJ{BQZJvD<|P5M$WFf=44 zy^RF7aO|~4aJufjCpyR^bnnUZSdRoR3QatPx`$`+OHeEyYX_8araqysgh-JbCWo2S29Y!9} z0;yuPa1X#2p4uKdUxLyPBO0Gk^uW$x1tq|QJjKxiBN&lVi0$)-zX3oBo`i+aySs>< z4~SN8iuEo_ zwh3)L4iJQ&ATKYUqDyoe2|{wfm_+bLaOemhF9?S`3BU}Y;%?uMxdH@akc!-PijGZ@ zAYb^_t}PtCiDg-wT&uZc(4WQ$#0szFT#N6ONhB?|hi6=2r9gQ}O!Za8l$6NoQ+$$Z z>Ir}Ks~aj?wk+wuV-cnilWyI@4Ku-9yj;ZjZpg@AOaP&Gl--a<&A+Xosu!BH%!AAo`{?c=Sr7Z*>2nZB= z$eByxDurknc{;J%x4{&F=gLt|+OD|HSkD3Io=E6!*wQEG>E!g+619pj5?Yyt`c8a% zyxM5%YVOCbyKi_EkA7J9NnK&%fgAkAZOSjMP3=pIACMeT<9g&RDZ$;%*HnN?C4PR2 z9>JD{C8Lu4ROKSR2{h2E9-H$Azk<;*P!PDCLsGRdG;L=1p%}R?s*xW@LR!P`=trmh zPSlfKCTDZ#=+)5qx3=r&uld|Psu=u!c*^!y(#TU%G;8KA247X*C*N}uVuqNcYkQwQ z9Wp;Q_4R=i#(`D!>{~uxYIT3x$^3$XyUNt>dTbkf2~Xx@!e-{mK@qvc>J)Z9m+-&+ zqrdOe4V$q&Dkn7gvtEof<=n7fUZ2u^5{Dd3FK3cc{%B$pEpzB*CR`C~?7Nl!dn7}R7-YUl+2sR4LU~LFo>LrmU10ue z8{tbajj+rS;FF*|#mK}hzqh3L^4>eG)B;D8QY|u4De`;v#R!PxiJZ5OxS3$aT(NTH z|Df&7qp9xO|Is_ithO;z=3%1@MM-Ac7_mijWGW=lgotF?HVP4nuu+nPMkQsICPPJ| zAtaF@^VE5L?w;rO`<}DTA7`y|PJi6%dDd#!KKt{&-q-b-uDQA3_U0~K@4roOD@O|N zM+~mA0yl1)nOvA_FLB=aXHh{*w)f9tb?KN*DV|>*O(K)3w+c1zN?ICX!DZF9y1Dfd zs0%6KRn(lqctB#pe8yXf?$lr8ONtHQ0V=)+&{5o&V;JtVzZ zW1R$j8A7RApqCoPgaV}^vCxnC;AY65pb`YYjf^C8F}R~d#l=rZr~g3y$pO^c;n*3kw#0kIwW+kVr!OGg%5Y1vhR8@l6kX*nqnkhx#6D-V+ZW zJ;Jv7d}I|BFysD|S0in`1bgNeAn6(~T9?8_{lH#&OH8hb0;-v&xE_Q|;0dLL2v+st3ksSTkn$&%x`Pb=2~3N(3zZd3OT@NhX{rz1mZFxR^lr@yM9|R|XaL z-;4P)M%VV0Umu2i`xbp6xBmR&fTaxQkeYvQ^qfDyI=?AczrMK1CfJi?`}ofN`v}1B zgGdD~!0a2sPwu1B--qV`2|K(MqhNo4kIc`_)jwd4%Y>#GfB?EQ<}$Gwu8dYJLR>1DHg8^?w&dJEh;`s|BTn?ywaRR=XP;jsMK=g zO>W$<81y1<7V#hX@Z@ZwGgIt(+(Gy>xMOUUh*agz`XB^QEg@sjfPDq>a6g#xxFq;D3E6yGYwf4YJ}@Na%(=R~+4PLY*H>7ib0Cepn)0iyBx|RHU@CIL;UR_G^eBTvB9B zw5$%W<7+UK;?alr9i+47+9S{&!AnzT1SiHi#b3K*{+=p#bNJ7YA7*bAUci0&%;cU2 zrzbH*KAIeGY$|dazq*;H2GRvAK4j$*BH@>qSe!U+(z{eyoqvgrf`?~3ym3l)?A+-D zMb(unqJ@zI?Ck7S69s%BkSsu}qoShX0pHJmF|s)D=PCC50x4T;e&s9gd|$A8>rS)p ze;x~L5>H9m3SEzbWyAvvpgTdEK-dKoLUaB4%aFa`E5uE-0o@z(K~?*LW|$L^U=#$# zACz4RNJ3y~9pq$=b}X#|a)Q_PKQoeWoJf$KCb9*2XZs4WlX;6 zw%xw>Z&@aP(H7j8RazjdeLvJgD%-CJl zS?HjA7XyMe6sDUtZ2|>?lH37Hji~5**1Mn0C>-wiB*t%{1ss=3edEcl3E-_K(PA8o- zve1;~zWjQxySBeWh>4t9eW*|*yRDJc0V#6TJy?alh8SZG#f_C+ahiB7<=YeS5u- zs4&!&X^7S?XYE!~QsQ`5hfCP`Ij)s@Uf`eh!JGdo88nRY89S2J=REXiE;*jXjP%&Z zo}A8$tfjZr_yI=^KtF6y03^g80kndFL?(_$(CO0*J1htBrrgGLn)Bs1JI=go29-vA$1hLJ zE!EHwwm|GfCawv*S^{|^p$@0{mce;?n&>QM~#GrJLl2YLQCuyIy* zp<+?ETT)^WglV|Z8#USJF&-J37)ZuL(2ih{{8{a<0EU}8k&=kiP|3RVw6sP}9Yn?P z_9NP9J7g$ae-i>2uwU9OlpTCUZ>CjC_SYQ%g9~k!lBwL>vA-jYXY_yXI2VzLpeePd z$-#`SC~4=Hb#t>)7h*PY_(6HfL#z+Jf4Chg?&ElBAy|`n8e@X{!GlvkvcajvdfNUB z!V2}c6?pbqz-9?wKsa1=VBnwK9QgTj>lk6E!dOViGpi+y6#GqK%jEKm$>HU=dm>_hp^&q@xOG4 zQi0(~#wa_$rxv7eMMVXsn!FjTQ^4D=I4x;Mm;+K$W&V=VTL@BG%i@s_>Eu(o!cp4# z0~xD17#nFCX`_6DxH+QdL|g5Fg=0;NFQ7r3`A;1kcY$6^)j~B&ZkwH(!}NV#TvtS( z8f|-2bTm-dV(0-d-~y6uU?Rpzh_oztv@$asv6@|KpdXozaZHxM%UQTe%E}6H0-2O| zpo0KC^D2GAb-!=*nDKE0w!&wqt*%u0-;WypmUJ-h?jRa76o}K17*Ht8g{Rn#qAx*U zM_mC&{{bZxZFh7kB0J;ss6|1Pk29~rCu=X@B zS}L$3VkrX7=$bWa;IcWVK@)a$G8p*v%MlHJ?=#@O0HEWL=z*itQyPH*F-!CC4wRPW z^K?4>cOQ9}U~Iy6TD}qMe3X_h^!I{S+S(RoJ32l6XS^>~NzStNK89U1hS~8}1vh4& z&K+`d%R_?f(gORJewGisVYWaE?YIfXbHl-yOlkYT&6bD%y2HrJEm^}7238;V*AB+u zGS7b;_xB3?{|{#Ue|`mKT^`}q{Bvb6WRuL~O;@#6-{ij)fbw)N9AvL{4$F3mGHw-n z6g*xVqajka>u(c05tQGfm`mpJ`l^}S))ngb&Yk@nW6!?aft|$G03-+e{Y!+CfH?r9 zuxs^vxGp7xu<>&)w&R;>c?u^GQc@ImWBbmJ?ry1%xUzsG%%f1r#SjRI|R`VN@ zNH)fcwW~5VHuiHlu36BCpgN$MCE!aP9b#cnqzhh~_`m;RXhE%w@R|SV|L5nK{gX86 zq{AqCpTNtH9oG-ndo)XyU&n}(B>i<}X2$$^EB;dWTwn)d9|k~G1TF~!l${9B90Fam zm(M>3p}}WF(y8*`C=%eu2K4eo_48~aY}NtBu)p4cz1>RY4dyfXg+Y`b<$oK~773*> z4g&i{Z<@e<(Ow~VbaZU-!D+vxXmXl|2!C8$+(+^aREi-_Vq`iHzGnw+Wic@^3Y-r( z4_@z!Vk+7pTF0;2Mx438)2FdPnJpgR4x*~K!)#TAq-D^Mb19bMt_Im7kO?H`*Snjm zzlNaMy6Vd`qHn%@2Nu*v{Gv;-3b2AVo%p4@nDkaoM>I81435-B&`@xf4#eIiJ=xUM#Bs;}=lfTko%&(^*Kp!!fsFW)=yi{d_0feW#h7m{ zT}RCnqKDyNZohg4i2}Q-QG)@6!J505e;aVg`10Nd+F*9zyTqk&2>;GsJbuoYFr}`fdKU>2N(Q*3Qzv;|E3}blzb5P{QA#rSUWQ4D<-D0oTKaxA^tc;zp73hj0L( zwLmUh>MdkkGhn)4cCd}65Iqi+ZohrIC;)N9#&E=-G@C4U=GDj0_@J z`9T72ctZI4%Q`aqb{SS{tw$Sw8A#J*rCm_6{QT!;bw$T`qj&q+Q^4`NMkV49^&!f zRW}p8eJ%}qh7d_4A(4fqQ978R4b)%1NNr#=dHphwlAPcCwOEM8PI)ZEfj9OZxG{rKJHjEUU!VZnP$u zP$}+lM*!3UrKBW2^A5?Y9I ziKUB6X%cxkz3LhwUQW;*1QsFt+GWJ_Gj8Gv>?)yu7FSb$BOi<{8Y4a&KsEaSSO9}f zd3aI8PJjr zpdq$BKv>-hQvtL$Ot6(EG46i=+>Q>~!ZL?Hw)&d$k-9FFAAKxdK#ll2hAo{?atKSh z%pzwp_*;38+Uq|{lVkOvC=u^a&PdJ&znRWstd5S1%-Nu(=8IDbZ~+50n0MW>S9p`L z)=y2z^p=%D`6^CB5^s3HI7+5BzC2>B9anWPrY(>J;Y!j;Qu42Ft2sI2l_8IHXI5>M zNt*oiMf6@1+Cr)G_2t!!12jnmmeLNCA*drLmfA0AZ=)OO&=e?y7~-9)N)pxdlD*G# zZyzFK?{F~I$CMUGGn^1V5OS4yd|gxF_>J<8U2nyK4E_bbTeALIDKnK0(d*Ub+df5v zcdq!|bh50^>cBbF9|`Rf=He8go7=CiY&zViMvjDQbA|dF{AzDsE#->@4Dx4GaUQwb zcnh&{0WqcydW5WPg@xZMaToD%agM`Hs&0o5V_>-5x|8j{Sbzv~1*D+2;lANCYYjqh z21j^647zr7rnzB#u01G5Qc{@Z#7*u)gd-^@otCpQ=HA@YuxOGH;~VfFSrhkr_}1`u zdwcIg*e@!UqUbGSq({h78Vg*n;@L?z80{K*=XVN=%6%dBQ-(6wDc~n4`N5; zg3d&GivNALlb02oPNgdTkYBA~alpHpYWon=j)WZN zYSXMJ`oOv5NZapyeVSnKySfg@-o#}C%H9VpwYdlS?Sc^#6BDT~Ic@LW2{_w)zUPi` zw#JhXBY#4%4&8Bbycg(I(f-Hxak8NMGrn3I*BF*2-dBlAKZQUU^tCgJip8(6^k6xY z1Kuf~71VeQb#=tcAd-q#iB7wWOW4G^4Ci1*I4HNo2S!$*&BtUdgZ1?E0ES+C!*9)N zuL#fyyBTW*!gn3_7AX_c=F4176)xvLsT}@bg32x;hl!4Oo7W6jx(vvv2S9Mk-&)9CGG~4~6l$1N9^@Rt5WHITTL|Zt5+B? zG|vB5U~pCWZ>RYGDzYle*qr}WTif=3N1mnw8gkNh<|F^{pjs+jUH_LVO*SkwGM~`@ zF9=CBt>*Zv0r;QZ)cp5~xl+z{2hw_bZe7b!5qKq_ zN<8j55TNtQ#iGX~I!Z;Q$PL0%$E#)XQ+>QxM+&n78U3O~m(27B8=HOCEDn_Fh1uPX z7a4e&v-(}xKKm>5#5yj9hJ&&lYVL=oCQ#((*lh$wL<(=+iZ=x<3emBwG(*FfQbk@7 z^W4^5nzhL@p%gL!@``+4Nv_z0;-@=A?;7)cP_-+)nR{KvWZ|KMnf-)fVd6(GJ6qbv z{=l57|G0H%Q@-_aP9#_Nt_oRsa&1a5-OH@6K`R4(@PU zOvZO%3C`zwjtx3TQy*!+;gGlFqpU>#37D5{XV;lH`@Cz}P{@8e)3YI-u(Fc#!E3^! z@D>z4MZuWq#JH_!+4kRi4ff^ANSAq1hCD|%hL!}m^?AK0J~%tiINkY5gf*JN|B5eP zygl{tc=z$UsH%>@9n@)Q(c*zwU8px0f)UvB9+@9#=t`br=*Fk%f1L?Ddq?0U za0GD@`h@wAmuFE)8d^jsZ=w`2^U>Ob%>@E}g76>x1>D0TxLKVK6I?#6b~%xLk)Yjd zuE7_wDp_8zr;|zy7jV1&MBE{PA=mI(YHUwQrM=P!b;59o;#!nN5rezqZ1`PqyP-6+u9UYQ`@U zcwaK;Z<}N_=eb7tMLJxfA+dJ!7*Bi7ZkTnc06+joOM*iNW7u#H+PQU zO8}NQFhll_xU|40qKe}y6}pjSq5CVARI#LjTzIlAB0HX-U9B~)8%UEMOL z;8Dw`f_lX-umk~y%NQDYx$Tc+s=$WsEjITKB;}lH~0ydewr~G9jvC&>qLc`2X*MJ z5}Sa>BBq&d0$wLnU&$)oVAA2U{-+`}XZCA3PVXSMW_zl^Zd<88GIysNx?go^vd4f6~& ztzSvT7JgE`uw_(ZgS?=$jNH?%04INd@PI^3qYMSBL;hLGl}md7C>aHrewy?A<6OIF zuWk%AEhJA;^D{T{V=1j1{i#=?>ybuWhZm1`-iwxKcWzsjUVKk4e)I&jL|NDN0edN* zM5U);Z0S)PXfzBio9Ob5_%hvbT~ShKUOhuMdctFP7vMTd8}%y7yKM^;Ma}x3E*s?V zGtUz*vyFIu{m?G95t*cAF<7`%0HJD&P0gpYI3wMB8Lg%d_{lr3uq;zP`|ep2&Tyy( zRK!ZfvJ@A?^>IfpTYXH5y3AiZbN+oxvi!S6$Izc*Yucx=8IaZQ*H}ky^3D? z>?W@E0eM+bkq4+v(=*hlBAPz$g0uNV15bLwq0QIWD&i|h+FvYMzl&Cm`SI_vTwWrw zD;+1AcrYp{Oj3Ul=>yg6B*9Izkk1w5>6Ghw;3&P=2yd3nPt!^w}bsjxr_E4N!WeB3{YK=0tV2< z%fR3nkObFGfrB`DD96Mi+Mzxf3m1N+5RA1%98-9>@lg2mIL`p|#?JcU&$&;USomEo z;7^UXuq*bCc4@T>Nfm(brWRt`7P?Y^|Ct7olrKl&3>=r-aRYx0SI~~DEOn-un)gtv zp6hlTIp*(=ZKZiAMH%8^*Kvx$C+V9i47L{Z$e*NQ66}c*=3U&)2uUDEjxJjHCr!+r z8hop$`07~`B&aQK47$x$Dq^uk0ov>2dO-LE@E*O4XB4JW=$zWx_UB)Yf6<*2TtBy4 z=E^<#=ZY;}ZzI^Ac=J&IScIoNEDdxUtMCiH4cHk-)hZ`(1{3nvVh1^T;pAf2|025!vhmDVm~|)(p(WNj>+NMUpMI-B zyM6wr6fbS^3jW<_<@Y6c42XQ=HcYG({$ThL$H~kaWN)HKTRe|!#Iec8^eSTr6+U<| zJTHWF3JPq55D*ZL%j|vvf}CPp7M;Fx5UR>q_I@%?%5Ij3c)hJ zA-c4S!baw>5AWX#-lqLfPa9<~P4*tk*L$X_Tsdmv$-1%%C@Z8&*X~uXeQ#-(!6wPm z659Q99+%_HdA@M8c36TcTlu(;9T)2zP?B2T5tu%W_6)7E6BD~HW^pJmYrk%Bk@5=n zF!#Lh*SUUD^M=9sg3Lwf(??oM{_H$+GrXAJL1(AnkLKplm!;L&*B-gKknVj^k+ykX z&>_X<`~wU`&j)t!bn$+d)=YhE7Iqa(=5}2@;IhwJAsATdQ!Y21&9`&6(GvdM(cGry zg(G5q1#JVaD+F&f$koLU!2#KP%~~}1M{|t8K-={T4@F2$I>;k zbvzfH9mOgr`)X5nfPP770A{@1E@R6c1eR9#Ky#ZnlOuh4s6##CH^ee7q&{nVO;>%V zN+gqdPGuz^R{xf#JHc;Z5+ZJe(01MR) zD;s~v{4W-ufxB-L0&u-uncC1~i%Cdooptx|QORG1rVp8e1_lNbe4c&?FA2F{Z z-*}D5I_#!DEuA>zfqNKaH?*>6FXReuIK(j9I+pr-o1fR4^tS7M14M4PR$3X{5dff& zE!(p<03EJYf;K|l7UG^*jRhzL@5dyk$T4YvoMpvaX?e-Bl4M5asn=^9z>g}mw$dt- zd`F(qe!qG9T5o&k&zx)d!uhkV(-wPWl=faDTWyzq`u47sTTLr<_Kt~X?PPrD?|y4Y zEXQ`~xBMP_r~G!TWD7Pc%b(KxXUp-P=R-+7@7Fe^cCh#8si=3&8|YXWMRiR8({C}Y zyA84d*(SH+F(g~ij~h~BYi{#xIfU?~nRAATwiOymA&qoGZ!KB7i5?)7oko2rdY!pm zT9AHxyL(42@AV=gU(#gj-Lcn_`7iov!#Kt#7Wp$WGm$&(nxPSUvi_O{M)~EnVO|xV zno3EYYQocEmfTwZgfTsQ`c!|(P^zW-!BIffay*6EGxMRd!|NNBp$B!sj`o3NNoRZ^96X$WCKfh)Nw`kM%>u1pCR@cRT zd3@2+idBC)gVj`PU=1gUMj*S>~|Ko$)^aUCXH&wON&NzqSrFe1OJ$CyZ)3Q2r zX}_7p{9aaK2PQ5!I8W^^lUG^N?Q&?L$2KcjTg;B^seLM4o_l()>B(Y2VL{!@ZAP6J&?n~ zQvoGMBjQ>>r!0J{E=|Gt%1sMb3*VMpi>Mi=yErYy!Fn4lH2z4sz5_$bq?$SQ%> zW7h-n8&3rW1TeF*f^j%Py_@Z*Yxe3w9A4Z1uPX>h((u2Y z8;KaL^HJ4n=u!d4lO?EpuCqX=YnWk=2hO&q%q<41cVc5XnZz%hUA?C8Y^1A-Uynx5 z1e_4qgz69&h6xvG%Z$7Zvj$$?ha9?d@%PG%nE2Ce^9=8%vnaBNximaL9^3%##0en)+X~u zGbl12M%T?ESgJ!I*ZB`?=T)VvA8)L^SLvhqE>~4C&Ty}B>+7P{p&8$XC1DZ3v4vI_ z7NfL|%6UPdolg=wT&p6_kz$_HAz}UGx>Txd0?m$X>SXP5C8)pRwRxNRdoC?@+%Vdk zu_L}7ohg=TkAcTP5{Zn@b2Ga_rI%UyPIaj@wbFb|;dX;F&xeirEcJdb;5UFhJQk?5 ztT9ZQ@6x*M{m3IRiTrCI%+PNR0fwsdqZWQn#(h>aLyJDnMVGFzcG+i+B1id* z)M=07l&0~YrLTwCBGC}JT##7C{-Xfm7p-Q=5v98Kn2$k`3`OQ=!)jn4;r*rey2{IAFH+JA8S@DQ`sRt z|JXyaCCANww9AlRp|ro}0{7l-;4q(KG@ut!3^|TKED;mKE>9a-relPhJ(3Skg+s9G*cKy^ z+S|(&Q#})UB92Kc4S#!9g*%P9SR+yXaO?_+m-pOh&B_}@c2$iqgD+am_n(~^dK?n^ zA+=N~{u()HhP~i7mG#ogq`8~ECoXXXPbwcWN@ThC2=fpj1i%E#~03 zCPm{dOCrk{pQpl#4N_ifAjr6oSZ4dA_6p%j-&jxI_O=IHui`d`6q{Vqq+OrP`GO!x z6-#<-v|Jr~K>;5c2&_QK!HaoCTeIJ!eS94A5#9TS*i~G=xTTT(ySHMtfE#8@&dm!r zmUc~s%lPhLL|v#AePLx@iZ1y#W{IR8uRn;|dHA^edFb7w9v6EtZsAQn84sPWlmX3t zK1^t;D!={1Lv7-1=TPc2F`f8!c+cm9rgNUhv1$nJd<96HK`+WfgCgX7}k{(6mop6=BTmHZM%P zElOEg8{2e5F|unF`iBh#jXD3274HvVF6{U!bWvdKu7SD9Ke~;LuU-wC9XfH2kdDCU zLY=LfiecD&Ul;kIb)4$9L~{g1qfNdP&%BLMOq{`}-CY)F&flwj&{ zv?a6CV<|(!!*#dZeVLifRNxO9eX}g|CN2xXtPXY^^)wpUq}Du~5kJyQNW+IRO-$sI zLsYmemGsiC(pv8!Rk7#!7Z+6dQFJ))^)Ay6TMKzx^^wEX&0c1kR%mv$S3F!(t3Tkt#`tEpu5VzKVcSY=FrSSixL@vgc9?{=)dos;#u6nwYYq+aY;ZXi6ah zr)T*`c;9Zbq1SmEGt!- zc0-d*?cR;l`iDW$$;a*)Di({PF&i;&sk~d>*&bJ zP*LaZ?vcz)OroQ#7pUX$u|#~TYroav+TDb0Pt0x>%4@kg_Xlb25SbW9aiwedNxS3# zW94wsIcn>3-H))&@KU3`|M;P(-?sif^RL~~eEv82^!YB0a>}V~%#VnU&YfcP$Q}P- z{_(SlU%iN)Cr>dTbLrPBtdq6IG+#%1ygCdjw3!KsGU?7SkX(1*6d>5lJE`*0IQFiPOw1Rl2>-;48wsJUhBj$&P zN3I`qJzH2$UfPLd7CB^UOPMf9omvD5o;Z;FRF~9xJGsKZoc(~L)%6fPQa$Jt;e}v2%~= z-l?%d!etv}!mJ7F5g~Ko%_RJk$L4{jm$qe3v{7w~;wY3nkue?izU$U`oLmuNEP&GzR6o_Q4X$pw!sC%(^tFF=CJ+)sb|QNR7*tw5S$N)!HPxfE4H0RLIvxJiVYgM%Iy z=O%BpG0(6f8oG$qmX_{yrr_-DnBP2-lD0evsHnh0N|>=ts6bLWo>FMYFm)y!MU=Ek z;U=BQ%LL1m=OP(A`f-K6GXJI|R+BBJ`tToH^OuqSB)B!N+-{J+RXRm#8T>!eCNeu? zKT5s`CwMvOdraN+ZT@3f9@9s5>@Htd&ye~U%6sV0cS00}SbM~sSn4C_@G_KJGw(lu zoOtX6f#)T=Mtsxu!EO>Q62`A1Jh~Ll#Xr1nD=pCYz_V_z!Y|dPRU`;Yk{PXN zHpt|a&9r8J{yiH1^Nd1j#0F>J6(}TeUeieKd7!-s(Y%Y8A_>Y11huGI8y~B6yDJ&{)@;~_rYB4}6 zgp8q-fGlv50N~e>EB*k0z|^w8`bERRp7u=;b*j^xs?gP=v7`mUlK=gs0r{cnf3bk{ zi>G`98V|GmSWRNLJ%5fXLWx(R|JX`55#*m(8pe#ACqiL?oq5PA@--zaDqR+lT2h=& zRy|noneRHn(6(=H1OFBo9gR*kODB*weH3@Q^gd^AVuvl4@Ht&281u280I2XdxFy6g z8!Z_4049qMu+?&rRXPANYrCUX|M=wOaBDv2MkQc)=;~1_bpNKr^9J|?jFX@4fRPJ# zFvLFKR5bG%^7@Gly^=10fr0sr`DV~|{KR8`{EEk=rn(xx=N$?-C_=h_0AQVfRm9RB zVE>YB#EuxeH6|y-Kqln{{NdBO5Tz?n*j{qi5yE|)4ijwo$-a*~?TON{)C%fDRr%(p)D>z1&Ou1B3Z7kE5w zC7XnQz+XkMwjkEl13hfQ7+NBQ(_Gx#RCnHCgrt7x=)ldx6h@kSfD`xF=X#x7RMjtXg0JO)5M zqPfkW{nWj3@I$7th+csl1UH}5aTh9@n9eeH&Vvnt`ym8IF1hKgH`uzMxMxAUC8k6h zp+1-o1%f%DiQm1lACZr78D|Gci z%=3gqt?+)KkLOg_7w;gCh3wE(D(TFH3{6sCYP~2G}Fdy#Ntv8qq5fa zc0#1rYr!ne z%F0?~fglET$l!~mlff|Y_Sr@_7b)!Enydko9(xjn;REzXRP)+hvNmYZnLpy#dU<+6 z%1SH_N-M%Dt6kg?ha&8fRn!MTiv#woC#x@eZyk8APO^-l^oiy#KKTsDBE1Sdq^oP< zw#3amT6^z#MY^@>Ff7^ zTen@DUs~M4iyg55NDaKvD(=OYo5*DrFA|y6liY%b;4BKbI%;EKs(SG{ki9G3@33>* z5b*>&){ntK7iAI;7~Hed*MSO?7Z^sgos<;u#WibZnKW0ZibHa=;NYR#``7MC4r_=J1eY-H08I?0mz(1&Aemx8<%GN>YqsX*7dMgu{M% zpsEyP?o_~B@0fl4`gLTX;Qp`64hvgW_Gp|L9WXDq_sXX01?@406&d^b`1-cXw!#(X zLxp96?4ss~Gz2n?UbEL!85@;ft6D2bNJuPD227SH%N?4)4dfK2Ut^Lws$@*OB*O7X za)6|vK$5%AQDm^~ZqjGdsqN<@+2~4+#zHmVI1_9*u$hR3`eN|fS#2TuQ8qR775upg zo!C36kGhL}Y?A8{#a~bsjI1Rd|HRd8Wcb%ZfwvrI&+Mc!(qkMb?_Oa2q4+wW z+^12?(OH9fNX7=g6O4M=fSgTukwD=AH#a0Bx>tNESjstn$kX#jf4`t>7&2Mlwp*NY z;BqMzYHM8OQ-8DT%*9PmZH@(DR=l6RunW!?j3&TYICoR|?GxEc4Hmx2nS5QE_`xT# zD|Er?tL`?FlPGMDT%gDo&DmLZ$L3!JAvpzNmWvP&*6q&47E2bU?r_*TZSDA1sguQR zZfo1u*gnPly*p!-l7U7mGI$lOxCl=x4hY4XYjXo4wNvhx@{D3=h!&Cj*r-GcWefW) zV0#1W1r6C(=Avs4#WmDRek*?Q#9sag-L+Dvv`v|`%ShZBzxBP;4GO@#GTcAV1sue< zTW}m}H@@Sk^;FpQ1yQrpc7v|sH^E*4bsAmHE6uM`VES<0b4pud~oez<{}F z{AwE4r21Q(r@^!5P7yl|*3{kFt-j3Y2l@^~cScOE{{B;5AZcTWUt^66vSD~<`9%LC zMIRv?qqv@wt|}IKPnHbqJxlM3PU@=JR6I@=c(ZyDU>5LsbcLB283{B}bS--{lQgk0 zL#|FU1adv-^CXB(s35~=6J?m?-!_xdVJm(ZJbNtSLC1A}_<2b$rs2_8-X?QZN-{^{ z$0jHuUHM7*$O1TkWpnqu9O8@ux!>KwrDR{cZ@2xE5SDYo@9#flVyv+|1u#nRN)!vn z6}F>ncReJ3F*;wql( zcq^cK2%D53o}4evRb1WSTf0h)p!J9|^3Z`h+VTh+UH$#$*Q{-^?RaqI+EWMN z;#(ezz01!NWmuU+3(pNezhy9C;x#@!ON(`-ut)}s1<4N2r zri!a>&Vd92N|EyvP;-xi?Y=q=$wQDI!=XesJ8Vvm6-qQIB{A!`Z7lky@Z9(vX*g43 z-vz;BF|!Wa<$EEnVHn+9SmGR?3~R!YC=XB180}km52qDF42cFJOYEzay)d1{g+uBDb}EzeQ1RWYV+s~og3z#gjO#+ETHs>T`st_3)v(ui$P z1>cUqp&mjC_C^nOjB7^}f4qPJ&#t#puD3to4#cQzOQmR}9Nl(N2T}m@r_jBP9eF!a zZICA3O=4eS)Cv%5laftkM_0rz?geHcaCCHRZ?;}Ut4Y*pk5O#4SmpSbcBt*Pu+N(L za{kaLATQoP(cnsadT^D4&ROwEg9zn?pM$8;gF$|dt`;$tlBAv|Ca-o>zWx2++4ZET zC>9A1anY5#)Se??Az#xk#4z{$xe!0otHDnCQv|GRo`a*!t_t3oQXf}d`sz` zqYn%$u{k(AHFYOi;av)|!hS49Vx3q&*eY#NsN|)5dn-;In<-e0Pt>TYPqVlYWu@k92wQE<$$U3h2vmSH@B;X#r zK_m~gCZZjuQ2at`@2Y~nMRg@V8c;M3)xPRz&cEp`3!izoP~`IcGZmysZQLG69~HW{ z#oh+K#19dI3e3O2pJh6ViOZvdzwhy z$$~k5bvVTKpv!Gq>2fchKWCTV8<*@k9Q;Nx=0bo<{xNwX8KAtpe1Z=OL2UHwW|n_e zRgUHjLog*YA?uIb`6EybH+80gZ$R^8m^V8&c{4u#)tlsgkY>>PglM4ZCB(6|uy?4g zUr(R6Hym19R~ccA!<%ew@p45=gL7xe2f*U!7Il0^g7!(R^Im@aAn0cp7%+SQOD zy)RgXgXS40_)==jiHK?0*C(GjW-J&i6J}(`Zmn3gts#U8UZ}(=qF!@_Md=l02rm+n zvt!mMXT*GcS|)|6LMOtDu;4A#IIcF}M$;;(K7tbPpaO!->DC*HEnYQ{|bUq#bLw zN!LNSQV5||(;{5^AMPKyGQn4}A5$1=;c2v-`EFHa3SSF=V#=y12<23;Q5x=*aJc2nM#WVe%a#BWVJTzKP-AJ)73N;>KUuWb07_{fi0Vi-^Rn;dD2`Uk>+ zb{y?T%Y`q6=q8*eU2Y5Q(0U#6L1%@AJelT8J~f+^%FfeevT>WKrohuNT!G)Rp8;ha zJIwq10|uO@nnNYdw-SVe*<$Qi&PmwO16K9|JM>#?_VyuAy5o?-1p9XVo(8EDx;VL7 zo4S=U*8Jtm8Tg7^PW8zk-4#utz!ASjj;s?dC1`_NZAcO}Nzx}Wp?R{)*q2zgQ=ES2 zW?tj-n_5xRu*s08yUsulde$Ij*;6{ml@zMr(PeI!^y>s&U#VgzqnttW+k>l$K6@s24_rlG>_iZ+SL~(zRm3Rde)$>S8`rL|LRcN1d`63y}SxPUp$v8 z3^U)N|^~;xdj}TJV0YDBNssVb@*K7`m zJc^N~qK)j-6RWO@UOPAfEw`_)@57Tn1?O4<@V4S7O;!lOv}qQJ37mE_0>AhCHw}PC zSP3L_NhZtYc5ZGiD)%ZhsjE$@k=?%aAHB1+n{TcUmLRV}>iUXudrNlYrOvPzWm})3 z8y`G>=CE*Zy4<{*JwUI!GA*j^vci4>pKYq!OM``T($jZCjTkb1ZM}&=a*&-OUsObd zB){USreUOYzzqyzgfSq2j*~6z?G3;9w5f~6`lm8Re{~O|iIJvzd&tN^y3_XJ)83aM zi}l8`5f!4uHlLc#P1Se91x3GlaK*!iWRre>S5Jf=+QS_A8)iEjthdY-NN zh^q#p8UK+83#;(uduH@Vo5GX$&2HuK^NNUgd3zUq&JE5Oe^BFB+0oY==bL&6K{#ja zMz(G?WqY0@na>L1Bd$fp$v4f$aGy)~6IIGXgx*W)!p`(7y5{GA+2y8-3U2@l0Patm z!#Aedd3TlXv;F)Ze0vFRD1&fa%s@xRsaW27rKxtapo!7Ymm5NyrN*>Oi@;HIIFK~o zz>k4yiNaL{hOr+${USg-jCIAwAt@Ix4DCtVjqZN*I7$YpH)Z*~5LsiaNdmkBIqJ#= zpO5;l&7dSYlB$;*%aUe_2|6By@@TidARXw4u*V5^SnW`cwrlWf zyr*z$Gncn~`LZTD6s52Mk>8~~2@W_s`N@(hd!9KL@>eLmdG*SA-@dDMFy!{X5^bq( zH^6(zcSanMGSo*GMVy*iFDO`L=SA5@cG?`^6> z-r}^ChDOrl6jfxamfpcf>uMF{+7LiZ%=eoS`a#tx<4n=;UQhRC3(Jm>|g^sn#Y52a}|Jg|c$v!BcZ1Ej^2Kj_)-(KdT-w2BzXO>Wv&Cm}Ex^#|GI>~v} zQ%#;2bs~9BbH&}380yomA8nusEW&F7P#GKaKVoL@vgOl@8$BwZ_zS@?j*gC6zL6f$ z<}%`jVOa$vET}fN``jh8ne{jQW;%LlecaQK{AEj33aQ-(vITSEG^UnXMbdM59}ju) z7#W{qkv30~pG4@cSS7f_foLn2C^r`K7cfWg2Ub&d-zpKb% z#K@~MR76*W6BTpOXiQO1TwD*jf0%m%0s^|es{9OFNUL>~ zHYF`H6p^@$hLU#N8|g0>Pwd`E93sANTZIEnbskwvZE$LOS_j}GpZ}cKSA>t1ewP_B zmsFDZfi{g}%eI~nj-I;~L(dO9WqZtBFw)()h0%q2GFA`!+H1J_KCsU#&;qp@&*u&z z02cg0bw$T5-q=NeX@azG@KX1PJU4=xFt)?)>1B@6qiyT2I;Q7Lxeq z;@#e62jVta>TIFvrE`XRCp8oSp1O^+%z$R!57J_~fVf6(_CW6GD=MUJ!bBbfz?LJ5GH{7fU{XE5C zRyYoKF*9unu1+8y006(kRG(@k}+mYNrcd+CgJ9Ft7 zYlarLsU-ugt-LQ=ybU4}82V?&Q_G5rf4vD+RNk;@)1O%dt6E?O$h_C)ue9>ALvKRhW!_BcF{xXhsDvdz(Okm3-z;B%*1<;P30%=|AgMD+ z^;=IQ?s0j;O10Iw;5gJu^DPKo<5~^xREa{&8KVW>I__vt^02H%Y@1#B9a9~2u5$@c zMP2s7KQ(y&Vp)_(W3O)Z&+1a7n?{Y66P8Dta@HT)W={kP8zC<LawIeD&FbKVC!hhc+6Nk<2_kn zA5$4;;>aPdvprEna4r&_v?5d~*eofl+n_@o-)vYaH|ISkfbY&YcT4?Zb}mF;N%FeJMaF*DR|wuBG4#Uu_DJfQEA=a- zm~ymIxHdOeS4-cpVXOIw&DQx}%*(_4CF>vOtrb|_ebK+=`sk%~UgTBuQ*j}TyOO6Q zDS>Jl8X68qZ>DgOSM_M^9@KT$`{GOlVpxW|1RKhvBXb!emXJyH-IpybJesX>qhdvG zwcSsAj||$P@>yWmXGcoPr(af<` zLT3DSgHruJ*o;n9Zgre)Hcr!h8vuLt`|KE$jsTL)y-J!mF_uy(Rw~ z*SNhK)??JX+j?)UsJT+CDz~LRBReuCallHF@6<@kx98s!l6uCkSDSDEcRC#wy@HH8pSurIk9K&uwq48H{oEn+&pK6|wQGxx_5Im@ zFCDipL*4|$RQr>?5174f6wZu}eQOd>etdGcP^>uFiF3;Y%PiO0b?aDHi6qB~{>*(e z-2cmGs3A0r0zd)|ts z-HT>F0>>C8?5d%IcRgn&t*>fWl>dJD;SOKDO^MGDUDvr2ibraqToj90XH`(h4|EV>8`$QjSBIDol{;6{(FY+r~mgc@TH2c7FH=?Q9SPw;q=1O!X=2?-0 z#$OAJjg0MG-FLOjggYguC&J^9-OD_*GCe0cKo4#5_PB?59lslL^@7TdMc_m_to@H4 z--3RnU1dLREd;3$biAW((2=iY`8Fe8lcX;O1O?fo>ujzc=i&c!|8T5#l+!HW$NS!2 zk72la5;T=p|8DpA;hguqLqipzolB_uYxGW#Z_NJgy|KOR+P34zPETH}atN3iXer65 z(f)AC3kpBGpSX*TZ253i%Wq#r&F}s<4MFPL&JfNxZdjq}gD4RaB`|^`I1?-8j%7 z^tjXRa)e|yy71e#vvST?D^yu=`=7Qd9jY#qk7|wlbC0^5Qsvw7&rkKA z=bcI2Fn0x>W0t)9V8+iiqY|rD%I=GA@%bDk;oqpPrsnZ6FUBJk>lDnU#cyY1kl5BC zajEs*iyo8M!|w_w!JvL?IIrqdD#q8~SP8tMVnGEh;H|w!>zYz>&Ek{zzw4?xmi0cW znXF(5#FP4R^Uxc_R&Kk0AItDO+V9^=bALbdAv zFSr;|y!-JK7!96o9^KPZ0l)jX3(vcnUNG$!TYq8z`J3o9;$0y2di~{bfWX^1%PXnB za9V2;iCEcLO)1#wOOx>Jj4e?W=4K_lmJrZwk?p^&yt^duH zPV`DCX7?nG8I9uKsLTVk^mj!L8&-_$uo4!we2CtNLh-a_a%%3#vZ~*GEV=NlL%KPL z9riWFj!8)a&-d=+U!KVR=jr#%n?hEg{AYfamX-$k{xKY?e*4LPgxJGKc6wcHG+~vY zR@L0>J2Tq7{kqkW4~6*|WxNRxa(%pX4`jWHqR+T%`)vuwn>L+#02KDCg;xF24I&-I ztSq`SNCn7G#7_w2jR*?XVo^3UQ~iv@Fj=O@N^#~be-Kc_V_c!j#N&=fbe zU-rs%zQ52*kcjTsVopE0PzQ_Qq5JSl%jG$`@DC2n??_&qb`j@EDTOZ)@|0Ql%MuVv zuRpfd`D!1VlS4O%&ER;_Z+0(wiSXctzwbAD_sW;k!Z>$Xc|V#6R(nF1*C2r^kzw)s zwRgAvw=kSgy&vYNgaSkb!eK#NXDV6lp~SW6duq zB8KDDW*gsJ$m7|n{=owD^lKJ66WditujVPe*VGhzMX2-Cvi@RwK3y+{uq7FG!i?<3 zYU+l=`U7&)gwaP)zJS?==1?k`2%*{f<2wrrMqw{7ff&JDW^u@TEUT}pI|2XJX=NDM z`^8{KEIl*n{hhA$rRI7ah*4|Wy(bY$jC-#iX7g4JCuoUQR>0chcIkb=!om{KQlMAu z7x%oKbf}-It*2*ut@0J^hZJU~wWXrZ1D_2hqL{V)p1FVyu|M;4WF+MVL*6iC)%Rk-^+mSUZ8WnoG8I+FA&l`}Hhqf#SAi$o-F47JBfzrs*k$oras zmF*U_IMtUJigSYq+K1Ewu_Y!>>+dc|G45PB17%=+z9no+1?jA*W{N;WeCOeqUE%le zemOpF*^drEW?@bSqrnWBds0}#;28Qa`SLZ4#(@;6_zo8%O*BtfEEjgiXGTG2fOV!% z&W>M!4la2KlHboDaCSz&k6I2kvggK`OXFuibfajsQk{zoKAInFj)h+Sf}JTb;p(tR zN1}HOm3&Yn2%dw?%=@#83{Mf}biEnUzc!-vVJRc_s1*T*n@lLaENE-!oKTbBr>t)F+}VA2|>Aan;KY z^&csYAyjttOc7d!4gRV$Z1ViCM(eMFgs0|ZqG5nem1DUV(*vbol@rGF>IT?uH?eDC zvPF_s1kM|_20TZEpxMoRf$ASLm~os|gT-nL7#N}WcN*_1(ugwR_{8)yoD24~WEst< zZPm8MtJFR5V7!0sv@t2xb2pqkz4H_2oww3+h%cRNCs)g2T8oB_1wKB zC_}wUk~K>sD^xFPpTuv1ezAKta}3ad!|KqVf%V=gD8^*X!DV(aAc*4m9@C2;f{kx4 z6$i8zj;_pv=Qt#Js0t(*LU?7 zPBKI8gKPhAy$?yPy3eEwn1s#8y~9Lvzv#kgf=5XCJsD?~U?FQ1Xa>g67wkb@%Yt_V zgO1X6EzM_~z#!f}Y>U*d`8GOSs#RmW59BAig$}K@4q0iQ7aEkuUYExjs1#`wKPCZl z7P`Dpj`OZ#{WIZxphSo1xNMy@6PwzGcM!^)%9tBdt*0MhQy!?EHPh8w!DF{VC8uMe@`bM$f zd$D*dlX+%+4i-cEYXcTQ6U&yOAf2pr&`$7)10bn#cOm4&0>_TgSi-y1tL{ScyJ(|aPNl(Hm}?$Il3&Ll zWlaT|7f{a-Cc*#&LRkX3Y51bWMNHa1+%mGAd?v2kIV%w=flBJlsG9wfJXc&DY5;ZS zVt)6nmrFh=A7^CSS2#a+Cvf(CRiVMz2pd$CEHxiil=b78URKGXk&7#}*__0GTrPUM z(W`~;wyKC9`hBivuW1FLf3op8ztzzThwi(4mGY1?d=bj16SS2i9vAc9$=J7Q;@+e{{S9E>{>id+X)nBvQy^{53r6eE4ZX z(g!w^=y#F8G7tX)pIa9;)eq4=9so50V=WXk?R7V0^-ILjSn)PrK>O**yOX=OI>qAB zB!Xky@I)VFLkL)3rOH^Ia|IUCpclq-YVM6(zhtY&4lBMDxObVd(M7nV!LLGr` z1q6Hq8yngtFj+SSrXbArAgp{4NMcb;@ew?LL=I*tkfuLj9fohApEEVzNn%Ib=u~Jx zF_yj$-$9w}0r)fw2nc{_r~Fw9{DUEc2!>feOc?;GI85DOMyPS+Ya>ko2v)@O`a1Fb z`>{Zw2j(j3LTk8$G%0ks=soS;xL0%&rq)Xb*~I;%ehl~RpJeb{2Btw?={=^Bi$ zP2s2k%6|&@@*v!Qb#-;=v{c<6)qxf!43KcAdB%&%TUY^SN} zXH_W<%&%xQ`6+?lO#^nx;zz87D9YpZ=qoBN2shiSkJacI;&*%pmOo@I_Vw)o;iRjp z3v?{57iX0b=G3w=2uI_;LmjnLn<`1b{Bx%1&RK*T3=*!KzLjqMJnhHMcn$b|qiFyG zvWic2^(oBfUcspJ{{2emetWbKAR8_{<-=$@bWz^vK*U?6^^t56I+{yl@cegRLQn`O zYGIw=(i;xaYS6tn!XGj1NmX9K#3%(87|=jM#v$wa$d_Hu^DX4-8n6LRB>ZlR7DJ2U&VcPuls~8qAO=Gf3f6 zf>G9cn?x{#0zgE0|AN-*U&l(=u)v~}cVn@i0TXIwhJxyYot=z$Py^#_Upq6Ue!|#W zS05Mee~nRGynh>v!>nI>7WTtO$up2u9gO{}RH&RLRHOiwkW%XH8Ab`8G9CUYJCS$psC{N z1ULnyP4EhM({2Dzp432ia)?S@Y4lO8jTf&LgI24xHy zIpeT*)S0w{l$>THwRNrVphf$8R6KaJx)eLC}r}>3%h(XG&(?6_Px%j{07O<|1 z=b%uc62obn`n*RYjN_h6h9M2To@hiD70GQukC%?XdMA)-^DU;?)WNzWsdG@;pwsSG ztfY|-aHMXM1v()v1Tt(406+kNd~WY?v91{g&MY^ZaBUyVFEQ!- znT^M!O;PrL4^9BE_7E6&PFPvZQ2G+k-O5$Z=`GPHM8Y7Yz^r{~KWu2eYUUZrQ^T%f3sg?3 zpjMPVX-#_f2C-^J zWR|V*IJ5?C?a9f>JR_rMcOx=3jJ)8y5^!kikIH}AM#u0M9N0NlTBmRbm;z^cY=6~% zXr-?lK?AkQ^BU$t1I-&u?K z2MgG1%hA8|q*cA(+$n^{A^;a(z>@2${Z2${OBGajl^%=egX!5)dmhrGWg^t?(K8NU zNUdGf(ch1=8i>p5u~Hf=vxnyPMnqVTrxwB|$Wa1gh+9jNbOpixYx;qog}FI8(Zj9d z;CnH7P=RQ^f8OB#AR^U1Fs#yIvFoeV=(GMiO*dLR+j8Ik2jBu)U6Qm*V1Z|I$j9=C zT^J$1TI}3CS>d$V(6LQr$#^uc)BFx$Egtba$5rM2i~6Sy1Z3EF%sM#hzBC~oNJ_^< zN@r`vYWHIm$91Wt6wkwPhL$54m9D+Nv&a$?AN}OxlL&gXs{VqBYDE`p6_B@d=|8Mf zX_miDSz_F!YJ1!g=434)7_~l=A;a>ij>~l|yCN9@Z4nOIELmEN0V32IPVMI6k|OH3 zKg!vUs(n$B$*cq%B9rb!5n@z_N<)cIwS0Bl)vxv=Y&Y8B{eT16UP*}vvOPfj`>O*Y zXr0Z?pon6nC5M|^T)du#!)zRXztv17Yk#drB!R8Up?%O#9Zf8-*fvcZNCWDgP5-wD zhLYtwC1l1-$vS*0ly|Kq7KhfBmZy&E5xm_A{M8mFdzT+=b&YP}kdWVeE4pkVFK<_% zoDnoGj^0>DoQa5-Nqr|fAVdouLe#PxXec`lK1JQ=xI>uKvv|;I#vC`FKkbl?bpSt8 zuUlLFMTP1V#!k>!P+Jxi{*-vQ?_7Tw{S)F~();QIhC zxp_daPmd{^C6L zTZ&_jRs#c}fB#EC>wTb!Hob$`S2315^cSLF2I2*csaM71M1^M>F{p?AWb z+C}bS`qj1b3=tA?3QZEe|Bi-`6)pV_z!30EW2F1E^g5eb!RLR3hb-#-r+7%<{}&Gl zGRXrZS(k6__kR52k28*O%61dq9PR{vWU0sbsSxveD^OL?t&8Yv@wjOhI6Oc%hdgc=;+Ys6y-&F6HM|1hP_z^fwBB(*leYxlZ5Bm!V zo^q-dXtjo!Lu9!U3bs#pmh2O9>&C5V*k2bQ?fE>Ai>-Sx&!9oV@7`ZwYgj51N&og} zs6-+(M^TMiRZ79jAE zPO}U$I%|4%K!NA@S+$^gF8U7P2Fbcz_1AJiFosfE=jsA#jkP$R2Cz~52N_|Gu-X=A zQPcUW2#@@7%IiYx=TEPI!VT*U0JoxOJrDKYzW>@;Y^5CXK*J|N;O!rDsWlbY;JQ^~ zInJ5c#c$8kRQzvy(jwE-2muw`0VXuIJ1-<9Tj1n6T%Yjg;;>%RbYToK24)usH-N2a z@Wm-OP!zkr{K;DdXd;Itp^?~BcDr8H!8$~Y~L z-#>R?Wco0kDVHPwM%AJ@tZB`fgGG7S75$%|``m)c32tifbtRp?Blf4zMFAM2lqLbg zf^$%OfJN`QMZdm5!(wNmf2#if4lMDj7|VDS4J=ArPP&ujS(-{m0w17^wqnyPb|fOG zia1l$@-Y>r+Z25>P4S#oRo3fOpK4se#)N=VYEC3w#TMNhlspSv@w_XAN-Z`q#5a2{ z&QAAG7eYJ{V0sZOQ1)u)}RTvSdV}z<^gtNW^s=! zjIFI}O{aweXEX|8qO?9N2?kc-+LP2FvomF{R8Czj-Zs_IP+4(;h$a`G`%;{tr2HhT z?l+1RQ|jO55oo=?&;K-H*%yjtbdQIs$_Zv#HRAiRCB~zUE57x_y#y$M;PV2W%rtx+ zD|^sZ9;{Cg&Z0-%_CCUhMe;Up`9*#m2^Dj`8Lm*PFH^6zcpR4kiX2u3Kad&*glW}1 zIai@kKqKN%JTZ$Zv*?cHHJJ~J1iS>y@Og_Z1bKP)w9C!s=jKWsJ4c&>@l4vI@?C-# z_^X^G1cl8k;s;xTXw$g4YlMk6hqnzuEh%g+wrmGNa^UL(ozpw4_Q$fm`U$mLx#i>= zIgvRFE8=rYAt1|7xH&#RJ6P+%{tJU@@PK#}gW#xcy`DpI6nOlCUj$D?b8fAvzRqRQyqhQIqdy13tMEMkvMGJI$3Dz~egJm^FN1I$R?W z3Ij4!LLSul@cDH-FTqMOjVRfbb3BjLA?5Ceq2lNs`z%uw zJM;Z7&k3FzM0`c@8;&|^8$v9KJ-72JVhP{xmvx(_JXoi!uE-3aml^7oPf(4el(aA6 zg;)E8#k*2G1fTWA(l7YC6s#2dj;oV$o(CQYGqOI(g_u)1F1WwA_Ga(D+Z&6;`?XfL zGnP1?*UW@ezyAqsibJqn{;;MsOL%^2#{)1$yWt3pYk)K}1qD0_qBLv#cb zY8D$C*d~3d-V75`61c+T^wKEk@7vPD6SA-_41l4BfCjYcI56*KXe~2iWR$^V*C^OcdH4(U4^gz$`!a-9#iZN+R>j7L8FIpcd_Ww6HVqpe*`k+dEjG9 zUtXkJk;Csl+1-jz`tx^CgZ`Kg|5u^KD;hV1H#Me@6o6|Ytg5OiB=q{~MJ?;E+!CJq zt{v=d!?<^RLNALd?NtiacmIs>lB!E^)CGR9jX zE{IP9tB1MH_;Qef0EzDk4yEN+S>{I6@B_t`WK=hcllr#57qT?S=Cf-MhO1GEpc>$~ z%4!=)+api7?K$rpAtR(1|K7s`VUNHtFD?$q?jukt0a8`yUTGJgoo{6cyy%LaNs=^5 zv0EiYW-7gTbD!%jqwbO5;i*^J;r4U^BStAa6)YiEC-dXM$#xH0!2PVkuBij&)2f7`E29kQ_i2p?OMXvW|(4N zSEEcWJ}t;f@BNl+G!}<_8QA2`&Rn0B;Uusb{snxWnx8*^8Za8D0gMz@I6gl9zqIah zpZF^Ot#^N%nZRR3Ag!%Jtq@Y=exvE@`Y2pDKo$g3J+t-&rrVZohiedj`cWBY@Ffhz ztDV+K_+D(mtgL7O$n-_47Uhl;5GDQ*uOu8L-cKV50A|k_xeB+#0tbfGx50RiYzAdX zc)fnOODUaK!{Y=}0ajqs@Nn1-g2!eFGn?H>e{H7c=30Phz}_MXI{GBs&v36HtZSc$ z{s6KwFBjLJ1n&&}K&1LNZ{JtjmyeZA=t+a+%9+S>MUsfzH@Ce_6V_(mzKD5A<_iaV zndziX>FL38U)!kbT7@mr!R9@FNcMrk7|W`k!PS0qyR8-3`&Y5!IHjAzsc+xb{$0P?sF|zShtJ9n6%432|AG==PS*M&o;jY^vl7~k%Y~j*0ENG z;o$4z;jt-j<7znBH-(dVxX$aclko8!Jo@1pH>dc){GQ{33Es6t{VHeVCMlR645O&t z>FtHamzx(JAObl( z+=!;tx~7z36pXiovkEm!Be40?qO{>Yg>@PIkTVizegww2x>fdclw9eaJ}1~eLnW{@ zr57P?VypUlrd-U!CnqA$3AZgGbElwN;|d9bjK)99m?^S=90w7R=ARp_8Y|$0oS#5d z8g`;cAK~dM#EQbdB%#yDp{xu+o*?W7l%MPX*OlVV^6F}I$rnt1Y#Lc0M-hPnte;Lr z`>Qz}g>*e^OO>(W1K94Dp*7X7gDEbj{w46tM{^il=d;-46ElkEz4E_154~gtw$>{hE5A&99wnT3TnYzEc^wxaT ztQ4Y&+|`$W>E(}Rqz3S{-UYpQh#k>D&MO*KUS0J9S;yx*P8&p6ShnjY4w2I= zdfzll9GQZO&*%SH(rOj*L*-kki=xSG?S6r(R2 zZv0m9=4Y>uGkpBvD7e3-T{`;uOQnT{uNjDEv_*ckno`eJBxj|fx4eVLywp=80amv_ z;mTh)`#|o&OzD>k=jYMH&Y0ITFI*LsJ+P}d2`%&5TNx<K_(#%cbB8>?d4TVV@$El8V?&gZZKZN+WQ;Z9OF+*`Osw`&ur6>jcjUak3b~I^}j~!?B0x@LZduS`u(#xBT@T zfIOhCDD5=8%!`U;H%_H(6YdM00doToodU2A!5IDNNvTzc{v#qXhp@FV*0;si3_3R@ za=t?gX9M=0gQrV!@7@MYQ`~R67yqGGs{dA*K$&K)W{v^Sf~dqkZ}08d!T|jf;>D=IsB_ZF+q{RKS7DHF+~D#beqz%HsBK5Z}Sb8KA79_=i7;vOZK5K8F+zX_Ht~{LDFX>No3g3 zryxDxO)8<<6TaH2Q}icFClRO__QDB5T~CM=_7J9bWPWwzK1eoGU(r4o4{b~s;OvYQ zPer2@lfE#v_6ti}P$LBbESe0VbWp$VR@7=Z+|`FA>;B%726$0;AXsWbt&w*gIkRE- z6``7^iN(pmc(+Q4{+kEkcC*b=_U(Bl8v7i5!<5+iBzn-Z`Kg4 zVqjsC%ZJp~0f~(k;EB*p{|EQ(ev*&!+_jI4h~P-M05eq^Rkik4cE28juADd`<_Wkj z3+kQW`5tDbretHu#Wb#oS#k`TUw)fPG=EPfi+6m)%%Bl+pPy&{*bM>(_S*)Q*)!9s z!Lh^Z{P^CACEU9oQw0vdhXQW(v})MIaOE9xx#E;bILOQSepdSoV3Xl~9A|2r|Gel6 zP(sDvyR~=QbZ_v-KeD-N#fgR9^io%Bcj)_fp`Hj;Pm4v!3YrK{NZ4|^{NZ!(Xx(XJ z)Tpn3cqK}g$BD$!CNxfaQ@{iE=-2haI@PEfg{w0&ZzSoGEOV|QcWy?J)@M~1`ge48 z=F5#eqQ8DKeZDVCzFh&*slO?4Kd5}>3|L!_``$q!ujUt^p9fpaCEE>`$=tK|efxHz z#;Lp1&S)9QKQEY(semmgFGScBpd`=Y3OhHiW5ntCnj!tErqgx<#WK>R7%<@FX2QE&|j`OE-6}CuED6ov1&tf?xk|ozmVw- z;c%xC3-5s$Wt!9X?~SLjaE`I)8V(9{N;jHL+8$8HzsbDmw?re7L9 zJ)CUIjC4C(c{}|cPz4$juu3s#41m5Id6q`=QE}dLYi2rT%pm*6PF*_vBu(7!&FJ;M z9jPwnu$y#<2Ic`(Ptpj+V;>kiV+2Wn8xlq+pD5 z%w~jhG->KOE^qdc-MDr0=5tbh|N6o^UNsmYnFXn|K`1<*$v!Q|V z@|xcOu6jqr`58p(BE&@Lq<@8|kZni@-I)v`PjXRcm%S}!M?*ss>223^CC>H~B}jQ* z)T{BpT9TH|+{YOw3;pve4cDdKven3T4az1eWmHtOj*brMccd(B_HBk#V(d+>`>P0@ zrb#FXB(A8d4@z2C4CP@NVwL9QYe&#(8Gw}qkprf$tSo(ywUyO+vAB`gL6}Xk({Wp5 zj!M?a)Nb>z_X3V(D~^N6(BX%YV{xg@{4scmdY+Xr7u%69knKkUX>4y+8cB+x!e zt%lR`&OJuc$?=s74=={M6k(@WPHR@tkC{X7CC+gm+n4~$ndaL!ytCqeDdcG78iS}R z3|Aq6E5x+ibbAJPEE13cWI&$NmGoEvQkiowSoaYLxIzXO;43GB|1-iuou&Zk8;avN zLyW4BfoPL5<3~Pq<$k6QeP7Vs_Sfj-cf* zf=Y}0)vC`i?3|3!SYM9SAQ#Zw442?RN!`!`6xhV+WZf@%Xlvg9e zr4k>fO3e(Rx#M+OK7+%e_c7MJeTv-|gmbU*IF9=+L{4KT5iG%;?#0zxkiWAPIa8I^ z=0tr)PF6*R^x2EyK=oS67TAUMBZG0Pn%{%unX(`VlyaS&ofT`>#JQ{VU35z&mZU)m zORP+8zBma$L{V;e=6`u&$;EM$nc0LJ$7|!9Y}L-qV|l;yUqvrj8BnTkN(GPBUfN0O zDD^fX{M&VR!GH}Ql@3Oa$DS?tVp59vpPw10DKp4~>*XjP_^e|cE60&#sAsk$*a1gv z9YYL>-c71686UV*+vyGA;+@^TT%)N*!9YmP;?CIFVQA2nK{#;aKly_;oD|fGy$vfS zQ@vEg7fn^Kt3B~35cY3GIx32=V^@{!pQ|zfuet8(XnqvphAf9GG{8nOuOD z4csAuf%>}}#YsN~n4+i0DMCYjf*N}5dNhmnBn*K8<)HM)2Tv}9Pa}!v>_R87*3B&} zlK58>+xS8&s=MQPH^DPY^U=3pI2+YiIU}2`$7(0Q$Fpso0q}$}^P!dAj9|HH$KEV8 zRd7)QbTNZ%7gBma!zaDL1jYe^mkBr%LpI|}L*+?rd!U5e+2Q%a>giD+Ul+pPqy2uW zYH&+ZpPFM($Or@5GH1TnxqK zf(n=|B*43a7rsEvDG{$DPGI}UNM)VwC9wX{h#vk+MLvo3daOxYNlDuo77lDuOEa_k z5YUZ-Q))Jw2@apU+ju!IHabeB#WLA{5v$Rn_^uk+eS0fN$}K4dq`@z)z|KW;)YnF zVn~2F+;PrhkE}!wlfAE7jg}`Z&6TL{TuQ(GRqWrRM;&wR64`GORf+sy( zSpXM!4!kfDJ}&3qzc<@Gn;WGTZOqN-yX%|^^#Ik@`s#jsWIOvSIB0x^N~X&-iRo#c zsXsdL$=C>ltnDw2^nn2ba3N>tUM+Mry!~6UZEarg)X(k- zT%MhoaoilWdXaA3l;;pX2vmmbqrge_$w`Q_VS4%%vj(VB(ad@~HO@+VfUpSO@l?+- z5JPPyB%NP!1~F*=l48yH!H|9;uR}ct(D0l^4^%vHUko)WmD}W&NWwkx;{lrqv}Vvr zz5DXsJ$@|$rp99x&u5`fnxn2p^aY}O*oud#SE=HhBGjm^ILQktD+DxsLO5desMs{W z`B6}DYCbjd$;ssc>1$-PjfacNdF;Rnw%FY?yTz`WXVcd%-7aVgJ7f8^;mwN(xE|dm zZdORxs-8zQh!IrVdr%}_YMvtbfhR3`(R2Ai_kXZ}bs&u`33x1^n)|H_Bz}p`1VMMa zI_pFo@I@e5UH|;n{`}2HkJ%fldF|!`miQg_@QW#C^z-95qc6Vh)n1-M|EjI2$^7&i z%;cI4;$Zsp;8Tw3wRXB|D^~m0QetpdqJXF+ZYi+r&^y?*0U(Z47BDO_BFofn8XEpN zVm&DU$F-#f^2EoKIE5$tnA-~6f6*84#*rCCWTTmTRO!jUd6?B5Bk*dlBTyb2sAKaF z8_8*DB|jZ~PQ~-5Pl%gmld|nitibPpKZZ#MOu8%{-dPq74xAC>?LxKoC^*~%UDxn4 zx3{*kpDCvRB>QnRj0A&}2aK0_J60OEu>pVT;C zZhwxKW5tGPZ)t1DI6VafZjZlWKjEDb_pLOjos(5T>8XcEde;c z=Xk|{h57@RPdpw^jf$Z^NV+2cen(f=R>0C?sydk{0f2DCz0X_=8GMeidSz7;)MAQw zrlEihYgTN=t^ooHfCEiazzi$58S|^CfN4G}1e%X*w%;1TU}JwQk}h&f#RP;S7k(LN zRAPC({rw&LQlM2n9XV(aQk`RDWP-f#p!=?gTgvkGE1(@>y0+5lb-_Ke5i*H4IM`;$ zS`G#jM|$6umY20a&c{=R%_6%pySi$-M>}Hx^qGaO*xBjnkd`Vywcph%H#If!yGLmD zf*c%sT@Z_U+tk1ywQHw8Uj>Q#3#hzP%l#@{fb)apr$#-tdpM=J81v884u0zW@H!m& zI+DirgmSilO0gBcXq63IZRC$2$f3VEPMcGLT9yazgA{iMmqNTcIJx(Pgg~Jz=G|^I z-^Q`H3Gt5u3>w;{l6*OZ(7*+FIez`xmnGMrKPBJ+lt7;_YP!$vm!B^0k)!p?UG+l3}O#tZ1lJO>vw<;7<6lQpi-ogc`^%(Viy3|1foHMMd55pvXfMkS$!?1j!a zF#0jvNT|%_r=L<)lxu+)xQ=(Bq55U6YQ06!(`c62;YKwd_sOw6EjKSS-Y2NOIByOm z4OJ%DnSSfVf@+KZMhP5vcD-T+t=G7qQ$VoT{kUIjVNzD15k8*lN+iT~Kic}S8$&ah z%;yD;ne%zsg@s-h<1SfJ;lO0_cc=hfT?b-rjL+%Zg4yw+lEUhi07~On^i|cgl$EAV z)}cut8#p5?T-FADZ+e95Tm*l0eE;>mZPXkh&r)S+bSmAA=H@>vA#7o5PWFwvV<$=^ zF#e&UPoB-TbMugJyT5>F8eUypwKg3Xu8N@0Tc|oVwqQYvC3;*02CiOtr`HvhC-ZrK zJ~AJdtbI=|Y}{uo2j>Bw{jeh4Ip&seXTsZ?)&SV`7SVE3RL=}p3}%!2L2R4xX~?>y zkKXhprAx<|SG)&A)%{s;(x?p~9!Ed|BGYfa|I3{;4F5LS-3sb=0DKjmb`FU<$K z&dBa!1{zwp zZcJEM*q5y>Wh$A2k}@l>4a)xTfU1n#1iE1IB|JK1(YE@TRK1q0ziGZ$Q%sl_5s;VY zxH0;cFVoI5nFo(a?;ETED9x%JHy9O@UyDxR{VAu7o}l{1ia}kfqeGPT`>_7ch)^pG zF7MvQ$r)GVV=OEWhLy=bhGGE$o^1ckl6*wJ_CtWAgveDr&}Obl{-^I~OZ|ryUi@#g zaK?Wd9tQtOGzCwP|Ln);tM_p8_GK}NMe^{u{@gcgIfZwJ%?ZqAFw8Jpw|c!UlQ6to zpM;Xy3|CA8I?@|`z{AKGIU+75(cIW5d4GRrAh)onLRar3&dQ2m=r^%=h3-4`kiS zr6GOr&k(J3@gav#F^S#nE8i~ACd$ml)a`-AtpP^EAlCrcXt4h*&-V-*f1s*!SR1B; zqC!gF0!X-^(hKvSs&sRL>;*X6P7l{*j6OkQ4Zi-u!opuHo#TPaPK`_7Vt7c(^%C4U z03n6WARi2yfIn6AwfLhzerkPH6?D}y9t&_--bO=f>X4I_%~VJ#D9nmpi?Fq|O(P<{ zgse}vR`FQWW&hM^q*EHmz8_O114hYulhaMP=vRD~+kCUN?h_C=0`UV%dFWob99HZ> z$q&OTqvS%CpHbi;1&AaxdqSU{&=NrWslM0w+s3yMoZvE^SnasKG)b&-@zvf;QxpFu zeK%1zv{UANRSw|mV_<0LiEuX zJgcD}v?!hVc{8)KVARJ3rxD2E0wZ512b7N#>gz*N^1J>0ZHTxY48E6A<9cv6m-Z1e zb7bsP?JFd98_?E9mI1NJCQJifYK_}a!3&jbz*Hf_Eix?Zb@>AihQGFd=&|1G>0wmJ z?;Q#HTlFQD@!=Qxy57ArE+LoOt}Kayom2 z@bLjsh;9aX67blmJL4XSZM}N=QmEk0ZAqQ}DtKyZzn%ke@bc!3n@+sbWEt ziC#Ccu{%hMUjF+2B<2Dx4#eS+_Q~HDyqcRcJx>3+jy-K*=AP7y{Zj+2YenJTbaF7=Kwp}Yhy5?#r*DvMrv(stPb;< z#T*q_4bFgJ%gzGb3teLfT8&YR;^yoV5M=W3IBpJF0qGphUuBaIBtZL%JzN{O!(Lwc z#T4w0Q#mJ%d+BPxy7uMPvqC-o44b97F`4{Np?WwM_b#3ayb>+E+DfAOss!F&eD$=z zp#^}pWIIt=7BsZ?ux7~bQ1OqgD?R)DiQf%oTv$O0vUU)d*<-oH+_;nW{YcjDFc?H6YoCJO&x~FZo2?LcNlwo~IZa zQ{C~83$0Ux+X@X#A^qx>u$KcKUEx=-Q!43B&vLIiJ5TkFBw9M(T3>wTm+Q8QVvB-lC zRN|E|AUMLfSWvx@dm6MV&S2&tTB`EuBAY)5$e-0t_X_Q{zI*HAB9wtdL`1m66A&v2 zBxx{VH;nU=|HQ$@MsH7_44KK@7_*0Wls{_d9sy3I-z$=m5Mvx_szwjUyFpX16)UxZt4OQ z0w@faA7bV=)Hg(CJ#hfVNIzIP>7*=bvvoZWlV$;g5N<|+vVt87w&zuFcxGc#T;yiGOMW4eaF%{8@N03j8k;Fp*c4!hVv$II?rRp=lQs=}Hj4nrg>)uBnS*5Z zN9ivGFJHfgdN^g)YEN5Et}`J?_2Hw9-b(g`Bn62q5K)8Z9jZJ*w+$kSga{Hi55I}d4}E8 z4VQpHM3L>y7wyT-p*`<$?wzgO=TVeteDLuzPy6h`f?w~{*7F7+*}r)+2Q(6ppdtb> zT;2fTeC_zuCNJE|>%0t5u7;ppn#We-ONDyj{oNemSrYU$S0}>WaeqylX;td)=B$WF zqC9LHUUGeF)f4+%*Yw6a9Aj&a0=756> z^5!qJzgicOzDPPb!`cD{kfM!fx$RpNx5M?-@r>XKBoT0L(bSAFO@MSnPDt|d4kYxp9n~rJOxuK+D!Y#Ion^b z{0*kv+b^@`B@ZB?&3f`=JWF7N9aRmi$U1h9wugs@zkioN!l+77T=@N)EEEkHnR|Mk zif;5RA{GK5bbdE#y<596Sy`c>-7IxyA0b=wE&Uhcf3SeGVk4NuR)IY~1H)>1C-3HX z?fc_2M#r)4&4B7^kd8H@6F(#}`VJzn%Y!i+7!f-=+{lL;EBT$D5*i_g(2i&&Y8mHz zJj&-*$gPB98XPl|9^2^k7BM~5guF@!>3IxH41?Qji~3$xFccaOBNu^328*-|gi8k- ziOw3xH&kh8vY=hJm~SOQ4iLq z>a5SJPWB1Ol!3R8LDf83wwgT5WiiNjC)lsXZU5(KWR?Ufyj(|HTVQ|@PW+W>e{lEu z?$^J2@ztX$?}u8ns6nzZnSft(Lp%(qcfs|bxbzD?-wVlUg+sHjyWMxcaeAECOWB&Z zyn3|@cF4n}7WYW7yh{haJQrzKKx0Ef$9LYD6NCd_v&KBKE$}5Y9(}#NY!4qUO-&WR zMovA`%rotQvd3Y%{w=t~iF^hFxyft=WV9OEjYP;j0luR03DiUQ-0ZfW99F4`$MUpZ zz0goy7d^Uh-NWO?!}MB6`lk3z9t;zVO#Lb7JL*Sy`1r=b7Hu5$I)gMc2CNFub;wCd zen*K|45iE=x(%|Dkbeb!uXNeP+gn*$l8xiYQSXeyAmy*JofWT=5B-DGlYaP_*j&_m z_*yoAB1L-pVF~gbjG@6^VN{h@CwBw{B&{V)clPB6?qOr^@-U(**eKRr0353NQ@qw? zcV}LvMmZzw0T~$q=JHqV)u%7c&eao@bVLBb_l>GX__XcrWKHbZu^tWL*`HO5OI?g(-=>w zrw51yhB#+>e_8_CJ16Lin99Yaefp|@4=IS2E4Hs+owQizvj5G-p?FdGFmqK@u*~_Y zMWD@vl%uPjl=lDJUHp3!(#EW0ygz;Y;;xjw_fLtdF$R{A7IaEV!u9^XzBfdLmvfJC z*f}|{S?~QBa)`w;U>b*VB`$6gRq_fX8M)VrFL~xJG8*0AoT34aGMUE%$xoYt?!P*s z-oN+1dR@f{9d~bIUD}`JiC%M$?p8+az_NYHx}y5SYf)5v=iMd88BL}<0bGpzy}j~} z>Zg})J42-{$wSYvCpKMQ)%xge6GN>R3oG`YSHL+Ut`I}*VJ2Xr5Wz+pUyx-gh#wKw zu9z-hA0Q|uQ2LIc7o!!^Ye~_|52jH0nmwWl3WdO_fPi&cje>+d7m5c{zzkpnG*$To zaH|cts-fnJi_3XiaKrZprP)j9d4Nj5>wfgb-@kcxksK;bm`2zEV*p?x82j)1{^14X zu*I+B=UoYb+rCqJv>Gn@Jsd5U-aQBRBZcP zOeH!?N_q838&T=k3LjC@{>vMaxQviPW(Zq}lJUr<0KdlUl6Nb@l$SoE4+{Iqv^6Rz zB_*ZJ$tIbkPG~2f#syIPV=oIAR|P1@VYARF0Vyk-u8U9=7YobG#^w^zoFMAu_l%gn zl+rCmz!5;-3k@7A8@+bQo7N!Qc2K?hDgn|A!<>&vZnF#TVcvM3P(#QmN7+>a_g8*S z4#Mm=y)dMaHe=0suSwe$gJF?zLMJ!#Y8QwK*0PY^mRXKo9`5s;3UN^80pDDokIL*y ztPchB)5?PaXp^*K?otZfNQY8%Wd)A}SUHy++-wHD>8(Io0ho)3>t%9frIyh520EZh z#gn9&*J)to1n+Zc*E$#!T*5*R`@2@)#)7JwG;N?3HOR8jkT zTBFBTDfNDFWDrc3MiX8H@ljWuE@^i65Yt|LtUVYTxe1S`5vsaW)ocOPYf~%Svl!Eg zXDQm9JHOxEX9u?LWRYQ3fo}ELPCLvGH|Le0b@|oX#{Rti=&=n2_(;Mmr-aQ&IzBe` z!2@zreqcJbe$0RyM}`jVO=TswGAR#c0T_Bcg+VNz20n(|iu= z@!RBRRJ^KKP~Fx(Z}xDVoYbd1R>i@B|I*r$OE!IVW-M6{zJnJxt6 z6qqCk@wzM4Rzx$rDjEA1?U{kJRMfy&8vw5)L-5pBc5VFm^CllEt=i{wQwfx8 z=1Ew&AgQ~Z6nu{c4;d=1p&GZx`-?d#DIY8;J3u`V6ck_%Ce{+-;;Hzi&z?cxF)r5a zNPaJpH$nkRtMl_z*Pa7&FGct!Ec2|43~+Bff=jM5hV=pPj1h`oJL+oGR%Y$_gp58S z;j4Wum{554_J>=bnDys~nS6CSQh_W&;eqNRQ9aOIpe+G@SfJkgom|Pl5tj1tM5vP* z>3f*0yTfFjNMn4{sXsjgC)J+8E(SmQ)j?eamZF`7nHfa*CQD)X(yyT*?W(=UA|lrv z7Gjn0!JSQ1wLczOEQka8SJW;TS-^1&y_2%(QZR)WO0b!`2Mctj2Y?pP3R7%f)Htzx zO!4;q0Vm4NBFk$N@BDgE>i}51>AS40k2%d*%L2G$P@=4QtSGxW zQ5{`(>49_NdA_e9Wd&wE4A7}T8AnXyCmFQ*L#NuY40!lpVMimMumr0bK1gUGppyeC zJ>%2dOsNk|93S;Gs3|DE!5a;zSb}n^6<##NSW=i5JgqVJGw1>{<>~3?OBMFZcg0iE zfavJV3$6%t0J?m6-f(_))|h8tFe%`?Mf#Dl3U>4dO3X~hp+N4c>xA<;KXcz*U5n?k zwbEp3!+i+kzPOv)A9LX0gETuRP}>rDH9*q^Ba>7jYj8(e0S|&)^-gGxcH!j$JXbF? zm*MN{n&nzb=H*Ya58N@65OaKnj zp@9Lhb9T7C04=<2CoV3|U2Gzea<@rguKN}m0kh^-J5bv`sBSZ2hoivwAH1SC9u+9o zdGenHR_ekaPA0lbQ-iLiDuRAaNE{&ny#k=W?`qOv3!y1CcT3ySoHUjmY^bo|WMLWP zRhW3tzq*Zzn!sf{gP2r(fP}DOk5dHM62cDZ#DehxAbguQEE6-=51n`vPEJ@AJgCG~ zo)bK_^bUL#e8{;TlAAR&!!o0t9YFSQLqZ}O4ib1zjeHW%@;A-#mb z-i!7ZNsx??b4IVF*mZOdygwqYin`*DP)5Dw3tg0!vKGHow~0G>oauFbQWg?|ZlKVs zl#;>%EnR|Z3|K{9CUBRi-LjslooH;N99agR4pQ*y{POI{72mldT7d=(m6cDZI(_vC z`;r^~#=?~sP<*E*px^+5{tPx4jm_K-cD(PmV+d!b^kL3rDhCI)(U-X+_CFRVsf zb}NAtv_3YL&h`UHdO-Gzv_FE@yP~234zP^9Mp&^=wX|f+k09&^e9hj30L&?fhOSOx z)Pu?Rixo_Q;bac-hHLKAr{*O7(sS4&^;2KhG*7x&;em@LuIy(54UotTGNl-$zSGNO<@DJt6=J_=4cX(#}Fm_;>yfmWN#IL(B`qzML#cpNIAl z;ms*E_qq}v6>8a>uS_wYetKM}#?l!Ja`S)?9TYp81ER}a&qCcAV;jM2+1O&K#fN~x zWoJLOV`+1OwQmVETrrDA@e4Y>TS!RNdG^O)TYz`|a2YLyD#4R__TFu*2Kzhrlt@xD zGKjIUb+bHW>~q6!!M2&o8)@c)^l{#PR2Z{Sx&rm$vqo+vAFIJ9om;9=>?ZQ_lOPcy zB#0_dO3REWzDp(D0j#9)$`W9+gGB-J(^A@7Fhy9n@VG?5m91}R0GgDsrOuOMx-loq z&4JvkrH!#H1*mMr4kvh>uJA>Q)I!F-o5Ce=4ws`9ZO`XKd)y96HNJaYME*ZreRWWk zY1p@l0)mu))S;zCB&9((NJ~meH%d#FG#nJ9Ly<0pLGTsqK7 zjeh<5vJmMku{LKWwXz@{5*%!9ZjP*;y!ZF4?(ACDN{`hVE&rZo6Z=qN(q6KZ`wZvQ z)9D4`$D=&k@?MHFT7jp}cjVeTIwXC_4uF2j%eDVjtd%8wucq3#0b(PL6xjf&2(+~= znxsJ>O5l-zRi)mWAL=yW3k)n#_jG{z*(nx;)$_V7sbH3wKEgTN?Qc3o@QZHwpKNv3 z9vmD{@W>EcyT+>oxr%>@9j2pnJ|l+ub>CA=^vgoE5J`6EYPWTo0o16Y-g;{HT_As% zKF_XBZt5v$$v~e*+)(X!7#0!H+YlQ+ot04ip={ss|u1? zSScHzpS3;=UXOQ`JpVq_qxXEeAf7-7p=mgSdUQ#RntY1={0DX)2N)*VGe8RrWG2SD9l`y3dtay600VFb+}0E$z2OAhi9@Xa?kOorHJ2E- z=?1fUPOt}}r6cv&ZwsU!A%a6Pf&Q_Bq}80eNp85j`9VS1iOGP{(FomitG){A*2^vM z35HE8im~X|`1tr+m2eaW#sTJU-WlTKm3I6XH(ZiKVw0JA?_6bjh5)ke(d(OlaL!OX7Xuks&F1gCEy`48~;z~(e`6BwD zgMx~_mxE(ApZZZ0XI{UX;W0eyU?LC|69bxZ91LG;+RIn)DOBDF=+pgJSf~J(Ahn=9 zr%C;AU*F_cbR~#MRYGQrVHEloJSw^AmLH>int!Etf_KIY|#-|a`vF8YjWUtv&#$&=fp z5n#c; z^yDm!;S|%IK|>2&ZWk|}fo$9XhK!Zn9dVrsYiJJmhW}Ox@e#A)GOEyXY!M5-O^w!Azw`$mhc&BO}AZZ32;D+bj-f@$GiI(4wMq z_UCsF-;Bza19c&)^FxtSvSfoFill1&Z~h=Id-U%Tk|<|YOEW}z{*r3c)`JTN;2F>? z^&r~Pv^Wcq8cY98EIYYAz-A$lp#=rjur`1`hS7=;{$5$>7g154G`Dgn(-5!z8;^^K zq0_u42|R;+3D_6$L*!b58B3HBYhVJgx*Xt#(V+qz?@WFec1#0&!IUxyddtN71qyX- z(szK=J%U25^WSJSXq&-9Mza?GyJy4|+0|_z-mmAcmj>^gpu5>M?t{j&1axBOO>+AX z{tZe^Cku;&e?-=&8|vVl0IcO2F0MMABRDf5F6|5A%NsEpgBre=2F1)dSS{c_wf|np zQA^S-E+GNbnJ!Fhyf^f>fR+ICM7^=Q2UaAIYjEb{@Bz_rJOtWCNU-YaQov}y+wvJ! zLY+&5EILK%_j=fGacbuKaZ%(r5zR2Tyr%P&8l)hnpol0_^s$MaiiU^LyI;?86!TJV zGf3r#G-J?t4uI~alf4OmNTHk$dM@(C@n~2v2}6(z`;5Em9PuxW(+vNt4%<(DrZQ}n zN_S;?DUWCU#zUj@vlR~9UaPFk&OW0bfxjFue&~`qKeA7~;0VBXpQm=KJ8)+uE-LD3 zEub4AoiG^95A^q!!TL1gBmG`ksXHIsrb>D<#4W@M_n51B)mXX#RH_~$Z zMWCiVNmPN}p=#rigx)%04zgJI**XK*!WT$LO>u@NC(k7ZUH<4u zr27f+GLu)0;0mTZhe9e6@Ur{DebR0e>%nz3H83XWYJCD-DWD|VdOSR3U=IPMtO?vJ z=)*)5J(M1Vw*^{ZNz}_NV23Jzcux|4Sz#Hdt*nG>b@Nxj z{c}|g6V8hySOXL9ba_a+HK}j6cEWqJJBB^S<@Re@B2)t6;4k$|QGNi?1$2^-a~qJE z@OldiaX~`nJN=3R@yjMmtDTI~@BJc$SPniPzUP)JA86C~4wS313GNNGjBxETax@!* zl@3tSEvL^{R$$2C)SB-+10f{j6|2($#u1HX!;v|z2WKQDy=&4kXdr+OJfxwoF%5gk z?vD^9ku{P_q}`9SnT`Gp$*JvewF2XgSK0k!uC zUzI#Nj6U6UlOUu7Xb<;7~VM zY}Ga$`UxVsAG&4gaq4t2+@eC<;KYW(u#JwNu3TF&Gv?4@7fM`tZ+O8t)Y5uL=;6tb zNhC(hHaCHyyD>JE+ar*-A6|NRhtYrw#?Q-NXc9jl&`9IP;}BkhH2aheg!*FVevIzZ zEGO&_go}4YF3fJ?_-s`?x40pk3_kb!;DJF9DB6AWx)B@%BNq_vF2dKd%O7Nj7S}Tg z`4tsKmJ%&Jb7s#W6A~R04ULG%HMGJy5j+O)*30P7@cGQ;Cj*1e-HQ7N{t&^AO!Y<< z+mr}Lj9)k>G?RJNx7je6Of@3!+9xHg0MXMcdcG!{W{#RG=T*`j7Het5O|6k0J+kQB zhvnvS99p0^Qp$wv#Mv$Aj&V)UK>Sjy>ShnDYTHV9|PN3mkko8;YQQd-Bc=-)=8*aau;wh|WYc{Y0|P$L+E1Fqm%^~(gFed;>e)L9S` z;=VkHg^c`SEw-Ps3F%0DE*EDU`MWBrs!6Y^i)U=LtdtP$E%FB1^}L3OIDl6~GpmD9 zAW8F$H{>zEM;htI>{r@0F4m*Qc=VQ2_n+sb*fF1@j1lyo`T=BPtQ`nK-4#k7yPYTS zNF3h~RRD5>A`|*@;KJjiC+g15$fp)f^zzb+8c@S(2TED6$-e569Y%cK zbEOJ*IuIQeQpdv&i>ps8)=!=hGK z#v(#0lmID+sG=8fy;-GMbOSX9G(pRf(oa>|Dz~2HYYb%BPZ^ZraxSw`T+`|g9cz1g zQvmbgc7P_yAglwyRxmA=Q%1_xxK?i~ssiY#R=~wJxdGWCHWiTbngIn5f`11WC%VNb@ z3O*%rcKY8@pT>F+=8C0(RPs|ynkcyL?{Hw&Nmq&+I$!0*w5y0}Fhj=7&dw%=_ws-G zb!TuEuv)a6l-H&yWVrJl13)gk9{E1o?>QFfEIS=xFgp)cmDm9*%6e=JJ^%7Wj|{6r zMx_5%FrMa7@#5V$Y>kOCCbvJy$og~b%;~+seTHe*a4m$6u#OlXp-%Oq>ULn zehb|i>`7a8O|BR`CMpj#IoZd4FE?ou*&YKbs$}zLHk$PpG3>nboy_PTFXw)U&N9EC z4FlySxNEm-`F0v23tsg^+(hR-r$0*!=aSlo#;LL84mAOf7))!rLP%F=kGx3IMD$xC z!;81Da#Fgk=J5TN+otge{3?*D*u`<%;!r$aC3UVclXomd+QqQuDrMCb;hPS2b|TPT z>mnkJ*liAoKJY*N-7l4|Mv?R>KzC419Vix(_%_ZIMlbenk?-a}`n_uzas-eUPR6E*@a`gV!+I75AXv(H)A zBd?pl3|gMkR>o;;RC$)TFNOZiSX=&%@r$RtVj;*d09za#8j^L?wo_D2gy`)a&e;S% zprh8KBg<|QidNc>C}oIHQc|*;oXBYUDQ%hQG+wZH^5mAQb^41m7c`Z8`c|0zbp4@? zab)U>TcqY8Oj?-SAmPhVwVq0?7`FLY+^YC_1@krS@6nvC6pTr3bDIt)YWIF7@gZ5P ziyj>>@h>MQnW+YR`L1vjcxe6OMxDfg-rH-i(6JE4L@NnG1A;Q|(S;0qV4hC7E z+UfxOx3r02_j(BbpT^4&Cj7K0hk?WO3n)+8XM9? z*T?OL_qFV)IUjJSh$5)2s@-e2ByYAAsdQ=Yk;ZuQ`)nPK2d|Q&Jl;?h@y`}?bVIADlDF~vgDt+saJ zM;aWB^vzZ9oXH)@+}%EBkYJ|C?+-5%K{0MWbaPp`TG5`38ZJYI$;ypwNPoUOgFA}7 z`lrQOZc7O+6Zy;RC5BSG)kSk_h zUJs$CD~X|@cU`vz7dzwj^QjrF{)Rtw!8Ai$_LzWyr7ev`IHoMj0BZw|1i!2N4;$;!{~`OtC3ClZ47 z;K&7LD#=9IoqRn511KHG-X->nC!!S%%?-`Do;v7!k;T*fCl}ZE=(n#6!YsVKZpXY? z>`NoX!GYm1mH-L&dVEGJ#Z@ED<+uLUtjEDNjVI2H+SFuhvwm@V)d$bb3T1w_$9ZB5 zZP_V)SUx02)1TXdA>IeIacPgM?cudNo;m#c_k!Rj^jGgWPkDj62GgbSPKSH32rTPQ z*T=Tp0-g@KXBENwU8K;pJR8-;c9)9+$pFopJ^;GJpL#%jK=h9q7WS+gL7({xi16@Q zbihZ<#YD`cHm`fFsgz1NghRu-LilxfYjZJuk7_rZxUF0s3QO0;J`v9^2$9n$>xQ*q zC-_E`58ZJ(J+6n@_51g#lOsjs+P(SrXf*g#F1;NZCtGCg6rO#rwyN2B@RE6I4y(*B zPzKtm70c@`Y)iu@XnojR@&GUQK`?UOix&}vuQ|A@rTkLtsyJ^v`)X(1YhSOO(fU?+tXjaFlqOgfrW z5VmUA9zYaL-LF~mEc2NxqXIhK+=1B!Wt98NHA(lySG3-$*cO3Lc&EXU$*gvl%B6{I z|3CXgRn@x7@*DD@M31$#$>KwHhN7Zd}`W)a#mJs$tcUsw`A`;T~Swb06M8er!;;0WFG31P=QQ?S$>DbmRQ*z^9Y2J z_2^u3NIZ1HX0kUugq*of7;I{h^7M=`f9?|J z;#d`gck63fN+IswYbTq7Vt7b=rPEHBG`-DCWYvGuv9|d>2DiX;B{o zsd=3c^c2#s1jyJMACMV7boVeF<^`b_=0~*ovKd6I4yI&%kwFP(jK>&*P}!VFsYapb z+Pw!#yWyd5o>^I0&&~Ot)G_zTKv zCMLd&LW!WfH@#87xkLll1|frDM>7%wPzcto@Uwwtj;Ry~L<>>!|F zku%G)ERGkh!emog;XshbK%KEEYG2%|BD zk576DYik_f5Y z?=lnCQ6?7=F|qyXA5AVp1wmNXbC-6g_|-?!mex!70x!3JF%mU2Ffi8z;kfNkhicJ8 z?a#3-!A1=)ZgGfjH9bI^Z8x9%*|+fWQDe)Hu<=;K_}0_*xlJE?d$rL(lBR>x(CIh1 zrYgHB110x{ZntKhUPvMaVPxR1pAvo%EbZM!;3I2~@H*xBy(Q}hDcTy$^4x}vB_oB( zsULm409{(14GLi*G-~i5kViT%GGjU2`K`>dU7Uu^BKK2Ml0@Ni0@1^pb)S`w-sOEE zupc&YRdmU=AtG^?a9~3Db-Zz<1`R*HZ6mI3SUolhVp0N|gH`i04i^Lf;UE7c= zrvM8Y&47gMtn{nB4K`7c4G3Sqc27c{@TT5C)yWfx+Kn)^urnK|Q~L#0aajB}0m)F{ zXyW-JF+Lw#TwE-EHr?O@q_*YwHU=_Rps>yaG8-04_Q!MDQ9!a}H)YVa_{6@EfX?1J z_VnA$uWQ_R$CW536bTNEF2=RsqJiwYP`2p+!+PCBZ&_{5Ziv69-CVu-G#q} zjuu7|?vTEDe~!BDJj8(D3cfW%;kR$4P9h`uxK-U*ub=0Q{TgD+>kkq5IQYkcLFLRP;fnP(udTS{x<{L;@}O@s*!b5>o8WEnb%tSilMfOLVq^=Y@SpH;8Pr#Zr6t`IVRs(reD+@4`rHuI4e+Hpc} z7b-qbc(%|Hqg;IB8-xOBuay}!-Om3oz4(yVezEHws?Im?QMm8EQX)I!V3s<3g(5Bz zVLZb1TD?$yQ_Iv#ODhg>d8!=eIJCb$JA3x)XSB)#Xs(3j7SlMi=}hCa+-km~7_VhZ z_=|K#QflgCx$4A#o@KZ}x3dx-A&S?w`yK`J^uKA(z@hYyy2pxe|)wwQegwYuev=cn|g+%8@8bA zH4V2VAeDtm&1*qjn12Fq z=hNH&P1Q2}{r^(6PGW21UY|rUlLk~f^*V59MdVZ+3h z+&cPlJ7X9TkTj-!r&#@TNbYPTXy+q%{J`%+lK%i9#p^l!=n!uK_aC?AzH`0^oZCQO zM9t?3Z>TF&ZMcH|d%7twa62;)fXvWB1r)wB3k`1jmE6Vf%f)5YmKd^Uc>>YS){ zkToCw;9E@@c3ic-ZxynRla}@>8}6rzQ!_I&=*sLo1$79esF5rNhCpf}fHE?^IxN2( zbd9{SWu(U7U&}GpE%gx$mGIVnpJKez z;8m_)u>=nh6kSnaVR8UCXxj7n^v}@80u>0X-EML`+;CEaJ|*Ip#|1&@I$yQ)m*d$9 z(R?S9Iw!!MdAo=SYeVk;B#!gThr~oV4M~P(k)n$?pTaci6iMGG0JaEwI@S z{7;S9)QlTk-H)EH#?M>ZLLOC0MrmnK&_y4p8Zq{-mA&xR@4qmr|KHAxi;w?!urg}9 zrm6b)7|w2m-EUT9e0)U`!lBm_;IoZRVLx3SEsYF@-j?6XpVd70EOjX;Qh-q}dd<#W zR8pO28dmbhVhYl;`^c-!?rlGHbCb>gFO-!&%^(QvDdoFsi2AtpdRCvsO(?HPaHmhvLX4f1u2&|`8*WS8zI)q9e+dY1qBFHIb zz8INJNC*xB-~^;bPl5`c{u-sVpb>PuInzPRSYcOD0QF{cqECtv1E4c2UC`~ujgN{D zO4S-C1Ys!8H6D;=^w6Yu>aX&3+YJuR1Q^!aYA97uLxv?-n(aqR!gl%F%oKq7i1XdR zA!uRGLzdjF*I(?$Vl>&m6VOposyb@!bbax?OYi?*F%*O zVx~6ZTCY_QeEt>Dk(}5H$h4ZXDBS}?=cVkU>bFu08xA&)mw)_7SaKIj2vC!N1^?+)o7sS6h_oSlhE4L^c^ fz&?K&u`Y;J+2iXO_I1O*xu7Wb0QrxMY4HC5qozT* literal 0 HcmV?d00001 diff --git a/packages/app-tests/queryStore.test.ts b/packages/app-tests/queryStore.test.ts index b3a674fba5..3ce0f99eb2 100644 --- a/packages/app-tests/queryStore.test.ts +++ b/packages/app-tests/queryStore.test.ts @@ -1624,6 +1624,30 @@ test("pins result runs independently and can unpin all runs", () => { ); }); +test("renames result runs and persists the trimmed title", async () => { + const restoreStorage = installMemoryStorage(); + try { + setActivePinia(createPinia()); + const store = useQueryStore(); + const tabId = store.createTab("conn-1", "db"); + const tab = store.tabs.find((item) => item.id === tabId); + assert.ok(tab); + tab.resultRuns = [{ id: "run-1", title: "Run 1", sequence: 1, sql: "select 1", createdAt: 1 }]; + + assert.equal(store.renameResultRun(tabId, "run-1", " Revenue report "), true); + assert.equal(tab.resultRuns[0]?.title, "Revenue report"); + assert.equal(store.renameResultRun(tabId, "run-1", " "), false); + assert.equal(tab.resultRuns[0]?.title, "Revenue report"); + + await waitFor(() => { + const saved = JSON.parse(localStorage.getItem("dbx-app-state:open_tabs") ?? "null"); + return saved?.tabs?.[0]?.resultRuns?.[0]?.title === "Revenue report"; + }); + } finally { + restoreStorage(); + } +}); + test("changing the pin state preserves an evicted result cache", () => { setActivePinia(createPinia()); const store = useQueryStore(); @@ -9064,6 +9088,47 @@ test("query results keep readable table source labels with active database conte } }); +test("cursor execution uses the preceding comment from the full query draft", async () => { + const restoreStorage = installMemoryStorage(); + setActivePinia(createPinia()); + const connectionStore = useConnectionStore(); + const store = useQueryStore(); + const originalFetch = globalThis.fetch; + let currentSql = ""; + + connectionStore.addEphemeralConnection(conn("conn-1")); + const tabId = store.createTab("conn-1", "db", "Query"); + const tab = store.tabs.find((item) => item.id === tabId); + assert.ok(tab); + tab.sql = "-- Users report\nSELECT 1;\n\n-- Orders report\nSELECT 2;"; + + globalThis.fetch = withConnectionHealthMock(async (input, init) => { + const url = String(input); + if (url === "/api/query/prepare-pagination-plan") { + const body = JSON.parse(String(init?.body ?? "{}")); + currentSql = body.options.sql; + return new Response(JSON.stringify({ sqlToExecute: currentSql, useAgentResultSession: false }), { status: 200, headers: { "Content-Type": "application/json" } }); + } + if (url === "/api/query/execute-multi") { + return new Response(JSON.stringify([{ columns: ["two"], rows: [[2]], affected_rows: 0, execution_time_ms: 1 }]), { status: 200, headers: { "Content-Type": "application/json" } }); + } + if (url === "/api/query/analyze-editability") { + return new Response(JSON.stringify({ editable: false, reason: "complex-source" }), { status: 200, headers: { "Content-Type": "application/json" } }); + } + return new Response("unexpected request", { status: 500 }); + }); + + try { + const selectedSql = "SELECT 2"; + await store.executeTabSql(tabId, selectedSql, { sourceOffset: tab.sql.indexOf(selectedSql) }); + assert.equal(currentSql, selectedSql); + assert.equal(tab.result?.sourceLabel, "Orders report"); + } finally { + globalThis.fetch = originalFetch; + restoreStorage(); + } +}); + test("Elasticsearch execute all runs each REST request separately", async () => { const restoreStorage = installMemoryStorage(); setActivePinia(createPinia());