From 0324bf47632aef24c70a6c57fe5ef91e7dd4b30c Mon Sep 17 00:00:00 2001 From: josteinhanssen Date: Thu, 30 Jul 2026 12:17:52 +0200 Subject: [PATCH] feat(caffeinate): add timed keep-awake controls --- caffeinate/BarWidget.qml | 390 ++++++++++++++++++++++++++++++++ caffeinate/DurationLanguage.js | 255 +++++++++++++++++++++ caffeinate/LauncherModel.js | 172 ++++++++++++++ caffeinate/LauncherProvider.qml | 204 +++++++++++++++++ caffeinate/Main.qml | 79 +++++++ caffeinate/README.md | 54 +++++ caffeinate/Settings.qml | 292 ++++++++++++++++++++++++ caffeinate/SettingsModel.js | 41 ++++ caffeinate/i18n/en.json | 108 +++++++++ caffeinate/manifest.json | 42 ++++ caffeinate/preview.png | Bin 0 -> 135875 bytes 11 files changed, 1637 insertions(+) create mode 100644 caffeinate/BarWidget.qml create mode 100644 caffeinate/DurationLanguage.js create mode 100644 caffeinate/LauncherModel.js create mode 100644 caffeinate/LauncherProvider.qml create mode 100644 caffeinate/Main.qml create mode 100644 caffeinate/README.md create mode 100644 caffeinate/Settings.qml create mode 100644 caffeinate/SettingsModel.js create mode 100644 caffeinate/i18n/en.json create mode 100644 caffeinate/manifest.json create mode 100644 caffeinate/preview.png diff --git a/caffeinate/BarWidget.qml b/caffeinate/BarWidget.qml new file mode 100644 index 000000000..a7d5c6981 --- /dev/null +++ b/caffeinate/BarWidget.qml @@ -0,0 +1,390 @@ +pragma ComponentBehavior: Bound + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import Quickshell +import qs.Commons +import qs.Modules.Bar.Extras +import qs.Services.UI +import qs.Widgets +import "DurationLanguage.js" as DurationLanguage +import "LauncherModel.js" as LauncherModel + +Item { + id: root + + property var pluginApi: null + property ShellScreen screen + property string widgetId: "" + property string section: "" + property int sectionWidgetIndex: -1 + property int sectionWidgetsCount: 0 + + // Noctalia caches plugin directory entries for the shell runtime. Reusing a + // v1.0.2 entry file lets updates add the panel without requiring a restart. + readonly property bool isBarInstance: widgetId !== "" + readonly property bool allowAttach: true + readonly property var mainInstance: pluginApi?.mainInstance + readonly property bool sessionActive: mainInstance?.sessionActive ?? false + readonly property bool indefinite: sessionActive && (mainInstance?.remainingSeconds === null) + readonly property bool hideWhenInactive: pluginApi?.pluginSettings?.hideInactiveWidget ?? false + readonly property string compactStatusText: formatStatusText(false) + readonly property string detailedStatusText: formatStatusText(true) + readonly property string statusText: showDetailedTime ? detailedStatusText : compactStatusText + readonly property var sessionSnapshot: ({ + "active": sessionActive + }) + readonly property var presetActions: LauncherModel.presetActions(pluginApi?.pluginSettings + ?.presets ?? [], pluginApi + ?.pluginSettings + ?.includeIndefinitePreset ?? true, + sessionSnapshot, + DurationLanguage.parse) + + property bool showDetailedTime: false + property real contentPreferredWidth: 360 * Style.uiScaleRatio + property real contentPreferredHeight: Math.min((contentLoader.item?.contentImplicitHeight ?? 0) + + Style.marginL * 2, + 560 * Style.uiScaleRatio) + + visible: isBarInstance ? sessionActive || !hideWhenInactive : true + implicitWidth: isBarInstance ? (visible ? contentLoader.item?.implicitWidth ?? 0 : 0) : + contentPreferredWidth + implicitHeight: isBarInstance ? (visible ? contentLoader.item?.implicitHeight ?? 0 : 0) : + contentPreferredHeight + + onSessionActiveChanged: { + if (!sessionActive) { + hoverDetailTimer.stop(); + showDetailedTime = false; + } + } + + function formatStatusText(includeSeconds) { + if (!sessionActive) + return pluginApi?.tr("bar.inactiveText") ?? ""; + if (indefinite) + return pluginApi?.tr("bar.indefiniteText") ?? "∞"; + + const remainingSeconds = mainInstance?.remainingSeconds ?? 0; + const hasCurrentFormatter = typeof DurationLanguage.formatCompactBarDuration === "function"; + if (includeSeconds) { + return hasCurrentFormatter ? DurationLanguage.formatBarDuration(remainingSeconds) : + formatDetailedBarDuration(remainingSeconds); + } + return hasCurrentFormatter ? DurationLanguage.formatCompactBarDuration(remainingSeconds) : + DurationLanguage.formatDuration( + Math.max(60, Math.ceil(remainingSeconds / 60) * 60)); + } + + function formatDetailedBarDuration(seconds) { + // v1.0.2's DurationLanguage object remains cached during an in-place + // update. Remove this fallback when upgrades from v1.0.2 are no longer + // supported. + let remaining = Math.max(0, Math.floor(seconds)); + const units = [ + ["w", 604800], + ["d", 86400], + ["h", 3600], + ["m", 60], + ["s", 1] + ]; + const parts = []; + let hasHigherUnit = false; + + for (let index = 0; index < units.length; index++) { + const value = Math.floor(remaining / units[index][1]); + const isSeconds = index === units.length - 1; + if (value > 0 || hasHigherUnit || isSeconds) { + parts.push(value + units[index][0]); + hasHigherUnit = true; + } + remaining %= units[index][1]; + } + + return parts.join(" "); + } + + function tooltip() { + if (!sessionActive) + return pluginApi?.tr("bar.inactiveTooltip"); + if (indefinite) + return pluginApi?.tr("bar.indefiniteTooltip"); + return pluginApi?.tr("bar.finiteTooltip", { + "duration": detailedStatusText + }); + } + + function panelStatusText() { + if (!sessionActive) + return pluginApi?.tr("status.off"); + if (indefinite) + return pluginApi?.tr("status.indefinite"); + return pluginApi?.tr("status.finite", { + "duration": DurationLanguage.formatDuration(mainInstance + ?.remainingSeconds ?? 0) + }); + } + + function presetLabel(action) { + if (action.action === "start-indefinite") + return pluginApi?.tr("panel.untilStopped"); + return action.normalized ?? ""; + } + + function closePanel() { + if (pluginApi?.panelOpenScreen) + pluginApi.closePanel(pluginApi.panelOpenScreen); + } + + function activatePreset(action) { + if (!mainInstance) + return; + + const started = action.action === "start-indefinite" ? mainInstance.startIndefinite() : + mainInstance.startFinite(action.seconds); + if (started) + closePanel(); + } + + function cancelSession() { + if (mainInstance?.endSession()) + closePanel(); + } + + function openLauncher() { + if (pluginApi?.panelOpenScreen) + pluginApi.openLauncher(pluginApi.panelOpenScreen); + } + + Timer { + id: hoverDetailTimer + + interval: Style.pillDelay + onTriggered: root.showDetailedTime = true + } + + Loader { + id: contentLoader + + anchors.fill: parent + sourceComponent: root.isBarInstance ? barComponent : panelComponent + } + + Component { + id: barComponent + + Item { + implicitWidth: pill.implicitWidth + implicitHeight: pill.implicitHeight + + NPopupContextMenu { + id: contextMenu + + model: [ + { + "label": I18n.tr("actions.widget-settings"), + "action": "widget-settings", + "icon": "settings" + } + ] + + onTriggered: action => { + contextMenu.close(); + PanelService.closeContextMenu(root.screen); + + if (action === "widget-settings" && root.pluginApi) + BarService.openPluginSettings(root.screen, root.pluginApi.manifest); + } + } + + BarPill { + id: pill + + screen: root.screen + icon: root.sessionActive ? "coffee" : "coffee-off" + text: root.statusText + forceOpen: root.sessionActive + oppositeDirection: BarService.getPillDirection(root) + tooltipText: root.tooltip() + customIconColor: root.sessionActive ? Color.mPrimary : + Qt.alpha(Color.mOnSurfaceVariant, 0.38) + customTextColor: root.sessionActive ? Color.mOnSurface : Color.mOnSurfaceVariant + + onEntered: { + if (root.sessionActive && !root.indefinite) + hoverDetailTimer.restart(); + } + + onExited: { + hoverDetailTimer.stop(); + root.showDetailedTime = false; + } + + onClicked: { + if (root.pluginApi) + root.pluginApi.openPanel(root.screen, root); + } + + onRightClicked: PanelService.showContextMenu(contextMenu, pill, root.screen) + } + } + } + + Component { + id: panelComponent + + Item { + readonly property real contentImplicitHeight: contentColumn.implicitHeight + + ColumnLayout { + id: contentColumn + + anchors { + fill: parent + margins: Style.marginL + } + spacing: Style.marginL + + NBox { + Layout.fillWidth: true + Layout.preferredHeight: statusRow.implicitHeight + Style.marginM * 2 + + RowLayout { + id: statusRow + + anchors { + fill: parent + margins: Style.marginM + } + spacing: Style.marginM + + NIcon { + icon: root.sessionActive ? "coffee" : "coffee-off" + pointSize: Style.fontSizeXL + color: root.sessionActive ? Color.mPrimary : Color.mOnSurfaceVariant + } + + ColumnLayout { + Layout.fillWidth: true + spacing: Style.marginXXS + + NText { + Layout.fillWidth: true + text: root.pluginApi?.tr("panel.title") + pointSize: Style.fontSizeL + font.weight: Style.fontWeightBold + color: Color.mOnSurface + } + + NText { + Layout.fillWidth: true + text: root.panelStatusText() + pointSize: Style.fontSizeS + color: Color.mOnSurfaceVariant + elide: Text.ElideRight + } + } + } + } + + ColumnLayout { + Layout.fillWidth: true + spacing: Style.marginXS + + NText { + Layout.fillWidth: true + text: root.pluginApi?.tr(root.sessionActive ? "panel.replaceSession" : + "panel.startSession") + pointSize: Style.fontSizeM + font.weight: Style.fontWeightSemiBold + color: Color.mOnSurface + } + + NText { + Layout.fillWidth: true + text: root.pluginApi?.tr("panel.presetsDescription") + pointSize: Style.fontSizeS + color: Color.mOnSurfaceVariant + wrapMode: Text.Wrap + } + } + + NScrollView { + id: presetsScroll + + Layout.fillWidth: true + Layout.preferredHeight: Math.min(presetsGrid.implicitHeight, 224 * Style.uiScaleRatio) + visible: root.presetActions.length > 0 + horizontalPolicy: ScrollBar.AlwaysOff + showScrollbarWhenScrollable: true + gradientColor: Color.mSurface + + GridLayout { + id: presetsGrid + + width: presetsScroll.availableWidth + columns: 2 + rowSpacing: Style.marginS + columnSpacing: Style.marginS + uniformCellWidths: true + + Repeater { + model: root.presetActions + + delegate: NButton { + required property var modelData + + Layout.fillWidth: true + Layout.preferredWidth: 1 + Layout.columnSpan: root.presetLabel(modelData).length > 14 ? 2 : 1 + text: root.presetLabel(modelData) + icon: modelData.action === "start-indefinite" ? "infinity" : "clock" + fontSize: Style.fontSizeS + outlined: true + onClicked: root.activatePreset(modelData) + } + } + } + } + + NText { + Layout.fillWidth: true + visible: root.presetActions.length === 0 + text: root.pluginApi?.tr("panel.noPresets") + pointSize: Style.fontSizeS + color: Color.mOnSurfaceVariant + wrapMode: Text.Wrap + } + + NDivider { + Layout.fillWidth: true + } + + RowLayout { + Layout.fillWidth: true + spacing: Style.marginS + + NButton { + Layout.fillWidth: true + text: root.pluginApi?.tr("panel.cancel") + icon: "coffee-off" + enabled: root.sessionActive + outlined: true + backgroundColor: Color.mError + textColor: Color.mOnError + onClicked: root.cancelSession() + } + + NButton { + Layout.fillWidth: true + text: root.pluginApi?.tr("panel.openLauncher") + icon: "search" + onClicked: root.openLauncher() + } + } + } + } + } +} diff --git a/caffeinate/DurationLanguage.js b/caffeinate/DurationLanguage.js new file mode 100644 index 000000000..20a0ffa49 --- /dev/null +++ b/caffeinate/DurationLanguage.js @@ -0,0 +1,255 @@ +var UNIT_SECONDS = { + "s": 1, + "sec": 1, + "second": 1, + "seconds": 1, + "m": 60, + "min": 60, + "minute": 60, + "minutes": 60, + "h": 3600, + "hr": 3600, + "hour": 3600, + "hours": 3600, + "d": 86400, + "day": 86400, + "days": 86400, + "w": 604800, + "wk": 604800, + "week": 604800, + "weeks": 604800 +}; + +var UNSUPPORTED_UNITS = { + "ms": true, + "millisecond": true, + "milliseconds": true, + "month": true, + "months": true, + "year": true, + "years": true +}; + +var MAX_FINITE_SECONDS = 52 * 604800; + +var DISPLAY_UNITS = [ + ["w", 604800], + ["d", 86400], + ["h", 3600], + ["m", 60], + ["s", 1] +]; + +function result(state, code) { + return { + "state": state, + "code": code + }; +} + +function formatDuration(seconds) { + var remaining = Math.max(0, Math.floor(seconds)); + var parts = []; + + for (var index = 0; index < DISPLAY_UNITS.length; index++) { + var value = Math.floor(remaining / DISPLAY_UNITS[index][1]); + if (value > 0) { + parts.push(value + DISPLAY_UNITS[index][0]); + remaining %= DISPLAY_UNITS[index][1]; + } + } + + return parts.length > 0 ? parts.join(" ") : "0s"; +} + +function formatBarDuration(seconds) { + var remaining = Math.max(0, Math.floor(seconds)); + var parts = []; + var hasHigherUnit = false; + + for (var index = 0; index < DISPLAY_UNITS.length; index++) { + var value = Math.floor(remaining / DISPLAY_UNITS[index][1]); + var isSeconds = index === DISPLAY_UNITS.length - 1; + if (value > 0 || hasHigherUnit || isSeconds) { + parts.push(value + DISPLAY_UNITS[index][0]); + hasHigherUnit = true; + } + remaining %= DISPLAY_UNITS[index][1]; + } + + return parts.join(" "); +} + +function formatCompactBarDuration(seconds) { + var remaining = Math.max(0, Math.floor(seconds)); + return formatDuration(Math.max(60, Math.ceil(remaining / 60) * 60)); +} + +function finalizeDuration(totalSeconds) { + var effectiveSeconds = Math.floor(totalSeconds + 0.5); + if (effectiveSeconds < 1) + return result("invalid", "below-minimum"); + if (effectiveSeconds > MAX_FINITE_SECONDS) + return result("invalid", "above-maximum"); + + return { + "state": "valid", + "seconds": effectiveSeconds, + "normalized": formatDuration(effectiveSeconds) + }; +} + +function consumeBoundary(text, position) { + var start = position; + + while (position < text.length) { + var rest = text.slice(position); + var whitespace = rest.match(/^\s+/); + if (whitespace) { + position += whitespace[0].length; + continue; + } + + var andWord = rest.match(/^and(?=$|\s|[.,+\-\d])/); + if (andWord) { + position += andWord[0].length; + continue; + } + + if (text[position] === "," || text[position] === "+" + || text[position] === "-") { + position++; + continue; + } + + break; + } + + return { + "position": position, + "consumed": position > start + }; +} + +function parseNamedUnits(text) { + var position = 0; + var totalSeconds = 0; + var componentCount = 0; + + while (position < text.length) { + if (componentCount > 0) { + var boundary = consumeBoundary(text, position); + position = boundary.position; + if (position >= text.length) { + return result("incomplete", "missing-component"); + } + } + + var rest = text.slice(position); + if (position === 0 && rest[0] === "-") + return result("invalid", "negative-duration"); + + var numberMatch = rest.match(/^(?:\d+(?:[.,]\d+)?|[.,]\d+)/); + if (!numberMatch) { + return result( + "invalid", + /[\/\\!?;@#$%^&*()[\]{}]/.test(rest[0]) + ? "unexpected-token" + : "expected-number" + ); + } + + var quantity = Number(numberMatch[0].replace(",", ".")); + position += numberMatch[0].length; + + var unitSpacing = text.slice(position).match(/^\s*/); + position += unitSpacing[0].length; + if (position >= text.length) + return result("incomplete", "missing-unit"); + + var unitMatch = text.slice(position).match(/^[a-z]+/); + if (!unitMatch) + return result("invalid", "unexpected-token"); + + var unit = unitMatch[0]; + if (UNIT_SECONDS[unit] === undefined && unit.endsWith("and")) { + var unitBeforeAnd = unit.slice(0, -3); + if (UNIT_SECONDS[unitBeforeAnd] !== undefined) + unit = unitBeforeAnd; + } + if (UNSUPPORTED_UNITS[unit]) + return result("invalid", "unsupported-unit"); + if (UNIT_SECONDS[unit] === undefined) + return result("invalid", "unsupported-unit"); + + totalSeconds += quantity * UNIT_SECONDS[unit]; + componentCount++; + position += unit.length; + } + + return finalizeDuration(totalSeconds); +} + +function parseClock(text) { + if (text[0] === "-") + return result("invalid", "negative-duration"); + + var normalized = text.replace(/\s*:\s*/g, ":"); + if (normalized[normalized.length - 1] === ":") + return result("incomplete", "missing-clock-field"); + + var fields = normalized.split(":"); + if (fields.length !== 2 && fields.length !== 3) + return result("invalid", "clock-field-count"); + + for (var index = 0; index < fields.length; index++) { + if (fields[index] !== "" && !/^\d+$/.test(fields[index])) + return result("invalid", "clock-numeric-field"); + } + + var hours = 0; + var minutes = 0; + var seconds = 0; + + if (fields.length === 2) { + if (fields[1] === "") + return result("incomplete", "missing-clock-field"); + if (fields[1].length > 2) + return result("invalid", "clock-field-width"); + + hours = fields[0] === "" ? 0 : Number(fields[0]); + minutes = Number(fields[1]); + } else { + if (fields[2] === "") + return result("incomplete", "missing-clock-field"); + if (fields[1] === "" && fields[0] !== "") + return result("invalid", "clock-empty-field"); + if (fields[1].length > 2 || fields[2].length > 2) + return result("invalid", "clock-field-width"); + + hours = fields[0] === "" ? 0 : Number(fields[0]); + minutes = fields[1] === "" ? 0 : Number(fields[1]); + seconds = Number(fields[2]); + } + + if (minutes >= 60) + return result("invalid", "clock-minute-range"); + if (seconds >= 60) + return result("invalid", "clock-second-range"); + + return finalizeDuration(hours * 3600 + minutes * 60 + seconds); +} + +function parse(expression) { + var text = expression === null || expression === undefined + ? "" + : String(expression).trim().toLowerCase(); + + if (text === "") + return result("incomplete", "empty-expression"); + + if (text.indexOf(":") !== -1) + return parseClock(text); + + return parseNamedUnits(text); +} diff --git a/caffeinate/LauncherModel.js b/caffeinate/LauncherModel.js new file mode 100644 index 000000000..93cef3ee6 --- /dev/null +++ b/caffeinate/LauncherModel.js @@ -0,0 +1,172 @@ +function commandWords(canonicalPrefix, alias) { + var words = [String(canonicalPrefix || "").trim().toLowerCase()]; + var normalizedAlias = String(alias || "").trim().toLowerCase(); + if (normalizedAlias !== "" && words.indexOf(normalizedAlias) === -1) + words.push(normalizedAlias); + return words; +} + +function matchCommand(searchText, canonicalPrefix, alias) { + var text = String(searchText || ""); + if (text[0] !== ">") + return {"matched": false}; + + var commandEnd = text.search(/\s/); + if (commandEnd === -1) + commandEnd = text.length; + + var enteredPrefix = text.slice(1, commandEnd).toLowerCase(); + var words = commandWords(canonicalPrefix, alias); + if (words.indexOf(enteredPrefix) === -1) + return {"matched": false}; + + return { + "matched": true, + "prefix": enteredPrefix, + "expression": text.slice(commandEnd).trim() + }; +} + +function validateAlias(alias, canonicalPrefix) { + var normalized = String(alias || "").trim().toLowerCase(); + if (normalized === "") { + return { + "state": "valid", + "normalized": "" + }; + } + + if (!/^[a-z0-9][a-z0-9-]*$/.test(normalized)) { + return { + "state": "invalid", + "code": "alias-format" + }; + } + + if (normalized === String(canonicalPrefix || "").trim().toLowerCase()) { + return { + "state": "invalid", + "code": "alias-duplicates-canonical" + }; + } + + return { + "state": "valid", + "normalized": normalized + }; +} + +function sessionStatus(session) { + if (!session || !session.active) { + return { + "kind": "status", + "mode": "off" + }; + } + + if (session.remainingSeconds === null + || session.remainingSeconds === undefined) { + return { + "kind": "status", + "mode": "indefinite" + }; + } + + return { + "kind": "status", + "mode": "finite", + "seconds": Math.max(0, Math.floor(session.remainingSeconds)) + }; +} + +function endAction() { + return { + "kind": "action", + "action": "end-session" + }; +} + +function appendEndAction(entries, session) { + if (session && session.active) + entries.push(endAction()); + return entries; +} + +function finiteAction(parsed, session, source) { + return { + "kind": "action", + "action": "start-finite", + "seconds": parsed.seconds, + "normalized": parsed.normalized, + "replacing": Boolean(session && session.active), + "source": source || "expression" + }; +} + +function indefiniteAction(session, source) { + return { + "kind": "action", + "action": "start-indefinite", + "replacing": Boolean(session && session.active), + "source": source || "expression" + }; +} + +function presetActions(presets, includeIndefinite, session, parseDuration) { + var entries = []; + var sourcePresets = Array.isArray(presets) ? presets : []; + + for (var index = 0; index < sourcePresets.length; index++) { + var parsed = parseDuration(sourcePresets[index]); + if (parsed && parsed.state === "valid") + entries.push(finiteAction(parsed, session, "preset")); + } + + if (includeIndefinite) + entries.push(indefiniteAction(session, "preset")); + return entries; +} + +function actionsFor(expression, session, presets, includeIndefinite, + parseDuration) { + var text = String(expression || "").trim(); + var keyword = text.toLowerCase(); + + if (text === "") { + var blankEntries = []; + if (session && session.active) { + blankEntries.push(sessionStatus(session)); + blankEntries.push(endAction()); + } + return blankEntries.concat( + presetActions(presets, includeIndefinite, session, parseDuration) + ); + } + + if (keyword === "status") + return appendEndAction([sessionStatus(session)], session); + + if (keyword === "off" || keyword === "stop" || keyword === "cancel") { + if (session && session.active) + return [endAction()]; + return [sessionStatus(session)]; + } + + if (keyword === "on" || keyword === "forever" + || keyword === "indefinite" || keyword === "∞") { + return appendEndAction([indefiniteAction(session)], session); + } + + var parsed = parseDuration(text); + if (parsed.state === "valid") { + return appendEndAction( + [finiteAction(parsed, session, "expression")], + session + ); + } + + return appendEndAction([{ + "kind": parsed.state, + "code": parsed.code + }], session); +} diff --git a/caffeinate/LauncherProvider.qml b/caffeinate/LauncherProvider.qml new file mode 100644 index 000000000..65fe46533 --- /dev/null +++ b/caffeinate/LauncherProvider.qml @@ -0,0 +1,204 @@ +import QtQuick +import qs.Commons +import "DurationLanguage.js" as DurationLanguage +import "LauncherModel.js" as LauncherModel + +Item { + id: root + + property var pluginApi: null + property string name: pluginApi?.tr("provider.name") ?? "" + property var launcher: null + property bool handleSearch: false + property string supportedLayouts: "list" + property bool supportsAutoPaste: false + property bool ignoreDensity: false + property bool trackUsage: false + + readonly property var cfg: pluginApi?.pluginSettings || ({}) + readonly property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({}) + readonly property var mainInstance: pluginApi?.mainInstance + readonly property string iconMode: Settings.data.appLauncher.iconMode ?? "tabler" + + onIconModeChanged: refreshResults() + + function init() { + } + + function onOpened() { + refreshResults(); + } + + function commandAlias() { + return LauncherModel.validateAlias(cfg.alias ?? defaults.alias ?? "", "caffeinate").normalized + ?? ""; + } + + function configuredPresets() { + return cfg.presets ?? defaults.presets ?? []; + } + + function includesIndefinitePreset() { + return cfg.includeIndefinitePreset ?? defaults.includeIndefinitePreset ?? true; + } + + function handleCommand(searchText) { + return LauncherModel.matchCommand(searchText, "caffeinate", commandAlias()).matched; + } + + function commands() { + const entries = [ + { + "name": ">caffeinate", + "description": pluginApi?.tr("provider.description"), + "icon": launcherIcon("coffee", "appointment-soon"), + "isTablerIcon": true, + "isImage": false, + "provider": root, + "onActivate": function () { + launcher.setSearchText(">caffeinate "); + } + } + ]; + + const alias = commandAlias(); + if (alias !== "") { + entries.push({ + "name": ">" + alias, + "description": pluginApi?.tr("provider.aliasDescription"), + "icon": launcherIcon("coffee", "appointment-soon"), + "isTablerIcon": true, + "isImage": false, + "provider": root, + "onActivate": function () { + launcher.setSearchText(">" + alias + " "); + } + }); + } + + return entries; + } + + function getResults(searchText) { + const match = LauncherModel.matchCommand(searchText, "caffeinate", commandAlias()); + if (!match.matched) + return []; + + const session = mainInstance ? mainInstance.sessionSnapshot() : { + "active": false + }; + const descriptors = LauncherModel.actionsFor(match.expression, session, configuredPresets(), + includesIndefinitePreset(), + DurationLanguage.parse); + + return descriptors.map(formatEntry); + } + + function formatEntry(descriptor) { + if (descriptor.kind === "status") + return statusEntry(descriptor); + if (descriptor.kind === "incomplete") + return feedbackEntry("incomplete", descriptor.code); + if (descriptor.kind === "invalid") + return feedbackEntry("invalid", descriptor.code); + return actionEntry(descriptor); + } + + function launcherIcon(tablerIcon, nativeIcon) { + return iconMode === "tabler" ? tablerIcon : nativeIcon; + } + + function noAction() { + } + + function baseEntry(name, description, tablerIcon, nativeIcon, activate) { + return { + "name": name, + "description": description, + "icon": launcherIcon(tablerIcon, nativeIcon), + "isTablerIcon": true, + "isImage": false, + "hideIcon": false, + "singleLine": false, + "provider": root, + "onActivate": activate + }; + } + + function statusEntry(descriptor) { + if (descriptor.mode === "finite") { + const duration = DurationLanguage.formatDuration(descriptor.seconds); + return baseEntry(pluginApi?.tr("status.finite", { + "duration": duration + }), pluginApi?.tr("status.finiteDescription"), "coffee", + "appointment-soon", noAction); + } + + if (descriptor.mode === "indefinite") { + return baseEntry(pluginApi?.tr("status.indefinite"), pluginApi?.tr( + "status.indefiniteDescription"), "coffee", "system-lock-screen", noAction); + } + + return baseEntry(pluginApi?.tr("status.off"), pluginApi?.tr("status.offDescription"), + "coffee-off", "process-stop", noAction); + } + + function feedbackEntry(state, code) { + const knownCode = code || "invalid-expression"; + return baseEntry(pluginApi?.tr("feedback." + state + ".title"), pluginApi?.tr("feedback." + + state + "." + + knownCode), + state === "invalid" ? "alert-circle" : "info-circle", state === "invalid" + ? "dialog-warning" : "dialog-information", noAction); + } + + function actionEntry(descriptor) { + if (descriptor.action === "end-session") { + return baseEntry(pluginApi?.tr("action.end"), pluginApi?.tr("action.endDescription"), + "coffee-off", "process-stop", function () { + if (mainInstance && mainInstance.endSession()) + launcher.close(); + }); + } + + if (descriptor.action === "start-indefinite") { + return baseEntry(pluginApi?.tr(descriptor.replacing ? "action.replaceIndefinite" : + "action.startIndefinite"), pluginApi?.tr( + descriptor.replacing ? "action.replaceIndefiniteDescription" : + "action.startIndefiniteDescription"), "infinity", + "system-lock-screen", function () { + if (mainInstance && mainInstance.startIndefinite()) + launcher.close(); + }); + } + + return baseEntry(pluginApi?.tr(descriptor.replacing ? "action.replaceFinite" : + "action.startFinite", { + "duration": descriptor.normalized + }), pluginApi?.tr(descriptor.replacing + ? "action.replaceFiniteDescription" : + "action.startFiniteDescription"), "clock", + "appointment-soon", function () { + if (mainInstance && mainInstance.startFinite(descriptor.seconds)) + launcher.close(); + }); + } + + function refreshResults() { + if (launcher && launcher.isOpen && launcher.activeProvider === root) + launcher.updateResults(); + } + + Connections { + target: root.mainInstance + ignoreUnknownSignals: true + + function onSessionActiveChanged() { + root.refreshResults(); + } + + function onRemainingSecondsChanged() { + root.refreshResults(); + } + } +} diff --git a/caffeinate/Main.qml b/caffeinate/Main.qml new file mode 100644 index 000000000..08a41ad9a --- /dev/null +++ b/caffeinate/Main.qml @@ -0,0 +1,79 @@ +import QtQuick +import qs.Services.Power +import "DurationLanguage.js" as DurationLanguage + +Item { + id: root + + property var pluginApi: null + property bool sessionActive: false + + readonly property var remainingSeconds: sessionActive ? IdleInhibitorService.timeout : null + readonly property bool indefinite: sessionActive && IdleInhibitorService.timeout === null + + function refreshSessionState() { + sessionActive = IdleInhibitorService.activeInhibitors.indexOf("manual") !== -1; + } + + function sessionSnapshot() { + return { + "active": sessionActive, + "remainingSeconds": remainingSeconds + }; + } + + function startFinite(seconds) { + const duration = Number(seconds); + if (!isFinite(duration) || Math.floor(duration) !== duration || duration < 1 || duration + > DurationLanguage.MAX_FINITE_SECONDS) + return false; + + IdleInhibitorService.addManualInhibitor(duration); + refreshSessionState(); + return true; + } + + function startIndefinite() { + IdleInhibitorService.addManualInhibitor(null); + refreshSessionState(); + return true; + } + + function endSession() { + refreshSessionState(); + if (!sessionActive) + return false; + + IdleInhibitorService.removeManualInhibitor(); + refreshSessionState(); + return true; + } + + Component.onCompleted: refreshSessionState() + + Connections { + target: IdleInhibitorService + + function onActiveInhibitorsChanged() { + root.refreshSessionState(); + } + + function onIsInhibitedChanged() { + root.refreshSessionState(); + } + + function onTimeoutChanged() { + root.refreshSessionState(); + } + } + + // Noctalia currently mutates activeInhibitors in place, which emits no change + // signal when another inhibitor keeps isInhibited true. Poll only while idle + // inhibition is active so built-in and plugin-started sessions stay in sync. + Timer { + interval: 1000 + repeat: true + running: IdleInhibitorService.isInhibited || root.sessionActive + onTriggered: root.refreshSessionState() + } +} diff --git a/caffeinate/README.md b/caffeinate/README.md new file mode 100644 index 000000000..0c4e96c2b --- /dev/null +++ b/caffeinate/README.md @@ -0,0 +1,54 @@ +# Caffeinate + +Caffeinate is a prefix-only Noctalia v4 launcher provider for temporarily +pausing idle-triggered display, lock, and suspend actions. + +## Usage + +Open the launcher and use `>caffeinate`, or the configurable `>c` alias: + +```text +>c 30m +>c 1h 30m +>c 1:30 +>c ::30 +>c forever +>c status +>c off +``` + +The optional bar widget remains available as a dimmed off-state by default. +During a finite session it always shows a rounded-to-minute countdown; hovering +reveals the exact countdown, including seconds, after Noctalia's normal delay. +Left-click opens a session menu for presets, cancellation, and launcher access; +right-click opens **Widget settings**. + +Named-unit input supports seconds through weeks, flexible spacing and +separators, and dot or comma decimals. Clock forms interpret two fields as +hours and minutes, so `1:30` means 1 hour 30 minutes and `:30` means 30 +minutes. + +## Scope + +Caffeinate changes Noctalia's shared **manual idle inhibitor**. It does not +override explicit power actions, lid behavior, critical-battery handling, or +administrative power policy. Sessions end when Noctalia stops or restarts. + +## Configuration + +The plugin settings provide: + +- an optional launcher alias, defaulting to `c`; +- editable and reorderable duration presets; +- a switch for the **Until stopped** preset; +- a switch for hiding the bar widget between sessions; +- reset-to-defaults behavior. + +## Source and documentation + +The canonical source, installation guide, detailed syntax, AI-assistance +disclosure, and contribution guide are available at: + + + +Caffeinate is licensed under the MIT License. diff --git a/caffeinate/Settings.qml b/caffeinate/Settings.qml new file mode 100644 index 000000000..87fbef2e8 --- /dev/null +++ b/caffeinate/Settings.qml @@ -0,0 +1,292 @@ +pragma ComponentBehavior: Bound + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import qs.Commons +import qs.Widgets +import "DurationLanguage.js" as DurationLanguage +import "LauncherModel.js" as LauncherModel +import "SettingsModel.js" as SettingsModel + +ColumnLayout { + id: root + + property var pluginApi: null + + readonly property var cfg: pluginApi?.pluginSettings || ({}) + readonly property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({}) + + property string editAlias: "" + property bool editIncludeIndefinite: true + property bool editHideInactive: false + property real preferredWidth: 720 * Style.uiScaleRatio + + spacing: Style.marginL + + Component.onCompleted: loadSettings() + + ListModel { + id: presetsModel + } + + function replacePresets(source) { + const presets = SettingsModel.copyPresets(source); + presetsModel.clear(); + for (let index = 0; index < presets.length; index++) { + presetsModel.append({ + "expression": presets[index] + }); + } + } + + function presetExpressions() { + const presets = []; + for (let index = 0; index < presetsModel.count; index++) + presets.push(presetsModel.get(index).expression); + return presets; + } + + function loadSettings() { + editAlias = cfg.alias ?? defaults.alias ?? "c"; + replacePresets(cfg.presets ?? defaults.presets ?? []); + editIncludeIndefinite = cfg.includeIndefinitePreset ?? defaults.includeIndefinitePreset ?? true; + editHideInactive = cfg.hideInactiveWidget ?? defaults.hideInactiveWidget ?? false; + } + + function resetDefaults() { + editAlias = defaults.alias ?? "c"; + replacePresets(defaults.presets ?? []); + editIncludeIndefinite = defaults.includeIndefinitePreset ?? true; + editHideInactive = defaults.hideInactiveWidget ?? false; + } + + function aliasValidation() { + return LauncherModel.validateAlias(editAlias, "caffeinate"); + } + + function aliasFeedback() { + const validation = aliasValidation(); + if (validation.state === "invalid") { + return pluginApi?.tr(validation.code === "alias-duplicates-canonical" + ? "settings.alias.duplicateError" : "settings.alias.formatError"); + } + if (validation.normalized === "") + return pluginApi?.tr("settings.alias.disabled"); + return pluginApi?.tr("settings.alias.valid", { + "alias": validation.normalized + }); + } + + function durationFeedback(expression) { + const parsed = DurationLanguage.parse(expression); + if (parsed.state === "valid") { + return pluginApi?.tr("settings.presets.valid", { + "duration": parsed.normalized + }); + } + + return pluginApi?.tr("feedback." + parsed.state + "." + parsed.code); + } + + function settingsAreValid() { + return validatedSettings().valid; + } + + function validatedSettings() { + return SettingsModel.validate(editAlias, presetExpressions(), "caffeinate", + LauncherModel.validateAlias, DurationLanguage.parse); + } + + function saveSettings() { + if (!pluginApi) { + Logger.e("Caffeinate", "Cannot save settings: pluginApi is null"); + return; + } + + const validated = validatedSettings(); + if (!validated.valid) { + Logger.w("Caffeinate", pluginApi?.tr("settings.invalidSave")); + return; + } + + pluginApi.pluginSettings.alias = validated.alias; + pluginApi.pluginSettings.presets = validated.presets; + pluginApi.pluginSettings.includeIndefinitePreset = editIncludeIndefinite; + pluginApi.pluginSettings.hideInactiveWidget = editHideInactive; + pluginApi.saveSettings(); + Logger.i("Caffeinate", pluginApi?.tr("settings.saved")); + } + + NText { + text: pluginApi?.tr("settings.title") + pointSize: Style.fontSizeL + font.weight: Style.fontWeightBold + } + + NText { + Layout.fillWidth: true + text: pluginApi?.tr("settings.description") + color: Color.mOnSurfaceVariant + wrapMode: Text.Wrap + } + + NDivider { + Layout.fillWidth: true + } + + NTextInput { + Layout.fillWidth: true + label: pluginApi?.tr("settings.alias.label") + description: pluginApi?.tr("settings.alias.description") + placeholderText: pluginApi?.tr("settings.alias.placeholder") + defaultValue: defaults.alias ?? "c" + text: root.editAlias + onTextChanged: root.editAlias = text + } + + NText { + Layout.fillWidth: true + text: root.aliasFeedback() + color: root.aliasValidation().state === "valid" ? Color.mOnSurfaceVariant : Color.mError + wrapMode: Text.Wrap + } + + NDivider { + Layout.fillWidth: true + } + + NLabel { + Layout.fillWidth: true + label: pluginApi?.tr("settings.bar.title") + description: pluginApi?.tr("settings.bar.description") + } + + NToggle { + label: pluginApi?.tr("settings.bar.hideInactive.label") + description: pluginApi?.tr("settings.bar.hideInactive.description") + checked: root.editHideInactive + defaultValue: defaults.hideInactiveWidget ?? false + onToggled: checked => root.editHideInactive = checked + } + + NDivider { + Layout.fillWidth: true + } + + NLabel { + Layout.fillWidth: true + label: pluginApi?.tr("settings.presets.title") + description: pluginApi?.tr("settings.presets.description") + } + + NScrollView { + id: presetsScroll + + Layout.fillWidth: true + Layout.preferredHeight: Math.min(presetsColumn.implicitHeight, 360 * Style.uiScaleRatio) + horizontalPolicy: ScrollBar.AlwaysOff + showScrollbarWhenScrollable: true + gradientColor: Color.mSurfaceVariant + + ColumnLayout { + id: presetsColumn + + width: presetsScroll.availableWidth + spacing: Style.marginM + + Repeater { + model: presetsModel + + delegate: ColumnLayout { + id: presetDelegate + + required property int index + required property string expression + + Layout.fillWidth: true + spacing: Style.marginXS + + RowLayout { + Layout.fillWidth: true + spacing: Style.marginS + + NTextInput { + id: presetInput + + Layout.fillWidth: true + placeholderText: pluginApi?.tr("settings.presets.placeholder") + text: presetDelegate.expression + onTextChanged: { + if (presetDelegate.expression !== text) { + presetsModel.setProperty(presetDelegate.index, "expression", text); + } + } + } + + NIconButton { + icon: "arrow-up" + tooltipText: pluginApi?.tr("settings.presets.moveUp") + enabled: presetDelegate.index > 0 + onClicked: presetsModel.move(presetDelegate.index, presetDelegate.index - 1, 1) + } + + NIconButton { + icon: "arrow-down" + tooltipText: pluginApi?.tr("settings.presets.moveDown") + enabled: presetDelegate.index < presetsModel.count - 1 + onClicked: presetsModel.move(presetDelegate.index, presetDelegate.index + 1, 1) + } + + NIconButton { + icon: "trash" + tooltipText: pluginApi?.tr("settings.presets.remove") + onClicked: presetsModel.remove(presetDelegate.index) + } + } + + readonly property var parsed: DurationLanguage.parse(presetInput.text) + + NText { + Layout.fillWidth: true + text: root.durationFeedback(presetInput.text) + color: presetDelegate.parsed.state === "valid" ? Color.mOnSurfaceVariant : Color.mError + wrapMode: Text.Wrap + } + } + } + } + } + + RowLayout { + Layout.fillWidth: true + spacing: Style.marginM + + NButton { + text: pluginApi?.tr("settings.presets.add") + icon: "plus" + onClicked: presetsModel.append({ + "expression": "" + }) + } + + Item { + Layout.fillWidth: true + } + + NButton { + text: pluginApi?.tr("settings.reset") + icon: "restore" + outlined: true + onClicked: root.resetDefaults() + } + } + + NToggle { + label: pluginApi?.tr("settings.indefinite.label") + description: pluginApi?.tr("settings.indefinite.description") + checked: root.editIncludeIndefinite + defaultValue: defaults.includeIndefinitePreset ?? true + onToggled: checked => root.editIncludeIndefinite = checked + } +} diff --git a/caffeinate/SettingsModel.js b/caffeinate/SettingsModel.js new file mode 100644 index 000000000..8141c7562 --- /dev/null +++ b/caffeinate/SettingsModel.js @@ -0,0 +1,41 @@ +function copyPresets(source) { + if (!Array.isArray(source)) + return []; + return source.map(function (preset) { + return String(preset); + }); +} + +function validate(alias, presets, canonicalPrefix, validateAlias, + parseDuration) { + var aliasResult = validateAlias(alias, canonicalPrefix); + if (aliasResult.state !== "valid") { + return { + "valid": false, + "field": "alias", + "code": aliasResult.code + }; + } + + var sourcePresets = copyPresets(presets); + var normalizedPresets = []; + for (var index = 0; index < sourcePresets.length; index++) { + var parsed = parseDuration(sourcePresets[index]); + if (parsed.state !== "valid") { + return { + "valid": false, + "field": "preset", + "index": index, + "state": parsed.state, + "code": parsed.code + }; + } + normalizedPresets.push(parsed.normalized); + } + + return { + "valid": true, + "alias": aliasResult.normalized, + "presets": normalizedPresets + }; +} diff --git a/caffeinate/i18n/en.json b/caffeinate/i18n/en.json new file mode 100644 index 000000000..3d4907a13 --- /dev/null +++ b/caffeinate/i18n/en.json @@ -0,0 +1,108 @@ +{ + "provider": { + "name": "Caffeinate", + "description": "Pause idle actions for a duration", + "aliasDescription": "Caffeinate using your configured alias" + }, + "action": { + "startFinite": "Caffeinate for {duration}", + "replaceFinite": "Replace with {duration}", + "startFiniteDescription": "Pause idle actions until this duration expires", + "replaceFiniteDescription": "Replace the current session with this duration", + "startIndefinite": "Caffeinate until stopped", + "replaceIndefinite": "Replace with an indefinite session", + "startIndefiniteDescription": "Pause idle actions until you explicitly end the session", + "replaceIndefiniteDescription": "Replace the current session and keep caffeinating until stopped", + "end": "End current session", + "endDescription": "Resume normal idle behavior now" + }, + "status": { + "off": "Caffeinate is off", + "offDescription": "Idle-triggered actions are using their normal settings", + "finite": "{duration} remaining", + "finiteDescription": "Idle-triggered actions are currently paused", + "indefinite": "Caffeinating until stopped", + "indefiniteDescription": "Idle-triggered actions stay paused until you end the session" + }, + "feedback": { + "incomplete": { + "title": "Keep typing a duration", + "empty-expression": "Try 30m, 1h 30m, :45, or ::30", + "missing-unit": "Add a unit such as s, m, h, d, or w", + "missing-component": "Add another duration component after the separator", + "missing-clock-field": "Complete the clock form, for example 1:30 or ::30" + }, + "invalid": { + "title": "That duration is not valid", + "negative-duration": "Durations cannot be negative", + "unsupported-unit": "Use seconds, minutes, hours, days, or weeks", + "expected-number": "Start each duration component with a number", + "unexpected-token": "Remove the unsupported punctuation or word", + "below-minimum": "The rounded duration must be at least one second", + "above-maximum": "The duration cannot exceed 52 weeks", + "clock-minute-range": "Clock-form minutes must be between 0 and 59", + "clock-second-range": "Clock-form seconds must be between 0 and 59", + "clock-empty-field": "Only leading clock fields may be empty; use ::30 for 30 seconds", + "clock-field-width": "Clock-form minutes and seconds use one or two digits", + "clock-numeric-field": "Clock-form fields must contain whole numbers", + "clock-field-count": "Use hours:minutes or hours:minutes:seconds", + "invalid-expression": "Try 30m, 1h 30m, :45, or ::30" + } + }, + "bar": { + "inactiveText": "Off", + "indefiniteText": "Until stopped", + "finiteTooltip": "Caffeinating — {duration} remaining\nLeft-click: session menu · Right-click: settings", + "indefiniteTooltip": "Caffeinating until stopped\nLeft-click: session menu · Right-click: settings", + "inactiveTooltip": "Caffeinate is off\nLeft-click: session menu · Right-click: settings" + }, + "panel": { + "title": "Caffeinate", + "startSession": "Start a session", + "replaceSession": "Replace current session", + "presetsDescription": "Choose a configured duration, or open the launcher to enter another.", + "untilStopped": "Until stopped", + "noPresets": "No presets are configured. Open the launcher to enter a duration.", + "cancel": "Cancel session", + "openLauncher": "Open launcher" + }, + "settings": { + "title": "Caffeinate", + "description": "Configure launcher shortcuts, session presets, and bar behavior.", + "alias": { + "label": "Command alias", + "description": "Optional shorter launcher word. Leave empty to disable it.", + "placeholder": "c", + "valid": "The alias opens Caffeinate as >{alias}", + "disabled": "Only >caffeinate will be available", + "formatError": "Use letters, numbers, and hyphens without spaces or a leading >", + "duplicateError": "The alias must differ from caffeinate" + }, + "presets": { + "title": "Duration presets", + "description": "These shortcuts appear when the provider opens with no duration.", + "placeholder": "30m", + "valid": "Resolves to {duration}", + "invalid": "Enter a valid duration from one second through 52 weeks", + "moveUp": "Move preset up", + "moveDown": "Move preset down", + "remove": "Remove preset", + "add": "Add preset" + }, + "indefinite": { + "label": "Show Until stopped", + "description": "Include an indefinite session among the blank-query presets" + }, + "bar": { + "title": "Bar widget", + "description": "Choose how Caffeinate appears between sessions.", + "hideInactive": { + "label": "Hide when inactive", + "description": "Remove the widget from the bar when there is no current session" + } + }, + "reset": "Reset defaults", + "invalidSave": "Fix invalid settings before saving", + "saved": "Caffeinate settings saved" + } +} diff --git a/caffeinate/manifest.json b/caffeinate/manifest.json new file mode 100644 index 000000000..d4fbf0d61 --- /dev/null +++ b/caffeinate/manifest.json @@ -0,0 +1,42 @@ +{ + "id": "caffeinate", + "name": "Caffeinate", + "version": "1.1.2", + "minNoctaliaVersion": "4.7.7", + "author": "Jostein Hanssen", + "license": "MIT", + "repository": "https://github.com/noctalia-dev/noctalia-plugins", + "description": "Pause idle actions for an arbitrary duration from the Noctalia launcher.", + "tags": [ + "Bar", + "Launcher", + "System", + "Utility" + ], + "entryPoints": { + "main": "Main.qml", + "launcherProvider": "LauncherProvider.qml", + "barWidget": "BarWidget.qml", + "panel": "BarWidget.qml", + "settings": "Settings.qml?v=2" + }, + "dependencies": { + "plugins": [] + }, + "metadata": { + "commandPrefix": "caffeinate", + "defaultSettings": { + "alias": "c", + "presets": [ + "15m", + "30m", + "1h", + "2h", + "4h", + "8h" + ], + "includeIndefinitePreset": true, + "hideInactiveWidget": false + } + } +} diff --git a/caffeinate/preview.png b/caffeinate/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..87dbe2b72df67457221919b0bccdaa0431b092c6 GIT binary patch literal 135875 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�r z<0gAcpdVCRb4dwg;`T`n+N)(t_<9-5(I|b}i{P+6;*MtOPE{fZy(d^Em<`@{(sIel zoJ`f}+v)hor%aQ3AmG;e{K87*7Tb8d+lWAzC27t{s`%@(J!uv2&Htg0N6y%P<=Jpa zwTTUD8J!2XHzw)VK%Bv6;zhECB^)Q2^p#%uJKe1<9>hJOp447c`GlTNLqSX)roZzb z<#0lHb>Jwy@m{z2PKl3tO?ZXTr^p&zn9f$8QJB&bcZt!Z^ux55Pl`31=8uy< z0z?x;vx5HpMfTXs)N=LhxxzbJkilc2sg@aSD~ddnhc+P4$Uar+=cn)xp~zteGW*Mo z8X5)yBiEjJO6$0vyZUtf*m&8y6{z~;d?b()k7()^?j{p<+q)(pzwv(2F)qE>-oW?? z`)&N4&@i(0TQOC{JaPi|j@b1*mbuv}@w|)m;7ITd4pn8tGIabCQgiP(spCceVJ%i&~v2fPl z_?P^4CPBuR2sWByO0dUo@jmLw#ocPFD4+jEDC}Y6_t7;!j&X7P(YHKnYmPZ0rtSE5 zL=qsjZ{uopr&-V|TLC879l{TxkETiSf8uRZdYTu9v5dS{PyD2;A<*gC(+qkH!=ii_ zG(i~J{>KCZWd#kU&rL6X*fbtoO-&v%ZFuc1!efiVF)^sHd+&34x6y`&0!{?X$E@5M zRdw>2l1K47GVDD~fY_;vkX#Dnl&fO{s2APbJEjQGBl6cJYqS%BN65 zUMTU1$C5){Lcg-!ruk>%4e~LnwM|G}eRS#62F9QKvcA->G3qeP6s@H5@}?}m8pi-V zP8%jK#>8BT1jA^a0#e__Mzo1(ej9mZj`2CD1-Qf!JYIzSQ1?2gBTJ|S9FDo_xsu%w zJNFbl%(TO+naagp6t9w|QzIFT_^sfE7R;!{q5VnyoHC1Q3vjy^q|gKEUwI*Y`H}1J zf#7Mc*=e;`M#XV8$6+=4RMx^sMF@md-kmZZ`hsDBhw-`Vy}SBHjZ<@T0&K*htootn zEuZX%?=C+H_=k+^{a+qw6dbn$=Z~hf`|Bt{Eik{iIdFvbYIGVLGlXL73{5vsu$4Pd zQ(YUAI{X1A1uB;mk~V2TciUVsaug5MHPgPG94*jd8G3w4Z&m3k z3rB+&G<}48ZCUSF>DkufR|)7Tl&upta%N`9{j62ZI==AfAx5C7Y>OeVnIdKU`rG-7 zEv&q7(C=Z~A<*ki8*i=S$vW9`vKj+&H7eq7_~PfvS@<-{_fWOxkNpEzi^Anzamkuo z-pATLG!y+$q*D&(lu-ck;h0X0N@lP&C&t4$qhkBGmFc4C-&3h2k_o5Cb3uBZ=Wb{fCF#@A&L`Cs zrSS{bYIJM2UCrOE>H`ki)xW_;!MMqHU;#{@u~BjCBi$DLZAP3|*w~npMI%E$tAg1K zO0H!MP48cVR$H0q6{K`cNwF)BIAXn6)m5|n!A}hqjB{cZ6+@l80(Z`;i&<`Cnp$+9 zW^U}Sag*{X;~YOH@A*fdV#OavnR3+Q+N{hwHy05ajbyR7$EIk%?5$$NaEL`Z>1V)> zHsrwjpFnjpI&_vbz!-2ZU?RuOZovW;lataE^S=7>jxyN2s!D9jnKzWS98FD_Dq_ z74`8rm75C1>{$SmZ0+gO25m`&QpyYt{9I7j+QJ_LF!y!$LJKL6oU(7R_KpjI7V z_u3=%BBhj(sjni3(`}NC7o|fYER{i1O?)}qEo)8ndg4mlT+R{|clH6R>`|H8qXUa( z{RT>A7^n_$wFQ1qIt-Z(3D_-H4r%yC@M5tR-mLZRi)}1^c&l|b5!>?u)fB)tTu=)} zE5G@13jMG0C4TxkE4}P6Bew`w%bX_~Lql|*?8wAnV(`!p1RPmsg>+yTo+)9GyG*dH z1R`>SIZQxY^yG5CxIXmpSL zAz}+%kRh^z@zw9o`xr)?UN38@+mM0$fzM>ck#NQ9hn%(orer6N8WIi1fGYtb?NJyU z%j!y~-G-nlCu8o|G{wmC-YBVL;Cd=@bE8o!O=8`eG-9PcX<|kK4Zn&MpJ4A0 z+x0iOk04;}MZ7ziLt4<7Lcd&sVh;+A6x7?1ud{Q*V>k zmfwgX^=Rx>!;=)mz)4BIpo)SGm_>|!Ld3@oFTrxAVGEQyOAyR4+U%w2L$Erfo(N*l zw1|H{+882Ot?Vc$YvW+lt9vNnYqUbo=4l`NY?yJ`YHt4bNmKkk*ubWgop$`h!uzSf zS`AXnN(L}+b6IJbx~w<-qs>%`ml5e!R8F$PtH-t6GDdA?j>XlOAoz%+QR@^mAB7ub zjFlCG0_bZVM>l*LkpU-1PyI;AA`KoN*`krgv!sbImvuz99dKGw{%I1}G)hZId^ePU z5fy+(Hd7Wxr2Uzx=)O5xCGu~=t#$L6F!xL0cM9cKI=EF$pK7sP%h(ZtR9_RY5_& z%@uj$`%fS=4j9VywyWC5nz&HlqI_H?Q@<=>C)UMBd(#$1Li+)HRaWBK#(Ogngj7#n z0k`@sS6+{L7X7;t8|gguej?kCHqoD2E`KQ7(ofu?ygOA!=PmKvsLNbwF*W6BVR>Zn#*nL_(t1OpFBi1Ls~MgG2Rs7jB@D12GeR=s-|+x*-rm!37<2G4Et zJSuh6)JVPN$iQc1JYu97%uh0Dv9PC(+08$ABoTJz+;}6kvswWcmHxo%%E2{1xasLQ zVlDITWM1N#E?v;EtrTcwBM!`7L z1%FT@y^w={7@`F*9!XjFc)~bn<2gF{-PUU8;>Ck(v9!3R@W(0i&Byjtvh_>D-{tTB zb+y%ZvnFGhhxv!a-=oFmy9w67lGuUM)TP2=a{5c{Tzz2UB*6V4|KwI(T}dS(bn$he zCVyMrBYK4FG#=Q?n7DIz4?xCs_p2b^Qju?(eANQ_a$x!qM5NF>0*B{tQbsqioOnp3 zB`Av!iOVeCHKi&1M)eOVe%#o@)`UV&NSmpUSxNETts5L*xcM7WG0#glL&ovuZF z7fBtqLWMB-JsBG%gc=)Ufr1_bmviA%g9-odNEB=)Ve9E8bEe(?C=+A6<7quuZf&Bu z;`IA}>){O3xuSCIV)Qj^vjEoI)1wdJ^oh9>l?SQc?&Enz1iMk=nyADUV)@;YlEL+j z?_%eXURr($Fms}`<)(F@_W}V%j+c$KDs8pze*C=fhbA&C2mSsJdfYyEerZ&nOK>?^ zZ~`l{Db(e(;p(_=tN0>0@wjrJSHvihrwiBjR>s#2O9L3pc~NrFGv|y-AQN?{+4@o) z{$db;Yxm3LF5TId$hL{eM>^$qEZdq9(%F&m;ufi(*HXkT@1|F`Iy2KTy5wTOfS-0#;>&W4JZB60vq8r7xTConJ|1e;HkmWn~N^q;l|kP($WS-mx^+B_u{zxKKqy zGb6_heu(1jOjJAeOHMPe%FDYgcfQN1%^EB+#FDLoa9`55nwrWVEq>CRUe&zc-29YP z?5Xm9i5uN-E#hvz5k5$qwv<=J&eW^m*#r*w`NUbl!|I2p`D>ftFO{Hm3mIAWGan@_ zQJK`o%d@g_2Xp<9EOyIK9~-I@>w2yA5IekFsfxsiOy9-p}$3p8-7bA5v znfAg)`BH}2m8-v%?AZ5}9AaoL{)CKl!~Tz|jqdw$`3b*fj|dqZe2#3wcK=@Y%1UO^Z%v(`&8}J4vhyrC%Nf++YHY=Gta{uBu`goe#3oeEa~;& zqZ4~WmMo&{+8l=o02Zh7avN_fACvfYdM^8qP#PfGu{{lEfi(I>B+=i}{daWY3h^SysWS*PGJ66S3` zcm&eeqhpM@yI{7=8}<7#S9g=KW)9n%zzqm@k|V55HH3NbX23L&x#Xlnt#IC=LcO#e z^#G_cng+QbfBaun;6-sUT37&JuaoqtDWp{})bzaQ1xrw%-;(MTn2DIJHwaRLQt_9} z?Y~ZXD&mHw2u2Y1Ytc5cM+g1^E>kr}qWS^&w$Qn;S3aOVKQqNSrP3sxk$D#Rk^ae* z<81t~8l#pI+Q17F&82#4!@a=h=6NrFD_MkJdbRk4bdT-F{6`(CaKV%>ryIEJAifbU5^$!vR3_J45x(to=-3Q$VOIQX<|XEFYpTP}av|IeX# zzQXnTT!9k56u67~(kM3FdAx4lK)d!&GftdvaM74g!Y2?|KdKMYk(OE#(u<)J692WH zzDR9V04s8R!p3<6AXXIN3|LTZ(_H!a-|zpL{*UEWIDkN55u(Moz5VYcOxG(Me*N)s z;bCL=t-WMmO4L9ftV*1ubOW+y8(42_i&8O3Ky4 z%=O=@qT)ysm;V{$!A%_5P*=x2Kl^=tUhUtSM!xClOUXqvh?5dc#fbzv^rgc4Y`7H@ zj?%9V(gNR6*X-W0K#&5!CMp&ePG&opTm%zq*raM^DUB(Xa|*`nR{QhxB)&Kf3ft$x z+TXONfwAjL5IV|`Ym332jUr`1o`Hy-TXNxnRihkUE>(fuJ`SFD>pldScV=~-1NtO{ z$*~Ctfcl%+Lp61!|G+{pE>7k0QgC<2Z3+~-TNt!k2nl+$(v3d!_%;nnC6N8{WpHSS zaev}-v=kHOaV4M9(iFK3144>yG*~Eugn8H56nXq5BE+V|<7$~FNM>ZPA&|%~N15rM zQFS23VVQt4qMiVUn{zW|eK)&GiVz%zS|d?G%b8A;D>B*2sc7P1Ur1!r%Ws~}7kIq! zd!#pmlrEUnH@h)aHoTwC5*=Vgg72sHUtgI7oSBaonnRr0J1SaoIw0Z(2$8n7wq>QI z5`A^oWo^F|5Xs)l$+;%|A!z&~#{2D`WGHlR&XRP2g=d-5g9<`(K5xXp#~!#Dn3bfP zQiwJBtO(ppUojC+BiPL~voh2}xHFChCUA2?9MG<961b*=K5cf+u3smmJJ+~GmbdqP<Kl=^~(GaWo{ea$)D1? zLG;^@jMHI)D3tsF!N5e2E6jWK)Oa@v9iy7tsG%c7ibR5Odg;KHhoC|hjn^&y$*$Tm z|Gx?XD^%F+Xq6W?l$3$#Us&b$TV3kEvy6V#Tzpt*xm&5VmRshp%QlCt=aB-q$C&r3 z+0oLxWsSfxx5CzxdoJuC19|v&QVkL209FkmYP#)jkUo8c?~+(>X&T8BJf+xU`M+UC z3z#W7o6{Vizn?+rM=fKfE$9Fg*pfBG=*Drw8-HxGZBAKsIxDJU1uYcZ7rLN*IW%e^ zr{06mLeA+dxBmZGweG#=97xObvuy6MW_ELPb&b(4np~HE-qX^SM=n$ErIb|B$lD`X;M;@hwxkr;jVN)_RQ~#{Xyo?RBeZIgXAU6$cf0LwlK(!dJ*!mR)M{dv0nkqXR>DVWGk5N@@5ABB1&k7^BKVMHa%8YsrAo3*+RY`~6VAj{s}t?sKpX2`rTvls1%NI!Sp%=B z_fbuCrEx_eFx=V5-cgz@{=p?KEEzOsbuik}N8Cb;Ek2xg_6Ybm6e7V5C(XWNbDwM~ z{-Ccr^9w8RdqUjfJ)B1)DCez*U4LDiK4Ep#7H|`vJ~8T!cWzBtOPN>!CTi|3^o5#o z8m12#^?a@tj!^*n1>-M|`qo469a%0TrhBVGA{m7{$DIc|fi5!zZihs zrAryA>oyd!p*y7t1RpWYv*@0$bLm$UZ*I(ua)Z}f_))|QIU;362Z?{Ke62O#?LMw> z*?YZ7L%W&z4~_fUway#p`4m02+}hD9|6|9bwURPtJL@O>%YelOf9Y8DU`rFRNuV_~ zef;%6Rjp4HDN)?pDc^#96=MHrX2$YCYb^&FD+SZ;zPn6%2ugdt*y7;2Yy16!0j0xo zHDE8@>)QSbzE4svF(@w;m$DDJyE%4lFXR`@ZT5ug(RKXG6m|;1;3@3rKD_ehE3Y&b zhPqf9m(ig+HRmUb)rXr+!d>rnXMJwt^X>Og6KTp8x1G3urg{rSr*pD~+tSh2Ly|@| z{l=1x^456R*+Nm~!%ETkiYv5urf<<{ZYE3bs_#=ggwV9`GtiispX=AQGQIHmFLR1{ zjy{(FcXOD_e9`#JYlfhd8)x*WZ0G&#|2(efN1jJxbot$V9s)XR8;UL{k0?$M%})boVDWEbFt!;Fdpz^qFr_2yzfxLB1k<%rj-!xK(>SIyvJhh8 zaKzAhT=}CATL8M0(Kz771_v@4q6_*ECw&^fu9e!QbFd;)Y1MC!x@A58aC5OL8l)d> zGf{z-bx)rOc`g^cEviu@xwsCEBKR)ZC<W^) zS)xy>Qvd2s5=Jr2U06Lwnl}TdTFL*{nDg9QzvH3wt!!a6L5KUcX>EjPx^(NDzld4$ z{64YezLCfZohX%KUFtp}q#KSBp!cx)^6O2*-=eO)o$7yyvRv$+YI9Qck5&rPa+r8prHU61KMLp*-!UQl9PP;Xw?bacMtSZ%kjT+nQYK zy!N3rkeb&lqVOEsSP>|Y@II)BUVU8`%_5w~1>{F{-p6S}OwOkYI$y4ej<|x>-1kOe z86)*y?iQ2cieO&5=RPTIUelMs6u;hTUxF<87(4G6%}IqlzwKdKmNmCHFBWA9UCsq< zn$7J6ynp-YbytB7m@3loIeD|<5xw4<7b!sq*^bEIf0;5yz8;GLm&zsiJRWS>RjeI3 zn(jHDO>w--KFhj0oceC6>>K1lG5)4bl{OiAVPQrtK?WzL(l{BvmoDP!Z0M0+V0Ls# ztJrqGQv*+WDgC;u&INS~1Bg9lZ;{{6<1CBn=zMY++8~REqpV+>e7m3T6TZr7-FcZA z_HlpYXtrM;R=4%AP2+jo{-wi7S!=o1`F86t%|Sn!qLmQsLPFqUKmJSo^hZ?WS!K(8 zNS=pz^&y#4)=#I!b*|IoxX2GoK5xNTYMEJC92UJMNA2 z!#$|~^CuSYJv%M!*$O$YfB5ZL?69&j%L_7F)a&oWg2}RQrDXGFjn(;jiTReK;G}9? z`eDDJ*Xma!df-py1+Fij!;l4eM#VK<4BzZ`grVOvcAPQAqXK*TKB|CCV(s01w`y!dblWzP*$&7j|6zWqW-( z#-N~~I@rNMO7@1`h`!t;w4o@;slKOmAr-NF%#y?w)oJbMHSR6n8Y6A4_2b0A$^D1-A1~BLQM6d$qqr_8_rD=rYlcBd6Xy5A8){ zJZFDJy;>&qfI8Y*nsPBEE&>ppix+7Ww0L(0{o?2R;aiy*<1@hqmRWoI$ftD_VVh9KBWFGhu zH2ygMY-75D&c)?qZl{4zg~J4NK#a(1K<(R~$;dgG1DEZ!U!qPX0sw#sR;H8o z?(_GOl~z|V890E!1O1xoC>z9t@;oRtC^7vvj;i^y%eS?s)91T4*Ale{TxgnzW^)CB9TH64@VWIP z-Y3X*$424iiGw{^CeX4yl_FTgR%7S6GKMkO zU3L8FE*&lfBkinxtJ98RB8_;8Uf25)H4w*pt!C}{q8>{wdwF~M)nTPL6Pj*6X}c#-Z$qrZ)=jY!)lA&K_@A*s-TRw*UmSQ=0cwG zGaR=!tK9`EY29BlhevBHNtIzOpR(TW(hM6Tp8* z7FNSh)X3}OGCbQDDPOMtGPiT*^?hn8SJJI=@>gT%gWTJFZP7g4O~>}3YSbCQ0jJqW z6RiI1yBV4LEe`cGoYt2$kMl+3MBZz@$GTRw{fZPf<|Co)d_y9XNV&|P>xph(@)lnz z-*znH`OZY^C#u+U!RuB>?L)g2ezkH z^RT}vqVfWHop9YRoTwQ!l`g@~7H;;apt$__!4wM%D1+mWET|I43y70OTCI@vn zM>cCcO9Vyz_P@K#c2P(${;%4Es}IA0U3Dn-G77_TMTKFvt$#I49gtqW8nxTw(rWjcQ8(Sile%*CJ>s$5J z_Eu%;Cldo76)EwJfP+B1LJIGdp*y>`Bl^;#dcCcnTRFH6yPK=5q&k|SeC|^pn^lPF zBi1m9&~w%CpEGq{qIiwAf{u!6Oh9U?_Q1WYu8lE^FLsn}@zZnv-RjB|iqh@AHg(ZU zoxYTnYmz)t+ujV^0YIr?f8|MZSsl)Py}U7#X!!|3H8>~2a|no;vg=8+(&%7(Uu!r@N_*f>aClQK-!ZCNhrE_ovJx@?!VTu+iAUkki^z~A zGVa4C>n7XaE1<@i5Ntx|`l25-4^3x=y5=6%l(a90VPg5kmGgd|I|4A%(lf=2H~->- z9E%vUiP}xoy^;x-(0uNx9JjK`jGdfW6dW9S0S$4@8SCH zJ{P50X2Gn~SR_815f{@Q1#Uq8tvkY#_Wg~F3;}amc(J65U!Klw-kK?h2PoxHv+Ee9 zvq*Qg#pQNL1K5b6B`M8}0Bn{;Ju7DI%EgwVOy+mGEsvcPisTLwd(Vc_uN&jixOOG5 z)~zkKUD4;)ijV!dAO5F%BoXUp@ol=teqV!`R9xdmVftU=5bdNljtJZQgu~AcmxWwx zkhxYecc?n6q&G8eg!EXmf-Pb0=;A|AvA?Oe87D~u4VWN9e33l!Lu)HAWsx+FekzE= zFP}ecKk{O}2jvGNX#~eu`QumZk2!7J{C6!bZRJ*5QCh??NmK1_$x&Hn4AneoH<|9I zy3<#h!>>tiH&dPm(l1wcP)voKNAG2kXOpX;n*uTgzN@M3K~$aM7V;f{Qs;4oB4NTJ ze2?`Z?vJocfm?c~R|hXBirqqo)x%M#YuU#$$Hn^iN9&Fw+euX4uzwP6ss-tRMn$gV zWG$J)!1*lKqz^JhJA5~raH@H}nu$okEO2pqbVi!CYI@(*!6*oJmU6!1RrIcF?QTdc zET6n>+>Rl)*#P`MqP{w=>F<4eG$Mk4f^;*LZbo-EN=iw0cS?F#Qe2DpL82KSgXtZ{R~CF`n>DKW$tludr*7wxmP(P5 z`OL?~Ty^fc@faf5xh>f&fIdNQO6LR=EIlMzQO>+*y+&jXLY6vO7vE>$C>Q9(eceKZ{>otUdndEAB1tKGoP#eQFB;C^8--&D0}Az4Q|$XugcT(=Q^M zrAEFl(xLz#-3ciH_Pdo^c-H-`OBY+K@mh;57(V)6>~0E?0qTS7v(#;d70NR5O$BII zVp9EX5*6R-ok!*%PV-Sr>!l}O0$zSMhOTB|kWldo5j6Q-FJQc;!7b1je`3&I+)Kl$ z>c3VnFRAqc&3;mtgyDF)oh~x`%3PJf9Zb}fDRMhlYzZ(P?m`Gd6=@}F?+suuh4JI; zX^RiwD#TKYR1)5Qs7;TQf`W^>y1Ws=X_T<}%sQ;CKzPAa5||!t8_EL=Ml}{2oj=bdg1eFDTBN-7k2{I+fXXGkf_>(AKWtJ$ z+JfJ?yy(0}EdBN<%T6?8W0y?En*M0{+-9&U7BtXq~C~f6F%W=%% zV9np%OzC8R)W5kuZ}pUxTs=R%E!g=eu#wFazGD zUIbcDF`l-W7vx*TdV=pX0V2)DF^e+$GOZbR4CT$1CcAAD}Pj z6Z%~D*$!@Q+%sz&r)I;Z{llYEml(>G& z0xDEDev&;4*$a3qgas)ng$Db$seDC#bM?jwCH8Kv8hA6EJ`08|cAOrSG49PWlOyGt z2j~=j9{;ZxH&)fs%1TPo(9(MSE4w;_Dq_<@*eW?qnA+$m0qN2-+>l4&{ z-o&6g4@J!6#ZETU%;sAqy01=IC~wk;lUZUu5s}msu?GWak&zUBj!l|V;*s{ajkT=y z9f_LgNIF-Gi8zFPGL-F0@mjhvVJzA$;@$5BG1|U0^%0xhP%RMCdu%j623QHedL%*_8#mF z)j}*ei-ya(H_=*9c z&JCik>}>SoKgDm%K%w(3J}_c|C`Y{vFn(koKdI)Fl#veIFQcj=tpd4zhDDY%fn-`AZ3vga z7^1A@7=Vt=I;~ZMXR6?p4@FnCv4;LI#=us6wZOfiIZ6?mm4O9~`%77e)y~aB51wMB z<@(d->-0OQfZUX^4jAQ9%p0K^6=iD)FFCqrxhIDZ3L$txXTLJJV7&rK^?Spn&vy?F zLx)245q%$7MTBAbd4maIQTs_L2|YIQktxjjS9g8#P$SiSEr(CuGn?JTG3oQXtoeoB z{Y6($LffS|(}z~y^I@X3&c~2vLXjL-fAka4Ra=f`a+Vv?#GVG$oFFj2|zAKluSAFgt`grQs01^Gr@$x_9jj95TCcM=TY}<6=0(CyglwbZ0DL0t)y*z3#=z)lx^+u}s7ur-!MbqB(i@tH zSzzWJ=C{@*n7HH~)GJMNX)!f;;#y}}@EEL=g9<2KV;2*`^jDp5{^qTe&E_0+Jqk8h z{3Hh`U4cBfkD0;at&_())?*d6Jmmf&u@RBVS&ohXRidnTr-Gdc-EbV|7e$X50<_a^x!+ z+OC%%fSk~qojv}v(TwLiwJglvFvu_GmZ>aoMK0gJm6TMfNTd^Sr8;kzq;N_9;*z#T z%LbOTz<#rE+YqL9yAkXhM(GA^f!8{YOw(T5z7NI`YP%ka5mnfSIaGiA%j)^zr|Ohj zpKD?)ZLa(Tc=|AN(sG8gS8j^Ft1myWbvyg{Hm`&c`jyR`+9h8~&hY2yf|4(@OXyY` z`wz{Rx-Lsxq7KC@P@4zH%QCyAt%-F!_6zcs?3dB4lHZ6Nh`b2{F)WJSzMZd5$%1Bg z*6!cxjq%w^LQYJc$6fB$+A%&A-g@KJr5Z9a|A)OGExwD$FReHAfOJtjftFvK$c*DM zGt-l@4AtA~3Jdp*Y#klD6K5MR92C0hx7zGfV(qhRNzQqj9dpi6p&R)Z5FMDarkaVI zWRz8mJNLza1hznr${P?*AS^c7w~6Nm%K_G!50}H^UPHOCw@`d$eB3wY7fLUfKV|v- zS2wv!>sUGIdYfyy`xd~e&QqH&DX@U{U0*&#ns)I5 zWLuEdo?!}`rS+$*7F?*n7Q?E4kP)Nac4S^$*8aGnTKyMN>=NsGLXPt%EtL&`N>jO4 zN1*tGxpySdCu?(KG1giStg1fk1X7l|dY87KDHP(ys@BOIJsNpxkKZd&G&Hli&C*;^ z@0!suh-%0M-+L*2E~~T@{#-9ijfX=+NS?%Hz@VmUZ%0qN`wqt^Z3+(wsii!LCV_w_ zf-es*%;LCZp6G>SKZ&$tE%2!l+cSHhLdTTsiJ}O3)9KLi7x4@df2v7Iu8$V~RQjwf zw~ukpVCZh_yc~BR0?_K4pkS($@J%ce~s{iB$-S4 zSQ;8hQ$0!Jkh({w(#B4tDg13<wCifUOMgR3-Gw@Y0uZV#9@Zp zmsCG{dGwN3yUtQ$`tM7 z*4>_`uoRPwqg>swEHc%AX-1V93H+aRJ-zraxkI0@(!XSlp`kGcduvO3Yg;R;KUXDH zGTh90R&fOdiQ9?O+lgF4B$aR144)3CA1Cio7d=+dZRJP@>5F=)rDILIKr&JqdLfNB z(kyy>ne4uq008%^fY_HNfZS(xsd89cwC8Fx_TwWiT>5luqzS`tnTl0LI^xORfxd|! zQmn*L@E*)&^JQa2LX*Uh0Y(~v^NI9AFWM@R;rm2Yo7b8h;>?DPkJ-d2}^XIK=AmBnTAEXL%O z?ok7yhRaSq48ZGkxMax2w7Sg~JTR6#4hc1qBZu23HeG`zEyCP7)?6(H^!l2Y6NLDd ztpdm<$Z4u;z4#HbbkQYky8jHJKk%$WFoMs~JYJ2EwmK-78h5sxz712==*D*3w8IF8 zIW2oo>3rqHqQ!Hv8u-kUNBum1-q`skTpGARI#{2gqoc$0k5%#tAEL(2(htHL`Y7Q={zDQ#6oZBQlYJ&K zELHpf&vMp?qtpf4>oWeULd43&Pd-QSFF+^D=H=vx2>e7kZ;O5hm$=p$B%wx@Lg|0B zwTGX9nJ?q8r7`kehs_)j<1uGjTJ~Y1IS{6S-)apnKoHTPR30EM>_SpJBt9BTrq5?8 z%9~Kl+B%&~83PL3(R+}Sf~WhzT10Zl2-%>+34XWs236dZiA~B@K_mUP9##Gqxh~^D z=h<2q@Y&$t`?7y50kI$Yw*6!TmM`WTJD1KGG3(!Y%`Lwx%3zk(mESbW&9fymhk~ zQR!^#rw5K?a}(kn=|Da`uSdm5TwO3TxdeXc%-GO&RCuk!^nQYL-c=nXhT>n8dooBSBz1JizmaFLeoWCRPyx zQaGrzo5@)^oBDlCY(_TvEk5p~=w5TL_#Y|yF#bGdm3Pk@G6mFG_&CW-oxY)F5Lf=n z5K?dT#*G*(Hab^K@ZiCRrSt?yj-%Sfaic&u2#PVIu<6%jxr*}X#s zH3^ZuQV1!af$)@nvmIxfLPEh1M_N(A(RCQq4DjnQPMCq0{{7XCs^_B@XpVcICWG4d z&BsFHikNm|3au zp98pFYv#Shqqe3{Tz=&pt?Abjs>}3=b@tvgX~~Y$oGu;dAh6FP>ZduKB*QXiZ5~rZ z!+b!M!mP!l!U_;1x#}M#jrt5ihWU~>NTan$&8w6u9z_N{^DvM-w)tPg>%x6w{wjUD z{dJ2Sg)(XwrsYZdhb-=`HaQ-T6tM90{L2kh93qx^JkJl^~ zV`xJ#4Kv*@x+)ssf39I&CJhA+HxqNVbt%Dxl}w&c%G2<&4-Vsf}6H22Q@hZy(DV`y>F3J67njsbgipTLk9dAp+}CwMDCf1rG+J0H`+^PsMhv+I1hw9a)0Pe zt8tDAY1bdA1R9%l0omEwcYPW0|?-B`BnZ2~>R{{511G zrNS_)IQxCaS(G&uzo5aBh&p#mk?A6LUuiX1jyeA>$W~i1qxm}zV$K*||IaLfhzE5L4TOgPD zTw_s;M6&mi&*y&upmT*HgyG%hz{|jj5G={4&<}449TXped?wk7*g1Usz7I1q_m6|N zO@p)V-n_{C^ooxLnLhpy+d081+`kEiv~JQpNwpuc@zWrv1VgW?1&yN3)E~2S<3ZyR>hBWyC)A78SWK z+12F9*qsxfMexa}{VH~<8kWXM%%or!IXeC0YcpP? zv95ri-#iJMRyz-fKWknEU00-zhyxiw1XT7#*H>F=RKo+(i~KM2XPGn{lk67xd4*duocKz61K7ppTDy#7dLe8BYOP@qmHfkeh=d`DDxK#a(>rat zJtk=7MQO4mU1LWZHqa|ySRx>C8{NPZ=g#bGsT|qeD=w+2fo~5Qg)=@!0wC$fq^(~H zW2@18^LNW1x~%x0)9s8G!yc2B7TJ>dZc9d%ORdMZoU9)k)TL=P{tVu>o>X= z&OP=>#u(kx)bn*~cP|NXc3nj2`@b@vU47LkK?2BId9V}`cey$fnJ`q_ZN(TTY)<`4 zi9{rknN@ldy7i8vHatfZk7#B$EE#XMCyK-tTGVOCiQ|97C|ui|d$oww@^)bt0!fk| zaC1o$S%Q^@>LV?1_yvkw8=SV_-%G}ZuA#1LZ`T4E?<0a!svy(3m`GPUxMF6a}D%yi2 zQj&{q)BA(gX8V5!717a+u)s0vyO^sT_QLed zj9a9TkFZ!^9}9zIw&8j}p6l zp?^eh#l9Hnu5mv4LJGH>E12cS4g_6iRUWy_x~6#Hk9Q3(&Qrc~UR=6JZ(C0^Ll1Gm z%XNq4e$2!Y=7wyIRLG+~TK>0BgKND$Bq&6x9q#+zRwVlCnGD-o{xZ(;fRCPv`r&#}(%yF?yw&*X}BH8I?IadIVQqx+!O>hEX=b0(2 zdR~a+*p(^o3-50$u%s;u*__>h1ud>#BMe^0PJPxaR!#$`wjHE}Bd*+upUC+*S+y^7 zo#4-L5zrk!C)UWlD%?lc6JS&xze9K_h0;`NUn&+*?Y|`IR+!-P1_dTm7{~x*?04ol zvJ-nKLoZaGQC}pr%+BE*CiKdk7(^PZ`3UHdg*IXV_wLyi3269T&t>zt$n30H5RH98 z$)&pXQJZf*YO{yD>N2FdMmx`a{rvOXJB!ix-vHB0{+riJt1AR(fcb_i2U3Lw*eSnY z)7&<3ct^dp*b`w&V0)mBMacLw;vq`5-umW#+|YBQP{o~Bwb;b}CK8Hnw#$GbdXPKp z59Zg*`CKN^_ossc)tVuW`DeK z79U_5g%~`wC&}o(8Arf#40LlqS1BI){4^~mhZc`)ygT)z3~!xTX*BTzm+ysFcYl=6W|dw}NtCJEo^B$wvYuv2l}>wJ9)r4e zV(1fzNV>QSyKFJ+i9~b`@jz_$bkR|DNQEzF$`LK|okWO%J1*j?-y><87gMb8CfI8_4o2Kwx4!%Zjsl)03QeDI^Wt4hf4}_>V_KA$%D0G+!#>b$n{D zJYSHl^4FWMsTE-YMrbFy@)sI-7iM0z^aj&+Xcox1l+H-oB1J5-naCRVlTpvws6ObU z00Sc3&Zvw4mew0VDFPOK$HuR=6IR2rccMt*$u=x>WHO74CDoJ$f&`{|$m3+6QH_X+ zk{6jaHL~Wry%^oG+ZCn`rAFah3>QL?y!ggngd_^jjutqQj$Z62Phmn>Pkwuy!FZLp z8m_WGp{?1nmF2@KaI(D6|8O~enuJ$yEns~A{qh1g00fD8j;L!z0$3BS_{~^xR>4L` zwX&VYx(#QLMZ3Sjss!N8<)?Se?`<~Gw8#xp3y1>F4sFKy?lY&xTTZt+ywzh(AfNd7 zW-PXx!=h#3>(yF0e#dqZ1rcBhk4?0v728I^^0+o#6-EUoB` zt|xRjz3Yx0mi-s?tL^8IaxW`IvU#`CeMBlvSBebXdIxN0e?FEP8nVHU5>%SugVi?F zE(4%B3jKlUExG?f6jEpY9ce`eW~?ERL@dAf58r^BZ3_@K>L+^N%~%<{A34##@tE*) zCHjRhBCsQ#UmwZ0ii#*L$&XBY!MXUdWfv>#g^;yQfHv0l9Is}6WX|0#>= zDmyl!6kcSG^TbVq6rU$w+*>BFV8dS8l~tFc0Ax9di0rDW%Yg%A+^sc@gvH&0UjuREMv&vv+@xYe@VK0yb)f zkYLV33ZITT`p{AHbZRPMS_TDmwbrIThs^IqyIm;-hK8$9q&`#aJc@2=ng$jYNqYp` zf_s56*{fCq8~FlYn0t-<% z>Lj`0g4$=h&{>;Va&Y>pROCrIEEe3E(nKHSlpH;9^|q&a72rRkNb1U-i_tu zvh}SE%%e(9W3xcEL!wXq`f+q0V&xPC6Vc)0G? zR8$`_zIs!j1Fe8YBgmzOk9kz<#wsKLTb*9@ z!!Epc$Bmhc17G`t{OP-Jw`ft zo2Y}miRh5(kGvr*O+59Y4$7#3Ivvv2hwXMML%CbKnTw2K$SciOk3@RP{N({_1Oe_^ z@U8Jmrg3toF(nAaYG_ixS(DAF?nGvDh7{wTfUi+F99Aox?J>!&UpNfZ)zTqHn{bvH z=R2-{P#Oknw{Pbc(wh`}P`K?=`VUb&I!d@~sA(DaADoTsC2Kk4KwVR%+5hGHYs4WI z-RaY_r24-nMpmb3=eH)YX!?=$UJPlP+N(eFt-dVY}?@ zTt`uBU@uv3m)t&V7(Ob4q1PrbQ&V?J?#?zR<{3NhtKV&imI^F@JBz2!;8%FjHcs1v zhl)Nu0b|)j$aN_~=iB&najeXv6hxyZ02F)3!pSNQOM@b?-OwxO=1fu&(@|r_J_I zwSFbaHCkY+L$AQ8UvIebQmuM$`sa;ftL4XyEfr?zvIQIa&(ISU1biB+pp{&+E`Im8 zdWF;Cci=ltAkJYHQRxcU?yf6VcukXD{GP)K5hSa27uf5pKlKHO@%;L$(4N zREYIMQw7(d<(fflL_~a!>!0)-_Tna+{q8WJJZ6f^&2~r!uwf~eyOrvP^D;XbG8fOa z7^@dPH!|vgvSgu~I!+N{uMs?gFxSD&k3Ms(h`kPn>sgnpe|^T=lfL=hH!0u4xzBid zI6mV%TNtt3)r`t06w>p1nbZAeQ(2%ickF70Am0RvUM2 z%lnGY_h)6UMb`;wewRPli4R6VCDDIv>FNBhTeBX%AI{T()fnFv2tdck zBA}`NY1b@Q)a_>HLFqU=AZ8BU3iQPk$!5@Q^O-pj3u-a_(Pr}r5*QT8At{+az>$xa zZ?(badEs&>j)8YRap`+A{bR+;_Z!#0)=1#D2z#{Wa}x;$!@X9OCp_ezWGv`Zn=R{M z&}>cHaok~WEE}?x+B~mT>l$P7AreyIa15J4W>m5Mm5WE9L#$z5HNDd|G4x ztufuYeg9A3)N7YVW6%7N>>Y-HjVqm4HbadZbO8Px>E|zR!xh=a6ZhCqP+-!1!jv`K z%C^9(6lz^B`T^VN1+i-h>v5!(u_(bYVjA%-xQ_Pnka+LUe|zUYGK&+)SIM(ng*`qF z`$#5E>S~ESX*OX@E;oQg?O@%*D!({>ctmW10l;o~%|LUXVN(+*V&VG?z@}1|meB6$ zCBZE^-X(_<71x1I@HOI>JYwBcYO*CQRrCf8*tD%sr>zi9Q zk0%!yx`*dTBd&Fe8V`K!-p@$zthNjfD4NBN{z{KLe|}bS8}8r%u4XPv_mWHqVQ-*2 zDPaI3DGhkOd;sW zWGR_y$&5P(XKLMI$Bpmj3pcWEe9J)}F@ug0Kc*gghv21LvTT8&^p=?$RAQRXba~H2 zTvN?-GpGq=spmPJps~Yqn<*P96aJ-3e=}(@B>%({i!^SX%<|WXUz-x_NmC-ioWzGi zri|j%X=Kg_rOCkVKR-5g95{hbR79lf4z`=61&e?wxmk)ph@k7 zXs@RC+S3==7^Zwm==*dmGGS0IjomwoE;U9^mn;xHsgB+FP$}ye{Ug75LgNqb9s`s` z+7+9R%*r=n_xJhdaSRhze2+BEn*2KzOcvUY{}7r$N}WG0jGpNdH*P6~p^7010w48o zBF~&Wk$h)d)UwO$Q6JD8d83n)bRk-SD1c}5x@35o5L8oATHp+ygS^cz}gJV!`_Z3WY&u1Q_Az-Q(W!wF-FsTSm z9*j<(PFA55A>G`R)+%$H=lIVNzV#i~!(Zh8qPH6ZSS0LoIbw9Zujj-*ynP|V5Uf+x zUKLULHs8?UT=RCQyFq%}fQ-M9-k3Go)mYgxf^-tOjRn>VFa8_D4{t zjj7#W{INoEdvc!y{|~rxu3L(vO%Ef6UV*;wbFgV-1f+T?n+Br&LHz6Rb-I)VRgOsl zQ$XWUnAm8E(JKX`5jHNDEMO~b7$^hVx@xcCuiYb;xZ+TrKnRrQaOm_{coh?KX}TM^ z67g&xP8xj3(&(M<$Tm#9#wDNMK^}|Tu*L|_mjKLpy?q}^pdy=lL%h^83R3@?^D@YK zQPoU05Df#p4e^|r<*Cwk# z*ir*e3ciuMcQL)y^|U^H(^VZ|DhE@{L{ zrWo(D+^G(azY)4#L-^^G$4D=IpY~e*xq3J0r=V$9{oSGEs8iM!SIW z)DvS~eOPfZD|ovsKUN5`r{U1Dmx5@!O6P1VtUtbI;d`8p96u;M)<#@e*zlb8W(w=K zxw0}HWV)8H9!=+2&5dV+p0t3gxbh*Byko-Vk_W%RIq$p%3ZVAc{A}fwbExjbPJOK7 zEk^EhvWF?Zu`IHD7qW^K4|>)R!>J3AUP{-Le-D6E4^`J1l7XFJ>7MSW&||k{5N|ur83}l(_VvDuW(AQ zkF1=HqS*UBAAuwT_4Qf^F6Jo_%InStoH9nJmXFk2tuW#Ryn%T!HatmjkG{UMbdR9K!4G$*UjDPKaPgfc4)2%MWysJnxTp+pv;X{Wd2m;LjI}UJ*v8cU=p? zR#t|;-67z;7I+;$LIbK*2*ouKzr$Zo`#vx`NS&eFV7LWvReC~Bri4TK7_KliRBy)$ z?6i+Sbg!fQwC&@OkBcP2=dvd)FGnLhVY=P4B$m!sG*A36b+1u;p%u*WEq7v4MRrm^ zGx6{KhYzljs4djbza$+Le{JWB+L=h(4`9mmX`>x^8F+LzTa|FkA4SsYGvCu%Ue`zp z`U#ED0lNQiqZE9Asd#WB0k|9t?!W>%tN9jDf^OQsQxt}t0j9ncsR-Fi=O|k-@04q` zBf2h*lgI$^=*pdEzz)VWuK=B~+bxUB0sB?(X6VhTp{~?Qf2POPnXmQz3=5U^pyN%eO@Nv>sUzn+I=~Aao`9L4=+Qz`kVbx-Xc~{d_(DzT22Do# z%J~l#IpYA*!pGYk-B(Y%6d0vdgg&co6@z_@e^YolXkVW>agLKs7U$1u*ShQ@g!SvI z#xBE+)ctR|EfmwZXfWh?0v>w$hdnaN<;O@lU<0&3B6GFl6RF5GA3F&vT7YOL+{ph{ zekIk!dxuk&#AigsXRgxgVn>C?MRthT@lXA}jO%dNeTM=OSir;Y=>ywJ&3D`9Ac0-@ zUBc)KKll-dopEqCJTuyb=M>N{V{d%I({P@lGxb@}& zZZA^~Z~A{w%7voD@&|N9bf&3lG;U<6tRh?kXo*|RoAQe(c=H_~QM>Tr!14=zLVt|ls0-9#%n*$n=KV^)hmIVPh6(=cU$3C@>?GZ4_6;1(E@|o4)Bl|Hs!BO|I4D#hs;Jr_hO4xiTuj(w$HQ_iGa}2u-iXo`A1~d0H46%m*{6P21H*RL zNdeYMR-11&HBVb))eUo(vwpYoB)&dQ#8hsJ6sX)i-sDoJ z-E8c~`Lod${=h2y=;=_2^Zk?SW#tsc#{lT>GG&=85S!m%Il|jJ1*-d7HoTP6B4>dY zsN4Cpg}VXGQ z9RI?D2+H}`O`DIRUooxXBeTo9XmreNY1u~E`$MQ-w~(_QnQJ0F+{p90Zif%8&-S{( z)5z_rZli+#N^+(5?hts@?{twL_1Dp)$0rxqIPhlNzM@R&#O=bWN!We0KpY)VV0QCn zDgS0=YsER*#RuAm~q)H|<&EJ~yNqz0#E-v7mfKXPz7(YSxr6QR>jp54z# z%E^#@JEef`O1j#{_8cif9eN+d5;fZLS$AV#HH#Ao@HSrpF}V_!34-<1q?Hf=OqDX> zbr|E>!h#L%hDsL`aztwZSD^{P71)C)Mf!+66?4iY$`yTeoY1F`zB!wLZiWmHHLn&% z@hNb&U$wgn4Gt$NaNgKEnrmA7zTh$TCQ~7G?&>FWyk%qe$85~Z zX+Y<7Sfo!uI)tCY_FjeMFz3bh1&6&60aoxCW=&b5aEifsqzIW17q}%a(F1hdlR?qu zC?AIoNX%UFu~kE8D1%I_DI)nb8lX17kfYXP%r!9QH#t7S)DiXZNVaumnW0hKq? zhZOt)vwMl(qJ4%Ee8z8&KWdGg`~tjv*L2ftK;9cSeBiMQpL@K_6Z2ByZqS9CYw6z) zgUQsM=HgL7Sr{<~JQwkGDreQH9-KLxdN@-xR!a1VJNHeHk{b7r-r$QdZS?t)XY z+1@?_hz=jH7g^*G_vd&x&wW@2cqsz;R2Nj)&U!=)e5RyUGys5F={2XT z=((t)>7Nd;#@(?x<&LY@FpIwUGW z%Ps+r6Ysj6sZR8t*fbN$gv)2wS_<#YYEGTg9?^cj134eVoGWO4>p1s~rGDdpnBtr7 zZcYeZt8~rgfPMvk7>L0B()6c&vQ^M_i9Tro1Pq-!UHWK&@T#{D2)$K1FrHEdy)WP1 zDL(PDv_TQQ_?2(p?r|@dg01Uyv&cY|ciEMwa?)XG?DV`KM)0u_k-_y4kvE4pzp4X& z;y&vmtrBUyjP%LT)kX)*(>KnvY_agS`?wx1A7%Dk%2bON{D$A4(#9!ZrM9$t7{ z*5|FN-UYl9QtsINxok(d;xQF2K!T*+mU9t19NXf$X`!&Tw0Z>Jx!g`~IQ4tHvpHp6 z7)7cDK0LNY0;Bda8vM-!^X27Zqehz^;Kx^^-+W4IJz0JGS8$rkJ)TK;dxr}e)o178<&_)#`^Rf(*#nPhB?O=O#H3%XFs!J`^737= zd#V3n8u-CPgZzu8>n-<9j^~3HJOyqh1OV*1R;0ti>ylGIy-oG28uvRhReqbZ5O5Xh zfUei2j+C1q_p@{WfX2(ph5~V%(3VbJ3PVd-bCz4Hq2)~R`!r`Y8?}#;zxH(FWd5n9 zqtRV|rpppJfkn>Ght3rFEDQpp^ZRZG-}<*U`xvo;jf_~|d2RYeHtHX9aD{HY({NIS zuA=lDDEPeoY(_)j<{8#tukD3eX!U~^YvbmI#p>!1b*bfbk8-{HBU}X5E*W0H+dq;y za-gmb@GYENo|N#hAiLe1?Kk|ifX(DFbGHSRry<5B2~*7SQ|zk(Qo><%K6(K4FbW^2 zkcP6L+4&+O@s%>!a*}(eGc1Afgh5t^qo(z`*%a)P&=p3C_J_19?qA<u$`0a5KND zp1?6rSASeL;jSROUWlpRJZEj&0VbF$-5tc?lK#=TEAtRZy8+{B9s!NeWFD^;If1x` zkK41+WG|`eFktINBH*T$-X~cz8vXl*2gpGH)517)3zQvkGc{#SDRf6FV24Q>4PZ~yN zqw|Y9)`0U};A=8Ahgm6byW6kS-=#K$4%+Rt_5%ZW!C0L->Nu(s9wQN#={v)7iO82x zc1mM${p2F)cK+KNFheFQq>)U=p-M0*Cv3!wlw$3*=l`W-^%4{=q?WN}X%qCsU1}qc z1x{2vVh&}~I;>k)rmsy%c0+kF!}m1Cz7$ct7pVj-sO%k| zD~q}sb8(dS#ZTjD(6Yl-<`qD+T35(HqIVkaN7cJBgPU_rvD^AQ|KL_>4S6uM}VWub=8cl@hvk`9u9lEvBvuV3rgS@E+e$be~wN6-8@pQggk z4oV7RfdmeM40n|cq_d~Dw_l$)AIvPSk8M`(13-%6F0jzC0Z7-5+`3qt`Hf!fK^R zB6PRRs3&}HIW@~Xyz0w82C{z(QdRKl)Aw@Ti8QR%ZSdIPJpHP%;`a%mJQ;uEQE*8y zLka*~JFG+!$heOG7UK4KPpW=T=GT2bsRh<)GhfRK2%wwAdnc?K-VM}u`FyM}JXgVD za6OIjSw^GqAzo~Y-`Xd|w?@)a>@r>@xuWf?{WpP+`8W(65U6FZO&4QbZ#q-;e)XNu z@S*OHvX4+6O(#HL@+c!wWtRJDpzsQ3ay7=&ibD6xvNp#CnMioJ@~vlzhLnXcT#*1} zh7ENGCE0LT5wo`LM_oK}pW7M;obC?F+GuZh*L!G)0uVJmrSAB--9hf{u!Xe-Zg0K| zI`M0>w&7jE;j1nyv5bfk+}W->=+tgE?LWa4@nxL zV(=c#@GHtvEevj^H!fHR+3TvuUI-66QU zyE_a%_~3)X<(%(3cip>x_Nrd1S5;T_?%MUdud9ti;W<}JRnk^5v5n>JEXCG8a*u}K&fvxukB<0GXJHmsBrL?Ry&7`iUyE%c!!k!- zV`)Xj*|_57Qc!HD22I(q)4SgtQu%2X;k$+f7Q=xinNBx{3+3>$u4>|xwZMm%x*ka0 zsQhIzO^gOk+RNR3ek{zkkRZ&*i4c`0|Y1S#B&~Q(*xU#fV8%p~nY(&ia z#RiN{B_p`iM=K{1ws7{cx&Hcee7r604coq(5e(_QVkEJaDC;xeV%tS z_M(wKb-6ypBNAQ^-Wg(@Wn1DuD+sQY;FnRWRAFJJH)W6ocp;?z#0KQrzZOfYI z)SW8_F;mK+i{mgau9#Gc~n!rbb35PwaEQ<`fiVjl-tre(;p0KSDaRb=1t( zd1dB5jx#awQ}pu@E*wgZ4*dumvm4a1!|!*_t>*qpi=yt_>An~)#W|Vo0Wr&C5H&9a zT_0Jzy4s7#C@UM==UazZ#Zm}MTWS&YL zo0;%oc;d}D#gXs6u1q$BSjDtNa&jhH{3P6o@JA7I^K5?FM5^bnB(w;Qg}IZ}g(=g_ z#FdYuDrcn34+k)=q?ROZZyMd6w0PdLx*LhRV{2cEt19ate-c~ZKGLfr1*5tJH!1vpKvD2L`6%EZe`Pfb#Z#Maoydd{?Pj*IZlj?y~cLC-B;`#>33*&**a3 zHeGP_>amlX8b+BJs}()E>2r{qoVY=a@afq6lSb=EP|FJCPuj7`?^ri_C0aa&5`VE} zQiF=ceoD*!`0*Z2PKridONlgc;psM}^TkH6-%TG84ZU_y)AcEz;Stob*N>_EoAYY! zbEEb~XRRp4+dN%1q%MiU@{d|sG0p#LA9*gKLq+0nl%mAg<~B*{)w*(f2|e5T>T2?N3xU2qd)CLGFvD#+*}SCk+@#wOI(Y~6wAAJv3eGHj=;Ia zW-XdXC-%sxCg_de)7$9`f#}cn{?qjzs$BOP*sCau_HKxoPA_+&xcBR3IiIeEW!Rm@ z+nzFtAYLve(my?>xM6f#loYi)&o@-ON(zh|Kk;lg(MDz1?j1fZ^4%>^W|b6_zffs$ zRzLa%Vs4yorFzQn&7AHASDxV7NTih>Y5a8%F8XklDmi=_e{_2iy1NU`_bFcNJxOo- zWnNioG2kb)IDsEmYXzyV^602;2sDXkJ`Q?m{!HqiuAFpYxI_!7zn*9=!LKN@{-eA& zS8pqD8!GtfUPa>2Zzl^t=#U;21mDd@jV@m-8OXJ_l$C}S$#6YaPP+~qS2_=FBkbWs z5%M_V{~?O5vjK%!$%d;q$cV9CPY#a)OquYVguP<5l{8j!L;m>n0C6$gy0Bc^8h{*I zETVI1*=-f!fq$g0qM5^m+!OZ+zD9)Nh>}Pjh8r=t7jjXhLx^H?Sn`muQr1ts{$;rn)+1&)HfY_|$eQjuj#FgJOZZsQfIk6%QeIsJwn$=Vm z+4IG%(0Il6jC(6)@Y$XWVTINfXsFm&Ph_~)G$P}5jk~lYRd$#tV^ zt;JAbjD1ARzt*ODf^LU15QDxZR~LOCelFt{eC^HuPOsi+vp9o?TUq6^J60$3D0LGQ z=$`rx@h5MK0X#tHnCtW$n>Y=~uw>um&NsrXrzl>7_{Ju{cPK@j#(sexrI@@M zPZR7ke=}lNy74tWm@=8$WP{gj_8g3y6fSX&uFaogLkIjl9&$Kq27|fVm2zc%zwP{A zuZ_eS)3ej6!2t@t7Ew}35K(bBEbZaFocOX1IOT&!Y9h}(p#2ZxiK&UW)3@~NO{A?6 zY0IoK=|@kWOOus=iIiib$Hy-RzCTtTnW-*o)khMepDgU+QqG zJP(RY5;`4-Obbin5>|}zdT#Aw z6fV}PwKLIL@rfG@<5}Jn2qtD8@Sa*U8;X$tO8@|~4_SPbD(cS-Rbhnn@nd6>buOzb zGWGOCWJRV!UDtm@U6HwQFteuKPAf%&3`Rovl`Np;t5ZV#8jGj746~S|v9#c>8KlYP z^HPl{k_B$2&tItMsnzR^4k4wK7|{y`9#Lbetu-u}@mWc&sH(tditXJJq|IeI=>4tF*Jj`zo~}Q#{>282@5OZ}ik*llQe=Y4oyk1pltJ z_S9cW%otyWbGscX(|p)$fdgngsr=@!0r5&`^E|d#cmeef2>hpMV- zZJt>I=XY0UL@m#=?wOviy{k?;P>cW6DkXHR!NT|fi z9+cVWCVJ+t-Es%Ga_n!h&D!ruIi5>MT2SS~_QgiIw)f_el!?|;Sz^(4|3M zr#nY|g~)GXy%N8gm8Gd3cJIk!$Y$-ncUV790+cun8{E)hHiVjCu5*~}bR6wsv_BZL z(|I`@L&215O~138AL>=so#vpPk!tI2#ZWr6i~d}isjXThLBjj}JjO@4suV(L!mAc2 zB<8K6xLx6nl5M@%0!N=Gq4VMrWo0w&c~B9#mlTl(T|IuRT+@nK%bAS+^U#9%ma!sA z9zD(;Tc@jCjm$@RHYxF(e&p>?+hEdPXl?|q))akim9WvS7xWtZNuzeZuvWdO#r2$M zB7vKvZ#`HzUN&+knN<=%&%1R^>kTyiEu*NtSXmM|y5HWOjhj1eftN($KEb^BT6Vke zzQUmM`XQ{vhjt0FX$q<@cirBw=GON{r#+dWrfsGvmw^)3wqFYmbpDm1}YNuQ?T+3s|SGI%}9 z+4g#)97Un@y!^C?3*|c7=I-RTw=q*P*6Z}Jdc=G6bd~$iHN8w}F=L0P$xY`3XVnRv z)i*kRI~0adZK4)zoutkc9`E38rL7U08A!D%jHgxN@hy$6{!PXbLFoHMaMzFvCF0Nb zKm+foyI$;&&t%aTsQTm;aNX~=gaD!wF@Vr$eb$e^o_^y2ZbJq)nfk4Yl;1YiHl=3e(u z<=EU2zP(U?Uu6{h>fTp6;lM*o4H8x&158VaURiyygMkXc_7El{d zwJR{rmTA|R^X>nnyhBa2uSOB!^&G%xfXvuh4X)|b)8Qpg>RRmSFFag5|%>?xc z?wnSukZGFa#d3{$N3qDnq>Qw2^MwkJM^N)wWigWOA;Pk%LWlc$L;G)dKur2cx#@U^ z3@^u-8Em`paq#E@#DB~$LUR4ZM%(S`P(nG84Gxgsfu#(9f@7Yxp=zP>zh91J~mWp zDh(>C)^&Jo97UE1s&|-EO&&zYWvsLTx9}KWHd;r+oB(5KOs)^bL5x|dP4f&;ap?xS zXG1wpb7O1aPYIUyPt_{gE}m7YCWo;`(u;Fcdxpk^4JSI6d(z%s$D^n8fT<>f=U6c# zK3-l<&Jwf77R(p!+xbZvN1w#@v_y}NMrwXqPQl+BwHLF&;0~^;d;&6RD%$oO`?CS! zRcO7C^nB25k`3J~3+jxT(?!j`wmUe~X-@(0)@$75+g+JA8vP3MH8r)l>|eKwf8eQr z|5htu`X}59yy~gRCV6N-%;zS(UPEWr-)>P;TW)JGjB^D7lV zZtzx8lyKV{Nf_nepfV}?I*-Tbaei7=7Mo{e)VgT7p<@$%Hw5uKvIk0Yag%t^?+5wKFe*mjioXAo$}UN-vGMm&JyLzt=@wpp1%ut6B#R}-d&>FUvwprwm)bGE~qNC*{yOYV2vMJ z9I=LO(fsKHQ8DyNL@M+e`Ncae`crNTvHi?biCo zjebx6w3>WkR5>yImE!#FUFhbCK_$Q^s^PSun%}#ImX#kpIz`MOLVv?3WNbG;=u2^8 zn{CPLJESj$pRllP0lF+_@2}^`;w1;ve>R|GGaKLF0{czx?lWQZ)8)1sLxkW9#RyL| zzP*sKbn}NI7rkC91t7tzM<1xS8}!ITfb-eB$jiK6;r8Y*!Iqaj!|R?4!*CSTlCyTo{W~AT`F?coeO9OpRie*FlR3RH-5}fZloFs>g z$@>gmJ`V01)hGMLlwvze%Y01^;nJtOL~*gTA>7~4YTKaMf7;TTYP&u)IRn`(T`Ngk z6a0#w`_+6oe7oW9lR=~u#nq0_m81jmwi{24FRZV;ZN4`Nyo<`Ew6bryU`W$J^6>PJduhvK zglNMjUvou%3K}sd!OUWb;c?T#d`da^s?YIdizvlt7kPyvg~vT;eEFWn0n4*md$TPP zUBB-W#g@Yj5!*_)XZu)RZmo2BdCx#=b@1L-usSqdSx9s@;6fd;)DccY{C_clC2b5jOg~bcciBUtn%}xHc>aW-Eb~t} zKE3OpWl8JSUP9VPL|Ta{LlV&MxWj8`b|+ORjtOIua+p9F5^f4S^NUl={vXw|f)v4A zHds$p4d?Dk7`~XDAE|);ZGIGG9}(NPFK4}+UDvEfZdpRr=ha<{5W;CBIC1)tylFz2*q85PUG^QCf}6RvOg2RfC%gAuW%ijN>jKS?k$ z<|i~Wb!w!T8iV9U*vX{@_x?F~mtd};;_*UX1< zB89cjAKPyGOHuo0INC}Ksc@UEzfbEm;&P&y-OiVd->mz!hxCx_;c*LhS)CcCJ->e& zip%*|ASZhhuDdYVgdnT^K5J~;Qp#dt!=989y`p?q#H@NvoP{N){*7j72Xte_aP@jt8~ z!X0yf4HI|zSk$X+?K;wsC_^%P^I-{T94-nW25N|k7!D!*$`zApv#wn z!(CM!;<&iHOi}PYbSSJsZUc9{?~TlSQ+!@J~TqRn$!1_SEv+J z?$;F8_UHd-ZhZUp6hc@Mt#cdY6Ri{XGkk$&lWg{M+uhmLF7}0FwALU(e;mfs;s|YK zGP$gSfoPSjowNa;*Zp_?1l+4zLpr`;MVhgtAJ2UaTjI)Fn3#UPy~!mu;ghytheUPUIC-ueb(kNg_;HWUFcbYk)b;$oXk1^Zj^)9a{g* zc-^d1=mJ7m2>2Dt@|EfZ7BV@g=68YT_(TYsr2E|00AE#csrfHO;=yR7l4JIxxm^_e ziv0h!w*UWHe<#!=VvZB}-lq~Rl{Ldp5)DC%ZS^%sS4Ae**OuYyaRgyZtq&h`4sBBf zNG^}ZDC;<2P%j>a=$@K+SL06P+qQGfXQu}{4!G>P5D{rF4bcAA-0p39!(b#LeUfQ} zqav4(($I9T{yOyD?&8*YawFR5KsnC%bK1!F(&~&a5@W6*qa2TL2G|x^1i2{wRBkWU*?`Zd$f3_%E^dPLPrl z^>#PF%PR-~I#_aq*H++`gz9a3)RQ+fHPE;8v6gYfZn z8hmj)XbP*L!(=tL$o)ac7#LtV6~_NB67`gvF@^Pu8s9rnJN~^nHa+e^_u*y<7?IS7 z&LgpQ6_^b(uvexCv zF2>=86ASi?ow}aN&SOTeP0;(nkIo;=Ohk}fv7|smjBbE|PwgGWcFsI{JmUh0Z~dPR zDiV^ty*%Y__>t+6hI|vfRQ3e$(ptxa0V!GIo0H(~pqf-^_6}Kd9RKr2QF7YUPyup7 zxis;loaOkky&mD-8lj1Na|Y@S$?6FTL|^9!4m9@6Rfn6YsJp={t)&sxnD50CR&qFK z#njgvwiIL{n@5m;`}mHzN2&Yc3AfJ=;uFhi==gicOrt4-SCaB;^Q*YN zpQzsb33A@gsSB^50(&7=8JhAoW1d@;y%+i4;v;wVrb%g>B)kmUEk-D80}7e&FcqvJ zIcdex1NKfaYwkgLVA zF3W&nMyeZ)P;-QN1#X#cqgE;A3!zq>vf-!~nGQB9)U{QY&U;L~rthPx?e{FY($vU` zVb)8=nU)h&Y>e#&p5(Ot4603DqLpoT>!xoWzk2?)H1+f2)QTst{T^RJZ#V6Qegg}~ z$(F>psLeSXjsKnsh|CgjE3_){`M^~7TP)9sC_#J1=YxI1>DBPN@21`e2NZj*O<{uN$x}nP1P#;ZuZdLpGl#1>Q zYAdoQnh^B>u{^iGgP&r={EpGbW$bG9ZKUJtGpK5t^&c6sJ}CT;;yX8)#8rt{)@g6U z@r}d`HT!7@a;^E1^R|!ckTz5_cR6Vr-=swT-duuM*j2^KYHB!lB6d1p8J+O6qneZ{ zM;vVP8a5VoznthL+rwRi*rX#1Dmp>#GF(P^bvPd$nTjwCSBNoa<9ooJ5xhfRW`!3$h)?^Jz?m^C~0K(6GBqctVO5r?^>0Qk=S^*Od3P zPI@RkvEPpztLf+XDOy~#4-SloY#(xTzgu}9?w`I;@;=w&l}4_yxnN4>JmOO#*;{A# z@a6xzU_AtwkqR*b`gBY#YxtxD`h%1?|X}zoyU;i&hdbB^_YhBA?a6w?J=jwLjHfF%3 zP;Ig@@sw}Xd@da`$y7Ij6dJYaSO9D_JX&kg*MqyTA#OX>$UE*ljyP@_jOWYODP>D3 z$oc6ev+~_2b=hm^zP9sA{AVrJ*yvP?9~>T+3vp3nIy(1oN)6ScCpzoyMx6(jMb^*v z5(QhGN$lVUiOQ_l`rGkGy$y^J>A!5(h6#oe-zk-x2E=HV+=Jzq`ml1 zV&zThRsBu!<|gTt5oKP2r~DD#;E;GJhhr)3UfnFIN2~*9XGB6T)AebMG)-AkgLu85 z*U%69%5&Hx5pr(iMqPoNny#Y03w8Uwo$I#;tr}&y>dIN6cpI)ap>PA*&Vwixm7Y!- zqnM@#D;UrZ9k0DeHh1#;)BmKA7&M})1cE~?MeUi4eI~HWthG0KTR~;MbnZd8u{@{( z!_C4%?4nHH1$_WMIYX&fifo+j>Jr)QtA(T^SL5S<;}#S&L~(D;u_dyYE5=CGh9>CV&5MWpMUN|Y9B zovz*CjBQLd((Fipp-kuTS1s0G8l1Osj76DFS7tjcW=7KcFQ*XBMkBeV&4sHd!cPY*Fw5KBDdG5l620kq5jZwfrghynd8VO^1Q^a3$aGyusTIE-k^?*Kt#)|amJA9m z{jypk9o8Dme3_jsiaJV-BdS<$d?UeLA3HID^R$Qm$fJJVx@6_<;iAJ~=dP=eXq3i> zj*Fl^wYBOrBC{v*uQ?B=yx)%Np^HGnX43U0_;mOgdy6e?q2{{T^FtC6jV$X5^#;hgU6wZ0& z1$pa@>Y``+xxQXV`(9Ky1{RDuuv(^^mvZkK`Ic9n^Am}ZNJ1zP+J|)akR8nVwILT<2g## zfXLqWI^C8R2TDe?&%K2E$)l_)KCfuzL~P>rXY{bKjdNjr8{2UN{hVS300xXGhn=j03``ZJNN<1D z#9(8i*!WFv^xl1eVKzkW)6Zg-`a9>3^*q!_u`k2gl(!^P^X^POcggfc1+Ky>;@sUm zG(-?)e5(8RjoEMV1|C+z+7{;#AyZJJ6)0nd2lqPo7rbzLU4$Ytxk+?;&TEwV4!&4wx7xJJfrd2 zp7VC6(w|Q$NPv>w2|?fw3EcIYi>!&3%?P#qEcbEuLj$BDSCY_cfxL%?ljZ8I@i!mG zZr4Ul&xPN>jy4IoBd=X*3VYZn-G!+b{-fJdwP$eEMDo?Fv~|aBx!^b>c=-8GIyVa( zfLBhyUX)>h!R>m*!KU-{C=I;E0$ff-|LW@LmR~aX?~uOcB$IEN+aHX})v^i%@YJ!rrQ@ z*Ap$E2jTC9_S?u^kb6|?PM@rUTU7v-Bv~}T7mFw2*+`9Nl!4AlPtEO&Kl;0y z91)eZ-C4UvqLmrw@g;fM^cQ_nKrGNpT{)((jXHL+mFJcSOct>A0{SQ@SkUuF5}#br zxDnaPl^0#B$M+K_Jq*_41DY&Dk;>(poIGsZsmF0yI>tKyzw1V4r_u0+N|3BN*NVyH zXV(u-!Hq=bI4~`!7{nH;3GWwUYWG~ivAb05biGeoP=>7qK*l?q2B#nyS7LIZ!C}wk zihZg;4&tSRSsK{u_!DkrZzFTR;KoMW?5o{HIRR+B$C$dDpiV_j7HrewV@q0<+$boj zG0{=UXQJ)Qi@J@=%FjeMgwv0~d1RLfw&esur1w@)6xbYa-QW78Ch$R>+^?x37tO zG2?e{Y1f2_>)4Kl;vBr5w%+e;*w+968T1CK(C-iL6N;GkWHW8bnuqgvtt@>@D;k5j)<6ey0v3>5u?D^-eO*U^l|#FLc;?FJ=B1` zLh9V(`xy1MTG;m|h=~ay#{~&qV3?h*eR*X3R@?E9CgVdP7#Fuwy%2dDdMJ=eW_)lwIkXzm}EE7|o;+S~K%hPkK(Xbd#t<$vYy zP?MOIL9}BadgTw0$VODL7#OTWC`*QPq!1uNJkRCF;}+j+mB$vNMJ#(um;ol<2bVc}$fITG;D!=&cuwN^8))s4JH`EXf<7TjMf5 z>f?m8U8VhidsW}v{7=|IgNeFL*_MWvb$^+W8wz1#6U{ji8-*4-aNrx{ep}hZdKyn#(EBW_ac-ns7N=RazqHmQ=$goVYftu|vdoli;s*+88o`gSV`_lz=7AJ5 zgpA{jVS{VRsM#{xsV)54RGmut+Hf&%Nen>Ft301+`h|~pU{z^$68yL8df1NS@tqqC zz<-8HtQls>UPWdt-z?O+98%P2<8d#^35Z@AZL4!GX+T)pHZc;jFuMu%?%cb75&%q5 z=DVaJg{W6$7n`0vtdsIxjUxF7C~>?TlkST~We8Ajua3|_`nvxcTe)y`6jAK6-s5&o zN95Os6u+EV5l~=#B=>^E5Q_|%-U}x^F9$J6EAWRLZP@}RZuNg#Hki*TEwPG4m-fL6 z36YcO1u&I4S?QA$)W;*SmW-mX3L?IrP)ZxbB5+(@WPDKt1q)wUyKQ;jYP)W=xsE1Q zydEn}3No<az;XvGHy2IMwuj}w&IPR}ISPQT5( zHRW^~en5@WTEfOb7e_q!_z?#pC4VgFHeWCr8-Jf=0v?}iyXwY?0=4q-56MiqAq3x> z!3b?km+qXT{CBRwX(mZA!A3N_pbCByFmonl=(EF&zq9J@9y41lZC4eur4atk7UGxT ziT<0G4vTz0j-tm#29AGhr8e)trfltMmQRW$?{R1qlRv=wVfM1Fk05D{y|+(*_e#KJ z>tgZp<}H;Nnbdv)9%VsP6PqDfj8$wgL z#T(U)s1|Av`AqDIGX z3$d?K(yY+W=deRZdKaKxiI!S>7ZDMu9zVaR@M(n5{H|-4@*(O&mn2AF@DGFwnzwlu z%b7zPhjgS%&@;9WP&kamG?1LPj7d10CS(bE9ys0iW;KSK5a8&;u|I$>d!99*cx=}x zQ8TKYr#6kGkNRLWR910>xIdR`S{tV$Rwqg8m1%!GF3;W{R7{Qf&+d6$OdP9=IJLI< zzT{fjJi9YmRTKeqEtjsK8qHHm_5?hyMBw_kiNFl9x z9)~miad~|1=20GOE=3=1zT6Eys|!?{M*bhgS5`^dD#>NyXbnA zPXHf|Q*W>58$tSHL5rtiTO9-G;ZQ9>$gtJH{)WRpA5SLT_c;UQgVC|~KIHF%bouJxi<_cuRKhB~lk!A0Gq(2j@Z&~S;mH)=B(9EtxNlq^O zcKjIU%cAK=*8H%-6lT%57L{=Yv5z*`J}^GT@P1^9@Q7$hpuYyu)$?#fW;t2J?G*EoFtr8>6e3aGl1=u=j`2n~y z3iDTpd+0fG$`_{vVl2P&TN$vo~}Q-K)&3;Yz*KU)*<=(-yLANzK#LB1mXK;y#Iz73tniN$|Hh-S_*J#!K7RWdb zG;dv)sH}0#|53jx`g%e|!SbPaJcb-L=6azEP(b$~2n`;9i2M`e<3WcU!5m5J;J0C) zu&BRaKQdr;DX=?l{qK`=#bx9m(P*aDs%Y-UIWJ#L{X%(f2mHPi59Ys7@4L7ZC5tsc ztS8DhMpk3TSj!|%Hw_SO*5LY4L*Tc{F4rRyZl zjEJqk7!JC)Y&0o3mB43OvK+(2>R$MbyDcRRd0H0dGwU%KmRQ^>;?ngI_or?f>QH%_ zIo8_FVA@zb;XQUqg8lyg^?>ce%~b3KoPoVVX8xY-bY4#)KSl0wovea&ab&U5#$U zHYHR_`AJg$uwl_>caJ`i3^6x4s-ui-)B7g{^WVWli*KV%{@IG`gDl>v8B+StePU0A z6Z6&nF(YzY=%^}>=9M*kJR|~36mj9b<-GG;WYD*-0jih6Y*L9SA1?LH`pU_dyYS;$ zHs{1t&Bk&SQs=%e*sw~u@;J?3-Y4RctCUmXHG48Cv=pd_zW zJl;az2wJYcSNMrL*U7%+K^PFyt|AK;0=(=`61ZFLeSLs1zCJ)-9!b*^4mi8^z6$tG zm&9~~kO5y@A(4#hE{ifHBowTlUQ?n3@1lx|5HZ?x!N1Q0Z65=>MZORmkfak46CX;+ z9+Cyaoz;zkybeI46kh(8h&$l5oBs9VeHZQ)Vg0I>n?SimS&V=ULHJIEX*+6PZ3d8u z`q_DWaR}L|yz?GO=TWEk!&T&kI$Gv!qXvoFUXK)vzuLOZ$-^y4+i@&Y9gt!jD3*`P zsW`RP33{5M#WO;9`@In_6b*c^V;Jx5z98J05_Ki>yZkF99Ycx{dp1>xnzpQ&l0phj zwovk2-gX*%`5XWvcGY{Y9)R5wFOnC6hGOvZ7iraZYyuo33+yzw&%JYfOBHObcRYDx z+D*6FRNtI$5sJj&*wWiwjMnU)trqi5?Qgv=s;WAl8U_r&+>NitYttRF++t4=7CLQ~ zc5m#3>98+m*8O${P})u6z*c?=YjG%SbBhwqRd6K)0dvFlSq!^}nq>EHQ(ABun6q?J zcwERp1ign;`1vf+<^I9_ECv5yJ1N#?1VK*6;ZSoU=k(_eq)-^J&~kP!2lCo3+Bv0g z=tU;6_LJsRJbv-^et_bn*{=Y4DK%f75@@L|vl8Fts+R-`;So#i3im|+OqJsGujIM} ziGCZ=2p^84KRKM(>aK#T{NGVYP7bsR|70=Ws;d`Gf8+V6VHMu)EFX82&Rv?vTRN+O z4^%?3s4@Qx03bO-G~I5MSSJKur&!O}g6P!QIJL5F4Yc~W z>w$GuT#=*ng8eZOiM$Nx=n@FiR(nrG1+6zFbOVlxvVABqLF9C>&2Afq=BUpIYGt zN8G7>Hs)MS=?=A z*CDMs`V}Awi9y93&%&llB;L4m^-{`u((gMlb1)Hiab7g?cGy%kBK4sJpY*fFIrTrf z?M(jgCD!roD0}0$`QlXQlRtpm4o*D_c+NAq9@Eu8A2(h+veUmyuGB~?2Bf!doSDL8 zonP$B5F~BpFw!pF$XHu(!krU196q5%9i@A`N|^+5dOh5O`Os20oVuUzqY`_pc!S+~ z%{<=Y%4G?B4q;0oeL5PFy61VHH8;j>QY3zV%}FFsV_@;S$or25fiYP z(BRg6x0xt%2BDpA4xUWs0XpZa0N1N+FiFY|>hDiX{i)GOj;?Us}2%#4K10BxiFl8%Zk;_CT>v_08S1m0&#ZO-5*qT*){+Ddj^D@jaEZmv@aqRXSqh z!B=TK*_-(+zK+x59-oII(5hcIh#%)SQc{8;BUAs2#lsr%U~7ffpfOAQy(;q>t_S(S z_gfS;t)2LUWYhuU>WfzWC9wUh&sWQp&JB9N^qra9Xrhf7^^DJ3-B0d3pCF0fd-lP# zV-t+?>99h$!p2ZlH3WB>S5HCN{2L6Qs(kOZqr>{X94jk3Ii*qO_8fOZYrl`Xy30=^2hEHv^u4I^D0*R0l@Y%VQjzYRH6R^l*d>Q&wP$bvuWa6 zR>|*B!rQpa8Z{OhVm{7vP3zU{Q1enQik%ns>ZHmTRhfBNh6Z1jo{Xzn&i2Cb;_96hblkB1SySj%0 zh2PhbU9Wo9zcEb?l{-jGwm@bQSbHc2WVp_%7Ogao-d_H!2I#y-RjY?%ai`AZJs#+G zz=$=^FzeH4ywRd|3NAa1*GkYR32k^4o9iOw3S|&EpB44-_c%V)?k`M`SU(gHs=k3kL3+@+gf@gOEryQWH)H`Rt~hIHMLY zd=<>T?+bc8t~bht-Q0#Gdqb^WSDWa>P<^^hv>rCY%fN;1xf)A#tCj8tTT;F)LB^dC zVoApR(&X41O^0PgCQY34j_xKPrz;W6Nhwt5c^cE>(V}&WM^NMZPujheINUhxMFMD41yDZ6~ov+I+w|%oc>efIFP)YxF48YbT4U)6f*B>4*r)VP_W8H8BU{ zFE?{@X%h%`m?6;H_aP>dlA-}gfbVlhWh7o+{bRp$Iu#7w-02tGZ6xbT58Pz=_A`?h zw0S7z7@bd!9`^@^fCM*^B%DBdKtZ;QhT~wF#pI_mYQ>ER3l4$1q)=Y~$xb5Z`Qag< z){m`^({sHgI8%`Jtsu|bc(||KDnR{>i^Zb%Bc=ea;DDm^wt(@4)@%D^o0_n;R}8Cl zDh7vK zRcG(sXIHoiU4C^yb|GTjGs6v*IBbEQJw{*x31{7?_(1$afd<>WKQq%Ajh&jNMtV(G zg;d)4#RVz|fR4TPa*f1f12P6)Hso|}cZ`?Vv>BcHZQi;cwX%fRcizmhKtacHWsm$` z)l@`bd_OL4cU>UpvA!OAA$ym_3|QB8?{=_Q_QKs0@;M2v zCZ%>hSm1Q^P)I*j-=yY%`Sa8a@_4;B z0WHwqeAu-bU9UjrcJvkT98O_4=6G*6O=d?wD*EjmxM)tVcRjRA0xmDDd_D%LeeKKv zTT5F{n*&#?y86EP6L~S(9*gdiv1lY-{IyZ>TTV;se&c=G2H5rxfXl(RkIs+D3ST%j zbdB7Wr@Ows+HdT5%tsxS@6JA+R+l-j=A~=XzmJQB{MJPUc9}dq`lERed^2NTvi+8B z{Ua6a9ygg5u_1@5-u`CY9>>FRkrfPSx;;kxMdOSjwrp8LS*)L)3WC6`KLCT`=tKOWxu6Kfghu-sJLyJ z*DRZ+efb$&u68BKD%vZP?y62t61{n7_Ul!-m)kO7uM;>%J_PM&AG6Tnv{K70 zpSrjVW;Wh(d29`QU!PrxKBE4?FxKOo6OB^FZfdLnOWa0TuG+QYqrXNN9W+E%4QYcy z13EzPOB0(BNO(O*hQec0tznSmbN(W{Q4;tN^4>(R~`(BiX0 zQT-LS)v@}{#i%jRld_nBV_iiFU2IVz<@;Bf5IFdV1CE@bfua6$?`4%!qvyr|Lks@q z((MkpLX+40+4E*da;yUFJ1-9xu%}NB7WH*zX_0xb#RC*GP+M!!6x#p&;QHRTw_gv* z*h%l*E`i5ymQqt(l3H@mGf@W(q8Byb$0QC6PKMJ(*PWsqV%)`~z@Ix)g)sPcz{Em%W!A6bxWV#c}VC?{`ld(sDRJU4B7P4kQ2}F7kdpdrf<3640a7 zerUS8uL{Q#H6Ls?@aXy=`Q5!YR2|^2vvi3638QGVoaQTk2|l>a=Jl~CJgpHvres*b ze`D?J3`m>!X}}9qOVCL(+HUg^AR4q;uWV#&u)MZUcmMztNTH#`!9N6Kpn8z#k0L1B z`P?O@dY=Q|m4h#l$6rdE z$U0YZySp|I1lkRyMOy+pi|$MK>HC*Uxb3dHQB3|CX{O-3EPg(}KpTxK2f#~4b>ll>jP%3KJbsVIf9I*D%1 zAVdU&2l|v+|EQi~VK7NC&ZJuvriGIHia00xmmH!uDau57R5G*U{C` z$8sv*S}cs-g%J0VkKl(N=%Gc(&2e@?`)0nxHtXloP#ej)2Pl)EiL6DUjgnPXK}swp ziOj)nIxLWs^wj#o;`kTm^2W89i&qPM=^_QFdt7bX>jEZuFQ3_>DQ2<^B-5lo&d7@2a08gDA{CyUX?xxDhk9 z+3fdOQyua<=5>(()(SMT1cb^z_Eeu3kjWu>sCfk@Z?*&l^8Ch%l=AnLd_D;mb;h`G zF0fl4$jiXL);GljP?6E{l(jVfZXyXh^Q9AQm?LkG>vTLVrEY_uD2a7*F>?meBL%k&UEgt{1lx_{QPEqA6M4-r)!+r$T{P18_E+f{aDVT4;ox#Kvwyj8?qFd z;Tm`QUZ7B$d;}q_wlk2nvGYnSjrY5ZAVHAl&uLgoj%UpuH0c!ythFK}CIXa#A)z&0 zsBFpG2)z9@C#BVk2#+RWA7mL^RRaLNFWA~jQ z-G`%zP8WSTYGQP3lx(alj_$urMBcBc&LMpqlEF!LQaXMMu~bU7Niy5}fI8nz_otvC33>d?{qev;9a zQ?(ail#vBaceWlEXlxH-5f=%bm)azGJwzRYn=60-U~tiZa3yU%6{!FR#pthxA?kL0 z>U{dzj*pT$e3oIaQi;fyF86!I)og$-5|fkEV3q-Vb`svRzFrXg`RHiGduNkbHu+2tbXUc<>a z=iVm4H$T&TQZ600y+Tb@`);58Ad<-%8oS}kGUZu2P`CH{>@?9e!ufg3>hJAPd^5dS zlM?VIHq#_!M{r9(;Km`B(XK?sI$ZaPDKI79_2uP>?VRr-mfAQjrM;MOG`ej4=4uM{ zw_={9myDR(%#oA57M{j&3O_ZaIJA_G98~D!#vk(SHDx|G_Es~~V$YU~X-f={J+3Dz zXf1*7ATX@v>gmZ;*W%jBaLCiAKy#u9C&@eD2Qfsoh|+6_j{Q%T?P+zjsu} zirLLgkJ4b!dLH!(p_p6O*;em1+R?DY9>(QPEuXgcce)J%phJHnH@KK;;Bs+v&Do7^ zzkr`@JE-)$dcP*|>HGWi9c_C?2i3PMyyg2hugN#VZt~642CtjC2@bzb!Jn#j9Fhw9 z8RE@d504FcQ-ZGQ5*~LqxUt8)j}o>dr+glHE{hxpw_Bemi2yU2k5^NDJma;mr7!P3 zpm$ZO*oW%Z>%s!!pA9SGy4y^;I`*xGAidsIiO%gptaae+9LllKZf%RcV9nLd>3c)# z*fs2;B*XK~khY_x+SiYxAf^`kO_y19`kYSA=hA{^|Dt0g3Z2dOX`v1K>Kc{_owhS_ zJ$>Du*N<0rkvK@z69P)Vx3XXmz8nr`@xlV$h96$No%<-!3_ks)Z9$}Hn3A16cmJp> z<;6w_)bg~LuPG-y?>t{Z;3@7T!%B&{5_*3!L2GJzgg9lUs`fgcOKcrVgW28jy53j; zP6%7nF87{|TE9=9Zj}n1^I8U<*F(MBE>FpamYktE*$$uyWZSL-7m%iONgTXyPN{vL z9qy}BtGg*qEF26TgC%4_^>WW>RGLI)4xn-m7(6X{6{dqf(=L9AMZ?xj+xPesvUmJx zjex~zBH)Z5Zox^ib&=$2%|%~5}=u>$qZjg1D613fFyg zA}%i*o26|m7P~nQjtBf5JF(PKL}MV7OaTv3=|#BZ?xyjLFa9n~EqCt4dcN;%!Dkm6 zc4?1$lb?oCyW6)X1r%PHc>f8nzM^D2%$M8f*1nvG^*tdD55gqF{?WczW2L4*?7nmCJ}SZuc6O_sVQodVb)X3ICURO7S%ia_uin-s2jRm5VaWYh4h z9;C7}Q1XQ0`XsB?4tCWi>`Hw7!lCt7TleR05qm01m*EEvORR)BYH^rb4ZDx!(oLdS zmbknXaW^03s|XbVz*S5X0u|9doE(93+nj-;b;$39h`RhDhYxxZzdz-p@LL#!gu5lR z{3=QeZt^GAu^ghNrq02-)~@>R@4Ksm=qd3@S!abp&8O?b&A6`2nAo@^UmJ13;w9}n zU(e97pei~6wIw24Ay?V&(tfkknYx|9T@@5Ci$nrAUUKa|fns9P#B8c;y5VZGO$UoRy1E%HSIg~))YeggDni^w41scM>Xmd zUL-Eig~aaSNstI`XDX@ljg(sNdSd23Q`PdUr0yqg{6iz!&-{EzPe8w{ z68sdUPynCOUM`?!?!)@I$s*W@x1@H>w<9q0i(+IP!U@ycb!E%O*OU4*i-%><6z$v- z^$*HeMDs;31=*dd*hnx-%}Av-ujlZ)tP8F&UfE$IG~+CAj8hU)bhlsH+P8NUHn)zR zDun3mIS9)r(LA`mpg))Y-p7>!#*paAY*IhJuJBbx;VJ^$By|n_)Tgh(=SurLm2-7hZNzf*Uw*MFVSRCcd|?jMSdL^|hr zz7Nn*tkzO>+C+i-I@$#*NGO8s=|1jd|?ONm7CUGZabirB6X>Nv#Ujcw!< zWeJIb&7=gMUfjaIp4+zk+Ji?ElRNIJaMg2iF!D2WG}RLJTkI;Jdiec2C$YVG$=Rt1 z4m@of_Y6kWLiiidRa8F_I~dk%==&p^MH8IrJG-{i)~VotMlECkNW9sMS{b zW|y^HrZIGym8`R#b_rH`vgUa8yIRKPO%TfW=c9h7oxyn1EZ6^<^=@OEjBln98&pAr z0XL9=qDA(D4gonKzJgpg?vSaW1ke-mpg=g9i$l)TeieYEyYc6`zcBl?f8r`E)a&(R znJb#_a)^Q{2_N=|XGXH7>w3fG^6swIzWN{%_8*w08t|`TWVLg1a6|AQyj1&AQp9YN z6j=B8yH+POF`t+R;#4PMAdGQ@kdMrhaG6g+U{LrG%z|JDt=#yir!8 za3Z6K85n9nem|V#8+7}UUiW%rRK50YKbFmvwP~Tc&wkE$8Lk31KU_5%oI)Uv8K1UC zAAGB7X)6~ZUW**Ss;eH$<~l+i1D*m$9WhPshAPooxYJ*f7-^$?-)y0&lPhQ;$yefO zN0NxpXX>ZqY_X}h;Xk2{;TaiHc5BdbO}r($7Vq4v?M+Q(?1kPF?#+}&X1JxM;w0Um zF%RPdDk}LjST9x987Sd&9#?n3;z@1>QW|>eu%$h&>tuVlCQ~V}cqSEX(YRlLHwI^w z8d3y6ry}!(u|htNwipa^y`>KvltQ5;WHe%tXRt#^XWgkiXgITUF_Qo0K+{ionG*IwM}Ib28+)Bp%Z_Ud5Mj`UC$W&eQVjhoNxYH@vamu;5{K4+(P`4x&b~As zU0RqTTzExPZh8*jHPlkl_!O|Jz|zQCqvXJ8+=8L(7=~430T-1cfCvay7B8~ew6Lyj zSR1DXuny7a940C;+iS9E;Y4NKOQk2PXOMT{0EXGq_MPvqj6V6V_F*#Doh z4g8VCk{2Csgf8mx`EDjHM=$com^x=*mxB?}uez`Shb<<5%50Wh<~;Y3j04J1$+$GLO0U#@Nu#gq7p#By|4+W^O&TauEmb#Z~4=x@bLtU zz&j;5@6ahwRBR!Wq|R zA2e6}Px`_SE7MIh1?aaNUOtBASQ992XWYxf#o3~sq zspGP+O6D%hF)GW&3MdmZ})t!x{))VaeZlS{u*n&7hCcL9stS4p_Ic)4mv;I z-Ul6mb`Ot_t7k1>Vp7o0pZ^_14hMlMbOb1pg(9`f$8CIG&e=Xbou$T7R)Y%vPBw%%J9u(e*sCX;>P3o_$E|KV>Zr+eOuo+fLSQcCHYG|mqpZc zJN73VPCaINS>;*-{HRp4QafWOi>t!*X4=h0r6Ybi+q=6Yc-Xk;*ucWmxnthbQ#zD4 zAIUS2K z`=lVlo11!i!OA!U7gTc3wj}j^wP3L=L}CCICak52GX*zy#>MTL3F+UPK}AsEsBUQ~ zt!x1E>priLL4BAB!_Cd?>`R*X$Zw^hS6^wW;#fn4@e>Jp_Qb7Pp-^a;aW2#>u+>)u zwBQ{O$XRhF)$z%7v9&~gS9>D?kOP2~Lzt>{84ykqh~%1oMAWJl@scZ6$;qJQ?N;hF zIZOs}frPi`zetEH1w`7$X_`JZ&m zHxqo*CvALxbu#-XjCZi+2~R8ecy)a5F8f4S=$n?@#4DC55_A}zNdH4F%poVJ*!>#*PYX>R zb56qqLW~NJiIoeaJF@ryS9`VnuuMHDw;ugb5kixxiyR?VIJ%_;D&W+jvZbg0odD4f z;B>wJ`%Xh1KZQh2AfXHzlUFoJ+y&Q{_n&>|N3kOI``9{KDOx&ser}U}m+1NTQV>Bl zj8(POfT04DME_pPN-+xjI)l4KNBAfP=0}iL6!KZ0(ZlaW7~92Jm5_Q>Nt|6C&Kd4s zq}(otdECD{vpccztR9S!52T=};Dc36>DVkQgHtf7@~oTej4)WL8BnqW{);nY{5zLq ze>_}_`T2PcZ-K@p$}Bn(v5G7!c!!K@~4rcwIX=i+dyslNg9BsH^LW z^t=AA(?WxWp6Qg?LnQ`scqxz~K4XeYwJtynfq1SAA6+8$e{3jOEZ(4e~DnF=XTu2yYxg)%#-4E5=U1`He{`LD(uPo-Ml1u-uiEk z^+Hg9RqsncJUnbpc}GeaQk&yKQFfd*Gm(OWqnQV0fW5WOwMa?#IsIm)H-0ncEk&|vN4tv?cYFocqFiS;a3INt#()rV zqIWL{0&@rtipp#yd~QRz^&|-)JY1!P97+~nLXwtM5`EEw-`_M%I|xD~zj%=Pu{8T% z9j!^x%n~pyEo*i~iDNHIR0rzhx8v&qO*xgq8lQR zRm~pFPcN4uAFWDHwkJ@wtY5SY6t-;#%GZ${d=^jdBPUl9r~Ed+i#EWC9kRl}pt@|z zm>}x;xb9MFeqiKMD4iOkqmv??mz0CZgvw;!O|17xQEnTYIe-s;jJvS&Sr-qFmp7|G z!%s`j^6=Pj-$CGFQ@7z-XK==i#;Ubr@uax zlC3=SqF$b!aeq#4NZYR9+cxscsB}v6Tc>K~ARG)O?M_ciX$B)g9L3c6;iMSc=z9OC zIKlzO#0P7|-hN_kTfFhIAjHz@sF)WZFRx8=2v#zv-gPX< z?^Z0FMfG`rgbIitr9+F6ESxb`d(6cW;{}k?2;c=?E6wv@m12I`h1K;u?jWc{78W3G zFIi}AR0`PRpceRCCrck6;T_5jS(ZUNYS_?M{mfX5B2$Z%N=>3+QvXOzF?Rf`azO3) z!>OrR;P(?OS@5r3f_h}`Uc9Y?1&bKTpm~|Bt#hoc-F%UEiN62qHwV~Wt-HyfxXwf| z)#devmQ%Kg&p>Kh5ZIEBkSWRgc4Bjb)^&~Cf}J3E8{IEZR3D-m&%{}5f&$hNe5U1 zXIP@;GEfRda8P}rPEwfE&^m+-ulFA|o*%pR8?W9s)^P?rz)Zi)f0L3do*A4jzv;q@ z&xPfu#O}AD4)0~g(g!;FD0U3r>S})gv0snwDs_cu|r^piqT>+9GOozX>czi**c8a|3M<}1Z z{<%%a^qZ;bddo-`d>s$|znB%a_s-7g=%SEj*i3hou_gX zvn?JU9Cu)o{Gz3abQoY}%k)wx%j>|LZdm>o=-z_8uYf?Cz33hqNR>oC;^JshlW1kq z1RfG{Svupsi39(FqEo|!P)Q7XC2VN*o$;+5Cv065N_PoIe@SxbNb{jI(rm=gIX;b5 zmilfE;OaqmKLw~tTSRKZ>o9dl(7y}IK&aj>v8y`MFY(`Y>%rFu^S!8%T4h74*7Y$% zyv6mq+_N;AhK82Jk9W_D@Sz=Yij7{zX5%Wyp1@0_YbaSRS1(@*jE_Qwz{{{LGRriN zNF0rcz%3_k7BiB!`QKW+54HYw|P@d%!(6OYI`g+*;QIsk7>hB}G0sZ5+L z;ReU5-b3v0^D<>ODmL`;AQ@`Kxkc&Lg=lBG4)(a>@a;GS_d-KqL9^U@X@2EmPq)~= zYV;}bvK7Ltp>X6tVF(0PNsI`+`?C??Dnf&!*()vv9pk42qGBc8C<1I(y8UAAEteo1 zCp3LV6HLm#e#`~F=-7A?5!ac62ld_catgjdW0YaAI{(OZHIYPba2H@gC1NoUUcK~ zsM(7b;s@mw-|tO!CUC~V43~fKWXD@}D)D!MiEhdNJ@x(Twkn#y!~W^NqpRco<6V$B zY{{ZA3AK<7Euv~mqF}D8tw`{v-I7D(TnUcn54RWAC-$ecaxA#8k-rtl}Gf}@Ai@hEH(hR`s=qi))ORf-v&uo5~T*n`7UP+|zVUr@TsWHt-rg1js#DC5>%8@|77CA!x<0WktFb&U zey#jp$Odp8babyX)g20TdUph+`|xbEzbM~Nh@FCki__U?LYJ-)LBgEXne7gE(7>FX zbY421!g38z*(~}ulVEOT*@KiSGz3{~l5d!Bi^slDn4%o`KccOYu=c*dN~}VVW6E^d zu*e$c|AGZb6i%i!R+wQ?DL37;?x6|ng*#~;H5IB-P3o_V)LD1xgYnSv;_AWAi8tG( zLEBf||J@=K)*Ztl-1|#!!^b$tl=FSYO=#``Y+}m$A`y1#_40Up$BUPu+Yq&fh;Jso zpIEX}1r11}(dingx<+JJ-C`yrL4c67J>3ZhVE@7(*BX^Olg+X%&s*pHO2(>Pnq+0V zix$Amw3<_62|YKzWLr@Ym79aBspn>{^ppD|;oqfn>vwRS-Ay5yt?LMBq~Oa%oFv6^xld)840Rk)~sf(bT$Nnk(_* zn``5DNAOu;la#e_ZE4$-Li_M2NYfbZ)!rvH1b>#{oykO1fGMQfYfIb-I|gAT0D%2T z1quK|Zdsm;k4Yv?3q`7-y?4@&E38y)W|S<7-@xkpBRW4^1C@25Lu_>4^ACT!)G|I+ z>KQokI6dDp!1)h%Q$X622r=1jo{W*>d8)_Lo+Zf0&)bFIK}674CPUzfCC(BJI6{w~Co458zl3(jNMEX0miVpjcTC`mOOotN~|iwE8&c{Dmnmc#PqS5g)h zcmv;(Us&nyv`)yd@Y23_mA=3)Bi+2u&z@k62!>~mQvW~IL&w8j+5j#rFMD}fWJ*j8 z33s6ev6coINw?q^ij#&*LzA~^%U$S{D_~26U7P-k(>SQ+bliF z;=$jp^R4-=jTjb;KcRy9z!>o9f5{}2WZvr;7|bp$0pa^6$k~Oy@91HcioyoNPr)~y zHEy4=h?*vposN~numO}EwhiSQIfk=mr^RL++Gy;oM zEL(e+Fs$MZhq&3c(NsIdXV+-@K z_y6&d5k_5Lo@G^SVEoZUL!MYg?i$0jz{35of08m}Fu03;@K~7`kyRX(^IA^_EaAgQ z9eCC|5Nm0~rzGIO0ucgO^Ktj=8%*@LBLpF{7s20^Vg#<;SWMKuximZ;7 zE4KOfr=RDgGqFi=^^(F~n5JX2tgzudgTZa#Zi0W^KVWhD@ZX@pgCr;41(OBVbaKd{ z?*Fb&5iM9mz?x9F)Gu0sH{hVqSWu zSF$$bf}mv>&9E<67K;)pPsPkbH2%Wyn2<@VL)dpWd35_@$Tr*!@bu2kjlwwM!&DH) zCO(Tl>$(1eb6XRtcESHgBP^>WgZ~p9jSB^Lh+r#MNXZbK!I(SshnJpB5G$XnqTe8C zIs22m-nJKkW?98L3T-b#0`8zPDpFHcNZI&SDKM~KLOtedk;WcdnpYhwzlpp+)e8%ob$jCev082XMMdMeg{6fIMGL{l%@6T_h7VLU?F)5UD=+hwvcd z&E_Y*qezNZ*gYj_h(~G=6UZyqrQLsvz%I7imu67bOJpKtR`p3G1CT2nh$q@rM#rPd z^25l`6A>{82120>3_l0 zl~>yG-t^og2J_Ss$7nH!9PP;V~<_&Y_!XH!MhT8;0m+ zr?47Y7lJTQX2iKCRQa4}=DkLrGluw;|C-1Q!xC81EQqMr~sTaKdD> zNy(a3zRM~#Vh7ERA%_XD4ej;F7~Y#vTcjAE(S&Nme)3(+>g(#-Fe1$VFY>|sdW}H4 zin{>LoBi05I9nhrl&R!2_ufEa52#X#I0_wo#0}60DS2cHNte0|^MiFEBho&Pp(*+*OX5(%G&D%+_ z-B^p`c^mZ|bsehYpSW^;_F)Q{*Q&6%CL`ny|6KtUm3v?EGj7fpDk-{=(s*2w)ZMT0 zDww)PZ#_0))XB@SW6m2qPMU6W`h8e3?mUxvR^Pz;Ce|R_6zLOl*((0h|Dv9IEAD#$ zRmlftqNz5*Flqmrw*FZ9kA&vll7|U1&HY~1qxjw)jUanv+2u zQGUoZYO#tm1tDt~RTkiX?F)#uXj(}BAvS5O{v~lWgEUBvmSmvSBvj9GIGm(VGM=Kc zP^?OAJf#3tWUyiO{xcc57IJFY63i(U^;=>_DIt7da*4K5WtRHTT>UPakt^tCCX|JO zoD|*TdH@hmuogknZL(bYYi=IvmXW&1h#O|5otZl6Sox2m=!K|BaiPt>S8ri< z-VXLxX-$+4Q7ku5Qh)d|RwK`@qi`6$4s6(`Ul@$!KvsFK`l&q6T*gMo*Y09bEGr;? zZ{udodH%Tosx>0PDu{FNOvGFiRTOG+!o}`y_PlrP#9O$o4otq;5_9@Q@$b#DYnGqvJbfMHUa zWf^Q5kr&F}cdm#;B%J`3Q0VlLFRpfS3JmU4N&rN7No8zk5l^`y@;sddkqCu7L~`b+ zHcpWnQ-9RY`#yAx5%i|HtS92fMlJB5a5z3KBv9BObCjwXrQ=~A%D-U~%N8J+xq^u* zRPl>6KAJKugoKTwGS?P9rEr6jPDNKHG>IQ%sy9YcL4XW8$uIsi>-bCK&i*IM7~waC zxh7lvJX_^-7G-5Zih|Qjl&vYcQx&EPo%jC@N(giBQ!?aP=X759 zJSr%SZ$`g{rmdPnY~iw9qzbL&71<`Pc&5cP|9Y-0>d@HBlxnfR6lswZ0lmfaL(sp_ z@MJ3`uCDo0v~W9AkkI}jE$o>3Z^$`>297NnN07urls8aVG8W30zwjCt+5FaH6nOPb)B~m3m{UjC)Fj4ld)i+*o-KtK7PnN z@RNR`9&pZzCKExFJccf?(8#Xz6EvjLi>)WggI9qoJ=T(-bFdDxO^QbN=8^sr#U6Wy`khAFjShAvr)?@5u z6;Ep45>Ac_w^BJ5hXS?vg;Xe@XCEaPNh@!E>kzDZ82K7%%3_UY#a}pZOu39Hw}`r{ z5d6P4Xc|jMhV&rADgIq((wYVlY8CWTSaEVEi)B!5F$27GS&VTy%Sjo^H@45iSoEm2 z>pn8!QN8dBmf!;0uX@F zP8-Bb?rA9wIS|ma26%C)!%{p53tk~OY-L3u4KEni^BY+5U#%!OGo`mEFZ+FMuh9G_q#Hw3<>;En6q`whA?sGbYBHGuG+3(a~$^SnGgn6S$BZpU!n)8D8 z(MUtOGB4?*dhKb}I<0PE`I(`2mAd3ldE3?Pj!dQ9f$ytJ=O{gGu-1aanO2QoTpboT zjw0`Y#rS|atQXd-U!qDO&AM@k$er(J0#`zNvj!0r%tak-QMp`-x_j#KZal5g${;+6r@I;&qt<0`K8s@O1}EaslCbb$2c4p z%{Qs?s0*&yua8rTsBU5MUGIT7H+}rK$(w5r=Tla2LK|P?yHC2l?tUWadNYX{=~n)~ zHE7EXR4S4lF-zWLmDX@wt|U8_a1fvp&q5U`DgI@^4%nQHD<)$kKg0W~wBAoO&QGH% z_iMI|o4&ke(mS;kz1SiSKZAe<0{8?Ahm!I0|+J*h&+qk&+pGbblUoZE~z&9=* zxs02~oNzzxDDv38w*R9k4ubN95}aZDlRo-7Nuv^zmmf`*KvpSumSMtOl3_Y>f%<&{ z#<|mzuTO*yF^pJrP;+|*nW5Q&s(wNlmX|R0`%sONt{y50EpH{?^JBv>48YKCH+Azt zTCzWisk^>BiWGqLLKB=Dix#SNcR%jtCqJOSOL8GrtB~Ub%KZ@smf&pn*0vB?bNzvf z(Qeq8TSTgDExo(yHf`Z+kJiVy@?H7$wwh@0=>($3TGTkNd3TRX(bwb8`YN&4J=h}f zraNfkJwHd`05>s-qntG}D)9ffDPLPsm^^HJ%%tz!(4UT~q|0$UaMIfX;&k9ctD%c7Qr9L z3NC}@5?Iqcqj@uXP~1#*TQRZ){wkkOt&%6fk@vJ7fADL25!O#tH)D67jg(7q&+FlnwdN?QPqO;{%N%w;J zmgcw=f?pUI(Y3QT_3&V-c?SW2j_%s3IX0qp^UWdj+SoS{4VkK+Yph9d@5_&ly1jY6qOovk7&(UdH>4qL{{`Z$Oo6&7jQbalYcj+B-!dzus4E z<#$ng)v0)rO(BiKhBig-Aw5nu<-fn50^GWJHsAnx_T108586iz%TpPGl#GXmh=>Dx zzQB$sLv+hy)>+m0P#+rD7}?an55T_Bsf+`>;Q6B zNMUrCW2084s2j>RS5owVJX3lGA^0%}251CXyKs5vBCD4kj4<7~Hl*q7J*XohKDT#{ z>6#35005w0sPTG}Lbz1={Lt9aFjLND+wsAaC{}GAYFEg(dD&xPt`N!0p3)>T);Rv* zv0gmiSydZpu5`V31b_r<nFVek|0N*EN=RNPJFq8ExRI$~{B^7vKLmF<7n^5+bOm zs04Nl+jg96c(J|NtT^3f(35z3J~g@*ShK;(>$-y~muu6{Xm1|tWRwd_^;|ahl!B(v z)0iLbV;_s9q{$!{=>vMw6s1oFMrKp1^acKsq?s>7uX4Y| z_=D@L0W#tuYMO7mJI6-wfSldwuAAiXlhn_)~g(e-@V^E@c zfK*|IR0+hagA_%`7oU~E`T`l~@2?_*6Cvv@531nUTgHd@K@7_lqqe49aOt>bCcJ=M_=c>!ZiMeCNKPAZ;-|B?7e+F` zt!4qmAKQ7K+G2&AN7VG5!B;Dt!@t4j)h=lKw2Fk)?#h389Ts*A5FMzXzi4&novT`N zLpxIM7}2x%y7qCkVQc@{njJD&zGM3?YG^9%2B{z0)*V@nSK*S|za{9cobSt;(J$bxjf(Yx*S0TjUH5j?}K6k_S zJU!7<_(R|ZSGs@|>?U%4NTPWQ@y9&J z3G78rrGT*Z{xn@njF@(FTU|&V+5K|bBGC!h;@Ix}n?SW_ARJZxxWk^ln7HlI&Fl21g!|6GoF*+)-j?6qGE6En>@z78As zK3X`rQb1wyf23z>PLGBA?4If=`ptQK*p8~6_uG(AnXm5XN6p-nMARF=N2_zns3~pV`)Z_5OBbtm`_}DonsOmlElEx0iYV6W zzMGXKM6*y9yNun>2RMl(F#_**b%O6wA^#*mCgQtYVdC2~+`mVD79TJy%V+<B^bI@}Sj$zkNe!AqBfwcrAfnV&-j>=Hi|^umPGP2FXJw!iN7AuJ zL-F@H7jwbUZPv8G;SUnq-4&%!neST@+1<~FU~X=1JYG*^)NYMD7x4a5f6$&gZu_my ze&`6=K(E)0#|7+wQ&nwo$TX>{SzIJ#TXO~&683u?$#*Q=V@bI2F?y+rPGad2YK$Yu zJlUx4RwKd6C4d7|y=gVs>8M@Pfa1vw0i6;sFn8F1yut%hkIhDCdnOcNMJYKrLavK5 zxzkS93);$+kMYz30R#a^EFv#tS1#h0vzN~??e@-U-@j{34A3ZIBMaI=3pe88q&sm! z^iWVTP-IW zc9ZYBvWXZ4=FXfbjI-OrOj?Y!>2vn44BREncb`H{Pf*J~04PVpZADStPrAGvp zy!uZ;6)H2KgEUIulD7(=FD(lsk4H+D&mo! z4TnJ8ACv92>*S_Gu|OXtpX<>BswPCBK#%VDGf)@X(eBLVjMM7%?Uj9|7ocTt-BSPY z-ux|F`SSV!y~Epko#p5GwY51b+YJbGb-Os$&WR`ScfN+{yc6KKo5yqAokCCtlI&={%1x)U3-bf}e+l!oIn*|l%{Se)wN(Sx#Kr72rCgG`;$#S-Hab!_JShQCTn{p2&a9>}-DV>fLpxCjhAU$BKt@~$Xe#cO~ zzn@9Q@t~X8=gmpjd2p-4-jmFPgC5W8Ln^1&=Z1mJrir1hhfo+)s5by-kEvJMuvTSj zl@^=?;2rYf1tv|fM$R#+MZfHR7bVbfA$YWQJ6AlDvzVrW)~kco_=|pwHUY`=d3*_lAfEJ+xm#z8S6j24KRzmWzmx`Ah}43yIit7b|4Gy z0zRsInzgvujjcupRR}mBA}K~w!>7g7#3e-!7Bcb~#>CB}cn>mIv4a9^3_yourfHPE zBRdm0pd7A@LnIpdCE%C#Z+90I#yak2Oz16@w%%zJUh@YG!(+_{9MA)eXytPA|K6d7 zLRM0WZQv}gs96=p^(-r)g5=w%$_`J*KOg1S{_|T2w~e}tB7BtFXK=OJ-siZ=g}te$ z4(L5|k?-E5TpJ!=K9uM|IKzB?hu2L;uX$1iPbd&z@bjBWf-bq+aInQeiuUmZ0I)Vo zORx6+f)5|(A*%a)o!kw^UZxO35yLv%bZxV;>HIlg!((B{$kif!UqLF_DMObXw^^QVl;rJe`$1%^F+O*GI*y}|;3Lxy_q;Z3ofaa9y!k=iFFmRLg_Okc5A>O{j+D(3I z`Z8blb#UvmMWD4VA1tte_0b4^I6j|y2nNK(+GSpU+FNO@8F$?c(D-kkKyN!}FbFf- z53{cFK^~XTN&lWDK-4USc5K1DotVs8k+b=|mi0g+9;R}vJ%Qy*`Bq{Am+$R+8Lw8} z>nx#6`tstVr$l+U4;R5&>UvSn);GVg$QucIrrw(#R|WUW}SycJCnxK4!>W?QZNq$9|y|q`x_h1Z_%Hzox2A^ z9=+^69n0J4IG8bR*+lDVb}5IXcD!~n0qwW-cIU$h5u?JIkIysw^fbb+A6hM@0zljI z(?3jKSf*5+C+*YX(;jH{8@F=c6QxKP#LPi8Nr`iCd7Q=7^uK zo73MNI=+uDeNO0h>@%X~#;TCnWsU_}n;T z?#<%~8R?A&mNJss|7PQA8`>*MMf?WI0tuonGl=5lGU-?+{p$N}a0bU$}Q}%&^rE z`X$nPM5H$}cM%@Jkd|c!NY8_1%cvm_hQ-1D>ucQEcZNr}n)l#H)yS(+6^9+<|Bbzt zRedvl!iNj6e0%prAiS5rq~!E7I%D{FwiFTYg!1y4joTp(@P1w0DAm{G=AP(O6F1Yr*q4D5+{wy(A(iuyUy6)z;bgqu&7h3Fa$G<{Pq{ zH1)}=F7~=!eLAk#bmWG}tE^-VD^7Pl5QoQS8ETra2ZpKoceoF1Q_(jUp)27IiP z8=hNof};={2CQv-)6v#jJ;Ws_IJT@6(AHU!74e4ez?Y+ort8!NDq%EPLXbmr6>`4T zPOa9?F3hU?byYPJdq=@LS66BlbZ-zYjhtjnz&|?FUpU=9+%6o^e`)Q$I<`ogcLA`d z=TA6jOPIBUWW*KTVrp0+E;YeiOfEQ*b0gWLqoK2jIwxj+5R~Q{&r2~o zNyOZ}ePCDv+w|201xH%K7Tt<#>DO2wo2A6*SEJ=tml0$wSPoTlE%qsbls}OvZi=V? znk*Cf46~CqYmX4^lUU*`UMK)lmjmAC;;NYN0jGmrQrqXbR35|PE%3j?gZ}I6VGE@* zm_TYIqNW2KtbQ`}RCr4yjFh7$J~icLE)xXYQsL18w%6J3$oLKGhha3-P&%z>d`K4w zRA4O1s2g_#FtDmBubsRtC632W=S*C|jPF10G1RqkHG2L`YNTTYzd`(K>T(($h;pTC zisFm=P!5?UKYD;J|79LRtHPux-C{lnY|O=XjUfqlmq0HTB*->(Pr&1$MXJ#f368nh zYSa%d{4i>1NV`G*_pwKeXCi1ciYadqGmY04Eh`x$3nFNEoquzF$EO{(nO|3>yz>#~ zX}X2tXsJnr4c5nRL*+d~-CL-0v|Me>hCR?{XVGRr&dHq4;6=?_DbxqiOSt2)uNM9> zXIzhv&i)v!E~Arx5HU5{TEp>Qk0V=LG?uP8FH*p?T*ttb5f_CN#gzyaJ}-IX{le{3 zV%35f)s|#!a{WcMnvTsZg*A*$A;vprvfm(vOoBp{nDW2nF`T?f9-=^I(L=<$gf1EjWT(sBU@dZf+`w>Is`4&Z5Rtr8*Rx8L88vqh?8TK z#piV8c>c!5NlKJLw))*IhYeul>>oRt`9HTekcbWu=@SRuZi{`I}3`?HeVG`KqE~qA`Vc& zi{{A0_1wljHwaX0`nk3t@I32`k%9Dy<=|X(tmTKQxkn25A(+CJ76y+5iWb zz=n`z$u>=fq6jG8%A{UsACwFx)?~7Np_&e}n-sROH!3}8JGl#h%k*4FMFnUBcUnBzla78 zzuFYR<;9W&EAB|?Ipl_PenR@qcC5x)DF#yU6T{>xim*8JVB@+%vxs>noLxY6aFsNj&ODdQ zF{!GTURe$@yHsoX8|l)B3S$r#;Ktpn4%kTJO zgZZVxzs^A3pQ-txeb}c~@33b2&B*334UV=CN1{DqI>LK0rRtJ)-;u}Xe-rNA{y{1I zk7i<8010f1v85a$M^02$0~9T_`5@#z9k2z?V^ZC+Z*4get5K#$*wbbdoCj`y!^;JekX? zQ%1Vji5c*ds=Eb)<&0I+Ct;$YlI+G&SR;R*=&P%@#dLE~f&dZf>XIY!Q;99N2&k1! zQN{mny$FHFx|4b<*IxgmbPg#1A~88&Y{%0aUFa}QNZ@$m;nZtkJeqy zBae?XiU@>{DXq$aY2IPKXPKZJ<5YHN#sDo%4WjKh(tnq{(CuQ8L2pIGoNB%l^~nq*5ez-Il;u@BwWSt`+& zhZ2&&<@#|+TN1-2P9gqteT_%eoSf>pd36E`RpC?Y=abMe+;1kKKCC@zOOQIG18N^L zn(;S&>IUO~21+0g_vHecD4T)u`~r?i*(dA&|NWCETidSi!vj$()JF{mUDivvutE`4;J$@`q-UgRHmm^$~Es@TBrzH=NCl9|%k zAeg@qzRLfn;%ZIHWFts3#w;;Dm__R}6aNw^$uSnOx-DA-2{oQk;=`rQncbC%3swS& ziO3yieXhHAxdM(OL=fDm9E+Q$FKI^QNK9QAfaPah9j0ZPVYSR z|EKQitGA1q1YuT6qiWFek*es-WTzsq2-b>>5NySpM3g z9N~6Vrf!|0Qm-f{S7fLU=AoI7fmFc53nvY=W^Gymj|)&HQH?La;H#W}VF?w`mB{+v zpL$FD4b(8ib^4%X$;J^rkN{)tt2hZ*F9XQ5YF)mAgtEoK9 z5zAApj32{XQfHZKwt3(zDqOInTykH^@ARy~%uBZQaBJdj(w^#^SoR7xkHP+(Ln&YXl0-+l=FD`yho@@dhPYc`rZS|nI&K)yq%+GaW0P7OMu zccHYM;{>;(4vrr?rmq5;K1fiJiHK6{LxLfirDW!O3Zrq5C;BkbQVQcl$QMmp3etyE z<`#m%kuH+8D^vZM+=-AlSZ0_oJ5DPx*WtHAm?{* z+2#7*qu?>rtP?=HvYdXQ0YvoS1O__OMEbD}M`RKdXGN+3U$l+mAKE&`)n;tr?FyG# zN@5iCZW6Md%eSR*?Q}(26D@7RN|p;0Q~F|5#0TUx$;8;<-Fv1-*O1i=bpG9gw;iXa z2ykXl0a37hqbz&PNuIyjEgCk+sGd_9_zBP~C;kX6MS_f`boiRTzaPN@5MplVq;azR z1Tk`h6fI7py@FjS@1Za&duLsP4rmFSrp04 zl6X>KT$9lVj0f9*v_PZ%V)@MGq0pkopQm4I%Pz_NHwk|Ss@>PYp&cK2=6w0*u}6rJ zRhP7PRMfe~Sg2XmH2k!Gy0!|77l8a$;H6k}Na(Gu2De-uJ!5=U!F5mEC@^6QQO-Da z-fyoD%vU;=y(N=Q13N<5H{ghsO?e4>gXi zd*(C$y8yIIyDlnbg)@Y4F`C;X`kwST@@V>rU%RVSjh!?JN@gz7L`DQ_pclG4#8A0M z0?4XtCM@S+*qeRAbdVKP*qRG8z44-c#NHLRbSG3*%bxcN!bU9Dg_G!v*91|c{;PV- z!L_!u-k1H3`ZM_9iJlAqBu1*OqtV6quAyTVDZexN#La)w$j+{+6j`*;$fP01FOQD#U3$RX+nbL*(roE}QbZ8B4^E~M6xtT* zHVmslF=uZ0Mdl|M0KwE-0dk-sbWIl`DOh_G@I5UKeLk>aFL!bh+CL@>k}BdRK%^8} zGGnR9Y5WHlgA%Sb7ghVmJYgj@z<|?kjqAa%r86+-`~m+&oT2dz!q8avnU* z(q3hirc#YwGn7Utu7(TCx;E_ptv^B0l8As|P zjgGdt^qNf>TTGgZw0f$Q6}famCQn^4gI$x8wjztbRjQjy*ne*~Joj+nNxbW$9UH7hA&4m!#wxL8 z%XAQA(VUA^&JfeM9AY^dBv6vLP-Gzb1EvJv1T9=}!v(`w126sl&w$lq#qcO4a<8XX zNBDCZ+tC^wlHKcGEOBFYOt}X|^o8%qOXMaY`tfB+|aocJd_MXmMzN6F6Q1>3o8Pj!cN*|`YkH{XWar zdxi9S!7MqztvT=pI+_1jG5+zc&mN@T3Hw!Bi_-?d?9M8pEM>=0n*E0=s$kRrZ0aZS zfrwG=YOkPD*|#jRJ=f_spZP@7aAHs2O+1M{^y}fj=P0@BNIAfo4vC{aQ zC?zz?4FJI5`Fu>J=W|nz>)P_Ze9&Kho8aU4zA&@()9Jd6MoDbrFLM4{(cupNipBO= zE3wa8r=-=R6TDV!udTax3H7P{==$3|zr$tSS?cgtYA#5y9|wY0XC-yPtrvdZrO-b? zyrKWRp7d9;Vg4Rn*<4#SJ)k9$%d5jhM_4w7La(3H=<`Pf>GMSFPyRATkGlE=R!=CM z^|d4t3IZhvRacWg_{OH1ycyveuD0h$tlX{GvPzDADGUH1^D}+q!hnG8&TUbhL(EeC zfLBY9i}vGkLV?ol(&fyX)K4dHt zj`c4NpTF&1xR)7*m@061NZdy8!?h?;G{iyN)fMG7h3hZ(aasDMAyGA$^{iXyRNJv& zy&dKWv2if=)|RR-=Mn{bXI<6bs)vjl9gNJaG8Mv_u7yP=(W9D+y{!f2W(Kp zilgVFzAW|D^_m;H)vGsZ7SONdu6S>DZBI7Lt(i!mr1CPg^)|>5qh)3iJ;`WCZym)z zIhrxfhg114Kr>0u zy|(B2TuM`%)6V~D8aw{z85`}t2hE5B3RkxU2BUwp)=A_S3n1C@VA1ah`O1J8MD-;q z*{6JKiqQ&<#NR1=qBv%%n3*VKL&PBLLd8VxV8;Ukq5+x)3Fiz_NrpXi3@bdF^)eGW z{g%x=B!oUIvC1@nERiTig_<+KtU=8VI(&MkxiUB7df{mzRKPNL!CWDq(_t+J*F+Mk zqi~u3D<$hZK3GAo>v}cvSI?=`&p$dA6nMy60FPy6a7#Z3fvFFlb16YjI}5M!{@)HP zI*QqRF39_>Kd7uHGaM1mVdEV_YqpcuIn#hKl^ zs)1~OVQ*jKKaw72n(YGe{!=;Wlqi3NkJW-*bMnt+}B0|tui zPl{!jYO0^3ET)Cv>>|amFh}QN=50T&i_W{7I}?FcJ)BElVX0s4313<5O*Tnf%}cmS zBHM6aq#q(Lac`H|g&e)f$kZsp=Gso{PNG)*x*5kB} zGiVAjNsyh9$+b*ArlghWQdGfF3pcHV%Uwq*AUlzDi2!5C9|Jwfu<%gAzV3Hh%|1TZvZMxv%123k<^GMYk zn|_CmZ3;z&&5S3t+gcH>N#{}C*1i6xY13R1y~VQoEZVVY469^+S+^2dzx7QlQhm5v z=(^%+HZKdYiat9S1sVhI4Ju{o+`Jk}sxxrUCpO6lT17LPo$DrD%F$zm1c1r`9;T3& zwS#DWifeaMCU_m z55x>V@BJO}Fxq+`s@&rKUqZ*|J;RZmEdgu*lOHoXdyXJ@x<+mECfx zj%<$EmyX6VLFsFc>aF{s52WJ)U+{Nrt?cPhK;Mr5^#4HUK&GSN?=!W*t90-~CHbNlHRJx&{;elT0+iyq3?sVeP0s0qX1L+_G^`nPlbd(8IUFe9DKa+f-E zu#d3b!H$Lt8Qf8H{5~fHXB0-C00-5Y($Ql32vf&ik<6wh8qy((O+0ZOM@%d+H&Nk9 zvPrWf3kH$kT%+ULB8H*DW1>JPp}VFvZwGI$$#BXnu&%qf;<8qNu-}EL)80SuS!bEx z>3Ult^L8Lj@J6c@IY4j|UC?gmjpCMB!1(^*{5ic`@mtg1hv2&O9{S@4c|HFv0WGD+ zx{tdC{yhFN_6OHvapA4On!Bf#m$BXFYkSM%Pp<|g1-0*%j`Y@J;9fj^pD{DRitW5xy<}pG5MR*!=@#HOnL{Em zAawN|#~SIfUf*Y^LR#l_s2>jk;EF-WG|QZYj5P)OzV9(gj!pXRM5^mVe@wk5<@KTjU?fp+H=WRKH z_4hrENmMm79j?DSF9#3SNL&QSb-uDnsnHtSIeJA&$rjWiz!LdZ_4`&?6{2<{rBaWJ z8%~J8*)nx6i>KvDS>`*e4z;w-k&>e&kiI%r`t}PO1Gl)?(gXJGF<;0sJ}rFQs=`X~1^1Wou2BX>)3lO@7+5OcVNii4v^IY*x0$LH4*b+o!LESazw z%(z9o|8HpXZoE!HOVQ#ND6(JXdXT6D6Ogtx>oKg5;@PhJ1YPe02qhbCDjS7Pq47GF z!Ki>hWtYU9B6cw$PE-r$sKR!B)ipLSQ-nb^&2tYY2u(baXK5AZmtysjh>Db=8JwRj z`T?H{yHhK5Ld-4)P-7ADi>=rW-mgOe{)T-&p#G_UrZJEdGI%o_m4iIoYsm?&<#i(? zipgljUj6I`^A!7Y2-r}L-Bd_xod)t!U!Ef>YR|J)Gp8AVuW19lxg6lKr(Z&HzF@|Y zwU?!264cD}VeyE)PX`D!-b(aOEi8z!oVayE=h2P+w?PS_We#RQ1pz=%$@ z9iMGy;w)iEqaw^(DufbAN$V(S@f(|E4$io&LqG-FwGjg2lOTjS9*3F%q_ISF?u_W7 zZo&a1ILa_ha}GX>BphnadLjT|Rz!}C1Tz-eLKMDTfvA!=kmH|yv9&lNdv05hooSWf051wnZ>OR_ zP9w`jFyAfF4u}75SLCf>Dla^TA2x02v`~dd7dpP>U;&{|{AejSc|q-Bu`i*~dePqZ zhMviTnD1~F9EE-=s*?OhJs;It3(oF-VHlV8pYj4kIsFxg0f?x&c%>ibhU4Q1)Lj26 zJySU*Hzn&~w39Yix4q7wPsQ}CVHrk+Cuy$jqm^i~l4LR}+-MRlpGF$e{%taZhA_oo zM3IH3eEQ#?sRcz|D2R2(h8&wJnGGT} z-E6Hr3&LF{yF109(;#rA`H$|UjbJr!#C^ovucU7X;oF#b+jH9URfp*M|LMu#6vbz& zM?e+8N>gfZu+b+&gQm@ewa!*aaCFb%QTAxoTGX{nw7PsP+9>=si7XJqi^suKy%zkY zI#Wco_p2$a^lJ+8C-z_oDqh$K!WUC&YTqM;<1y%ka-nqO7-4|adgkCo*3%(%2Nl0_ zcTiGz?tZSaUn^<@ji*kUq=ka+Ppv&1KDR^t_Vp1!LNH$|{g1fY(qBC5n!kP;c%O8KiA*^O{2~{7k3Bb22tYVEXZ2eW zLl!^lK25!h(&IzCC`A1mR0Aw3?7l>1lYsBNih`+!pZ3~oUuk{3>iw^;l*RQJcqi2K zIMKVIQ{Qo{ycV3yH7LUC_U(QJ(emg!KUZdM5uw*3O4RbnuSJAjPerG|K=JT3ymnW+ z(&~n-^NNeCCW^)iE=1Ck5`x>4qN)xC1cs2-qghjO4bO-1w%wQ0G_TgPjnAPEtQdR& zi|2L^DyXjk6UakkDBRq&SJjEg{rW%3jX!o#eKvvkX_QAwA8pU!MIQw+$%lG97Z(-r zdA?+=6a9EuPj_%|-7p_-Z@Mrq$_RQK%+L=3*X7~y?hy|{94}(JoBk~o7D~G$0ix_u~dhPj~^(O%TK>n9NeFm&JO>(6PwU1 z;_9Dbi4D^_eBCB=|gRLu8>k`fld#af{0m5Q)DVy`-*L zMTcXm2~ad$NH+!ybu{iJQja4c+GB2Fw8xkhS6NRUBP#do8&IoDaDCDT=M(W^QH(T8 zeU6Q4w4s5RKco|n5I{L8krvroxwx2!0AdG!KgY*1_sQT`ZYqzi&#m%2epTPbvb*hu z?)JQ7=JBYSDZy_SyzWCKKeKkB>@z1;6!6o9v!d}j&5X+tGuhtHCM@K$@s3wl)wdRv z6okHwFy;7752;a`LpQ#Jl_^?91rj-#VCe}ueC#ZK>&@$Ej1#o7dMsc)oDq5rjx>?9 z;-|yoXXH&@uZVee5vYFPfMnKnUFM}F4I8dHG0=9uKo|Tw041jtBNt6-x38f8j>G3M zcXONcr%Lv;Gf3Pbuhaj8rlG898gMZOtjpx)+*D3ov2X17HH&Gp%uESG2Lgb@oVTD!Eb=tfFq z3U_Dpx$S(DW>ptwDRaeUwqsIn(+zm6d^_?BTN+C7i_#b}g#_5R7*q416(%yrQlL}>XM;^hnq5{XS`wy-{B%RmqR9L*#5W5QK@ zH=v|Vd={V0Rr-rLuTDvPJca=#bs`H8FEbD1?oJv=QC}f$@?8+ z^ZkuN1)@@(%j%niMLBf{9=@zjshas~k;hA0CHgNJI~fIjfF(G!BJb;s_CmST>mA1m z=bcJ9giE}Fq2u%0v)ug7+ui+m`G2@eyD|UZ-u>>I8<%j@c=7-w>vgQFp_6+(wmXg1 zClY3*5UR3JqLU8o%7w)-nU>fnKaswPkd5Xn*l(bpUx@+Xawqp^i@>K$1Gv=hsfx5^ z25O#42lG%P@6wu_NL>z=EQ9wM#7z4DxMV2c5jQ{BOaZ~BXOgA^(S3la3F$A^;zluO zDZkl8I0RtDQmXq^gS6;jAyIMBgaKiYfXrtwguuctM!f-ZWD?N0YfThcRBV$we+u4= zs=_&tK)QxjgUtoJZxO3anl|1q zibt4xT#b!nrmwAk=nl{O38-!ovmEB!YsE*ird+J9%StKqoYm2qp0)^-MrpWir`V*Mx}N*JHWx8H zQ_Nq?@9cKUR%N^K)!*IM+kO+A>+Te}Oy=}^&Kk_i9qE*^P>_X(jkqH7Rymby3i=58 zF0v`wO9PureRBe`c)$LcpWE~%gvV{Q{(JU&_*ZB43-|(a8@n9PVQUU=tCBlE8x@z& z>w8MMuH#8CEs)Iz7*IFwMP2K4y#{aLd3x&em5nMN=+3bbP~){YNV^;S;|=l$*b6

pX;4aHS$=yS{$I|Ca+wVT!7#z_;;X#fRC%`Vw2Z*%R5B_Hk&yHyT3D( zb~tRiX)eQ(VM+!#g{+>GOj+%gc@|?c5{w{2LC3>~l*Ld2QMb=sirk^n4ULdz$p#M3 z@PRr3{pB4__s2kcWKc0SH8hIf{j_LnGxr}qyP~p&_H`k%{#5oNI$*r!oi5su@JvR- zu5lvtkdiJZdvXfF=mkb-LVNs%@A&d zMw(VVOz$f8$Ces=(w}<)94@D+H!ITS@P}rcUn8~cbHjlyzyII*JpisRb29UZD%*GyFJCA@21E3{T*2;)>Oc6v$)KViyA!&dEd1`1!(W{ zTr?IWfT$oka5H3~v~2OIR~rw!H8$M2YhH=9ez`DG$>y^9<@UJA%QRTQ9Y!(L;rf8n z@U(r+bYNt(#wvH=|2N0=aeCN29u#+@ld|S~l^!PeK@CzQ?#7VMCVdqff;0QYDVdpL z5gx+|j11|3ovJuX3yZ)LG10y=ZDCk_5t#~=3p-dT{R=RmVdpGksvX~@C_qs*Wve7N zDvFjT9jO{;AKyc(9V@j;GBO@Q%cYQgEpZJ7ps4J2K;(z|2CpWp{Ix15Rb$!lODQj8 zU04El70$qR$KZCaqNaT*E5ZW+JOC6uHCM;g9*cNQ*Z6h4HcP+fNMCinHcktS^xiao zzMU3(lY5qJIqgoRGvf6=|9G2&PgBA~e&65vTrY(n_1r|~uG?fW8R@U(pyw>2zU+PU zb8SM0pjMDy;0l5kOJ~f)*ZG)3bhxZ3-R6FY(pt%L`L6dcfr*t!qcc-iZ|M6{j&zXh z{2Z_xpUpn*^E!6LDM#gl)$Os->4QfD9l!o`lI6lI!}B1kBJwMkRy&bs-Fg>Dw&qgR z#imyDHL8<}A{5`+D32ing`O z-Ti>)(Qwo6a_DS7;KRcEukNM4>m-1}cXfiBxnk}8rMO){^l6pZ)QkA-?LVXil{-Vn zF^EUToLBAs*7p-1X;^1w|AQ*Ss#i`YEd!6o6V~Ei4;+uKhyE`vGMk&f%*Y^PIuByu z*@18VZ%4cFUmZM+G)~i`gm~tI3bE^)yrYz7HO@UBtIIBt(p-P|EI$YMvr(F)l>H=t zn+t={6!f@9rtIF%Y`*!Rree-)K3v)etbl{B{aguiP<#k{ZF9Ns;jJWc0Q%*sZtg^KJK8 z;3&O?Lt7034^aFPjzQYT_}VOGP=5k5!|Ji&yD;9q+w0Bjarb7n+u8Exef*I6rJwO6 zCqTdTs_`y2;N?vJd?}zK3^eBr=*$MZeTiD9rie$T;(Z_6^*g!M0SBV}*mAhe{YqER z%y3vjdh$le?yK12vhfO&g#&43?|Wb5GQIBi=GVAgb)7{>EcoDQfKA?iSkw8L77Fa4 z*#z(F+d3Z&Ao4F?E{NrM&F5ywPDXpPGD*I9N5SEzl2ChDUT5}QoBTsg#qj0gh-y3A z^-N;E5YL~u4|M7{CkJC4z-IC| zs0RSHoVhs}tWrsfg$5Z_R>os(sB@l?gebj)lZ=V`U8zd#auaNjA$#$#l0om;Vh1CHccFq;{bWTISb@bGt647_=C zVE`m8duJ8ApD!xcB6odrMK5yZhR<8GnXm9J?gaeK6)M!;7G@!$QhsY;OO>E-C^?5a zC4^gOIdHo(8llxOfbfdyI)mb!EBY++cX?rl&4)kGUjQ|wd!tV8ZFj$gcQ^l#6Gk_x z7XA39)7WtHnp6<2CK><5ekLk#hcQ$^vz1>g*61-Jwzm1XGi35Pnpq(}Mm8qu7L86I z$GQ)q2(2h4m(Z%3NIE%cK;O?_r6Et*xNv9=Q;X{XBCw&kt5)gCW2NZ#s&bny4u3%Z zP`acfwfNABadId0etfGdgwGJ7V^l^@2Zx2jO$mJ3jBI3tV&ub!0k=oHOUu2ozZo+q zx0JcHz-#|#wPiY9v@U#HQ%>{Aj?hs0!38}}|zSp)zi2%i=z z9tsz(lv9J2u77t^i;j#%w3X;$8DLiq2I<4>oym2XN1HQ6q9Tsa37b z9*np{;&|7Zrv{uyHWHlWAcez7*fRY(zo~2JiP*l}5ujMY&wou&*Nt>(nh#(Zu9$H0 zn{Qv{X=KJFwMg3%h4e5~^Xhc^E-%VMTg9ROn0a!g&eNuBH*EZLg(>nXZ#nu5J7z#zs{zWw6J%L z4*Pzp>$!s_bP-{5b??UtOH&$H@H?#w#&bO`>oZsB8>>GpkEWvoW0Bgl`f#FC=|hZ@ z!6_?CpnK<#MB5=owm<3$Rg930ljmbkE=&{rh3_TK2)k(K`-H5Oz4fuDz zb3(@28$q3(%1di0i+rg_%XkCVL-t!S-SN0fX8s#(iO1AvF}s0SXg&#wx8UlFZq_pD z)+gU|D6-2dCtr0My`M;e?ZQJ{?nDF`o&Gn)ZB8MV*U* z$|HL3<5DRk`J8SJ^4+d|c2HK}-ARDKQ%S$&y-#$bQX-qUsPZfd%gOrbx=$%L-Wr}I zy=5)erhZesP8XBYB*r^UgZE(^c&ke~wSwYJ{1N?gQxQI-h;Z4ZePw!pfu+@N-MPw@ zFPq?vJr8kdNDF^`wKq0n6(^nKTU96GUO%;29mdZ>kJ0PeJpV2+@_*coTL^%Iscg+} z7NuiZ+dQXmMTj%3-w%XU)wob8<*{CLg&*b^w!emg{AZ1i#<9=NUmz=Jf}hn{D1v_l z-S2?Fcqjnl5fw6OOMWH~YofPTEv|Y~gwSopK6RG3)?uYBRPgqnNu0I}b!@ncC zy(kGq`80i7jveU%PgGO!rJ-iE5Q=->EZnSGS5g)sdrf$A0h_EQBi?Sr^)|(`x*3MQ z6Vo`NpVKVzYw8^MHo472qk5HY=YDDGo=?A4R^0xLq}Q_OeX@6}UtDdzICE*l+x+Yh z@-?&ed`-l*e{U>+VKF~2eGEFVAyjCtz0g+fd2SB22Oz}eXP7bw%t0kW_}T_j#l~Gs z`0b`4$Gd}vDB`(v*9JxRxCg53C4UvjGX1>z(+#78>p7*@Ez7boDjhsbEn!JtjaZ-{ zE&JufhQaPMoJ9O?Mn2A!zV--4LC;v#F+k0#x<^KL{TO%EYv+}_>J{vdWT|P0D<&rH zuX^Xd>TS=I^7w?C?r+h(m!G2O?#nLRdHl?jM+;$+@U8NnDR88s{y$*t=aQwKk9BQM zeX^so?+%}v95!xDB2oLu-8HK`^sU^GpLB9J&Vpsxe9j0Uh_>_$49~TT^!X^q~7_3ml|A zukMcFvbxSM?N*^bjD8QyxfXedEI=sdFY zBy({UUJjlTU;4&|)ONgloPv;O?&|62m(l_Af7XVY|I_NWfTWQ7!hfT0K2eh~7`=a>v<#xj!7McAEAu+N84@7+ArdsB=3>)L!rC5oTwf5 zm<0c z4E*`!rWW*}Jc7;dWG$=r36ICROTi~n?_G_RcRy`?joLY8R;mG|fH%Xfa|e`eSv;TR z7=0%(DfL*3ld}>4xhoH`V!#qJabAx9%8zVv+^Wycfj|dr{RN;*- z3MM}%F8&9qrZVg`JbTevWAEB363QUXxoPETK0IG0^Dq+*_KM$5vmIkivB|9#qDQS^ zfY#(3I_Jfhg@XLz`TL535J!hIUCc!!He)A=x$(`)Gvh}jFzM&VLKIgu$Tu&S;d5;V zXSO6dxwqPHm+e1l557@%&adUb^LT7i?9aD)lFnoI-E`!&UPyOsWBvE$F01+6IX3iX z*Ln7NZB5~w_|WR1!jZtWtr_xB)Z>c2uT4?e_DJ#+z=-D6_%(6}+t#z+XDbdb?f)a{ z8>1uLns7U|CYjio*prEE+sVYXZQHhO+qP}n_RTrxyZ6?Q{?Ti_YjyA1Rc}>2RrRn~ z4k}#K2!DQbWf-h+k!RW7t+w$+;!+abgw@T`y(OG=4hI2wIY6hnKeQmb{&4#I+ZQ_& z1+#d7V{&X(@_zEh+N9;NkP))t5}}zlm5I3aK33OcX%dyue0!K58J_G{z_&Y#a+Qco zO8KT!dl4oyOlQ%xJ6w1%SJmd(XEDP1lh1td{rC}YYelOMf8x?wK=Smv|0-Yt-ELc@ zLU{F7#bV=g7yOXPbEQLCdg=XnaqClde(bCIpFU=mMA77MDk_ScB96y^(qbYUV7~(R z*N3X)LFmC8FTJ%!t#{fH25p)j`xyw7 z_5l26p~C0s)7!lk971nldx>~q>4O~K)XC1(jUn+@;5d?q(EH1AkE1##uF_c$?`6e$ z>Z%#e-wwJG)hbPI0a08VizL9uw|BN!9C~%J@^K!mQRnVgBN+v3;ID(}TB8p-d9y>p zV6&|oU!Tu+I5?+i6VwzGgJo5x*1U=k0Ox=LFjKWMI|RlP_R^@!(xK(&dU^uBhnlIc z&x1>7(cjZs;=sM@tC1hp_3a55Z6(s>Mn|1}ZnkXZ^?4s~ZU{IOznz6aA>QIDd(W-1 z-k;Ara8R$cOS4tSFa~B&l7i*BJ_rJf zkuMCI?d8Yge&m;80L#u`9g0#kBOD?o9&mHSeLlD-a!fqI&VYu+!pXO&8sl7Eh5?ip zxi5{NW*yVVA?pIW-g3Y1W=NO1DmpbVar_=EB0bsz$v8>TBZ4c~a=%-|63js9UY2cc z$X;RiR;hWj^3Y8ax7SzLswRM6(nU1MO2W37+iaM9c6I7CB9p+U{&5(A)U+)}I;dxc zZ==x&RSUVfbB-s1?h7AWu?qojUZK>uJ`uczqzdD?=$j$cmW5dG2UPD;#u*@$~3>qzK zqHYp72-Z30sdl7TNQ^P=s^2s4&zpwtv_ywO;+rxaaX_djeBa2+t@i5hjgX}lGrx$2RZLZX&Y-zK#KXD(lNl!H6-l1qU3hGy8d*elA~+E#D6okgIFC?mwUgrT9so4lY#< zZ``f&(=sKmsOoBe%d^Jb-4Hx*cU^#RI}}^Z2nQsv1Wroqb}khUD1iV6qOLjd^p7Zb zXh8C=&R?>0sQMy&{_{lUP;PNJ!SYO&+!kKw@3(7f~4I4;G$yXvZl-felj#^T{z( zJn9g&<;5eTu(!f^!ZT;8@D(Na!E}pvRNqi4UQf#=b2BrPCR$va0)HpcM8ucMZP8j- z%~!TQ8D7#%{hza|cOnflk^N{Hy>1xjfdM%dZ+cc2R}P7Uel>be$W}Ot57k(qKHstf zyS?~WOCkh0Y@MoCB*e1Rf4)lm(_G|a@I@oS%0wW*RRKCiB*C1&qcUj>gB92^buG;z<=2@h2AECkch75yLC z_A0@dmWwZF1ZKF=l;Z%E&O^}w0QVxE%ZjCP5*s4!>SF0uU_=#{hT+&xX(o7Y*cxxf zvF)QAKv$+(+SKhfgE`%&$Wa_@(d?SQYD%~YY5e9+c=}EEpS(}a8Ha@VnSrDYyaC(M z{U|eRayXVRmx30sHmKhm^%(e3yZ0LGx<4PxHr7K>vdK{1mTL(*O<<2#3jn`|t!w!d!WESqTY$zHzC^f6ZsHsVt&&h%n*)ExI&6g;0>&y9_s zEH^HNGN@UVlxFyqQ&lfg{!yQg571|G=+TZ_FB!2nfM|b)*g1R|1;fQ^&4kz%ooFrE z*($cbfDb*Wv<^*atPl0kV%IY5B*gBWaGGE;rs&Lk0?A&5a1}O`C~303|Aygly!$`d z7M#Mu_b*5^g48ieH8Qf#G(TLY7S5FG56MW9i~6vtc>e!Kr(fvcnQdr;%6JvJ^z2d^*Ru%pFh9RuM=RWG%FEkw~szZv!d=O zesi@?71H}-Gj5uXL)#Ria{dY!?#yPV--ma%jiAQs(EPwCau1Rq^EXV7#(k5zE;S7b zF39`)zECy5W+VWx4u}}oDzxBdcRZI%<-- zKeyOW$l?Dgc)Rc?f~RzYrWs`Jop(Xr&!t~ox`hx|A^B=^x`+-`waELL7828R4u6OA z(e_8SSLxlcI0PKq@>ArW_ImQ%75;a^-Pgj0bD0#KmyDx}4*8z_{VmSn>G~5yfS;5T z@IPhDUjo>Dye)RF%U78=Oc}Sbms_J%ATG|ShT1A-bp5G*S|zQciX9gxz-HQ`&1#7@ zEJ=xOYf>asOayCAS)q3r{^JY3y&(wyJO^x<32v;PZk68oIC>zYW6APIpdXFli4&}gkyD6 zVLUMJFo_|OfD`u^wqW&){kf0O8V5XQu)(r$_*MubGLIQdR~tZ~T}L+z4g z%mfN13suRm*b6l+ag{*4f7ma@SMc!u-1-7Fb85aYEX=aS)|wycZL#M%72Mt~Hve-5 zbj|tTuCX{-6nesaX5JYW#AF4->L4a16l$yTkb25KkNX9rCD6zejAQhD0IQcg^X5vO`L~{-3e!NH}>n<`>Jb)#EWF zqEJ-4U@h0|pI$%X5%7`IuNmVCC9AX@n_JZsG~#Ci*Vx&Mre~>|s*&!*sFddO$f?$9 zSnD#${{j!dPs-6Pvj`5_bEs(mugY!rVr;2q-#qusaeFdG!+^3e`k)u6%n@c}qLlcb z`Mv89Dy+ZKu-{0jmu65a2V@JFur8016J6R1o&*f-AUPb|=p7`SkHALa@19RkQE1a0{VJ%QHV`;3$_UK}n;dYV zP@EOs&z{JRNQ8UlR%lnCG;uDd{(R&@4$W%qE-)Q_OUmBkp zWyQQ#iH1tH6*zw8-)aa9_Gk3U?<9O>{AIFnha@OT?@ME=9~z}^G@WOa7`fsJ^wCZH zyy!~WziGJIeD~5~7Q3f}qQrB3^fmwc@Ct|UHH}HP_XvTjf}6{|<1{C^Ro^TH>26!) zezTbn!^!=5Fja+iDm}*Yb0w+Edh7J~^6KjAE=@3S&RNLamd0g&vkqC5{~n~NUBQ4O z;|TYTBdA!LDNLFocWLwWsqN0=Z4fFg^E(ylWd8Smes1FnSi6cvK{~`a_@1LWi0IFH z)72ESApZQ>_)s16TfOBeEYRRxG~~E%r+ozOA+>m&hm7(Ydh>79fDHD+7%h zc9g64C!yILpTZ^D+hTDXa=6;SajdhyQaIfFqCh}yq;VY@-X`W=p}mvS=S~(J+?MNi zlG!#^IV|En2f(}4^eE?cz5LRGc;m7Pa0?{^4t|Dm{KqqV|I^2ZSMBAba^Wlu;gTw= zrMv!(r|hQwl1zJd!iux{cl%2p)}=?$I4F->)D`>RpQsw1*>VG&fBrKzNCJPE$UbyL zA#|dCagUgaZN!E+Hq)1%gXlcbdgp<^33|o#hvYKJAM_sQqm0k0@*p958*zEbSALdc ze-Dlm0>HK*W%v+tL|{RH!V&p^WyHvMljX$9+p+D^1K{LwSvm6!q*owJFKPzlqivH_8#|gH(i^XMKiuB3t}bPoZ9W*BDsf$ z9Il_kygGLWv~+}nlWv0doX-aSEPg%@8*tZNiG%+u06?^!1kw%?Dv>w~k8Mf@V%UOo z4b0R?SzoKfAW@ITL=6A1rqaQ$i@@1MezDVziK~QIg znr7Z)C<2u6WJsQgc}*-qep?XM1BCk=ZP6j>uD}V34wF=`O%VQ@qYRi z64OpP42>o?J$*9s<2>Hy?VeL7g)-|#aP7PuZkvT7c8TlJ%uv@=KEPAH%6UJtM9g6a zrm4$O9}yr}^?c-URKPoSXoUCL>*_?2Td3i2^RujuP`@>>L#y-tTzVl@$0<~IapNsY zG9-1QinEj2aPH!)aPSSCU98LNGC?}>k==_;=6+NdmxVb%q4QySkNc7AXybW#V$XWT z2%*bD?b~u(PJHUS9EZxP+B-TX`tyzfKsLtOn zplLNa%gIIima0cyJwFdr!PjGc6l%R3Ys}^O0h)^szMiMfeR7qrJX?OfoeEo~VNciX z)v$NU{&oGD5bqOtG4gtQdz1=m<+2^&#%(4;Zuq?3^6JzmfpD?!NfoD2=O7^Po^w*Z z{M`9i@+!gBKcxCM2HEW9{$A1(`1%Sqyl5NOE{7QyCLOKA6OUsknWg-o zP8zrx;1^)Pdm=s=>L=L%%D6(gEc=R=w|HLeauKN`8!(@@cU&R0oT+MvljM%$ZmK4m za=2Omb;GcAC6Ij7A-S_ZTvWV_xYq$>*|46LgCiRfBz9ikfsZT{eQDe-Tj)6D*W>d7 zMkmjN8e^vQqXz;uC;87`BfCo+kJAxgJqlY}3kLV%$fS`SYLzC-S7k17LqHC@txELjwdWI}UtaLPWMv zLbGkms=QbvnlCoBR!6Ma6+wjtgrA5fJ3ek)Tslc)on+`@?mLotncpHe(3MvG5MLS-_L+YTjuC#Yn$@4YFaHMgr4Z)f-T(p&dS z!dAmDzg{~ZHRZK?@9(Tq<)UAvA82vU^{`X_3A}V5L4ySRg$Kz{I{ivJH#6b$c#Y_e z!Fo7CC2g>2m7l-A7c&sCHI3}aKD#tOyE?;UNTl6k@uwfmRY~CwMy!i(QGuRDPmv@k zxdtKlH3*`+pGikxYQ#EgA@(-Mp~y;nhPW#Q%?GF+umMJ_btIJQMxhht$p(OuG0O5m z5g0NcK@QzzQf?*VLqH&a^3)8_f$D(vU;deJ!)y{{mN-Ggb%uv9fqN>9zs1Jv1s@QK zv=B5-8wAl203ZTSCMpuKWj2eW+Aq+wJpeLn&#}Fw9HeZ+q4@ zDdmu8++V3_*V}YQ3edc?p0oTgM-pKlAVS$`C4wh0lJ?uWh7mKF$uS)q9E1Fi!o#`? zD!5Gce*1dYCt{a0IKu57-^65nI(&ExP`He;K5=*swe zNcFdA>Extda7g>Q&BDW!#Fu8fN)fI~r89Z(J-)ze$bBYW(qN^Demr+Ow~F$Z(~TFL z^xDpGOFGJM8VI-W^1KLyfw^-3q8;N??`k=^WR}7N!sn?K)?3)rSUCGGWgSYvyq&CB zLX)|x@hSn1!48F%s-czbjOo4-Dr@9$z7SRf`nQ>Q6sAX*5X?V8TMhMPMLdPfyM1kB7QP zD0oQn;%&Xj3W8;zedFT58S&)?*WPSZ(x&7d}M<{p<+P(D6jmLtP2n$2LgfwuHi)h+9pu> z3J$H(Wy*0@@RwT~bC8rCvw-t*WdC`VTBHJuSK`^n^gef;!q>SoB05qstE}%0QP#VC zBVPyXQ-AJpHCM|EtbMwEcX){G*SHlVsTTb+7(B}BQ$8RviE@8k`y`5+Ia%hpzon!z zGHq57m-;l9>^D1iX3%sv)X43p-dmU=m#F-2zGx0lTP5_|jUo6YV~Zc9Hcybn2f8PfxMm)KpE zeR*D=rd56&b$Xs4<2PAS6&7-;mpN=_by)MU0Q2a?p&5dEH@+8vOc-J_=oz-+U95e5 zEUMK>5G3t=_Gz7)pf)%AmWbLuqWS)#?;dKmNNJHhmdeUQePOq`k~$;OWXZwE$HLas zIP9Sz(tL7vcWI9_1v(HUZ)hGc0Wb+5Ss&lAvwLPgm)I~^0-_opL_V-F7_iw79RGY@N(!Z3*bUvCML&Ucn`zY+v+*4*EK$RCkE!pXSH z?R(tNSfSJl@`j}ehAXLT#9aF!Wd+D>uH|c3B>INkOT5g`DK=X#b0(P9o zkFg}7gF}B%`@SGP1#yy~1jxs#3cq7sMPUfp<8! zY!FgZ8d31_Y?M&EQLq5fj0sjKc$>h_h9m1frnhI%a@@)#PP1rEw4hF?L zj?#H8-9K*3;8ETHm25iG&&ty=f9VD=k3%EOEz?@W*Pt&n`+UCsIWD7j)lkb%1h^MV6Oa1(u(;HR(k<`cRRfW6&zq* zfVWO~=tMtALa%o*`zujJ6O=FWqDi`BTUf;;E;?l5&15GY3IM66&&FonltK5Vo!^iG z0N}-zk$^<<{?X$Z>WrXk!JLmFe*`ZEC0zt*6PqaZc9M(#y%P@zF>!NJZVvZ;MxAyk&Vb*HM^Iv?j__+r-OsF@8o_{K304WVW-ku!? zMpBD&Ru+8whw}(Zql}}n>!ymtj6YoLChw)HSYFFdCr)nMr^-*gcb!vj@SVK9&uWXqf=O3vVma_i_}!GCOLKAUyMSVn(#@M{zoir zi)cQa*Mhop1gI90z&4dJu4HPr!4P6#*`PqXEWje=4f0|>guuzb101!{0-(uapktN> zWRK-`2t85!X7L49qyp8LmQm#*?xCqzC+JdwQV~eKU4|<@>9xO29sGmG0NRDHt_3 zFXEQXMlQY{yV(@4HzIA>!)@n@l!rqQFE8K)lO2yMN8GEguUkukEmBX$$|pOfICyEy ztg4$f_s)4h;SED!Z0>P|hQgHfjBiqoZVs`+jdS#A@M#mk-c%f1T*>_DR_DHVOp^+$ zBnll6O}NI$&G`n*Tdnw;Mj}qi}3CkkP8_`3*^TW zb2b)U3{?yj{rp?pb2_a=6R|&OQU8aQX&s<);DNZ&0dzMQ&jb zk_Z$MQbvrvmmiWZF!C>}pf-iU6e>wLT?07Z4_cJ9q7VYPC{d!T_p`V2prw2%wy!Iz zECg-KwN@7_ugBS6V^_fZE#+U1#pJv>S&8(QSF78@+I&w<& zR#S_94{U(xMI1_8m8Rd|_Xpo&Y%VT~LF?q0eR)Z_Mqg2Fn531HY;QAGi>c$m%nO#> z)A9BAgSKV&crF)NTK$~1mYc0>nOa6GrH$V+Uz(JQz}`8YQ<1NXNd;1^J2}cUtdIA^ z2p0}^3Zz~ub1lc`<=BX7Tq`cKizO=^R|7$Fgm`Rb?+IQmA7T`*lBuaq?XO!OoZ|zL z|3m~p`JPkI0ahN;EfyoED`?}H)%M3u6PeZZc})i&)I}(ii*s{GxEN=6+1L%-^-B0s zw^06w&HE18p;S|MAraRh14?FlaWDb=xQc`T6l72opA{+<*PUp$A0mh{y3)|~2~J?4 zkVtw;074_-68lNFIov-Kqs+rY2ZP}SFT;G;5$uBI-uxj@Jy>9>?g2mJ8Yh2pgj0&d) z1w`k#pJ7ei@Htf(?=N|6KdjMmR9jo{TEcE=JdZ7{*}Is{!`aTV;#&%M+(vY1v^ezk zCd}39eT;Kb7qm59am-lU<40R<-3_E6lKS<`%GGGdXnalxS1o|!+pXm=^%P>0f4*;M zvYyDT_!_^$aJv=-psiBX+ZJbFnmKmft?Qth*Qs)zj(WPBwQ$x~jS=4ru2(hE1Gyil&%t z51BGPLQTiI+>a6#$uOcHK@?-9U{{@vGukHC=pA0#O;%z$12YGa--HoLzZ(a8$e-#ZDDqtaAOa~%jK^bTrLZ7ZCq|;nOL065ZNA~j&$ml|Bl}vu)B{IR=HX5LJqpnP(KnkNG7^rc8n>2^F`Y2~4A>SE-*kovdP30RWL+Y76e0m1LUo+Y6*8>0YX#jq(i)Um zAS#oHM;x6dA{**?b?8|X@y2er9gGO1?|p;+gUb34jZ@Z*tA*zW1%J7GZ6Z~iqk{Ws zl3;QA2w~fbf&LOnoi+O61)pEM(fSr1fwJm5^bSjHu3DUlWKThN2QjN>R zU>7-TisHq49qAnuEVfK`JRuJcR4-(4(A|OkrFj(+@e2~dt?oU$j6irU^NiT#{~#&! zbtL0F*~;pnke^G~H=iA(W>J~Dn?Iqo;$~O^gZ7ATkncF@4y&K>BAr}sIEL0f5$v!J ztMemIVkvFKsE|~9L2rV8ffLobBFoEDr36?m?IG?W?t0g~dlx_Zp;%^!nbVRhHdI)Z zF}v9T_^-xFz7gTF@UXMyn=N#%g7g}r|4t<^Cws0mVH9zV8|Itw2^O z`L0w@Mga5ti^A!2IOqQWE7&j}pUv)U#Ld+au9fe(ldvb;VpLdg9 z`)Lqg4KF=j-`m$prmjB5_R0#0-!nhs39_p1mz#~XU;&6MA78l6uP46MHJeaLE!&4^ zmhESO_5pLWzIRpc+dk}*aCk2Z(LwnG14A!ut0SP3o7dZJ%$xU5FjHFCu541t(h3r~ zhWR4r`^by$A7^PxN0H0(B-S?rQC6L=rK>awX9sxb32_3RR%-z<%HOB*_YSR z71gGJTlb8od~o6Mkb{N^DdW!?4j@2R-$TlI?GBQD7!5szt%Q%~x}6ayu-mc2ZT3_e zaQkx3?LEJS*@|~b$)R@p^cYKIqh^HzVj(l$QGNQG?fQ0$5P2WAmlRPsIWgiQ;Kdo0 zThppBOVjoqy4(@9-pnry093o|`s~!_bX8H})3Ff#t}G}SG-nFIe*K`P#irh3V0BZ{JdJM-{>A5? zSQ)sRN)+((O`5oKO>T1A04c_%^wUxuc(+O-K1kXRSJe0(-4)SI4kjw$)DMgM4BA9v zwd7A&w@?n*Lw$J!tqG4z(Qt4SzBMVu^;oP_bs#^N|owbZf zD(g3wit*VoHVR;W#4M3o{YT_|OkJg>O7wt3ywlEjNm-Q!i<4<}VPSzfB`ylyZ=KUy z$vPP5U0{a|iwp1{i7oG=zBf4_3yh|~fNX51n^`ah5Cvijka=d$opnX5BI!~2RCV^& z`B?TbW}D4~xH>sKU}wk)Smvarw{e=`q$NDF;B>EncHfbn*H)!7+#0XJ=YntYWd?5Y z{`s}V+_=@h;F4Kgm*?l+ldXxK&^oG=RTRVf>}6^9-b6(j9oCNUre?QOTFKZt=f&o; zAle3-@jsI$$diARU;QEvt3x3UdQ36}vgTRLH%OYu;N+Azz8mSP)^^wSa>xh-9?qRT z)NHq&sU2tGwh;dC_KC`LIS98osp0)yDiJ2Y_>iFssvxsETV}MMKO`_Fad_+xYHS6c zV!!yZ$Hz)z*Ed_x5*Rn+CdxD4Z-+{w#mq&C`?TN$_g#g?f9f@WDWbUl2qs zMhX62G_K~fuzupgmW|B% z{2eNdIx`okV2;W8>5_aml6;lgAJPN{VhPnY@+8_S^Pg+-C^mIfncPGpDq4$Hz+3ll zV~OJki}Cf3X#BU$^cS^Yb})pp;%0B&2Hv61=K*PlQ(Eb$0|<@G zrIIKz>&*>GlHxp=TfQ!3OySaxSmq@-bgSG#J}zjq>8V&)dqK_3$=#cQo5!MeLuq3O z#

^?Z!5_URvsQNh7v?fy8Kko3(F7&jkuP^E$Pp0r4l|RVfK)X7Ll6&Wo+VpZpOX z+gbJcm!)?_lH+iHn3|l-usiRp-51Y&LAe$6G=eak4PHlGD5tWRO!&}Et*&H5ueeZH zy-rRUZHkk|R+{x|=IHp4jWnyRZ%WhS>Fks>swNlG6$>S_SiKHf;_m7|A|`M+F$ps- zR7VP5Ydw*@tvq{FkB(lP<{NVF4Zayx9~oc9HJUvoov(B}27kgF zsHr~Jr%=+;B-1m-UY(dg`BkXN`p!>TTATc!A#j#A~JV*BnD6bSgCp>~}q-Iu{hSmJhA5L}Bh%!JNqnU7%mWKEu+gT5*vgW7ff73I}s zhQeGuyk76}`sC0CebXhOJ9N5SP}TDfIw6#3^f|tm2W>WsJwgkr)9weSFNo@BXf&|>fIN-ti*8K>501%TK9nh>g=IY&PfaHuz7wZ*iKuC_R_ zfVZK*PLJolFUnP5mQ5Ka=k&P!nkPywk_BUFy~ zqNWNWDjOrK|C4wsH!Cf@>u6v)J})YR-fcT;XzBOjD?^vjgQa!1seZ^@#-M_UPVGq+ z1-oY+>0{NisZZz%wbe1dQ@C>3I4dCs~;}X@d-Kl*aemw=Y(9Tr-Ez zW)n1;obTo z_mKfH2|@4*=)P!L)?55`^6%l`Tl*_^eZ^fr#NaPz7buQ0--?9M^vNV$U3$w8Y|6WUHvO7G2_JvSKn2vD<`jJSaa1n6)31-0TSyxak z6;1D=>Sbng;|t}BiRW@yh~Mvw zeCn9U6b7nB7euA*bcvnw{C3KP!uV8Kmn0$YXvHm;cRR9fzu6M!=IE{xQ8<|%vyDd2 z&b}y(%W1Hio^Vr&LyEbu&26#KAx%5=xMX7d{0tX%_{$!5W6c0^WW#!?Klu1OrRB5s zIA4^q&~R=PgcQ6&VU$#-C*I~{_XJE)*2HZ;|7FkPqxM#=?;vOI*06FU5roPU`35R79o9-?rtx6rM(CU2 z0xt`f1_mdI+0LP{{945YZAb2K{dIP*gjgNgRjbrhViv(@eYD7`-CYnA zHu-x?jfSTu6PKpK${zR2Yn{>VERI|21fX_41x+Jswdp{nfX4C$2WB=_-be~wHn~;m zeKy1OLNyMVkCaLT64c=$QtfN3vg_^eoF_sk_}j0agg-CF1vt1a)!YOOr4o^hr=#Fv z5+cLm*DGcf*K+PE>TkI3WhfU}<7})(j|(PE1(&jWw$JP{8%%IYSB*o>n~A7=1`686 zwMAWA&O;b#+|MeO)f!8O5$G?jHm@yp(i; zcTlHpb=+%%|bUk*hdExaon)NQD%Rd zByLBcJw=D*K*-+w$JE_~BqMl-<@_2F)cs7P(z$>Shkb)fRYP^6ZprYRKxhDvPIu+` zidjXK@wk$@54oQZdZT*W^nR4=VmL1Ytj~-Cg0#1EVor)nGCIWioNw zApr1*ZS5$|6-MJ(x?a9v^0wH|ZC#3rM)4`G-jq#6o_-!bkZPIz@#T0( zJ-cGDI;qFoq*_(W`>?x=54V6TIE+5ooBL_OeQAC~TB*t~*L>uI#>G|&!KHg6&s^D} z{~qZEuX<0knrihW`o1MH!TERxL;EM0KpWhfP~~Clp$hvV2gq*n>yCStRG&Old^brm zw&d$EV<@X)1_;gWGvP_I*7|hG>hh#|6C0b6oV@GFauFWMjt_Zit906^nB+I{y9t&sj!^@2a}Va8Wd z*C4|8%Rsu#T}l5SN_xGmX#=)XerfCL`hB2f$|Lt^NfiL_28asqD%@X3byls@mFX@~ zN-Hei$txOYt#8r2R5|@clD{4KU|$85kpSENaM9+tCeb}6-5cw6dds`AUO zzESRS|4fCElj2x|2S9&aUR8ax>&wJ=3{^DIY;ShFcD=P(j}I(yR?|}x>r1;u9lX^X zlu2{nc3e(jK{Rr|f5v!5O9Q$+3vp;aKkjIFW2_fpmL{{(P~RoHrcw*+d`q|5K082g zQ1}Klz8T@m7KeUz%$PeW*yMH4er^Tf07IwWZciv@u#+AIO;MUm?I3imb)4~-Fbj&_ zUAmZ9dS-t0XaFF=UKqKZPMi|pH3eH+K_XVc$T8@Pr9?(xPm9gqCb5gwXK~XLj<%Fl zHuHmi0Z{a5+HX>{Fu`0dZ{4yoxpZ{5Gb=jns*-oTp2LK{JlmtPvjfmLthaJqvXZ>a zvQdED#kZb^%HY6h+;`%bEs`^SzG#}29n^7KpSMWk??+PVigUGixs`bn-U8k|R=1pY z^7uGIQ(foA&hCtaJTzvRcV=BiD%QR{-e}>#qmO9XjGAVr9KD{7CxqQV zuQNJ#PRUm@K_eFUUy^%j||4rHoY!Z5ZHn_Y~Oc9CcMR8 z2$#F=X3#P@3x#Fnt=wHaKF5cvq)SOOnYcZ!ukV(uXyie%*sdOp&?;4Jif`{M*P1l0 zdk4gSLwL5F4NQf>Ws9hMc$vu^=7TB~b9mi7ld*Ss>>u`O0s(}hKv2%-p2vx~70dtw zQ>}Uq+5=r*Z@UN{DDR}}UU!U1lVU4(AK7U&g6?;(M^_`?SQlpPTL|-$7>umD^W(nE z1ML;(n?L|Om;tTyfJN{SQe9PYA;;rFo)_n$c(m>2%hQ+3%zJt5l>vroOzFo{`^$_C zQKUo~7j7$5Y(cB4@m8nw?d;g?Ge{QKZ4~kcXi#PI^JiNk%}eY19jbq{mB?47@D+ue z>=zWmy6wjNx_;MfoSIMwI=YaO|KeF{nkgaSp4{whE4%tPY09{sSe{D?$M+y3$8V{H zt+~xbYl?FWp~@BOv7#Mi=@3Un<6xK|3!(c$i>b0QKq4$Uz%3yKK4$z#RKQn5h*E=3 z>IGJ>tWs^W2 zJ~ya^006zd$=b=g!u*2Qb57Ute51MN7n`j__s2(-F;nD}?3Q$15 z4I38)NiT%!11^M_rJ3n@4j|j)QXysbfD1cPN(5@@thZ3}KB;84T!IKDEGmXKs6jx` zbqwC2LOm|!$3jy2P}5Zfl2X)^m~8L7bJk%VX&Mw+g*rlLXcQf@ht{SJIAGQ3T)%^4 zA_H(MT?7CbEG6FK7ZFl+6@~`YEVYN1wvRyCo@f-)(;C+S z48S)Kv#jp4KN^7t2GkcFs?=DzOYuQkLI85Q+SK6yBp2Qxr{J&iC_K{-XXDsYc9C$y zpnzfxJOM_@1ds3Id0kx%{~Mhy{3*KE3zp!y-f(mz3*h-=!;D4UftY~znB{vK0nq>k zO!tItz@@IxLm@TiSC;70W>!0|45-rAnAkwsmMdxB)RmN#m^s?KVpGwSEmV$-BCv_f z=DC`B6%VU&5zDHgW+LTOt}hX4>aQ-zEs+4cYdY$LgFM`wAtNP27!itVnK+_}ZC`l( zelzu;l>$X~Hk8i+0KGhJVYo+Q2Fnkhq>c_PjdhKh2!Q&kHvWiQcY}1o-_(7=8(0nd znGw5A5vqG=ai#qOJS8P%#W~6V05%s5ZwY-+757=G1Hjw4T=`eO|47c(L(~M1xN3mS zccA`h;i@>|Gn>~Hzu?d^FVv9H;EPI`U%n0iXdAy?O4Ek2;Y>Ltl-&8Vc%E67ovHo#ZrjBep>OYWSgoZj z0sw%$GPtNHgrNK^hYT%l92cuo+(u#ClFGZTt4bP(Ax5E_5)}TN`cK!-v*_?-xIBVj z>{c(lb}xf!&GnRyPGZ>MbrPMZxZG^+_O+e1)}vsqQwiiS)rj-iHaDI|oO%KS@}FdE zA`Z*83-zJi0l!h&ba zWTW}d7*n%EDwDbILu(cM{zXUDuRY!HXW_lE)rd5g+@ih)!``{X0XGC36XAP2>9Bke zLw{cFNC(2N0uR^@JA~0+a0P@V8w5uw0Rso&_W7and`}gUBD}PxJHo74K)5eQ$9>q`=OW5+uzf=qKLB*PLbCo~5=H_a;Y-GmR8w};d z&Xsul3Hx;*lRYLqye5v$O2eWSFWKi!J8cH(s9iT4h#8$P_QyHwz9|BRX7qr>t;9w$ zuyIQ)mgNdTqW#!2!O`uKF<%uqI}*3<-RHQLqXMCLA6iY2^ytbUT+8puGO0HXQH#U_ zS#XK!)D||Y>NZnw>Z3*hf1&y-kYEc)_(g< zDv%xA2VYW;4a^6L6DOquFF&VkO6%?X=I5NzhF7Y?e2D>G{ytQ?#QZ8SU~NvZ+mp+>Z@lko~3+iV4{?~<6uAC-#I~m zu#{*NqALQ^DUk7nG_eMyona-M^zWq(FJ}PYwUqr2P|PXk8dFjVVBe=nL)7?fcVA;HvclaB2 z3$qJvclvqH+5>-R0GI()Fk`~v6Z?jcyUL>fHZ`0FihFD!$#YrSTIobp#&!LQ`4wTqJQmb7j`4 z+{KC@7`M+${4F*Ph)a$6C00%S^K*mUQdY#cgIRw z8}mjPtbDv;I$LJoC~+ByejaSD5|4UjWv7f2@*{HFSf}9KNOza&Xu3^b>GDufWTm0d zk3)Znwd|yt=>zn$^UY5+Jr!|i*WMQ7SOM_qEOeXGKNleUiCarh1WTA}i9O`JZl=I= zhjZ25kAf5Ln1#BmtuErGx}&<gvii7ob;4!==UV{psb~moqi`3IMQ#xL8+p zx?JQfiGKdv+(~Egw$JssOP5!b#;8}^n6rdeuijP4p6#eY^Vrr*ztGwlh506g~BP7SP6@F}*NFEsIObyNv+Iciegtb^K}s{x&{3V_tkR zm5Z_cr0;BNbFT8_gbi|1%i%=3=52FbXE%}jZ_aM~2CAc)?kE0057>v`9GNV%)%)ol z745LN(|2dwk5<2WR9BnO*PEk?%dx+Q!BsA3^xQ|`NAK|GR%Dbf5X>l~2>f3jA$f+W z`qQ=pg_^ZzTwqFtXyEnUtyLn%--<68D>K|4A6k(&M%Py;JIRjm>FhdzfY-N!2#1CO zTb0wCt{tPkw7VhUfjVblZ*%N)7q6e3ca>4D5U6OXanHY%@4QBJx-R#6cM!IgmvRIl z=GZome2?R4Rq&+f#rZf|x8sbP_)s06o4MRx6DY$r(rtaLEwlTi0^eLNEt)+Jke5Vl zOOD}XQfoMDuJ@L*OBLIwyTD~ztrnadHBOVr9Hl<{?W`Ya*yw|NOY`t?be@;nv9rH% zdd=dn+ZrUboJZMeK%A7UweD@JCs(?^mmXWok`Vi9@NwQZJqlWsbIdk8?j|;Ukyi*} z<5VI-2JLh)1fBM2KFYT3cAmYHp)Oz&lUEGG@O-Wi`(E5hTyeiO@U=wP@{?PgJ=(fx z;De{2njcmC!e=J@NWbmezE>})|HupWF+7_@7=yj!y_)pv?Unk`WH-w3HOgN3aUJA4 z`^WMKYCL>Rvlu3wlUMbaOR19WMc!VUg7ZX0v&$^aZ34oT3Rc=P;5O;-8O8g{F~=u} zB^#)>mkAK&#uXDDV+gL~jS0|dNfXobaakWriDjp(!O0BP^g?IXe?$dV$a_`W;EGEB z2rGpZKocjXz)cxY-g4<^vEpmyX+?yahU%#>n~N_ zY8N6q5gHaa(`?t@KlpZ<9+S*|uLQ`ca+xNlBO&Vj>Dt`s*bX%wC2=YDhuoNQ%1DOp=wlfOvZ#K?%12UMq*M{(z0_bL^VU(<_DB)5sQ%=sLIk^rSlMcVTTK$l# z;fh^SQOho0z)T-~vb8;3!1{^$JAKPCTAfc$-PvdgrXiL(vCPLoIE7JC>=P3q8nat?7IW^zM>BiF;D~gkfiu2%gIp)d8PHS(~==?W~@^Tu> zKcc3T#vK)+L+cpC3Q>}1RV1hbp02K^J!T2NfmUO>Xu!VG#BpvEkKRj{(iyDffU?EnO!iW3wtg7o%x#u;nMIA; z1>*E4mXvOC9!l-XsuIddV8?I@6jf8A^Q(xdoK)l^HjVpL#1p@5(zgf&2@wa3Q#v5! z{g`HL&L~`RGBpDuj2of-{p4tklo%8xHU*JRnH{gxVhO}3(Irb4b=*G+2PTc$EEp?_j%JT{5b`J(%f4vVZEPLfD-=O zhnNpR|N4sRazX5*1Tvr2JMHgDP>qkn$;_^@4Y`45# zjI#A`*YuBSFf~psA;I?Mhy%>TPil1X9yAs&N={)T$5PXNRLv*&Tn~8a)*n+ITS~_y zruN;=GBF2^A3*VYJrC{TNqJz&p;#nvp0vCu@?{!t@!l*{YQ(SoMns9j8F)xk`B{$v zC6AVEwrxO`U)aCfnBC>O$3Mg+1L)M3EcvGGtRfi&510|g;{Yu25B)cCiOz; zaKyPZGBL3p#_LMB>BKwo4(H4Ag{4(~p*R{C=$E3ceTP3M8)N$x(oWK!H3zlPwWJ&j z+Iqj)(HOvXB&bAX4bqPyP4eBKDQ^XK4(TeYyoO>vmJO_RgIiE|j4CuF^}CBT{oORj zF`xGPqU0RNcE+1Ywfx2j0H4iyarS0|zg@fZhd^B2^J9^T`RCjD-B#IhiT;221Q?cH zpUZ*(x1Ii-9Mo#z`O-|#ju5ixELBI%`+5usJ;&vm*Q(dJCNr?r)!`MJk2!l2x)T`YLmW$4of&@T`94EC^tHl69XD zuvcd!o)Pif-7~f_%6ajQjI^IyipWWu_)YEH5zJM|GzgL2S{3RkDjUU+Q5F$IL8N*P zra=bf`kDo+{jw+j@+Z9^-pjKm)3IK)I_>%M`B(JCXi5e~2}x;MYj`am@0gI`e;*&m zoFq>py1ccFJV}tv{!AXkpxdv*ut7JWJIFGF1NQrl1Pg?`AmKdk431Rq_NCfmZGB=cC#D>Nehs;I z73=AOri(3MH{ILqyv#^UOYkomPEVzuo{yshS+DrMnFiICAteiCzY}x+{R7)Eh7i2L zi6*x71KT~mppt9>3|KR3;`S-C-aXfXRF@67N+WEz=1v@k&4jht0b&1Z7dwhnyH%hk{Jx;iX`~`jq!)1RQiI++ zxagN-5uJp1w$PgZ%}#hU`qbby?a~Zs_ix8|O=xIB0)yCZSL=Zz{}E>ZFFP_MGfN^E ztXUQ?eJC{1k}`f47n5Hp9AQL=LVsvb*b9-8T#3m0zIh_zB`PU1K2DP64kRLnV}Zx` zOw9@>yYVX%JQ5-z#@F^pf?1d0uf2k5b5h^x!0{Sst4GcU&*>^YYD9fEG-e$BXT5H_ z;GRwOmkOn|P0O5T9f=I_q7fI3?2x&45dpihZ{jXT2fE^RR*oz2 zVxh`X80P;nQS>mOYt)-pglCo*}l}og+*Es6Q4JQ7*Gl1{5pMVra0g5Jg z%{*-mP9}YbQ_k?r1{Zvceo@9Srzq)QDBD^8PxmI_gx6-yI!!J%2WW&j=%Gkwa2sSB z9{1Z8-jhmY&=MeVp$X|I#ar(mGzi9LwVVsQ2xcDPXr>YZOp}tXsj0DR;UqM%n#E-^ z>~*~>#^m!d;qY{g=}cg1zXFdckB(2i4H?>D^z;>HrMwl66PL+ULgs&(`Tuk2_n+YB zE%r#6=a>2PZFJ@@Ozlt>7oDTZYaq!JGG(dqMPZo*tRvgk!2bC=H=w#!p~WEMp&1Ld|Y zN6>^P`MnMKSA=J4N)!B|f2?tT)JAp5BOKMxe@`6WO71{z;!wMwWCaXS?$S zs0qv5j3bn@1G+nt|1&GUxx$b^w5D%Dl&EEYQVfC+3ziGIr7}j48zcM~8-~JujoeJ* zy7rsv?TQ5a;wYKtOj~x#RJMWPP~wVfj<7W7k08!TkSd$(ADz$qHuPRXp%+Xir0F9X zA`kHttm=XJVwTLOe8lNzTgN#lL!_1l0&q_xlH}_lUvdUS|%j57%8-yP7oHvr*xY~U}AL&r-CV>uROE}x2TT4k> z%AEOII6qFee@|Toj;4DgA#L>NP+{UAe*^g&QX8RHXb=F;Ares*=|m+L5Qc6$)80!< z_*ghKLj@R;JK0aVWMS`|BxV+{pTKZkkBA@4;5y8fZW6vY;Yiveq8qX#eGgR<0wDdx z&>xqY{nr?;Lmbztl{wCQIbraLe@F&r-l{J^4SRQnAeYoun}!6`vkxc-Q2>&nRm;N+ z`&%}mm%~g?yyBmG?e$#il13E~iGC!(;!#bjf;BTD*@m*Ahr(Z#9Z{uT8#!M5#c8@{ z%0)tb?66&~x7p&H0k#1DbM;`aiis2KUpH<=##b|an+HZf+bnL{2%>+7V#$=G7(*C@ z&;la*ZDe`sVVf*JJk4BN6o(TkDzPTXv6RpCc_O*~$Em{S5fYW^X#Xis5Y!%BO;(iU zzzcd1Cd@Hr_NUSPIV$Lgn2XqeKDP`hWQiGjsRiO;kZ+1F4=Zn#=O2jxSl<_pXObPK zZTd>JT0hK}g^pRv-$>hQ)k6s z#ErHf5vSI%T$a2eepX)KvSL}ax z_gP#LR0Q>m61>ydG%;rF0XAi)f6n128)g)0)g$CIlok>@mwLH6wjKH#u56%PCOuQ%c74?5TdFSS zO~LXgoTUT7I(AlwSK$q({&ys^@f{K#u3n1MED97rs5W5-DzmxYW!XiyASUC7hY_D1 zLKkGl5W5syizN~f-iJzMp)05f3rdw7RY;OUV(5#&wB7yBH5(L|+&K^SrH!zpvL~VUu81} z-pGU^p#>V0vu5%c3(BOPBEqN*kislinPlog+@Q2^jtT)Fhy*j3SZh8JHGx%G6(lk+ zNzH<5DwHX$SJC+xoFpdP=$RnpT;@a;2C+@^>kg6>N#$ohrN|d`^_z-NC2!|?0>AFR zXsVeUXUg+C4Y^}nuvT0l{?*R>_9i6n2~14q5-|pVT2K-Y%f#kej+eYl^cF&+zMyfK z`S}B!%gVd`v_P-=dnt}+LJ`k}lTRxc34)LmXyE_UC3V9%ScfKlZ@XqasycK%!KEufShlJqZaJkI&pOTi?sMp~@^guT~=Xmw8xS zZ`->@ben8c0y+#D{_3jwik<1s+)3spZYHC}4qdP3hnO#*+DcUXAIzd#{PxWmj|uup zU4m+q(6GNY4shaKg(4hE_8-Vq54=oNDjREAIZGUvocS;TPmi|wIgkFjO5Ks|6@{Ba z72l8cIJ>vgqKtx1^ z5ugxpxgs1uFyJD~{v$YCop8Ri)SgGrt~Rp}K!7MjTHv!!m@`eba^r(`AP5%4lM)j1 zo4r|&4c3GxWr9})YO|xs_RIvdHlI z=&H&%+-f-Z!h6ZjD71bZ`>-U2a_xMySZl|oOaGzswt3-ded5<0se(<%WolxQfX`N} z5$@vsK6}`AK}P5OvGr9$M4SW$o#HaISEZ{7ELnfO4t!gLB3wGtfEmd}0LHmnW5r^lb{mNKg`U)_&u zy%^XP1l{|XE~`;Axz3mSMfZgmU6uwTp70>5uo%5Vc zr=E+SFgtXpjs#>egWr=Qr-yuV(>x9~35YHa`ITd^Zt^TwHn2gCo`A^9Rn;8J9= zDC72Y$h+&u$+Re8V-3y3S#>c|(N-49w`_Ibp~?B1bqGHkc!P(h`Xvz7F*QY&fk9*t z`-4hpS$T;E5kcsRF;(ch;!)9$j6=_b`TCDLLvIvuxzvnvFu*WB5gQ%jysm>YSnlrb z5225K-xtUs5)nu;`j(TVmy;bI2Y3*0)b+3Dt}icD!L;n0GEW7x)TZ;@FVBNX(HRWD zh?h4i4nVIZ8_4y+Q3k|94GathzlD8(a(HZJZ@TR_-jR_8+mQ((#VOnE2+Mz-EqX<4 z3*#YT;v-|}+Kufk(M>`>BK#D~pIW|O&ZZxEvgbui`2_|IOFeR~HZPPNx03FU?+&jYNKCS!v4*bwuBJc@koqjz8W> z^Urt0M>{lfagc3D3dVZR2ZK=UgdPu;mX3o2sZ}Z-MlXn_BivAJJei77O9itrK9saw zz0?x3%-*iC1su1RUE`EFKs@b;iK!SHyLH@ASjZq3Y&(CjOgJ<+6>fv)_sb{V$vQVj-vCtVTfJ^fB9*+LjGJ843JH_ z@pHNyn?4&o3M!_<`>P|ptbxL8)i{Q)hVEhAl5W|4%F+M^M*)cQ&WqV_n4G#0dQLdY zewj-Hwylma@zK#OwqR;*H)Dpg+cxjUD}6_2etR^v(fz@H_9w!J<5{Lek>@I|C9I%o z%jJ!pH4r6e+Z{odi8^53_jcHO3ik@#ZaR`W+sokL{ER-W^XcRx?OA=S?p^Wg(s%u3 znBE%&VygLLGRpoVPQ9kK(4?y+y;A*0SXv{W)7;ow8$|wi+wDqM7W-ZA7&?xZ*%`B1 zX3E|6o9o15#m8|Wzps`l)?M} z28Mv$`lSQW{pex%bk2(bJqFT#+7LXAK!#u%cu$hH`41SZMy@j>3qh@ZI-M+6DEWA0 z?(I0KJ(z;VCG#%Quo1H#fNGgR_cyeO8Tzf~N}Fyyw$rHK!j3Bb=k14Nz8B#o08E8=1l^ESbOO6(;9!u#)Yif1@Hyy!Be#AT-dH}cyohAb-r9$v40^i3H_m$6O zMRvL@VoIBy7sq0<@5jash+Jjt7+iy97yVKIldXinyuISN)v|XKS5vYEbZEvQ$4EG0t%5cA8uyE?zFsjhVTWb-%vE38{4WB%_MPu zC6ZtQ0QDnlLq>eP+7nIyByfR!QfE&T0|Y6fbOx+Yb~J zu|3t{Z}&9=KS0}4JHmP^P`07t@VDUTF$1JL9YPwkC&+IB%WF_=gR_w zi4KwJG7UMrjn~g1UEE_P!mnWpet_uZ_pi@)$Pm}vX+(Z-s$|7P-`9~zcXnFfT-PyJ zSX;I;k5j29+t2rp3F8mYw^pP7CNS;Z+ic`-9Z8!d(wcS!Mzrc!IRM<>o$BbRd5Pg! zl~3hHBVfp)4PegrXaotD`CP0@l)wO_{ew?5iljeuP2)_JrJxIzSZa6EXkkuB2 z>ij6rZ!cHxyp3*C3-(}@>ye=V9CBDmONgiRLHnglF%s(A>OT(%L!Br@ z)WaW_CR;nPGIxtPG7K?AkA7_7r`NMw2tB#xqEpl4^f@NL4KGk{4fKy$9Fjf0Zh#!+ zoaSl%&STTD6Pf>-1G2m}8WY>z&6tkk#h?>sam>42^=|-T-G~gxi@3-u2nN6pHX;HB z!va}9-ejL5&f{v#b-k@39aP}@{rflin8;F%wAbP1<>wnt!L7yzFo0d$9+`-P-g&w8 z63BDpbLc*da%~@<%|$L?JD!J?8Qj07u3%2vKJ%WPz06FmdRFUptVxATn%JN@rp8u* zUI9P?3mql;679);B~u4*TNb>lhd=^BsX`q0391(nb>x=g{<6 z?F78(30@UkjHEwy7Jqa3jn|LHrtf2FotM&NaD3d4IAq~GJ?=jN`VIoZ?k(JwKRu^7 zj6vH-P<+W2J@|?cD2KYyX7RXo!naf^KC+nF7t0bSO}lT!;suJK=5Rm z*mpmNL0NWNjf`x5&xHwBG;oVxEJVh12!Ohqmls0_$JR2$k#$B%{h12*#@|)&?Q9NC za#BjN`I6p>lJ!^R4iF)eEr$>FJ>tY1d*;f{lijdR28GwTN3y%(XnMWDfhJu>R#HAX z(+Sol+t4EcwT2I~GR=a1ffssi&57Ilx~n!PL66ufTfN?1X}r(t3i__Ep;r?41Z5ld zqr_z0=Bw3(5q}4{Lwp>xVK4>l7%7C-(TX>$NUzZrcAX|7(&a630-x0adEU2~#is1_ z1R5|vyjVpM0m4*fT52o~ZofE<=lwv_*2^2%(s=mY5fFyrmO>B8fbdxID~W zoVsO2$aAv_@r**oq%Do$-|aMV+y{*C(j_(Mj+9oC{OB1jj6^-p7&9L3v%6J@+8=k>3q*L)s=o5b9OY< z`kIYAqa920@p}J_pDwnfQ$)MzC1C#vMz3SNbJg*-^>vjz5%6}F&-ppZY)iiB`x43e z)KNE>>w)fpz<2kW1PQYJ3`Kv1`PJRN^2En`X5&u;Pt3q(?RoGZ#0o(1e%-&j`D%84 z9qsz`EI2SB{0Q0deu?lv1{9aMT$*cp$!Yay$DrL`ejF7RxwJoztdEZsW;j2cox$Wl z8;YgDn%*EZ>_3_>;o`Z!3^6m#y5Ca%;1uEp0l#(QABk@{zH-wQDG~>3yA|2=| z{O1Er*D*{M-o@C9O3aV2ZSiaP_6Q)gbuGQ!?Pb^g3cIVSz25MmqfY2D^2(OjaL0#LeoRzKE!S2v2$hDu8| zZ%5bK^#3Y*G^dryU$xp#?Ym1K8V^uO`Wg=SG&aKz~@HzPVWOuUFQslbjmLf1M-|!yd|nJ}kK& ze{gs&EFon18r|NyD?1tpyIE_V)MRSL%$KAXU=s2Npi;0B zQ>j+MC@{{&_DR%-=YcC)VB$I;FS5R8W~xrA{fxFM9m+uv3L# z$K=*DyP~NHv+T%F5`+6U*R&m3Uvrng=(pvVn))a1;G}1n$LH{4p9vs?hzJNAf%bzy z{9YLrcpuQ`0%;B_yf`E~~q+(N7g48aSwcQqOg~Er$>7ww;tH`C9;P7wAUj}#X0l?CD`Olj5VM( z-CI{l(AMG>002Zdo1z^tfE|}4%dkVC006yk(jRU?f~Ok@K+hl!X$zGSZRA67s0gvp zI3BRJ027ocKx}snc}T;X4yqvJ|BDpo@mmvdI%y*!TDQ`w^tj0zqv5H;h<|r1mRUF{ zIZDg|&H+NeW%gyK0kwgs$A6Rc!OSvXw9d7{&=I9@0Xyt01%uFvQZ$fQcz-(NsomuE zk5QogC?Ix3!zGJT*!INEtO&0J!ZtWoWnzm4Wn?m_r@=u$_6+ZjQ9fw@)=dxKaH#(e;lThPP0(wjuYLZ)7`7!!X^iq$0>VTI`-w?fN8I~z za3@H__~CS78Kj^>ETD$q-gLr93pMR-PWRT~q1}rWq&Ap~1w>?71Vd9G;*_}i88lFa zZQy@ybN)p;Ld1`*8&wR=ATX%-4J+cbAh!DjD}p!*qv_Ot9diAXSiPvQO9{T3Wr`;fWKI!8D|EXQ=K>hTC`j#f?rR7DK(PdZ-N4N01(Ja7z$W8z7HZgGRy}RoLBNMgeS6B z{r$gERW&OT{0s+lmjxvjp%wbaD#=V2{Ih=TfcC6zbul^Q`92B-(4n8q)KrZsPT!PK z+W{}|L#%c8Y1U3hmdB}OcB^T$W=o|gFd+gm!-33JP*Lzu0g48a(&f`*fFDx9;-{nm zWsb5bGdIv!&rFxuDaeG5t$wC|VGKop2^j`FTuf-}z_kYZ+{}QKMo$W=k^%Q3hNRNp z5P~1C>1NWQzeQrY$0rXwagYF~i?w}yIxU1S^-HM%d7OISq0tkUp$+y5Scjm1ek(R) zgTf%_fK)#qnVkdx(Y;viP_iget>ey=0C|9dShJsMsaBvz-V$Z9L>|*FG3jG(INQjc z<<<6}_PK`R^2qAj^6PEK`3nCOb7IXn2We)fy|tu5o_)6ol2jb>CT;T6=Ogt2H&4rD zB#?cyvt=hr+uE>BFnjoTSTDEq>L;cko6W*UOg<|A^=>k07pLU|rt8^vb{ZvL&pz0# zC8@4@g?;xWzH0mH4@=+xWKS~f{m(F>SL!t6`&9(5Y;kBFzOqE!P;UQ+`=WA!;ewaXKx~=$5O_aVI=5Whfrvrm} zUzAgtf-#*RsxtCzP}K>%2%14;s-y$Z7T@imY|V0I@{QAG_z39a~q5Ai4Rj06{=e>|K{)Cid8Lu?p2~yJ!;+M$O0S z*QWyita*|ArL&s$_S>DX>-k)^`5-Rz7$a6)ppgIF(pHD$-R8j+E)ytV*V}0QYM0^R z;L7XqQD4}c*Iqeh8!5v)8OXz@&d%xY+`9lEtsH$>l6s%49CfLI0FuUh6QzZah8&AN zX_5Z4-E57?PVwLMCV?FDzAPYfv|f<>w@?yIWu*8)^GQn_D)qWp%o@?ZI&zfzSfEF5 z8GeqbXqAksv5J#PTE0}ODE4DkG+3etsNGNGQj+Q(%!va4mTQf_0fK(CW&UPi z4KiS{+HF`alDJ^CvbhN;)BZjj>l}GGcuIv_BqySJOZUw$cDXq$c5m^R0+>Rn`iA1S z#{sV&DKL1$G(N&GWS=r55p3)boh+%#lVtyE&|Z$7bLa+#e29tj@E|4Gu^s1bWrq=P zJu+1lWp*8$ReJb(d-zIa_?~7y!V3&MP9%)o9fbo|X<)Ite1z;|6`iN|8_?yklO?#z zT3HN!BT?p>OldgJjGH41E1H^yNNI(G)sfS!vDi)q)SI=GHV9hh?#>>M9MNhux_F7P zoRnNGrfA`{6h&&bn}5C!q~3s>HnxHgLv&?O-jV+q1v^b}M5ouuK>2H7d~hnoY# z%tohGOGVGRzOJ%Vh6*5XnnjH`GQJxe4zr}k#oxtdH5U`I3a20XJs47ISqcd;Nv}VX z@gEq687UlH-@EPy6%El8fd$&7?WDJZBLMCy8KmxaS- zvUtA~uGE>3|NaK-(B~?W;(?D$^}6geJ|jOYcriLseeO)qrDt^Gr{%^H$*%?(;jjZqBhdRwpJLLi@_G`d$XdPOG zW;U5+skIuI97fmWY{^J{#|pb?k4&eHt^9Z^sdRGD?_;jCRk&TKY}oMhM*E#V3wug^ z6B`d5K<=h|@4Drotda%fkHX3}x7TKpc9QRG9f$P5aZHXP_UrBQFu_l(lzkJmLGU_Y2UF;L+FI7jC8 zoh*%-D~d!wTjk<{f&jSBrWubVi;OC)XN(;gr&*4s7r2(v00+#YrhhY$iMhc&wzy*Y z0T6wxe?XUsBnS>Ih)^vbjof|H#40C;c^jn9XtUV6mvonMv=mQH15hX}(d%;Qn&UvH z+ph$;L&QzbuJRFt9#Q!8WT2vtr?Alusx8bcTG#r5jpUl@bo?cdHRD+^1s5G{H6B9? zIg?I*lR@M#zHD`LNZg=}<)>ty6Q9HUWoM%!WKofKGj`;;{V_BV7)r`r58fHc+KC+#s9WC@XokH`42P&6XB5YiH|`8{k!Yod~t z7UV9uTs>aE606k-aGMfPhAtDcxcD=5Zc4M$O_dvKAQNcP6cz%+zf$9w&dKtJyavdKt0Yo76oA;tL5Vaz=SXe5p@^q1V}w#xN?)n z#CXafQ3$)CIU+eC-Qa=l1^f-p&|Q1RkBeejJ*RK@*@t2p%G3xRu%^o z@Krg;xRCm%dgu2){HP`!$8wc5ND^>Oa{>4NR;2-L%qbCQ@!N+HfRF6QmO7f(yzPb(gm z(esR;zTX{UPfEvH-iMdNNYiB?YN=?g2QbrfnyQQRMQ3Y104OYa-CgAnU9vHTF|*UL zuqc?*{T}h?m*|?`{rTmgm7Je;mjk2^k50xAk}S@j)SjQIbz8j#I9BwE2+dZ@S&v8` zuQ+D%Z?Ih#g4KZ>paaTJGCr5bNYb+0)<*Ou3-3DmH3ojg)J`H{^T8PiX0)oXvo-bk za>(o(>PsJ&i)Ot*F=)&tpPBc_PQ$iU=h|gd`7O7TSq0?~tOD6zE+Zty=K7M@VHype z>*h!|5w&@!hgo^#qcq^F60?We?Ua?CXEh!Twugm|Q`(u`$*6c0%)#Tj-YcSnsQ4GQ zVJX#mCVzcbo5#&knW#+%Pv5sodvi^g!?V05q?2hTyRo8Z+*bln?~GKs=I>`hSDGru zqk*%B`IRn_vpURP%g6nR*EA}^G4jW=nG6lw%ouE$0$N&b_w{<;590XZR*;pw_ruJU z)#PMxDL8*sf_>FHetB-R%zZpi{owRmJawMQ z2^$c8qPX`T3`ZtjJTD`?oQX{t&w7T_fOInL)YFV*bMuR%YB~JXvf@u-Bb#Pt4+)i> z8V_PWnuCBldJVJnC%K*N{DXAWy8+##dRRs2toD=I#JCI%=qyfJcASKs*8iMxkO%*N zvW`BGtiwS~WTB(eUe$6Xq9_?3CGcjl<@BM=eiV#RPr~JRIZ(&Mav(m+LSZvHs9D>) zdskFQP{(9{x>835#e&DPZYtKp{ONNii@nF0D3`=*{xa~wHy~<^OJXqadRO>cj2;jD zh&UpRM}Km(`4g8sZJuwXX~S(OQL?#196PDy_!bk1bx3~MMOJ1M!g5MCRJyC`I0vcj za=qG0%x-IvSjGEx9(Jljuh3!%>c9!eZ8$nc_{f#j%)r7$?Z%$KIi+7?M{M(uD!0|U zd=CPMO1!?8IFhAC_*le-hS!AL_mYaD8%dy(zs@hUW;R(>eH^lVRUxBxEQdhclfu;s*COE@B!JG+y(DA zkdW^dX7t>+q{qQ{G-JfkbcCwu=Tj=?4lvk4hH*-txP(&<@4h|8Z>csC89)(~uQjvB z4PQ@b<*XQ%Y_6R@=`A_6AdCvt7;T$PCS{*`m5)S(92--imhlJ0t%1f=ga?4-sz6g58*fPkU+tYb`}tDgX}ELF^O z%=V+&Ist6)_%E-?95>S3=U6KUPf9YB7Fw z`!<0I)hcMbKO4Vsjo;Q|+q4@R+n5|9l@TS@`+S^0g1x5!}+U<)Z-saPWOdrsw;VMF4R>v~H5yAKh#{?CaY=5tZxwET~(`^8EW8 zg*=31I;ojaxo+>(P3|Kl7Z#jk4#5CzsbHX9v26XY#p`lmGizmS}7Abt^lf3ttSC5s7W zwViMJPNgsq+S$r0Oy*DbRM_&r{Y=DzFs_miy-0zo*3lOJ@PF+&kW9U4R?1AkTvb`h zAIHLf_s-K@Y!+AuyM?6f52bEI@BBh>9Xq2wiP7cx>iG7|As|s==JjxzjSZ)DF1qx7 zGP}NhyiqX$zg7C@hNkOjYmQt7dVTGH`)RbK2URnx*;GCq=G`>I`->mFJVX6{QD?1P zJgHUR2T$!|=HcqxhM2~!~&y|RAu%rehfF z=?0i)MP*9N6*t_U=|oCU44^H+_KY?#yca?)6!DWp0|0}|)adZ1Mg}3V6QtlRs%fOC zXF1O3%Qxsj%~d096`_IR$X2K7lfwQ4L6nFg=gy}@=HyAeYz}*(L^n-na#PN^0%4`O zE#d%xu&Z}hT=JOl-*L%s6u7`URb5u#q>|g2KgGwz0O5xnkA>TS^eqVr{$KV6rZZu? zI=n#z`;eAUtwkHP_E-Rb>ah_Lras@ab%pV_%%M{5sZ{revzf$@QTcNqC}pt#l>iP< zuifCx1^DZ|fg6Z;L_KtSJrCFQ**CxnEQ1OOuY|o8lno9+dCdYP=&!9}sLrV#+t=-G z#=aLd$iM}1ESLCoRw00A!^KJL1$#m3qe7Y8T)3z16eaI3A1`r5$(O$gzfxP%Wb$#6eT+)W zu}*kqfM2DFr^?o8WW7iyI6$x3z_(7&sI`sCb81vt>gW6+3AkkxVcDW?!w&%B(8+Ug z3Us#6Hvv!0(^YT)L!;}%aZPUsn6m53P3M3m-KV9-#0Z%2P-AAf*{tNz*y?QUX-~%Z z4WS?yrhVW8KT1(m+Mj%$-E7Q)3Xd{L?)@P(<+XWzppA6psKw-=IGB!kjJRBVd=z~`a8doiT&rSs;7E>c^K$J{JY4KnJ+qxReiAA{$ z(n>|nnTYyH{W~c;DoLRjxe>%)pVaX={FWU4+wb3LEdYPPWH&TIW2vjvMzn!xv@c77 z09O0J)<2?C5DK0-YO9ivz{D)L|L*`obR^~hiPJWks9-U)4kl6*{V*y}_c)Ye{|RKN zbunX4y3f@=Z#3Z+>9*+?^h^j{+U?AP(11`_YSgKur-8$qCpu{OwH_ymuahkXh&5vw zoRCoczj<4|YTU0bKh2zY;LhLgcMAUmEFhE1W!IU1?AEz>KRydr;KUTmZOrMv2ye~R z6txbKbTqc+ZSndzAB?lclTW17*dO%P#rQt$XFsNIgwG%yGAOJW`TyvVLE^us4Pl5u zBJGo7Sho(U_q|#CQrVx<;pFq}`BOHfxp*_cE&tgxXmY;8@BPv7#Xe9})A}s2(bG3E zcxK|?-;uuREbGTHMnDRd6QmTxD3;PUU##@t^oviJcgxkH4GEonZ}4cT@FZR8aRJ3w zWy5i2bv*|`;F!z3+4P|O-hM7mC~Yj}itWfMBY`=v5d0w#@07)}H4WMkV@A+fK4jCy z->gkf_MB&cfV|&6^putN;$yz{229q1^{9WBqUL~EQK&e5gk=z?Hd~1xAeAV(Phiyr zZBeJ%?Y7>`Sx41wEUeF1>?E-t2h!rrrl1j@F$QU-jO%q_5!($2YEe9VISW5RM6A=> zh$TSm#vy+sRvOu+ga~3hbc2Wae>8n#c%;wM^~4i%V>`RCZQHhO+s1|)+Z$}Wv28oq z*vZCD-r3*(dF#5r%$J$Fr@N}FtLvQ87WCkcsM-7puLjH9bIC*NYBtUL8SqLut(VJj zS>@Kipr!w?G0tFn*&J~8z?NM_ek40JqBe*VgN(mUrQ_@&y|oZ%sWLx>Hpys^qOU7> zdUHJ#31@z`N-0VlNWgCfbcxKgv%5@5N^Fe3O^nHF^A`zkHaGAZ+~PCKk(rt%I^E;B zNdWcn_h+aFL9+;9laaeGpbq;YE6E9pU-pZm7`8-1h!%r@Tomo3Eki&E7{L)Mn<{dV zg|O%O?PVHHCi60>*zs+r^)ELyvoj*T@Tt*D)vscZDzcl(F6X03xKcF;xYqoPL)cX| zD$k}_a2|ecnlL>Q(-R5Dwbd7DqOxOCh$ma`8?OQ(q=>Pk8e zfJn(H`M%C=H_Pz-)J`>mH5YW3xqS*Talk=}&hjB5=Eq<6%?;5rBFgYXJ7( z-cO$6D^VsF|9-?8Asl~{3OWR8TqocTHqYau;Q6n0J7x+B(y5UcSJuy`Q8I zfwaxU48>*5T|~Ql_~E6^B`}jCghU;kO?lu%ENm2->x(PK!I}V!@9Z?n>MOS3{N~cq zkrlPoYTISUGmxT{kGAW&=HTClC&yqLM+udD8k&7Vc)UKoC&Bf`Oj*r!Rh*$3C>?oFD_*WtjzaQaxo=Jo8Mz%{WFf+}i zyqJg4Lk_`uOKoqq!}`w(Oavw$|511V6wz1qp{bk{xvyIvZG#9TQvvSnFVL3my>drT z=PS31(>xvvx(zpF0 z1Mb^kpVSEc4HNz5^I)8{^V$Rs;qyDIk4gwOJ9h;=7Z0}|{(c`Xcne_!AFB;25VG#z z)tAUR@B1ZQRM34Ea$|>h08NB|(z`<&mUoQ*g!3(>?mTnmbyw8>Z*XuOi zr7!J)W(Jq{N6NL3+m-&~QVFClfcXR%>e^@$HA@c1YoG zaB(&aktziUYnPU?woA}eZBNZrYwX)8Rt>2H z2EO_mM|X1N-`+hP?0W0J>wNsAxT% zN%K>w{e5w&<1C}?n^ZQLaQwErZlVXM1E|J;lyEeB<>F|}Z-TM!YZ8!}6y=s{E*6(- z{O;OD^2T^TYF!NS3l9FbqoWwl{EEY$@MldEOF<#T?pohGo5s}{TTXU=T+v@NOW~bK%_eHHs8iWD8;*V zoZLh!P-*oT;R9VlR9iU-bB0N`ewR1Sj9e*vYx3qz>!JA>6>V;Ga7tCHKu3rW`&jVR zgQL3gXOjZcS@7anNS3Ae$AIqj4sD?LV%dGhFQ<2kYpUjsWr4Ybj(Z;_>s1f~YD|Uq z+1Mjej*|U0=*H2M8Uqd_)07V`7KsK{p285PZGAop;|*-ra5BIjZgsXiAybitEeTbI zE8FqH!I?V9RPLk8@n}+!DO%~51gHpNpcDvFE21RN+VzXNGe?QWk1GiRBDJez&KW`( z151|d9j=N-%+pEgCQ;V8>8=WQYXKxZ*e0R04ALcd9)Sbl$m<3eB+;DL7Z|kBxWaYC zIV#q`;9r{@1J8y4W#OV73|-E*B9@TfmuX2wdeAoIlD3(7tzFH(h2_BBcK3=*Ps7Pl z?X30orgovxa{0Nq_!l%^7Y|#uD{;w-uQa7fxT)>5#kC8oY>pHhK94LTV9P5{R&tS2 z(vxzqzA$RO-m2uiI|_fx`H7gztF?CVgO!4eY|`V;OuR?l#(KF380_^lZ?%c9J}l3F?kLB#*oA4L!T2P>6;^vr?B>$eI%*NJ`Q>EEc) zNQBhKw5w|RHT9(fykssCc2UdC+YKs%%X2J16#+bTPit!65p%Qn^Sia z1*!Ky=C345Qh4(Aujig*aU+>&Y4~!u-LDVT8sln7cp3&OYDI|S*@?NhR}G3m@uOxB|ChN-gZyDW+B4Lt|wzjFFaEIx)u>jo}+SmZBmsR5rWSnEII zKoo-10_wKFQJLupILbu{{^z5|u$)j=juf^L^fEKElF{|9H4o+Q1@S|Lq;8VpRS6aC z4}vD$KiB3>^LuyvPus`@mR#{Frl=EuOlt40$EGo`0AJ%hV~kADq*Pl2_K7lZLV2>} zF&~b7&Jr%p5=)9r55!*{)Ia_{VF~;=2||vazAKu%r;>)D4m1!Jj@4cFY%El}Iqz9f zH7G-rmPAHoZTi76S`;EBq2y(U1@<>;B3ik8eGIv|f{g$~uYz5eR6jf%p04x2`*@<^ zQ&NVqKl%)R`1dvU$;`1Y^c<*nfMwA6YM+xC%uCNdyS(Du(NUKG4mh#lZLZByke(WY z6>|&A`?x&|QUCJ0K;kMH!;qeCEfG~+%|0w;FF=K!_OO@mYEP-n?dZ zr1!)hk1eVAm#hHCo!O|~^7h8Y(oMmXL?eg;ANNKp%}5dmh-@5sd^0{fAPIOV;7hq6 zO`S5iN0X#zMHsoVAn}0<#%h`hd`2NQ7<4d-*ogEm016DYk~Hc{)j|0HWH5MB2M`Jl z{}4bDgz{BdmkB%+q!<_k!Skb`a}<*}xM~9u|e4pB;2LlBllunu-SRwg+ zP>&>*(9f}Z9gZH%cG9Cj*@o}@7jBb8A#pq>8?Tg!)<6rHF~@xVWgJ_v2-QHBhZR%0 zClh+#%2x5QqGU7td%3EMiYx*eQa~-y+pFtRt z*KeKso#XTOXL)oE#W!$F-KUn<;1>PYIfb}SAIh#9SQ{eWueSpP)4u9`kP!diAtv$D zL_9zM5hhVS5E3MODLQeLzw$2PBU)^W$i;u>vA7srM{BI7HP+7AlY$m}?i=fk1&AxD z_!b<ZT0?nE`S{%x7qyujwbf)sxQ@;pwLt=*ojFl}6OO@{^)+)Os z31Pmmbl|4EH!mF{xh1S?qe`Zh7x3asjBFARj>4L;Jy$^2(DDE47t}REIYCTQrHx4G zSUZ^Qw_@QPW&DG2_k|rP?w16bRl(HAlok_#jE%Yfh^^CU>pMyuHPPHqfy4#iqM2P5 z|Lvswq8=W+ZebR7un28~CbjF@9#0Ktl_sf2 zwd-{e##8O;bHDQ&D}ndx7MdJ-gZw}44o*Ko{13KH+Kxw0%)yyp;uU|&l*sjg?g}Wj zt2&W*ZYVfyxE4|2KTN`*%1o2^UP#)F*Gh@8@sS}&asf=@g)<_%YeB#gAcW$%wtpJ; zb5xgq(hZB#w@;KZxLCf=t^6zM$`i+yj)vc*$vK2&eZoF2X0M;8f5Nunt(Pi>Kwy7B z*>e=V`+_BBt6rfItyRQWcf%vGbQY?ey;XA@nFr68R^~n+wMCQIo^7UXtS8ggY;DA> zk`pR2lfT#yfTOR^e;qsCfCN(hR|&%<`r9?<87K`fFT`ihADM4QxG*(!;x=Z8~B~yzoYCx?q>r1;CSt1AVqdj}d(^A4h!jf+W%i zrL3n-Qqp`%F2ZxQkvp}9U!jF`1~)6o>l~6b=i73$VFwQ-6_UQR?3p%Z{ST18lQ39T z@x!W5A483an?THx#-TLDa00QSpyy$%IwG@?Q<7WvI6^XnhN2^kk`x9h3Z>8(fv6tC zm4;%s!exUxF*Kd$$D|$&v+zUz9eAzgId#*#eJNsM8};I4q4es-k0IP_A3I?KnSx8GQLp{26YK0 z_(c?sbdgjCs#F5^FDK0k&>6Ws8F=5wjO#XjBsu(V75p>DAqW)WDlbD;|SdCYI+Ym|Uh9oDo^Ijj=Rx@_nkAT=wH5Y@DG)Bu^sNRy1d9iwU zUR@tKI`g$E!2gk%{2e}=5m6Mmhl2E*AVyMfC(@9b1B8^QFDM)aA8(Omz-RNC0HHoOZle2uL6cAmchWCj~V$aB)!gE=zNd zu|4U;3sSNcrb$gQ&po1{2o@|Rp_L!VY|xHz0hqJEyZo;Q7(~PqRVxRB(C>D`byA>* zNxGa$w`=5h=$tLF8cO%RhDI}Ty^WFjf0225v#Jge+W|m84&slR8MX} zxiuKH9uTq&DrREg9bP?qXzn$#=1@T`hMu-xq$_+0b|E|Z<*Kd>8Hhqf^1e%m5{V2J zd9N+K%%sDBP>S^bqZ~H2yx!#*MF3>kIg;p*zh|KV%;A7Nw{*o|ZwU9#p6BgBoI(6L zj7TVeZ88mfb1=UmUQjcu^V(A#l~CJ4T0F|DnMgceNXlBKh#g|?h+4V)Fs0c4r+(Rq zH6LARXXoGLhZ<1xvLzYIZhwr|%WV0L6pC^EP0Us~C z?o>1d*H05o68NBNOKH+qFlaK64ncle8G($x4^^isLs5yr4Ou}IKS0!ao$8XLpeU4o z**H$B1T9U?mX2U9Oick^f?))pUCN?46g{c`!zHkh?9iAM-6%+Xu>SK8eVQ3O`50UZ>p|fvEFg6-~1}JcnR4w zqUV<@b%TkBkW*>2q!ro9R>bfGW>A^2YyMN!94t_R_(OrPiiADnC_&mdEG3X&gMzT` zNE{OGi9FD|rdATX=w>ip&@)P}%Kyja!Ir7#(q4$Gth1^^R-q!z<4+6o$9b5RA>$yt7XZ&?s| zAtx~UO7Y$l3KHK<$m^aH5Ii|Mo4#d^|6vrnI-LF=(y0ZCM3gaW!aP~NY_=SxF%v9A zXj*<82ZlF={yBwn2RItbvuzg2*hG#IUsXyk_t#M)j!?gMw}N;)A+9vk7`Yx+mV)*> zoV=Q;Y>={zAt`b?u^^C|Bs85Xhy`{4_db%^lNL*bVG3NRdz-!|Ffjl7%*dY^V70ko z5ssyU4J!_!dBdnJdmS?CziH@qfY1GL-62b<@dQH+;!@s4pMUjffAQv7wEn`w)lFi` z9}RnkIe2Jc9B;#~@4kCxN7)HB)P}@&m;5}hhmH9d#^mv`uu}A?D|s-8O~x?Rke&4m zbWS%~k*60T1}@MH>9VGh0RiP1KxH&qBym~+m9ImsfIc9YqA*HehBgMBeQm}ttEedf zD;g9%nWwU&wgX~@EFn$~3NGg2^17CeUZE25F9*nf4fNsLUj~BX^=k?6k0Ah`05eHT zQ)zE~2L%ZWpX5=~&^k}!8pWrvFZ^&}$e?nu3$_Vq8$8fFM96{l7!i7NCHgDV(8q^# zH=v}uTbVNXwj*}WtJju2OO7&GsR(DL5{5MsOnBtVr3`(EZcL9~;!W#qXM{?i$Dyng zn>~LZEX71)6tYBAx}$2+H%$=T!F{KZp~8K&3776t1Ax~uK;Qmw%-fq){4s{KpA_$! zNxT|wNH(L6YrD-~f&l=Xs{yF5(5Qt#U`dL0B#W4_S{8RjhFD9Sffk%gCJF`yCJq4u z@Nn%k8J9i5;$Mt=G6)ps%U43ayLT588>T8dbZzGNsmfQhg*$xh{}BXwuuYVxjag4& zNkW0xCb3-cdw#yY?+_`WD4^;7iGu;jl5Kr2jf#c~dPc81X7gEa@3=2OhykeH2`Ap+ zYvv46Mn-B{UTwy#S8twI?{-fOk$gz4W3~byM8U3+W*J;sD6Z{KaFrMcg1-0{ z^U!jg7=((N{%TL}5pF(Wl2W2iD{h;h)JDi#7Hp(w`eSqRVs;N+l|tXCLlNJvDahYA=812?#Y$f(F@ zD$yBhXxBBNGPI%*%Q*2)@gia1^9xjXs93nzfU6s;hey+UjeBJ*T=EACC;QC;Jx!ew zr4BAztoAT3G^d(1`Qjxha+?K=4Jvp2p_sk}n(Yx33EuUWa7A`94@@V*DF!EsnWb4x z0h*B)ba3OQ{v!G&yVDvr<=v%N@{AMWp`zc2`n}yDr*4Xhn!3W;4jw)}I%Kby|26Rk zeoh|tJuE@zv(l3wQpc7fP2SdnBuotq0y^bQ7>~pC^1#`!U7hmGw=3#n~O z@`Pc)ZI2v#nkgRt5v=7v_NOV)o(xoH`9p+)@g@2A3~Od}>wMBO;5Mhva=eao@C7mN zmTZ4^0Mt#ryF|6GD!rB_FLZ=|wQ~s)Y|Hy5k^DS5P?0jvKDoK0UPH`GC zPsD!UM7>b%d}7@Q4}T?ea^x$jP+%mVI?C#nRdTWe+j zB=gY!h-5yNXSbGsKr!)Qo2C%`(*iGjOnls4Bl#lrxD-e{1a2Y5*QY0#2=Ti|cdt+P zus#lYlDMPitxNVIC4o8T_EAfqYWNUEF-Q!+Q^6u2IVZR9cgCKlL>=Un88jTunh`FD zLJAP0CTBrOiN+R9Q=%SVNxSoV;823EF*HPE1eZnb7pF7UW`i1@9DbTkb-vyz3l%Dt zYIW^1^6S0(A= zT2Oi#MZcnt3#+Qyev&%>#@7c@JJV2eaB(^(noy2rZ_azTsrhZU2dEM)9=T56g-X5U z8ob|Roh&S9sOjmw`#SJl-BSOva~SO7Gt|D*^ISD#AM;UDS6g$HG&4|mn$ooKi70Kg zrmEN7Bis4#j;ccJpONT$*WF_=pS<<-O?ICd!VJNqU?coO9!0K3qp~z|c7Cy-lTDfQ z+=KCTPSDhSQvYk_tr1xHhVqGe-xU#9tH%fX60+|kl!cY?b29{doY_d>Y63(<8n zXFZ=wcrEYLaH(?Yp8ZW)w01(JjyC$Vp6zMZ)_D30zz$jq@<9f8)le|vWSv>s;<8@O zpT?TGA9(sHsVuFh@Z=j*YB*kw=-UkG#Vg7#VPP_>=pysF5O0<2I1|pPhoUtVO?yrk z5x2ois1?)+mBqI#LqMYe?eVJ@pNiHjT$_%3^O*y!{QOL{fyDg+-(ar;dRyq|W98+G z4$xqzjiDQ2>O(R`OzbRp*W=;sdvX1H3XyY@?qr+aVQymPlKL2n>OHemn7{ohY zsxutda&Rv@U#g|5Y`R&7_g7Se=8~i+=`DBqA7w>0=CruDS&`slqhF0@6(yD@MkLFV zCUxaPtS=f$C#{^AAZch>nCiVORLh(Y;1FkQIjeVZ)d|JJQ=FL6+>O>hII?I*@)==f zM++JjGQKcPO26f<>P)%zCYoeT$qJPXt>GrK<&u+L5M7|_Gr&?x#aWZy!DJ>!rAx~w zDS|BUeU^wjBk~zyG8Nb;fI^-WXBRG0refc+OaxpbVNg8mb%;nQtV8xkzmA+HvbDLw zKE5K@%U|1Y5%3(3K0(rISiIfu=h$c=V?Puc{-g%UHTK(vCC-vtQjKGB)RhPF;EWWj zU#O;WTcCWqt1W*tgsU8MD}i02Goop6a8ITpU258kYYPXLn~VxIo`(BpuQU!&FN%0jz~9FdTAnI`Hcgy>!|c%BVEyh~5V`R|a19~4;GUQ;9uZF)S$hw0FE z04H$75i4yHyqv*_n?t+-@q(MF&N1~EoY8vyDMs;#lie|oowK5|yr!39GHHtxj&ljO z?sJZf>T$#GYqP;9_#mn4W8$$6J-gJIx5@8%D}FE&UcVYg=SU+LNa1R=kS>c^9lAadhekZlLwKMeSdO+^@o+} zcX}(mVc+w^>0BQ4l|MzFH!C)PT&^p+_LM)n8SACDbUyD=TByM<~Uah1Fn|gZ?wtcUT}FP(}13=(i|_$ zUZUl=z5-ZD&C>NfI*OT(QggDL$}=YBCE4Ow*RgHY@NsqAh57ehP?O7yZo=mF5Vpy$ z{j3%Ou~vg?zU{ZE*@xN_y;|SfW{V{X8^T7gjWp>{s4sWD1B~l>R5`Ug?*%#UZsfE4 zwUG!oiKbd0#bAJX%6lwYu}M|ZnqvjLn^g|FOm+q8dA^X6YQ)qB9R$GjudM3`B?<_1 zjROl{EgNdlB&HkpVH7bT$7HmMnO7Xrs?|j1gLa%$t8ghi+h8#8TPP)Zf6beE8+(38 zms8UWEIx)qovYWS<$yY|+NH(eZzz@t!#vtohT(i5kZ&{P+7Vj> z2Qt)=yudAOzCex7Pwt3j+WEcfv@XzUT2{Pur}SD7a*A#I_ldt8b@NxVhvj8&HCa0c zB6cubuJ<}C1ZvY#JXFrodac9N;u%h3fly!(C}T@d=aS3Rs=3RcD19Arap$R0!fW!X z87K|0PAb%>SxFG?RWc7B$(EbYoo@UQOyP1-_?)3$RO%6{*5;Rv7jQQ?yoA_n;B4+* zv&G(|MT9@oBsfE*a-Cv!CA!YV@%BiuLnR*1|Cx?S*L2X8MFgw+aP5M8V}s#$4`c9t zTI-&E3NI)GGNTDe+m54Kn?LIu)!O$ZY@Xvk0)Eq@jnp6cbi2(H)FzCail)`wKv@qp zRe~SW`p7$Ye;jmUy9jXBuAck6?&uj0(y;uYb#SobfBiGaqu+Yp&7n?B;uEj$HrTgR(9PdMMt+8aLD^#2Oh4TGvbc`kbnulg zNHkb&nJ-~A%KHsz(Ih<%WutdXuhvZ`8Y-;(k&3@2|=y~B{9ZA2*c$EL4K>1&gPxp;<=s0>| z^Qc9K(R--1sqxz$?(&Qva2a89y_8n4^IBck zUq`EX?;kr?e%JN4wNE3%0bTEZ6Z}sq`d z+hyWaK4TLuHzZ!*WRA7WoUSApj85mD-E6uObUdr2ryF5CtxuQd9k63kHKdL=sk4@ciaPs+j zZ^H06ob2s7zbEiAI8;GJpJ5hY9%?3aL@U2}@?Wk-dD!b&D&z1bD=0mxNdZSItn+!L zG0oq_rd1;(@nz2ypSX5fv2_1Q_OG3N$1|{Z>25NBl$JY>Xpjm9z~Rrn#(x zRD0R1bfB;@5CEOCXq-{Yq46ztd{!TaCqjI`HGHh|d1?{n>aIVY2ZVI28f?p8CtrU0 z;J5p?Xcf~jMm+8RRwIAB1vMFOjo~d->2EOCToEf3NFu~pG3^#+^AFTdj6ts9;;dD) zWcv@o)bJEcs{J|XDJ66}To&-U3nJ~{qpd_euJ@BugQj3Xoy306JYTVd_y4O$)?hKB$cVeHBd^zLmr6 z+A9LNv3`R{H!>-8*8 zxBKwY&G=&suZxL0Vu@9QA}1U}ExLCP>L`=8ER#{L|KLW|7;@Ib-}RN~gB63*ZSl31 z$0|CH3=D8HMKRv(zqpGNHR-YSu`(}`I_^jRW0*DW1-faMDMWWGA10^m>}{a$z{cH# zJ5hR>hnh8CID46h2S;g$$W#`xqP$WrN&KjGz}gkQg38N>_JdG#pk99Lpw?Zz*Rbdh zv6ZVEj2dSv{+L~vGd3~F^k{y=>txK^8$Ld+>GK66X%KC|e$t3Lsp)r*`)?fRy8uB_ zhcaU#EHW*AtCE`M7BlPAoO8Ho;c21($D_hpza1E4T?fgU6VSEMVT4UGK;O+m9TXMiekW4(?(erI^daGIp$vvnNWLx0t9Wa3m84ML3rM zJjIVNf9Nu)XzY!z6*A0FA)x>lbocLXm{uka+>f%=$?Kd!b^jSE_wy}I4Fa)LeqF750By|lf4JFH!eNJ>W&B79U!xnwITy*yS1zekW zJ@cG80t_Z~P6;Rb?lcy)m)|6NPAZ2dNo4Q%C40Zm*BTtH8Hf4{R4PRCE4VNbHFW!9 zBO-R=-=)KR*u%e76VG4I2zE7jm@<~wfBffdCNNP8j#n|CE>|A@FXAcEZw0lV+Ara1 zw}s+nT8^MENtISD7c47Iu}^3TCw2Af=)Jg>rWvu>IPP{$50p{QM?lq!s0yRn1O)a-A~DUDn)YIDhG5|GdKo0Q_BY@b@}! z0QId+$_d%u42y% z&VQhdVFd!1&rW;mZH%Q7u_zKB5?oArlA>=`?&eLzNeS)p=1MMS{u^O3+EOmn(#D&S$?Dj%IhifE`{Qg-oFsnmr0-|wb);*9nj7V(84 zlcJ8M7!wor78uIb*<5EcTKq#ddQk|sstx=Vb~t>&olL_dGG#9rX17aVsIXKW;1|9u z)+f7-I5m^0iFF8Zl;BBCF?!6*f0K3vln%K>C_R2Pqi<4s$#GXFghH>c@q7tV{}&xs zrvH^Q&~RnT?!S(b)oK22Eztx1B+<9cJiK`UpOq|^){eF+g#p#$ODEamTo-AtwRhZo zLMAWXecUt6y%9o`cL#kg+insFVC3)rR%L}=1cC{kjQm~VlX9^Qk!NQN|6bB@|Bysd zkDKFzcdVzU5tQx1ehrCBz}ncX%|ZIpALE{Rt%@aPf~yZgn)vHEX{t|CJy5-ANHU|pT)<~EIh_&97+ zjyOnaL=v`5gg^aAY%+0$3`b*}=ty@4s;_IOEzT{CauFf>*jt@7(%R(LddwkluPW9i zLly;Rw`*Ib&-baJzS38BL{Ne52&k)C*)h>9pYu;tG7n%@K#3%AmXPP>N{B&mj(OJr!~z=x65t{H__A$sHX9cBH2w|G zNI=lyk#?#ns4EwjKu3vdoEOEv#PWihlchgUcpT9(HbbhQ~ z5M((QHC4-K8f#21;cixKrwR=x^8iWGuaRlBi-G1w5PHD7p37CDG9_Z9;+T`^xD0f#Yy`WE$THrJ$n$EAw%py zWi>`uvTBV{O(8*$+qnCnYO$h4C(y((ONizP93!)` z481;{<7YuW>*2WCYR802s(p(wWP!G1bIUa2Vzr=ViO1(!6L02`)Z-z}7L74lEu=FW zt8F&WUvln`4=gY)mbO+wuZep}bbMB! z*9w-}aZ$MAX*;lY-O8t*Fns3h!?hR7L{suz7*1wcMVvcZz6@7wj(PGh=OiN$K@XNY2Gc4n56GtJDg&PLsT~j4Cmb{gmdqo!Qb)YBN6nyEUf6m$?tkjDfDx z2P}DG@eI1UH>vsp$1Ff*+K8tTMC&GR ziwtjjfFd-A%?3?dN>oUdKs=wV%5cLnq0=c^55@6jJ6v{tWwC(`jnLZWDw`+3h#6Ie zyfDghfpsp;jD3JoiynU0Sp)cj112 zi#nVHSW*QmgPBC1T+N6DT@_eKh6IWjyekriWEl z1x^OeD3OL%2KYn9BGwAGg(zxY04wem-t{<~rO85{SA~W#7*kE}@${C))jnepzo3gl zMK!;&MUR&d=lJRxCKHsOZqA#pC;UuV%=xdB-i}05LRTYMf>yBe0m=b>7MD<;x0m;M zyC?;S2`tx7f@4KEH9{PgAOVw#S-je|n)yW6qrs(;Qs&UoD0&%Z8B2^b!_BnGq>S^1n|3LCA|!_L0|2Riq) z!Txsw_;(+J)_6&BlMO3gqa902mOS!T#Mn%wghH`Pc60_4h3w03z7^Q8iCKpsFd1^} zdT*s{GdmEOw^lQ%8#MhTsg$rZ>B(-US!NQXMXZhedK3~iTz;cfI_61R4W79+$GjDb zT}CM}ji59M>V`c>GIrrq{c` zCR3MbcAQBS7G#EWSrh3GOg=E=hNTTG=xFk)6jGgz?BSIU|Mx0?6J)9=)R>`aQZzXT zN7-Tz#gy(^ER#8ngK15H1Dqzn9vp}%*mRm=ducwqQaT(taddNS1sqXoG4ZlV&iQ&w zw`O?!#6|;)FB6$fb1tS4%?Uy&dg5}kib5>Rjq@;JMZESbAGqVA?p3l6dWwyj|2dqH zP(fsYas}qD_4WFI1sWv&? zXs8*}p>ej;<=l50gvd~Ga6{$j*bS_@IeyC$a%BHE@0d5jV zqKH89RTik9t}QWRN0xbWaB6??H>YQhNnt%N-HgyZqyo$Nwg0zK!TtKgb=r?K&?1dN z2>M>{tF3NLT@}P}c=H}@oj-LS^IK~cu30;zKs*T$IkId2L(VJ8iaf&}xXHQ~<;q%8 z=1NvjMo06zl!Q5s<;US+KB^S)uVS&Jo27;9qX{ZeCQs!qr5gP0fwtjyoTjW;<7GQ z^kAk^NoXqJsBtHWnxu)$awJd%g5lXD5=a@pg_4-hPDoDO^ybrxP-nC%s?j7>e3r(y za@fD9W?qrB=FV(CsP?5|u9T(#S1uMkVy?S`#8mHIl?B!Q)H5+*f`Y>v^}8q)?a zV!!GNLF`O0F`Tnb3`U}u^wj%>sV)&|8-iqqCn=l6aLp*aW-;r_M!)(CL_!3b7Sh5V zK8$IFMfYc;jK4TbiXWun&F#?T_^dnQSp|M@F&@R9P37*@!$^n%5?7qBIzQj%?V^VC z*N=Jj=VGQ(75r~cF3=yIXU+9JdskzsIs6}9yB`;v?!69apJy}}IPKHmML&yvE<2n; z0H?V2Sg;7sC%dWAH+&y|;<;D)r2H@L>I*k_eLMTgh$a2S)TuM$w45Gmbxuj$Y1~=J zlR64Q3Q|=5*ts2tEQ&Y?)=;V+C{Y+rv1j!yV{SeT(s%@Co>d1wag`A4`>%U6QF03A z@W=sX62^&>uQ_hRCICU^<-uX==o@$Q(SRQu&E%wD0(y#{u2<-R%?>mlZDZ zpBoew)g4c7%K?s`HYa|UqB|)W5;>;#ZyoX7JGW{2KCd^In+%_q9t~4G3@%#M)pSB0 z*8LurPuD7=RUxsgDyRCT|E;#a$iS@TG!(BWt)Fm!KlE`Zwh@TQjJdL+#@C*pNS75n zLkif}by0)+8g#u90!*Zs(Y&V#cwod=w$dW;(&^(*71JV%v+vj+SeT~_%=J7&7Vy6x zxxyC+xW@Qcvj_Wgni+69hK@CjZ0PxDgUt7S{xdOlIr8WI-!El!d{*A@^Ds+YZ!4W= z9#qV87~5d*X?{<9@aC^o1-TkTo)4{Vv%)?}J%tKYn%o)&K1U(}tM=V|mtNnt1GZ3i ztJ?{^cjc0srg%T*RO0m(4&{+Lu16XI{M`koe_OmBWp}zhXSkGlPA10TeYif#=)gA; zPfC2=ict~GLdK?5b-n#5Kz!VO86ytzc_AsQ=JlV|6$pE*dcS80@S?HBAnIs(^>}=r zR@irisXA>g64gAc zoW_&BHFy6)uYMu{E-1##I-&|*2u6wl0; zW?1%LHYli0%vytApt=-#0K$@E3y*p*bng=hH66z(>NeEYat5B)Ej3zxQa_*pEAG3? z>a|_gLN=z44>`^c(K6kCFU(*-9J876oqypy{GT>VbYc~Sv%2>~TJ#!Tc5C{m;G*bi zhuYInfYqSA#mFlKlNCklgZWFi}CKd%q4a_8tpV6&Sn2Pc=xH+IQX#%3PltLXm&Rq*$(B(I&M@Zhj8*V=Wx6arWTQFiAWqha-43d=v&{aD5l?b!xG;N zD-dgIH#_$i=8>-a^8n_<{s;Q?_CrKaE^fb!*jm&Q^Vlb z+kk}s+rS^tC1zs=!{>`Y_mgva&+C(u1%X+KAARIL+`#Pe=UMJfg8xgn*3vhRjr-vo z$PSn1VTJSz-#v?;S3XXH;0^-U+X8N@Fwkjten^o4{3N(M$6eli%w*D@O>Q7`LBiVDi2pbFJ|w}Z*G zypI$xrD)Erizl>U%ar^e)6I#Db<=lV^q?P|iZE?^+=21GO+vDZpyga)dF$h;$Z$c* zMFgB593U@=$5wcf_Wz`*UdH&|(&65lt4|0|H&ZC7cm%$KCGkFHO z9K>J%(c`9V2j0)8ek}aix4X+zd))e~9Upr?HtJ@(Ggz5FlQFfgPijZmZoN(ppKlJ( zAaY%Q3zJxYU;R__0{zK{9naOE|lS?VY&+D|^ zRj(;Z4-ae~9?1MAqU-N}VaKww=Pc^b{$NX4S5q;4b)ft;bnks)%1%%;wgGVz8imm^q(A~OO&%;}nK&2+}`gMbJG z*}Ee!s{_deBSKvj=n6`a?0x_O%d=;PM_{eq7n$H~tg-@>b*9^==2ipmJpbDrCV2X$ zAM}}vPCD+r`-YGwBodc@^zoip#mkDhnVMJqnErRN8aR;(q9SUh3z zj_J)F=(qRZ)6pK(L~mFhZAKQDdFX^k&Gwxq;8Pp+~wwO7h}vKOGpc3mJl)=oo!<2D_GnDm+kf< zBCL=}&TN)#F90mJaL_nti222Sg^&@l>>rZN)-yC;N|2HfFai!}FZQpc3!umufM5n3 z5rKGK0F44r*rPCFj96ypG8>Tql2Q4^@it4l2yLsP839VNmxBGttSJE`A~_ZZ7$R%T zwUXX^|5F>H!Nr%KJkJLZ-oAd5-g?4uM@?fyMC6*Ya^*E&JbTG(9(d20SAYNNE0?!Y zIyt!h)yIFmBY`e|K$E>&-t2*{(@!{}g8=||r=M`a+(2Z7 zy6??l!M#mxR@?ze#9Uq<2LKq@x_+zKcG3w)&)@(6u8w0aI;17FYyIodQ9p&P%P#!X zzg=|tLLUMEZ#sO%duF?1@4P-}symc|f`WpA!d?RdU`Py!ahs4yLP4gdfE07*qoM6N<$g3gvkQ2+n{ literal 0 HcmV?d00001