From f33fc838cf59625ec183ebe8e51f55fb50d9f079 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 24 Jul 2026 21:17:32 +0000 Subject: [PATCH 1/6] docs(helm): update chart installation page --- apps/docs/docs/getting-started/installation/helm.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/docs/getting-started/installation/helm.md b/apps/docs/docs/getting-started/installation/helm.md index d768ec69a..0d897ffa9 100644 --- a/apps/docs/docs/getting-started/installation/helm.md +++ b/apps/docs/docs/getting-started/installation/helm.md @@ -2,9 +2,9 @@ homarr logo -![Version: 8.23.0](https://img.shields.io/badge/Version-8.23.0-informational?style=flat) +![Version: 8.24.0](https://img.shields.io/badge/Version-8.24.0-informational?style=flat) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat) -![AppVersion: v1.71.0](https://img.shields.io/badge/AppVersion-v1.71.0-informational?style=flat) +![AppVersion: v1.72.0](https://img.shields.io/badge/AppVersion-v1.72.0-informational?style=flat) A Helm chart to deploy homarr for Kubernetes @@ -429,7 +429,7 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack | httproute.rules[0].matches[0].path.value | string | `"/"` | Path value to match | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"ghcr.io/homarr-labs/homarr"` | Image repository | -| image.tag | string | `"v1.71.0"` | Overrides the image tag whose default is the chart appVersion | +| image.tag | string | `"v1.72.0"` | Overrides the image tag whose default is the chart appVersion | | imagePullSecrets | list | `[]` | Secrets for Docker registry | | ingress.annotations | object | `{}` | Ingress annotations | | ingress.enabled | bool | `false` | Enable ingress | From 3419805a49db49912e8a6c4b9c2a8e9a341330c4 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 28 Jul 2026 21:49:04 +0200 Subject: [PATCH 2/6] fix(beszel): restore balanced grid layout for Beszel System Grid widget (#6389) --- .../widgets/src/beszel-system-grid/component.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/widgets/src/beszel-system-grid/component.tsx b/packages/widgets/src/beszel-system-grid/component.tsx index 51e5d014c..dd2f56c54 100644 --- a/packages/widgets/src/beszel-system-grid/component.tsx +++ b/packages/widgets/src/beszel-system-grid/component.tsx @@ -114,14 +114,22 @@ const getMaxVisibleMetrics = (cellHeight: number, size: SizeConfig): number => { return Math.max(1, Math.floor(available / size.rowHeight)); }; -const MIN_CELL_WIDTH = 180; +const MIN_CELL_WIDTH = 140; const MIN_CELL_HEIGHT = 80; -const getColCount = (width: number, height: number, itemCount: number): number => { +const getColCount = (width: number, _height: number, itemCount: number): number => { if (itemCount <= 1) return 1; const maxCols = Math.min(itemCount, Math.max(1, Math.floor(width / MIN_CELL_WIDTH))); - const aspectRatio = width / Math.max(height, MIN_CELL_HEIGHT); - return Math.min(maxCols, Math.max(1, Math.ceil(Math.sqrt(itemCount * aspectRatio)))); + + let best = 1; + for (let c = 1; c <= maxCols; c++) { + const emptyCells = (c - (itemCount % c)) % c; + const bestEmpty = (best - (itemCount % best)) % best; + if (emptyCells < bestEmpty || (emptyCells === bestEmpty && c > best)) { + best = c; + } + } + return best; }; interface MetricRowProps { From 906c9f11faa339cc30939b97609987cb2d819418 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 28 Jul 2026 21:50:09 +0200 Subject: [PATCH 3/6] feat(widgets): rework downloads widget with mantine-datatable (#6430) --- .cursor/rules/mantine-datatable-migration.mdc | 622 +++++ .../widgets/downloads/img/context-menu.png | Bin 0 -> 215381 bytes .../docs/widgets/downloads/img/screenshot.png | Bin 21574 -> 124959 bytes apps/docs/docs/widgets/downloads/index.mdx | 44 +- apps/docs/docs/widgets/downloads/index.ts | 56 +- .../qbittorrent/qbittorrent-integration.ts | 2 +- packages/old-import/src/widgets/options.ts | 7 +- packages/translation/src/lang/en.json | 35 +- packages/widgets/src/downloads/component.tsx | 2164 ++++++++++------- packages/widgets/src/downloads/index.ts | 59 +- packages/widgets/src/downloads/styles.css | 60 +- 11 files changed, 2141 insertions(+), 908 deletions(-) create mode 100644 .cursor/rules/mantine-datatable-migration.mdc create mode 100644 apps/docs/docs/widgets/downloads/img/context-menu.png diff --git a/.cursor/rules/mantine-datatable-migration.mdc b/.cursor/rules/mantine-datatable-migration.mdc new file mode 100644 index 000000000..08d2b8202 --- /dev/null +++ b/.cursor/rules/mantine-datatable-migration.mdc @@ -0,0 +1,622 @@ +# Migrating Tables from mantine-react-table to mantine-datatable + +This document captures every pattern, fix, and decision from the downloads widget rework (PR #6430). Use it as a playbook when porting other tables. + +## Migration Candidates + +Current `mantine-react-table` consumers that could be migrated: + +**Widgets (in `packages/widgets/`):** +- `docker/component.tsx` — Docker container table +- `media-server/component.tsx` — Media server sessions + +**Admin pages (in `apps/nextjs/src/app/[locale]/manage/`):** +- `tools/docker/docker-table.tsx` +- `tools/tasks/_components/tasks-table.tsx` +- `tools/api/components/api-keys.tsx` +- `users/_components/user-list.tsx` +- `users/invites/_components/invite-list.tsx` +- `tools/kubernetes/` — 8 Kubernetes resource tables + +**Modals:** +- `packages/modals-collection/src/search-engines/request-media-modal.tsx` + +**Shared hook to remove once all migrated:** +- `packages/ui/src/hooks/use-translated-mantine-react-table.ts` + +--- + +## 1. Core Migration: mantine-react-table → mantine-datatable + +### Import changes + +```typescript +// BEFORE +import { MantineReactTable, useMantineReactTable } from "mantine-react-table"; +import type { MRT_ColumnDef } from "mantine-react-table"; + +// AFTER +import { DataTable, useDataTableColumns } from "mantine-datatable"; +import type { DataTableColumn, DataTableSortStatus } from "mantine-datatable"; +``` + +### Column definition shape + +```typescript +// BEFORE (MRT) +const columns: MRT_ColumnDef[] = [ + { + accessorKey: "name", + header: "Name", + size: 200, + enableSorting: true, + Cell: ({ row }) => {row.original.name}, + }, +]; + +// AFTER (mantine-datatable) +const columns: DataTableColumn[] = [ + { + accessor: "name", // not accessorKey + title: "Name", // not header + width: 200, // not size + sortable: true, // not enableSorting + render: (record) => {record.name}, // not Cell + }, +]; +``` + +Key differences: +- `accessorKey` → `accessor` +- `header` → `title` +- `size` → `width` +- `Cell: ({ row }) =>` → `render: (record) =>` +- `enableSorting` → `sortable` +- `enableColumnActions` → does not exist (no column action menus) +- `mantineTableBodyCellProps` → `cellsStyle` in `defaultColumnProps` + +### Table component + +```typescript +// BEFORE +const table = useTranslatedMantineReactTable({ columns, data, ... }); +return ; + +// AFTER +return ( + +); +``` + +### Sorting is manual + +mantine-datatable does NOT sort for you. You must sort the data yourself: + +```typescript +const [sortStatus, setSortStatus] = useState>({ + columnAccessor: "name", + direction: "asc", +}); + +const sortedData = useMemo(() => { + const mult = sortStatus.direction === "desc" ? -1 : 1; + return [...data].toSorted((a, b) => { + const aVal = a[sortStatus.columnAccessor]; + const bVal = b[sortStatus.columnAccessor]; + if (typeof aVal === "string") return aVal.localeCompare(bVal as string) * mult; + return ((aVal as number) - (bVal as number)) * mult; + }); +}, [data, sortStatus]); + +// Pass sortedData to records, not data + +``` + +--- + +## 2. Making Tables Transparent (Widget Context) + +Widgets sit inside board cards that have user-controlled opacity. The table must be fully transparent so the card background shows through. mantine-datatable defaults to `var(--mantine-color-body)` which is opaque. + +Create a CSS file alongside the component: + +```css +/* styles.css */ +.my-table, +.my-table .mantine-datatable-table, +.my-table .mantine-datatable-table thead, +.my-table .mantine-datatable-table tbody, +.my-table .mantine-datatable-table tfoot, +.my-table th, +.my-table td { + background-color: transparent !important; +} + +.my-table .mantine-datatable-table tr { + background-color: transparent; +} + +/* Hover: translucent instead of opaque */ +.my-table .mantine-datatable-table tbody tr:hover { + background-color: color-mix(in srgb, var(--mantine-color-default-hover) 40%, transparent) !important; +} + +/* Headers: frosted glass effect */ +.my-table th { + white-space: nowrap; + background-color: color-mix(in srgb, var(--mantine-color-body) 60%, transparent) !important; + backdrop-filter: blur(8px); +} + +/* Cell overflow */ +.my-table td { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/* Hide sort icon until hover */ +.my-table .mantine-datatable-header-cell-sortable-icon { + opacity: 0; + transition: opacity 150ms; +} +.my-table th:hover .mantine-datatable-header-cell-sortable-icon { + opacity: 1; +} + +/* Row expansion area */ +.my-table .mantine-datatable-row-expansion-cell { + background-color: color-mix(in srgb, var(--mantine-color-body) 40%, transparent) !important; +} +``` + +Import it: `import "./styles.css";` and apply via `className="my-table"`. + +--- + +## 3. Responsive Column Visibility + +Use a lookup table of width breakpoints instead of media queries. The widget receives `width` as a prop. + +```typescript +interface SizeConfig { + fontSize: "xs" | "sm"; + iconSize: number; + cellPadding: number; + showSpeedColumns: boolean; + showTimeColumn: boolean; + showStateColumn: boolean; +} + +const SIZE_BREAKPOINTS: { maxWidth: number; config: SizeConfig }[] = [ + { maxWidth: 300, config: { fontSize: "xs", iconSize: 12, cellPadding: 2, showSpeedColumns: false, showTimeColumn: false, showStateColumn: false } }, + { maxWidth: 500, config: { fontSize: "xs", iconSize: 14, cellPadding: 4, showSpeedColumns: false, showTimeColumn: true, showStateColumn: false } }, +]; + +const DEFAULT_SIZE_CONFIG: SizeConfig = { fontSize: "sm", iconSize: 14, cellPadding: 4, showSpeedColumns: true, showTimeColumn: true, showStateColumn: true }; + +function getSizeConfig(width: number): SizeConfig { + for (const { maxWidth, config } of SIZE_BREAKPOINTS) { + if (width < maxWidth) return config; + } + return DEFAULT_SIZE_CONFIG; +} + +// Usage: memoize it +const size = useMemo(() => getSizeConfig(width), [width]); +``` + +Then use a visibility check lookup table for columns: + +```typescript +const columnVisibilityChecks: Partial boolean>> = { + upSpeed: (ctx) => ctx.hasTorrents && ctx.size.showSpeedColumns, + downSpeed: (ctx) => ctx.size.showSpeedColumns, + time: (ctx) => ctx.size.showTimeColumn, + state: (ctx) => ctx.size.showStateColumn, +}; + +function shouldIncludeColumn(accessor: string, ctx: ColumnContext): boolean { + if (!ctx.optionsColumnSet.has(accessor)) return false; + const check = columnVisibilityChecks[accessor]; + if (check && !check(ctx)) return false; + return true; +} +``` + +--- + +## 4. Column Persistence (Drag/Resize → Server) + +`useDataTableColumns` stores column order and widths in localStorage by default. For widgets, this must persist server-side so it works across devices. + +### Hidden widget options + +In `index.ts`, add hidden text options: + +```typescript +columnOrder: factory.text({ defaultValue: "" }), +columnWidths: factory.text({ defaultValue: "" }), +``` + +With visibility override: + +```typescript +{ + columnOrder: { shouldHide: () => true }, + columnWidths: { shouldHide: () => true }, +} +``` + +### Translation keys required + +Even hidden options need translation keys or the translation test fails: + +```json +"widget.mywidget.option.columnOrder.label": "Column order", +"widget.mywidget.option.columnWidths.label": "Column widths" +``` + +### Old-import mappings + +Add to `packages/old-import/src/widgets/options.ts`: + +```typescript +columnOrder: () => undefined, +columnWidths: () => undefined, +``` + +### Dynamic storeKey + +Use a key that includes `itemId` and sorted column names. This prevents cross-widget localStorage bleeding: + +```typescript +const storeKey = `mytable-${itemId ?? "preview"}-${[...options.columns].toSorted().join(",")}`; +``` + +### Hydration from server → localStorage + +On mount, seed `useDataTableColumns` with server-persisted values. Use a `hydrated` ref to prevent the persist effect from immediately writing defaults back: + +```typescript +const { effectiveColumns, columnsOrder, columnsWidth, setColumnsOrder, setMultipleColumnWidths } = + useDataTableColumns({ key: storeKey, columns }); + +const lastStoreKey = useRef(storeKey); +const hydrated = useRef(false); + +useEffect(() => { + if (lastStoreKey.current !== storeKey) { + lastStoreKey.current = storeKey; + hydrated.current = false; + } + if (hydrated.current) return; + if (savedOrder.length > 0) setColumnsOrder(savedOrder); + if (Object.keys(savedWidths).length > 0) { + setMultipleColumnWidths( + Object.entries(savedWidths).map(([accessor, w]) => ({ accessor, width: w })), + ); + } + requestAnimationFrame(() => { hydrated.current = true; }); +}, [storeKey, savedOrder, savedWidths, setColumnsOrder, setMultipleColumnWidths]); +``` + +### Persist localStorage → server + +Watch for changes and write back: + +```typescript +const prevOrder = useRef(columnsOrder); +const prevWidths = useRef(columnsWidth); + +useEffect(() => { + if (!hydrated.current) return; + const orderChanged = JSON.stringify(columnsOrder) !== JSON.stringify(prevOrder.current); + const widthsChanged = JSON.stringify(columnsWidth) !== JSON.stringify(prevWidths.current); + prevOrder.current = columnsOrder; + prevWidths.current = columnsWidth; + + if (!orderChanged && !widthsChanged) return; + + if (orderChanged) persistOption({ columnOrder: JSON.stringify(columnsOrder) }); + if (widthsChanged) { + const widthMap: Record = {}; + for (const entry of columnsWidth) { + const key = Object.keys(entry)[0]; + if (!key) continue; + const w = entry[key as keyof typeof entry]; + if (typeof w === "number") widthMap[key] = w; + else if (typeof w === "string" && w.endsWith("px")) widthMap[key] = parseInt(w, 10); + } + persistOption({ columnWidths: JSON.stringify(widthMap) }); + } +}, [columnsOrder, columnsWidth, persistOption]); +``` + +The `persistOption` helper calls both `setOptions` (local state) and `saveItemOptions` (server mutation). + +--- + +## 5. Context Menu (Right-Click) + +Do NOT install `mantine-contextmenu`. Use Mantine's `Menu` + `Portal` directly: + +```typescript +interface ContextMenuState { + x: number; + y: number; + item: MyRow; +} + +const [contextMenu, setContextMenu] = useState(null); + +const handleContextMenu = useCallback( + ({ record, event }: { record: MyRow; event: React.MouseEvent }) => { + event.preventDefault(); + setContextMenu({ x: event.clientX, y: event.clientY, item: record }); + }, + [], +); + +// On DataTable: + + +// Render: +{contextMenu && } +``` + +The menu component uses `Portal` for correct z-index: + +```tsx +function RowContextMenu({ state, onClose }: { state: ContextMenuState; onClose: () => void }) { + return ( + + + + + + + { /* action */ onClose(); }}>Action + + + + ); +} +``` + +**Key fix:** Use `closeOnItemClick={false}` if any menu item needs a two-step confirmation (like delete → confirm). Close the menu on scroll: `onScroll={() => { if (contextMenu) closeContextMenu(); }}`. + +--- + +## 6. Row Expansion + +```typescript + , + }} +/> +``` + +**Critical:** Do NOT set `onRowClick` when using `rowExpansion` with `trigger: "click"`. They conflict and the expansion won't work. + +--- + +## 7. Common Pitfalls & Fixes + +### Status indicator dots + +Don't use `` without children — it renders a pill with empty space. Use a plain `Box`: + +```tsx + +``` + +### Tooltip overflow on long text columns + +When a column has `ellipsis: true`, the tooltip target element can still extend beyond the cell bounds if inner elements don't clip. Fix: + +```tsx + + + ... + + +``` + +Use `position="bottom-start"` instead of `position="right"` so the tooltip never escapes the widget horizontally. + +### Dark mode tooltips + +Mantine tooltips default to the theme's tooltip color which may be white in light mode and stay white in dark mode. Always set `color="dark"` on informational tooltips inside widgets. + +### Division by zero + +Guard all ratio calculations: + +```typescript +if (item.size > 0) ratio = item.sent / item.size; +if (totalDown > 0) ratio = totalUp / totalDown; +``` + +### Composite idAccessor + +When rows can come from multiple integrations, IDs may collide. Use a composite key: + +```typescript +idAccessor={(record) => `${record.integration.id}:${record.id}`} +``` + +### JSON option parsing + +Always wrap in try/catch: + +```typescript +function parseJsonOption(value: string | undefined, fallback: T): T { + if (!value) return fallback; + try { return JSON.parse(value) as T; } + catch { return fallback; } +} +``` + +### Clipboard API + +`navigator.clipboard.writeText()` can throw in non-HTTPS contexts. Always catch: + +```typescript +void navigator.clipboard.writeText(text).catch(() => {}); +``` + +### Sync sortStatus with widget options + +If the widget has configurable default sort, sync it: + +```typescript +useEffect(() => { + setSortStatus({ columnAccessor: options.defaultSort, direction: defaultSortDirection }); +}, [options.defaultSort, defaultSortDirection]); +``` + +--- + +## 8. Accessibility + +- All `ActionIcon` components need `aria-label` +- Filter toggles (client badges, status badges) need `aria-pressed={isActive}` +- `textSelectionDisabled` on DataTable prevents accidental text selection during drag/resize + +--- + +## 9. Error Handling + +- Every mutation needs an `onError` callback with `showErrorNotification` +- The `saveItemOptions` mutation (column persistence) also needs `onError` +- Check `isError` on the main query and show a fallback UI +- Use a shared `mutationOptions` object to avoid repeating `onSettled`/`onError`: + +```typescript +const mutationOptions = { + onSettled: () => void utils.myQuery.invalidate(), + onError: () => showErrorNotification({ title: t("errors.actionFailed"), message: t("errors.actionFailedMessage") }), +}; +``` + +--- + +## 10. i18n + +- No hardcoded strings. Every user-visible string goes through `useScopedI18n` +- Column titles: `t("items.{accessor}.columnTitle")` +- Detail labels: `t("items.{accessor}.detailsTitle")` +- States: `t("states.{state}")` +- Actions: `t("actions.{action}")` +- Errors: `t("errors.{errorKey}")` +- Hidden options still need `.label` translation keys + +--- + +## 11. Edit Mode + +Disable pointer events on the table during edit mode to prevent conflicts with the board's drag-and-drop: + +```typescript +let tablePointerEvents: React.CSSProperties["pointerEvents"]; +if (isEditMode) tablePointerEvents = "none"; + +let rowContextMenuHandler = handleContextMenu; +if (isEditMode) rowContextMenuHandler = undefined; + + +``` + +--- + +## 12. DataTable Props Reference (Commonly Used) + +```typescript + record.uniqueKey} + height="100%" + className="my-table" + defaultColumnProps={{ + noWrap: true, + draggable: true, + resizable: true, + cellsStyle: () => ({ padding: `${size.cellPadding}px 8px` }), + }} + scrollAreaProps={{ type: "auto", scrollbarSize: 6 }} + rowBackgroundColor={(record) => conditionalBgMap[record.state]} + onRowContextMenu={handleContextMenu} + rowExpansion={{ ... }} + onScroll={() => { if (contextMenu) closeContextMenu(); }} +/> +``` + +--- + +## 13. Layout Stability + +- Don't use `table-layout: fixed` — it fights mantine-datatable's resize logic +- Give non-name columns explicit `width` values so only the name column flexes +- Use `ellipsis: true` on the name column — it handles `text-overflow: ellipsis` internally +- Names should truncate at the cell boundary, not a character count, so the layout is stable regardless of content length +- `flexShrink: 0` on badges/icons prevents them from being squeezed by long names + +--- + +## 14. Checklist for Each Migration + +1. Replace imports (`mantine-react-table` → `mantine-datatable`) +2. Convert column definitions (`accessorKey` → `accessor`, `header` → `title`, `Cell` → `render`, etc.) +3. Implement manual sorting with `useState` + `useMemo` +4. Add CSS file for transparent backgrounds (if widget context) +5. Add responsive column visibility (if widget context) +6. Add hidden options + hydration logic (if column persistence needed) +7. Add old-import mappings for new options +8. Add translation keys (including hidden option labels) +9. Add context menu if row actions exist +10. Add row expansion if detail view exists +11. Add error handling on all mutations +12. Add accessibility attributes +13. Test at multiple widget widths +14. Update docs in `apps/docs/docs/widgets/` if applicable +15. Run `pnpm turbo typecheck` — catches old-import mismatches +16. Run translation spec — catches missing keys diff --git a/apps/docs/docs/widgets/downloads/img/context-menu.png b/apps/docs/docs/widgets/downloads/img/context-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..350051d00a3bb2d623257da215a615faab62a2c6 GIT binary patch literal 215381 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≪l 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ℜeNyNJ1!`m-yz5?u;z4VWe3PL)<%l3eC z#;q?tQ+sS6r^Y!0tc*uL=hg??~}O zZ-&tjiIJs9YDb-O_q&Y8SRrc|g0-e6r5u-2bD0Uh&ixwMuKxMTXO*vgq6=h6sMBpc-cs7XK*tM)N4`RV!5wBM&3R)wjlcKZJ5JhUhjP`@UK`!&!A{xk1j4 z{wv#1fy7G2N_dOLC9UGc+@yp@^~WkyuIFZcWKS)~Qzs@@di)@~dn@S~B`~|ZIx%H! zxi+_KT5fah)j6P8Sz{a?_{JFw|x0DGn{b z8MrH1%7n=*qg=yXEu|5UB75#8U}>ffF32BIcHsw)BG*dhYC7u4EeGM~HJ7OCyanN96qum7haXtE|W-UBM@-7iBFG|IowX|ru z>ky8^dtlSi?G6K>sIb~%7GQFA(+S*`u2V6NR!j#1LcwXQ_ki_5h4R1wrf`SEsY&t% zyyfm!3E?JiEBP{`yZ-*KQTISJp+}XYUnhU%ChlsSP^gFMGza$XJ?HSCu7I15k1gp{ zed^+y{c2$YO_<{_pFA9}#y*KRZ{C0@5a{UMiCiPJS;WtDmz^Kz)*)jdfc=rlDkZ<= z&>{Ip`%!TaIq&6GYys39b=CjnW9@8;gr99?0E_^2!0oiNpeN#GiJXC1Po7*Zb4tIX zdKsoUK)IM!kFFvALkx8TYp0G<2S6@tW@bj**phE7sUi0)CubZwNtU0dTR){~aX}R& zv*(^5t^gcRsg}tx!pDS!qSDIQ+1Ld5m%!yg{*7`A=m9h!P~%hsy>NLKAO<*f!dJpD zw8qCTh59XDV5LTWE$S9b5UI0~E~k#a<(8)(htz9z^;b1O4wPP%ho^sn0xVwCH`&-4 zcfNjZ3K5P+I7`TXQhOAY)NbH}OUpZ};9j1(Jn4;YII3uq(YUBtTQ)XPC=Y{ zK3d?ElvmBoq2A>{f6>hshD!XI;7x4h%?(2SfcB$_TuLTG;qsr_23hMnppD}NA=fA6|iR5sG+Xtx*jd@E4 z>F5;bT`=0%|5k@8@%_tXVciD;g5+>Xp5;nUFE56b)Du>}r@1k5a$LX;0Cp-up& zLBp32bC+z>;ML`9H@d^?;B^&lnJBvQqY_DeNN`7J8WhVThkvu~D|a=UNoS?5!~OJP(5db; zccV|SMrLoZZER3b10?AP%0k5Oq;Ho8Uu*@UzR71#C%b|ec6cq*arT_VU}BvVXSVU_ zx7&la&w=?FOYKYVUSrt%WVrTG>cNmD;~4(8*T#lA=9-)B*Xmb1bBV8{A2B}?5Ye?? zTr*Yd+e)0eVkd3R{)4u=>BK9wxxP9E_SF&DS;QQ9=taj|aBpu}%Xz4I*sAK+^V1hU z@~IOT3hRk^Bgi=o-)s4f=&7cXI06TzLD<4&rzbCL{_Slpn*iBsBq2lqLL}UuYZiWoA*R3fT~13x#3Sz+1?pzgZw`$|g(>k?>h+dTVZnGNEqxp3CxX4K1N6xWFU|Xr|5PYRuhNEx zw%}L-9u%=yc2nMzn`BUTYWDcb?T=eYArL~L^v2w;FJD0AQkC(pHjMmMl4L- z^)XY6D?~3N?!LW}TnK3tZa@JxMnUp!>@O?IYPTnlAaG7~{td|_cqi6N{h4$`q>EKM z^ogbp+Yn^9qO;PaE;N=mP97d>cC&p`Q$v=dtjU$9i8JW$awesvg~9mVuc;9>j6?SL zz6D&1gm){m2^i`kmgL9pttS~!4&C`42uu=#>9&5hJHezqUOw72gA7z{ zK|-KZ@^!=$VV>?@y_1Xab}=vUu$hC=)bq=n=dyo{jj0I<`edf1NvF18{Rt+YHaWxA z?1-~>NTVpY0H7!@==4K-(ywhi1@~G+z^exWAojzhZ&Pa9oFWBIhe#C|9r(75BhGT&fhSkT&!kwMWAdy1T=m`fNU7tXZ|av!+1!1KcbNSz z+BfR8+X zeW6!aWy%UYGpoN^ekY}>w;>2b;oQ9x4#LQpTQ%SLFUd90GM)S}ZL1a4VK=&+?fL*B zl9sZp50kU90&lAxK5|4qYmeQ=coJq+aKA*Y!o}HPKYSykQ_d=g*2M6C+pZA`1igt* z_>WZ}5B5^sF2fJhbaLk8-6GylHE|X}hi8 z+l`0CKoGKL&!dx9ZVmRCE(8&T{H-@`pG`zVz^W&wPQ&S9d-6~t?fxR~XH5=U$cM3! z2G|@-E|&$RZ7eL(t*@6B&4q5!cjGr0T1M1b{HUd}q9V(FP*Dn-`FpB1+n+-F??kZz zKpRbWV9X?si*&q!u2CswYlK5SP;tFJ!qECIlao)WZf9qY0WGDtd&0lxX=h`tP~Ajv ze*P3D1WJVef>T_x?UJ;8IUiZ9rk>oVI4-q3&cc{Q7>|uxJ=Z3GGRdu;v3E# zHQ90&k}GZ`pnpKlau!3yg5+B{Ndp2WhUy0vwzyU zcUBwl)bV8U7twZSktPVK3K|jP}rdj5=~j=aP=5Y1Q69*}f-v>N?!nj*nE2 z^_;uLDf3Hmw|X0wYq8#?Ow+YvH)mvBj|s~3Ov_DY<&{4mTD?BG@rch2(NnQRk~Mea z{dq3`?i+tf(TG)-qJR+xvms~*K7xvJXSjViC8kOfSzAKc zMs#TX{+j~ymjX`i7Ke(tZB+h4@{yohV3jF5T$W?NhC`DL#9W>)R&usc5bd1Q^hYej z;AFwN;Rh0KvFC`z{RKW%QiL|Rq{g=BJ=iYE5%7p#uQp~BOOh@{I`p0{T)@*nd~{FQrPWUNic|L$37zb%rG|ODxo}RW85APV zx2?;hT{~f8X$Z;K?=yS1*OiWx^`PGlcy-i4E#|i-JHi!el}AYKV`G&VI& zvG+f>Vcof56W_8%S)z*HtJ-Dr>FudZ2l--^Of_;JaGbpI>NeJqW6})ETS*f#z=3L% zpJ6S^%9@6$6p@p~cSyF0iW%7-c8Y&mYq+Np-OiQ0pAbKWg{q8_tE2NWQH@!$_2Pksiy8E66K=PiD0Kgs+Q z1Ti`E8^JN4%fp=3G^j&l&Xwc25&8`ZfQY;Ub_h^vzBdsChw=T1h><~4qrS)wjDX0X z=tr{UnAzCw-Zsfm5H^=`gx(A^DTg`X_Q1&!ny0pzd)5giDtL_C|9%Rb3HH#XwtlrK z#u|{|x(8Fw@>UvaZ@Oy+y%0_lb^zl@f#ye?F~gYn=Kg`d<(=J?YAnb_FeZ$N{ezw= z?5#qEnwl3Lxz#G>ig(zb?L}|H$HQ|N>w-Lb(fGe?f@A}cF+cI%iFfHmgS(4m0= zZ_pHt&9`M!&tPFY-XiD-8NO}E%wn%d>=PRN@xx|8?zV@6NQHBbc#jy9n3xxobYmU4 zf?^4Z={PbeZ6WZI;NVJ^QR;fAf_vp^<9x?&6pl6@S7|dhKM4iT#ftzFl;=8kw9tBVgA{V!0@y!V)& zE_Ap4A()sDHMVcS!D3S-XBm5{{e`!0o{MYOa8Vn^Xwt4ZFRxs`QSK0>>zc0m<-G{~ zx{IkFOO(J)$Py9t(p|7|=Xw&FE%@YySU{LG(w;n(&=2jQ{M|2LHbQoMDJ=d->z+?h zLj6@gUB7-EN-CnP2oQP7y(i8M{=F!naxg1%+{#P|v8Fb*whFSzxM>GD1S1>lgl9h$ zd9FLJ__FYV%!F?xTr=`nu@MgAB95PV@WaWO`Q! z+O%`+?2fm8e*O%yP|y-BudKX&^$J=c#6GLC_&_+T6w60pQ1r82^l-sCSiYxr(21PL z9@p$ZpI@}9Z;}q*3cCOA12cc7{MIVcEzb<;7PQ}|tb?|)T5a7LDYX~e^OGkav4eQp>`KID4+wk76wcU9d1InPx@#Lr z<(TUloKRi^wfo4<5$e0;yMN-HLGcP`%U_)JGT((w(BSuCda9+;#VqVL*<0spj=aXu z2M^f7t%hniczHuy7U_lU;?xg{2!uTwq<2A}2Hc1UR7d`=rJjvKT|S`f@DW_H2yDAN zckad@2e3G<F6p~a3jYm zrYE)qRbLvolAJzFKlC|{a?a~~D)2wO?9r@OA$j|oq#{kB+_0e1+}f!qm0_*UC-Zt| z)n4rHVW8Tk*E z-t+XhE97dM$C=5$+g_h^GV5u}sjBm9ZNBWjVsgZJ&*yh+B4o4nbad5p1#FZN_sTP} zu&TAO%irs)pIW5MLhcp-S7!+laUc|VAXB|%kp>#=Hm(;gY^<{a*U29u5UDJB3`ha% zt&3P@6#waxY&v#IVBlr*LsuUEZbadl(am$`)Zwqcr{1mynH)te9ks8vu1*&jg^QaD zbATzE>mX1r@r*O6eGz2<%PDIUM<8P4Gp_1wb<~%Z-n4ybWZrY($+KOBMw-gUH?c82 z?F&8VTnHBLCs6D0Se~fNV#c;GTcO^Eqn4%OrbhRW(#~4_3xaOeddf6QZHjYs4yC=@ z@=M(~A{;b|Tb7aFw=;A?-LKx3vUq+%&@EXfMpILJ6~W=>_|NOT*wsG-M4 z91#6JIEcMY=5tx{tfr~b=C^Adl(dyl#Ufg!;;lh(j5My zD_2|Cu?9^wtnvzZ;*BM`y@MeR}u(wTxxe)N*y!17}W! z)>@wTX<~|=dq|_=p<^eYL#Os3YE94B*1$eA<#cIt|H8JJs|zlsisHk^hjkCtH+MI9 zd}x%Ex}}n65#3&$*JUR3#3Y+<>UrzsU)3DC+5B^VbZ|HK#0!whH98-JTlADb7BA@k z3Hjn{Najiz6$d}Nf)w6G?B) zICqR(`nv~b7P839;K1TBVr9FtSe;;7acSWaSIz$N7BHwAgNNmW*U?~D1Kc{ zk+u@^*PxfFm?R!H3?i7x2Xr$b$V*gAtQmUTWuL_v3vx)zjypj7;P4AQ%P$}hG4~8B z?xACyy#M_;ZIHr6bdZxMc-{mBJIn!?MK^Ca54C9UdrSB#9!@l#ypb53 zb~3V>c;TF4Qe=^Fs_cV`eqQK-k-Q)*$_olZY88(ga|nx&3i89lcoLxKZQ~##i^nKm zWOt|DIXw$h^n7R(`QomEas=T5&{(%tv{cr~Nx+&37U37D-yv0UP*E}G{=~l|CD^Z& zKE8wvJ@HT)>2|`0ZuQaIR61P)oi&8OPG!CL8&jW(gI2PnS+3+gED71vHyO~#`bbH( zZDD4H;$>(VX@$g!wXGY2rZKGU$Imk3iYnK9K~tyTMzE|wDjH-(@h*woK$g^ne?h@m zt0GDFxP6HHd^X&(1O3#t?b}DY$?TyuULZj*As%b%wTU>j|KLF=(xon3fQGrYliXfl z4m%AuVj#xrPIXk!N7g*VDrtuDamT`mCYXKB7aH6m@U&lBdsLaaO&pA6M`C>AgF) zS=CQAHaCmx=Ku5icbF5MA?xrj2>$S*=^R|JFKg+Ufo)_-Wav_>QtrHf^_Zy!VHI?1 zhxJ+v(q3^1Ww4Sz=9lIti}>Dy?;J@Ktdpu@}t@BslZN3V*mH6I~x1@#^C%S=R)nOozi2>iR8r zjx|giykS?mp&8~u_cOH`6(4MhJLIep*e;X8rI*_wL>C4nxbnCOc#lRGQg23e^%_O( z>tc>B+xP38gX0qk^%aN8kRyfjAYcd90tK#6%c!fJo&VUsx=;%K%@ZPmhZQewYb#85 z%3r?Rg{es#f*I1e4AqPZ5Mzs8;CE%auL8)y-=bL*6BA2F^nzp+%K)ULZY!ocp$KZb z$&7a9Gbs>}C@&Q9Ibv@YO8#(DLd{%1yQFL5NnM=#USK*E*6)@@9!|wnmC}ret*vdT zeGkEH0ta`uWs-%+YXD);_{A^#fX`%;ZL6xuPENi#el}Cfrf3iy3{o@*{ci_MirC~ z8|V;kr_?gnF>PC?dlW_2jGTeN;Q(f8bS>!DSp~ASxQKI~g$pJ=nG*GK35)??s$Mu8 zx(b#XUYojp2+hW2Pm?Ss@o=Hgb?r>!uz`$s;P7MX_#+8b*S>EV<$(+eYZP>;HQ6W? zFST*}LPE0}xq9;v;HwnWiZ$ue+qV{Y^8_aKxEoI9=H@t^6mEtuOc=q}a0Cb@!v17) zwPDNxe^}jZhkn9(O+W3O`{F*zn0cVG*N5V7zr#?NLV;!i2BC7{CGQf^bv`W6b{mY*}-coORi34 z)=L9Q>K|`y-U*wUN?Tf45EKYUb@!yb-qeHDtCQ_}*{H@>qXhZOb!i#oPXtRBV3avD1P-vfA%ts;Gp9n;qle zOSk_(U>BZ0<4`x%zgjgFoQmxCAZ_FuXH}lZe@pZZ#s~bmc5EK$ba0wGWaK<9# z9ZvJoumRVvuQpR}q9ll;JE?mJiU(*0>)Fh$r?@#e_XS7~Y;Xsu0?PIfFDzpOup>$_ zJYQ!Q(V^_wu>;U0&_@?%XNI$$LJIfW#^y=gZ|q+Q)q|b11)qg+3yN*lxZ~6T2!N6a zkfx@i!@5oASJj5VsB|(oRx(ou(Cm1NWvTACVy*R*4bV6ss7IgV=Udj;a|U{112J(# z0kM?oF8Yae&??@FONDSW_#BA_-AZU;JCl0>x+xOihjR0(c%ph_6fF!2B*!G~V zmb`o|mWJwaZ8HManiYkORoXnX{ZN#_J2yD^u6Vk;qPC`nT|fYq4&UjQTXn#bLLZos zVd>%`WKD$+u?FAORN?s%fHEFfy`wNN2CbRU$|Mx$2aUbM7f&QLySuq*bI>%-e}(c) z`ID244OiV&4~Qj^mk5SihD9CQq;YiUW!<)Y4s98n9`IsNbO~63hK-=mgf9y~lZ|}6 zTf|wEcpMpzL|xG)dZI6Y+QkopGc@woy}Y0pd}J4ZWuq9tdcdG7IL+Y~-O(W5P$7fFfRw}AX zF1w-gMV9Jm)M2bw`Tg}ClspLeK~^JW1R!XoYtYH~qN(Z4P-7}H;ESw7bZQ9HDv^0x z&}k#%!QAa5K2%66M~P$qDiTMqrWHBMpqDAGEzH2Ud&m0MLdCN17RY@LwO5K~>>Ni+ zAE!cS=zz^Q7=y7vRb1Q~auXcyC*v~!i?OrU06kx>jA(o2EDTy@(#XMK5@FVCK>Z;8 z_4SAH7Y7A;wzxMNwqzEgSAV-JTG{vg9%vWw?8FG%lOKA6`6cAX?{I@aiid}?foJqZ zhIY1yUDs7A?ziiE-8D2dYeElu8XNFhtp>h-7o_wIafdYiJZL**Rs0F-u&a@j z1uz48{T~!acC1_Oamf?~Vug@lMOKBTp|96L=tVaC`4|M#s4*5)GZqY-Z}p*E=PU9NV5NvE2$ zbvcK-TePWf!OvCew8v`MjML8v$(7G#Tk9tb<6HIV1{V)}x-0y~e2WDChhraBdP|%e z@6k{HUMKUkrfgzZiM%>8@X1flFQ4%dNSPCLMMA+uPXD~7(9eknE#Njvv*aIU#IC%K z8n!p4{E_EuKE1w$1n10x0`-r`;SS_*B62V@pir{Jy_x7i|F=V^!bnIK0*uCm$=IW2AN5*jg+lBOp@5k~pO zNMC{>psos!5~(g457A#R>niOv)Za3L&zKQY#dZB(KDBOROYP}jIBSHXd*ZLNKZP z=>D{WKHbeA+_hK90z&MC>a~?AO2ym7Vo5WAm13U}5Z~vwQ%|%vIXM|Z!kI*(Cy%Ta z*8#D5`06?^Yns}{kK%Z9zCjZpEA;T4CJW}<1opd7cEPpoD~+{=wD$% zG0445AQ+?g<98n1wh59M(kRZIor}ALRFdq5x^kebXb+F^v+8KghLak#6cuvNsSF9T z?jHG@r=Kdo_X`mLe0vbW!S@9u0yB(U>wA17m=zE?``J~t0ie?##O_lTKN=hNgIW!r zoL3hAfhA}ps`m-P_D&FX&d=|5e5Xu_&Gqm&lhSwup7iNA9kRr+tRKFH1(r+wB!wgC zcwlb}Z;jpV8nX1^hkw!6(6;=e#nWFpx3cpj9*x?O$`tazw}|s)(6a-6V;_GJJm;v1 zu>x{@htAuG^h;QJbsS9XkE&WBEsyG6?`vB#Es1>nHQ3m+m&#=Lo>(+p$GcmJXA_rH z1Fby;vTVhRhOTNF^t=wwQP<2r``cBMS9fdKg*EGycuxkk!0xr^YmA{5TXK_wv>T5i zeWXX|w~<)u*t|WLXg3Oc#AIhzm(`gkNDGJLk05mDXh1CjX1_zt1jT~iUlxA`Rh6RP zNmV{~3@0yE_av%E>OqQzlE1c4TFuX0NT<@aw$xdTsVOdjizEyqG9@W#*Om*QD%J0r z!2(3-`5=bC{!_ATErCE_gq9qRG2teOr-&R$ge7j#3kp!)ODZc+jpL1iD59hX&Ec_L z8_h_9*Ol@RrY-}m&ed0xlahl1&O@lRErdg@IAuzPT-A%vi zE=GHO`5eLrA#g*WM=&TZ;(gG!U!t@dP!D7GS+`tTR@M*D5(NeWo%FcpxV3ZSRaFTK zWiL&hxs0~r{0h#Z-jBn#tIDTB{ns+ZLkH*<@Tix9LXX~NRDdEZwn^7O$;!qGbo?EN z#&Yw0>|Wv+g1*c)sv%V)6KC8rSnGDGX?OVT{N(veKfT2YXHzy3`iMt}>DEhVNAS{5 zb2m)&8SC>vvTj)AUDm>gm}vBwlonxjc2=byj(bYygen2M_Q}ont>dw{2nn_rOin0Y zXnccK5#x0#MY5@ufJ%hRMOj~Lo;A|j)a~%K^znYY`5QuKBkFl&58Q_P1fnD2F~q$^ zdtFjRG}Po>FmD)o`S?l-cN!wP5hGtVGr<-Au9;zxs`+DAnAz@^L3;?uiy(42S36RUkuZX!rFhsW($mKe zKl568S0b~`R?)_7&CI>^Yg%CC4h@0JhN-F&5tWNgNmEfPnXf(H7xz9-T5+45QxP!i zdEBJ*UaaEGYS-QGw4bDe=Hth+RbIandO|;wm*DYW%*IA>N{dE|e(r8>nk0*%d;O%= zz@?`dAGJTm4976c-F>*0)Ou}e?JZKT$dIJD-EFskqgTreGPOR{o#nKOM}CIkuqq1& z#|ZY5F&78J;<2ARd;0Y0XXWKs{gkdjc`znbZXv;-sR?0wP}h*n_~2&D%X|N->YGy; zQbtprz)t5?tfcVh2xm|)H3FxgGWzz75)g-kD32iu6F&0{>Kj(G2MDHuUk`XIT8~um zHxDF?Hr#yC+^lwVFH8}-9)i3yJD~b4(z8eMQ*<^PC-xKZ{Uxw+(y3WWux%Vo&P0_m zeg_CbXm`gX2?>;Y7f`AFsg;K*9M~J*>P!Y4?-DG)&@nkW${DQ)c|ebQ20wBcAhDBX zQJ0aq)1tFFiBa*|v+c+Z#5s%60?T;LM6cwQm0X6rD=`7F70^*!_PgVP7T3iE-9w=S zp?-K4MH>ED)M?x;O8xgCn~&hTiARy8MW4HQLEGh#SO$4OD+WA0-srOLe{*ch?r%?lGyx~m5obQ z7p_TDw&aTU$#?%&7~a9uc74}y=5 zU1$3C)hK1R$M5-MO9@RGJI~C?dc=ie_m&G4HHYi=S+|`Zee9#^>0Y9g%|Lb|XSPi| zDc9ZVvs3ijRrmK6AEKImTD&qjsU>7P#$f;KGD6|LeUtq0!1Yb{=kql*7`fL?x~FY5 zs&KKIJS^O6*E2o0sidWS%q~bkf4?!?kF3e8X*(S`=it{hB+b(VQjwyLU#UfA_wOU0 znx%5JkweMY93z;SJ7!~LHL|>y4A>`9O@eOk-m6gUp`Cb2J_1K7XR^}W@*e}c{}c8? zNu2su7}ufOn;4KdRg`zuE6ja-J-S5%lCV;{j+oq_4;eDLWXE&jgu9aseWd^o55>TZ zsU4#aqR+g%evNg8HamWLj-IOV;!Vm&`TIk4AW^Yq|1^hhhIYptZK<`a1!eQeX%4}b zt}c1mMb_`*#mA7))?zhz<-9_)Vljp$q$fkg*kE3W{WFJ}uA(bKK`cu@|Ky)vxsLIA zyk1DH!khCC%eWsW?2)TDQ5+f3j_&|J2v_6r_a>`echesE~$(Z zC;Xg~d;FguFz?Wo!zv*pA6tvPT1cd5v2vX_{i*%J{gfwpd;k0m^P&8W5e*KB<5Any zMZX)pTe9sDd^0{YBmQ0tWEoY5i4F`C1jVAspxZ|0frR5{C7k zpa0`0tQmG;2~7F@uc*6Jj;vgz$NxNGqVXg#g3{kutG~bNF}KXWa!F{mZE`O=9GG&w zsWt_{Dzd5khjvXA5&!do>psk@*Y zSAl^uSXJ%j22>kO9@;+p`JfI6r?56-<`)`wL|u%Eqa1s9fOQ9TL4&0N78VFVDjoea z*b}@=@wLU|sbXk^9TA@h?s#B~_;k6#icrgAK7w2oa0iewV0>`Ek&|vUef})L#Z?cx z>-+b4uz-X0f-zz>D?#$=mvelj)~9>_D|PCsB#ZkO%FA!w{L54S%jd_xX(-i7Ojxiu zJ2ie`sT@+cykFg8MD!eDs(gHDS83%-qx);*GMbMf|G1~=B# zI+y})H~t?&5_Wo-BJ3FK$fwrN*wO<(4&6zUb%Muvd27^g7(Q3cC_llZB=+Ne;M;HScTs}YkW*T$ zXW!Gab=RR6x5ZRq#Z6w^0J@0i`c)8p5BZM5VpLxKsje=ws!9TjCXF25`(xXM39uZ5 zrI1blq+S_3;kWoBJ3mVC`0#lI;ub%BdU9s#aMj?%#B)R-r-tz@%2FK>{fKlg1U!*; zuLBiH#O96B1C972KqhcKLDMaJV)Ld=;+W__K+Y^k%gR!+^+~Qjj#JkG`>X^80qec~ z^$Li+C>Gdj1!##K0Xkw+tyMWfqeDVmot^(I^f-pR8l#a>Nfbp;$9D1gO|nI;P2alTORExh17W_is~gE26GD9aAnU8hUG4qFm_mNLF$|ebWw{crw8Pz@Kd<3yzHM|Hb zE32R&xxH%59$IC=uJ z?IJV}i15P{5Gp<+udKWa5W-n6H`FQkX1YV65Y3kfqOCI*z!#ydE!!sKVJ8UvsgcLv zftgG!LIJV>TMUAEDJf{kB0#9wkt1iXeS3p)Ti7pSbli_g)MW(DPjq>B5qz8^VS9QR zbzDSvIVkZOe+;qdnuVEwuL|~RUAx z4Rvj=_V@)DC-z%t~ z!1l5O#{;koc$CP$&z&blO*4fO_<^dy(@_i2!1B?SWWKbp$c?31pVWK6z z`|(nwox{NeJO-uD2LO-qCF9hYDol|Bt>Fl;01}J0ix@`a_xwS=!gDarL`zW8ygm%_w-jh z0C%FkJjuy{^!fuhsahoj8JJYduu?4b%!5M+LAmEVGUg$ZeSWfOI^wMThJ5c7ox34bUO-`&(?k2=Nr z22mGS-lg!T2>ub&8SL{|1=YlAf$AR|2L!qwz6X|VnBq<8Z22Y(H@FF;M zkX!=>A2e+6P`F|`${-^nBOJkCz__^^?523((1BiN&%MY;kMdfqD9b#gq_6@6ahX65 z->ELm&d*PD1DAgcVt7rE{Y_iiI&uRNE<@OgVoW4(oSUtjC=PUjjTha2h5lV-Z_(-%)tdI zI)dA{qGPbaiI!IT(k0!vB;?mXBk=n-beEjb^$1;QNQ!TQ6zuRV1h3FdOat1&J%bh8 zux(9GPvZ}-iSCn8hf?Qn1{`L7EIy}X!_B=n;){*+aw&|3_ZGArfL^q9VTCOkH5h)cLNb{c3p7sHt}84$y1n%sKqy%`xyYb8RKF0T zmBryCO0Xb0Dl|+t&wXe;s9|*vHm?!rd1ZHE!`RGzHSzNgHhc9@%>GjCh*N)ZTi(p|U##;I7abv#j{A z-DFB0(mKOlP%@xvn!a8|&xy@QmW^>&g#01Tgc#!9YffOEWWsJvp^S?hlrj&f9^Dj9 zoC3ip#4=8P`SRlHRfU4Sj$MWO0vgx3*Fi_r(4YiVZhi@8JI=qJDs9*hQ1gMMp_hfLsAEpz*Uz5_ zO>=j3y_DS!8NTe1`s38w7bjz*qKbq(X+18(9)yZhbR{AA*fxt=Q-@<&))}X?i_1)2 zZ=|*$an#!xephANyA3dSZm=xcZE8_g^|Y8gcgz96LW5AJ7DLB5$O!dBIxUhC{*ciI zVweDkO7F^qNJ1N^GqA)Da@MJ#p#^9t!q$n<>DvKT#T&#s#Sp>T!iVP57jZAL{5i;& zAvQaT-a@(^i=e>)@-l*j^3gbe_hnzdkA<7t7PtrDLLg)~V?CuOyi76kNJ+gyRSbUj z%5yMU=eoENyiMD_$sVQ-#EE>B-bRr_~Tk=qX5f1--^?;o(( zxqZ8CkyUuhZ!eryYm3c(%70YjT~X0mk6v-pdfwWq;bc_M@aN>qmnceY?{-BP3t|8g zVBc?11%Mw00%x7tBk{TdRWTz~ee{~ssQ(dX$xweg1%bXd#o1tJxI%Gw`yzgn zl08IhoJOy#zo?6caB?T4+KB(@Et`d)2PzKX#IFd}IW9sR|3izMOgwLBUo>e>VZ{*1 zh$xkOl*$w{9tEwg&O-bH(iYHVz}|}g#nGbtZexI)pxS!Gw=k>Gjqj$c5msiyg7$mS z?!oI!@MUyj;SDYFW*PHHB_#_W?@$4XeKT+qHz91Pw}{~^v1Bd=Zxopm3}@GnSLBFP z%7EA4@hy{lF!{pF>5U_lv=eF?@PaVSV}`vi;J(k>Yjq_$rbp(Ycc5c)wegmXcEcvR z`l*f!{BGaQ?Q4FNtwTp&NPkJ^$ERybIgQ$5?b!!MwH;3$QWlKrUVyTOdZnuju_Ocj zR1zmA8s82&Ap#OH$6%TSoi>`k!NMfCe#VtbFoj@kdnw8!C8AUIP903owy?{=Haj#l zq&J%^&v6xK089A&vseLg72#!+##=0Ia%yS~*FAwz>~98;6;8^wf>-iEuaLG$Xntfr zmx+WJM0*pf7H>yJwo#I%goNpnnxPbSP2+6Tr@ukR7gxyqS(ZrR~zWi~Hdd5AAQv{qm$ zRglPO@x(78c$-7`_RC#FC;BBVEmPID3t<ph)W{kLl-t@OYraF8Q}S{7{Q{z&N<^v1D>#N_ zLoUen^doYPF|@{<1(LO}d`qaQL+)M&C?Ha%49KMLSXN_soJC=akRhZ;^xL5)RS8m= zyppSe-dWcQl*)`b90b_LM(Ft(ih@F-!Fx*oSz}j6rn+cP~08NRF`|QFG#U z3nsvs8axR+2K|&LMouw(2GIJIeu)Bg8X1Q;O468YSQXf4l;Lyd){W9CIB+3Rysr5d zlEhwBH9fZW1n~#`7xPZ@l*R$7)+0?OC*k4a-yZ-?l8l^OMn*;{=MLHFH1V3fTgCh` zKWLuYF3Pn>%GO$?poCA((0S}Z72|7ase_o1C{ab>awj7cv3CG>r?~)~M-F+08%%t$ zUAI81gf!#fhlz>l8l#X~>X)lAV(LMdKy5#cIefbSk1%5+ya>Y#h31UUsPZ&| zqcPdln+vo}HbAGu`reHB;qJsET+v0mCi2%fEl*emrepU~c-<12X9)>2&b5@mC*_Rpi()GcB#lhu*<)3aqEtGmN6l9TP^?N@HIg~t%16#5G}m|kt|sE64MKOhh9b_N zEQI!++EhDJ3k12Eib^hg!7ZsZuugu$%Yh+8m?A2Fq}hH%dmJ>nev?%ZcB44ntu6bY zS=D?#i3SakZXA4kxU(4nP@#6e`+AiTdL9gXaeIE8wd*>`82SrBAae@~z>c8^Gea6i z^DyG1o&z7i1c*ix^zmeSb|(np=arQlf%NEbvegL%mn)I;gYPRZkL{iY4=r5qyRica zm6Oo_7gJ5p$Zj`6Y7#$x0oYJ3E*mJC|7!0Y0mA?fAnZAg;)vCPu?^|go+txoI@BR2 z^!3Fzb_iymb4MZ4dsoBc=Pe@UhJdBC!_Mc=uNRAqS6Ftm-sM8jDJ>QjiHtJT)5ET1 zNeF(Sni-;`^#O1y7Me_&&*}HQc@6_goYrIbb>}8}bdK&-ek5Lo;5$5B0}3ZtSiV7& zz&T4Ai-tzg%loai>zhF#$mJlu z9pJx?$Z2qC=H*8D)d(><7Ah{K%9_eSzQ_S6iPevtmG$x(Wvj^KP6(t*r?WysskV>B zO$fpjhL{&fijbBoqnAnSVQyO_a^lrYJf|}MW}+b#55gh-F+dRmdmH?u`mzu3&-PNbn{7%K57>G5G8UOvouZ2A@Wl3$S-%I&fmyt3F z+tCb{=AC}jX{C;oZT8-7tlx9@RVbBwRQJ-ApW|lZaeDuK=_sP+;GsiS z^cJ*1Z-M1g+KfflI!rT2DIYUlQ;gV;`Ig85F4zy@LyKMryj7O@4$Kly4*=|hgFvjLWbj@rsHz`=wK;*(`+r8xiXt@ZsNXb&ac=0Lx={wuwdDfm` ze!nBd9NVDq_6E3xBhc)$=|c7g``2N5dQYUd0;i7*FlQCHBSlI32}}WA3MC=BL_`xX zm-(FF;wlIEO4*n2{U?rw7EgFbL!7)2D zUXE~fs7Y^aCh&bj{Q$6UQm7S|v<8q98}*hUAu25`rP{eO0V<@(Y@7p%Hczn%L!gNn zm7kJlf{h%p4Ndj+5%R1ZH1on(z$h9%Eu+D&y%rj*yM}8 zJCdOv(<)TB;VU-Y-r_J#kG5HY&maHhfP4^4^pj{{V^@T<|x94ej?e7nC z@`Q+Nys8EvFt8NhDwLe_vo=9`xvQWhD35Po3Xawe8@fQ~Y^go&hlZ}`HPS4dN|*l>E2c=KMh z=Dp3e*TU~h}fg*pv?c z`8}aI|QqwRFk!S%ziHKeFX@FghyAx!YZf?I0awE?0 zEg*=l-El%Hkbc{t#gKKpQf~xn0R8UxSR~n?cgKu`y} z(nKP|#a7n`>YAElxOP-~!sFS;Iq~|c^72oa1z!NB-`gi2HF9rzPSS4qCx0!dD6U0z@vtC1|yW| zu-wT(fe)u3PG^)-ZYzXa8;L)!rN*jIJ=C2kKr%MJ?x&#{n4Ek>B-Ux2!2(__=ti8J z3J0%6==aVrE<6-=skf)9Bt=6~VR+HUXC;6@Isv;WmdhqzJcRRE1%Cb$cHM<DOe)ye*q6zxyZ3wzGdcn!z*Z%Q>eG9>;zUbn5v){c} zfKoSdC`d#YMCg7SnLG(k&E$GSxVhnGLX-_{^P?Wp z=#kRn%F)3UoR8}sm~Oixg?ZVaW9~vB!HA}<6MJVD=-F4dk<+%+U_+tyb z*G0d4E?qjX_!JOb<8>c`_ zvkse^n-iM2B)8)Xicr&%^9!E;Bm%u_{&ymftQo7@o}rQdB>LAp9E4GkpzZbZ)sv|w67aKy+(PY(}73bC@Vq&&Z?4>+D0JN0E}jTf)pw++4nL@=%VWqX}0yNHZ+3LeZuyw*hyptfT}qwi&un zgjCl3dSB$}nt+pIJhtmj0-`A~(f>w8jf`SJ{t4I_7UV#>=n5{#_iu{uOG@}`2TeCh6I|POxASw;1fn}OfQr%BFf7EedAP#O zDY(qz`7hJ-btPYaUdJLPP!a>yw>(}H+=yy3XXMuNF|`l4$T9cp7gAu3uUX{BD_mlm z=RY)1jSqfkb5YQj9iR4&jM0AWjEd3fjGOTaB%RmS$*rm!o*8_uqv5M&ZIzeNNJ1tN z*QIek*;5=vA$qBF%G_+R!%?w=Q5ME^RZnMMefC==S$~-MUAew(_1ELh2pfyyi#&(; z9j_}1p02gnSD;dS%0|(~_s??a-0ivei1^B}MKA4fdo2;4m=9O{cDa9?toXUU&Z6Xz zk;O@diyhgbUOB96hVSEdrt2a_|=YO>KmO)YQ@B66V$9zOVMY;?G1qlIZL`4Cmly0O!V(Ere5fLS%S-O!1 z=@tGiQD;&i~Ar^Xi;AUuPU0Vp(=Sao^W{1?1Kc>2Gs(7LW5N z+c{(G3ypbbgmTV!*IV8>Q6xTvN#b))gqb~%QT(`I>=TMzfQkpy(2z(Ta-n?)@E(|X zzh;0^XIOOSMnVTv4z_UMO5fZE>mJ!q8x=N+{bQikN7roVpJy8AD@j71KCERE5+aUY zCE1VQfR%3Ygzp#*Yp|$1ia<+3$lLtK0`VUJcsx@a11o_d=ow)FE$zB-M$%onvjf0#*OLlu`72|c6$LAkTO*ek z!EVkO*riU%Z+Xu!uUBPdBHVg~2@6-}1C^q6q8X9w_+XndYirT}K!EKV!p3k?YVfwy zDeT1yi{xM8%+e2xU({Wb-^Q`n>fNBR`(manaJ)Ip!k92%3#-(Rr-#pKE-mAFb{FSk z11C3kE5C4ip2jeg{)v$%NiT@Nn=CC$5f=D3Pzm>hO>usO-a7RYjeD|u29&M(Zfz46 zOqT=Mz6oc9Lz;YRs`>T{;XsDch>Fs4+@wZwI|0Oriier@wLTGbF zK0#^KEJbtcKZe*dSfJhB_A_#avS;6I)wbAd;Kf!TnAx;pC7?U z>PxWvxschg(9i~l1>?^_L4S-*jJt=TnRzTqG*b#yCK;1mtjvf-exlvr?)K~VzL*Ge9ayrO5d{Xz&9QHjUZ-4Btnv#L==cR7t( zSE~*0XY{_}jtV4y9kKj8?t2`9??j?xrd4Dz#)=JD&zu%=ulX*Y0}!-;eDRU_ame*a z@Wz4B(KEYsn5{xb7#kk0qN(}(6HmT+Ve*O;3U(?mdtL2pVbZDq4#jP499Hv_lbay= z9y?-#nds0{AZ$USESV1xi72eM;W|rbXsDd;XJf;lzu`26(I_bS+hM8-$nV+vkRy2Y zDX^Sn?@}TL3#P0e{DSep%=EOh*d<`V@EaEmn*i(wEFxAUm??|`bpgH;u&(4}13;Bh zPdR1iFVjggUn$xzO${r(3}!gbVd!jEwAKfcO;o7Z5uA?@yS|0PL01W>M9W~}z0VJb z7r1oq0Q_Z{NndaWmI$1NPhcXe@EdB^Qsv|P#KbqnImNWb{9>UTFEW*ZVrX=z^{Esj zU?IkqZE{*NQMs=j55XWJDwy$^9>1bc+>y@>Xr1i=HvsYQm$#G81Xc0}s3<6cX%~rW zn;e5;eO45n9-ui-En67J-}rk3;=9M7!~j{Cv@sTtPY~k#T#Zeo6uR@k3$_)E_e1W0 z(x40F$pA1?C8>$_rFs7EI}hHco6iUOjJgHas>+tI{{TxP(IoZSrLFC4Xqye7IO9#V zhi(iss4&=t>fM~18U+4VhB21)0w0zmT8G*)m1KBVVpNCyR!$Z~{O_!DT80k5m^w|- zJX^yP=paUXSDiTIz`k0b=Mph8BEfC>PDrmE9Q_bw29?Ommk{hSI`fxw<%ttgrO%!` zQXU(77B*zo2Xsl+o8K-#+$Dpt)z=d>EbsIW+8SH?e-w+tnl9IjYP#3iqAn zWM~j`!jVusKYr=d3kQPz)gQB%FyZGzC;#T}dlg)&t{d`|gD~@KsHLIHE)3PY5Vyay zT8v8{t{Ntb8YisIyEG&SC|tWt%fXwd@I57;@G>@H&vr<``rOOEcd%*%dOu+@tjIYAKj6GEarwVH&jsAM}UE zgP_;j-$pK9@79%ScEd=#TO+6c1itm# zH$ZltN?I`A6#fR978c&I`6njdR8l4UVAe4daiVBsV_`rU*BZTUxw^9tL-(y3NPyuz z(gnoFq|gKx-gP@Jo$6Fk%Y59c|HDzo|G6-zt1u?%_B_tTAX^3jDfF)_1Kn^CIL=ci z!Rpp&hI>p}#Nl6;sP-0ciDH#I28=;g%T801wqlp)64m9Rmzokj7sL7XVS!oK4cNC} zCdW%=U}WY?bcu3DLk|Fb4DeymFXum5s61v((s{oYaAc(tnbp*Z?7R;%n^5IxB+)~s ztiE5|7ji;@i&5$}f;hlyX=v;NbVYY@`bWF9$<3rqU@bsg8d2GGb?AFJ5?9swuJz_h zp!T3^l9rJ`-8u0I8z#mCDj`nAp2V7h?Z4dH(eC*L>@T_NwI$6}m)1y-wCgMKnZNfQ zO2%H5UrjY3xy`5&rs}|ctQvG(>_(GhDt(oH=d#c=;pty!d$f>5jAC%CXq^9tTSn9l zaXJF!5+(L8$xK%7uxIA=hHremyN__)4{UY1aIef!CWCOE^) zV5=FLsDQ^rtd7~I=(FL2A8?!oOlMucetqrRd6Uf{AZei_$59X2=FF&s?|CN^ zYpIl{z-@pB2+{oYH7^g+&e%hX%=xq5B@L_)30ey=!SknX!lPiGTixCnRW&G#GCDiZ z*QZmynZa%@!Waj2!%wJZ`GtWx!-;7)p=GzlG?PY3&Ha7n1+b#t?@-=hV>3v`Tzv`_ zqF~zgjjRy7@Lac;i}+Yh4)c6U24aFtaxNfM+TGPPIFVZmhI17U zAhr!^Mw{VxG$fqD!o$T~VBzF%Bn;lm<89|C*up=Znj_}jb)^L8LKrXRo&lD5Dc58_ z^~RmbRSzfZl{2LDW}56)KR;fcmHcuc$-Gh)_WJuI8X_R483+z3o`?Jky4QBgLGb%< zxC|;PsC`VG{N?PVWUO7`;%gxT)&f8-ID-Z#aw|`5&D;)u&IIuj*d2J4L#r5^=AS%& ze%?Jpt#!_}k*83dW&UrM`?v15NQK}$ z3pW-S!K z-#i1h@B#MXFWADF#k+tlHdZ(W=J7O*yPP0;HU=)@AGSPv5zKq6Ffwoe(-1RWwZOp- zW@=!r1bi-tzbe*mIOAkJ3C?CPr3W)s(8PM-e@k64I0lNOwC+B@217zcu$1}AKrw}N zu_jLAfW-RfQ9aOETE?c>tzgCzIC!bsq%=7Zakq%o9~=z;9E0z~ryegb zC6Lb51uN{(mO=4i=yptICK=XXSeUBvePV(rnjMF1-8%)7YinY_eJ=_YwA)Ej%!Hd4 z$`j=N9M$|S9$LX7BNL*`TUt>EkH>?fgSGIxQ@#!Q87HCLhvuz|&l4bn6wx`zL%v7h z3qpdi8V=Pv90fP;yNUzjA^k)#a1fwQxO?~^1iOmqy?)S79uUz2) zx}%9Z#+o$}4X24I5r|IT@&j4|q$8ltYb06=GEYL#&81s<5qrbIQTNL9{A$7p{0~D*P%~ z)e7x;=6$WMo@;K_)^Ngk=M$puVa5UD++R`mR_R`SN{+G%>@SDB6R3xvlZ7dA-QF|_ zHW|1JV0vZj)CU_f{pLH!z9qVN{5S*5koPgMQ2Gm7!}-4RCpLvFDFNvrjaJuC#0!}%y{4>^JCFe z(vfMf=272wuS~uSOrn5|>!_E~fr(yArIM-)omreDYblkx&;7K0sxh{2$1|O72m16! z9S+Q8?HPTqM;zpm%nx9!=njzAvw%s6o|28`10(tD^mNGTO9Qk(){-5fKEaau)%Y*I z82BZs^YS=huA7u}{q}95aUZBsOg;}e--o(qHlE1Gfbd6vU|?>Wr0yxI|jq7vnDOZ z@*ttZXm8n}5=I)q{(j&F04Ufz)GlYduk-Oaz<`)JgXh*QpNeM`eop|GOMY_0&)>iI zbqT!htUaJ^*ad48=->c(0}h5xomZUlJ7C6ZnVH?zkcY@RkrzP4a=zjTvu-sw0wh1! z_R#n?por|9r|*O4g$%G9PhP)XhF%=pd7vzWM^sT)U!0$(goO=O#%S*wPDEf6?!S=0 z0Pko(k>RI>xZ5rF-cgKwpZkApD>JKknTe?*uhtVXTCW&0!diZDTNXzCU%xKG(*jo= zn!D<0iiIf{pub%Axu&h710{WnYy!BNhIY6E2T>{-t#3`8xT_2( zsbmbT!CC|YQa~yN9+#l3@&zCe>NxgX`3zn+ZOf%g&R>B?3{B)+tx|vV9N1uh?awig zlO(r6d>xGC-b(u}-48`3Z2%0p?-PTHl-U?Y{fAgzm$<J>k3&;fG|A*`loeqXdW)3l)uxt(v4#3n3hM&6m1I>Tzunc~kIy9h z8|BRo4iN7TP}ew_(rlWYrq!-GH9*vWvG<)cgva;0*+U_$b)*3Ap&ta4h_r$#fq2n$&oe`;*5dW;Wk9O~Br^($ z;n8p|0$UfRZ?o{b1G5dArIJ1PcQvN@A2XcR+q}LF8bER(x<5aDeESoRu&;SEaXLIS z$MX^HYdI8;kB7yLXqqtxc!Upb=^y zRO##Jbg;zy2K@At1edLD7!6LqIRu3xZ-XQ3f3TL?gj_a`F=-40#DfPKIFzKHOjA}< zBLHE-4cu+O(O$-S94Pjke>bk5V5A0THz<*A4e5Z46TI+Y{oJHcgS>GllOY_qj3*lb z&z0y;gT=0oAc(|VRv^R)LNf1yxj?h9icP&OfW8*-J1;UO>>(9zb0H$bij zmLkiLj)|HlFq+^^3yDsHz5P?IHv690MbW|%iE^DmN83@fEo5)}3YGXEx?fkjL0d9E z{AeaAzKQEzd;Y}!l)P~h;h^q7%5ghr8JlsoZ??LIfL9tHEU1teBJ}lIV2`)UzQvY0 zyi5~ftrZbknL%mC+oqdO*FGtX``TgXNk7T}#(5oHOJF8tZaU088T#n(g(M2nl_gV_ z@JTJyv;j>ANrXWF@*V&I8w`1g5otg)l|88g)t{~|u+0ClW1WAYJ7fKO-03Ota2AzPSz-l!NC&`vPD*iHUm|rqI38Y zY#qoYiyB_vNOF*`k4D6rkfUQc(#IGg@T;6$9Mfee(N%Mjm5MEu961 z_$n}Sxn+Re2UTZ!Mn80kz|^0boh6=oim0E@!L|W}Kmd3QLIsOjH~C{EOZ+jZHbs}C z(}AA{0+jo3(*u@z?}!?Nj3C2--P7Hz{+W29E~W%QDq)6)&}0-VQL|w0MIu-(Wr(RGFmy_d#10i%Nk8&wPeSyP81v4C4#w7sc^BEU?tZOyo7BV@ zB3qT1uaw4RXXkyUrkh&qy4qx}ED&K7Hu_weH4T-Ufv_BrcELSSdVPJHNwFkLZpuGG zI!%$~?jUN%t)}a?N9pBrrvLx}ADQavSe>^6e}Qd_f7N>gr}!a|$2c2!^?wkg%{SR6XIXsvB2wJ z32rfhAW2H1lobR>PhSE#I6`e1B8lc)4d~uJoLpF7y>t$`6wR8oS~Y0-K%~YH5^)H0 z$Edhw;48MZ$uVC6l^(=7mL15!^99We=yA9Hmf-23qdivsYiS*TzXcPJtHPbUw)gSz z%d0|Za2dhzr=`ggi7o-c(s7JIYkmDA&PY(X!^B_HrIPnX_;cWxz~axJqqm8URoL;Fx5 zI5GCEU7A}t|6Va^P+nV0*FxgE+(hC)zf%`^4Bt6;K916yyj`805HOjWGti@J7HyqR z{T|Gc%uSB8*rILMwa$1a6=?Y8L0-gA!6zv8@FuG5dTMH>NnlUacP_gA)hn_SW{-S7 zM78{FetoGb6eg&^&7r+D&eNtmTh-a^o*ko6$4Qhht3)`y*z9`6?a+yfHX14umW>53 zs+dc>cciT(ir#DHTCeP<_bkEe%&K;)SeR}ahFb6^&M)2ExTs1`Swh15rJfPmK{#%R zGl~N&6pjuB`ffnCdE+rgCp1sjR3fY*FDr2SMAz5*w2m<(_$!qMhc{6rDajc49cpWJ zZv;DNCZf`pAO>m2_pe1kI3g7u>>I&k3~qHOEfN(oqauN|2vYT56Hu=Ug2tKnr}J;< z({6^gm_*JN-i88$U6BFFQ4nW`R3H33Qp>VeX}I$nPib>F0_>l!qkb9DfMq; zPQ*P-Q_KY^DsZyk2k@XQe|;eY;GV-6bRMenTBendf6Q{ed%hQ|_E1&rhk?_^F6AS3 zz7pEt(2w4NMZ1gXaZMFS2gz@4hK7(;1Lw|PZ%YiHYd*{F1Mk>W?voDDut%ZsAOm41 zJl7f&tP~hb-@Xk|#Xv-23p}m<0#wcCvx;Rr1^)a_E`qidqhJIGWKEbL!YCDHR}*b} z?>mLSuP3wX9D~m}J}sYlv)6n$ncNHS&Xbbz(^hB0Pf1agd(!LodET5|IRN zjc$I=k|lM-e}w z1jE_uCV!sLi4z6<{)s7c*|hsuj|*o8ujtgQKgepte3)YR_iZ?FA~AGPS=iG%o@;9R zr|7D~huTN^*#l!#cQ7W`|EJ-MZ-3XYX0B@5oS%y}Sj8efd^3I)fx8ugd;earQ06aY{lC*Lgi$`e9^Y>4cIUzc z-WrL8(oXq>@lrrrt!}T$QHK;aoODos+z=9w!z^#mY*EczYU~<%S0ko`YvFX<}_sAAHYn9;J2Lf7)8e{n%(Q zmO+Md=F09;9@UIsMa~fI7Rw8Oj;wxHRYzy6vvZT>bz7s% zc)W(pu3&)#7))3{cC==cUhJ1miuPn9}K#eR{ehE+>#Eu?k26kOAaRq``Yb!LBMAsl08Fb962%+MX+?nJ& zvgU+=t5mv6t<_$x?Wt8f{ahWob)q8J<4J5OyjNtWa`*F?N_D#gh>NfKw6faSo6ZP) zXY8+Ex;AL!ZN2UBUNLy_@1^rJFVwD0VCt48Si5M`Miqyu0``8oQj`cXz zQQ7>67B-KPs|uYXZXVICqNYb{KKEBTbVi+~F}2Msx)B1-L+_jkzP-Ml3<3Ja@~Ng2 zT$L=h4Jw|VR&mTdn{fWe=#T7dek;^Yz6^`67MbY&7TK|jOQLf($tOx(h9@1z@kPzJ zpW`Q7Rl35KfuiivaXVXD0e%Xm=atlJsA>W#+4)2tcp z>mkk@C?&P{gH1~%wFcf$4|W;KaLe-TQGvp$3K11lc3vj^KL0JYewFv(LP+`X;h=of zGQu(&;l9NczbxuH&LyolpGWG2Ipcm-i&VQbLO7EnMqsSMwP(n_)QDOLok-=>3-({QUmTh9x6&o;62>q+8FI<0+KU0v6R9bWooJgNwaw-3nMZt zTw894dnz`UZLxe~W2pSLbNefXZ8O_I8mlw#wwR>4{iJjKDuf(wy~VWWy{e%S`XD-3 zz~c8|9qgas%=mbeo|`!mDay;GZeXK<(REx&4X?25;|SFi7aeq7^+PCY<6`12ij0t2 z)l9B5&-iJe1^T?EH*^mcxZZnrEQm!%yi_OmZ*}TLD3Fph=_2e^+lKJ&G2P$Z{feT0 z?nJ-wiv!*EtL%F2N^;N>&p^Wv$8Gr-b#|NVD(~$=|S?V9$42SfUuXTDPJwzP~N*x{6^p zZ4wKURtOt7(^6#%1fovkuU~u0xA8wc#wB8!#2psqDXAOt zvw992!p+q2QwLWz98c`#WDziqf(>6H%8f$G+YZ~nQ0#<~n@)Z&`3v!xAdauRt+N&2| z?Yl?#`0dYPLlutZdQOU+EOfCP;*c4bsCd8_#8qM3l84w>--re~t&4ht)GYJZ4_G~X z8!wzby!O0QW5s4;to>(F@;9`+7N^vN72@KC1XxuI^KN8cvl#s_=W>J5`a3l(^>Z|} zPIR!H!H6FdzMYIUE^6I;&2^FBC0HG&7O&`CX zwQtsWp`{fQ7YD;tVyG#&w4Mffdj>>!T37#W0_Ysvozl}~#&97Yb!et)Ki_ZkNl>@B zJc3f9(p!xWkkM-vy|_ZWG~b}$CR|if5bNu_gh4=NEr`L|5}2-zuxI70M|`Vnk#c5z zo@&}iz9iwP!-XUS=^jrZKVLjsW1h2|{d_mk_`yh8wK+C3Tb@{;m=eLQwOUCm8% zx%r4@kycz$SS5AcLhRn}B{7a&i6h?Ogb^>nLG)#XRNqIgImu5EXlk0s^{)v=4gxpx znTrzniW2X}Qzr=e9#(mKGSnv+a&U=lZQ<&=v90}uG51*TPwTe=GTH1Uz0AFg*ZAnZ zW|SQWs7~x9SV!&enroQbtDPlrh1;u0Z-kb4K6u!DlJ%@Y-Bk}Ja&te|74~#jpPU~# zAwKn042z5|J3+{CxAOZD{=3e*8&$}Oc;w&Mx6Iw-78~d6wok_m_fa1QkgKtE=>Ne@@SV?zCjT6S%&f4G ztfS3vl2t_U+VMV*jF^vHkn@<1d1+!Y4{R#nYt=)6xyh96{2-=G3 z&P%5|1(N3Q#ZZ=WkgomSe(!%i+;Mb1HY}%bYaS3E@9}u+ z+Rc0D#mGta3@wc4vHfcHX!Fd0h(eHOTrp@Q5!)L(yv1F? zzh<>;evy<-MriAa=bG8s4iMOpv)`(8uN@4;4F zzPj5=ckl9YQf-o92ZQ_6y48$H-h?*H@Oj&i`oMr>2x^9ysULc80!moOq-N%Awxu>R-tTYq)!&>N4?5$&0)L_CzrIJ%{( zp|R<+yclKV_{7B&4!CE}ekL7;v5!2fD>rm@iJoA%-v`w~di0B0e?K8Xf4ire3R2(n zCuZvyhD+;M=@oR#?wTI-VZc5^J~S$y@XEy8*nrSKfGiS$w`8-)0sK!PEYe0}n{HP5 z`&80f5^Zjqaq3m&L(XZx;$e~F%0%HP=8KLA4|ZC~jX-Dych3(MWes>7)Y{|- zI+ze#R^crez}nTc)o#$K$W^?#jLySsQ3$uur*(Kz3w(~>VLVqNZdhKm;I z7$7O?t~$5cR~DY{skfPVzt+QU#komGtNfLOXgswV3cYOocaX}ewMWHqQr+5Xw~EBq zDs63bp<>yU1tw!T6frDf**4ujM;$BK%@&Kce~_8-bm8#?+>eWTqfshf92=+v*6|B* zZD+N%OcrwS-#?9ZkE-*O;tt(MmNO2A`I)HOYKzqTy@C{5^Unu%kx(el>e;Lc1XGG* z@xRkHNF&_12CKOpO>8?9lUIky`f6>|3O>x`vI+!nC&lJl9*&&xcT4iqDo*q)QaB*p%4+5J?U`FJ~f&87Gn z0{X)4X%E~Hl{6-DE|)mmLFljD)J31BRa1UF@w6+sEC7$-5fZ&Be{Z2(R~eU?zfpNO z;UvHi-NGK0?~dHWC%tvibQ7EvvDi-^-D(se{0{AjTz?@N>|`?0(a@@`dbpkvbS!a~ z2JcSzrjo**)v=1SoSvUs3h%3_%CUABku>|7zw)z(&|ALdF5&rTn_;C-uC1joyuxT{ zcPhY8!L#T{`paD?)rTg!)ZO~pbXdt^#R{E2`0Y<|iQDZ)T$~Dssq^T$AYtD#o{l^k zJxRB&t!FRM_8~aK7YYnd>_)s$4I(6<#;}Cml7^95-iZ0r0#!c#duyZ@cjc~N2D9lA z>p&VOn!Q6|cQNy4&y|ZEeEzEQbQVs>+wBE=8U4n5qV9L&%gak6w4x8Y5Jv~)B6`O| z=)?61f!_~*bW!xR3}(jFe^~6Sz8F3g&>$}Ev9mNucvG`hV4W&v_08jC9eac5|sG(avKN zl~#m3B*UeUC@3J`$Y>|NRCdt4?pn0CVfmnl;1?f};%UW7>VcE#INIlczqwpT`2=cC zjlc}!yKWuGzyR4j`LvbZw^#|SLlJpr`mw@8I)e2|Le1fRod+QadDJue>x-k)GvmI1 zgyy+?4>!wBafFek5xy9OC!?j4YHf0CD zL(is3O@A~n=3ut^)>q;v<-Ym)0a?1!8;3Yym!04`gzHi;31^Y~t@(7Zlx&V@ET0&D zPD+tXjw?7`eJ9W-Q|!u}iZmgTiNf0@mkik?PD-5h;;EEyU27f~-SHLZJBk^;sKq~u zr7D~6Xd@GN_1^nCl?Ur@m(6zfk#`f6vk~(V17}h?p?;WitPg-|XQqQG0o!bpKA)RV zwiA&y^?2D&icrE}MOT&V#w~jJ9%XiQI*;S4$%h@2r3h>BonJ|%DZI4FNZ#lEr;gsf zZ6Pp7xF9u$8;_owBo7!AZ3dQNxz-1_`|j7@hzahaS!hD31>sp8rL>x1Gx4I#0!srm z42T_6@}0Y)Wr?Mr)r_?bOn==ISO0x=#yN<<{<@!{KPSe8FxTyBskY$UjJRzrUhKFb z?rFVSSH&6}5v->Xqg9%CxDz&mk>fi4y41)NP-9w9RRjOINOtjV#ZlcE-gb)#_nqMU zw%Io3(1td5FIC$$DQ}@g;~3#UOLkp5&%tuoR-zOhrg>|f{WA()yw!2RT48z`0=Q_h zxi+0joAm`KRD#6!#g)`dDAbH1Pk9%v`6h^L6pdhyri1Tn{5ZWbfM>$(@(m=26_yq0 zo37MnoT*I5OKsmVJlv`n8131qdw|d7?v>xLO7PNhanMD$Z`3Eyi`sv^k8sj$YuYbT zYuEMYN&a--9*Nasq<7Al5FFWXy(h+M*djvZE5kbP|72?N*j+EDGM&d%wLm$k$~B~s zg#4Cos8qb*x9Ow$<>jn075;VWoKbGB)#Hm=L2b+`K|LemhqG!4=MfpkX@Htov{X?p zw6$v;*UtH<_yiG_$Q!&BVvlU}>PO#gzO&Kak)=Q058iAVy-$(3 zKRtQeOxnyj4*1fNXGVi~hEweDVNDI$@v+2I;d=@TcDDRH`Z~^=PUDsS1wrBm%|WG1 zbaG*^E&B#kiPeZZVY#MmE3FN&+(Sqon3xckGj0c~DV=S}1Y@rNpKzgYZ!V`~AyGOT z7Qdk`Vk*J+ogXO##lw4?1CsNG3LZ0A(T;}Rc75q04P>}++|a;WO!t7BD8IPi1#XVR zzhY=u?u!miObo@U(9izbS;fCCq8h~0En5rsIxfE&A59ZV+vX)fH`LG^#kDaQI^ELy z)czq(CxC0AO@lVpO|9ktbKKl;_*sf=d$aSQR71P1f>6zNb6XYDUCn~p0uvoCV=FHe zof{lC85NYZ4_73P#?-7a9_!0p_E+gj8AV1MI8U+qhMZ*_)bq5mVVR0mv7h#Hv2&?3 z#D%mN9fj`hD)a}{@ZMy->0fYi?BtOSZ(FdH)QBcoS;XDDcVgAP499f!4EL0;RPWJg zC|D>o@LohuREbi*)f1|kLUqagt>4bbNNw$A?h%a;8r=H6z;s(fnFnF@bg8?0h~30= z{_NpL_I?#hJbssqpkEL>o0|bHRVty)fZ3gQHr8$x&viko&SyThNBd2!2euIO!h{bH zSvoXVh~TqLA!u@#7!Rl7;K7>v#-XKPg=iqS>Hb0@6D_I3t+x8`%HJrPpQvfJlnkZbHqLXYf`bI0N|RT+X}Ww&K9C&#SB+Nds1 zD{OdNL#!{nD=nY$o?$YayE2*fxtV-vD22CrfhA|g56&QHHHSXvgfc2e(KA|# z6qmqh7TiYHNMe2Tc&XLdKUQ(Com~w@!X`Pf@DR7xclP9%x1pi!>xM1Cr+rUXknDr6 z$DB(ERLJemvz-{1OFGA8W9vQ>iI<3?mx`v%@+@j#^ z{kD)aYxCmef)3&LW_(YT*Oe;S)`78j6+UMS9m#B)PDDI;&Y-n8(m+A9g3i-Jg1KVW4L;u{yGX`0=Arn++ zi;>5Zy++T^a(t00ELm#lH9I?#e%=zi6XAvXDJUOfN@H01C-N6Q`9CAW$;k03$YNAt z)>pqycnzi4uhg^po;@UALY)qGbWFgzZLcR>#1>Qa=dkB`n%g-l&kw`7G7bDOF7P=QAXPs>7Y&cdglMdODVNCKHCC$2D^$bM~*%&YteL zK@nDt`0NLY1LYa!U>$pwQLtcd{;6N_lSfbMtBz;m-~*jb#T=%p*1IJt+j??^P}MR? z))ixlM~;zpGgC$Cs&VQS!oX{+@+5Vv16xRmMq5!u#e)ymY-#`$%iBPrPPv*Xn!6)i8@SC*`bx@F) zWjz{@h^gILO*(t*F_oJT#M=Eivbx5lWkiYWA{mxpuRU@&sM@A*V|k~YDTB>^`_=^> z(@15L$XJmloM|hwwVo5lHNC!1Kj)FwUKL}|$!IF8fG(=xQ_!)7riu0MX^YQPK`dRJ zLo@C%r4!;y6CxR<)$0v2+rMw>xjKv*&)tk{G^k?D#V|CBFdlnL@q0}jz+U~)`Xd`D z;u3lXHe@?uZTRr0i=38(out8a0SwzKi}@TAC-OE{+c}|z0HFpJcir_a1oZJB&=P^(qfyV^cV({{M>+y<$4bV)# z8Ro@}%NOR;dA3}`U4cFiNG%7)T1h4bnxp=!33TYXkzI%KMtLW{Bbf3sH zY2x_wJ73=Dx$T`M?A*Y2cyXM@jz-{Iba-T}Q~u1gAR}daFfSsK(Fy?eLbZ6eDfiRc z1AyTvJlM`H!~xo^k3e_1A_#4GSGBZ-GkS%!SS6Tg(CO{zE);IhyPAI8o$LW94j{Rf zS)1*6UxP>qJD0B+6}2$(8^}BvFoKL4u7klAX-2p=?F0Qod((!%I6cD8cUpBXiftrr zh^b4^f4+4%EDz^v`BY)mk2XeLzHJGtVl){aVOIReVHc6dsimr^tZ`L=M3S{it5S=s zZ2hq7xX`L{*Jj1fiWT~r0jJcpJ(A`Q&wh!PTqHqzqzmgKzF%`6kX#fCix_g$HGH#Y?l@BNo-VFDdb>Yp-L=vy$?Q zHr^8UX71M&x=qddOsNKND+;VzdjO1AvvwJWvJ~ezcy_eLx*oN+_<47Cg{pTH##3=I z0&*U$7E9oNiLkKHDl~X{{Lv<~30#N4nKY&5m5U|VQ7$StdVrUCW;3YwKp_odTQ@gO zLh=e=6Ix2zjeT8ma$d0BTDQmbU!keWQOVU=TzUq@eDqA89xk(SI z4Q+7bRKJ;sSjA*yGnD2^Wnlg2yb&1k+%y^B92F+Q3RH}S2iNDiH0D`rZRd#QT?>@P zvsZD&^l`64?QV$i#z)-i6_~3x&}gJ+nW`^rK2cjw!By+jC{;&$!S}(YsZtwD&_`2> zj<#PHYXy5e4wANpw}>#q`o^kttfjQ;=&x<~FJqaOp`sr&Hq}4kdBu7x-~QrkU$=_k z$xSy-rBJ1a7wZ%1+)g()fC|}b4kyrTP?)QSTo3ovMa{PYh=Uh$HI1oE-#?ETjo7|v z2R{86G2DkcuG13E;@CZ%ATdVwquKd+5FkR1&czG<;Iyqg)8Ed<%42((gW1_&p}+N`wMd>a zCSk;#?NcqarJ=m|)o4j4<6h75y!8gET00g$A<==n+~dFKzGRT)Kog(q%PQ2c8eq8| z4d1vyT^HsWJB}Uy)qo}++Z~)4SzcjfP^q;@y_2u?g73s#{P%0hj+0w?U$j&xs_fKZZ_2i@0dgf;Y9&6XG{`f$To&8P6`)=q^ z$R2JDVG$7}HSKW@;+Rx-rd)Kp@1MFDnh^LbtXH7mL-+yzRDAd5w z4u`N(EkE%&oj{m_%4zD_cBWFs!Qo-EnDG8x`@57Y8yg67^S?6^L7I_|Km0>WnY_pf z5SJ_lH0|W%+YaGEu?E&wRu@f^8dCn@-|x)@hlY}`tH4LsmY1V0PFj*#smKb+%x)mcPWCLD$lkOlE1M81D_PlORmzqSvXzy+va;^S zd0qAC`}^I;ao>O5!*Lzg=aAERdcWSU*Yo*U&$qX{?B%`0)Wk$YM0=$q#T1E%b~+Fd zZByN~1^*J$`YD5m=pSB_OPA!OE?qh5L;JejBH)eB$PU%a?~ zsgm7PBTMx4zI@ZBtm`i=OsIXnwgpPqPLI)kn_wt>^tt1s)NN8LD~fIHj?E;@lBE&R ztEKb%oTfz{u|0p3{H$f6+cZ)COMskT&3=Z^3Xb&HisiuZ5uTrAX=?*C6xU>mjZ!>P zgj61mN65^&o*qoSLvuoBr|T$x>@tJy(rb0{KHre^gBE_ThYIg*%4kmHo=N-BOFuEC zAXA#5p7g#bTbw4E$MmU{5A&6*t9OOQ$GU3wUXSt%-J+JR7|I;f!dDd=TC&(YL8A7! zU$}y9b^0~WjN9hf=6ySEM|h4tl)P&3-h4}JEFGKk%_`f5=VU4$CrDk-7>8;+S$z;$ z_T{6lOMO~poZ8;S(HmJTwZ>809XceTGM%yw{S-w15D`g~#dd;X)bjC)O zG&}J8E|;$lUK8Kj#s0Ft>`Uo&GmUZe0_F7hPk!k!pK@>Z*&Dw3I+m-hk)EH|DU%~1E)-BnYq`R($&lh`*tjF+$oF~z18e5vboOye0&|IzLm+(>%tpEo{ps8nR zX=zRlm$*V$SlHgZd%0x_&iNU1w6)>J{`o35I~gSTTwb2+x`Kj&ii(lQ9h1p0dwYBO z8yT-&nHn4a7+l}>=e0z4E-PHRbji++M_l34r%!m*Ey>83r%#!DUZtd@WM)ne#{AFM zMo7e;xL!}sm(OBgZ);0N>?tE7!`3Fc_20L9dnhp}Ng}nC*z@A$%T+s*>s>|S{E9s` zMV#6HzKEzUJHgT`KAtYF(c^qAYe)?~Ej_)}H18aC>7TFj3ZcrWr+UsvdUc!D)^m_h zJ#R9;{r%5RiHPo0B-WEuZ$o%(*j=`h00;Jp_^hHCVYA1uR6goPV z8^6e1xZ|z3{(afokoyT$^im8PsZv~VjTFS5JMKTvdt6@~ihKL}D^_11=COg=bNT9# zd8w;@o39MWi9P9kB%(W=nJkl|ooTs}`1hwXAGjzrR!lq~xPZTrsi^ ztBaElO9f|K41!M-1adm;2$JMB|H?79Jlqi7(a~{B>r%P<`qP*gW}jCtUrNf#PCan@ zcN;i9U0Gc{9d>0-HARV+hi7PTP(FY~RJ8ojqg^4M{{H^>eJ3X;{Y8F9FKkGoD&Ae1Z<5ZC3lG{6j=62)c(7OpBXkbHhSLJacN)NaMiy*+~2RuuE71g z)s%~it9<#puaA!pd*2!3cODA{JN{hGovL#;*jZWWuU6l;=y`*`=~_A8mb=GUSh;uCY^Ed=IXO8O zm(`LIp@C9T-;W|9A_fKq*RNkszvbIFQe0SAt)Gprv9Yn8#}58`tqW7VrO_cFH!Uq2 z*-q407g+QRTCdQ#GX&6ze!8x=$Mb#IX_esNHyIfjR}!mE6VI*_1n~xmof4yU(2*QAt`_S_YhIR#sM8T1OXN3$KNC)YOc27{yJt zB=3*gEEkMdPL+FlF3V+Us_j#}*h#0+#E2U=ZWu=~bGqxl z7R1HH=SLbDm$n$^bqYF6nRn*a4ALdaGbPEz9iyT$F*3RwZpNGca z;r}H^?&xovlwe@>sP6%8q!K^LJQTV=H_cd5jq=dBcdUqmo8qE ztgSy~r%_;$o|57;`;p=>vACYzH@t~#_|6?WWFt9GadU^#+mVT5BTV#_i!w9U=pQ2W z9$XoT3-I%!UvV)o7^2W|)iW|Ga9y$H>|bctVN6-t%13?Vh>$@oS+Mstvc&dr!Y*GK zj$T`H9bn@m;j;SvVR_k6F-b-tR5rP;wzf0>77f3^v`be(z_4T6e?4+dOb{!94 z$C+oIO25ud*Rh6O*~Fi`G~E~H`$Q^NRPX(R2yJI?mva9m?o$1l;ICg*=UC$!_wV1Y zlW!gw7Z=B)LAGn#9&*v-R68(r8H3O4n@{{ERt8q1%PT@iu@`1lG$H)aF0wY4iB=G^}F z{_M?4%IQ1O4AGnhwS60le9z^L8!r4=bRt#V6PGvK#OuWr6b>#u;U+qZBhTS5rRjN5 zuY}|H@%~1S4I5R}Csu<$hKBNV-`#ugVB0{DtB6NU@TuLqcWZhVTzsxtWSy9qndzxz zZEO&~*7_j`sjiAhLE_U}J)`m~_SqPdzHl^PQnal{#&DJ;la|Hnu8n;RR?oH>(OSolQa z$K<3ip|n1!8fbWO_Wp-r(>&+)3@sh^m7$ItqnaF?|3eJY96FQukOk*;?Cvk7JZdMg z!0eho#>X`@HJ`@DezNNdypp)Sx-_DF&a5p>#O+sL>Y_FAkL`78n>0V*dHWcS{&7xp>cY&CxvDQ>6DJg1yuP=8# zMRGCn@`k&t_?{`FJa$a>7#}Y$&e$kA0=JA@6nD*gc7MLEmx?KxSvR(K7%M0=p%N}l z^;~6nCbgwTyjj@!=dOMG7y=sOL^lbw;A_@>`cYSr&7zUmn@=`ntZ)bD59~sx&&b%= zSe+JK|Jf44C>NZ3@7}%d-@m_Pe0@_QPQN~B+n$_mU`kj`i+eOk&0e*fvToFHi$DG90En7sE`|pppXI>*~%`uY8s1-hb z{EkqdBz>}6oH9#TY;3HK>#Vqx)NXMFZ*OnwqNlDUg$3PDVq$utEz8st72l7{tE8!3 zkdP1)qd#@(R%foaf!hB4*i!?vgU%Oqb&orR6&J4tp14#!aH}gnM#L>jsLXA3aiSxK z*@ybk^CqZf~L^M~^1UL|4WP);EA-Q-?_bt&J3yRfnv}N$^Y}8TBfXC#!>v^wO8#PDV zY>47nSXdwvKYH$V|71bm;>^qeVo$8)#&_Q{Og^}!6i!lhb_@6@sR7^9Dj6l%vfH4gjb zI9XQfM-8^v{P=t#L`908G{edB;lqb3re}1@q_cHnWFwwDsn(i0XE#O`IgnjgxZIYm zK`%Vg_DnIQ`u^CMDf^8irm+v+hj1YC3JMt4-v@F20grD(%-hn`=r1n({P}ZfX(aef zS{iFc*FTInq$6=27H1y{IZPe#ej+6}AndYO|CB%EXHi&mt{mKbn$dW6&B-Gc&6d+o#VG z`zPO~Id@yv-F+iQ&_Ol4C(n!m{jVN4OLcy3&QIeS1vxn{FK=+;6Q`QM z?B?t{X;Q2wV`dmq)(P0dz?>sV&#BE$>W!wjwzeiDEUcxe+1=e;_^F9)k?$L|TVQqJ z$0~pVdIMh3t=2_rsK3dx*EFLI=Ra}&J>H?84H@=KcNfh!U8arP|Eao~W8)e_NKsKy zP!&Hvf2ADNW{P4;hIVOfo;C-q>(Z3g9%h?L4@)JMFl(9^E~8J^2@%S8`I5uk$DrfYD;DcF{*1MB z_3dhEYEmy$(MonsJ+~UPbbbEz>z#kLYU6ZPd7# zz!6WLf3I9f0f76$g?E!(1s-d&RbE~@=Klc?sq~LQM~X+oZ)4fDEF|O_YM{D$CrTTkC@4ByZOP46L(Lf@ zetkmL$BNq8apV}za8sF=d~m!d8ohnTj!)5i0o!U@TU(i#nehi;^#GyhERg`)b$Lgi3QXTN`Z`SRt=%xw=35459TIiHW;feM&KMdPHc zRj*%P$n;pRYi!IkYK*;m_bw1PXQW@+2_Yd@l(q4;^mxK$7P6=%Dq1mfwNt-$lvY+I zmx^?Ab(OR_rxRcV=|9yIz!{5fc};IyeuU^vQ07 zQoxp}wTY99tHzXvT1HV((QJFuzc*7Z`^y)lf!BpHUrg;xOqfS?^tumJ6moIau*kg8 z7ZVesTzdDTx3qYH1^|rt^l7>x1KfEuPTFNsY}u7L1J22(_wQG<$cf4XU-Ht!w)G2X z1b#+;^;8$920)|xYF)wkR*LK)$v8R$Q}G*Xp?%pVSvFo>$ux{dz>iwQyF- z{nu!6pYwP+0oaKpam$?1ES%BV{MDW$6J4$JfZjmZ>idJ5ZcC7UkCi$dUTk2C9)ae2 z_YFF7bGg}XDy6pWPxZ?iFxtE-Elqzn1*`Uu*4=UB(@`BAoh()9*oNxr{$J`(MLpcB z15XV4yc?_uxq0IT&@mRZ@aYopCXc1Vi(9>y@5j2brWCy1Y`*L$leGsv5N2lXP^6ip(-C9vky< zEiEl(W@hp6@lwVn9F%378!i?zXskNUqo;gcI12SPCtjtYp>YyA7Ds?&eA7c_@7~?t zNk>O_iqtzbbzEm-E&@Fg_tMkLYjLdA_o&CnRcd} zl+=k+`8X-A8y=)R1b_&X#>CFPkC@o!@nZ%$!Yx@&s7K|TYKniDnRzBfaF~5xVA%m| z$5Re3LC9#`m%kBE7uSSEL*Y9>5kdP24xLSZ8op&$ckFj*X}{Sh;KRDGV+EH@O<$>} zhu7$H%LG_T^wxnVEdgtf8ROj&&maE*x+Sh49Bm~B!NCn6_tx0IeUeD`#hW+k>=7Y@ z>AAUI=x?}_%Bq04;D#5Pwz33Cei)g@5)>t)iDetq0d*9f0#LHQefx=k9m`5ceYFGN z!u_55%jRlNw^?%Y@h!y%h=2}n(326Ps!I4#>a9(rYZN>_CVb@>?YY~}E(aV-5Gr!u zvUnn!+*M@5Xws*7{W^iFrCdvH=AJ}X@20+ME3*s&l=3iP;F@8&^6FCgrrVd73h|c% zhKc=glL)If5FpxH?$PIX`_`?=)#-9kyRk1oySuh+$({j7VU&HkjFPMF+uNS5!RN9# zfuGH+xcWqbNNMwTK;enQsa5y^)IJmFGiAzXGh?_e%C1n)b@ABg#XDwdVrN7Gtr!CpsSOq@Y zw|DQUGkR+I|Akh#l>YaPuU@_4>vOefPLSHVgQTCD1ymPE;HaQIrGvi6?f$n|Vi4h} zk&(+jQEK6A%*;iOv)^NdU2Fx8E(Cr?)$XQEAS#OguHO9V>&K7K-jd$D>9o$vkBN!# z_4O4ynF2*1EiE_cGEZEigN+T4%(tYy6RH=V%cm&4Y8@l!Doi{^loHS7&j|k0!d4CvP;y z3PS-oxyK|*R#NhKK&z=;^hv{4PVvgTtF6Y|-RAD(fux3GK}|)>f5kqblc;196BClV zO>qzoQJ&Qp08R0K^ynEA3lkF)dh(ewjV&!)oSeWHFWbJl1>_5h3oGrM-}8tr1QFpJ+RC*5Chi^%w&3Jzk=_rEe~Pw|>vIiKOfjz_{`Q2jOSmZN+cwb zvk4mEE!Ny|(5BsT&);7b5H>KRlwc+A;wX=6FpeVk{YcW{U9@sDAjt%p5tLpdqmhTD zXa4<#8GVQP1KwgCKnde9 z69K%l+Ug(@H$5;g&@P?YI?Q{TiAh&2-1&n@>hIP2+|fz)YTLGLfZs*M#rVs#N*uG$ z5nTOLSy3uEC`qaUXxqmZ0@ek;GBfAMGr6iZoOTq7m1oLz=R9AeDdIGzZziF9{km`^ zbIz4Sb%Msa&4|#lx~)G58P-3M3So%Ulr%Os@6I;3dgY4G>_u8y+PmkUH5sSvSG)!3 z)#I+_QH_MgFa>;Nal;D!Eu8r@`u=%CI?zUgxX_t24BUr6sWS zgqON)W@l#y8_}9WSRH5j-<>I$+2SxpN=nM)BjEPyC(17yAGt?=RM?fF)0rjTr=~1Q zUKbWRR(S0lrq%Km%SOKsaaGQ2$43gEJ)0$L^ekrEmVcaR!>$+@8^4^rw&VT@9-f7_ zcejFgb-#c1?D*;O_cb*&-DmDcM|Tn4acIbZa~P@#ffGh&DA_F<9sa$n0vgd5!>X&R zKl)OH1ky7w7y=+qmoCLR>2-rH?;xRk4Jg2P;>J{HXrvycprGK`x2&9;7SlZCPupI$ zn#wfGLDw`gs>(K(lJcIN!_gU=C8$($JzudfEAu04n)JGqhTqdus7he|0Zfu9;0CMmJ( zB_Rowq_-Ka&nhSob^iHsb{Xv&93@KVQ+<7ciF%?Uj&E|Tvrp1!oX18a&FH`Ym&b-H zYzfk~=!p3Mpby{?GVzqwF@P7y@>na+iv%njQUg};S^dQ1*7k|--?Ksd!T5Y$a8ow` zr(C>r36T2X!z!P{r+ZzdOMQHZEncg#x&xRB3kgZ`-%?f%S7Mn2nS&_IZ<7=sKLA8` zOK|H^-wCdOs*t*&!5oUCM|%JVr^{9!`@RPyk}i8cScqyQGnQS{_u%vA&k;KA|Ml}g z^yTG`N7Svatre)Pz3z@HBa;MP4nJ-=_-%sG>5FE1*5fo4wS)sb}*XnG8H3#_8b zk7|B>sgEYW+sB8RL-)M4cC1w89Od|O=n6cdZV^=~VhRchf+AmeRXIbGikey-_F?wg zEct;0=M|J7=|^%INiO$xRs#wIKjLR&o5W2>OHV(Q7l|VdRUM2Nt2hBs&`@vhel0j& z-cRIW1oGTg?MWw~TdsfG?;+0;Hc;u0S5ZbtIy*T94ex+y0RfZoZW0y|v<2u%!k^j> zvW&IDRrZKX?NSu}_V#uUtSA`PSrbb(GGd%(IRzzI*-xE$W{@wW2G>y)K_VqCUtV2a z9vm8qoSxa*E`3jT&a4nZA{N&)PyOzB4jet4Wqttxco;+TjiMtvE=x!RGuii*x#4A} z_8dKOL^)0M+t3h?>+%eUK{p3nb^6(F-@XkD419j+;oQm^6_=rsvU0FH z^+*&|`R$e@8E%>6 zx9D#$c=VRK5WG`;8+{UfZny~9n-5m1E-{fgySO-vx5+S(iOif&J7PjLTJfya)M4W5 zyViXwDD>xU-%0RC1L*G0x>*%mu#CeyXle+A?(u7saZZYo%aBBk>A)^fKoAWO61UOj zQ}dHMwr>wQISa;kSFD~)9FF$X4HZyCU%|DvJT8uoA3l7LCxaT{0GX9^)-10Rw`q7} zB&3Va&+^wJAD{0#ZtsDoS3MmMjRJz?UZXqQ`Xjxzb7_hxN=#%*t1nx}Kz%15Awu7! zON|kB$-hOB+a0AqX1B5C#D0UJodql~IwnR&Hex93w$2gjop;V3m*?SHaV&oG#>>;w zs`L}>qa>4Tb?YssNO!N~e59osn5OuB{=O!qKPRq?MYf$&Q?n zvr}bVqj~kN?p?~uuKTq-bnd4LYbal496BqQ;qY~1W@Sy5C3zA8^@H7qB$=7S6`*&Q z^R|rIR#xD!`}#(6=xtH4f7LPyG0A?i(?HX(9JB~q5~^@RG+#ML>p%be!!1LQ2NPtk z9X}wnI*|iMOH=;3n%WAqBC6z@f!4eihC>e*Ad4 zd{ZRlnnn7%?Yp1Z2^@_Gv9{)Y zd36;sc?)*~ub}OZ&tQ4#<83Do>;j#v%1*P=(3`7JLYxB@u-i*%q1z1y4<4j{v<9cq z-^JoJYcaUCL0x#z)^Aa712ZMGv|?%=hOco_Q{)tklE{Uz~SV~{#f6`IYsQ_R8H^nqAgSB47o3DA?cLw z{3pTb!s6mai0elT#l=5Dy20`l+l}+0iI5uQuto<3&4OA9zwViboW64}wV1*eoEu0N zeCX@RaqdwsUdoBA45HOm(rw@J4!wer)EoNX=1QYS{_K(8`{$1Tb7H6dZ{OZ=_`TCb zvFyHh5-?ssK!A>}B7rV7?7>BNdpN2wDi`Xq(`1w3Y`k_iEPg0o*PSG_xxp(YcvgDa zbTe+Lu{Ab^GHJ6ba9^FLpvkXy+NI77aiVbvcj*le`+f{zkRcd^GNg=7}~SFc1`m4%|67U;&C76~vwXk;mq0^%N-c?20RF z^{-zg->jF-R?=XdctsDGNvMy0ettKIY)5d3rZH}c>*k_4)( zS>3sJFJHZSu6aW87{>UL#8Xrow#$Eb?IiJaQ!_J|C?9UjqL&I8e|`qx zNRbT2oowuNCNhXNu9q%VgtKX|GMckx7ZgO)=xcpWxN!VHwLa&b29jg$Y+OYi-PDas zpFNABk_`1SyhdDp2qe7d_$8bbdnGZ7&+?c|3!g>zR}^q}_cDMF*jrVPkD_M^T67n} zEeZ^3YHETaPp{gIwhm2)%F8<-05bX;;6oUHFl;FXcpiFrjoH3|D4Cp?Xu?h1?0u4j zrM9Z-A$Q}c!>cfjAQFH3_U&e+AHU5oiHcL__itxZU*8EOg+_LqpT7tu0rZRSAH3m{ zV^?kdh!4QVw?tjRPV#x7?J~&|b_EN$ibJL+R(m;tF3j*BUpUG;UmO`MI_-4-eE3_nhO*@g+gyE~;lHzu@#1qYMYpT?SgEK)?a(`s~>= zNW$dg=E z`FJJ~s)mMia7_TN4QQTHcjwWVAe;9ADWgvZCvDqt|J#?8 zYnQx8X6NQOEmrGRVBbn#lxR*=No}>3(Sz?;VBXQ3V?Gi+>mhNoD< zd_o)C=NtIo`RnURNK}G(_BsyiO;G~CssMrZU}4gBi5 zV{U#PS8`Eg4YvY#!eu-}qH8nv<(VeB3No?Xo3K3+ zU_O?)u0SonH8vU)9DLDP!;Cu$aOeaBg9Lkoi;GL9T8`J#N?7dczs57?ha2c@%=4dc zGSbsa#|lNdUMjfNW%$$~PS}N4NJx{OR9r$ryUaC`756q_VFdu-`hZdUg!%)XN3%;U>!zXPpJ!^iNK|n z+<<^apd#2)T=*@sGE)5|@T0~UL8Fp2oQeb^kUj^E%lTFC_N8*}4O9i#ES(DskvsN; z?>Vow@w{IIpf9-Lb0!u>Mk5H=`RNb3?vgtMYglB5pbGl=`|}i04opl4InL+~)ci6R z+4^ulE$_w*l5J0goPy0?tQXu2yvmy2uyI*L7DmJnuJMf48!>yulR-amcbi^_gZA)_ zUb>aoRbXiouy@DSl^Jdxo}iU~c1?{PG-)w^fn$*nRE_h%cdJvsnPLccIAPPzs)atO!yNi;u9eEW9RpfQ1nKfMBW9GbI*(v%{xIrNqP@0R0yi7bE)sz~(ekKb}@sSJzNH1to$L z)#vyD=_ed|A08b<8L6$Uy>j&`K_c3^#EbmM;1>j{_?&!fc@ZR;nwm;z&)JJMwV!u> zW(KaLi><9Ks9gmI4z#_UomPQGj3>i;`T+*MEv(ulUk91tKYY^HxZG*}I)g!&#B_+;5dco#yd^{CK-ud$O2(;Z;7Z*HQ)1m ze6~%}5*_~j{rfI}cBv|7KwIFx1FyIP9^r+LHR zkGr?sLnlBR;v}&FV?rIwC)XF{6*y;LsMc0X+>tHt=419y_M68k7xL5VUTxQmVkRSw zfAK>7$fe<5bXLu%jXU=rGj~moN9a$NL)9bN!^&!wV7ZO9B=6j|?a{~YKMX;GnVFa% zqG*`y)!wamT}xZrVuP&UGc3E|&<;mNFf1e_r^dzv5L7@voSB(%U;m|+kv%ADXlB%0 zQ{$av5^j)AYtpq*RaGSl4Jsk$9by48ZI^0mH0o4~iUttG?0lnzd@I29ZqN7lHb8Xa zNmt;l>N@bul@wh{ueIaW(Fb;Ivl;o6X!7RSvwoPe6ib(2jYmdDqa)rxjtHpt7f6;_ zBh|~aH1k{D&~RK74Z%9c#;#CT%TKm_{pwiS@%X5q7YP*tb7WxXaJSmEUHr#fD<{JV zewzs0siNyQa1UHXM1g{tnNj9FJw1ai4)5Cx`z^#eHs>-cnILC&b8UScNi4ZeEl!dg zOceKx54)OUc%fq=gs^!mmt8tfB$~V)~(ocCqimUN=hK4tQ3^5H(aEh4Gt#kTlNLsN;Y$k59VoD5r_ta z{Gv$|oYd^6oCLgS{e@ufru(1JF(1F&d7Pcy0zv|}%*f!ND~#~rzS9|N;l9@z8tF|A zbtg@NfFoU`$x7bd)&@E11_Q)D zhW77B$f&ESL1vSD+!4#wkILK4^WJf9w@MAKW)8(bFT-S2_5_+Na`(_(A*TZ^Nq^F3 z>?n4C(&*OH(^KV76A>9{;x3N`fvp2!86aL3;^^bYhLm0gYPog4n~ZTeuO|!J+`__9 zJ`1>`hf}`B|Hpd**UHWP34@iBlB6!2ZO<+Hfy%vm#!V2_{}o!amC@DNn0fy3_?j*S zZ~a1fc7L=%J-)llWx&qD@+vcv(dLYyp`rRQ=@)}2U1dwXE|o5r05Jb*3kmrK7Xq-T znm`8Fy{K8V$P(m5=tGUHtgO}Ngn$=PxrIJAJu|c5gh6=S5Fzvo#T7!gQ%@q|{wi9> zzDDsQy1>iZrpqxnJgh!Nrng?5@8j*H`k|!c{+i9{_DmLStLNzHJ+8-{`&^~D3Sm8 z^!#y01ePhiI^NiwR;j-%&;h;}rbG^F6)GKK<{Gk*@Tyl_%VymgW75mY%HoqY#+N%b zfBqt`4bhli-2LthpHqUkgxb;dI+@-s#%=oz%M}*!gJO&AD0C$eIjx&^m7Q%qnsMAb%Gps*`Io7 zV4$TfNcq^7CLl{F&s-$el$3IDJN8W4Rj1u2_10foo~^8dJ1tqZ*e!TtFFYFH&078J z%F0Tx_7B#*ECBFn5_}HWq`~u#sd;J(Px)SaPKl_832pu1nxy395WbHkX}z#V8XE&% zyhLz(YCx}x3M!Z1>;fNL26UEYnXk*{8XkW7wBU3Sod%$TZTWXZ1O>Yq8XAzTT03+@ znw2~xyb5zJI8^zQ`q6=xsv8>__r5dW?6|jmPyK3soS?%eT@I*4NI8A}EN@Y%@aLc< zAaCMDHU0)sja3MJJ~C&TbvPIlwK-i zuQ@VZ*qc?XI}ocn0IL87J2qiv*{?B_W^fM#&m<+QkuygQ940h?w}eD*nVTR^FhW#V zwBy1%;op<9sq3$o_``8{5&2FR-g1%sWR!C1!pw~0aHLW79h{Hgok%ky$q7jV)-w&S z`SCqKD0oA1Dk^?xqUbZ|C*UuLxVnKaVz5LY#sYY4fA>R#*=6EHw31s&5iHO&Cy0d* z2U3)NK{^EUz*$Ys&sTz)kG%Y_L zPIvL(EGi@L;na^G=WtVzB5E!L-veTc_%H?XS}-SUXK$}vWPK{~G|p*=zP04QKdg0# z6$Vw|V@u_2N8p{FP8X!>zDAxwOg zb7%2qN3WgVvu%s0s3@$Yfq_e;U%|>loT$^Wqy6E{U=~L2{Wk1-oDlNEhhZ`5==6CX zVhrYvT(!w6P-H{lJ zf~f6{lYfv-A~ZaF<7bQ9@O1;t?}OvxX5C>w@2JWC1N`W>?gF0VqZy~hgo#v#z~dx4uoi$XY=tUTkhV;4TC+13(!Qa{z@Ws zJJ3OpU$jBTnX+Z%tp@H29za~KCHMSsg0y_Hv*O`?!E@(GjtYEfY6=?HdYghtjMsYi ztxkJE`+`c1V|hJQS%EAMacKl9DM>&!dDB$0&>w{R(l8_jlKO}XZ;Wj*IMf!9yKx}a zX_(5I1$N}h2?*Or^vqV#hE&0@hAX0zb;DEahWKd5O?OWHFx+ZPIek^sRF$G1)#aria8 z_xH9Scpb!-=}8-qF*N7^XtxPEj+E`>uV23)|FUZq%4fD$efU5~ei|3gI{xT?Ohq3u zHe)9uuo@T~JO}MJ#CJb>Jrfy3sc1gSGNe~Aw^v!Qu|DmAwt$(Y;bDe|ItXh(MO{hC zuYgfN&+OIJqqH+e=2swdv(~|V_E=~oG)f*mR=Agpj1LVuT9V~xM%>iX?J=W+>!UO1 zp;y5~P-m`5NSJ3J2pPg`1a@R`C$)VXPRA@DAarf2%UV!7F$>{765}8}H;y8fFWb^#9G_gB=x(d-z!yjSL8~mk>(3O2Jx3 z7(&3eX4ic6g8ei`=Z5NFjze;QM%m_Pq_zmzvlAtlZ~Ljywb!tcaBQM9Z52{mY2AJ{ z0q}q;<*Ktu-JR|$_dt4Jzv$ZM!tSrbT$rq^L4+8FT1Xho6R2P2ePumfH}%yP(O&UK zpnmD(7&btr?&^r#K()i8xP37OK>k<54p12^CH1iK4Ah2^WH^K6nM{z3P^1#D&Ba$Ggp({!Oo8D z^l7fRraEVm3TX3~2g6s}7TXl1&dwvYm|bgay-rVho!6`-N&IAxa_X%~B9kakR>XFh zSXpyFcRuk8ts5e#fQ=XB%8!x^{7z3QWo4B$Wb!kO)@1!euJ`%la5W7GS%8w8$tTSZ zR&ZQ=9=PX6`pDNbBne%t4OL$iKHSJsOiBAszTRXq&i`Rq$nS;v%!3$%szeL7$%a(alwtr~v(DWw z$L+7wN)L~IpLJA@uP4I|x|~i6 z|9(^aCs)cSu^#Ccl!epx4Z{r}{?fMpvibJ~cP_Vh7(N*PGJN=C(91pQMn4vQp&y9V z6YW>QTe_$R{>i(%omMbfFqo>XAu2X}Bl_>}6LCz}b$jR4KZXCAt_;nG@xU$t`v&#& z{FId4r|SQ{ZvR!4g!%*-8@%hyn;3%~nRS%ric0Ewb1d9oZ^KXLQrYD3U%PkwX4m+= z{u2rH+v>7A4Yi8?fE@hm4}&<0PoO>+eef_y@u%|F7QmfBlgE_kK5< z!Yy7L=y8P12JYXx_r9V6`7I0>K;J~t6EF0oqw=ES z(7jVyDlD!5GD1Z~#jq85R7}(%o*;G-;{?SJ>nR3?sB#Wg)_MY&Vaii?gT>RpV^;0|TYyZD^X;QYk3cD-DVS-69B+dkvDO8Pg4l*#IVG-e_Uu{SgnA56(8q$( zvAJ)gbu_{mR3t;fJ7wpN>p&vVKIUg<&uYI^P8D4l4C(IH40(4l$QZFGSlyL-2;pzc zy8#c>=)ca%nTO?do#pV#JOl&=HEnbA2|p?>zs3>3zD%9+GLsgDJyZ^682Hr2C_uJo z1iKceR3yx#Z7aZoB=ySD$x zIbGN0L2G`h&GVpRn#8PR#3S{Q7_+Ys?t(Sy^8%7FVVbe+{daQIsGy@SGcqhD2?Kda zCcmz5O*k&3>hC!d8XiV+94{{Td~K>0OskX~Yo z$madeGGfYl{zl>N=vpD&|A?-6e*fR1Ymcc&DiG~d*dGuRqouKG2;1#DKw+39J)A1w zD4Y#=5rZih>}Az@6PjB0siubCenJ(A6<}5KuY8fxi_Tp0ewh`_WIllYE6dBTS>b;4 zAgAKzM^dVNCZuNLXR_$_ojYmvBQB1+O?MDaJdnd9Bu<}>XR7V(b;k-pVXnM?^X5&0 zn)6DDh253!;Nim`#TVhp;4skXBp(xYF2QZPRl4Qf$h=Yg6TJ$mnb}#Vp)eK9c4=q! zz1F(~6EW;ensMdObCL?N%a_YB%a3efH)XoA##$d#D#`7+HP-CcBkG30#2F6esHe+X zO4L3?;7U1D`zSfNgxv}2CrDuq%7G6fvj9)ErLV7CW_%PF(u|M&!^e+m^9Hc0&MXyz zn<}P!`IRon&mXiCe*Sht_0!pgl!l1VK{5rZN_X@7U3L4VK%{3o%`*7~1u=-==jTTN z*+$05sxS<|W2)h(hs*#EI1j&B_~y-HDy~X>X(gpEh`vI6P*1IQS+jLzo3HSHQsnl! zOt-DI)vh*_nOi0zEbP|T*C#O7#p;0A(>G5FFg7T!2g%4jTo=QLUdS(DN^avoK&`rL z&;${W4IwqkBS%W~Ye;d0NLLL|H)2}a`i#ewE43)MnEr{oMgo(IRfJfCW;@ zCR$V5-+S(ndbxxQ4Vzl_2mNA9_rzT&f}@p-2n)v;s6|Ti!T|sA;|JW|<>h6Z z1a*(&;MO({4(+41uI@A<8IV12{}1_oWUX@t^+?$5#q;SYf6lEg-Z@o<5Dd$CJ$L|a z8Tz0H#X|o&))hmiNwa%Y{>Jg1VoqL6ahC_GBFrvi|3j)Ioh^pc`6}4`_ z6@-K~m<7RIS63H?4ayRxia;8EVfI_i_})7(1#48>+hepap-+w{dCFv;|0F6(%_LWb;!gqa$%^iFC8P$T1)Y}q`tjrh^dw> zch9FQBi@yatgpVFs_Iu*KX^s~zO2-!$1NGiePzNi%{G?|B?)%% zQgRK)+*h#kHIuS9Tw-6JPKr`~&iF27zf!w#a>A^9SWu7^Izsc6dwXtywD8Sg=z9v2 z+e*thtS->^NEdOIAt!P^QDTbYw=slZg#*piM-ZY86K@w+An1fwuhMzGz*IZZ6bYRU zNO`rD3nG69vx)v*ZdvqQX$Fll*CM!b;tB+hcb3Zd5W474Z5W1V-JxU*iZ#RvcMXp- zCD4~Z2ZuJwa1al;!FW2B4D*;YMLUo@eaWr@(i$526ValeMlU56%wWIaIa6O(M>ol% zZmuvnJv}`-Dy0xQ^hlJ2#m7|*?D_my!|KAg(fX&5P__7`+!Q$gl%`Qz6xlV*9yMII z5e>vRY~7G1EhR$e7?cbtHhFMS4_Uc@fPe*BKox2Cy@sSN&8WPy>SUDSLZ+={H2|C!R=kb;IL_6V}zyfs{{R zMiqj0*y$&&^nH;ZyRc;({F>?vBZZShz_H1}LCC8$7T{?=k+F3W(*CbE=})7qdYp_{ z$8F&{^bVgF`;H2TZRxfbaGFa%(?&pJ$l6I?Kfx(}Y$rw;5<-S)x$vSR=g!M!?v+Uu zB(BQ_r4FhaLcjxlG)}CmE+|~_* zdETT=9Q`l;?LP}n57SF(<8tpHb8vM>R~Jo{->Fll^rM)(^f2dKbgMMM>BK=;T}O|` z;2i$^p+K{EnTgCt>?C%Y+lsmd^y!vSYHDipCmk8%rjcDr?y37@%x3&HN ztQ@~IV!s|shIrXd3=(r^9)Op|dir#ZVUh?QzXZj~rc|BMOCd$+v~t?j+{YSu z2R3YNY;Yv`y`O+M{B#z^R7ZPeUlfm7cTZ0WFPs!aU%Ijle4UO=jE`Sc)Ft%@AyuDy zTeuPT5*cSbTE1b3Fyto>4B=Pe+;AX<=Jmy5#->&YduF?Nbq8-2z z5FXD-D7K$`Ay5tJwB|n0MAwXUxIqo0Orm0tZL=!+y&Bi)Gyb-ucsM|4s2Hc!z_0bT z8OM^)P_nr_lr%JEYh-ba(-?R(k=qsco=fe(t;mo#DQKDi?qQ+-Ru_0x~V}68>=DU|lVu<`xCKP-TtfGTLXdqnR4< zBCHr5CzaYdhGEB-+1ZMzt-;d~nCAe#u5q-!a{BaX%bqs|U7vnefjehQwKFXweo@^< zvjs3z;!&V|$^$py2On*D7*kryQt6A<|iYNQj)twd+ zS_2NotVY7@ghw0A*&AYT#*vJV3<;r&s6&ot1zKXhMACbIL?)h98RRh ziIg3uWG>e0C?fYWIms4w1=-E5T=LK5C0Xn>G{U6LXzjr;FQZ(nv;xfgWIsz)^AEt%x7aaQ9V_&jpaYnE%;Wh`SsA?NBE3PG z!?ZTs4qxA^n6ifYZPu_aq%jzS2$&F9Ticjs93ss9qdIArJx#|5v!;SV78)A_Go%BM z2rhc_2C^;ko>NFF<3favS@yrZONein2#AQpZkrv(RpMD8CnD-lX$hmcT8q*U`!R_a zIS2QmaF*ayZW+aMSvYQ<_-`>d|1jPpN{=#2bz)>>36tG8!nY(-{hbq%tSQre~!M2SowOD=*9&FvXs<3!uV@zYhG5C70zeE zO<&pM;@jWuVUh5RBUl@_H#UC;D?C?N%|W7oAVs}ZNADSQfCAuA2x?ENKV`!iz?Ea}00St! z4G1d&0U*N7u3e&vV6)J2N^KkK+M zH}v4agST(bW4zp=Ptw;9XAP1fX1WXVcPQp)>gagjF%{WR`wcK?1ek?K1Km}jz|*Hz zsSpOpHivR>>C*jz0=^0kNCh72<2sv*1?3%|Z&z|6yW+m?Y<+?S3P4Sb$*-TIxRq!; znoO?P0>DA|Ob-u_sHBEVdguqJ7RbTl8EBB4KNY?fIDI;`u#m8?=?xe>>k}l)ZwCC) ztEwB85?ppzjW#FZlB4*@z<2=j+a)Uq>AsAWIpj;R0demPH6I!YOLPR(PBn){lAWal8kv-`VOk@^eNNs8-U%9kjGBJytLt?UXBdyV(=s6%T{vWcP&N*F z(Z0jsgr}mB+2L@9B=r+Qe;#<|SIVLur6E#U5J40E@tn;F-c6$xek+TaqdlxL%IRp) z+2K+=gbUAoV`?_l1*T)msC|k-d64TuQA8a^hK9uLn5>)4W7h*hx!|aKh`O(xi?n*& zIP%cb6Taj+ys4o%tBXkJnbWV zedBNQMEGhxNbSyX;|k%~<@p{N9Z>MmgZ%h8rtrE zint&Ob2Z?BJ-A=M93Wco-~o!kOja=VB>b9(tGzGs8UR03u6gaoVaZY(F|iN9r>?4# z%vHzC@!q5~M8$)mK_)(l(F?TF%EsUwwcIjbkk_HVmxPa7==BH;w?7UZPVy2b~3|$0kH|TPnS$L_`3@%b=1|>eY@20q$Q2j|jlC*VE^ z7Gc^3nHyXgYu(~_dqB6eZqZoy={DY}pD_^;DvFAjz#{}q39xjo3x0Bg#wffL^vBkY z4kXVDk)lHYkT2zsC1c16O;NB@$W;$==jUm7_S8=;q@$&MmzaRCEI^b=DhSUI`!Wag z7FbEgr2kuj{6UYuguwe$Sr-={?g%H+raf0@*20? z)y0v2{v52I5a9;YR1R0zaJRc%Tc4d4mO_5bX(muYzuQr|q3Wtic{ge0X(qN&;8}=QW{h;KBLh0#6hNMUNG~ zvtHIr=`oTb-W%RaO@$M+wPq!&B@zRbVgTimqqZjdxwyF8IiNhcp7ay8$JEn>tER33 zybPQvOXL5x$!4axYe(y=6QySIPtM`^S-7y9iun3q5Ic$}`GMzHw8e|Nf0_KkXb)TP z!{gL@?d8GH!FXoC?Sx1%4jlPksb3r3{Yo0TSrg9zNRU~?1-wxZx%77v)YZ9Up8^Q^ zce=Uo7vP78j3@bpMxLEZX>S_8*-&}Lj2V+BzxG|Ge#JyIe7E5%Rk%$=M2OEu`eM3@UHfE@WxsTN5X-q_>99uEX=;trEbm?_b_R_(oK5 zx}!tttzx@nNjm$DLz)6&$qLLoUj5#`m^HxiX-RoDxl`2&_tdg$K5-}r)qw4dx{Jo# z%Xa&-%7aQkj4J)*R}Nm(vFgvs1zB19cHgefbnAq}1Wt7#c4LlP#}e_qW*v2^B+4OL z{n^5Ia*S(kBju*YV_7EEu9bV;1Dy^2n6fqV8&;bnpmX;3_xI_n zBkIp^i$bAq-0o6v$b|m^JWNB40`O43wKWuZ;1=KwBb^?&HbhKW`7&is?H6YY%s!w%U18;7;*9N zkoI-ruUR{v_eSCm1&=ingt9UvMa74;tIU?I@lRfEJXO?PBOqo=`OAQSfMLx$yK&N* zh{cy#q3AC}sin}D_bUYW>2c6}n?4+|lx5~mpJwd_8bRqfZnRdK?u}7#LCJ}8Ed8k| zPT*;MC!#VsTR~E1)V~ zG1xC4V2eY;t$QEb;@9tJak}_JNRLDNhqj8HK!G8Mf`N)8H=z%__+SfUsJ{NGto36Z zbtBgPI-cg{QGsqIq0X|)dWTfGp^Dy})3$p5TRwJrJzi|D&g4nw4zh`;CD~XYQz?ZA!4fN5}KINyyL zDf02wJd0a3I}^dVhqaKnAtK~Vncmx~*BFYz6&WPz7#QC1 zMS-thZ$a54D!%U8&f@v&1_woH_UV~ybRBHJ8D#&=N3fu}=2k!f^a!zgjd1AW7Y7Dj zIKGlV78ULB-d^8-u&g!Z;^m_>tRKIbTPq$*A5wMi-n}PJ_HuNwZRMQbQb|*gbQc+; z-55Vk;nCA{$Me}vzn1yAW>lG#=5B-4t5fMLYR+T#o;wC0CFyGul`Jn5%7J00?|YA* zFQYd$&`-(l5WKo-sIG+Qr`Glq-DLCG{^q2dz*FTtl`VEN+vB{wGK{Xpl7KP#o^>~b zpgnX0lc!I2vbU#)9zMra&3TFK4cli2jbiPrtiTHiz(v7~Ic>D&OK?&JI$P>}p0I6Y z!o&#^&PGS)g9T#>7&mSl2#y=t3nQ&S=mna3sC;T{RE0OC!)MsPByWch#!Hv9N%iGA z&F_O617PD$4QI_y_u*`=W;eG^?jO{>Yiib0IYyeH{v(64D-w!Pu5$M?8p)<1>Fx#myq`3Im-&N=$ zz6#g4-_moDiFFWXM7@H*a53=>+8v!g_#DzVxJY;5PJnu$Zt(r&pm*lZ6N~rA#%5kr zE`RjyTZ_dG%qU0s8EGBI-wUKDG3og76}9J}e#V+>+_^3A{}&{*&Xs3qeKZf&Th*w{pF!pL3@ zoQuEz_8-fM1bA`pEa^^9H&M$!Aafhd@R9zb$9uvg-oQPNFI?kX$@w7rY{3F#`?x$R zyBfDBmLwrV?t+y|3s6z=r{mk$zyij-pT+Kf50Pay7p%bl5P$<-M9ArpBHKqVhu2Wy z|K3L|ApSi?GatovS!xi!1-B*eB!c#7<=Tk}f%)?fWL>6E!JgruwM)$u z2mPJ%8t3$|jwdD$8PWGJ4+J*L%V=$3U8l*l*t%_%7#_2yJ%u9O*l-P+_SB9j7FgZtzX_;h=zynfe6DIXth)%k~ns%_%(BN?d%CqNSg;NhWTUr+58`%J;pIy_NzY zdiJ3@NFfx*kv9U~D5{NFc4j%wslau81yk3~ofgBQE?l_ty{q@qb7ED`Q{2}`?X
    g+NWEA-HIu`$D7G^6%)?Vypu~_-w67#x05bzG)xJd{Y&;J zJkCFLRHvCM59`Yjvv#;*q7Y%16}aBe;PIttD*sAY%B;BYuOIwz z*Mffn?YneI`QP_{)dWv>u(!AT|D2+gD=oLY@V_$q|M&V8|1EWUzG3da#bb~9|67Xo z=;X2;$nAvv59f`6u zRY;f`Yw-BtLo?Z7s#{ckUF3Yj^9NdihvuI_IkEYY;e9e$A`#H9V^ zTHd8V*$w+ajp>v{2Mr>(=aL#_d_x5ej#u^d^+5jh^<-Iz^-$;w&{p%|!}QaIP%8Ae zEA{k@tV0NDglS(Ex4?wBs)&eNx9rd|t-sj?uh6jw&Qb*bRgV2fj~7aB?=2xAk(6>z+V!w)$If4GW4p|K#rF*jL^}WW z+izSc28lee)H$YodiDgT!V`3_px`QA!yP-4Tj3c(yu8-S4m&A6$8Oy3yKS~FEkLy- zZqVGD3x9C$$AedclIq}*j<~>8UanV9QCq6G_uTL=NA0(7H(^2m{P(B%$woi8(y@F6 zd4{VwH^G;k@VGHaJ760q8!SU0x$L_>_L-h>bFJ)HxpFEsz<;~+K3{=r@n=jq#@Zn6 zNtP65robrCqrLF|Oh$%a2`Yhaeb^qmVya(!M$<9;xu0&a2m)*?(!W=)K$WdwCNh)U zSZd=t50Fa(FU6A%9!_PfsQJ2Tdw;5A1aQ*^^t=-;WHx*u;N@PCTLtA40u?eMj}O%i znehqEeJ!R}ue^8G zuf=v9N*X-%lIENl-4AS_d8fR4?_L4cOn#EK!x?IhaSIM-;Pk6cwxi=lXn2#iG5p}s z^p&a>vVAwHqRuMqi);nLrnfSO>w*W3F{#amod;mEP@82f%gp@XVQ zapoK>tH@O(g52IjpD&tlk^Mra9~xzuY!vF_<3K2o-oijHuggTO^+|q12!yPA`xuSC zqNx@ZStYApA3kLRTfmqx3RFg)c0sA4X7o9V`hr^9YkLU@d(N>TB;!>R#*9HLi43uH zlcyUWTyUqZ%_L%Vs^7)rEL+th6z!&$*YBGi#sd^NrjN<0`6L*} z##>xB4X39wFj&0e)b;B>P}q@c8+~%YR5#6ATbfRN+OxSs-JvF3X&Vinhq2zORp#<~ zXCDl1cN64YZ#DwAUR)Ie)MPU&;+REsju0Vz_Ut;i8RSrp4Yt&Y(d?y9lL5GaymEmZ zGrm@|_>DIed)l-O{2si{KveU@*746T($%-OmuuauDRWxDd4TWa^5*uZtrFE7ry^2e0@mbgzTKox%k8fF)p-eA+cmuig zf@*ASxCz7X_Is!{=-+qY@OZd7)D@Z7IC!xsh=p@28II)wA-qSLMd(E#W zp*PAh=xyJR11Njq-t`85$4$<)@A3O_MBFl`9ScaN^rCbiQFn)r4TJ@51FZp$sL<;w@m3=#6ptb1Q7 zZJoGCg|+u|8T+}s*SX7 zrgJ}jO&Mft|3m-9q}CHEEct#gRvuWid5wwd4Znh`M#@p#jeVlrlOWL3g`|PE5-Ntx z%lk)a_X_dcNPl7<9ZsB7Jo1S+xpcdQxq$K9@GC~|Gp{TvDnd)-wXQwIAS-xfOc}6i zCE5T2R+i|#gX@{~<;`k*kJL`&M`aS(?(>l#rYg9!TUx04?d%#khSl3YE^v@U=C1MF zdLLvxyA--$VFzHutZ#!g1JS()fB!xCUoXYHm%qmv6#m{{qL?uuU0R=QfVh7AQc3U2 zohMprSFT);Ft6YaoGy!xde`V}aa)(Z;V);mPknmCq|nBtBzD8cF?P#8|9Q~i;+3H2 zjJwrsv0cAKCQqqR^&(yZWGdZ6JHBFF#x8tsZW7_L8=)k?K`6R}d>&u`4h!@l(DLbe zdE7a@21$A?HEsG`z}LP#bL+g>J-KhTSKDhuqjpXD%nX@wWxIpJ__aedR$&?95{lH6 zc?D90LXAyCf{&t(?}xCtV`qTr6(&eN+00&|(0s>q9W}KgrzwP~RUa2NknywN;3!K` z&y*Q!AEU<5=roB_pFMv3{)N})bhanjzn@f?fD(x)qv10j5kw&RpUk$#YZ7~1|3r|X z6Rhkl?k)B$QRkIcTeqNZ(=J3uQxGZ2X!ANs_ETgpS(GTaB7Q`Q#ufldH<|W=EW@c&yLRo`mhRm4KLgn|jWkYu4d5iejC}rVSw006tJ`xeN(u&Q z)nvBUO^@vP9b{6(MH5u^rwpb~vAo^g+e2wN5InAQU z$C^HWme5)LcyRoR!HZr>LLvN=srCB2G-xO@9_?Waa8M{$$LPrY=Dm7rnDMDBxjVbA z{780+K1tvFGk|T&%5z4mE96rxOXlo-ZE|39yW9Bs&WueC2R3J@Z*N>sIp{G>1(0{h z!Xi5N-PgnNgwb7Fk(ElWEExzD=IP;~5d8%Z#58T&xYmU}_pXz3|17f;X^{AuA-W^{ zw^k+C-d$Gu3-uTg#FWeFPolO4$QG~u(_*J z?%lhMWSdERI`=6jyvIgE|Hu&HkZz~tveOHL?DyPKx-B^3Ni+*S8t zU-)dSaj5_>Cyw|Je71%v!jV zaW*0$p@{>hcHInccWcx6Z%&?wKjmXoPcltV6z$K;ni{SGT%8uq;#HsD|0)<;uFoJb zkl$PT>K_j7f%etaQM*pGPj@ES6ip8jVIhStXjxQe=kY~nmaBEPH)HidW@*{nP2>1n zQMHr(gEorFIn5~Xm@n9JKMagDPjRi9ec;=CVRgn9~xFOpgezxWIw_6b(xP<8#7)gxD2a*U@6x0k@{&2hUyzEZaWE<}>g z&i_nG0Rv69uQ?3n2s%f#JaX8uH1Y{)1Gc@NaOu^H7xQ`_Bi5scz}b{!8pHO9)$?&b zHd>cQ2!`xg-%bqD+sJ4ZE+XEiXRd9w#@|}0riC9c*{U+ZoXT;juI>#IX{^g$N7}4B z`yjySnPi_u;|DrrjJ|W&aTn@wJ~CbxEV$p8IRuslEkR9v*77?_!pLcdKFu>+lTL<^ z{#1kpx#uTJNF0o6Kt5=aw(SfJAw4E@iVzX=J4!KIaA=*8F9mjKLyL~kV zRZ10Nj-?$hoN+)>PNgs*cXq;K_q-bNFKp50NACNAnR%8~@!&dQm8H@k5P!tyM3QVT%n=Co$Q<~6QY67(3}6hw2Z`e?iGkm;k+H!$l-# zRaR99?@3`{OxKaqlU|J?wn%RJbh1C3?Tgdu=pNC$gxlx!eY@H&WLSyfUgR7l`bR?+ zLn<<#Pdz-GzPUBK^x?x(fq}zEj940B~aWtBq3o<*x#x+ zZ##*#6HssH$Int#H42ya?P1c@sSgt$baxN3|1e#rwDu6&MXC@!Us+KR!Uh0EOzbP+ ze_yt`wFTRc6#uo%lkPj-o4w@XeL-|m=-ZSm7C#Wf4C<*Ml=zO0FiS7(zKP45Y0&V% zl+$38)`xEDrdDx5`E*c9FhlYduB=xsN?$UTs%ei{0?&`CizW~z z*7uZvu1oF_v`tN-c4KC~q;Vc2yS_{1(qKIxDuORaG$>4X2Pt41vd#X7N?LULar-{f zNew;mG$FKYup}$n)%QK0z;{CcB3a|0yNa{O80J%T?>FM%`DNnK`US6=vx8>SJ_(E7 zxLRvxLQdBg{!Y14r<6k$;4UF*f_xX>EOw!kjEr)JhS%yVQr4z_+P3z4Io{$Wbu6@Q zum1g0)Y?X=%urO+m-Kbsy_*!m?%lileDNJQ`;J?_%O8MrCM)a9tIU(i{hzcKPTpdX zad1Nb_bbKQa5q<+f*zwKsgbrtu(5Yz* zzfji@C3V|+6chTc4NtxOUn(?#9g}WbqR>6BGuSn{Flooh*;+AgE)1F79iMoGkxL4F zy>I04ZnLRFwEU&yhHEc&D0ZHid*bF40TG&{<66AcYqg4Rz8Oba`G+|_gG@bzi5FI2 zCwTOgUHyZ#yxtbw-#GnfdDJKdys?w&n_Hm*u<0u_n9Fgi5SGLMQDj)ThsDH00JErO zT{?e!GaGRo6$iDjw?-I}JZ8$|M2|R;o0WAYIc%6&Yu8u0N%M^FjSIiG?&|hv>?nl^ zv>fT^E6vT%v3Ed|G(CIHnstrSb9m;lC`-(B>PTLrpHUS7WFbnuZTem_ne5of8N zgfid~2&FKJme)(?cp#_j#&3S8WDBe!(-*EbX!4Oxnep~)zv;bfEfNTud<|b(+Yt)P zSijoo&09eU^yb|=fC9m-3M&^}J?Pin`|%(Hu3krK`c6JZQb7qFhwaG;tqD=a)f=$bv?mvsEWn60)~7R;ws)0RxU5h&HrE;@3g)>XMtb6l&O|mnRD=APR=2< zEpkVoTDjN*mruR~{Y1N^b5-0+cc_F}#-497Wp+f;#8h&xW#77GaW70q*;@#+8dCY6 zL-Xf-R~wdzbVT${%A=Aqp;f#4lNPkd>S<=jck4z|cY#@a_;AQHaIlNQOU)Did{ovn z-MK*9;BLYt%>o;BALBc+f?Q5BFvA^|sH)0{SUbIFaJYekKZiFq@d#huwc5S=JH%bS zgWuAeFO^&DZGi=pK9oO+`2Kx&&1j~PEz{K%vgVLX0w2)RF6w_KBO^rXh3$mFy)}O% z+fO)ow;nS6snpw*7EM0oUwz+t>rv+LDujma<&d`Su*bmwh8G!}g5=Gk;@2{D8MBpg zS&%MiswpEeAE)55KBGJc{+HP0@HuW_ktLBMRORLM;wuuRMzYZ4>IuAOs;*Mbh=8`h zwd?NMSe_nZ_fx=D{6yrozNyNtl>7H-j-IaAGk?d36N?vEonYjI@wF~ZH~Svdsx&$- zrKw@7*HJwpC<>qAysC~c0u-nHu9Uk<+i}B%)_RRW#=hrK>W7dCV<0=ZLdN~TL>z=e6qwnpP5~wPezqCu(I=Hh6oz8 z%AKwIs0bFv?J>MDG^%T_Zoie(O;AuMbr_c}=b$t{rYtD)3mQ#;i4AJ z6;)M(A}>fzyotRUJI&?PR7CNtf|BKY9j_bWgBN*^89K`D554H)?(SEXpQgY2F{gO< z=Pes_HR8tVBjW90W~b^PS70WadT?avK4E26?I4V*^}M(B^XH9?x?>Qn2AgOr%()<_ z=;VXNPpy$s4zD;F83MOaemg5t>o}%{ZQEoU{9Kyrbs7!z7&yXmj*qd8jnQtiAKKR_ zqj6)`9zBjwlz8V!6nwDhn+>ew6_QKQw5IjqinEKo9cr+VKUQs==2!44IIuGS5To+G z#jiW*x!iz}BZZN+K~c@k&1h6N6}n$k`V=&C-`tOk6_D$jxZ|xsWB2WP7n~?%$)H7W z#XlE!t7!k>{T|ylj4wOHQ8~-%P3FmEfztQxZQ1W+-Dl;gmP~2+5ix-g3!lbH6NYA^ z8~7t=_;fq%| z#yk@fk>H(V?fG&fHIbr$3re@opZ}Y4QC+amgK0J*jykSjaA>|9me`UcjcB765m|6#i(q%cf7iF zI=`)~O3q=D71jZ>ApM%&Tat}*j$P`}f0V}4pu5w0OU|0BF8h96@WSziyvmlR?a37o zo9?ydY|iwx9^n6So4Q+`K}Wvp>pMehQ&PA)VQGBl*CSZXNeKnV!*L?qJi=!_ttBDq z&@Tn|LE6wGUwZt?v->!UAtV1S=+Al6!uYn5(o!VS+{hZ${y{-j zCWUGg=m@q6bP!}ibaG}dXvH++^x;-QLaMLtaq`un%x6fScOHIOA;ORVZ^XQ}H_B;d z@i88O%$5u&PkX}s(+p~)+13E3fpWg2_>b%aDa}PEx|(l-^AfVG7OfBzY4B}_x?=r> zvg&XBmH1$=x6I3zz03_!z0r&L-WY^ZqIw_EOUx`^4>_wp1q|2yOL20;sHn)uz9W^7M_l06boutgi62GfLI@nIHrd$&Vjq=k@2u@3Rfu&s+hLGx9}WS;zYsCFZ_jg2gsJgCp)Tq0wc^$f zchi&}^()lmX3aSA&>@)nX5*{C!x%8w-KX=%D~qAlD>E#l{)hHWG;G^Q7+xj2+g9%L z9(#o^teX_r;W_8a!n+;k(P)-@8vs)^(xTJa7eI`LBF-pzsiZG2Cr~AS7=qpOjwM-U!6ac}9Ez$mjDhL(-S#gAH&`+R^4~(YtsDOq zx*;coLdhi7lEGJ*!&OMFzO*j$>5QQx)m>&(q^;M-mhyJ{RRQLZes!s=>zT>NLXJSj zP*VqrYk*u6Nx8LVA}*WeFJDf0cnEI0(bY4d`^ud*Px^srOsr=&fIJcHz{lJBLxYpR zF3(jNt$!6}KyTx{GB4P5#`SK_J-q-7p6xSIz9ZVAdL?>2dU}Ot;j~bGr%oNWWwu`0 z(vO^?!-Z5cZ7r>u5l+KW3!nRM`)~uL^uXex(F-hIL74ISeZTwMi;pv6ncH`aVh{ig`tZe8l8z zraMDhl4a3dS;5r`LkW<{L{ITu%YRj7p8Gb3IUhb~g9^v`yd^*PJwqT<#+lX}T^IpS z&d3Vj8{esMK%FciwjD>_m)+OZB_*Q-kwwrob<{lWFUIUHs8;%YHx64C9_ZA8p9Bo6 zKb6cXW=sQ9XShD8n%Ni00fV-Mh(CJBrUtY=%Cu?ur#PlVM3h`B4I?}-IgqX;|QwnZ;H$>m-%Ea?Wj`VQf*suEn z#-r0Dz$b0?{dUT{lC*)TD75jny)5~N+7?DARCUKior+=TB|!C%SYNVvV*O*L#AszS z4FG^>9L_JFyh|-i_xv;|DU8bX;OZMq8-oG@*!44sK8Q111`Y!ZhQaz_Rp@BytGM`h z0MrTLFrq=U8G)b6FS{J)8mx^QAV2)i{6w>>a}t{FZaJML45HF>O}u@3q3_-2%9mn) z&W*&s_7*-OHrd(o-sZB9#b=|L+AJl7vw=a@K}u7c8C3{8MhGh2BRqSLI%G89Xkg-m zR7?D|%+sv1V_dfT%S>Fv?nI)7dr*KU(F}95OKq&LYi;HE)`Wh>1z}#7gGS#OmZ#8;w31Jzk)nq^Z z)=58`$mHj5-V`L*aLjw8es!8!*n^qwe5B!riHN=&)$G10ktw8hORuMh3d*>Y*y|aO zclT%J53e&mW~Ckz#XQicYq(Tyv`S|h0CCX>k=dXhY9mp3^N1KLEGBY0Wz)g_?Ik;g zW9F=_)n{_I(bFG$)F%G|VxA2}B{%0Dz{beN#~o|8+1tOU@BX&M$U<*#zV+fAGq0OI z%MsEIb`)2o`xID+R1YYdmt+)M+9`@skTHcl=q1jay2K{-a zTT3h8r-h2<3$bK<_d`nx&m(q)-Jfp*Yp=8wiTbbaji__tkyAC{LR zdPkRevAh$@Zf8oe-u+6XPhsJypYZ!Ub*7^uYral|25EX$B%9Y{{FdLx_lg6ne$=pC`O4U<$Dkh+F!Gf;Gg8q3&$AnjQ zas-oV_U>r<+thzPN0-nrd4;|c#5`;Rp53!xOl8i-!wt8qLne4@TwOoypP#YJF0Ze* z#zVh>3iC>nG$cy4DBA93x{EPNbZxQn@^Zv+*n9$Ga!S8I)bEGppQVj(nX%n}#%XB8Ez&*_o2M6N6x0|8+GVoA#C z47F8Lt0wpnxr>;XRx@bX(VwQx3#vGm6!WGVaAY^Z7J?+ zOuY7vj%O!djEt;BnS~Tke+fZ0g3itm#ZSPqqKtEUW@YxowSo;!))bWKRCsv!>C@k? zZ4rM~zASm+_+H$Ij5N$Qs~w%`^dU^i7~s@~L7TW*aIf-AmWcl%HUEgFwt{KqNuV4P zIDKPACl3`9vuJf8E~aXRL*M@kxttbAFT4hLy=!}#X}sIJXP&y6s5xI`TbUv=A`m9H zWE5Qi?N@5cDO3jN_>ijKOpr3XC9BQl#Sre@p9gs47<6|YeN7}(f{GTk!{9|+@dbys zA+9e_E1bZPL@58wVe32Mn7SupoKi&2%C0j;u^m)dK=eA@Jr+h_LR!qs`{^MVb@0LM z5yrsz5!8MciXqL+m48(jAwvYK^HY4-$+&5lKU#B$9M(?sZzv_DN9_*{eF7ISR9t*n zM^Qn6yt5}dkpD3-6FfoE8l9Nl1GV=a$`7^ z%I}@w1~C&`A3_KYm0EMN%$(3II1M(PkiR^7h+OIp@iF$`0cM>vJ{s~e-Wp`ZokLBc z=h^4~Q8rhTMKS~wqr^rYAY4LZ+T;I9Fq53-dF)sa$qAZ`RC_o^7rP#(W&HFeCO*g{ z6Oo7;=6{e~E@UL4z`<0?xXi$e1Q!SChu4!A;EN*+v19)Dda>#2)6&ueO)r1Up3KXd=Hs`y-R&!sc^9L`y7FRHj+wANT#hU{DJK1F@Mamd*b1 zu&Z0SE!i|_(^uQtN~gDtlajI_LO`-C?>)U*nyvTSKz4IWOMAmIHMwTYT$-ALA;)YE?V`_;v7g+@r8#cDk|J1T;s#$8M4P!N5<+ zY*`48UHsyh$zD>5b#$iF+OURq3JXcn>m1ai{7<^sHV-FjOfr5UAw{v{2s|N{`P0Xb zM^BuXz5VraQ`0fdZ?qFnKCMf6pMCZnlM`MBN!&3@K*^#Gw+-wL5@#boT4t-!#Dt@5Gpy4rV|#f?_Oe`+5yc%~s;m%dC`iN>Q6Yr@Z*Ii+DEv zyt3l>=n!&>n)Q9iGfNoh5dl>NZjkQWPik&-_Ed5#t z1#(8tYX=G`&yELZrV+YKK2`;a0Dhl8AD9nZ0U>KYadp8#SZ(})VVzbFC;tp2O3Q1w`-Z?zhs7%NPnp@*V93z9tkd@kYtV zzK6P9gvnq(^9wMWQxMIDh88DW0*paH#tS}BOst&WBPmI-IrgVdyRUj?Vvy3W8#Mq+ z6cbsj-xq~gTih@iJ0Jt;4dEfU%is1u%=6~;>oo-4!^s|t;Or3{JvtUNb=_p&d`vgz zez?7R;$$-TRh7!ez{<5Lmv7!GG5b%$v9Y839J{_TD^AY;_5}Zh#hUjtb;FVzeFE$h z<>Vf$@p&}l+LhI}4<8$SPQ&*pp+-;dy->fG(fm#(?b07pGC!;yoz7%GlVLAc#tvePYL1@F_t7@79bL^Y|;QG-j#_JXvMb!ts{xwTOpAT(78k$xI&J z%h!f!fg{uwN%}JWhHBZ4jD{D}apZt9M+U~rB^U}JWY{5}K7Cs4*)3bP_?NBFeJFbzZCi#wPFT*;xtico8+$5Vn1@Gswf;-G19P zPGksrtcMagXAq)O0boyxoIF)V=H#qY#Bb;BbDg{zZ&A`V9+D^Gf`C=Dt0DV1vmE8{ zCwk#Pn@aRbBYqAYCjC)RSs7kme6|u-m!;i+;luMkL=GG=q9FFBG$`fxb!ikj5}PLp z`KG3~00T5{YcG9{9dNPf;LhLv%zAL%vZ}cFM8+b|1Ll=Lg~BJ#$VOjoyTM$(JJ0lE z?5$7@>5!=l2@B`dXO8ZolWF!*%Sw|-s-afENigrXX<{DvrrKkc+SwG>rPQWMyR6=J zK&A6i)Z~k+<4tROe`J7QNLZNe(_GHuaHbxITrim=)|Do?U(cTF4R@kIlFqdJb$;2- zCy_ls?m)x^?nOqf1$N#hAC~nw7D1j+;gg=adP;Ev9g+CC`%MW02(5bbh^f#S3)_#nj;0mn8R6&*0A`_I!@pfZm|2)04S zeA^es#>R41uw{yWUnNvxU*8kxGrw?;lcS>$G=t3)4FD=%t9gfJIQQcBuFLFpc!R*U z$Y)gn)wE9IxhnmHR6cRwOwwZHkQ{Pg1~{?%iPhf?VlFW>=F%lK^gMvIX|EiDpCp(U zqJY8-{2of~dkCeZKslN@2!ugL+Xt<4C8!^%mF}-kV$j_=|0_`{67n(TMH)pCQb(vAKlHgu1XIJq;jB!bf0q-OL@_ZTK{3 z^03O8Eg@xg{A=`42fV#L%m~%poG`L`VS)g&YirxYC8^Dr5g>7qg?zOYF{YrzbnVHB zO$lT+v-J|i>Ig-7$?WF_W5Z7oIU#xoce7t+6Pq2iIm{0NJs~=1;*xOlN-IOGVTxkg$)}zOa38T@-w=F%c5phgx#*sJg+l$?Nc3j+WwM<@gGNzg&D~oF< zNjfZxbh{eo_&IcA=ODSxN!iO^&&qjo^{(^y36}j=zX%8ntZWM6-bD1rSUkp($5&7Q z9ren|^7zd3lcKPJ`D|tCEg(@KXW*U4Z`G12kobv}=RQ^7dH+VOt<9FmY&o+>vro3&hG7hfVEeZFkx!8yoWHht8}f{E zKO{FxO7y97nAv)=ex%}-`>1MjHp&g(NxBQWZ=TE|qoSuz!}QJO+zqr;Z|wKVDkApM zC2r?f>I4WM{ICWF_|~W?sBmAANn+=&LCoBcXS5@-lcTUPjf+i%W7z0&Yk)xG>*(}@ zWw0oE-gxCGta5k(7l@DVW~c+5zE~dP}D}(K-oX>=SYQ48j+^>{D6CR@7j?w zSNpV;cDH`Ntm9waiN>nrx71O{Kk3GKk~Dq1!gNe>cl3~UAzJy!ey7+b4dZ;+?x_sm z&Cid93X8P z5v7~Rh`K9|II%{mzFtouUEX;;qo1YKu!JB5!0SR&m%vMf)B>3V6Uk=)ZWpdow^V_8*Hx}#7*P?E- ztxBSS8v{*6lIGa4>(O?@{BUU$-@BLkyz0-nV?Q=E1)=8BDTR+mRTo($t}?uarMT0z zWJhSk1?=xa&Y)sunB1ntwCV_&=gz&!>o)lq**HNz-GT@BJpAPJevGR3oqiRjQaQDh zS59bX(CaZQ0t*nw<7K4&Zok1Nd5)UdG-LA)dItKVNjgEdm0r+x&BV=65gZ)P^}xX} zcoCnS2;aMAnInF^s>%yXKLcwIKb&7&tn^C8tberl#NsZ;_nZ*2XUPKDy=IW!9;dV^ zL5#4a%fMVMXrBW2Bx%2VdSHjb6Sss=G6QgZ8Vo63CS$(y_0#I6Nq+L^cSB>;*<)uc z*($1Xa-Zm(rSBQ4kj-%{f)`!L{){_TTUTdWoyI5gPAY!?hn!;G3%z`O6Uiab zYy3U~{Y6%BAq?rLVZ(+E8U#wXzb7-LxkZgk%{|GGpl?YK_LW4 zQuB>9Z+vjJhx7gUHk%1XB++F+Zy~g#T~#M;$b!N%7frB`Pgij>w*ztNnDrr}`QgfC z1k$&0>el+7kBW*jPCaS8=7Evf(Bi%0&?b`8-60FWfl8ZQplbi}HUSEDh)Q0difl=ZiDr7X!Y$hNNY1Xhgi=@Pa z36@j+mYy$-1uO`+3e4UWCPz>Vxf<>5E_N4H3Wp_qLg*^rt43}1?0$OnG-{%9gV@9H zv!toCH}pW7I}37&eb4aH0t@;9^I$@QB2WAgIP9d+iE%wsVZGW_^G_0&iQ>0+d2%Zb~up#8u1{;wZ3tUll=+^ zAbI!X+G*?5jak+bB&*$tUlWfviFXGqfz&?E*!+&Zxzh{QC-%+W&X&x`sP@s-lqU0c z{7_|$h~m8$tgWmB!qYDK*sXk zw;{1uQvL*p;2w%d8h9?F$Zzn3*Ni*VQnnd5P7#I)Pz+@XRwQRk4*0l3yW z)F1ghp&o#C+!IB6`uu8a$9QlY(^O44ri$b_#>kwBlFa4gWEKLbOqRryJ+-|hZNFnj zsG_AFT@1-$(!*tnU%zj^(7&Q;=2xSt!CxXTOw;aB@aC)ZRGTd1o#~@W;rbsx-gC!m z9KFz&Z{IqBC;CaIzr=_tx)wwAi1vd0&Jxli7xdBC`Z6eJL`|=k+KY<@FA@e}Njw#l zUil3ljG%_Y?b{r%o_zbp&f2wods604J4JeVoEYl&ah*%z&iiDtEZ|ITeyE(YH1>*Y1~``E2jN%_woA5rXe#2mL~w3Fl8 zEe03IYLljC{_%O%;6;4u_d+hTvomEH6B^$+M{`0AGb%y=OvG1oj5q> zI3_)?&l1JZ@bG1C97*OO`~$fS^*^5$7np{qS)-vz#i1oPa_iM~s(U?eXsC3Mn+_>$ z9(U6~LUaco8YLmCO6V2g(I)5IjK{qaU1w-m3Hfdr@?Lf3%pLEmR-MzEsl+-=9Gc(a z{ev5s4w6#{51wY;HoZH<1kNn2L55-{FqI)QBUkQZL>_pclzL3MM+iqW>-lPG7C6Qn zULqkobiDUu8VoIg4cER~0-@^h_}bq`L;)&xMiBD^tUK$30r1ghI3jFBNiD1w;yHxj z16KkxB!~rBL-UR{luHbKLh!Wuw$d#%rvl9l6+DgxCcNzo{C@9YQ_2WU>u|z%vqb(t zLBq`D&z^4W2R^^IlX-!$uQtr?V+=%lr9B^jAqJo0S#09whNa!Q+vDW~C*1rU<{Q^Fhx+)&N?LDzK6k1JNY zA3HYw+}qr}Ug?vcp?;dNZo(u8I|==|-VP_aF6{`+wJl{#%0Vae#cd7e!|%kvYu!Ne z3tB{*146_c?~NUWa>G&%9O$Z3+I=giphTbg!{bPXJ5a-hS*G54u+LG%IGyZ70H&un zUU8yQzQ$yYEV*T^7^kD``YmlDr)zy=5i8OzvKm>TgF_Rl4RLn-(4kHY_DbnDS0LY; z#v60zre+>1+!_4Z*7fIu-Ev+F zyR>@p=R1i(*DNQH2>X0bJfsMhsMeqagyM+oUl052f4)>3@^0c(Eg>3wz&a5|q z1#P3(-K{S1GHSRIbw|O%)nkz4x1MW%++06y?TOZ@^!!ImlR{?ExhqZzx!cZ`cFL_~Z6N8ckdamYmeWTRC$r zF&WXf>^7KpD6_$rju9ltWBb&<%s_wYXzG!_f#98*mE<&sg@{(mvZDAdEk|rxen60} ziav43ey%=UI%BcF`H2sGWlh74H&#A8RU3TD`l!v_e9LXUVh=ecqt>YH{LUerAJYf~ zOFPsO!?XzrHd<5zR~?oyx6cojxOKKYd*=LVbWJAlSN@;Ndy0q*?b!`iXKkOnkogw- zlNL#$)n8v-ncJQi^mfvwgm9(&Ki|K9pZ|Es=+Qc=Wn@gCJNsR&`lguFngK(HZm$3P zJl_>5xQi-1Ika**SD#W`M^N&(IjXZ}sjR+(j@nM)?P!Dr><$uqbbG(kxHCXhR8L?3 zGZQ7QBVc30uMJL08ghN{>d$UQIXjOVEc%#Pda8BK@ZwOVqU_R6TkkV*>&JwNRU0-h zTwL;7oK%Hb!$fy|jfBO!SAGNS~<%z>o2QU{#Ka4wcq{6MD3IX zwAN#>Jqbtjt@a|M1NJB*;#f za3EwK`RP(13CC++M7;#gl$S3FIrYmPb5pxEa|H$k*0SBY=*KjmOUnT|+YS{`<_Q|R z%}d66zs68AGFz5sR%i7=Lt_^LSCCb(DgNfuD_v{d1y2{Lc5YuX<|T)0O3?TC_bV;% zNL_vMYRteW*C`n-CuP4Brd-^ZVk05Rygt3s3g}G}pBx7N?v}xSTD?hkjj{2ZFArBr zhLd+vJY7b4W_P_2kzCNB~@@Xo}qA0T_WeqA!sGSG{`zgkpkw}3{uWZ`(c0}()qUlmcoSQw*fA#;0l}|la8>OF#?#|!(;o-l;^<0Z-lX<@sbTsii9)! zOI3BZp1`K(wO`2iFBe8qO)0cc`Nj9kVkXG1bvxVcwn)I9t!ie_m`W-gt#>jTqhc2l z9Q>HmA}!=##AJtiDyLU_H7O-rp150QZI$WQr^-q)ic(?`2z=^w6FX@X$!>79KDf0(}yO0aOQh8w-D^JAz{x} z?y&m1p?ipm0BsV^>){HAO6`VeQo|d-q<~pE{Zx7&aZ6U&|l?s(RM( zHML&Zfv$(W%pfe^gH_MB+cwtmK0KjLj489LOgLmxhQT@$M;6s8#ZTd?KU3daA~?@2 zTzxMeR*X41EHX0xGs}mGiptwn&v00}twOhNRCOKNV8P})c+n5$TrdhqwlnmXlVDdQ zpCiab#&0Q!ArLewHjmbSoaVl8{?fNJa4iE3`VeD8-UqgpB!V_N92`cfIQ5v5t`cND zzDo3Z)VN9R1#+pgC0BHA4*jtV*RIszlY?~Nlu%69?rcFWU303kNDkD#hS*3fB&1cOzY3es2gVWgrRIb2 zOX4fsfFoG{1Td)!lI^{E(M#BxTrC7LdcyZXZq_=qBEl5-61@b0`4Z$jz5Df3(hU@d z7++&@Jyhn*Rznl6p>Y(8EXHGv?~9GZdHM5dXWiGOeZ(6CK0^WWW%ukUiFG}@{iYZG z7QqTLR-yuYm!32EPZ}9o5sN&It6U>WK^S*^jf~iAnkXRNJCfB_Tvq}%wTrd2#s*+6 zBI0>dvYJ6E(7pHKqoGUMk%6#cub)4cz2UBVz9vqQL`#9YZR<@a=lB!HF@7x^@4fh} zWozin-JdU!$aTn+1hPifv6E^!o`q zAR!CJOx{p?P~&P)BmP2VW(wGzE&~*~=rTWX;x^A&D4m)6r(~|N4B3+8Q1_X=6ID2@ zqZ-; zs0NS-Mmt(3t&E@<=4 z$AX-jNzTbePfX6d3ST_(e38Wb-7lvk;(GjJ@mXjs20JoB5tO!Q!ZkHGtPioNPv3AI zGE^!#c?W48+_7m_=iK12i42pySydIZ?%cB~Ibc}gIt;=h#U?vE+gsv}-a%Ad0Wg#2X-<)zA?tbyv zbR7EN1n6@t5Vh)6d3ljsEo7k4&4lWvLJ4v?(6i$$C~0^J07|Di&FM+bT;@7+e`#Lp zTXS_!&1nMf@*~}-Fihqa{Sc;bq7DwC9y#2il9Q|y!Uk75sDE_W3pKnc`x7c zBU5vtgYlyOgSs~l%Xwe>{;g$N$P|(c85+@`k|AV@q6{Iah*FwSh@#A7N<|tFNl7Zw zAW`OuA|+{3l&qvAO40DVzOnXN>%M=(@%-}~_p|@l$7bv5y1v(EIM4U_9x_5MUh%iR zocnuZ{iDX_V!mVC^Sm%rm$-ea6JD8S|AR1gKthIj3pl&2oHv8`F*& z`)V4fk8`rPy=q}WZ~s|bbSWy6j047Osfe|G^gXTrtKTbb$qAkuO&gdi2L5=lX~Tnz z0sEb67yPv@-W&S9n=q{<$M)0-|B&Ov{OwMxlHNf596Xxj9+_c0}KMK@9W2}|siumN@R*x4!)KN-2q=yfsqdbfvD+(%cWN3j5VDIWa zHP!=##~h-*QYl$^AE|?Tq%5Q~SGraE`?r-Y&>E?Arc}=O^_e=vx(i%%vUkz?^|CsH znFjNevr7;A0Et4PbOsYe`GHFe9{OMXGoL;ch>6zLmHh?{h@H;EdYMh3%U#3dY4(UO zpO(NjyxDSj>19w-FYObjPEl$mq7R!^dH*jubyn;3w#~I`ccuhYwx+$n%b5fC!#7o_ zU!NG}vF59f?p^S1oO9t?ObiMF`y`8_bA&H3Dd6Jb=senT&B}j7b8qUi=72>sE-PF+ za{VdXLp?ex1g`MSodCxlxWXczAie**dWYt-?d*0vpJPSxfB$W)Wa!X@zbX73-2a{E z?f5VH_5a{M%`DU6%ksQ7eAQa26>BCnCWT_PwU=a`OVD2Lb}f%?3+a|{+ei=wP4+cj2dORJJcGv+g**$jjENUhiCouBDJzviaY!t zntk@MSv8{1AK2AC^!Y7YZRijoMlfRO==N;xH{90jzMPl$n>#vf*>X&9qoC3muc_Il z(>qm^fx^n0o6fgW)ZF)N8wIh2?ziY(cR?ess2D0YnizA0mdO1jx7W^qz*;|>h*FAt z>?44NfNW5r5oZW875B}}I)LI3vpbSP@TFW_OfRQ-J@=mI$g^jbqhhu5fQ1Q(=k;D`F}R8L&}gQ7K=>mjTAT(S#?4u}O-NFKY`GA6?oM?qcP zx7qLP*{2Krv8f_i<3-UW!2z!z`Z1LkZitW&NfH)txFr>0$wS)bkTW2KX)Q)qC`2J% z+R|^xkSXolSG1-cCkC}I$sfi+A$#n_$%uGkCJ;8D_95gXA40eR)}A7c5ZbE7QWCOEmwM zWfO-DF!ZDbArNLO2F>gM!WXWWs$}<*>faq{BH!)IWA_;TzH>~3?Wil`%1n>Oh9)4x z)SaRltI*+|OiUm|Mn^}tvxlYhasaQc!CzJi*g+HR@*LDL_!4V@AqWP? zEI{gYlChm=Kj;a3TYgL-m3IFcb%&y@xQ5c^?1vcs@F5VDf64-^*1;1fv#8vE44kyZ z{`5Z>w&A%pU-ldU7CC-!MReXLF6X4c!pDyVG1S~NLQddz_g};T7an5`HR6OFon|ZQ1jt~V6Ds`okE|I{n*m(WBMQB zqc4%`kB&~DgoCWoRj$q}e^$KtrG6nLw5K>N1Q$x@byIm+0^nBITD`84ybxC;FG4u9unq}hUMLmEVgqp-Q>-_BR+N1TFe!)Hq0_vHS^4?$f5SSx+3x?rGFcfGI$mvUsj0#up*Np z`ffd=QEn)+Ylfpwswe2xyki7a>!Y`8Iws@LzteXbFB8+7d?@W*9sCBdW9NRW3x=8k z6D9Eiq>5y6Yhc6p>sC}(pMinwD})7aA8KEG^JLXH{Y8teBFTP#*7aCuB|LZ_056jT z{kret5T}nL`3=T^_g%NdZ(;8udRPXa8RjX{T2iKyTW3~reZR<{nIB@1ufVLeT#(Rj zk7pv>JH9#OUkVEEUcw}2B8D~dgb8^WJr1GbA1mhbwuMIyVLf~QMQ+2yXO5^5BxA#S zwI7>zOiyDo!UodO)Q!3pViZZA>I|rL;J{q!X*08t>79(~KdCl3d)q$HwLBhk?b@4Y zRY+;vzU;C1`24Z<(gTzBcN@}ig|Vscwkuouz6_UC|2D?gg4PQQq{7x`g^$i}u$65I zEPauc6TetK`;?8}mt_VThotQ%imEy#a1a2}>h~uBYLMH5j7jdT!remJ-KI@nK~kDL z=Aa4UI!vr7l{i`f)XQ?PX=goYjK^FlWw_w3}&HaP!v`P{udCKyYHKF*HImoFy*UdZq0VhhG70I6D9 zUdsD|$p^+GIDX}=tzI@l-Z@wZ_>75bKC9rTzWb1IYDr1k#Z#-8xCE|GPIRds-B!t9 z$5%fbJoh_DrJk?g#Yi>468nLZDmUjKW|OZkaz|iWz}TmFbq8o+7$baq85yW6b3u-B zWIb}7M`cp$lNW>;-`Ma5vCZHC1EfVg1pip4_Y1!CR{J&+CvEq{8#gin#vh(-1i?pO z)nO)xBNB!u{uxIt@tRh#W4D_nY!Ps0>E+HMBQ0nC#Le4%8)na*eVSUPxVYu$gx81*0F0Wai9TS`4Y>lO z1)AbaeanDQYOJXYcv`!bbH+jwb1Bd3td~QS-yoO~-@N1%6pBeAhSNN(=@GpnfMQfg z$b-_~Ed{ktR`?QGZ*B~|@6#`ag$>?5LIyNDS>91B81Lj?sG<(u^SKc2+!W(wl%1IbEKUULuX zS^Bz^|}^w*^8n7mW1Sc(6&hZU_te@hL^=Hov2UgBvR2(eu>FxDO@kvfE(dwNtAX-V2`jy8kzBh+Y`x z&!4YqAO5gwVjiWCO`rs@8=kD~9P<)bLN%z&%g6|5(P;Ibh@sE2UZj-@cYtbh${ z%a@=wsi8~BGC-RPqGB$1GH_wE|D za>#MtTbs%DCB4V~&2&%ZDMba(*0t`E0YVeLjG5CB;%~S`rOrNEDc9e7ly=T0Q2AAu zxO-~0`e|Iq*p_-D(>v_A(t}=qI@;Eq*;ejReEIq4{@oq-2-lj^mrnS9)MIZj{9U@# zAr90Hn>SZOV!{Qu(O4i?uS-KFa6>Mr?KiNokzQ%s_e>dJ$_fTEPiA}(T#|MAGsDJY zKtCJ9mQ)~d`Y9~)=4qL27KMIFRDM?5;n%S(vWKJ}!ysEDx!JlP|%9m_|3 z`*GY>o2#F?5U)E;O-(HGmYu0$YzT^oM1V#9EJ#xbhN}BsKApTl9^!$}O6oMefyd`s zTf92`eiuRL`%j;q?O4lq>c+F=5jS9EsSy{VU&-+iVGsd^7f^TtAs5_J?e5ovHIlux zinF!ld;OP&2Ef3P*G(NE@XUA}tA4um7ZfyER7afmiifUs0IoH_l1s3MpjI6mXxRM8 ziEnnxmiVx+_b7jn^^CK7rF z?l~Ms+xcgwS4A(>(a8r~;?5;?mN^h5kDVRM(l}A&5!Ikir)qu+2gu{JGz6Qp2v#`P zu^}jr-2tUzEUm2MJp2UH5{!b5&bhEi?(DXTK{3%ZNyly4Qtv8f;FaCpf)(%YIT-x? ztIO?~=MCxpcx-|Omk5uIK6u8gW_-b5hSqMJh$^;>NHn;P*l_v^^Bu1-^7c8n4e};a z5ypp5vxM+RHLK(4ncfH6SQ02hm2hi+6W!D`KowmN$LraN8)uF_NmIKCz8)P8eJzcR z;QHm@5C!dyLBNzLQ>dURt2pX1-BYKL3;I)YWUTxn=%H@1YQ^bSkrEK7#-v|hN)TYo zC~ffe1=wNA==w3*Vz%Yl*1E%C((>MJjDUS4k2A8TPNW5edfusXXY@27iDUgTdd(YI zfk?O-5+#=vGiq*A-V*gM!pv*u-Y%2tkB72XkF!OG-?m=;oHT30jeWFCCd$RXJJ@n9 zRp*5D&U>zn?(OxhCXO}BUYkJ``9w^tpz2+pR8>{)BIJBfX?@&C1O;8!(lMPobwVmG zj4(mwA%=ktZ01v_t~-WC-^}bS6Nk>f&*1784wRftpyy8V*U?wcSGpatNRDv=6XW?c zb&h;(_!n!3-dbNW&0z<`S;g733B9iO{|PTP&+uwHNQs8k9~Zoiqq4pezE?NN*>uY) zDsT@H9LPDOrd|Os5R41${6i}Rz;yIUh}KWb+v*j}O-35tyx`iGu~dom zKC19dz<04#TRZv{^^C!InPIAyN7`KmN_Ko38lE&(P7V#!Qn~(!@VoWsQ6>@TU3fcP zuO+0z_4DUPj2m~2PEJYb6HQ4MVRm&XGmf+a zb#>a4q{Kw8#{FyjSbK+p!B-lw$~@lT8>|5#5Qb5N#^w)du#gnNew^;ax1l|C>&lhIRCrL@ zXhqOd5&Aa$-UG0tW`Tt8{^>=z$Em3YLNcnqAM49+P*3iJGRxk}!d^rkr6sz|s1H)#k84q;TW9Us)-Uv2V3`UV0lT-o2b-ZH# z*O;LRLtPUS7F^=9X+i&0QSe1+b#0F~O|TuE8uMg-Rx72RTHKKa{t%&rPFPol11usk zaO*3gSw{6=2@ZnZ=bOQd2q(ISdCssUR3Me8XqN}F|aZuMbRrheU z;R@Ny_v79Sab0K^Gwq^w$>n#|2V%{vm(?qV$I6EL+>LAz_&A-h7DjAKoDu0`_qy-+GYqcpt`gj z(*-4I+s>3aHM+HS2u*UD> zN4qaSbcEcepgn?oMR)nD(eQ$#%w%pvRXrNGnN$|*;s>jz&ADdSOjD!#3@UlG24+#or+z<3D{e_MlP%TSPUK>G*v zqlMXUJ$+E~<(nRy87&)cX;wB|qTeCE-oS+2Lt zA5iujO*&D#=a!iGEmg78uRI^@djfU-bZMXy3>;Bs7xGZkX{QNYwge)Z%L_RTb2=5K^;$LKTy_Y^MZBs9gsl0jMN^^>q&(Jv$ zH&G3w zb#OpN6%+I#IMV^Bc?c13WGU9EIPj{Q8Ffl9T zz4H;nIGdAA(JfvD%@1U9vzjMwQsu+OMMW);@u~mw`JRxB+b%6(D_S|RjxKcT@qMJ1 z;%$?NK|UD^{UH&+tC=Ga20B+zy0+r-M!nDssSeWa1H)4{aI>(m2*0Wee^**MJ-e1` z2>+fqn}H$rE=Z@)UGb&`FA3-|fz4CmC2Ot^8a9k?Xjt94*K0>i@t^9QH0``W1WJGx zUbB9pwL8_9E?aidAmX9fMqnXgpY%!4QZzA@2V%xMO{W0BrUtPVU zwYdoC$mSDnImCVr4rZ_gbX?QP+sp&-xWZABt** zzg+$Mo!H510@W-WmOU2eG0ca3>>?6RY=hxOr@|8CZfDGCoVivsWa;RhHky#YmPZ;% z`=kSHaC0Ov8K9?UOTe?al>4DVCemhrgEklaxvJj>^>!bc{k;KS4>F^0{)2E~ruC<=ujY2TwCIrPpliA%7jl6;2yzB5sTlqaQ;;B)r6?9{(LH;y{Dk?6hH>jP zRT#YgCQhgj`VSc3<*sGA^-X8} z(|L7~g*|&Oc(QhZU0Cwcx#76Z-EVU*oM`c~a+9UH$VIsiK6Xu=!uFqyKRVAVdFlPr z!iGKQf8;^Ncm#G>7R?R_WxDT<3wK$U9{Bf8o3?7K7}hkWLT0iV8JRF&Y}DV+_ZS(e zptTr~vr7v5HtE&g;7fo0`6px=uX~SxZxV~Sd-n7pcj@zS`rri<`gY$3*Gq!faKo__ z_0w=BF+UbY{TGt=0PBQ>buzmH`y9Dntdy1Lw9d`I!rnepuj{&9unIt@@OUokvBbps z!>AQo&K3R``s22BL_gz*Tv(uxjPvsIx1k1CyU zbZboOeGrg>k?Z-cotGC!KesyK`Xd0Q&IdH3=dCBp%D#tbqOvXSDqysxW(j(AY@lGx zH7_z&JjHS5BUNzjw~bCTd7(>3Llf)ynq;>$`C`Yg^-;1DC*)lCEkWjy#na|3{kRwa z&M~2ZyChs#H0zg+)uH2p$VA_Y82197oZD>t+3MqC_L6@N!DFq8VeFHiUw`8Tt}p!m zztz@Wjfr_H@vJV;#zrkbpja?S_!rYXrgO|;A^39gQ>JS?^Y!aL%~k&+a-pVFl!EBQ zE-~@RV{_D7h8?*kSOHU%6vRK6*GPi>M>*fvH8FPi+Q4c6{tN{#wA+<`@wcQJSYV~nl&iJmKJL^b^wibVegg@eWm;14LlF(>O zj?Nh+>M_T2*bX>WHPVEB!xul^yLY(zT5(H8LYyxYh8&8r5m>*Grb7ecGvG!hBzk{c z%Nf?HdDCB(Ix#jgo8ow8foz{YP(3xO*7MzJE|8_rv#VRpK!)V$H@>`qLC*RP3nF@b zHCJgHS~jmfQRc;V1}_jdEE}qK45f%nRN<3e%txeu(suFM${i<7*dahR5s9-H@RyC{MebLcINo;()aJ3$pheE_1}K6 z$cfv5*+6FWqiXoK2nYcHwZo2y^_pR5Xb4DqUzsC<+gZtY;&ko`A!kolX0WQINJ`a` z?b~lH9sSO|?^N%jM>FAC8~W<$=)9RwT9X$oIcW&Gt_m>~5y(f6JxjUmEMm3<2F|IY zqU9CK7us59gXdB82*Zn$Q})dK*q~vqbNC1t9|sYcnfaC3VPolMdTFtT7PrGGPt8$`6Bvi^Ii zjLYq0G!Em(W1k1j+3}kE@({Sp`SCQZx3M53>Zw_L;J^gtY4Evb-ellC z=t^|14a8qMi;o{ZOr{YBV<2>x@0vll_pR)h3FX|K)VrYk{AJXoOWO11UA}Tfgb-9b zY$M{$TX(tXR-~AR{85Z@n}Y*=-Gi@E>MWWzN}I@B8-c4Ie<&r;yw#()$cm+cm&G%N z6Bx(^O5Nk&rO^ta0oBW4@s09dZD|=g^E_fHAqm9V=)!X$%;S+{EkCrtUqyQI#ZwFYl<$_51a%6{ysb|&z`X~=-Yd1K)3y+OG@uMF+D$T~yj?DF#Q36(Y?}Jval9&%m z9ZArl{&75T66&WpiVF<}7#%3uBDvE%d-8IWYI<+$dit78+;?nJT)$*a&>H!i1yJJN zwqs9CIb|>8`3{v&7wWejv#a_=d#QfIi{LRpVFaq^tt};>Xi7@GMMO}&-7-;Jx1xcr zU#$6u-EdqISZ+KSfhescD{WGg(#BU>F`=-z%;tw%Hh12_DHiIN_PU4A?la{OjLK+5 z;u8`)?eCes0UYo0WfR?QOYQyMa5)jg8pc|A8AJ@|-uA;XG%U=WZ^@)%mSC4smG>+? z-I@?yT0A)=rS}2Ns3SJqwva60BplHFArqKU0ksD=Z#Lx!oQP%=I$RXPM||Q{(AIOngWfX`;3(5c?U;-T z2-5UnxC*QL#njSU;nNWEV^?P;o>WJIbr}22OYf`8)ceY;S7va7G`3vvFC5o4T{G0+ zwmF1`KYH~d8j~7ivesh0B@L$v%~Od0HJDv{%m(zUKBE%oZWcHMBea8Pb1q(CMp?A% zF6D8|SfHh)4s&L-E&x@hBeAW!C@l+KpyqL6FOED}6I&)U?!X8tdK8u-8C&z+6I_;)2AH2TpCu?KCwxU1#B%ph_4b_?jpNfmGuz@VM<2)xVdbpllucq^@w= zPh!^{$vm1rlK>HidkX7T;D{I3tR7g=_9H{qOB)>zq1GsydIqO)szF6Kuy0>xkfv!^ z4sP#IQd#+n+yx)bT?-+Tsh8Uuvkb*LxkDqMf@nd*-Z32PYhsGhS=MwKd zV%hTLpaFqFyS-$33qQnsV)NuPi{$VaGG7so@R-kPgq$s*fL}?W!u-cc`ltdqn*=u` zZmRS)h=6fQHlIa4=b?m2;Rw3*7e0}E}%3{Kq!u`oKvwqx|?wp2#uZ^PpT5%Z- z4csy>f(J$x9P{t`eO%m!p?v%zK}v7r$fm6;WzE~f-Q-~G8NEs^wYgtmxfP>4Fy0lu zP)OA;jhY5%$w?6nJovffH7lRZMs**U8RrUPhJIl3wjvYLm91U(&dy*V;r%2d`&QMh z2AX?X`lwS+z>2ZPXPVsh-o5oeiGHYFFE(WFY2W`83bu`szxi4Ss_o}rL`oyAcPHgDZpdY_Hx7~UlI()bUAeU+M#z9()Fy_sB3~R;QWcAvL zlxN$yiJ-U(ZrqBSA}(EO1QOm*{!7@5FSc4bE$S0;-j)$W7m^jd zr*hNH)K8zteFCPKa{a`g6d7sHH$!3D zqu&S$lecfN#^dwqts2ZUajaP2$0KWGz_Ds-qH-!R=^5s~3JE1{MDghwT8pvTBUB2Y zcwEUA)!yxe+68N)^NW;4mKYd3dguii7v8kyk9TFNUmmDWG6H}S>owuNa`$~R6;F|N z@AoAU=;LoXc)`86PBk3~4O#`$$ASo@>%Z+^!>PgGs?fpU!gG$?;JrUtcfwmL zefIKH{?1j=>#eL7MdZRE9NtG+Z>&{5{tALBiERk;?Ag}8J~Up|V~3tl={NR?O~9t| zznJa3&bb!l>KpcdeaH?S8n6F<5P<(p2mT-Rr+yMj02$kl^!$r%&L=kgEWomYx*5E?2_V)SFbQA znH`oxT8FPi;kuB&KVhxwJUGlh8TOuuLjyuP>!pQqMZk7uIbB%uj|cck$wCazWdnoi zYZi-rAT*)L8dmtr37S{jDeEtIbbD!c`h7-H%|i?Vhxfr5``o2}u2afw?9kZHCi>W*f6$`! zAxmCfH%UWd?(EsHY?(L*1+Ble8@pLpE?SEzt#0i2p}yi3-YQr+!j~g$>chf$a{XQ4 zGLnI|bt{Mr6qj|DmLxt-sq=t>AOZh~q1J*0PXY8Yiq81>EP+b{lSBRx`3$%4c_hDJ z(n7qg#rc=`WAQI(z$6n1AUzluI9O{j7e1xy`ZapAPDm6F1!FkPKz_}wnOnEsfOs+L z8^EsX_pjEiq8!6--aJqAm~&xUmXwl`r$zo;hs^wZJgZ%hT~G{DV28+IF~osRRw?fj z82oYzDAS*RS{(}JeZn-JyxP-!6Mg!BxZGWKlv@XE0h8d=Z)i{)Gv-NJ8hq*GNhRk0 zl}?SzfwAEVDN%tR0+CHHz~tm2y872~(Hu2SBnOxWtb$rK@5KwQN$O+Rftqf;h=%JY zA@SkuTko@H-9Ep4h+#n4<`8{r#BVZI=Q&|nPa$~497a;uHDJV z87ggmEhwgby8hCl-B!Gzv^RM?1u@%Ci%wZT6+${upu~&~#JsR#aKiQLu5b1YWJccD zgW?bqj|OUHv9qtJ?o(Q-*Z0?Yn3_uXVS2`iZM-&^eA%gBdYuO70fIMRlZRvCcE}ix ziMJ>ZD3%q%GFZ+q&<-CxDy_+9(p0gKInXL#^Ghl~PY@u^y*=?VO;?Z#RYw$cWaM|cw_}d%7(%HH9|UM1ut&ytq0&Ki~hBD!m}T!!hx+$s|0Ne~fvS zo&OI$c!s+qajei0wAVhvLT%MGGpfirPYO?Sc~Wc3AL3@dNp$uT`Rfc}6K{wP8uS;{ zx2th$s%cxxCEQE%H*DgQ~ubY26p)NFr zn&1^E#cwg}kJo-t(>`?nd`sBQ}&z|nb4^ASN1{Vl(YQ5dNti>zwG;VwZMTF~8%LDH&4i>5C= zLGU`fAV$CR+HN&PlYGWk^w;X#r3(|y!qc}gqWSO4Xm1xgK^NJU$}fW{522r7ndDTL z7h8AiUxT5eyiYnDA{LqJ=eJrhCNe&P&uWI>IC>$-9mTj8O>)JU6>^5kHoE9Y9s3NE8@ zNrkc2ON@{FatbW{rig$Il2Py_whbz|z_GD$aXSz@FC8to7eTL#&Z|;LyUSzdJ+Nxn z%ySmM0OI&X$97G)cFljPYy6xGD>$}ILyjj_+xoY+wJ&^RL_H?o7=vnDFyeMnwM~EL zh_^8qVDnh5eo=Q1QcB77r=2XHOR!93rH(|e+Rw{j0Bje5)s$P%U1$@ zN(T~ijW9Phef&eSYf0^lY);Q@fpFiT0dRsf2X?&Sq^o$!X`M_Hd7Nj`bG%Jdzt-0; z3tuX8;DP-CjVg48m|0r{ZA>(&DJv_hsljyrh`Vj=Z`ip)A=u>X{QlG7HR6ae8A17` zREh8Z48+#tk~n~L;Mtdt06{J2p1s2NHV=ThRL4^`yX@X8cxNagID`}I^37UpCo~3M zEj3gXnH9ATfhe1E@j-8spG%1G!dNyp8#C=?0QW6Z28oqqFKDH~)i_$xs6YaeX z{ondy)pzu$9)wA!%|7n)>`k87xpf|M-dQr(`OgI&15VuBEuZwXe3;um~Q%&guUR6mv4zXrM;=P-OW?7pC8 zi7vq;?n~12;}f@HX7~H9;Rva?g-kw``94?EEBIZI65(jv7J)2@ixS5|Fz@GT_C;l8 z3=-I15=Sk$nYuVn7H4$D0Zmt1wE42^J$NQllpS8qTKoc8f}YII3iEcCY?`r>5>0G4 zo<2Qh`gH86CqG@M^`?c9aK3hJGf8@YnOzEz?fa?QlRiCCC)gkYB47)*fL^aa>akTg z7toML8YH31zrCsrH{OjYD{pKVk?2+{kaK!)6ap1Ku^>+P7rVP+LRiDMZ?c6=uyzOS zN4wq2dbB=JJAft!^~R&~jHc&+7v2_rEcYsi1^^)~Pi^$U;|qO_A~F0=hfBxoWlr5Y zc+VgR zs6%IJQo5@Ob4(g#9Rt;rj??foI{X$q4#df!`dX;93)>K`N5yO|GBi{RaaO9J=GrOpiFaq{2Y&dsx-v196qjC6W)i?+7zA zsFA;MJv4Go_BeULg=N&pk*z*{RrSO>j7OCQQha@DV93r1)25v@M%{wY8vE>2y+S;T zmYeG6pN)U)LeYe&u5RmN=vTpVaYo3=&1xe+vzoqtCzy>9>6cHP1v6uv)9D^hiC%_J zfpUYQvuU-{($NFL199y3oblRTpO$)*tmwxMl#f!q*;lv}*w?DRRNI!Z(kiZiDi~lt zAe65@ef(s{No%RyP*#=qu~n1cJjAmZZ!JMi+G81vt@3a?ANe6Ril0U-hiFJrroc7JS((sE8y(kOd;~OjV~Q6hW}mJLioX z$+zGD0Y~E~vscVYh=~~~-OT$3OTYD5$S6gv8^4iLPo@l(n4iL#E0--mGR{1 z3`=!&k6;v2l&I?dJsIp=<(b%W_xyq(SC~&|XcXq;2;q5r(}D~_YcY(8ktzT7W}cxh zTR-&CmJfxmJ9~!=?40;1h4axl07$lX-0K}_ZJvH@18x6uW!9*0aKNdUSpsxUrbXcV zY{MO>p1SWd<2(WnUn{23tgPANyx%5CkQzJ_q5&qH8e8<*Y<7+nDFGs z=bkgMcVwHVbqomYCn^fXH`b_{6Cny}MphQ1xe2@$+yUUbl0>HihsT3biSG{w7vs!< zyeYmP3T2?Cdouh_K|L?quVcHrbPBaQ*&?s5j$lN!NyUG{`c;t9SWEL4zaVokLvsS~ zoT#X%RlrkXPAIoQ&`->>AOVW=pO`_u;9Hb#68+DD{!NmVUB{1txe%H(Sb6ny3^3s% z&zyM=aNTI@Eb0uM2iu9dMW1vrCdPY>9|{&Oi2{b$Ohz%}dmD|m3fx|xAHuN$lX{Sv z%8`%h0%I+XMSyG0BqslG!sd_kf;YrjcTyx5xgC2>%8dQG5Q`qJMm$3WFAyh@GM^Nb z7+^^_I?A}e*A@#pc{0wW-llcmqNmUWgm!+Gfi}SN0-B8$R-AU zJbLgTp{G^|wp~^>$AR9 z__pm5lqcy^%gR$(omk<(Yd<{m{8bctVqtito*^PCaE}VUI*?msWDqvoOiD_~`WW28 zl0~(3evu(*^ruxhtX7UbX@DRwewCr(sX!kUr-;6A9=~G5yE$iJe8>HrN#+F9q;8ZK zJA6Pr999Fj6A(9Fbb*Y*8~WZv8`GEvd3mSy`oWPZbur{<$ELRqe;Ds4@3?~tlXqxT z4yi6LhXu&OrHxJ-f17XYQ%c(^!2xMfnDuw&>(V_v;~k1!&_+3RnFJ}sOFQJb6>D81 z+cSv-gK^^)pI-#jEz2EUSXfxv??pS5JI}F28Hk);!<|oCPKyBetFV0s(-BvgouHw@ zMBVu@Ml>)mdkvYm=%W5MSJ%Os7Tl}Cd|uCo;;N4LkNj7!ux3CdbZE#0Y{Kz224_6< z&}_nl1cvuStfFa9OxWPm!{p{BA|yYYT)t|YzY01kr4=y`a&oSNr4yD=T)a|BlwSaa z`bp6CI*%D~NpyEQuAG1N+cjs{`fs~3X#a?B%a9`1VgNgQd<9N-?hJz|M2mSmf{qyO zaqn+BKe3pdn&Y5>a$Hl6)BlYdF=ChTDnr8?(3i_zpO1WeR{+Demh}WzWtYQ-ifXE( z+~GeMYh-535m8p`JGS`I;_6YDPQ=giFLZ0b2ZLRgaI0lb-PRii{Q+(o7)jg+b~!vq zO+FbLgFa7sk18nV?kNq1~E4oR;l0Ohh4z7sw-Do3-2E2 z6wb;%=QSUuTB7~lwHHFn`)klG>BZqn?WSbV>= z7E_QGo$&0`Eh%x_7wW8Cl94fE=LZbbtaEyvm315@I#X{qRe|xF{pLVKV+B)i#cvZe zHG^iq^7r>|e$pXiZQz5r@)_@+w%yjee{SMr2Ho2gYP~`;&|onCW90ecM@d^N8LG*( z_j;7;Bj;(s$EvXkF?hQs7~QXeRrT784095F(z$wlhv9aRRco@*v9!$cQidhjLW=Nq?87~!QY z7$S)tb~+!}bVKL0uG_6dH;LxN(zGI5pffP=kk+dXS?;c72S7@`Sck7$Z>&(Cu@h)KTCff-16Y|H@9qTRuCR zxh!Dt><9%RDb(_jYU8ra{WwjtX9hgmYGzPV$%t6yVyXfVC7KSNHQZ}>E?B9o*Z280 zRlK>|hQAAgi8y@}s~nNd{P-Z>X0Z7AId*Nq2C z`!(}?sb%C)cPLgho=hMAYeVwjW;HSFosSw+NZ7OK1{|4H+aZJ(7{cD&i%{UXo=hS6)G1A)EsLh`gx zWb*5^fFqpKr%};rOSy1qyxv-NG&P?~wd=M!ollq?)ctNG&dv<84miD;V;NT=aj0Lq zGGDAzsN0UtaiUA2#Tb;4`FOphsJQr67}rj7(oXgcv~!waG$85b&1rRI21}M)cy2X& zWZ&g_cA|PYoS(xW6Qsx`6Ve`?H>STmTCz89-)0x(&D^#v@vb*i_d1D%rzftdjo<+7 z1;wV_#Pzs!M`}clj=3W%)j#^1KfUJgX7$F4?_{d({;KfK{sDl?Lsl91LN;joy#Y$z z4W10`Zvn}GRvx{6Wp2glOb>FT8yZmlP0_iiGky~o@PaV&73#x>-zh0^C$O%|`R zqk^HsT=fOxzudMN6Ind8J+WLWCzMO{-ixOKD?mc=SK<;7MV>^{p`L53zk9KT6p0GPO^RjeP zhYl5fIT45d}T zK51s248^?F8jbJw`WF~!ZML(mP#^ntyQ92QO<#kW^n&J~y=SA`vSgOD#f`S8c$-Ew z>}Rse`02%&Ll|kKTs#vrk8SO=yklCo>JJ}AiydxC2u@g{niF489BZ9pX5Qu`Jsb+a z+VB`6V)ni6rKjs4rJ@qEFMb3CA}l<#vABc?oR@?az@fGGZh}cfmHWr8=;JZl)bROUZH*j@n~G86k4m!~(ZbKVuW#nzqms0av>V=DY7R zoam11?Cs?bshqVw9+9TLD%-KpO;nnstR0Nso3DB0g!i1fwRZT(k$7tja#s-VefCEM zu6E-t{q{a!X;F%M$?8j)n`^e%nyv76dXgHT(FY>`aEppwLFv{b{<9aOI!C0>y8&k0 zwQE;2DK$|Js!qy2IHlpcIbr{rmoVm~3vjX)7?y>*g@{Ll-?wiYFYq5c?6hzC=~oMO zgdfv4H7zmV>uLGu-W+~yn9hcEJ-^g`bvIsnX^h{2u+GjeH#G|^OGpsu`+BKF4l$)H z2aMEixspEeE)uL(Pwq1A;V#z(`mZLfZr|R$8+wp77k(!}JpGCI{&7|>iVKP%oD4D@ z?5Ad(4O@_GDC#7kuisL8DI!86SH$5AWPmf%b_8gOM74Si|MHw6mtfL+ii}d6?Hr3e zjQviW_?lJ>75`AxT)SIIVl>G^I>$#IIU>SGr?|`Ry=&pf=+#p4qY@|^V4Cp*_nvCa-jA@a7_K$O)aHHQeN(xoG= zl?jcT$&KlYmvVpKmEApmb7J@(>07jiN%ZSyo;AoE{$}&IFHkXkQdI6Mhj{G0o0{1; z(K|(v`C94R3>HlJg@XMz)@+F0jgOg%gX#`&WyeukI1RUr8Y^~K=N&#?Z?X#^@x*Pf z5L_CmxSK1|WHj@(TMnzDjCHgS@Udp!Q5Y_6w;V6g(>dYS_kO3JGX!Vv4&o(uuPhy{ z;oQ0~)0R{y&5tUwT~)0S0JA5+5lS88-aqb|nC0L6WBmfXH9NkKXlU&f`c^%%?UTu( zY7&l*&RMc@Wv0@%=HgtHg!ofkNr#I(bV_oa6d+P7<&>gNI$%C|MS`TU^lnGwLkyxI z+x@X`rmscM(e{u8KnhD(9QYM6Xaw4fy4W!#Z}jrj0vDT*R39HqI(U&`*Uh^mMxI^c z2kI#}f3LHT*fN186Iuj^&23u6B0Ec#KWCM!$2zWmIx~^8%iy6h{aC#C+M4@ae9Td% z#9hCR8b#E-^TLJC@>aQ$6kr1ahdxib2T-{B+O$59zp$oYC<2>Mzke=okKf__^j@>f zM4t8dM2+yJ5(sTpu53vw9zR#Ezo5P3`i4USKB?9iiDf|gu}3J
    q-z`?zLe-{M1 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

    0#G&+jWBy`zSM3;Z}kf7j|#t#kaAQpO|vf^ zYF?VjwDTo9@hQU)Q&#&4KlyD&pXbRo6R#?&tDFArh)Nl0jTh~0I-!PeoYZY*$28A!~#lHigbuUQ9wYY*QFpuy7ay* zTM-cnC?H)xdJ~Y|M4EJw-UXz0>2-bc(d4x6obi4?zH!F;V`q##wlNBe=eh5z%xlhh zWt`Se!1sJ9K`!F)KAdO?ZVgBidL~4V4UqwT74Wo<$}6@V;Ijk&M8+p_H*Z!!sux|FP7z` zb6^2$#7xzMXdBeck$3&cUtAW)kZQ=$K+C@B|ouQmlU5;*DYt26rrdJ7g;&@e%P11pR` zHOWA(yyQvcoGN6KA#_SZJCm>^?j9)%;I1wcp4bH7Ob z_KgwUor89r(3&83pi4nExOg^17Y(zmvW=sI!xgmcPYn&$iu;MJ(I`j%vSUbWfn>50 z^LnRF^9|v+;DO)It?>k#GrkZ%3;->n*AzqC)dEe_1z-hz)+kFs@+Q%+eN|pF$D@Q*3pWAN&Rw#StL2ISpq*26AT#hl&tweXYSf z&U8A0WSe(!vM9r`egefjzAS(ApXwozg!dCf zZ8Fije)$D-wwikASe>(+2VcXLv3Rb6VJTu22LRK9O~htCG=&1R1-QDJz+|(HH zJ+WTL5Z_+p4gM_{fA_;g3x8R;H{@6&LqoZR#4%vO(fsy1mL^Cqe z19Z0#j-^XK-U0szU2U(^1n0Upw=*gjyw2cq-Tm&VuV3H7c#W!%pFYpaJRkiccuE&{ zpShL?@mEe9SIRpN5muty`avKLp$@sONlh*83I_*=)>|WDjHaQwy$huSS}`P- z376x9hX|;)S5XhaJPoiGf*;t2AKm(kW!Tn>5+mKZ3bm@jN^azsdw0g@@dS=1=oSBh zIU!-Mjh~8$iuDcXJK?mYq@prBJbdo0yKOQ^@8HF0B*P$2N#2Q?nmVIHtL;DKYlzsuyZKrOn0l$_-A zIE463BCzH!Xl>_ z;`;fXAl&!}(+_>;39`kx$MUhesigkdqUgJCNivWYx zTTgLuWiiLsi2W_^@m$LNlzI(oKzVjtKW<;U53!z~|8+3n{N9kqLO|qUvP^*bbbP2) zE{{(b@6u6<+OH}JykdJRbL)%NKh0@@I*{)xDk~4k=+W;i=T8v{#uj$w_K$nfvSX}z zM_)d%MZ+ZOsRk|%slefyv8dO9v-w4O+TebTb@OJQroz+GeO)Kj{86CBHoML5*OrT* zF<01k642^e;tuTuzQ8MOX77@*KHA3BpwT;W>wv{_*0)ukv$BmqF4~Ows%2~VmqTTX zkI4D*c%CT-cQ9g#&iqe~8n43x&Br-8rwI14SwS(J1G~Gmq8eY~Rb^X{05CMlEV3l+ zAf6Kb*)Uc#xb`bJWEL79A;Us3SQjrL0rLc0Q1s$W#!xrm%4wK&nr0EvFK_D3UxJv= zZ4vR;4H|!c6&Z={eURmCJu(Rt9s8+j{Zte%BB;y^&TaoLFOlP4>yu;JGuukF%v#ZhdD)l0 zcSyJ$4{}+M*a>x@L5BJ_kxGSjdWR`|>9Xx!RA^N8{UtB~<2Bfa$J4wVp9z0hBU$C` z8SpyH-NNfw^6upqa1a&p4><&_u|5ix4wfB#n%LZ8uDS}GaU$TyaVZF*i(xX%}_ z{Vm_xaFU|HV}g+4F`n()X!~37#OFw8nxLOz7+lZAZ1ISfRA$~U*4BT0-MbHBs&64^ znj4gH;G-dMkEvERHO;G}{=>X5*rnsIJD20<`X3E%A9OwVF+nK-6LeVE0`t!3z`hA$ zuPEB+%h`yM>%g3j($nYZmOnwcA)TEKJR7*wcWXvX9wt2`I;eOxvP{AFYiI?7^v)19 z@ZVmr?f_aMJ+|;_YJq@*S^G|0yq*h~f4QJgf&^&^H51ws*=zwnnHB(O_y~~dz#se$ z2Yf$N{ztE3ILscvy_UWXehD&hC`lNAHU^Z!!g*jP^776@SAa^iP22Di0xn4 zZ{dCf#*}d7KXmjc)Q5L4y+FsLjAWnr7M<59J^J#*3Z&BUAoXMw@DtB|Gb&ES)*ZO9 z0td~$8L+D9u=VYdf3C1t-Lai&@0ugi|H*2Y1qD!|#C@-D9uT(B-}DGO7518*%lBz~ z{rWY?D=dP7?Khn;asqu8be-cpHfSe~fvuG`I2BGfado5cfsqqnWfnr9Ml7j7kE<91 z&WNJ#YZQKN=*!YM+9)IVZO_M#KVTjpp^pt0Ogy(9pO8j_HYg|G0rcusi!llaU})ef zz3zJX&3{LiKgp+J9VXVWzLIsI3mrAgqEwR=08&!fGdiCg9_Df@l$_ zPG_hjhGHW!Xm^vW*xpJg8ZZG^OtMA|%pwmx)M16${HU4fpsBpG$|V+5}uE9TWfagcyRM? z#SL&}?0@w+QB_$v0%DIVhO^1+hzS2Kw$Y$VY%~Ha&vncIa}6|y@a>cK1w;vS5qD#WJ{Zz5(x^a6LWLjG?wQT>YqccYZe(c5%n5gUP;P(hKc>Hx|w;{5JS}XYs+7 zTqAJG(sFQQ6bk8jGI;PNpykg@=x`KpRnkKPS!6 z#Ucg)Vvp2XfJ@9iWq;6ZzR%Rgpku*FDgSYENEiqz%saVymVmq+zu$(R^A1kbfY|8F zj0A><7-c(8=NbZ@t9IRi8Wby}_c<=0bHSDjdipi=tl$Y^HP8(-PXqTOFwTM={!+4v zrn)+@OB0x@Fu9DtfI@Z<{RnD)Oi)3t!x?<8ARZ6eAr+&B$?ppQkzkSOep97}y ziifnRk9My(ViNP+b(pZ1m-cN_oXZ*Nyyr}=-2Y7`BUv!v<8^3Q{|`gkM{8Z<)4 zQlYGgmEnRHf5JiqNFvaGD!`oFh!0_Q9VP)*E7mCJ@ok2NutrErO>K0anMtMw+&iUx z0TaTuR6Z7fqwk5+@V0bYL}8CTgqR{-MH}+Q<=QFB zJKhTYF~Cp&wJ@?tB)E1C+L$sI-M}*-3}WX#L8O5AjwlO3qyj`e7+B29aiNNU^$1KA zVL~(6TbN&(0lv_}DPs-0RR(^t3~)9~HO5T9gaRFP(&yh0p-*cyQkLHF&Y={-|oc8Iae9zpD;GmnC-Ckd|Ira&|onM?4oq!x1G6B5$HQ{dM| z3BLSb$r4Zvp=W_WxAEP1{~^!|Ahf&^)kqX2cn}Bk3)9oBFoMDSRcXrwB+p~h#0+lp zmG%D@eNw71aCaEVKn!1=2tRI&UchGRP;J{q%n2)=V*Eoll2xu-_2I)lzkrtG-n7U4j!!$bGa}l2cM(+f#;e z1E}-K7FqT8I8Si>5!bIi)c9*0k|F$cpk9Rzv4NP)zNO8DCp|zpGM?ue9Rn@x5(Y{o zz(C%-nFYKBZ){}Sk(1IWV|%dkck0aii_?l&b%A?`f_wak$hSWIu2VBbv*`RiNl9{; z=Yqm57>IWoWO)48Vl|b(fE5sb$ym(V-$X=Io_#I*r)oY$%1llsTJcEa0%fy7fvhh( zZPppkQ53agyGs3aQRb|10cD+)-Xc@=NhA5snL5&QEODNDck{$q%qW+8G5-ar`>1{z ziZ;SI4HYHUEOnT2v9bA{h=;E-ajN@@i{}qu4=Xq(No^D5t853xLA(&fOaRg1mYg<8K%D6_TT2P48x?=J%zVLbXWu*u=^)=8yc#9#w{1Qd+zrdcqq0q{9BC3fQ- zA+V}-q{~eQ0tGAw#!3ERVW@y%%L(g3^Q$8~#D7!o|1!r=LWZ+V$#_&5jZ*6MuhUI&mB#9nlZf)xJSelFM(T zq8z_gv0@w}J?uD+gjrVKl?zWM$+dIU{l;;g|flB}K) zlahMUC#x&f8+VweQKE9I2RZLI6&_B`IyZx%a10>r_4}(|AU+C;4)yoX;WYjRQB}d8 zB{we1$zcYP(0(n2Fg%8}5VE-6N&IM11wZ=nD!NDk%BpeXQ*s7GKNn{+Wc14=giF){8#VmO=0jH{)_ju_RJ9bPcf^` znPy)fcZ8|>8r}$^5RTVQSra{tvdrV{CF=j?c%70e4F^AmU%$p{(6qiGt$;%YG7*Gw zhT*PRWQrS((#Xg%3cyPjFZLj~0R*&r{1&-69o;V`Y_N>LJh;cUO&bXkKNX-$LO#i* zQ_zko5O#a8RLe4MfmDAS5GD8-fP^vEz_c79Q;gySz<&vqht}iFwKPnxP&jdCnd2>j z;&aeU-)%X+&lX`Ar8y!Ws(qtT9<*Et5S;%Qf(XwJurKgZsMkONIKa7ka&={e*enlk zEtCY{Vhdtwr;;cqE$s-0In*V@2(4Aq!XsPD*cd_fwc0S)k?_DpMT;6P1e__*(=g@{ zIV9e8Q9BB^6p9MWGtl2*7>#)xRV>d`Rc_FJvR*C&?(gleZdJd@C)g_mGRT60e zc3D|l``HJ=dC~2O(9<6#&NRXf{Fj)C-~3gsUi}RI%tuM;({zV1^#BFRXXMx3~q9!Wxf~sVUKoDnQw?v{$2ZVQlHR%Afn=}o1)y|P`f&j*w&EmmEHV? zWxv3c`98Wrr`h7njO;o_)LK?nCV1;r3I{Lz zG_Z?&&rHmVBy6j}bma?v*1}SmrSTSa_||~1`gZ63LORR=_4w$?xK*HR;M{ryKqy9= z$a>5mO#EJ=s*b>2kNZIUM&|XP%MGkY0wP}4K3F4HUI~}jF%vbZ_$56 zye`xCMc2|5TN}x{i0{eR`yJlqi~N30F(o1@8X!_|w7}3Wk&grnKmqI$l%1e;Gvsw@ zSR|jDWihPfPwjF5L!XgXi}ky|`D3XnF8}Ipc0uT5PyR`B;e3&i_{13s2DyHf=Yr)9 zeL|XFw~;!nWjlJ~Dm(NUN`t$P885&CV5=Y}#{reT%nxi1j*cF8rB4r-f8_BK?m!7# z;Z~1^ogiV{yocB8dxH37M8_(AnhOqW|1i1s6Wbr{P-HzhevGObZywb1=8u|tenOT8 zed!u7PWn7|42h-^)%_l|)wi7}vjPY+?sWUkub}r~$<=!lgrS;}kGJ_ee?Iu<9~j2X z18J(>b1df&H4Hu@-{$U1w1Kp4NWE?E5uPvD`v3z`gp?)20Qu$OY@X&$(er_EwJH*K z`p*LQJa$YM9UiYitpoZ6!m9{yozHnxoS6|ODFt~PHJM8`DYhp8ECCuBn_V0P*$)Vo z`;Ug@q?Q(uKd#vKZa^~PzH6DdzPFZ_DifLTWwK_(u1`p-DJfyKM{b_DC)T5(&c&g@ z(xq?A@{^v=wT>D^JE$-8?F%l370GgM{Wml^CorqST9l%L9hB+)Bx-X8b8aAey%SA0!BW@s0bzdy->lvEBVWpe+KxSvY(!w&3~p_ zsmxFR$%(|Iq}tq~71Tsjj3FR{og9A=$}65mC37$Yd3|BLMfTfLr?5O#;SC z6lIV6XpK#)n75{`sH! zt9Y4I_o9CGF)f~+J`4wSS>`y%H51*RI0v`ecavf3H=sCoGFixnbsh8*Htq+&X zJxs_p`Ie>SEV3$28*&D*ng`9PT5>CZbx;%WXfr`MM;oE)^a$YtrB`h(>!Z#0p#pu5 zHX5GgzQMuhIEK4VN2_p!{gdT+d`d$kVcNrf3TfLu=MxLTfJaw_0PNx60S<`ru0VbD z80~MPg;&!2e3q6oBe~laDJCf*APK<6!Q)0AlEQz|L6DywlMO7lYDqBZ{cvr{Ry}2F zMs7qP#YYt+;9MT791589VYDinh`0qWM z?w4}Wz9vXAF=Z34523!0%z3=*0*OS-H|HW&A^1fY=%7J^HElqIvI=0-MuJ2i@h=v{Owz7>{NDV)S zXQq>+N33;{UUSq`2h?HH8QwA|7l1lbZmj`q5e2b~P&0!1hvi}m*!umJQ*#4&B{^JjFLc>zGt3gX&1qucj>0o(;ZFDW51Y|LI(L=Q! zU#@$*HK}8UOmW6D#hXM?jJ|QW`R8ALS)CwJ*m};P!DE@e-tgfAVfc-a4eCEIKTs!4 z>E>%10!#+9TkZTQth5Y(0lbO83P1%T(wxRN$vp@|DS}FdM~;IGUN}Ak{8<1sVEJDw zpyg4irUg{Hu#^C=tPo&dZ*OnPo~L#qlQ&TSDq-g>h%iC|LswINYH!f`=84aHvMHOD z1)PLa*RbzL8`5A@PQ)rUfTJWyKHkQOMfm#J>F-7Vea^gF&`$;vdoU$7YgYA?ez|EP z7Eq>9g)IkX^L@32S;J(qbS8$|6dV^pWpFRrSN#ucf8r2_LSGJwmX*tQPB9>J;-?=) z{`rosT|lo-$6Zlg4oC}5YVPcOP(DTO>vf!;aGb~$cpt%lp&9{Lp<~a+wf;*U&M0ny zc%{IBp=-y!V~+}cB3{+0OA>GYorQ|zww=pvVO>CN^I%AfM_RNpu={K@z8tK- zaAXHq=aC!^8aF#hz8M%VIaV0n%RWS2pX>c;sFID|WVEU1OwkRjGhJ=c1Y=lGObXA=0@MRLjI<%9z zXG-zJu=A+dk*V=WsSzJ`{&{L10o$aUMw@t@KLp8tf1T|ASrTwp;nsd&Xa(3bj>#$j zhsnyagiF2C_unU%w{);{bpKP2zRDn1xJxM~Q_#Ym)4s5e3wp^uIqnymTD@xJHRh?( zH*fZ%Oqzy8z;{l55e(LrwC`YD8}OV9MmZ*JTxYM1wG5mw(gYjbrt9kU8}5F18Off< z6Ix`X)2E9mTkt+$Zvv(gvaJZj3{W!t`7ela0$%rqbw0+sh}0;3AtJ(dQPgLc3KD|V zGEpGi=#hbB2S`59%hX_`r%$kng&7P$*e70I(2R5!lZ#!Wj-ub&Z-I@#>+1{90U~fP z*j)T#FnyB_Z3n>T)wQ)}^!zfpDlymNp>G;J`V;mAM#sc}a)do-gcnKm0w+n+AhD@*yOJ0wgQ^F}u_`^O(ddPMYO*uH6f@XDK>vlh0K>kNSldQKS@f9D z1AnvoSIwtpI9F@L*I7K6Vgd*NYa)?wfc;~Z`8NI0ch~)aqaSK(O-F^`+>Z{r5s(r( zXH>`-p8kGC^)IHsAJ`ErzBFsLMml^AZJd8zKD z`uXQkpmGkj?u~-wmM&B~37f`&y#s&p2(&s*Unv{Kq{$SeC6Ri?=|ayQ05`{OoPT)7)#PHHMr?yNuMPsss1A|7Q7__uY#!9NHa5(Bk>wN4A@z$*Jm+_d( z9sm#^qsT>Vk6kgCrG>a;d*DL?K!B|tC_l_#h!+%SMPEO8;)LkhXp}&DJK~&yp&=k0 z#HwTz{b)?_h-3ki0BHy@#M)73U>7hNMafHeEg|&FeES>e`_c&=dk6V2+l-EDFDqVAe)t!p-`)+sK5s!oB`NXk^~{w zgt1IV`Veq@g1+6DsJcg=MH)2w=frj`ICj0?&3)?N_Cg(!31t+BocqyS>E$<`u#^f3 z3u8KRqywK3>Hxe+>>b7-!!;nxNcocKb{>Nu5rGTK%O@MaxC0vHu{H;E$5RM>_T3-1 zosf3I1RXAeFT%qu&Kw2;2q+fIBwbeC9QfRt#|oH(n3Q67b*2VJ{xhOX+Un|oJO>7m zXs5AA5)5UWMo66Jw#HE$qbI*mGX}jyZjJ!tf0*5G!T z?oF^jiid60VVpObFXpzf0ul*`7ig$4&5}J43x@m~?rnX=WHOprz*Df^T!#1;uT3+# z6__e!u1}bziF)I!tui(U0(ihjm{?px8iROx2mt{Zd;+D?%Fo&v242=2>@{Bjtem2X zEV(fX=bM#w%nnt1S@!lwE#qimIT~e)a7=6(15sfiyLhv%zakRo%G0AlSQxrAVD=%0 zOq}Yw!BO8&^+Vh>V1MuuN54?(mUrrz(sdue9_uPh#VTGBzXw*`${RXuEve{-VK9LC zO%UMlqN9t8$qn>Nys({Vc3VkD0pj_35niF=II8GzfJRD1bpUV{D`Yf>$?*~~4Zzs| z{s%jE6|9beXGx=xC^RPcLdlFDwXuVs56Gm%=9mK7qzA_Brspy>pob(JGlaWENLpI> z!;{F+^;jYc<^as>F^{{gRseGw+>^(Zuvane$;&Lc0XjP?2dykb(VqqhR|uJ*Z)?3& zL*KsT0~(f44-A7Ng&WnfJVv`WA0jTV0|E4`#6om{gab}WaOZ(@$<)Zg;vxYA&$B>e zvF0Vvn{(T_{UVAR)4)!0cl8fcD7)@Uo0lkZ_oy; z2jY$n4hjXpp|^uVLEQ8T<#!h-#SPhZ4=d~hlGHy}S<2M-(oL;eh8 z4ADl!SPWH3HUFna=22b1mU2M-CA?mooh2|;AVz?$4~B6M2&{R)>(B6TGTs=A#@=u7 zbdqSN21jz^xs*OT&tq0+SX(@*cRcl&f__n>>)Fv zb&DrZi+N4qnv&82=;hoRZ!iDCcTwOGOiJru`AKld`%bC*!x+g6hh3e67GBg$Oqfuj zVrAsg>b3$;7G8x!HU!sq_ikQ#FZ^ulZN*zHuV(AjQ5&Fyj9p-c7Z+q#sl{7)pB!6t z%+04k3qmMm3nFrLO}Yy@DBwUAkTO=A;!_i(cU;?Kl|+!}78m{W!Pgx@4VFed3^zFV zl-*MAg(NMV23Q!nW+*ZHVUqOX6*d?T;0fc?YhzW1l{gw&g1h2Bgmnc{RRuvt)cJA5 zvZVmh7F?B4`Vcm7P~{MMkI2AGq8kPa-1FTvZAstP5Tl~9(!6cVLF^_ZSR|L4uv9&& z5oJASFBA*%dhn;E*J(>%P=%13r!w(`P6t@xqoG%V&v5HUuG0Uo7~$&cs$0ScXsUob z(f6IMvDd2u-m!#wq_d4fRaG?=hN{Wgz1O8)(?AIY9t)vTf}NmNa~6JfW4-nz^q0G)x=Lbc0lZlg->hSOp;X?uq8fI1GEWq z`8T6GK;|oOv_>0>PuRUupN1tJbo=)G37DpOpBW6W!5NR#wh)_A$7}#UHgr{pD-(HI za97f9U`O*2uf(=4RagnTet~hsrukPJ+ z)S=EDW*O|O|IH}jMF(cU_ZrPL{^DAvE>{2W`PaY5+J#^KJF@nVfuY}dqjyP`)k%D* zs6BFiN#?~)2W4fN{k(1>Xk|`38k0>#UgD?s8qI>W6?obVJ2b!Zpx<$e>(ky=y?F6q z$&HT_i*n0sK$XJ8i{GXC{#TZEuP*Q@96}AO(LOvxUCa_GB8SOQvd*`OHZn2)TKG2D zoVHD1W;e*y3KG#37MYiG46)baAr9c6_4M5P-LCbAyQFucWb6{w1m+C~9gK&T7cmAE z&^T9tBAbr2fB;h5f&>k>bDSPXDhj#`xFA_}^JT@~`Loujl-Ki$LRFLFWILT|^X;vpti} zvNrR|R!Ed<0Ec=ON7dJ&3tz+j+{bDsefI=M#EW~M{y0_ElzWBy;k}zN_M_djonzfy z{^G8Ad!q|~k@U55xJxB#q?YdES0+8_;1y7o#bM!l(j;SPsCy(f+={~_VHGEf-~jZ`m_a@%zf9$MX8$YKmWl{k|6}qe}n!19(Dr|MeXHbslgI z{&g?@6(5Lz`L8(nuY5tAga0{ieq!x~cG2z^?r)0#-*NBH_%6QHYE_4te^}PxJn{E` z=pCp?DLeCBcl)~y+jpI5WBm6&dm;AwUcr5#-`5@fcYh#!#G+WxqGsx3!0h5r#8+Gy z^4)SOz9;Y}XLdjmDNM{NV{y^#`@TgBDucjFX1Rs8YS!h>eggrtj`}$&v7NP$_-O4z z`Zi9!OVVMpe#iAK>)$m}GRWs4z9{j7HcVB2`{ifd=*pCr{N)!-p6reiTMj$EH(-70 zN_`4J5&nFD#!C?6+0-w=fAoe#i`89vk(DU)*EQ@hnxomHki1ST{{M+lB z4+=x|nCm!6N?;Jq+I2-F_jqx;XYV#?b=S7NuFblf&Fpw{t=N8Pyo={+%tpYF;gUq7 zvqAM(>8C{VdbS|mweviVGb2sdpBKk|ltVSl4vzrSh?Df*x!<@zEcf{9@sgFg= z8rEs>CFaEBtY2veRIPt|)HFA)BIv_qC2d7zx0cDtfso$Tu-3J#=Uoc*UucF&5)u}6 zy`wv;zHBiwA7(lnwot8~%_&=RWw!;j4RyiB=TU{WCta#Z`Fc~cpJ(+b4TG_EVY}R@ zWUWoi-mIkTDv59cGl!-U>oOQ*YGayW`)I% zuf28POnVW)u2;D(BO@aSJV%#}j`={H#C7^~RdqFl(}c4Wyu5;M_zS&_N*;_%p{@*X zJ4B~5R$bucSpPbort4f*si3y^SHgm#>bEk zA9O5h$frp2z0G2H_-A8yDo2W@`f7{E`dB~lRGesQq!M(lGs{rz5pH1*ciJLxsRbsU zv#4To$vmX+vCGLNs9Mx;bLt`gM1yv>-9T+oC5w)~fPKe(dy0FryDOvDO?~;-hBVxH zET?pHvCY&rd1v^p_ucOk6VI6iE~Lt`xNB02u70K7a&UNM|7rIVS{=p<4O?LumCI$l zKgiI&=w1o85Daj-bi&=YYilHHn}m?ybJY*Qq4rJ8MaOZB+eLOd?I0D*l)u`}8tXjm zYtI>|s2a95YpSSP%KO}fU6$6*G-tkBAT2*vL^&`qCI0B@xsz>6+N^gxNsTr~58_A3vT+;i03Y1?S={_e^&~1&j&-HWS2>{{AZRk=Y#ywIZFu zMLBxQ7sZAWO~#MSbmW|}ufM@KZ*=F`5i_FpH+bz-#^4wyMDDFV$-MGlQeFAEc#w~P z$=rG|?oVfYSXdy*={A`x%FC^$YpGtVV>|KMFW0n%^SO?MXuJKShlP^Xa&YKgkuEB; z!p{?xgC6QN0xfO>GdgP{-2Z&gFd`P@e@*S+(`vhB3k53b3LOh;mAZ}%=ipE2_dmQm zDr0wa<^yL<-G{ozvE>4$9apbjn|&{kB}dt{YW>w>>#JO@er~_}rs4X7Sk{3fLSt@9I%C?$o@zHTM$>kvctW9fbzZ`8 zvX6HwwkgypUmJ2B4F}!t4%XP5@^RlX2 zUok)d+icVKS1?t+e8C2I2qg2Pq6Wdo2f+v%F45S_aH|e_R8AOisCX8dA!Ic*4y5Ia_|!KR{kvi*I_PpbvHfrsk;6tb@p=tW|aP%iQQ}_2alX5 z8B1(vP42z1>g@l}WA)3@bA`>Jrfp)|(i}`XIAz=Va>bdvxpVcaQY>bsXM)Vj%l4Am z53>v}Jz64d)bS$v@LKcI^}IFeVQt+Jl{%y8HrlT$tPmR7A;7AVmU1ldSCj5XLk`E7 z%-?+t+kQHMvuwiAK;@ERPs3u=P54>F< z+jxCgNMH)F2}r1w+E+C-gF{1mdU^<38tT1!x0C!8W8pz(UNBdIF$|m&Vq#=_mVF;< zAL%dhL+{d-C1}$X(6dV&1$8Ld+Tc6M$|jB`JAa zUh!Rkj9gUV;2mm*?g3S*wBq9Rr2Rg@jHD-Q;3s7YY&WayYlql#@93Fh9F+ zVKd;p`*2dwK~HaTe6ER9F@3DvmFt1LR=hF+{=)$yaxMeG*Wd{NdKRW;B`B~wyunat zd#W@;a2Y&=n%mnCo434Fi|$in;GIsk$cZvo*z?Z$*_B)c!-0GEmRkk18l!7rT{n~M zLv*@1Kli6RZN571r}OHX<7Vakk}o|Hq5X@YmG;FOn-b$D3}ha)xZ?SR66TF-l|EIf z>?c0)Hf8L-Un6WFct=!c`0{He$A_{(p{5dV`8kS_xSYmw$w$_&b|lz)>sYU>HvjnO zw5|P?UJi{@Wt&8AlgmBFPrU1HOkC8`HNqB6cjAoB&+b?gQSf#ReOueTeP&CmD&1>L z=wiRv1F@;tu=VM=*l9U=qcuhKMW4J*Qa)Qj+C&#`r&MrQAX8YZK(jz|ms>CGScaVT zPziJm^Ow9OLz+W6zn;lGH)S?{doLB6tkBmBu2b&D4@|~mwBp2C;~7~?LqF^m;1--6 z-1a=BMlf?;sXTA4#d$NfmAm_>*6fCaIC<8PPA%xp0^ME{aoQwP`38CK%E78Hj>kV* zt8TY=HF8Cva_($t(p-D>a;los#HZ%*@ra@by#_|-{%Ny8gOolk&}(_?$T#6`$LL)t zA}su#bk{2rjwB#0LM?sa*d33qz|>|AYc>B;pD!ZD3EYB>qUX*woRC&Ho^6@ecODfj z?|cAu0kz)V5g1TB^&~u$D6k7U+=EJ6H|Y29H(VgE#}_WU7$lS({gU8Jw#Wb1k31`q z9~n~?Yyz_2v6UY&Ap!;!s|^C%tP63u}l9T#_}#^)@x)r|LsD%#yiRLu|e{%2IH zBMrM%b^X+;Tup6g=43^U?J*K=hEbeYmPxndSjVd4yvjd0MQjZX`X`k&r-KTI#p273 zY6U7PW!|o-?%Sw&b*KJaf_HO^YYta|_HuuoGV_r_vBIMIqNPVSjCncP%}jU8H^@*s zn{XWYGB_sQp{lSkA#SasOErD_2;-TC4|N~dUUDhBcY50{JT3Tu^7u(Yy;)`52kF#2 z7PX&5+eO-4X0I!JVb>I2WAOBUVCY*qa&ow~pjO?}(2EqX-`i}f_*`9UCR7wlcq#W{NR4ncj4 z{4J;!VuG#~J@pV0d}?)3L*Y{T&AuB8Ch~SmXRuD$4*w<;PKF{z)>0N)sz1>=8EPD@6Dy?%3c)aZt*~)t*{PM(J+i>xP zYU(Xb)xnZ6lEmV!j*Nshm$f3xBtaVk%Ah;*%KW|QtRpT=B@9Mlv&|uUi|L;lrxY!Y z9w#&RN|=-nH)>aBfH~+<3dD7e^cPpZJ%GfFQm9cVNUGa0V#Jo2KJxMgdEMke4pUS#z^Vp3>Gv?n@ z8}c-6Y*3cp?rhcPr5&KtMOzluRC{*$F6stV?JD0 zl%e|6&HH+F>aJ&vyJ?iZkSr$!d}t+>Hs+#dsQjI{+Y8Rv8r*2fY>5hvB8eW!Z=aF3 z>>eeGw7bF0%%mwS=Dy>0c8NFX zR;2}#k&~U&Ek%~9ZypULvkC~bXZG}nRdEGD(b3!63lc_1i09$j&}N$O3b}{FsVVWB z1JA?`O3n|-)kcK8cUXM#HvW(K#3_fjzgnO#{50UQyh(StHee{35Ug3;oI0*kvz=a5 z$++)gV`R41h6Rt1=pp&DBlS8;%kil*dFy?40*pab>@QNC$+H^~_Z&2w1iy%wtj2VI zEf=B8J#Pw_zAEZtXVBMBTCJtBJ{{$~CCPDQ!{Unz4ELPY#so9es^zPAzrXtkfZ5 zY4(piR{OantQP(E_Im{vyEN^Qv~KE+A#ZkXW0=+=SxeSE@`-gvf#JF|6DCw>;pyaWuZH>A>CwzNad~3?_D4 z^Yw35Vq5k3M4dUpa&of#HG|e0EjHJ3L`Yj5HS5!T0&~B=Z=`9dYL5>sc{KX5V6R`l zSE+=A%fi@a%H6`LLbFR6s;;+`H6_;r1GwK@->75fTR6FM@vxhOZaU z#xL})HQH^o@MoGl@l3JNWnu_2v>JN7t;W8mFVBp!LT23O`w|7@U0JPH*OY8@esjzi zoiP>9pm>D&N4c7@Qn@V4Hf*kP;(y89o2it;T|5%t56ZHX7s&R_#`_)_JqnBnB`>;?bm{y)Y&E>SWW%^30{oz95v zKTDff5W{18_8d%(%^fGi?K!wsqBJgsDN`R?2Nm3S3qpM~Uy#%VmV>B=>a_DLr$h462)_vL3c?l?plT|1+Gl(zTtmbQe~EYpsB4G{*rN96iR^1$eElJi)2@xCPO z$K?qE7F8cOnFKzFUT<$mtOYnSSG`GbePg(=yi-V@KSQ-IYqYR9d&{~n)p5j-%i;Hd zvNF-Je(?x52VVY5A{YEJLtFe@E zI(H_q?w;hDtAo^AZSG5(mZXyI`?L2gZ!TOpy0z*vThYx=6Tdp}d8?ADlB*Z^ z(wJ*(sYI+@NauQCA@$alWPjQ}X-wGJQd5o=a~-$q&3pRBTVk!!JByh??gg%8OPdN& zjW|=r3yZ%-*IA4=QDWNq`XuD^>#+etdtNGB-_7fxpOD`JZo5b!Q3gvEkB&xy>HBWs zeH7*T`dO|vsbM_@m%)S}TfGNXEiodc)XTlg9c@FwpW2*6&q)aGIm5aBkKiLL{G#oB zeH|gnN56bnnB2IRLD#;)Fm5i~Y&(9Vw>w%WdY*T8O=;ng&CohVJ-d^nC-sj)wY|7U z>eT5&oKy?fYPTv&*F7(>&Ch=P{ZeWD9R;Dn`O3O{W)6)vMQ;qW-So}el(mm>9%oWe z(psO8-0V>`uXULoZ?rzdki{g@WyAFotGn+`rgoC6nI%hqh_dy7hl7_rZ#V#kJ+Uz4eD%v4vy0ys(*F{H#T)Pxy%1irNYFlV zfB>H@(}o+unVHt;q(UI6kW~JhN^pm@E2`aq_v`$zlA4>a>V*?%cEY+e<_z znru_s)4)Nr20mFUtVe1xvl4cp57hf(yxLSTP{wJ+1rhK z?6W9z!x0%Z6lX^(3v^&z9;_sS2OnsrQ~S)|1xsl*XHzy%iz{j*Oh!Q>){u zIX(IC{KrY*CTk}f=08NkPN~~Tb|h#X7%Ry!GRi3yaCvAM{xxx6-ePSz)lH}C{Ye_$ z=Jb(>FP2xYjc8NmX2Y8D-45hmsc!2DQ|7a;W!U|tPTN21U{bre1X)*@lii}9Gdy)O znUXf#v>dJPRqsV*lbt!~Dp(-Kr|w&%bv^iDVrp`At;q6r?{ZyF^Ib*!$60&!E@V9` zaz}_Ano(C#vNczAsGNHixq8vMtv0zski2SEbA360i&J~9=(Fn2RsCOzn5T;4?3F3E zHfOKy8%_yUw!5>#Uf7ZyHyJdot=^GjQe3Vf(ftB<4qL+Z$rr_$8RvT}S1 zS8A1mrzhk3+&ZGHCrVh|cdj2C3*7E!Ya71dG(R1_cj+x%YZ801t04z%?NX@I7CDwH zC1+Y-xNl+X)eo&nA`4Lzfr5;o=t~BvjtaA*UE;pHiFu1du?KGlo|F}M)KpRxaWBS9 zq987t?_*Ev(pTP-HReA{Od5-}_wWsMJZP#(P0-vZq8#XzzcmcduYr@gzGU|!G0kU7 zd~M#^0sBq=DM%SDjwnj$7LwhSpt3zGpLs)Oa5p7?eZl8`bs`%{+tkXSPw)9w;ZWv~ zwQ-HTtMhWZ2rFk;qWJZ;oY>o+80&U23BFkwzUcAx!ug9O`CDH?@f#oQ-f|kMm@j53 z&y(cRP}MR^6~C>0+qE^&ioWs|k0XV$8fDpHWhLl1>LZ!SyeoY$uTLY}a{j%dh(eu? zP`=HW(eq^T_-IE(2HiZ3*P`u0XuDndcu-?>6>z_e)L9p4dz9V8b09Z5 zSHGraz~ghQxzUZ$FP^Nd9Qxw?;tvd>m6P@k5A|(zOxTg_73Q~w(el)oYtx5Gx4(^z zPtD+7QsEO7Ex=A1!tzS(&8xJux%RXh3ieJ;Ymm7DOF;O-?$3Sw`lYFwY{$b@17VH^ zQ>}v@WgkCY$v#}H{)hEq_1o_IpLzQ%Wu-W18R&vai$w4Ixyr~~Q_U?Tuw_a|1jO0A zqz^ySJe$;I3icKm&z7Ljoqx+XId#;&BhBX$_sp`%o8`&gb@BX-Qi|Ad3l;O#$TP=c z`9$s7=2(jZ*WSEJFz@zyRa^9RGGgbJOMh~>H|rO%&~0N^C$Q47zQXA1cZoO;EJC3QsmmVRoLu)(KCgr=#Utrc5Fp*lj2*D_X$Fl{}! zbk41R4R`f@_4`D!h{N;KxRCW0Q=RLZjR)y>v+pi-9B~lU$$QIZ`>HQxX0o0Om7Mj* zR!_P^bligWpKop|UJBpr%t-UJUm0;%^jp2YBd{ss6J4R6%_--kqGv^wlm(Aww(&PS z%i&Yh_PS3qDJ1IV?yJuwSc_jpex53J?rC>->TmX>FL)PfV88DER$sP#}dLrrmHM6Q$m zn@VB6vwRAZHS_*44+Ekv6XVl&d@0>O&o5Lg4Yj?)!?Ekx>_S|$Ij^ssBklMmHfp{- z#Xo?_3;=tYYM4{M^Y-~RV0a4R^T}z;K)Y{R)HFI;Q0g`uRij6CkkX2l6fx6aAg$<( zq|FaI8pbVtZUPhsNUrLO<$RdCZh)kfLtJcb5k`J(@!Pz*$S*sKG1#Jt^?N`seskU0 zu=H6diBfi7v-s*;OUYwmYLZ7iPp)^$BfjSJr{%w|W8&qTmt49YM9oL}BC%<+XpzFD zsiL8zen?@r6l=a_o+fqn^m^k~npxhW<%EYBEBcx?yVp}IyDJ-9TP3TK$rP=w#-)b> zT&Hx@LN3dmcwV)%wzL-Oz2l+qr|Aa=xkE-LCTrL}$WZMZ*;T>y9MB+oQhZS+$BoNu zXNjU(=Nj$C_p+${>Gnnp6Mq!+sU7GuH*C&0PTF6;AD64m6eES(DzJ zVx4}uGU~awI6>Fkjqy}yuz;LPwaFMX`4%Q7nrXThw;o$QuYeviC^$H(@P>malzXEJ zwk}W`#aF^?a@Ve17~48IaZw^CfK6yBYUN;#*t_-!$Y15skn;q?w2;-2R`M0SDG}ZT z)sWqFX=;-X!>O)h3d7e}yg<)#`5@gKGl5ln4yZ(Fu9)4`)nz~P%vZ)R5^#<(Gi3r5 zqu$zYLyhXgtVMT*>VtM;M56!Y(DK`(p~laxj*0Px`JZhT7%I_KFQ=*MFG;KXp{Rt0 zyU4EmQZfA=ckx+6#X1)6$A&ZwbszQ?2{yT`MSSi2O27=$Gn3{ark5SNKg{EoOxc=x z*FDhK6ub}P6>BoR_kpW^+ANqSIY$3AjS5YeSc}ld`Iy_fsF2-;mIW$x(~?Q#X+L+J zz~O3uI2%HahQWC;tGjBu{pXKcanP>UiY-4n?fC!fk#o8Iw;!?nwsO^ffme3|kC`kh zE#>9uvDf&t2)J7ccmiu_S=qL2+xq6GzI)GK=Q(NO#6nfA;tb!yhqE3PS1&vKV$b5Y zMgJa8^xXR+;6tdi^epw*xrUiZc{j{ez)Juw?-tTFI>uR^8glo?${VX!*Dc@q$xHoN zLeIwCwHvB;oiDH0U~gt|*C#Lj_6w`K=G}|JryFgTx60T2%yM$yw#mkS-pq0v>g2H10*GI=Z=98WtX&M;Xaqc$0~m9_jXbY94s4&1=~UbWIZ(~O z4=4tdiI@~zu68UISfky!c~f$pkVN(Cs*ejB+iD-5|LZ*wG~C0$pvJYk5O@nCaF@rF zsg`?`WUBdQf6(L#1 z_txIo^wd+UxFQy~Hy=3S3p~vBjqcl{?QC&BULLr4Z3)y_Q-PZ{fcsQ|yBG`HD%bn~ zo)D&1>j#`(0Uil;Soa*T5DwmF267WaekSm+j)w}Lf%|`fmsK3Mwfd=3tRwdN{d?d| zSe(lj0I!T$|K~S&S;_-mb>I+}&lz1^U18zRB~vZuB<1Di@}@65yqFp6zaLM52kr>J i3k8b4ef4VAms$Vi#Vt>2R>UQM8)u%belF{r5}E*Xi46__ literal 21574 zcmeFZXH-*N*Y6$hLNrKGL6jD;(F80sK|&L_5a~pugxHW8K)OH(Dos#OQBaWHLkS?g zBnScuA~hfc2vtf*=q(}1*?3>idGBYO^PG2#GtS5717nWtBztG?u~_Rj|MNfB3sYl# zZmi)OZp=0j z_*WFO{O#tN{*9)KFEY6#Repv(za;qRWI#w7X#iUwg>kG4int%~1pl+(DxBcEKrLWy z=HWLB7t5Xdb1BNe&jfwECQai4;_0(tp8Mg!e-7usfOAA2f|`NcC=liZ zzCaTaNO}K4|CNwKadB~#>yTX9ix@M@Ly&7;*}NoTwMR9IzNKry2Ar9>ke?M>-kYUQ z9B&LN#^InzBbCo+VKNJG!pc8|goKK!suDmvz$sNaT77+ep%OCkGRlIPoqQ!w(u1~_ zWxN`DJ&8o%Ody}^Pj(g-4`47DRKq`~pReQ`R!$NUyuwEC0NzbMu4>{%tU@Z?{~9GH zGnEqIx#?k+Irr6Y|2@}^u0^fP)N?7{g_~h)Lx(^7wf}(9Jv+KPdOP}evm-p;cl!$P z(?Smbhg3p;!Ud1^lJ3yb_n`< zQW6!yoP@aT?W|V$ESTHkf}bb|%&RvuMYd^VEb;Am!_3R+%LYU&;ZbKAV>oU2cULlH znZ;aY1SCC(Qy;`_RbqELU1weKbKPkkiFRHu@JFm1$u}*&(by*b&O{6hbQ2}&10j}& zt>zxrWu|MGY1S@c3WHV50&17aJ2QhqaWYFoLQ}f&+TGi|FLuGhV~XCtZ`Cj3=)w0c zl;jQaf*MnRJNy2TGkgUYC^xD@nX~?QdJ0R;Z|M$8Q01*;l+0^?-|RWYHmMqmW{~~H ze20cjW(CV(b;?zH`KK2SbHHvvRd)AuGk~jHgI9w+#Va z#i9(gXpHD2v!W$^RVRM+NsH3k$lEQd&6B3GS)Ec5hSGzBgCk*wkE{NWxfjwU;iIPM zg&u^eJz0CGQQ~qhm^D)Corhx4N!2m(xSAH`Nm5*29a|Xc(r!qPl6~;1E`FIjhs-G{ z`RSn(Sv0jQQ#{S2FKam2bDTOYRg2(MZO)=fjyP_HUmXsK*s>ivT8VXL_1B!+)~D3( zCd6@)OS?4J^SL@4q3a(L&emjl2{yU6|{0p(uEV#!=vRdXCyB)<^OT;fN4+SUb zf%L7KLyBJ~VH;zr)4&aAS{_9kwDs6sRVij^ zFsC*4=As4*GG9V@D~hQ7K_>i7n;#U?#NwzHL>^EhT+2#dYGAb;vMhWv93F1VU01AU zHfhD5+ak^^;n{Sx-{c+OlRkqv6s>K1$iN1@=cq}zOI~@D4$f^;RPT8}@B-gj-2@$b zRvhsV#7nPs(zr?O7aC%o+$x(vJzjNaq3b`LN@Fghc@eZJ+avy!B{C&7&CB#-v{e@< z$I*0|d-&TcT~<;&6h|YYR}d5C*YYh^1>^GHRd_h#hBq|O<0~EGYL~{5bYfheb|zyx zX8bJe7^Xd|J?AlKJ|-GG>2f#z)ojMb3zOh8R;^})v&D6HUIzT?1Btk2c!?c^ol*>2 z%)qH&7PojG-M#1n0fO?zFrvp0L-|eNa!b;wT+fv zOe!t3!fxHueXmjMKlANPuX^iY#<9(l8+R&7fJH@jn?1ZYgrD}*71D=zDA|73Tt#cckP35KNrp`sxhPpA+OpnGvT`>= zbO_4QM{no@7wDafHntl~?CBxFms7qx=hXKGX_CBp2xbGO(zig8@V$q3OPUXWG+7A= zSVQRLKE=atZOec_J!sRzoPnV~Uqm4ct;cR9ti_LlKurdnLw}aK3BF9V z{bjy~i?4Zq?Rk0h{}6KQGd)>Mp7{L<`(1uf(MxjJ{_Jl(r8)@&O?k~j`wQI_z5O8B zvr>LV12m?a2CN%Bc}Jj&lEPQ+hQexyv(&1kvFdJ{QBqr#lB-vBP&E6tU3GEo?5q-z zQ5;=mHCI(Oh;${4H&%5p##(h{dtOuo8||MHr5(=o^(_2k$;)S+&@Q>tL-n4ceO-5h zlZb=6?ke6BO-?uK-WL~d6%of}+(CW&ccht?z3Bg*t0mm;FSD8g@5!10%no~Xu{@8^ z!v~oq60^rI{EE_z*+UN3Ba;=cGb$)!b%Zz%|EDa8psin5s*O%d$s+nCL_nYo7ffjT zft|fY7mb&`;@6D(A3;zRX(dl8Una;VNKYhMTF$W79APXu7JE@goqo7|5RQxV>MC@o zxM+GvTLlD~Ck$|$|2o-i^2rI2rb^(A`xIQxJ1UgWl{}X>=DW8FeHoL`Ti$94SqYbG zFfs6XA_dVHPqHd5rvS4Y=a_Nd6`O?P%4Si|>au>MsuN3aG?$?Hj7T@iNM-Lp%W{OU z`wALZh}>D#{9`Eh#@Wh+Vpi5THCm>mluNFri8Nl}96uJk-o>o4?(_(0;c|yg)mw4h*v(I#&4+7O@4pjOYj^9r?ka+MMiDkWWz_m+vEO4$lDT_XwN^f|wut!5L`rub0p_GJQY3ACR&x+HtF!ZKVs)<_^ zVm-k<3vH(S&PCAexv*VNLcOy4#us`J6)PDkAFw;iv&~tl>tlGW8%g$%CK9K<%j29J zbRua)_%NyGZgRJ3Cy7}S)D6|I=KtCw$`NH&sxtlZ>e3s1v9e_My6+Kn5x4KzXx%_K zDY^ZcXitxC1(%a7@m1D=x5mueWfWB zzIybm-i-(9^1&bXS|Ch5Bj>!H;4a0Xoo%qEiVuVE*|oK3y5^4Zy9meBRdn+0k_xzC zqKz%GSh24AAh4`B%a$+_FJZq9vCUXm`oF6l59~D7VEAZIPE~(iD1ErM(okgIIAV3J zFJWO3Cy^S^3<0Ay30B^b*VWW2Fm%gP=AP!8xd07V{mq|$L*SE?MeYvq9x-#)_}VN# z+7_Y$hGz)tJ8rku%Y`8qn8Dar`8M9Wvx&r}c~hG`+zzcu&(TVQwYQEV>bwq)4HN?a zRLi|~hou##69?PSD8OR3J1-zi7L3m?{+%(jG~$Y_%u5aIh@5YY5u^_xPRQ9gY0!G( z_E_-Ab4!Udd?YKcE=w}KJ6XBgy`G|kw<}AMtBC^#Xjr)Uzf-nULV_Gq%%lqP zUFnM4MZt5#LzQ`fX<=38j47kFbE&QXkd=PC>PVwp^qri+6qcywlW*VYuJa|YRi(HH zPmk3%@1VBF=14IaHju&OK_$cB@c?2B&cWR0t%K=Je}0Y>*`Te8IG@Sk$rf3kkX`|^ zSVose(WBloB+lSy`VpS@%ZqBu6-ILM^AEeqc(31GM*qHAE0dFdwqv*6ZypUZ=*CVIHsN`R2H@S zd$;6pJNHRxceb4y7n$h`LO-v~iI4=ew~MVmw_&o58@z4y9#{(uo_zeZTHuKPt4Qdt z0spIiwa<`iLl}V?<0NMi3}lr*=vv5niUT?0%`{f5KR?>t-Jpeov#D04J!C8|nqwsq zp2fRydw1lUN~OMwu;n4C_apM6m-~WrVBU=;)W&Ul*0>Om?U3}$aaC6#s3)dPw|ljb zj)x|kk)KoZ#PmNHgY>1e^QkYN)$w1E=d-<+F&uR7Q7~YJ>pU^(&Ls znK}d;jL7eM?GQ@TH;u+NS8oE_TsdheYZY$4)~Ga+Iw&YjT%9YRySTb~Z!g3|wDpJ0 zefgn2{obu~K2@#Hcbt(AKaCuuOlz=qyDem9!p-Rd z+6~4HN00?0#ldjvwaS#%Z$nCC2F6drdQzX1g=k(Xxj(q-Zfom94&|%hdSAtJx`3FH zFwj)+#p1Ntp>Dx*TseBS5PpodbP-0ifcKzc$wVN-Blr7FUr ztLt{=V}4X2iF?7BPbwO4`2|8^v3_Ckid>cGbwj1Qhm=qDx-)^=~*>=(1Ik z#J{>oZgI^{z8h4E+%664=G`!YBaY|qPgP?#?plQhX38#`57KpBO}@rqWEZ`T)oJ_qr7>OLHvajs{5lyo#}4=L)MGGW8Z!mF={>XApXvNR z2?96bDort8oj&q)Om$m4caPj$D2t#<*-0vgn{>j+afBPG^E!`!%2siw0S1Q_4RKpbSNK3>9gGok4Mz<|2 zEPBp^V{&k$RZyX3VTPJ+1l62a(EYXty10Hitz_hpx`ycRqMPXam{3qU#_ose_}@Q- zd4JJ2bnj>wEgwV^dpBF+#jn@$oHjBTIvf{QNH$P0GlB_)pHvLM2)T$Eq@FyUkT`?N zG|guI2oy<4(LDL=(FX~r*x=DYY)k55T7EkgY@%}S>XS7G$8BfEWVTW7gTcfwV76`B z%s63u^6k$0ORRjz{oMI;62A3^89!UR!4kZfj;vC#-~H1^h=fUmy8nx`^Z^2S7}Clj z(I$8$id*w!UVlYY?~qHLD2i!VuX{!ao*w7%8`S$9?;+MGvC(?90`d6!_KjfC?|w2x zd4*M1nPLO~?8nW_#eq zS@kd7V<9^+`RRQP9%-oga)XQw9W_#ZQH4boWVhEKF*E*Z|9nWeCnGejVUeBYpOlPD zq_cDX<-A*$&SxL}@VU^?FzT&a1#jXEXJ^I$!Id4PiOxw&h1iNU#(^TL15fe~)Z~+6Xzs_G*g*4ti`SJ@5+Ys9 zzS-N`CUZ?3%WXYSlOUxO8l$~oE;wFY?;vbd^bJ-UZ^?$mvqB(Eir574&@9tN%rUXL z*ZGjGNfn=y%ePNQmb*T+f4;Lxn1+i39R9`fD8$-6m7Mf8t}cC`{*v8IP@IMCUa<0~ zQ?t*4Z`YNwiil!tBD)VqL;+oG!t~^lc1=jMJwD7@jKd2aVVWmLKKCP6tU>h!Evnm> zm_%;gaoetz9hrAXVlNxI=oNsJ>Dvp zj|1@=pTr|}AU1-;_dosZ4C_Z%NU{qC|SNe9weU>UE~D8 zF==Gvx7Xq!dmkNB%K!m!;Kao{cM}mIwcI}3&Y!4=YInH%N26q=;Vxy;(sKP&w9Hc2 zapP~V1hbZYU3(P&+j@HbxEm?7!^wrTv7qe!$~_}*iG(L5B_|{2ex?leW%mD6&GU2k z@!_&AC1w?ctE?o51ub2+t#bQljLKUD)LP;TK)fOYn zMP1`OJhg18<2AjU%geR+Ob~8jHc@R9GH{|-cJ_L8F}}dfBSr$hllh)obkW1#0j={K z2_;`d)9b0~bdfQ0zW%H+GyYO+Jyn%tniT*Jz53`!RGX*D5eRftEM(^%Bpvc(=BOF~ z_j@c|`UcDjKARUwuW}!Ak-1$|8Y5TtEj4(}Km*mCst#?C%$E$+VD3!!CdFL37ps`E zah?cQ&+F#&6cKW8a8L?Zxht&ZR|K=1x8X~%sFB_3Oy8OeqSm%A4}mAR1m!lC!}keX zJ}oI^F2#SuGF+s(+dopw)}OsbtPm_Xh7y@q^AUJQm3|~D(e`_6_jB4VUX5CFR(W9D zCmu32eeC!99o5j_`B<+HKhiWv<4@*No=MxPD1^|7B%0QE@Vb$!lT#^x{`A$F{aj+O z$U1)8sWm6jelbyg_M6H72J&S>X3X`KVBCU6T;V6iO0d{&SnJcGf2aI|+vhEl{tfcw z5LC{w!HN?@Ov4XWQ)JMZl#{&K?7i=A&ofOM55jaU&-W@YjJ!u5w+{njZYaYhqvdsm zjKSN%Q-jz|m*iDv%$-~qv;yZ5JS|+?p0~Q=RVO-QiwKZI>~>h0Cvt7oZ zCmNQ>?|x7~@A>ux?`JP07IV9oU&I~rFs9kZZU*Kju=IN^5xcAA z`CMSr{Em6PCyoP5r$g1#NHZr}wJiBeX&yixKAY5Myd0hZBzkhz1}^=UDT7tbem)PS zD&D)O9T>Y!9Ja16#IHIu*ND~Ewcq-1=}Sq&TF2=1I*p>U*V`+)WjBl_RVT*GeyGM8 z7ThOyNSXt;sPvE-tTA5|MxW{%WIHENVTC!CFP$M&*7M7EcFdnt`AS%MfXy^Hq)nt6TepBN%i*QMO9Htvdm;i_V=U+d; z`B@G?7aI9A*0NCW<)bNFy~DLo0)YT+a1E(M2Bzf~TPCY{&3qd;b2EeDp5C5ailyFj zdA=z&P@d5>lnzZ)RfToTop{YJr}66}Uo+Q7!6+HYupt6rH{yz=6}S>Wd&DX%OVxGo zBIz`S&1zGdJM&<%1$QA28W4e7YfUfO$XQ<5_>#_-HmE5Bk`XEJ%4*5Ua4BdPtqYoe z+yLbGwY+>?*e9Dc*=1#yhw_vy0|y{iq>6MR-F!1Gcg$D6a6)$QS^>8*pKScv936mxMeG-oF}zM3p|*6S2N;r|*i^Fb*j&rRxVTdC`0{H@8ebtPR$YS-?ug95HxEjn(dX+iF3-?S1 zcp#1&!MV3SPC@b_ER3(U;ynx*quR^=nWZaS{2l*{5&mXEXdy;CLrX3!!QyYT_xDFC zoNGNrFoHtOhgFkK2tDCgzUKXVrzIAPqhZoaU~#x{v`x1G1WeP;7&42rP%PmE?rX$K zK&bhRaBoOqynMej8axlA9B_iCsC93Mkn!Nf0cMx{a40G$^YUp8_<3E#9xn&wv#Pc~ z5m`Me%QufoKNGe^AJ?-&9!`@I+IV8VICmm2Ep=x`{*mbN1@?OB(F5i`1;IXua&W30 z=j+`3*xTSAn791>hwzLoA~ZXn>`J)(^Kkbs7T05Jb;g zj%;RR>11cn-o^=0?-wR#8uo@^8tWADk8Sj)F%>p3!ht`(jU)D25i?Bv5qY0kPSM80 z72V-C{muV>*x36U_^3-3L08U4>+pbagp$RwfUn>JMs)eG%QgWTiS*z4m{kQI<7;U! z$O(4O@ONH%it)Nk4mf++1IUc~1@AEw8in_e`a`@X5r6Ul4!DHfQ!|2X@1zc_=saa) zVwDJ%bU6tdyUn3Xh*EGF?Jv85>kOUWIO4qW#4tvs!EY@dy-@KP8{dYb!42N6Y zY{iBbwtoozanEiHHV{x)o_VQ+_q2N4%$2}b&A}tFJZ~^@4|mSI@snMdnbxVAqF0{d zZE0tb9)D*gx3wrHOb_vJ@%?VQa?5HquW1arK0L~-^lC=&YbNW zqQ3BPSDyQY%T!Mb%@iP@cZ|EE*obx9zX(`Sj8_Gs*gTVtqu+G?tCkh zOGoDc!dtC;k0wwaGGvyeYM&P#WS*ux2MU4j^fc5psxq6KmrWzmauM{^_S>KH8VwO2 zavvKBa(qfkIN>UFg^!#!Cs^ydAb2Sf9+2_sF0EtuQJ!gr%t3)eAdo3Ie7lnXWdaDsQjCifRe4%}-94esIEyM!+*%N=Tp06Y=b7)qmnRj*mN|>szwZuK8%?X0RfPQcZanMe%&9NR2 z>)l!$RT`{A7JGdOdQUfmc=|-}?UzU&UX(>Z)}Z_PG)VQ#AG!L}*?$E?%JKbAq|bTY zzW~J7;>JJz0%9QBzFZ4>eR)4DOJd zJH;^>oCMb_@t>^8N&d2jErgJ$>?{*NzI1R; z)-<=l<^K641WUF!&XrvPA><@k+v`(q7nJ6t0bh4HC2M;T)+Aq$|Bb`*6m7WMW_Gl; z_rvfdWij5_B&$v*>vX<-*}tc-fa_*dOIn&rFAnO9frwq(eF&*hya*_2CiUcZzu8m;z0J*WzfW^8UXbIJb#s(MMnkShE#D)?<(Y7tWgI?eTU$c zDt_nFcHk}mQCHY#xykNp9(-f5 z$r@-J@8}m@LHI)x=x%nJ2f(Z$kX~k{ulhc-+Ub6{)ShHadrK)v^}fTd5{NG^zao4+ zp!Aif+Mu+wk8IRWsnHX{O_dOhy_FUv_t6?2Ed;p_Cw35JHdcC1=R2F-#;>~LP0nd_ z2%ICQKH9qdMcEU7=8_|GIaZDOjk}V%uB{Vn*W7Rn!TFk3T!b+Q2>nY4)+U01gfRdk z!5&2u<^kic){_{U@m|PD97*=TS({&yO1|Db61(^-@95uIm!N<-z^TY_q0y57vl?FS z)_@pY`!LQ+%d89DU2_7zepP}G^eg`0DT2SX2|r;j3>p9kibm*?KfO zBv8rlAWG#HAdv31Ayn0F6wvv@jIXcWK)f$1EHqTN6VkYaSpYa|9Tso1t=C&OJ&kG0 zFZce!A-Lnv^1$Llw7*%D|24j1D}p5Kr9zy2BrkO5bakrZXtL?piMQC6*+c|&2nL6v zde#S(Dv$6$D1tG9@>}BPcJaL|`MtOeG=b$c(e#wbD!55&c(T4!MRZ^9v@H-b?lKe@i0*ZHoEN{2j)Ov((*78UGl!vF@^@-|gId-P1Q_jKz z{B}IKQV>46?;fDng$u1KzHPImO+nXnX6tD`)sXR>5LIjMr2~N6l(u_|dQ)mK%8OY7 zXDXc@Ta3+&@Oef&Mff$g;MY(vG7N7a3WOVrjt_Xb_;f?*ZjiUib;>|N-Rv7g)yFAM z-~@*!hg-3}fFTT`3ptdOs}*TLK%F)%?Yoj89vA1z+=pKc!Li#QM2%<0D>3yE4_0a$p+eFN@q;t7HPrqjol7V6J$GBQkMI0(F#& z&5mVa5aJXWok1PKWq_FFt{YFsr7Nr!z0SKlkI7M@WXBtqZ<2@fEqG3NkO_KZROZ%g z3Q%)BYoQ@Ol_uj%aeRwAd5-8PD?D@WVo_{K-hV+2LWS05pW>~KmE@nAw1l$n#5P-f38{gF8#|BHJ zRYNaL#T^~)V`;%O4kK##Pw=Z)`jTHle*wZg#iLN8cuR|dZ#`L_#kh3A^iWE=by1JK zR1>DrjBar;+>S!d5H&pRLH3=wTv6>J5f5*CwljBAQZJv+{D?Y4K&^RBZ%4#5s3;V| z644@M|L=t1g;HM|^9Ln*@K^K-=YB6OB}*lRY|*Wk^npC+Y<*?e@mWiQ1*49v&NJaH z8JR7mnb9Uz@6U_afF~B8Wil?{um#U@c|Bk&8yO|M0iuhs=nt;elzP>`ESH*CA1BBW z3D*-Ytlx=lO}J*BH<@S)D}K26tf%RhSxPl2wk;6i%XK78SZL!~X7@<}tsBb^jPywZ zn~G2CZUd62(O-VB8qSvx$ScuX+vf`>zWailqZeb3VZLIZKs|&#o916=7|#A8zf5lC zNQhZh3FxX*Pr98-mqZbQ|Lp*;EzGy~!Rwvt@ZL3GV9%Wa8>>D{8dSXT%D+s&*zCQX zfH_hk7?dwm`KU{X#93b0ag3+96mp)$xhnrmXkc04)Ih!Wl}DVmR>TQKjjDT<*kLnd ztJSr~GZs7UE-vLsNlDM-%zpK6gj*0E!4f`aA`8@cDBh09`tg><6DNNg_0exHlkP(y zJ@pD(ny}grz720aD2tT>)q>KHq;YO$RTeo?LMOmWR5K~l_{Y17cson+BNF-%G6r8w zejJh5m7E7g(fE$yhxNm3cLWR!QfH2*$<@hQ%IbLDj5XYQ9C`ez&S|b~=M=DQpxpP( zh?_1dALW^QQ{C`LtIg{zhcm*V9wIiYEHodfnw|1sgtM6?T?=u&9#a0u>&a=uRVC>V z+qcsO-%+;ObXJcJ?<}M5qg}~ozbg%CmMc+M<=T{BWPRASdjLLs^|Xipw}h+T_Q-FQ zz5lax>jZHhukMCkoJty_Wu$mm-X1CF?R87>ky5>O_0|8LPh-H7DT>WGl0J>!`2eP( z@iI2{enm%*!pxgZ`mv0i2Zb+60*~c7+x6?R<>ltI+C(4uN?X{~b%)b9e%uqZcY0vg zG|nI+^tZ**aZ`1w(d;!;(hNK6fIA(VZ^QG|hr9@=wIvUa8Gi##|92K2d}w4*r&98v zJhr%t!}D2 z{q+I6#Juc3bn0-rBTKWSlW%drAth{h;JKBA8DzEA-PRj^GL6E#txGKQCf*@eRd#SJ z!>ID8rruNkg3PjtVALJ@A0A~K{WqZ%^zDwzzHtHsQU?YFaHY^AkN;5WfA(pBvmwj9 zARj^0AE!gJ{G&|lKgNz83CkMI>wV#q9g>IU`j^x>NCu zl+Z}5vTo@&A&wW@GIsm~chKdIakAdTzuxw(DgOB-*j#YH_0Vo?$yUo9!MD>2$gN&| z`ocbc4&N_e4>8cyl?(0c=?)o`p8NT#?MFoIYJen=GU#=(ho9cZWP2mHskR7n@9T@L z%>oO?%D3+l^rqr_!wpYDM&N*Bs-?yW0No>-Y>4@0`nwy6iEFFV#ZL&*#1L|ENDt*4 zz^>OG9}kzzSL;|B{!ICgf^vea?Fl2w=)dW&QWax`SlozM;Jo-BM68?}1@z9X-^m^$ z0G|pOUAwY?&R~(@{$mb+ykoB*kcqn6@lJ~A=jvLh4p=8@QNdrHaro^QyETW>2LWki z$YW!^*N?F|M0_o-GN?lPi>RD_B`LZj znD)vx%T~XNLEpCZ_Wlf1sQYbfd`7J2HbNj*AKfyb-!Is(zqUQw}&Xru{I}y21~>pH3$G&vl3VW>IUVV@FMc z`i(-O;{K5_Gt@ecx-<87w|=TE^IK|><188DRY+R}zoucwG$fuu@!(Qr-=|jES?L^+ z;{O#|kIZY-F&Bp`?+-qH%>cwF9gPqcx9j!(i`|t)89_$ycxxL2qP1 zMEUPG`;h|4vTBTteny4ksBsDPY@NIh*K0zd6&-AVs@ zngWbs+v<@Q5~=gcTybWWyTQ!eIh2Ft`=6IensVE-HzEF`k8$*8x#8`ZbJ*ww>R3Hv zy0=_;JRl3reeQaQ=oK*~w-0#yVB?$V_k}aleOCfSO|H$p zI`bM95*e-5QO&!6&OEDu@j)+Iq%C@;+4q-XT@f~A_rtsXF;QqB{xMO!pc($ViDF#f z(y(5blH4%Q{I{PRf_4)g?ZgicgOZlY1$-0{4MeNG%T9p}hIfM-J}Vt#bY{<=>r8(~ zl?1EW+9lgZIRZZDo?Tt58`rj!@nuQ6F~N`(DeC9bmbk*@hJK~mZikejYg%y+vF^ z#6d`tfUzP8KuHFtUV3^Vy}5z*wnsqyLbzM8733s%R#?exh1^rOv2z2xDYWo7vb~@k zB9=!T+H;1;O+GFt48!$A4VJl&sj^fLPAU$f0*}z%p0lZj@^7|kb#rkVQgs%qvWO#j zmAu?u+~^t)jF5jdNz!tjRkA?CONHW>giz_#H(ev+`2#CWTup^V(MEzvXwRk3W=7oUhpn2n6uP{87N?z&U~!<( znLLEuW}BOggls_$0(s6|xqM8WFm1#ImHGM{=ABars%HKYWoLDo;R7>D4VXHN4x(>S zpr2goF@5I_EO5y;yr#3KV{*mfX!d@3aRv~}V`7FUhw3WSdr@G9mHiWk#pxq)GDZP* zm~wJhQ7IF+MiYy>+4bV8ybA5L?dL~Ei!2UKE|xNbrThLmg*TI45f_M46T?xn#m zf1L@*f!Csx$jeW)=l|-upHtal;1c7TeT!ZyJ>{aWU^GQ37;zEh0B^VEbSXRj6wwgV zK%5yj_RZNJT9F}#Kkuiw^+;rI@d51~Im;2%&}{cePsMp~U8`x$M3Qi4cjw{pGZm zVC(+kx29tsuIRi}m=g<@ZmM`) ze%yU=vtb} zxE=idxIQ#|IXCx0VL`#QbCY-Umnw%&GN3yL~AXwqN*h2-bMSb2EJq~yTg78@@&Svqh_{E{pR ziw|u6{!~0*apv@kw2SA2hN}9EkAdG3U&R%&iyFVS@clc(njxl(%4ji&TBS%AwVBi$ z$x!}uiC@Fn;)@KDG5Ph!PG#rx`r@u@{p8nM>c4lsqbC))P~9!$j3G;i-bl#aOm@W( z^he%Y?%AWX2{0tn8Jj1D*i+Q1-(eYTun4YV^Q?5#*(YzU*EU~bC2+iKkva`shOYkS zUvegu9LMV-e(BPyN0Mf6se=jGjS|f@UrmhTsx4Nx%#e8pVKbZ1AKQ0&HAJUJhC1e> z&(g|LxraLnyx zfG25ekS7F=jb#O8qTDuz(4oFHUoG)HQ+CCO&F>{ZhfBH-xYxJ17-|`#y|p$nVh2jRBrDcb zd8>@gjz2T8ZUr|cORTxCThft|4Gv&1w&@_i+IoadB)p^Hm>5sc1zyIsLk98Lxq3N~ zo0b4=GG0heo$c)OhFh$e3BC&yj4(Vr@fZ`82C!w8d(3W;Pa5N2I<5(JabL$Zjs7AR zM$Vh}1wVem|IPQ5c1m4Q{H5f;mBn+5XQ4w#*AlMj&toKvQ;@H_u(lx69MFL3q?tViN zAPZhg>g$~h90y#5q3<~X}$?~27Ege73(e)1+>y+mHGfC zW&H=7^>k|eRmO^R*fY}0Q&%%DZ@hbPT!Pk9>N%+mshHLSTDO$PeBwz6`+!LfR;%Iq zzP}h+qV6OSd`FH1@QD)y_ZpKq0B5YHWe=ONVL7RE<@q^`b!qE!YhYjQ#UZ;;#&N8 z*9$0@=T_EiA^s&5n`n)hSuWK7hk&m!?N{MT9`v10$cP5K9tigXoIFdOJ5c2CzB>hS z1qO2jz?g|E{ZVB7dEd&~rMLLw{M z#e#l3`uWLuU%n+5_vHan)Ux+jOi!uR(&A6yRp@sahKDhxUd47r1-bS1Qr^|5=Vh(tFPldKr2!{ctfeNh}t-tPn~z2yegO(oo5*eh+EU zPY5MHb`1iXSiyZ^?kP5LIM6xa-IaSM21TFM(hit-dfYPVr)_+yh|ONv+c-Ipa-&-c z`Eha4h4smobT;n#eaBCaBhY(w2y9_^VA)L`>AoQ>zP18eQ zMBEp9ta8r4MR*@&GsK}L4Jh-~^T;RPmD8S8hHVx$?&p|$6(uvS$xn;IOvg@f_)0yr zKV1U!+jN9$J08k0z?1?GKqJN9nEWH6ssqr?0+V5Y%_$u+*p2>8@${C0>Grto&Vmdc ztvlTKgj4E)71)!Jn9^s300y_&k$cnIGoJ_;r|lChUh-nWV%E)^FkC}QuVCmyD|Xqe z&9D`LJPc}{RXBG#@S?%wZh>mH{IPrR?^JHgTG(9rt|Ar}JpbIKD@n0-=+LnF-5!Gv z`-XFK7H1uLn>xnaYT?yb+V1320V@JFUK}^S_8(V*4(7THs1R;w9+a2mwz{QOk-WO) z%%E-JkVdW+{lAm1I>tic(&Ueh&`e)0+_E9QWa{I?hT;1b*s7}eK{jzGL20C@rn#25 z9d``|ovCLtdDeh1Yr4>r4z6j=Wp~ZjbB(e}UpG5j{Fx4W`i{>Y#(kK47`71X;^N{3 z+d=QOqc5t8NLi9EQ2}>urqnR)s|0is|7-q$8MYSp?H{OZ%E(6DLV&Qfzmo>|()lv! zl~{~WiO#akg-=D+`HW;lIU60Ub|ac;1UK^uf0vqzvexHEpf+K6Ub2&2!{0zdmwK7< ziO;eA$DhIlsBC7dmtIi~Z-0p=gZlV=e}_K9Y9r^Rk4d_bO&?wf&S$@Qu637F71tnAs<52}m#zL9zd zZHnfmXJ&CsDiU1tSAqJF>JUXd_>#M?$C^1^EXz~;uD@SpJoVGd;V**(rGTzD0 zcQDhz#(VMK_qk*F%6$hEm3Aq6GX*G&gxIEVq|DG-UVQw%KwC?X_WDqQj5vPvyyc)y zqVTIou$juj)sXv-0>*6+C#?jJq0*h`-#5RS>~W#yeRr(Z$-e#5W>zUB#=%oxf21bv zvCeIa8mL*z?#U|v-rRU*p~|Nzq{&{@x%LA_yb@*PPF&cQR4q2IQpb7u#U;5vH`q>c zrMdN{M>mWt2FD37`Y)HDieHwfWJ1Wh&xD`JAkbs1J8>b|5<9g-e8^EsRu_G1II@IW z{@uU14^$V-eY_qCjbZspAS-XI;F>IBK$P-Aq(40^i%8sipgu-`9Vp}zW2d~iNQwk{ zp`G&npWAWaK%+`g{*{8l$gtyAfG#dp&i|#vYj1U!cg#lHKjEzCdq7VGXGQOPTU)am zdKWyvkux4XY0e(-NqTCoe)7jt&JZPyuA72eX}-j>p=Zz7vLyU>c=+Fs;J+UM=)WJqfAI(|DuyM#f3I7;U;lY0jVLkZ zo}8VX?Umhsons1usCeE5b_H-bH1tC#KkCo^3uX~KY}XNw>)in3B0Y;ZKJz_3%Xa_c zfz7}s2wAoibDaP<9Imjxe@D6+(9_5Rp0wMa-~KW7|L3qF4CsQN2M2Gvy1Q2aN|7tD z?EoN^CsF&aH)Z_k?$vLos#1cKPiqCSmWiR@bO{#U7>5Do%KghlKUgN&XSM}U4)KyrG)_YjUqh1DSES(h) zL&q!EW?c6BI_){R|HX7G^VcG9d-v&4&!wiPAw5W=epJr<3y@rf^mwvlaGXEZEC6+| z#`&)mzd+HAz%bNJY`i_zTr?VGaR_jJO_UaRPUeqnJ!FWrz05#&ugdw|kGw9S&*EkFkV&UJ;sN}$2c8ii^^ z0@jiwb5)o} z9O4#(-npqzHs*}5zK>9S{I|jhDL=-WZU*DI-+1;)L*|Q9Yuyfudi2$ykh`L3ImhkQ zH2R##Vm59X0oS_MtJ#@?Adtuf;GPEzB!=@TB2H_^HX93t zdxWptzwWiJ8AQ@e^SIvQdq^NOf2o)(7=F?%*#TLt8mjgllCiBmA_et zcA1I9SHg~o_2Mh9QY4F8Ia31&zIB&@AICrO7$&x2m z9OW8?6#w(H2fPp3c$N7?eMgpVr!Zd9>-UH;z+Vap?qPcQq!0t^`hO=CAHgzogprE` zN*w(?L=L*5@wg?9W??E8Uitl&Z79e#MHb;#+4r2u~bj! zHJ>8&OY2{^=#Oqy$@`nRvDWyz=mzyrAw09jsnH^~>OrQnR?Tvneq~&@Sl~;P|B|Qo zn>J?f-YTVYck%|^Ar*;spSl&~vgnj7`pQ4iUcWKbd5WGZVqrFkKeyPKHs6_kuvcL$ z@5!^DTV2`Bzw2gfajHeqK9P$neIAemm&aBiwHfMKR-)cXtYp%hTSSokWBeW`$M6=| zJJ+81RMw9zaMfEa>o8}~Y@~(?UlC&b(L%cn)NwB5j-$+ReLz#3mz@&V6$g?~f%agZ zUkJiC$XDqX>PMRe>aeVstpWdDYyDw78vS}Xq3`{Dof^ypCKPK^*+IH3_}(D?7+W@1 z_`&*MJ?pIE9ft5$<)$!_VlVhiLiB+nJt(${tZ{8Tf)YT)RZ?YbU9%|9q*DGGkAASU z@kWYmurkO{RQ?l;{bIbLhUT$1b`2r!!?Y4q@Ri}NRcjMUSdod`L9whx& zR@TCo-mUhmgTK^#)kYtXukG4*Q*l4d=T*T;WN&Kn3rvf!m4MjNfbP^6PMCu`Bq8|x z(J1|t1sObLTfPkY(>3jr9rX)-`A(MHjkVQW?7H_>F=zMZt)GhVl37J5SrE z>%WLp6gfRHGQ8b;^@>LWj56-bDX=8}@gB_b3md5M*VDSmr{J1re)*T$oM}_v18 zCRXKu+T+(&G{;rvyO}cER?Ml1CPtxPJu{ zDkqH(*LT_zho{)rK!QKIVo$*w(nMCuibqE7x)Oz!5`F7`M2L!VY-F=-4aK+F80zRK zi1iQN=XQVP-6oPh)Gemi(WazG)GzzN?A%5>at(P@rRh!IoaZhMLh7#b5Yy4iW};-q z=XOh?#5Q3V{TpkRaE?U&=z*8k%OFcmY6vwuUU}D6Gl7A2U_M1skLnojnYW*Y7L_!* zw(5}W?8NSWmSbQR#sh|;x7^P=iXHk2|8O18xSZnH?VJB754)bYMR84y(JrEy^q|P1=+E@YW`0Vi3z0+ekxDw$t`B*0xW{DTWy~ zNQ*TGh-)qb*}Pkeg?G7wU-kby;dI^{1#} zt1-hxcUMTKCz#Tj#%T2mU5vqs``3Z|TSbp70@pbg*jMx&~n6+}t!tEXrJ_^g>wJafUw8=W0y&vPNhiVqs>3`-WMZS)t zTB485{N^@;KUs*_>Vdj6#MJkaUvGYo!!7S1lGNX9iYoGuMv2-QdYKB z#w^Ocu>R(i(8R@*p@TMr>?%7xtBJvtkYZswKGqzfGSZM^#o%fX^H`)ohR4o+m6W98 z`i}9L3(NbHb~d@Usw-qOi(Sicrd{^V@d653eg{<8bH3rnUu+!1g=Sa+_N`8|yu z7RYjQnUy1&k_hC0ij=~3MelN>(e(_5KI-BGZ*kSIyQnL9q?@BAq)&npPlx`G0MG|7 z__TZ1tg(e_-mt&w;p%wS3JT$yclZcxQ|ETo$GW@PtL$Go(fuPIiUM_!Uism_*gA#! zTm`-R>+CfYz%MoXmppye^`)UMd|?0ppqFY(33~ApFAI^j4(aTtEQB7xVeZ{>lZ{JKp@gy|!&+rYjf-Puib9rL&n(`j~j2-4=y|CB+z2ydp+~*SH&oF9S4PQ z9b!rDTp`#FIq@$G>Kf91V&s9)eo#eOCe3JnkuN#VX6eY2D&y+stZ7@?tGSa$Coj8K zh*#_fFST!f)_HCVovw4U?L5%E>>#0nKY2#9J6tluSL+)$zT&nLy5$_=KH&=9-*4}# z^SSe;+QuhRE?wxIW~WWH?62wq06>unkJ|a=TSr#`IRx>!7q-|*|D$~^x-_9G;eUMj z9y|8<_5fbDIe(q9)DW)9w@%7b7ZhDFMO{)p{y5(KBEOa%`Ss8J_EKw;-SNQ=YZ*Ag zW>>n`qSbx*s2FUaL(J@+mB-4FHr35L^qA@Ppt^!g(aDqT73^@;lXeaE zTwRlm8Zp7mfy`G0+-_-t+)`clGgdfZW+pnoVwF|aaM}5Jg>s5CM*1^(m=lX$b z-q1h1WA};nlOg?e$9J!@AM2XlFaN++Mwb`Va%YYzv1%QbGtyd>4DY@b0~4!|kuf4!3jN!~SIX zVEfx~qphNCx4q+DhqWJlWHm1Eo<3oy%`G2lpQ{>fE%iI>2`jh1{i74@m&c8?+07r= zy}nu<4e#x8>uj%J|Fph+3&Har)!RoyM%u)q>TPX7-9^f5=)iJ2d!Tzm?dk-9&J7Ti^_2khubbz~W_cnXSY-Kb8sJh!sOe)?bA+;Ri#Z>P<&In8g`=iXC- zR$p{C^QJZSS08np*Tx@j|8s1tn%!J)EBxcCuy0L2-lo?7&aSFCP*>LV$uAhCeMZmW zBYXbs&31nYaaFxry7OZ_x-R%XO`8@?>H5cd%H8^g4jpRSwz=mVb5IB$GiHoW>&5=s z6aWA~p^`rhE(+oLRZLO;aGj7D!cCyilJBR%17(;(f42VEPq*2e3tI{f;KlxIy{g~c z4c|e(`PurR$J#HaRoYAIH`+a2_9-u3u|Hd{tMn*%$A7jyOw)L{bY{MNQ~Qg$q-@{5 zJ(|+)pb)O4KFqCn*Df7u0000uH1wk;qX!Jgg&kGC6>Jo~L)eK^VA;{u)@7Fg{g{p_ z&xeA#lN8$>r6-Ma+aA`xOQ+z@`-$?yg&R8GgNuhpoklO>_nG(Q$1YO z#Zpd~E2djYSBmY1a;T|m$_V$R;PBPt`wqqKon3T6=}dR_%^^dE`0$))qx!F?FN=0U004l# zDijtq3>-MnhwOOw65ZA`-52INoL50X-=*BF{G8SgJT7l{lt4RSRaKQgNt0`b0{{R3 z>6Dul!0YPjy3Ea89+%My)S+CdUVU47<4Fks006+@qI|5Jth}t;Tu9-%%Sw2hPS(^0 zwBn|wCa#003l+5DowU0A!314gdfE cWXkOS2j9uG)auNxAOHXW07*qoM6N<$f`iGFJOBUy diff --git a/apps/docs/docs/widgets/downloads/index.mdx b/apps/docs/docs/widgets/downloads/index.mdx index 9242a84eb..000fd066b 100644 --- a/apps/docs/docs/widgets/downloads/index.mdx +++ b/apps/docs/docs/widgets/downloads/index.mdx @@ -4,6 +4,7 @@ description: 'Allows you to view and manage your Downloads from both Torrent and hide_title: true --- +import { aria2Integration } from '@site/docs/integrations/aria2'; import { delugeIntegration } from '@site/docs/integrations/deluge'; import { nzbgetIntegration } from '@site/docs/integrations/nzbget'; import { qBittorentIntegration } from '@site/docs/integrations/q-bittorent'; @@ -14,9 +15,6 @@ import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; -import { IconAd } from "@tabler/icons-react"; -import TabItem from '@theme/TabItem'; -import Tabs from '@theme/Tabs'; import { downloadsWidget } from '.'; @@ -25,16 +23,37 @@ import { downloadsWidget } from '.'; categories={['Torrent client', 'Usenet client', 'Downloads']} /> -This widget displays a list of torrents or usenet-articles that are currently being downloaded, along with their progress and other relevant information. +This widget displays a list of torrents or usenet-articles that are currently being downloaded, along with their progress and other relevant information. It supports 7 download client integrations and provides a rich, responsive table interface. ### Screenshots import downloadsCard from './img/screenshot.png'; +import contextMenuImg from './img/context-menu.png';

    - downloads + Downloads widget showing torrent and usenet items
    +#### Right-click context menu + +
    + Downloads widget context menu with pause, delete, and copy actions +
    + +### Features + +- **Responsive table** — columns automatically adapt to widget width, hiding less important columns at smaller sizes +- **Sortable columns** — click any column header to sort ascending/descending +- **Column customization** — choose which columns to display via the widget options panel +- **Right-click context menu** — pause, resume, delete downloads, or copy download names directly from the context menu +- **Row expansion** — click any row to see full details inline without opening a separate modal +- **Hover tooltips** — hover a download name to see size, speeds, ETA, ratio, and category +- **Global stats bar** — toggle a summary bar showing queue progress, total size, speeds, ratio, and per-state counts +- **Client filtering** — filter downloads by integration or status using the footer filter panel +- **Global controls** — pause/resume all downloads across all clients from the footer bar +- **Status indicators** — color-coded badges show download state at a glance +- **Speed overview** — total download and upload speeds displayed in the footer + ### Supported Integrations ### Interactions -- Pause / Resume one download by clicking on the according icon. -- Delete one download by clicking on the trash icon. (Can also delete the files) -- Pause / Resume all downloads by using the bottom button. +- **Right-click** any download to open a context menu with pause/resume, delete, and copy actions +- **Click** any row to expand it and see full download details inline +- **Hover** a download name for a quick stats tooltip +- **Stats toggle** — show or hide the global stats bar from the footer +- **Pause / Resume** all downloads using the footer controls +- **Filter** by integration or status using the filter button in the footer +- **Sort** by clicking column headers (with persistent sort direction) ### Adding the widget diff --git a/apps/docs/docs/widgets/downloads/index.ts b/apps/docs/docs/widgets/downloads/index.ts index 4810aec89..4245af310 100644 --- a/apps/docs/docs/widgets/downloads/index.ts +++ b/apps/docs/docs/widgets/downloads/index.ts @@ -2,26 +2,23 @@ import { WidgetDefinition } from "@site/src/types"; import { IconDownload } from "@tabler/icons-react"; const columnsList = [ - "id", - "actions", - "added", - "category", - "downSpeed", - "index", - "integration", "name", "progress", + "size", + "downSpeed", + "upSpeed", + "time", + "state", + "added", "ratio", "received", "sent", - "size", - "state", - "time", + "category", + "integration", + "index", "type", - "upSpeed", ]; -const sortingExclusion = ["actions", "id", "state"]; -const columnsSort = columnsList.filter((column) => !sortingExclusion.some((exclusion) => exclusion === column)); +const sortColumns = columnsList.filter((c) => !["state", "category", "integration"].includes(c)); export const downloadsWidget: WidgetDefinition = { icon: IconDownload, @@ -32,25 +29,20 @@ export const downloadsWidget: WidgetDefinition = { items: [ { name: "Columns to show", - description: "Select the columns you want to display in the widget.", + description: + "Select the columns you want to display in the widget. Columns automatically hide/show based on widget width.", values: `List of columns: ${columnsList.join(", ")}`, - defaultValue: ["integration", "name", "progress", "time", "actions"].join(", "), + defaultValue: ["name", "progress", "downSpeed", "time", "state"].join(", "), }, { - name: "Enable items sorting", - description: "Enables the sorting in the table.", - values: { type: "boolean" }, - defaultValue: "no", - }, - { - name: "Column used for sorting by default", - description: "By default it will sort by this column.", - defaultValue: "type", - values: `List of columns: ${columnsSort.join(", ")}`, + name: "Default sort column", + description: "The column used for initial sorting when the widget loads.", + defaultValue: "progress", + values: `List of columns: ${sortColumns.join(", ")}`, }, { name: "Invert sorting", - description: "This will invert the sorting order of the table.", + description: "This will invert the default sorting order.", values: { type: "boolean" }, defaultValue: "no", }, @@ -76,13 +68,13 @@ export const downloadsWidget: WidgetDefinition = { name: "Hide completed torrent under this threshold (in kiB/s)", description: "This will hide completed torrent entries that have a download speed below the specified threshold.", - values: "Any number above 1, 0 to disable", + values: "Any number above 0, 0 to disable", defaultValue: "0", }, { - name: "Categories/names to filter", - description: "You can filter the items by categories or names. Use a comma to separate multiple values.", - values: "Comma-separated list of categories or names", + name: "Categories/labels to filter", + description: "You can filter the items by categories or labels. Use a comma to separate multiple values.", + values: "Comma-separated list of categories or labels", defaultValue: "-", }, { @@ -94,13 +86,13 @@ export const downloadsWidget: WidgetDefinition = { }, { name: "Use filter to calculate Ratio", - description: "This will use the filter to calculate the ratio of items shown in the widget.", + description: "This will use the category filter when calculating the global torrent ratio.", values: { type: "boolean" }, defaultValue: "yes", }, { name: "Limit items per integration", - description: "This will limit the number of items shown per integration, not globally", + description: "This will limit the number of items shown per integration, not globally.", values: "Any number above 1", defaultValue: "50", }, diff --git a/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts b/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts index edc071889..c08dd5848 100644 --- a/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts +++ b/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts @@ -30,7 +30,7 @@ export class QBitTorrentIntegration extends Integration implements IDownloadClie public async getClientJobsAndStatusAsync(input: { limit: number }): Promise { const type = "torrent"; const client = await this.getClientAsync(); - const torrents = await client.listTorrents({ limit: input.limit, sort: "progress", reverse: false }); + const torrents = await client.listTorrents({ limit: input.limit }); const rates = torrents.reduce( ({ down, up }, { dlspeed, upspeed }) => ({ down: down + dlspeed, up: up + upspeed }), { down: 0, up: 0 }, diff --git a/packages/old-import/src/widgets/options.ts b/packages/old-import/src/widgets/options.ts index 003696439..0cf84b493 100644 --- a/packages/old-import/src/widgets/options.ts +++ b/packages/old-import/src/widgets/options.ts @@ -77,15 +77,16 @@ const optionMapping: OptionMapping = { categoryFilter: (oldOptions) => ("labelFilter" in oldOptions ? oldOptions.labelFilter : undefined), filterIsWhitelist: (oldOptions) => "labelFilterIsWhitelist" in oldOptions ? oldOptions.labelFilterIsWhitelist : undefined, - enableRowSorting: (oldOptions) => ("rowSorting" in oldOptions ? oldOptions.rowSorting : undefined), showCompletedTorrent: (oldOptions) => "displayCompletedTorrents" in oldOptions ? oldOptions.displayCompletedTorrents : undefined, - columns: () => ["integration", "name", "progress", "time", "actions"], - defaultSort: () => "type", + columns: () => ["integration", "name", "progress", "time", "state"], + defaultSort: () => "progress", descendingDefaultSort: () => false, showCompletedUsenet: () => true, showCompletedHttp: () => true, limitPerIntegration: () => undefined, + columnOrder: () => undefined, + columnWidths: () => undefined, }, weather: { forecastDayCount: (oldOptions) => oldOptions.forecastDays, diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 681166967..388dc4186 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -3079,11 +3079,20 @@ "limitPerIntegration": { "label": "Limit items per integration", "description": "This will limit the number of items shown per integration, not globally" + }, + "columnOrder": { + "label": "Column order" + }, + "columnWidths": { + "label": "Column widths" } }, "errors": { "noColumns": "Select Columns in Items", - "noCommunications": "Can't load data from integration" + "noCommunications": "Can't load data from integration", + "noItems": "No downloads found", + "actionFailed": "Action failed", + "actionFailedMessage": "The action could not be completed. Please try again." }, "items": { "actions": { @@ -3106,7 +3115,8 @@ "detailsTitle": "Current index within client" }, "id": { - "columnTitle": "Id" + "columnTitle": "Id", + "detailsTitle": "Item ID" }, "integration": { "columnTitle": "Integration" @@ -3140,7 +3150,8 @@ }, "time": { "columnTitle": "Finish time", - "detailsTitle": "Time since/to completion" + "detailsTitle": "Time since/to completion", + "eta": "ETA" }, "type": { "columnTitle": "Type", @@ -3184,7 +3195,23 @@ } } }, - "globalRatio": "Global Ratio" + "globalRatio": "Global Ratio", + "contextMenu": { + "copyName": "Copy name", + "copyId": "Copy ID", + "clearFilters": "Clear filters" + }, + "footer": { + "filter": "Filter downloads" + }, + "stats": { + "show": "Show global stats", + "hide": "Hide global stats", + "overallProgress": "Overall queue progress", + "totalSize": "Total queue size", + "clients": "{count, plural, one {# client} other {# clients}}" + }, + "disconnected": "(disconnected)" }, "mediaReleases": { "name": "Media releases", diff --git a/packages/widgets/src/downloads/component.tsx b/packages/widgets/src/downloads/component.tsx index ff9b71664..e03c937bf 100644 --- a/packages/widgets/src/downloads/component.tsx +++ b/packages/widgets/src/downloads/component.tsx @@ -3,922 +3,1444 @@ import "../widgets-common.css"; import "./styles.css"; -import { useCallback, useMemo, useState } from "react"; -import type { MantineStyleProp } from "@mantine/core"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { ActionIcon, Avatar, - AvatarGroup, - Button, + Badge, + Box, Center, - Chip, Divider, Group, - Modal, - Paper, - Popover, + Menu, + Portal, Progress, - Space, + RingProgress, + SimpleGrid, Stack, Text, - Title, Tooltip, + UnstyledButton, } from "@mantine/core"; import { useDisclosure } from "@mantine/hooks"; import { - IconAlertTriangle, - IconCirclesRelation, + IconChevronDown, + IconChevronUp, + IconCopy, + IconDatabase, + IconDownload, IconFilter, - IconInfinity, + IconFilterOff, IconInfoCircle, IconPlayerPause, IconPlayerPlay, IconTrash, - IconX, + IconTrashX, + IconUpload, } from "@tabler/icons-react"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; -import type { MRT_ColumnDef, MRT_VisibilityState } from "mantine-react-table"; -import { MantineReactTable, useMantineReactTable } from "mantine-react-table"; +import type { DataTableColumn, DataTableSortStatus } from "mantine-datatable"; +import { DataTable, useDataTableColumns } from "mantine-datatable"; import { clientApi } from "@homarr/api/client"; import { useIntegrationsWithInteractAccess } from "@homarr/auth/client"; import { formatByteRate, formatBytes, useIntegrationConnected } from "@homarr/common"; import { getIconUrl, getIntegrationKindsByCategory } from "@homarr/definitions"; import type { ExtendedClientStatus, ExtendedDownloadClientItem } from "@homarr/integrations"; +import { showErrorNotification } from "@homarr/notifications"; import { useScopedI18n } from "@homarr/translation/client"; import type { WidgetComponentProps } from "../definition"; dayjs.extend(relativeTime); -interface QuickFilter { - integrationKinds: string[]; - statuses: ExtendedDownloadClientItem["state"][]; +type DownloadsT = ReturnType>; +type DownloadState = ExtendedDownloadClientItem["state"]; + +interface SizeConfig { + fontSize: "xs" | "sm"; + iconSize: number; + cellPadding: number; + showSpeedColumns: boolean; + showTimeColumn: boolean; + showStateColumn: boolean; } -//Ratio table for relative width between columns -const columnsRatios: Record = { - actions: 2, - added: 4, - category: 1, - downSpeed: 3, - id: 1, - index: 1, - integration: 1, - name: 16, - progress: 6, - ratio: 2, - received: 3, - sent: 3, - size: 3, - state: 3, - time: 4, - type: 2, - upSpeed: 3, +interface ContextMenuState { + x: number; + y: number; + item: ExtendedDownloadClientItem; +} + +interface ColumnContext { + optionsColumnSet: Set; + hasTorrents: boolean; + hasMultipleClients: boolean; + hasMultipleTypes: boolean; + size: SizeConfig; +} + +const SIZE_BREAKPOINTS: { maxWidth: number; config: SizeConfig }[] = [ + { + maxWidth: 300, + config: { + fontSize: "xs", + iconSize: 12, + cellPadding: 2, + showSpeedColumns: false, + showTimeColumn: false, + showStateColumn: false, + }, + }, + { + maxWidth: 500, + config: { + fontSize: "xs", + iconSize: 14, + cellPadding: 4, + showSpeedColumns: false, + showTimeColumn: true, + showStateColumn: false, + }, + }, +]; + +const DEFAULT_SIZE_CONFIG: SizeConfig = { + fontSize: "sm", + iconSize: 14, + cellPadding: 4, + showSpeedColumns: true, + showTimeColumn: true, + showStateColumn: true, }; +const stateColorMap: Record = { + downloading: "blue", + leeching: "blue", + seeding: "green", + completed: "green", + processing: "cyan", + queued: "gray", + paused: "yellow", + stalled: "orange", + failed: "red", + unknown: "gray", +}; + +const rowBgAlpha: Partial> = { + failed: "rgba(255, 0, 0, 0.04)", + paused: "rgba(255, 200, 0, 0.03)", +}; + +const columnVisibilityChecks: Partial boolean>> = { + upSpeed: (ctx) => ctx.hasTorrents && ctx.size.showSpeedColumns, + ratio: (ctx) => ctx.hasTorrents, + sent: (ctx) => ctx.hasTorrents, + integration: (ctx) => ctx.hasMultipleClients, + type: (ctx) => ctx.hasMultipleTypes, + downSpeed: (ctx) => ctx.size.showSpeedColumns, + time: (ctx) => ctx.size.showTimeColumn, + state: (ctx) => ctx.size.showStateColumn, +}; + +const speedColumnConfig = { + down: { Icon: IconDownload, color: "blue" as const }, + up: { Icon: IconUpload, color: "green" as const }, +} as const; + +function getSizeConfig(width: number): SizeConfig { + for (const { maxWidth, config } of SIZE_BREAKPOINTS) { + if (width < maxWidth) return config; + } + return DEFAULT_SIZE_CONFIG; +} + +function progressColor(state: DownloadState, progress: number): string { + if (state === "paused") return "yellow"; + if (progress >= 1) return "green"; + return "blue"; +} + +function parseJsonOption(value: string | undefined, fallback: T): T { + if (!value) return fallback; + try { + return JSON.parse(value) as T; + } catch { + return fallback; + } +} + +function toCategoryArray(category: string | string[]): string[] { + if (Array.isArray(category)) return category; + return [category]; +} + +function matchesCategoryFilter( + category: string | string[] | undefined, + categoryFilter: string[], + filterIsWhitelist: boolean, +): boolean { + if (categoryFilter.length === 0) return true; + const matches = categoryFilter.some((filter) => toCategoryArray(category ?? "").includes(filter)); + return filterIsWhitelist === matches; +} + +function formatCategoryDisplay(category: string | string[] | undefined): string | undefined { + if (!category) return undefined; + if (Array.isArray(category)) return category.join(", "); + return category; +} + +function formatRatio(ratio: number): string { + if (ratio >= 100) return ratio.toFixed(0); + if (ratio >= 10) return ratio.toFixed(1); + return ratio.toFixed(2); +} + +function showCompletedItem( + item: Pick, + options: WidgetComponentProps<"downloads">["options"], +): boolean { + if (item.progress < 1) return true; + if (item.type === "torrent") { + return options.showCompletedTorrent && (item.upSpeed ?? 0) >= Number(options.activeTorrentThreshold) * 1024; + } + if (item.type === "usenet") return options.showCompletedUsenet; + return options.showCompletedHttp; +} + +function shouldIncludeColumn(accessor: string, ctx: ColumnContext): boolean { + if (!ctx.optionsColumnSet.has(accessor)) return false; + const check = columnVisibilityChecks[accessor]; + if (check && !check(ctx)) return false; + return true; +} + +function toggleArrayItem(array: T[], value: T): T[] { + if (array.includes(value)) return array.filter((entry) => entry !== value); + return [...array, value]; +} + +function truncateText(text: string, maxLength: number): string { + if (text.length <= maxLength) return text; + return `${text.slice(0, maxLength)}…`; +} + +function getSortMultiplier(direction: DataTableSortStatus["direction"]): number { + if (direction === "desc") return -1; + return 1; +} + +function compareSortValues( + accessor: keyof ExtendedDownloadClientItem, + aVal: ExtendedDownloadClientItem[keyof ExtendedDownloadClientItem], + bVal: ExtendedDownloadClientItem[keyof ExtendedDownloadClientItem], + multiplier: number, +): number { + if (accessor === "time") { + let aTime = aVal as number; + let bTime = bVal as number; + if (aTime === 0) aTime = Infinity; + if (bTime === 0) bTime = Infinity; + return (aTime - bTime) * multiplier; + } + if (typeof aVal === "string" && typeof bVal === "string") return aVal.localeCompare(bVal) * multiplier; + if (typeof aVal === "number" && typeof bVal === "number") return (aVal - bVal) * multiplier; + return 0; +} + +function buildProgressTooltip(record: ExtendedDownloadClientItem): string { + const parts = [`${formatBytes(record.received)} / ${formatBytes(record.size)}`]; + if (record.downSpeed) parts.push(`↓ ${formatByteRate(record.downSpeed)}`); + if (record.time !== 0) parts.push(`ETA: ${dayjs().add(record.time, "milliseconds").fromNow(true)}`); + return parts.join(" · "); +} + +function SpeedCell({ + speed, + fontSize, + direction, +}: { + speed: number | undefined; + fontSize: SizeConfig["fontSize"]; + direction: keyof typeof speedColumnConfig; +}) { + if (!speed) return null; + const { Icon, color } = speedColumnConfig[direction]; + return ( + + + + {formatByteRate(speed)} + + + ); +} + export default function DownloadClientsWidget({ isEditMode, integrationIds, options, setOptions, + boardId, + itemId, + width, }: WidgetComponentProps<"downloads">) { - const integrationsWithInteractions = useIntegrationsWithInteractAccess().flatMap(({ id }) => - integrationIds.includes(id) ? [id] : [], + const allInteractAccess = useIntegrationsWithInteractAccess(); + const integrationInteractSet = useMemo( + () => new Set(allInteractAccess.filter(({ id }) => integrationIds.includes(id)).map(({ id }) => id)), + [allInteractAccess, integrationIds], ); - const { data: currentItems = [] } = clientApi.widget.downloads.getJobsAndStatuses.useQuery({ + const { + data: currentItems = [], + isFetching, + isError, + } = clientApi.widget.downloads.getJobsAndStatuses.useQuery({ integrationIds, limitPerIntegration: options.limitPerIntegration, }); const t = useScopedI18n("widget.downloads"); - const tCommon = useScopedI18n("common"); - //Item modal state and selection - const [clickedIndex, setClickedIndex] = useState(0); - const [opened, { open, close }] = useDisclosure(false); - - //User quick settings for filters - const [quickFilters, setQuickFilters] = useState({ integrationKinds: [], statuses: [] }); - const availableStatuses = useMemo(() => { - //Redefine list of available statuses from current items - const statuses = Array.from(new Set(currentItems.flatMap(({ data }) => data.items.map(({ state }) => state)))); - //Reset user filters accordingly to remove unavailable statuses - setQuickFilters(({ integrationKinds: names, statuses: prevStatuses }) => { - return { integrationKinds: names, statuses: prevStatuses.filter((status) => statuses.includes(status)) }; - }); - return statuses; - }, [currentItems]); + const [clientFilter, setClientFilter] = useState([]); + const [statusFilter, setStatusFilter] = useState([]); + const [contextMenu, setContextMenu] = useState(null); + const [showStats, { toggle: toggleStats }] = useDisclosure(false); const utils = clientApi.useUtils(); - const invalidateDownloads = { onSettled: () => void utils.widget.downloads.getJobsAndStatuses.invalidate() }; - const { mutate: mutateResumeItem } = clientApi.widget.downloads.resumeItem.useMutation(invalidateDownloads); - const { mutate: mutatePauseItem } = clientApi.widget.downloads.pauseItem.useMutation(invalidateDownloads); - const { mutate: mutateDeleteItem } = clientApi.widget.downloads.deleteItem.useMutation(invalidateDownloads); - - //Flatten Data array for which each element has its integration, data (base + calculated) and actions - const data = useMemo( - () => - currentItems - //Insure it is only using selected integrations - .filter(({ integration }) => integrationIds.includes(integration.id)) - //Construct normalized items list - .flatMap((pair) => - //Apply user white/black list - pair.data.items - .filter( - ({ category }) => - options.filterIsWhitelist === - options.categoryFilter.some((filter) => - (Array.isArray(category) ? category : [category]).includes(filter), - ), - ) - //Filter completed items following widget option - .filter( - ({ type, progress, upSpeed }) => - (type === "torrent" && - ((progress === 1 && - options.showCompletedTorrent && - (upSpeed ?? 0) >= Number(options.activeTorrentThreshold) * 1024) || - progress !== 1)) || - (type === "usenet" && ((progress === 1 && options.showCompletedUsenet) || progress !== 1)) || - (type === "miscellaneous" && ((progress === 1 && options.showCompletedHttp) || progress !== 1)), - ) - //Filter following user quick setting - .filter( - ({ state }) => - (quickFilters.integrationKinds.length === 0 || - quickFilters.integrationKinds.includes(pair.integration.name)) && - (quickFilters.statuses.length === 0 || quickFilters.statuses.includes(state)), - ) - //Add extrapolated data and actions if user is allowed interaction - .map((item): ExtendedDownloadClientItem => { - const received = item.received ?? Math.floor(item.size * item.progress); - const integrationIds = [pair.integration.id]; - return { - integration: pair.integration, - ...item, - category: item.category !== undefined && item.category.length > 0 ? item.category : undefined, - received, - ratio: item.sent !== undefined ? item.sent / item.size : undefined, - //Only add if permission to use mutations - actions: integrationsWithInteractions.includes(pair.integration.id) - ? { - resume: () => mutateResumeItem({ integrationIds, item }), - pause: () => mutatePauseItem({ integrationIds, item }), - delete: ({ fromDisk }) => mutateDeleteItem({ integrationIds, item, fromDisk }), - } - : undefined, - }; - }), - ) - //flatMap already sorts by integration by nature, add sorting by integration type (usenet | torrent) - .sort(({ type: typeA }, { type: typeB }) => typeA.length - typeB.length), - [ - currentItems, - integrationIds, - integrationsWithInteractions, - mutateDeleteItem, - mutatePauseItem, - mutateResumeItem, - options.activeTorrentThreshold, - options.categoryFilter, - options.filterIsWhitelist, - options.showCompletedTorrent, - options.showCompletedUsenet, - options.showCompletedHttp, - quickFilters, - ], - ); - - //Flatten Clients Array for which each elements has the integration and general client infos. - const clients = useMemo( - () => - currentItems - .filter(({ integration }) => integrationIds.includes(integration.id)) - .flatMap(({ integration, data }): ExtendedClientStatus => { - const interact = integrationsWithInteractions.includes(integration.id); - const isTorrent = getIntegrationKindsByCategory("torrent").some((kind) => kind === integration.kind); - /** Derived from current items */ - const { totalUp, totalDown } = data.items - .filter( - ({ category }) => - !options.applyFilterToRatio || - !data.status.types.includes("torrent") || - options.filterIsWhitelist === - options.categoryFilter.some((filter) => - (Array.isArray(category) ? category : [category]).includes(filter), - ), - ) - .reduce( - ({ totalUp, totalDown }, { sent, size, progress }) => ({ - totalUp: isTorrent ? (totalUp ?? 0) + (sent ?? 0) : undefined, - totalDown: totalDown + size * progress, - }), - { totalDown: 0, totalUp: isTorrent ? 0 : undefined }, - ); - return { - integration, - interact, - status: { - totalUp, - totalDown, - ratio: totalUp === undefined ? undefined : totalUp / totalDown, - ...data.status, - }, - }; - }) - .sort( - ({ status: statusA }, { status: statusB }) => - (statusA?.types.length ?? Infinity) - (statusB?.types.length ?? Infinity), - ), - [ - currentItems, - integrationIds, - integrationsWithInteractions, - options.applyFilterToRatio, - options.categoryFilter, - options.filterIsWhitelist, - ], - ); - - //Check existing types between torrents and usenet - const integrationTypes: ExtendedDownloadClientItem["type"][] = []; - - if (data.some(({ type }) => type === "torrent")) integrationTypes.push("torrent"); - if (data.some(({ type }) => type === "usenet")) integrationTypes.push("usenet"); - if (data.some(({ type }) => type === "miscellaneous")) integrationTypes.push("miscellaneous"); - - //Set the visibility of columns depending on widget settings and available data/integrations. - const columnVisibility: MRT_VisibilityState = { - id: options.columns.includes("id"), - actions: options.columns.includes("actions") && integrationsWithInteractions.length > 0, - added: options.columns.includes("added"), - category: options.columns.includes("category"), - downSpeed: options.columns.includes("downSpeed"), - index: options.columns.includes("index"), - integration: options.columns.includes("integration") && clients.length > 1, - name: options.columns.includes("name"), - progress: options.columns.includes("progress"), - ratio: options.columns.includes("ratio") && integrationTypes.includes("torrent"), - received: options.columns.includes("received"), - sent: options.columns.includes("sent") && integrationTypes.includes("torrent"), - size: options.columns.includes("size"), - state: options.columns.includes("state"), - time: options.columns.includes("time"), - type: options.columns.includes("type") && integrationTypes.length > 1, - upSpeed: options.columns.includes("upSpeed") && integrationTypes.includes("torrent"), - } satisfies Record; - - //Default styling behavior for stopping interaction when editing. (Applied everywhere except the table header) - const editStyle: MantineStyleProp = { - pointerEvents: isEditMode ? "none" : undefined, + const mutationOptions = { + onSettled: () => void utils.widget.downloads.getJobsAndStatuses.invalidate(), + onError: () => showErrorNotification({ title: t("errors.actionFailed"), message: t("errors.actionFailedMessage") }), }; + const { mutate: mutateResumeItem } = clientApi.widget.downloads.resumeItem.useMutation(mutationOptions); + const { mutate: mutatePauseItem } = clientApi.widget.downloads.pauseItem.useMutation(mutationOptions); + const { mutate: mutateDeleteItem } = clientApi.widget.downloads.deleteItem.useMutation(mutationOptions); + const { mutate: mutateResumeQueue } = clientApi.widget.downloads.resume.useMutation(mutationOptions); + const { mutate: mutatePauseQueue } = clientApi.widget.downloads.pause.useMutation(mutationOptions); - //Base element in common with all columns - const columnsDefBase = useCallback( - ({ - key, - showHeader, - }: { - key: keyof ExtendedDownloadClientItem; - showHeader: boolean; - }): MRT_ColumnDef => { - return { - id: key, - accessorKey: key, - header: key, - size: columnsRatios[key], - Header: () => - showHeader ? ( - - {t(`items.${key}.columnTitle`)} - - ) : null, - }; - }, - [t], - ); - - //Make columns and cell elements, Memoized to data with deps on data and EditMode - const columns = useMemo[]>( - () => [ - { - ...columnsDefBase({ key: "actions", showHeader: false }), - enableSorting: false, - Cell: ({ cell, row }) => { - const actions = cell.getValue(); - const pausedAction = row.original.state === "paused" ? "resume" : "pause"; - const [opened, { open, close }] = useDisclosure(false); - - return actions ? ( - - - - {pausedAction === "resume" ? : } - - - - - - - - - - - - - - - - ) : ( - - - - ); - }, - }, - { - ...columnsDefBase({ key: "added", showHeader: true }), - sortUndefined: "last", - Cell: ({ cell }) => { - const added = cell.getValue(); - return {added !== undefined ? dayjs(added).fromNow() : "unknown"}; - }, - }, - { - ...columnsDefBase({ key: "category", showHeader: false }), - sortUndefined: "last", - Cell: ({ cell }) => { - const category = cell.getValue(); - return ( - category !== undefined && ( - - - - ) - ); - }, - }, - { - ...columnsDefBase({ key: "downSpeed", showHeader: true }), - sortUndefined: "last", - Cell: ({ cell }) => { - const downSpeed = cell.getValue(); - return downSpeed ? {formatByteRate(downSpeed)} : null; - }, - }, - { - ...columnsDefBase({ key: "id", showHeader: false }), - enableSorting: false, - Cell: ({ cell }) => { - const id = cell.getValue(); - return ( - - - - ); - }, - }, - { - ...columnsDefBase({ key: "index", showHeader: true }), - Cell: ({ cell }) => { - const index = cell.getValue(); - return {index}; - }, - }, - { - ...columnsDefBase({ key: "integration", showHeader: false }), - Cell: ({ cell }) => { - const integration = cell.getValue(); - return ( - - - - ); - }, - }, - { - ...columnsDefBase({ key: "name", showHeader: true }), - Cell: ({ cell }) => { - const name = cell.getValue(); - return ( - - {name} - - ); - }, - }, - { - ...columnsDefBase({ key: "progress", showHeader: true }), - Cell: ({ cell, row }) => { - const progress = cell.getValue(); - return ( - - - {new Intl.NumberFormat("en", { - style: "percent", - notation: "compact", - unitDisplay: "narrow", - roundingMode: "floor", - }).format(progress)} - - - - ); - }, - }, - { - ...columnsDefBase({ key: "ratio", showHeader: true }), - sortUndefined: "last", - Cell: ({ cell }) => { - const ratio = cell.getValue(); - return ratio !== undefined && {ratio.toFixed(ratio >= 100 ? 0 : ratio >= 10 ? 1 : 2)}; - }, - }, - { - ...columnsDefBase({ key: "received", showHeader: true }), - Cell: ({ cell }) => { - const received = cell.getValue(); - return {formatBytes(received)}; - }, - }, - { - ...columnsDefBase({ key: "sent", showHeader: true }), - sortUndefined: "last", - Cell: ({ cell }) => { - const sent = cell.getValue(); - return sent && {formatBytes(sent)}; - }, - }, - { - ...columnsDefBase({ key: "size", showHeader: true }), - Cell: ({ cell }) => { - const size = cell.getValue(); - return {formatBytes(size)}; - }, - }, - { - ...columnsDefBase({ key: "state", showHeader: true }), - enableSorting: false, - Cell: ({ cell }) => { - const state = cell.getValue(); - return {t(`states.${state}`)}; - }, - }, - { - ...columnsDefBase({ key: "time", showHeader: true }), - sortingFn: (rowA, rowB) => { - const timeA = rowA.getValue("time"); - const timeB = rowB.getValue("time"); - // Map time values to canonical sort keys: - // positive = ETA in ms (sort as-is, smaller = sooner) - // 0 = stalled/infinite (sort last in ascending = Infinity) - // negative = time since completion in ms (sort first in ascending = very negative) - const toSortKey = (time: number) => (time === 0 ? Infinity : time); - return toSortKey(timeA) - toSortKey(timeB); - }, - Cell: ({ cell }) => { - const time = cell.getValue(); - return time === 0 ? : {dayjs().add(time).fromNow()}; - }, - }, - { - ...columnsDefBase({ key: "type", showHeader: true }), - Cell: ({ cell }) => { - const type = cell.getValue(); - return {type}; - }, - }, - { - ...columnsDefBase({ key: "upSpeed", showHeader: true }), - sortUndefined: "last", - Cell: ({ cell }) => { - const upSpeed = cell.getValue(); - return upSpeed && {formatByteRate(upSpeed)}; - }, - }, - ], - [columnsDefBase, t, tCommon], - ); - - //Table build and config - const table = useMantineReactTable({ - columns, - data, - enablePagination: false, - enableTopToolbar: false, - enableBottomToolbar: false, - enableColumnActions: false, - enableSorting: options.enableRowSorting && !isEditMode, - enableMultiSort: true, - enableStickyHeader: false, - enableColumnOrdering: isEditMode, - enableRowVirtualization: true, - rowVirtualizerOptions: { overscan: 5 }, - mantinePaperProps: { flex: 1, withBorder: false, shadow: undefined, bg: "transparent" }, - mantineTableContainerProps: { style: { height: "100%" } }, - mantineTableProps: { - className: "downloads-widget-table", - }, - mantineTableBodyProps: { style: editStyle }, - mantineTableHeadCellProps: { - p: 4, - }, - mantineTableBodyCellProps: ({ cell, row }) => ({ - onClick: () => { - setClickedIndex(row.index); - if (cell.column.id !== "actions") open(); - }, - p: 4, - }), - onColumnOrderChange: (order) => { - //Order has a tendency to add the disabled column at the end of the the real ordered array - const columnOrder = (order as typeof options.columns).filter((column) => options.columns.includes(column)); - setOptions({ newOptions: { columns: columnOrder } }); - }, - initialState: { - sorting: [{ id: options.defaultSort, desc: options.descendingDefaultSort }], - columnVisibility: { - actions: false, - added: false, - category: false, - downSpeed: false, - id: false, - index: false, - integration: false, - name: false, - progress: false, - ratio: false, - received: false, - sent: false, - size: false, - state: false, - time: false, - type: false, - upSpeed: false, - } satisfies Record, - columnOrder: options.columns, - }, - state: { - columnVisibility, - columnOrder: options.columns, - }, + const { mutate: saveItemOptions } = clientApi.widget.options.saveItemOptions.useMutation({ + onError: () => showErrorNotification({ title: t("errors.actionFailed"), message: t("errors.actionFailedMessage") }), }); + const persistOption = useCallback( + (newOptions: Partial>) => { + setOptions({ newOptions }); + if (boardId && itemId) saveItemOptions({ boardId, itemId, newOptions }); + }, + [setOptions, boardId, itemId, saveItemOptions], + ); - //Used for Global Torrent Ratio - const globalTraffic = clients - .filter(({ integration: { kind } }) => - getIntegrationKindsByCategory("torrent").some((integrationKind) => integrationKind === kind), - ) - .reduce( - ({ up, down }, { status }) => ({ - up: up + (status?.totalUp ?? 0), - down: down + (status?.totalDown ?? 0), - }), - { up: 0, down: 0 }, - ); + const savedOrder = useMemo(() => parseJsonOption(options.columnOrder, [] as string[]), [options.columnOrder]); + const savedWidths = useMemo( + () => parseJsonOption(options.columnWidths, {} as Record), + [options.columnWidths], + ); - if (options.columns.length === 0) + let defaultSortDirection: DataTableSortStatus["direction"] = "asc"; + if (options.descendingDefaultSort) defaultSortDirection = "desc"; + const [sortStatus, setSortStatus] = useState>({ + columnAccessor: options.defaultSort, + direction: defaultSortDirection, + }); + useEffect(() => { + setSortStatus({ columnAccessor: options.defaultSort, direction: defaultSortDirection }); + }, [options.defaultSort, defaultSortDirection]); + + const data = useMemo(() => { + return currentItems + .filter(({ integration }) => integrationIds.includes(integration.id)) + .flatMap((pair) => + pair.data.items + .filter(({ category }) => matchesCategoryFilter(category, options.categoryFilter, options.filterIsWhitelist)) + .filter((item) => showCompletedItem(item, options)) + .filter( + ({ state }) => + (clientFilter.length === 0 || clientFilter.includes(pair.integration.id)) && + (statusFilter.length === 0 || statusFilter.includes(state)), + ) + .map((item): ExtendedDownloadClientItem => { + const received = item.received ?? Math.floor(item.size * item.progress); + const ids = [pair.integration.id]; + let category: string | string[] | undefined = item.category; + if (category !== undefined && category.length === 0) category = undefined; + + let ratio: number | undefined; + if (item.sent !== undefined && item.size > 0) ratio = item.sent / item.size; + + let actions: ExtendedDownloadClientItem["actions"]; + if (integrationInteractSet.has(pair.integration.id)) { + actions = { + resume: () => mutateResumeItem({ integrationIds: ids, item }), + pause: () => mutatePauseItem({ integrationIds: ids, item }), + delete: ({ fromDisk }) => mutateDeleteItem({ integrationIds: ids, item, fromDisk }), + }; + } + + return { integration: pair.integration, ...item, category, received, ratio, actions }; + }), + ); + }, [ + currentItems, + integrationIds, + integrationInteractSet, + mutateDeleteItem, + mutatePauseItem, + mutateResumeItem, + options, + clientFilter, + statusFilter, + ]); + + const sortedData = useMemo(() => { + const accessor = sortStatus.columnAccessor as keyof ExtendedDownloadClientItem; + const multiplier = getSortMultiplier(sortStatus.direction); + return [...data].toSorted((a, b) => { + const aVal = a[accessor] ?? 0; + const bVal = b[accessor] ?? 0; + return compareSortValues(accessor, aVal, bVal, multiplier); + }); + }, [data, sortStatus]); + + const clients = useMemo(() => { + return currentItems + .filter(({ integration }) => integrationIds.includes(integration.id)) + .map(({ integration, data: clientData }): ExtendedClientStatus => { + const interact = integrationInteractSet.has(integration.id); + const isTorrent = getIntegrationKindsByCategory("torrent").some((kind) => kind === integration.kind); + const applyRatioFilter = options.applyFilterToRatio && clientData.status.types.includes("torrent"); + + let initialTotalUp: number | undefined; + if (isTorrent) initialTotalUp = 0; + + const { totalUp, totalDown } = clientData.items + .filter(({ category }) => { + if (!applyRatioFilter) return true; + return matchesCategoryFilter(category, options.categoryFilter, options.filterIsWhitelist); + }) + .reduce( + (acc, { sent, size, progress }) => { + let nextTotalUp: number | undefined; + if (isTorrent) nextTotalUp = (acc.totalUp ?? 0) + (sent ?? 0); + return { + totalUp: nextTotalUp, + totalDown: acc.totalDown + size * progress, + }; + }, + { totalDown: 0, totalUp: initialTotalUp }, + ); + + let ratio: number | undefined; + if (totalUp !== undefined && totalDown !== 0) ratio = totalUp / totalDown; + + return { + integration, + interact, + status: { totalUp, totalDown, ratio, ...clientData.status }, + }; + }); + }, [ + currentItems, + integrationIds, + integrationInteractSet, + options.applyFilterToRatio, + options.categoryFilter, + options.filterIsWhitelist, + ]); + + const hasTorrents = data.some(({ type }) => type === "torrent"); + const hasMultipleClients = clients.length > 1; + const hasMultipleTypes = new Set(data.map(({ type }) => type)).size > 1; + + const size = useMemo(() => getSizeConfig(width), [width]); + const optionsColumnSet = useMemo(() => new Set(options.columns), [options.columns]); + const columnContext = useMemo( + () => ({ optionsColumnSet, hasTorrents, hasMultipleClients, hasMultipleTypes, size }), + [optionsColumnSet, hasTorrents, hasMultipleClients, hasMultipleTypes, size], + ); + + let progressColumnWidth = 120; + if (width < 400) progressColumnWidth = 80; + + const columns = useMemo((): DataTableColumn[] => { + const includeColumn = (accessor: string) => shouldIncludeColumn(accessor, columnContext); + const cols: (DataTableColumn | false)[] = [ + includeColumn("integration") && { + accessor: "integration", + title: "", + width: 36, + render: (record) => ( + + + + ), + }, + includeColumn("name") && { + accessor: "name", + title: t("items.name.columnTitle"), + sortable: true, + ellipsis: true, + render: (record) => ( + + + + + {record.name} + + + + ), + }, + includeColumn("progress") && { + accessor: "progress", + title: t("items.progress.columnTitle"), + sortable: true, + width: progressColumnWidth, + render: (record) => { + const pct = Math.floor(record.progress * 100); + return ( + + + + {`${pct}%`} + + + + + ); + }, + }, + includeColumn("size") && { + accessor: "size", + title: t("items.size.columnTitle"), + sortable: true, + width: 80, + noWrap: true, + render: (record) => {formatBytes(record.size)}, + }, + includeColumn("downSpeed") && { + accessor: "downSpeed", + title: t("items.downSpeed.columnTitle"), + sortable: true, + width: 90, + noWrap: true, + render: (record) => , + }, + includeColumn("upSpeed") && { + accessor: "upSpeed", + title: t("items.upSpeed.columnTitle"), + sortable: true, + width: 90, + noWrap: true, + render: (record) => , + }, + includeColumn("time") && { + accessor: "time", + title: t("items.time.columnTitle"), + sortable: true, + width: 100, + noWrap: true, + render: (record) => { + if (record.time === 0) + return ( + + ∞ + + ); + return {dayjs().add(record.time, "milliseconds").fromNow(true)}; + }, + }, + includeColumn("state") && { + accessor: "state", + title: t("items.state.columnTitle"), + width: 90, + render: (record) => ( + + {t(`states.${record.state}`)} + + ), + }, + includeColumn("added") && { + accessor: "added", + title: t("items.added.columnTitle"), + sortable: true, + width: 90, + noWrap: true, + render: (record) => { + if (!record.added) return —; + return {dayjs(record.added).fromNow()}; + }, + }, + includeColumn("ratio") && { + accessor: "ratio", + title: t("items.ratio.columnTitle"), + sortable: true, + width: 60, + render: (record) => { + if (record.ratio === undefined) return null; + return {formatRatio(record.ratio)}; + }, + }, + includeColumn("received") && { + accessor: "received", + title: t("items.received.columnTitle"), + sortable: true, + width: 80, + noWrap: true, + render: (record) => {formatBytes(record.received)}, + }, + includeColumn("sent") && { + accessor: "sent", + title: t("items.sent.columnTitle"), + sortable: true, + width: 80, + noWrap: true, + render: (record) => { + if (!record.sent) return null; + return {formatBytes(record.sent)}; + }, + }, + includeColumn("category") && { + accessor: "category", + title: t("items.category.columnTitle"), + width: 80, + ellipsis: true, + render: (record) => { + const display = formatCategoryDisplay(record.category); + if (!display) return null; + return ( + + {display} + + ); + }, + }, + includeColumn("index") && { + accessor: "index", + title: t("items.index.columnTitle"), + sortable: true, + width: 40, + render: (record) => {record.index}, + }, + includeColumn("type") && { + accessor: "type", + title: t("items.type.columnTitle"), + sortable: true, + width: 70, + render: (record) => ( + + {record.type} + + ), + }, + ]; + return cols.filter(Boolean) as DataTableColumn[]; + }, [columnContext, t, size, progressColumnWidth]); + + const storeKey = `downloads-${itemId ?? "preview"}-${[...options.columns].toSorted().join(",")}`; + const { effectiveColumns, columnsOrder, columnsWidth, setColumnsOrder, setMultipleColumnWidths } = + useDataTableColumns({ + key: storeKey, + columns, + }); + + const lastStoreKey = useRef(storeKey); + const hydrated = useRef(false); + useEffect(() => { + if (lastStoreKey.current !== storeKey) { + lastStoreKey.current = storeKey; + hydrated.current = false; + } + if (hydrated.current) return; + if (savedOrder.length > 0) setColumnsOrder(savedOrder); + if (Object.keys(savedWidths).length > 0) { + setMultipleColumnWidths(Object.entries(savedWidths).map(([accessor, w]) => ({ accessor, width: w }))); + } + // ponytail: defer hydrated flag so the persist effect skips the restore echo + requestAnimationFrame(() => { + hydrated.current = true; + }); + }, [storeKey, savedOrder, savedWidths, setColumnsOrder, setMultipleColumnWidths]); + + const prevOrder = useRef(columnsOrder); + const prevWidths = useRef(columnsWidth); + useEffect(() => { + if (!hydrated.current) return; + const orderChanged = JSON.stringify(columnsOrder) !== JSON.stringify(prevOrder.current); + const widthsChanged = JSON.stringify(columnsWidth) !== JSON.stringify(prevWidths.current); + prevOrder.current = columnsOrder; + prevWidths.current = columnsWidth; + + if (!orderChanged && !widthsChanged) return; + if (orderChanged) persistOption({ columnOrder: JSON.stringify(columnsOrder) }); + if (widthsChanged) { + const widthMap: Record = {}; + for (const entry of columnsWidth) { + const key = Object.keys(entry)[0]; + if (!key) continue; + const w = entry[key as keyof typeof entry]; + if (typeof w === "number") widthMap[key] = w; + else if (typeof w === "string" && w.endsWith("px")) widthMap[key] = parseInt(w, 10); + } + persistOption({ columnWidths: JSON.stringify(widthMap) }); + } + }, [columnsOrder, columnsWidth, persistOption]); + + const handleContextMenu = useCallback( + ({ record, event }: { record: ExtendedDownloadClientItem; event: React.MouseEvent }) => { + event.preventDefault(); + setContextMenu({ x: event.clientX, y: event.clientY, item: record }); + }, + [], + ); + + const closeContextMenu = useCallback(() => setContextMenu(null), []); + + const totalSpeed = clients.reduce((sum, c) => sum + (c.status?.rates.down ?? 0), 0); + const totalUpSpeed = clients.reduce((sum, c) => sum + (c.status?.rates.up ?? 0), 0); + const globalRatio = useMemo(() => { + const traffic = clients + .filter(({ integration: { kind } }) => getIntegrationKindsByCategory("torrent").some((k) => k === kind)) + .reduce( + ({ up, down }, { status }) => ({ up: up + (status?.totalUp ?? 0), down: down + (status?.totalDown ?? 0) }), + { up: 0, down: 0 }, + ); + if (traffic.down <= 0) return 0; + return traffic.up / traffic.down; + }, [clients]); + + const availableStatuses = useMemo(() => [...new Set(data.map(({ state }) => state))], [data]); + + const queueStats = useMemo(() => { + const stateCounts: Record = {}; + let totalSize = 0; + let completedSize = 0; + for (const item of data) { + stateCounts[item.state] = (stateCounts[item.state] ?? 0) + 1; + totalSize += item.size; + completedSize += item.received ?? item.size * item.progress; + } + return { stateCounts, totalSize, completedSize, totalItems: data.length }; + }, [data]); + + if (options.columns.length === 0) { return (
    {t("errors.noColumns")}
    ); + } + + if (isError && currentItems.length === 0) { + return ( +
    + {t("errors.noCommunications")} +
    + ); + } + + let tablePointerEvents: React.CSSProperties["pointerEvents"]; + if (isEditMode) tablePointerEvents = "none"; + + let rowContextMenuHandler: typeof handleContextMenu | undefined = handleContextMenu; + if (isEditMode) rowContextMenuHandler = undefined; - //The actual widget return ( - - - - {integrationTypes.includes("torrent") && ( - - {`${t("globalRatio")}:`} - {(globalTraffic.up / globalTraffic.down).toFixed(2)} - - )} - + {showStats && ( + - - + )} + + + `${record.integration.id}:${record.id}`} + height="100%" + className="downloads-table" + defaultColumnProps={{ + noWrap: true, + draggable: true, + resizable: true, + cellsStyle: () => ({ padding: `${size.cellPadding}px 8px` }), + }} + scrollAreaProps={{ type: "auto", scrollbarSize: 6 }} + customRowAttributes={(_, index) => ({ "data-row-index": index })} + onRowContextMenu={rowContextMenuHandler} + rowBackgroundColor={(record) => rowBgAlpha[record.state]} + rowExpansion={{ + trigger: "click", + allowMultiple: true, + collapseProps: { + transitionDuration: 200, + animateOpacity: true, + transitionTimingFunction: "ease-out", + }, + content: ({ record, collapse }) => , + }} + onScroll={() => { + if (contextMenu) closeContextMenu(); + }} + /> + + + + + {contextMenu && } ); } -interface ItemInfoModalProps { - items: ExtendedDownloadClientItem[]; - currentIndex: number; - opened: boolean; - onClose: () => void; +function buildHoverTooltip(record: ExtendedDownloadClientItem, t: DownloadsT): React.ReactNode { + const lines: { label: string; value: string }[] = [ + { label: t("items.size.detailsTitle"), value: `${formatBytes(record.received)} / ${formatBytes(record.size)}` }, + { label: t("items.state.detailsTitle"), value: t(`states.${record.state}`) }, + ]; + + if (record.downSpeed) { + lines.push({ label: t("items.downSpeed.detailsTitle"), value: formatByteRate(record.downSpeed) }); + } + if (record.upSpeed) { + lines.push({ label: t("items.upSpeed.detailsTitle"), value: formatByteRate(record.upSpeed) }); + } + if (record.time !== 0) { + lines.push({ label: t("items.time.eta"), value: dayjs().add(record.time, "milliseconds").fromNow() }); + } + if (record.ratio !== undefined) { + lines.push({ label: t("items.ratio.detailsTitle"), value: record.ratio.toFixed(2) }); + } + const categoryDisplay = formatCategoryDisplay(record.category); + if (categoryDisplay) { + lines.push({ label: t("items.category.detailsTitle"), value: categoryDisplay }); + } + + return ( + + + {record.name} + + + {lines.map(({ label, value }) => ( + + + {label} + + + {value} + + + ))} + + ); } -const ItemInfoModal = ({ items, currentIndex, opened, onClose }: ItemInfoModalProps) => { - const item = useMemo(() => items[currentIndex], [items, currentIndex]); - const t = useScopedI18n("widget.downloads.states"); - //The use case for "No item found" should be impossible, hence no translation +function ExpandedRow({ item, collapse }: { item: ExtendedDownloadClientItem; collapse: () => void }) { + const t = useScopedI18n("widget.downloads"); + const progressPercent = Math.floor(item.progress * 100); + const categoryDisplay = formatCategoryDisplay(item.category); + + let timeDisplay = "∞"; + if (item.time !== 0) timeDisplay = dayjs().add(item.time, "milliseconds").fromNow(); + return ( - - {item === undefined ? ( -
    {"No item found"}
    - ) : ( - - {item.name} - - - {`${item.integration.name} (${item.integration.kind})`} + + + {`${progressPercent}%`}} + /> + + + + + + {item.name} + + + {t(`states.${item.state}`)} + - - - - {item.type !== "miscellaneous" && ( - + - )} - - - - {item.type !== "miscellaneous" && ( - - )} - - - - - {item.type !== "miscellaneous" && } - - - + {item.downSpeed !== undefined && item.downSpeed > 0 && ( + } + color="blue" + /> + )} + {item.upSpeed !== undefined && item.upSpeed > 0 && ( + } + color="green" + /> + )} + {item.ratio !== undefined && ( + + )} + + {item.sent !== undefined && ( + + )} + {item.added !== undefined && ( + + )} + {categoryDisplay && } + + - )} -
    + + ); -}; +} -const NormalizedLine = ({ - itemKey, - values, +function DetailPair({ + label, + value, + icon, + color, }: { - itemKey: Exclude; - values?: number | string | string[]; -}) => { - const t = useScopedI18n("widget.downloads.items"); - if (typeof values !== "number" && (values === undefined || values.length === 0)) return null; + label: string; + value: string; + icon?: React.ReactNode; + color?: string; +}) { return ( - - {`${t(`${itemKey}.detailsTitle`)}:`} - {Array.isArray(values) ? ( - - {values.map((value) => ( - {value} - ))} - - ) : ( - {values} - )} + + + {label}: + + + {icon} + + {value} + + ); -}; - -interface ClientsControlProps { - clients: ExtendedClientStatus[]; - filters: QuickFilter; - setFilters: (filters: QuickFilter) => void; - availableStatuses: QuickFilter["statuses"]; } -const ClientsControl = ({ clients, filters, setFilters, availableStatuses }: ClientsControlProps) => { - const integrationsStatuses = clients.reduce( - (acc, { status, integration: { id }, interact }) => - status && interact ? (acc[status.paused ? "paused" : "active"].push(id), acc) : acc, - { paused: [] as string[], active: [] as string[] }, - ); - const someInteract = clients.some(({ interact }) => interact); - const totalSpeed = formatByteRate(clients.reduce((count, { status }) => count + (status?.rates.down ?? 0), 0)); - - const utils = clientApi.useUtils(); - const invalidateDownloads = { onSettled: () => void utils.widget.downloads.getJobsAndStatuses.invalidate() }; - const { mutate: mutateResumeQueue } = clientApi.widget.downloads.resume.useMutation(invalidateDownloads); - const { mutate: mutatePauseQueue } = clientApi.widget.downloads.pause.useMutation(invalidateDownloads); - const [opened, { open, close }] = useDisclosure(false); +function GlobalStatsBar({ + queueStats, + totalSpeed, + totalUpSpeed, + globalRatio, + hasTorrents, + clients, +}: { + queueStats: { stateCounts: Record; totalSize: number; completedSize: number; totalItems: number }; + totalSpeed: number; + totalUpSpeed: number; + globalRatio: number; + hasTorrents: boolean; + clients: ExtendedClientStatus[]; +}) { const t = useScopedI18n("widget.downloads"); + + let overallProgress = 0; + if (queueStats.totalSize > 0) overallProgress = queueStats.completedSize / queueStats.totalSize; + const overallProgressPct = Math.floor(overallProgress * 100); + return ( - - - - - - - - - - {t("items.integration.columnTitle")} - setFilters({ ...filters, integrationKinds: names })} - > - {clients.map(({ integration }) => ( - - {integration.name} - - ))} - - {t("items.state.columnTitle")} - setFilters({ ...filters, statuses: statuses })} - > - {availableStatuses.map((status) => ( - - {t(`states.${status}`)} - - ))} - - - - - - {clients.map((client) => ( - - ))} - - {someInteract && ( - - mutateResumeQueue({ integrationIds: integrationsStatuses.paused })} - > - - - - )} - - {someInteract && ( - - mutatePauseQueue({ integrationIds: integrationsStatuses.active })} - > - - - - )} - - - {clients.map((client) => ( - - - - - - - {client.status ? ( - - - {client.status.rates.up !== undefined ? ( - - - {`↑ ${formatByteRate(client.status.rates.up)}`} - - {"-"} - - {formatBytes(client.status.totalUp ?? 0)} - - - ) : undefined} - - - {`↓ ${formatByteRate(client.status.rates.down)}`} - - {"-"} - - {formatBytes(Math.floor(client.status.totalDown ?? 0))} - - - - - ) : ( - - {t("errors.noCommunications")} - - )} - - - - {client.integration.name} - - - {client.status && client.interact ? ( - - + + + + + {truncateText(item.name, 40)} + + } + onClick={() => { + void navigator.clipboard.writeText(item.name).catch(() => {}); + onClose(); + }} + > + {t("contextMenu.copyName")} + + + {item.id && ( + } + onClick={() => { + void navigator.clipboard.writeText(item.id).catch(() => {}); + onClose(); + }} + > + {t("contextMenu.copyId")} + + )} + + {hasActions && ( + <> + + } + onClick={() => { + pauseResumeInvoke?.(); + onClose(); + }} + > + {pauseResumeLabel} + + + {!showDeleteConfirm && ( + } + onClick={(e) => { + e.stopPropagation(); + openDelete(); + }} + > + {t("actions.item.delete.title")} + + )} + + {showDeleteConfirm && ( + <> + } onClick={() => { - (client.status?.paused ? mutateResumeQueue : mutatePauseQueue)({ - integrationIds: [client.integration.id], - }); + item.actions?.delete({ fromDisk: false }); + onClose(); }} > - {client.status.paused ? : } - - - ) : ( - - - + {t("actions.item.delete.entry")} + + } + onClick={() => { + item.actions?.delete({ fromDisk: true }); + onClose(); + }} + > + {t("actions.item.delete.entryAndFiles")} + + )} - - - ))} - - - + + )} + + + + ); -}; - -interface ClientAvatarProps { - client: ExtendedClientStatus; } -const ClientAvatar = ({ client }: ClientAvatarProps) => { - const isConnected = useIntegrationConnected(client.integration.updatedAt, { timeout: 30000 }); +interface WidgetFooterProps { + clients: ExtendedClientStatus[]; + totalSpeed: number; + totalUpSpeed: number; + globalRatio: number; + hasTorrents: boolean; + clientFilter: string[]; + setClientFilter: (ids: string[]) => void; + statusFilter: string[]; + setStatusFilter: (statuses: string[]) => void; + availableStatuses: ExtendedDownloadClientItem["state"][]; + pauseQueue: (args: { integrationIds: string[] }) => void; + resumeQueue: (args: { integrationIds: string[] }) => void; + showStats: boolean; + toggleStats: () => void; +} + +function WidgetFooter({ + clients, + totalSpeed, + totalUpSpeed, + globalRatio, + hasTorrents, + clientFilter, + setClientFilter, + statusFilter, + setStatusFilter, + availableStatuses, + pauseQueue, + resumeQueue, + showStats, + toggleStats, +}: WidgetFooterProps) { + const t = useScopedI18n("widget.downloads"); + const [filterOpen, { toggle: toggleFilter }] = useDisclosure(false); + const someInteract = clients.some(({ interact }) => interact); + const hasActiveFilter = clientFilter.length > 0 || statusFilter.length > 0; + + const integrationsStatuses = { paused: [] as string[], active: [] as string[] }; + for (const { + status, + integration: { id }, + interact, + } of clients) { + if (!status || !interact) continue; + if (status.paused) integrationsStatuses.paused.push(id); + else integrationsStatuses.active.push(id); + } + + let filterTooltip = t("footer.filter"); + if (hasActiveFilter) filterTooltip = t("contextMenu.clearFilters"); + + let filterIconVariant: "filled" | "subtle" = "subtle"; + if (hasActiveFilter) filterIconVariant = "filled"; + + let statsTooltip = t("stats.show"); + if (showStats) statsTooltip = t("stats.hide"); + + let statsIconVariant: "filled" | "subtle" = "subtle"; + if (showStats) statsIconVariant = "filled"; + + let FilterIcon = IconFilter; + if (hasActiveFilter) FilterIcon = IconFilterOff; + + let StatsIcon = IconChevronDown; + if (showStats) StatsIcon = IconChevronUp; return ( - + + {filterOpen && ( + + + {clients.length > 1 && ( + + + {t("items.integration.columnTitle")}: + + + {clients.map(({ integration }) => { + const active = clientFilter.includes(integration.id); + let variant: "filled" | "light" = "light"; + if (active) variant = "filled"; + return ( + setClientFilter(toggleArrayItem(clientFilter, integration.id))} + > + } + > + {integration.name} + + + ); + })} + + + )} + {availableStatuses.length > 1 && ( + + + {t("items.state.columnTitle")}: + + + {availableStatuses.map((status) => { + const active = statusFilter.includes(status); + let variant: "filled" | "light" = "light"; + if (active) variant = "filled"; + return ( + setStatusFilter(toggleArrayItem(statusFilter, status))} + > + + {t(`states.${status}`)} + + + ); + })} + + + )} + + + )} + + + + + { + if (hasActiveFilter && !filterOpen) { + setClientFilter([]); + setStatusFilter([]); + } else { + toggleFilter(); + } + }} + > + + + + + + + + + + + + {clients.map(({ integration }) => ( + + ))} + + + + + {!showStats && hasTorrents && globalRatio > 0 && ( + {`${t("globalRatio")}: ${globalRatio.toFixed(2)}`} + )} + + + {someInteract && ( + + resumeQueue({ integrationIds: integrationsStatuses.paused })} + > + + + + )} + + {!showStats && ( + + + + {formatByteRate(totalSpeed)} + + {totalUpSpeed > 0 && ( + + + {formatByteRate(totalUpSpeed)} + + )} + + )} + + {someInteract && ( + + pauseQueue({ integrationIds: integrationsStatuses.active })} + > + + + + )} + + + + ); -}; +} + +function ClientIndicator({ integration }: { integration: ExtendedClientStatus["integration"] }) { + const isConnected = useIntegrationConnected(integration.updatedAt, { timeout: 30000 }); + + let tooltipLabel = integration.name; + const t = useScopedI18n("widget.downloads"); + if (!isConnected) tooltipLabel = `${integration.name} ${t("disconnected")}`; + + let avatarFilter: string | undefined; + let avatarOpacity = 1; + if (!isConnected) { + avatarFilter = "grayscale(100%)"; + avatarOpacity = 0.5; + } + + return ( + + + + ); +} diff --git a/packages/widgets/src/downloads/index.ts b/packages/widgets/src/downloads/index.ts index 0d9c66ddd..cc8f9a5b0 100644 --- a/packages/widgets/src/downloads/index.ts +++ b/packages/widgets/src/downloads/index.ts @@ -8,28 +8,37 @@ import { createWidgetDefinition } from "../definition"; import { optionsBuilder } from "../options"; const columnsList = [ - "id", - "actions", - "added", - "category", - "downSpeed", - "index", - "integration", "name", "progress", + "size", + "downSpeed", + "upSpeed", + "time", + "state", + "added", "ratio", "received", "sent", - "size", - "state", - "time", + "category", + "integration", + "index", "type", - "upSpeed", ] as const satisfies (keyof ExtendedDownloadClientItem)[]; -const sortingExclusion = ["actions", "id", "state"] as const satisfies readonly (typeof columnsList)[number][]; -const columnsSort = columnsList.filter((column) => - sortingExclusion.every((exclusion) => exclusion !== column), -) as Exclude; + +const sortColumns = [ + "name", + "progress", + "size", + "downSpeed", + "upSpeed", + "time", + "added", + "ratio", + "received", + "sent", + "index", + "type", +] as const satisfies readonly (typeof columnsList)[number][]; export const { definition, componentLoader } = createWidgetDefinition("downloads", { icon: IconDownload, @@ -38,19 +47,16 @@ export const { definition, componentLoader } = createWidgetDefinition("downloads return optionsBuilder.from( (factory) => ({ columns: factory.multiSelect({ - defaultValue: ["integration", "name", "progress", "time", "actions"], + defaultValue: ["name", "progress", "downSpeed", "time", "state"], options: columnsList.map((value) => ({ value, label: (t) => t(`widget.downloads.items.${value}.columnTitle`), })), searchable: true, }), - enableRowSorting: factory.switch({ - defaultValue: false, - }), defaultSort: factory.select({ - defaultValue: "type", - options: columnsSort.map((value) => ({ + defaultValue: "progress", + options: sortColumns.map((value) => ({ value, label: (t) => t(`widget.downloads.items.${value}.columnTitle`), })), @@ -68,7 +74,6 @@ export const { definition, componentLoader } = createWidgetDefinition("downloads defaultValue: true, }), activeTorrentThreshold: factory.number({ - //in KiB/s validate: z.number().min(0), defaultValue: 0, step: 1, @@ -88,14 +93,12 @@ export const { definition, componentLoader } = createWidgetDefinition("downloads validate: z.number().min(1), withDescription: true, }), + columnOrder: factory.text({ defaultValue: "" }), + columnWidths: factory.text({ defaultValue: "" }), }), { - defaultSort: { - shouldHide: (options) => !options.enableRowSorting, - }, - descendingDefaultSort: { - shouldHide: (options) => !options.enableRowSorting, - }, + columnOrder: { shouldHide: () => true }, + columnWidths: { shouldHide: () => true }, showCompletedUsenet: { shouldHide: (_, integrationKinds) => !getIntegrationKindsByCategory("usenet").some((kinds) => integrationKinds.includes(kinds)), diff --git a/packages/widgets/src/downloads/styles.css b/packages/widgets/src/downloads/styles.css index ae9bee8c1..98991c9f2 100644 --- a/packages/widgets/src/downloads/styles.css +++ b/packages/widgets/src/downloads/styles.css @@ -1,12 +1,52 @@ -/* Make the MantineReactTable transparent so the board card's opacity-controlled - background shows through. MRT defaults to var(--mantine-color-body) which is opaque. */ -.downloads-widget-table, -.downloads-widget-table .mantine-Table-table, -.downloads-widget-table .mantine-Table-thead, -.downloads-widget-table .mantine-Table-tbody, -.downloads-widget-table .mantine-Table-tfoot, -.downloads-widget-table .mantine-Table-tr, -.downloads-widget-table th, -.downloads-widget-table td { +/* Make the DataTable transparent so the board card's opacity-controlled + background shows through. The mantine-datatable defaults to + var(--mantine-color-body) which is opaque. */ +.downloads-table, +.downloads-table .mantine-datatable-table, +.downloads-table .mantine-datatable-table thead, +.downloads-table .mantine-datatable-table tbody, +.downloads-table .mantine-datatable-table tfoot, +.downloads-table th, +.downloads-table td { background-color: transparent !important; } + +.downloads-table .mantine-datatable-table tr { + background-color: transparent; +} + +.downloads-table .mantine-datatable-table tbody tr:hover { + background-color: color-mix(in srgb, var(--mantine-color-default-hover) 40%, transparent) !important; +} + +.downloads-table th { + white-space: nowrap; + background-color: color-mix(in srgb, var(--mantine-color-body) 60%, transparent) !important; + backdrop-filter: blur(8px); +} + +.downloads-table td { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.downloads-table td .mantine-Text-root, +.downloads-table td .mantine-Group-root { + white-space: nowrap; + flex-wrap: nowrap; +} + +.downloads-table .mantine-datatable-header-cell-sortable-icon { + opacity: 0; + transition: opacity 150ms; +} + +.downloads-table th:hover .mantine-datatable-header-cell-sortable-icon { + opacity: 1; +} + +/* Row expansion styling */ +.downloads-table .mantine-datatable-row-expansion-cell { + background-color: color-mix(in srgb, var(--mantine-color-body) 40%, transparent) !important; +} From 2885f7a297edb4d575e2b3bf64016e395c2f2e3e Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 28 Jul 2026 22:18:08 +0200 Subject: [PATCH 4/6] fix(widgets): preserve data on integration failures (#6484) --- packages/api/src/settle-integrations.ts | 26 ++++++++-- .../api/src/test/settle-integrations.spec.ts | 50 +++++++++++++++++++ packages/request-handler/src/media-release.ts | 2 + .../src/test/media-release.spec.ts | 45 +++++++++++++++++ 4 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 packages/api/src/test/settle-integrations.spec.ts create mode 100644 packages/request-handler/src/test/media-release.spec.ts diff --git a/packages/api/src/settle-integrations.ts b/packages/api/src/settle-integrations.ts index 643a3b949..a9dbff5ba 100644 --- a/packages/api/src/settle-integrations.ts +++ b/packages/api/src/settle-integrations.ts @@ -19,8 +19,15 @@ export async function settleIntegrationQueries, ): Promise { const settled = await Promise.allSettled(integrations.map(async (integration) => fn(integration))); - return settled.flatMap((result, index) => { - if (result.status === "fulfilled") return [result.value]; + const results: TResult[] = []; + const errors: unknown[] = []; + + settled.forEach((result, index) => { + if (result.status === "fulfilled") { + results.push(result.value); + return; + } + const integration = integrations[index]; logger.warn( new ErrorWithMetadata( @@ -29,7 +36,18 @@ export async function settleIntegrationQueries 0) { + throw errors[0]; + } + + return results; } diff --git a/packages/api/src/test/settle-integrations.spec.ts b/packages/api/src/test/settle-integrations.spec.ts new file mode 100644 index 000000000..09f80bc31 --- /dev/null +++ b/packages/api/src/test/settle-integrations.spec.ts @@ -0,0 +1,50 @@ +import { describe, expect, test, vi } from "vitest"; + +import { settleIntegrationQueries } from "../settle-integrations"; + +const mocks = vi.hoisted(() => ({ + logger: { warn: vi.fn() }, +})); + +vi.mock("@homarr/core/infrastructure/logs", () => ({ + createLogger: () => mocks.logger, +})); + +vi.mock("@homarr/core/infrastructure/logs/error", () => ({ + ErrorWithMetadata: Error, +})); + +const integrations = [ + { id: "first", name: "First", kind: "plex" }, + { id: "second", name: "Second", kind: "jellyfin" }, +]; + +describe("settleIntegrationQueries", () => { + test("returns an empty result when no integrations are configured", async () => { + await expect(settleIntegrationQueries([], vi.fn())).resolves.toEqual([]); + }); + + test("keeps successful integrations when another integration fails", async () => { + const error = new Error("Plex unavailable"); + + await expect( + settleIntegrationQueries(integrations, (integration) => + integration.id === "first" ? Promise.reject(error) : Promise.resolve(integration.name), + ), + ).resolves.toEqual(["Second"]); + }); + + test("rejects when every integration fails", async () => { + const error = new Error("Integration unavailable"); + + await expect(settleIntegrationQueries(integrations, () => Promise.reject(error))).rejects.toBe(error); + }); + + test("uses configured fallbacks when every integration fails", async () => { + await expect( + settleIntegrationQueries(integrations, () => Promise.reject(new Error("Integration unavailable")), { + fallback: (integration) => integration.name, + }), + ).resolves.toEqual(["First", "Second"]); + }); +}); diff --git a/packages/request-handler/src/media-release.ts b/packages/request-handler/src/media-release.ts index 02209f68f..994214b8e 100644 --- a/packages/request-handler/src/media-release.ts +++ b/packages/request-handler/src/media-release.ts @@ -13,4 +13,6 @@ export const mediaReleaseRequestHandler = createIntegrationRequestHandler< const integrationInstance = await createIntegrationAsync(integration); return await integrationInstance.getMediaReleasesAsync(); }, + cacheTtlMs: 5 * 60 * 1000, + fallbackToStaleOnError: true, }); diff --git a/packages/request-handler/src/test/media-release.spec.ts b/packages/request-handler/src/test/media-release.spec.ts new file mode 100644 index 000000000..825107afd --- /dev/null +++ b/packages/request-handler/src/test/media-release.spec.ts @@ -0,0 +1,45 @@ +import type { MediaRelease } from "@homarr/integrations/types"; +import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"; + +import { mediaReleaseRequestHandler } from "../media-release"; + +const mocks = vi.hoisted(() => ({ + createIntegrationAsync: vi.fn(), +})); + +vi.mock("@homarr/integrations", () => ({ + createIntegrationAsync: mocks.createIntegrationAsync, +})); + +const integration = { + id: "plex-integration", + kind: "plex", +} as Parameters[0]; + +describe("mediaReleaseRequestHandler", () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-07-28T00:00:00Z")); + mediaReleaseRequestHandler.invalidateCache(); + mocks.createIntegrationAsync.mockReset(); + }); + + afterEach(() => { + vi.useRealTimers(); + }); + + test("keeps the last successful releases when a refresh fails", async () => { + const releases = [{ id: "release-1" }] as MediaRelease[]; + const getMediaReleasesAsync = vi.fn().mockResolvedValueOnce(releases).mockRejectedValueOnce(new Error("Plex down")); + mocks.createIntegrationAsync.mockResolvedValue({ getMediaReleasesAsync }); + + const handler = mediaReleaseRequestHandler.handler(integration, {}); + const initial = await handler.getDataAsync(); + + vi.advanceTimersByTime(5 * 60 * 1000 + 1); + const fallback = await handler.getDataAsync(); + + expect(fallback).toEqual(initial); + expect(getMediaReleasesAsync).toHaveBeenCalledTimes(2); + }); +}); From 14654acced0b4b7f4cdb0778af71cfa05e5f3a19 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 28 Jul 2026 22:55:32 +0200 Subject: [PATCH 5/6] chore: gate Renovate updates behind dashboard approval (#6485) --- .github/renovate.json5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 98c7d1693..900c3d97e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,6 +1,6 @@ { $schema: "https://docs.renovatebot.com/renovate-schema.json", - extends: ["config:recommended"], + extends: ["config:recommended", ":dependencyDashboardApproval"], packageRules: [ { matchPackageNames: ["^@homarr/"], @@ -47,7 +47,7 @@ rangeStrategy: "bump", automerge: false, baseBranchPatterns: ["dev"], - dependencyDashboard: false, + dependencyDashboard: true, // prevent special characters in branch names (otherwise git errors occur on windows) branchNameStrict: true, } From ac73b9d891fc5d4f8eb192e53c705738a2bb080b Mon Sep 17 00:00:00 2001 From: Clarkar00 <133609856+Clarkar00@users.noreply.github.com> Date: Tue, 28 Jul 2026 14:12:03 -0700 Subject: [PATCH 6/6] fix(widgets): refetch after render errors (#6399) Remove incompatible persisted widget query data before resetting a crashed widget so it can fetch fresh data instead of re-rendering the same stale payload. --- .../components/board/items/item-content.tsx | 3 +- .../board/items/widget-query-recovery.spec.ts | 54 +++++++++++++++++++ .../board/items/widget-query-recovery.ts | 7 +++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 apps/nextjs/src/components/board/items/widget-query-recovery.spec.ts create mode 100644 apps/nextjs/src/components/board/items/widget-query-recovery.ts diff --git a/apps/nextjs/src/components/board/items/item-content.tsx b/apps/nextjs/src/components/board/items/item-content.tsx index d869538e4..ad0f3a305 100644 --- a/apps/nextjs/src/components/board/items/item-content.tsx +++ b/apps/nextjs/src/components/board/items/item-content.tsx @@ -19,6 +19,7 @@ import { useItemActions } from "./item-actions"; import itemContentClasses from "./item-content.module.css"; import { BoardItemMenu } from "./item-menu"; import { WidgetContextMenu } from "./widget-context-menu"; +import { removePersistedWidgetQueries } from "./widget-query-recovery"; interface BoardItemContentProps { item: SectionItem; @@ -112,7 +113,7 @@ const InnerContent = ({ item, ...dimensions }: InnerContentProps) => { {({ reset }) => ( { - void queryClient.invalidateQueries({ queryKey: [["widget"]] }); + removePersistedWidgetQueries(queryClient); reset(); }} fallbackRender={({ resetErrorBoundary, error }) => ( diff --git a/apps/nextjs/src/components/board/items/widget-query-recovery.spec.ts b/apps/nextjs/src/components/board/items/widget-query-recovery.spec.ts new file mode 100644 index 000000000..b666df4e9 --- /dev/null +++ b/apps/nextjs/src/components/board/items/widget-query-recovery.spec.ts @@ -0,0 +1,54 @@ +import { QueryClient } from "@tanstack/react-query"; +import { describe, expect, test } from "vitest"; + +import { removePersistedWidgetQueries } from "./widget-query-recovery"; + +describe("removePersistedWidgetQueries", () => { + test("removes stale widget queries and allows fresh data to be fetched", async () => { + const queryClient = new QueryClient(); + const crashedWidgetQueryKey = [["widget", "mediaServer", "getCurrentStreams"], { input: {} }]; + const unrelatedQueryKey = [["user", "me"], { input: {} }]; + + queryClient.setQueryData(crashedWidgetQueryKey, "stale"); + queryClient.setQueryData(unrelatedQueryKey, "unrelated"); + + removePersistedWidgetQueries(queryClient); + + expect(queryClient.getQueryData(crashedWidgetQueryKey)).toBeUndefined(); + expect(queryClient.getQueryData(unrelatedQueryKey)).toBe("unrelated"); + await expect( + queryClient.fetchQuery({ queryKey: crashedWidgetQueryKey, queryFn: () => Promise.resolve("fresh") }), + ).resolves.toBe("fresh"); + }); + + test("removes persisted queries outside the widget router", () => { + const queryClient = new QueryClient(); + const dockerQueryKey = [["docker", "getContainers"], { input: {} }]; + const appQueryKey = [["app", "byId"], { input: {} }]; + const unrelatedQueryKey = [["user", "me"], { input: {} }]; + + queryClient.setQueryData(dockerQueryKey, "stale"); + queryClient.setQueryData(appQueryKey, "stale"); + queryClient.setQueryData(unrelatedQueryKey, "unrelated"); + + removePersistedWidgetQueries(queryClient); + + expect(queryClient.getQueryData(dockerQueryKey)).toBeUndefined(); + expect(queryClient.getQueryData(appQueryKey)).toBeUndefined(); + expect(queryClient.getQueryData(unrelatedQueryKey)).toBe("unrelated"); + }); + + test("removes persisted widget queries when the widget kind and query path differ", () => { + const queryClient = new QueryClient(); + const crashedWidgetQueryKey = [["widget", "anchorNotes", "getNote"], { input: {} }]; + const unrelatedQueryKey = [["user", "me"], { input: {} }]; + + queryClient.setQueryData(crashedWidgetQueryKey, "stale"); + queryClient.setQueryData(unrelatedQueryKey, "unrelated"); + + removePersistedWidgetQueries(queryClient); + + expect(queryClient.getQueryData(crashedWidgetQueryKey)).toBeUndefined(); + expect(queryClient.getQueryData(unrelatedQueryKey)).toBe("unrelated"); + }); +}); diff --git a/apps/nextjs/src/components/board/items/widget-query-recovery.ts b/apps/nextjs/src/components/board/items/widget-query-recovery.ts new file mode 100644 index 000000000..800614bf4 --- /dev/null +++ b/apps/nextjs/src/components/board/items/widget-query-recovery.ts @@ -0,0 +1,7 @@ +import type { QueryClient } from "@tanstack/react-query"; + +import { isPersistableWidgetQueryKey } from "@homarr/api/query-cache"; + +export const removePersistedWidgetQueries = (queryClient: QueryClient) => { + queryClient.removeQueries({ predicate: (query) => isPersistableWidgetQueryKey(query.queryKey) }); +};