From 252f0af6fa9d1d22333eb9cd2f9ddbf8be6a2854 Mon Sep 17 00:00:00 2001 From: unlimitedengineer <277619522+unlimitedengineer@users.noreply.github.com> Date: Mon, 24 Aug 2026 17:26:49 +0100 Subject: [PATCH 001/310] feat: add reconnecting state with automatic retry to wallet connection flow Closes #752 --- src/components/common/ConnectWalletButton.tsx | 42 ++- .../__tests__/useWalletReconnect.test.ts | 354 ++++++++++++++++++ src/hooks/useWalletReconnect.ts | 121 ++++++ 3 files changed, 509 insertions(+), 8 deletions(-) create mode 100644 src/hooks/__tests__/useWalletReconnect.test.ts create mode 100644 src/hooks/useWalletReconnect.ts diff --git a/src/components/common/ConnectWalletButton.tsx b/src/components/common/ConnectWalletButton.tsx index d2ca0811..729f7219 100644 --- a/src/components/common/ConnectWalletButton.tsx +++ b/src/components/common/ConnectWalletButton.tsx @@ -1,6 +1,6 @@ -import { useEffect, useRef, useState } from 'react'; +import { useCallback, useEffect, useRef, useState } from 'react'; import { useAccount, useConnect, useDisconnect } from 'wagmi'; -import { Copy, Check } from 'lucide-react'; +import { Copy, Check, Loader2 } from 'lucide-react'; import { Dialog, DialogClose, @@ -21,6 +21,7 @@ import { WALLET_CONNECTION_AD_BLOCKER_MESSAGE, useWalletConnectionStallDetection, } from '@/hooks/useWalletConnectionStallDetection'; +import { useWalletReconnect } from '@/hooks/useWalletReconnect'; import { useCopySuccessAnnouncement } from '@/hooks/useCopySuccessAnnouncement'; import CopySuccessAnnouncement from '@/components/common/CopySuccessAnnouncement'; import showToast from '@/utils/toast.util'; @@ -43,6 +44,20 @@ function ConnectWalletButton() { hasWalletResponse: isConnected || Boolean(error), }); + const { showWaiting, showFailed, cancelAndReset } = useWalletReconnect({ + isPending, + isConnected, + hasError: Boolean(error), + onRetry: useCallback(() => { + if (primaryConnector) connect({ connector: primaryConnector }); + }, [connect, primaryConnector]), + }); + + const handleConnect = () => { + cancelAndReset(); + if (primaryConnector) connect({ connector: primaryConnector }); + }; + const handleCopyAddress = async () => { if (!address) return; try { @@ -173,19 +188,30 @@ function ConnectWalletButton() { ); } + const connectLabel = showWaiting + ? 'Waiting for wallet…' + : isPending + ? 'Connecting...' + : 'Connect Wallet'; + return (
- {error ? ( + {showFailed ? ( +

+ Could not connect — please try again +

+ ) : error ? (

{error.message}

) : null} {showAdBlockerSuggestion ? ( diff --git a/src/hooks/__tests__/useWalletReconnect.test.ts b/src/hooks/__tests__/useWalletReconnect.test.ts new file mode 100644 index 00000000..8657b59f --- /dev/null +++ b/src/hooks/__tests__/useWalletReconnect.test.ts @@ -0,0 +1,354 @@ +import { act, renderHook } from '@testing-library/react'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { + MAX_RETRIES, + RETRY_INTERVAL_MS, + WAITING_THRESHOLD_MS, + useWalletReconnect, +} from '@/hooks/useWalletReconnect'; + +function makeOptions(overrides: Partial[0]> = {}) { + return { + isPending: false, + isConnected: false, + hasError: false, + onRetry: vi.fn(), + ...overrides, + }; +} + +describe('useWalletReconnect', () => { + beforeEach(() => { + vi.useFakeTimers(); + }); + + afterEach(() => { + vi.useRealTimers(); + }); + + describe('showWaiting', () => { + it('is false before the waiting threshold elapses', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS - 1); + }); + + expect(result.current.showWaiting).toBe(false); + }); + + it('becomes true exactly at the waiting threshold', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + expect(result.current.showWaiting).toBe(true); + }); + + it('uses a custom waitingThresholdMs when provided', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, waitingThresholdMs: 500 })) + ); + + act(() => { + vi.advanceTimersByTime(499); + }); + expect(result.current.showWaiting).toBe(false); + + act(() => { + vi.advanceTimersByTime(1); + }); + expect(result.current.showWaiting).toBe(true); + }); + + it('does not show waiting when not pending', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: false })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS * 2); + }); + + expect(result.current.showWaiting).toBe(false); + }); + + it('resets showWaiting when the connection succeeds before the threshold', () => { + const { result, rerender } = renderHook( + (props: Parameters[0]) => + useWalletReconnect(props), + { initialProps: makeOptions({ isPending: true }) } + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS / 2); + }); + + rerender(makeOptions({ isPending: false, isConnected: true })); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + expect(result.current.showWaiting).toBe(false); + }); + }); + + describe('retry behaviour', () => { + it('calls onRetry after waitingThreshold + retryInterval', () => { + const onRetry = vi.fn(); + renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS); + }); + + expect(onRetry).toHaveBeenCalledTimes(1); + }); + + it('calls onRetry again after each retry interval', () => { + const onRetry = vi.fn(); + renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS * 2); + }); + + expect(onRetry).toHaveBeenCalledTimes(2); + }); + + it('uses a custom retryIntervalMs when provided', () => { + const onRetry = vi.fn(); + renderHook(() => + useWalletReconnect( + makeOptions({ isPending: true, onRetry, waitingThresholdMs: 100, retryIntervalMs: 500 }) + ) + ); + + act(() => { + vi.advanceTimersByTime(599); + }); + expect(onRetry).toHaveBeenCalledTimes(0); + + act(() => { + vi.advanceTimersByTime(1); + }); + expect(onRetry).toHaveBeenCalledTimes(1); + }); + + it('does not retry when connection succeeds before retry fires', () => { + const onRetry = vi.fn(); + const { rerender } = renderHook( + (props: Parameters[0]) => + useWalletReconnect(props), + { initialProps: makeOptions({ isPending: true, onRetry }) } + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + rerender(makeOptions({ isPending: false, isConnected: true, onRetry })); + + act(() => { + vi.advanceTimersByTime(RETRY_INTERVAL_MS); + }); + + expect(onRetry).not.toHaveBeenCalled(); + }); + }); + + describe('failed state after max retries', () => { + it('shows the failed state after MAX_RETRIES retries', () => { + const onRetry = vi.fn(); + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime( + WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS * (MAX_RETRIES + 1) + ); + }); + + expect(result.current.showFailed).toBe(true); + expect(result.current.showWaiting).toBe(false); + }); + + it('calls onRetry exactly MAX_RETRIES times before giving up', () => { + const onRetry = vi.fn(); + renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime( + WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS * (MAX_RETRIES + 1) + ); + }); + + expect(onRetry).toHaveBeenCalledTimes(MAX_RETRIES); + }); + + it('does not call onRetry again after the failed state is set', () => { + const onRetry = vi.fn(); + renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime( + WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS * (MAX_RETRIES + 5) + ); + }); + + expect(onRetry).toHaveBeenCalledTimes(MAX_RETRIES); + }); + + it('uses a custom maxRetries when provided', () => { + const onRetry = vi.fn(); + const { result } = renderHook(() => + useWalletReconnect( + makeOptions({ isPending: true, onRetry, waitingThresholdMs: 100, retryIntervalMs: 200, maxRetries: 1 }) + ) + ); + + act(() => { + vi.advanceTimersByTime(100 + 200 * 2); + }); + + expect(onRetry).toHaveBeenCalledTimes(1); + expect(result.current.showFailed).toBe(true); + }); + }); + + describe('cancelAndReset', () => { + it('clears showWaiting immediately', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + expect(result.current.showWaiting).toBe(true); + + act(() => { + result.current.cancelAndReset(); + }); + + expect(result.current.showWaiting).toBe(false); + }); + + it('stops the retry timer so onRetry is never called after cancel', () => { + const onRetry = vi.fn(); + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + act(() => { + result.current.cancelAndReset(); + }); + + act(() => { + vi.advanceTimersByTime(RETRY_INTERVAL_MS * 10); + }); + + expect(onRetry).not.toHaveBeenCalled(); + }); + + it('clears showFailed immediately', () => { + const onRetry = vi.fn(); + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true, onRetry })) + ); + + act(() => { + vi.advanceTimersByTime( + WAITING_THRESHOLD_MS + RETRY_INTERVAL_MS * (MAX_RETRIES + 1) + ); + }); + expect(result.current.showFailed).toBe(true); + + act(() => { + result.current.cancelAndReset(); + }); + + expect(result.current.showFailed).toBe(false); + }); + + it('stops the waiting timer so showWaiting never fires after cancel', () => { + const { result } = renderHook(() => + useWalletReconnect(makeOptions({ isPending: true })) + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS / 2); + }); + + act(() => { + result.current.cancelAndReset(); + }); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + expect(result.current.showWaiting).toBe(false); + }); + }); + + describe('error handling', () => { + it('clears showWaiting when an error occurs', () => { + const { result, rerender } = renderHook( + (props: Parameters[0]) => + useWalletReconnect(props), + { initialProps: makeOptions({ isPending: true }) } + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + expect(result.current.showWaiting).toBe(true); + + rerender(makeOptions({ isPending: false, hasError: true })); + + expect(result.current.showWaiting).toBe(false); + }); + + it('stops the retry timer on error so onRetry is never called', () => { + const onRetry = vi.fn(); + const { rerender } = renderHook( + (props: Parameters[0]) => + useWalletReconnect(props), + { initialProps: makeOptions({ isPending: true, onRetry }) } + ); + + act(() => { + vi.advanceTimersByTime(WAITING_THRESHOLD_MS); + }); + + rerender(makeOptions({ isPending: false, hasError: true, onRetry })); + + act(() => { + vi.advanceTimersByTime(RETRY_INTERVAL_MS * 5); + }); + + expect(onRetry).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/src/hooks/useWalletReconnect.ts b/src/hooks/useWalletReconnect.ts new file mode 100644 index 00000000..5a401435 --- /dev/null +++ b/src/hooks/useWalletReconnect.ts @@ -0,0 +1,121 @@ +import { useCallback, useEffect, useRef, useState } from 'react'; + +export const WAITING_THRESHOLD_MS = 3_000; +export const RETRY_INTERVAL_MS = 15_000; +export const MAX_RETRIES = 3; + +interface UseWalletReconnectOptions { + isPending: boolean; + isConnected: boolean; + hasError: boolean; + onRetry: () => void; + waitingThresholdMs?: number; + retryIntervalMs?: number; + maxRetries?: number; +} + +export interface UseWalletReconnectResult { + showWaiting: boolean; + showFailed: boolean; + cancelAndReset: () => void; +} + +export function useWalletReconnect({ + isPending, + isConnected, + hasError, + onRetry, + waitingThresholdMs = WAITING_THRESHOLD_MS, + retryIntervalMs = RETRY_INTERVAL_MS, + maxRetries = MAX_RETRIES, +}: UseWalletReconnectOptions): UseWalletReconnectResult { + const [showWaiting, setShowWaiting] = useState(false); + const [showFailed, setShowFailed] = useState(false); + + const inCycleRef = useRef(false); + const retryCountRef = useRef(0); + const waitTimerRef = useRef | null>(null); + const retryTimerRef = useRef | null>(null); + const onRetryRef = useRef(onRetry); + onRetryRef.current = onRetry; + + const clearTimers = useCallback(() => { + if (waitTimerRef.current != null) { + clearTimeout(waitTimerRef.current); + waitTimerRef.current = null; + } + if (retryTimerRef.current != null) { + clearTimeout(retryTimerRef.current); + retryTimerRef.current = null; + } + }, []); + + const cancelAndReset = useCallback(() => { + clearTimers(); + inCycleRef.current = false; + retryCountRef.current = 0; + setShowWaiting(false); + setShowFailed(false); + }, [clearTimers]); + + useEffect(() => { + if (isConnected || hasError) { + cancelAndReset(); + return; + } + + // Already managing the retry cycle; don't restart timers on isPending flicker + if (inCycleRef.current) { + return; + } + + if (!isPending) { + return; + } + + inCycleRef.current = true; + + waitTimerRef.current = setTimeout(() => { + setShowWaiting(true); + + const scheduleRetry = () => { + retryTimerRef.current = setTimeout(() => { + retryCountRef.current += 1; + + if (retryCountRef.current > maxRetries) { + inCycleRef.current = false; + retryCountRef.current = 0; + setShowWaiting(false); + setShowFailed(true); + return; + } + + onRetryRef.current(); + scheduleRetry(); + }, retryIntervalMs); + }; + + scheduleRetry(); + }, waitingThresholdMs); + + return () => { + // Only clear timers if we are not inside an active retry cycle so + // that effect re-runs triggered by isPending flickering during a + // retry do not interrupt the self-managed timer chain. + if (!inCycleRef.current) { + clearTimers(); + } + }; + }, [ + isPending, + isConnected, + hasError, + waitingThresholdMs, + retryIntervalMs, + maxRetries, + cancelAndReset, + clearTimers, + ]); + + return { showWaiting, showFailed, cancelAndReset }; +} From 8b1be39779f5c9dfd5ae869a87cf62d68ff9e004 Mon Sep 17 00:00:00 2001 From: stableprogrammer <295812920+stableprogrammer@users.noreply.github.com> Date: Mon, 24 Aug 2026 20:56:24 +0100 Subject: [PATCH 002/310] feat: add dark mode toggle to nav bar with localStorage persistence Closes #750 --- index.html | 15 +++ src/components/home/Header.tsx | 21 +++- src/hooks/__tests__/useTheme.test.ts | 163 +++++++++++++++++++++++++++ src/hooks/useTheme.ts | 35 ++++++ 4 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 src/hooks/__tests__/useTheme.test.ts create mode 100644 src/hooks/useTheme.ts diff --git a/index.html b/index.html index a5734ba4..5e7a099a 100644 --- a/index.html +++ b/index.html @@ -46,6 +46,21 @@ + + + ?$NoBuw0 zTy->eoEPOmX4gv4IT?nxjF!h7!t+69ox=XgQMW!vI_>4J=(UrMP2N}D7rx;uvPKQ! zPcVO+aV3wp{tUOy>|HG|e4Ry$G!j6o{|4BPox(d6#U59oRO5Zss*%sh{~Pdk%r_qw zE4`n#69ayO3$yhv!p9c!QkJ6l<7!Xw){!Tj`{sUIY@Mc!d6z2`)Iuye+QJf+LSgb_ ze1hppAga;4X$o6}!t6P@fAW`sp9$?mz_sV)8rKYM${m6`0^5HT*^P(op0=EqgKAB( zwT-R@gL~0}b@QBap62rQB`w5G--+@t+XifD#%1GTZPeZ5sS5gpwrqZ+$+g{g9`gs^ z@LICLfh|IhHTMz*|MdEE$~hLU4YOx%x2I8cpvA3=(%_X{gA|?v-Uq8IZ!?F zb%To6v%!a;D@%Xf>6GrF>UX+zgWajV4>^KSg`w8)2DPS*CLfrQOJF#>6rTylf+qY%M3(8!XbxGu^zu54Kb8&fn{QH*>haYt?);kIBj| z5J&Sk{c|+nydW&+MbOca)D$HW!6pKyxflApr9=-@wyXNAk*Q+d)f_umW*-VNhAUoBzHHqcKr>fEdsj`9 zmz9897#mmp74^M!@Gd>jZ*~CGCmOswjX1pdK2778j#n5)NvHDc6*=Cu9a$i6)tb28 zxY3d7Lj;dAo=4=R3C0*k8g@ykH2 z>ficn!6?EP=33Y9cXntuij$Mq`Gar%Q-8264R0xPKoW&jjx z`{&zF#Vl&DuJ!!u*lB#&e+C|H)%QMQ7?`^uHa&a)>ML(x$ZlS zm%d6xPX2wgW6S3AEnr+@=1$WGqYz7;WGUf1m3lUd@|GzV@+&D09{AhZCu6#B0vK0q z?e2}vj;}VuN$_UWw@E6Zt2+xK|0K)PCL@Vf`#fNSjkU)4xqpi_*ZI}x+q#X-1jMr_ znHfT!Iza=LBz3erb|e&i(~EJdrb8KfP%<}CJPl`e^CIt0CJ6udHS{-)|Dw@Ix5CvX z5WCm3!3lPkiI<<-jst;a8;>p^^NFT5JwrOyH9f|L@*0ZBGyw`9)$$svw zf`4P%u5e>Ay(Yn{+s++)$Dx(tVCS>x7BNOhkSBJRoXjwU?+P?-tUIwK+ed z9ZXaSILNM_n3dBrIeAJ&$L7r9$ug$R=RsPkYC26pD6To&gJ4j$I%r3BM-?79dU#BX zI|2_c6uljkfUr99=e!uX(i3XdLLb|26}jJ@e~Ocy%8N8HpSIE_{K6PU^)4|&YaWbv z{FAzmBsP@00?yy{=lnGFATsQ1wGjg})6rZ(5R|FrD^yT!-8U)z60&Lv-EaOaF!0}! z`o>g+msaEW&4fNEIH*C>Iu)kAEF|jBxayX4@#)5-a~O7~ zB5qY)BI=}& zh(LnY6K_ai0#p@4bNqWTd~7uxn-GzBdm`MgAMhu7!#vyp-x(jH={9Z~LvXiK>r^8_cEkbF*f8s6%hHq7<^& zCrCgJXD@cizF~aet*{i#xUMEdZNs}%yqi*}Y*9*T>Pb*)p;n8B-_V^c!HAtdDC*?3 zrBC+S(4r&ZzFes4UKqy#M7C71SK)E{F?3e%m@OHfBm6I*^H|Mod9*S}5^^`k8dJe5 z@g*%LYs2B(%MU7pM!m`vjaH#fh z{bL6#i8cF$rwFJ$=-zO@14Ow&iXoWEn$J=2pAsv%i`%is)XHcV& zvH_XsPKb!x~iUel9@W&v^x2EI-sBdB(F%F;}~aMCJZ_xai@a zugmVz`J@DheyOwK>yabwp`qBgi>2)DV2bZePtG|g@4f;x18I5h-VDZM_bp)5i? zdlV`EHpw~F406f#MHzV$!{F>0NCf`nV(Xg*Hj?!KB-RRLS62TpSo05k&QsX{jM7R@4om7;vQC}}vhG{1fRWZ8#xM8^;MUH+ z_Y$`yQC&O@LNem^k&k==4-oU1dFR&S--Ig2{iD_MlQs>nqx>H}<>*|*S6F_oE6ZtJ z#s@GypF%2We5uAJMrbsxI~>zEu?6=ApQHq>P$`zxXEOi`Hoy27gT<+Ob4npgqNS#y zz;wSvV{Vv+s!hW)#u}FysBGZrg#|TEw@>Bu(BiHqExU?4bY2AeQKR@hFE#hu*g>oB zsqbONnZMQ2{-jqDy(G;-Rvr)&mC{Clg@N%(Pu)^X7qmPYb)Y9M#g7j7*M>wJ`jA;o zdiTcvo~X>haxJiwfikp7(qg2K@vjupfH`o)z*MfgTxl@E#%O(}G9db`f>9WP_0LPy zKoAh_7Fd}*0nD;LfUZWq%ykB?3l-OdC~K}Ix)tBMS-Uyt4EcQ@ro_I1m}|@g_G!+? z$e(|K+Dn{Lc`3XA9G@Twr!K^TH;c37ocuG3yW7L9v$IWw%RdkZxrrf0lbGgZ{c=Ro zWO;pagPjVn7r)oEydo;b+RYv+@i|D@yqo zfx_O`%V^Z)gR@vE4T4gcWaCQko?ZEk%-y$+U9eF&c2eE zLmg|6pul13{qp)l_Hae;#e+KydS?54dij`kc5lGpr%(&dXSGMPne;Vl9xvYw?UfBe zV9Vfii;ksHSAx*Nnp-A6g*{Z1qYwEXkR;Jve_{=#LS9qG?`uY&IfAxI7eq*x364AG zchB6)&)fMwn$G=^>HUx6NvPbCLd~t*>bU1J*NueaR_R1;a|>bSew``GZRV1WDYv3X za?hPf%g``#zYfFP+1xh9zJB@s51$`C@7MGBd_08x&rIuKmdrlZnxE*g$oYR{c>(Bt z2X%Ia9=ksJ+LXn0?9iL__OY@<`~8&3Un-6bu(SOKdEW{nyMw(HDMCi|H^Vbti;$J} z?_2QTDo{Wt(@mU0H{k`&9uhDuYjUvaYO`iN)*XJ~mtM#~U?)lN%7yw_Rh;ORWdt$$ zp4#}bQkrahBG~z=ta5lqu;G}^9kZV`J8&R}47=}{E^y?SAHR|F75eAi?9<;w)lN%>{P-!8(@kl+;LjV}5B0yV znA{l5&9m$CjA8%!m7-w$!o~(QShl~CvR2nU&{yo-8J7pGc?@#6xn(EYJj?V}p0FxPy!Mpys0GC6Y6)F8?U+@DuK5lkS=TPn0!8tk^s z(A^P_AE52~XWw#I)`j<4FFU^4`E#pv>9X0yr&o{?O;_pkwT{hzdra!h>&n{UkmE$h zAB(RLS#!bdcu?ifffX9;)sNfMi+L91+DBc3_JHk4&2a1~HJ|Dj z*e~|B)SH4l5-4WRtzb9vtLh~rwfO_|ge;~OuiBpQM`t^qUvQLJGd5*L>Yuk)Y^fyT z$n-N!=;*``-0Cw68KJ=X-$~;gTAA?0cBE}Ez^ktN5p_5gRj-z@I-~qkai@2klwGPx zo}?}!6B`C}>oH@A!HlKh{o`vHO-m^{AA$61F*vMtT~aP+t1B}VUZqLAb+l&d+Gf;h z$n5yde(req0wq0P(5m(xbkBTrK2ML93}snjb&~k#8veIY*dce_vnHyRJj!}+e_Q{X z`{>LCuN1c}iWG8dj7W&o|F5kN*2eIeshT9v4{(gDzZvh-7A;9snX2X`{SX3(?VES- zq#6Kdotf%&i#Op}yv-1!qZ~q2NsLTCbL~2B#K{+C17hpm_T7gR?Gb9rTEap~NTVMn zR!llD$T09qtg0v)KbZo*y5o0u3+z&3$;AkDM7%AXKPPAs1q>VoS1m^Fvb2oXp++Pb0fbO z=IKsX_+9h)OIxOoL!1;nB5eF-yzpUEi1<6~fQNN{%Db3cJbYA3H5q#|Dn$4y9_v$)VT7Wl( zbZtt;xUo2aXDQut7auRA`ZrclH^yt#ylm&14+GTaCK@Wp4%zxLh*hre`nZ;?Zx#3> z>KkFOXvkcfHM*w_XYUoSJmAdh!5#MW=q)Gr^+1uRY$CNb1dzX75j*{P&3+S)YGuj) zPH#C0#c~t9$o0jh2wVIwt?)g{wft%V*l0C~)XR{`QxEC0uBka8KIPR4!3r7$lwD}m zTpO8UTmt2H{gFaKrwf&RyQ+!8nLc;b_YWxkYjSsn(z3BMWD4qwpD&1nq$fGdtqIu< zNSgNU-ELjft6mU{3hFiu!TM(lIS79)6>^+O>)1eZ%(#((a5YGC>|ywPlx{Dsa9?Sf zAmaMis;E}Ssnh310V>LK><@Se!oXp_35BQo$Qh=()0`?udCQ_7OZVnlg2#vT@_X(P z^5M!k-QzNY)KMSg(l|)AFy7i>Vo%RviQ^;y)hW1IRy8+shIOc#CD(`Yt?2FJ1Fw56 zgb_Pt&K6%~=$dT7#Os9I%l7sQZ!{Dg$8&ZI6E{a>1Lz~Eeua}^M*+`bnlE&V?qfJE z_FreM1FRXv*yMx!-=+d4l@(Kzxp|$Tc+KEfirx|Vn3;&L>^2W44m?OcurVW;{9eZB zwJwet?Z>WmQ}s&)##0%clB5rWh1WJaYY@D0#Qqa_!1hWg@jj1`tgmCf7|ZG~ZnLxy z4LBHDAC^1`hak7tt)gioylv}C)^`>NZk?>y5q7U^r@vQ0@qQwRpozsNA(W0}?eRPP zO|Q$x(|Kw;H0shJqtrm}j&RBMv|kNXia@a3d*VKP->0>u@L)vY(E@q+o96(YZJW>+ z(AF}ekrXfQNfiDyvPcOlj!-?F%Ytm77kl1obuNR%zB~qfj73jZDBO7U$^=k)tu6TZ z^6xCk=!LuM*oFz9mPsJu9gyLEMP9~rvLTs_+wSOU7*)V6L$`%suyWT}^WozR~lLrJDkEDNuj$Lb*bQu$t^Tl6|CSTq%xwBf!=i@KVcWaEaPx<~( zBlHewJ;KP_9|4;>679f-4C9K=S>+3F<(KTMoG!SjS164DRX66Qo&}KGf|h4o?#L-M zQ(Rpx*-(!}Qo*v0E79%hS-|b0wae*@e0@{IZW8M>jL-FLAcdinz$d;wY$P#lck6k5 zd;V8wXCSfU>k4(BHn27V2S*QdW}H|8J1 z%)hk>|MC@jvsNyF8LK%ixRZTe{YG>yQdTE7qqW#d%e}^^?%|7QO?2NxuAiJfE31q!8M#z*8JRRo*6I zGH&H!tpFk)(^-}mcToOS#7@K2{GLN-iuXjGP)vHr#Gg2fGLNgdU4 zvrFxDqUXWwtTb&%Uy+Y%)4m`-sL0@GdvKUA;pKOuq3IlMJ@{6+7V4&VD5*_;pQ zoxJx2(&`R$k-L?AzCl=C?AKXS%jB7|>9MW(SN7q8-gii;Pn|nii=|RkG@W4ZY9Y!h6Y zZ5LNjH8RLFYw~iPL+`>`)}8UQ9XIv2mT+M)AtZ__Dt=;A0v69Ru z{iR@IMcPgYMF6xjkDDV~kv=Gn3V@&OeisPg>D-p~4gV53lGm2bvFKy5G#nZ3*ST7$ ztW>8#539WyIV)*L4AAE`DW<3h?R^&=QrzNxaqK1&(77DPS(HNHu(s3TGdyuQYGiE_ zt8$*~+pA?G+u2P|@!BkmTFXq7WlWIk=nv$dKxTo`$*8gY)`WPn-(M+f0sKk9+<{EK zWt>Xm-}8zeep?iOkU<26H`1X72Do0Nb?8EEm}ogbHi)7dPVmhFrda%0m*|Xhx8y`& zzyr3xw=AaeBx8ELZiOOu&5de6iqiBHv+8FU!l>^*7=LAaQ%(nJ+ zRe?~I51)^FfWf%hVB)YA{bilT8`rFW5ez!d!6*5k1Flv+B53JvYayw(zSRq`r|ezk zw7D0y18)hKphZ?2v+8kWL*^STOTH8@R7Atff^z0CC0urfP(7~`kRs9=T zVwan3xBiObuxJP>cAm@h=FTYtrF-7;T9dNDlgT5S#xTHwsDn+n1G z+(`ROd01?w^-XPE7J~;cd{(!i!A#yEplCj4aLnnrVIu!!hmKwOv0s%rrayYEytK-t zA<*gAy?!TmXqJ6@_@UNN175!2Kn*q^r?6M%F2kCe5GjsQQAjNeEt?G4vv2JZAYF?3 zu{)(kg+=d>m%c@+tR7z0*4*JWz877dtmv>+sx45z{-dwSz9DSt7!}kR8kThRQ{4i6 zs2)SK6aP^%*co^tg+G>7zD(S)Y-0Tc1G#N_*@a(!Xv0_7Ubr!mWX-BN6L$V?6zmw? zK;QBjoR)d{J~}kFze=Z;e(_$onrQToTvvsZ+E=o$W&XC|5=*hEiSN404=d{oh%A%$ zzrYG-pU8=k8x9{`h4#bKS-v-;7QP{m%M_u<+hPQKH{dW&*QCj;d&|NM8HixWwT$#+uiPC_YPcE+ucjaulY{f}U zx_P!iMyn0((u>{Ul+&W%$!NZMxXvpvjgQLTe!t$-P~zHd0zAtdCBK-~)qFp+ZPv)j z4l-a@Flx%fgnt6dWDk9La;Kt!^ynjGKn4~U9XDgR!Df7BTP2I~u||I<@H<;Pg4Ma5 zu}pLlj~29t{EZmZn{<=br8+~ZR)qurh^;%+GY=^5r9wV*KpK6;4^nQUDS5 z&tX1%1L5UO9V3--Yc*uQ92B~1l!La@E`S;$K{+nAg1r0%Pk_t6?}>(yBTiOQ+17Vb zg{NI^%b_{QVmv^7ABxD+hAnp+O`Duu@4{$7{`oToWS$VK>*nE~Ux6|vxeKdOpE4j- zZ7jFkfkw3biNCH`qBnH>Iex(pPSxVOzzAU9U<~^|6u_I$oIh;68)JU zKPT9RFL43hq*mnWmRv*C6?3R-1Wy2p140-OvFN{@9M+%F4{I(k@i&fLj4|0>=rZ!? zDY){--*?}!k{sqe%dMoQ)DJIW6*U1^e;Xm`h?eyX;I>@3VN#zn&(Sfd)K0G=%t$8n zlb!_od~!T^tY>5~V3u~-i1^&Q{d2xWg>~{u-7#LQl$93Q4femw>fOw1`g)+A{aH>Z zYn^=&fl^6^?8VvJw3x{i#UWp`l(arcny2 zjRy}L{eD@+GC`T1-Z^#c*4R7C`sEy0b0$V5ZGp@AlHVEl=?!5NPPc z1#5|Pd-EIa(NnNM+jt5aFJ@9Q4&cP{A7G&S#80U(fK%Uar!JFdC=g zbdl&jpi|x-zbm1+YK*8be53kH6Zg z@q*ZyxPp+5Lr3m6Zd7^<0CoCkqD|Jdu|{zSte>`gig)u6T+LINC7Sd=r z&(G+8sude6(-oK2HFfUnz@2zO=xg~@7Cx~}?ox~7FOf~#K5zIGfKpwHmNxWl9IhAd zvnWGdsY)-6YMji21izT%4?LV*`tFE_bk+`*V*2v>s(v-w(_J)k#B{ap=(HzZ#W$PxmKNRCNkZCAW_O?AO7sz|H2_mPm?>_ zC7#hnTUlxJuWYYYZwdQ7(pgT~XwbEdvcnD$R~QDF{l7Fs=;v|~IzaW!BU%}lH(t$O z{qy$cr$?lndt(c`q4@=-?Ab%F(O@z%1D5SFXYI}AE^08Y6JQ>KV?pzQDm97Gf#8WRCL8JqRmZW!r+Mp# zlE-$W9fJ+WIDq{K4#d}`0O~hJ+lx4m5A9(F!HtolkkAc&c1^+F$r+oM#y!`rd>9Iz z+FE_U7BzZy+o)Y^M74ZPpm@T%W*eLT=~j0U8tPWi!Qt&dZ*9S^Q2*n7eooj$p>1}d zp3>Q@`<|ktFJ{k=QxroT?vC8RUBi@eTd789jopoFt4QHBM)?Hw-YFQ!**aklOSaBN zwKms9)h3za(Nx#`ZwASTQ&w}QS1bNv9JnT;oqUms78Ea^Gwyh6i#=OIO7{^@R;O(;Rd}~l= zD^2j7LdrVSms6$tmVi)!gq^<~XBCN*Pcr85G8&Pq?`9bO?!+e6n{@?PJScmoH=6oG zJ!}Eut8vJKz)4^bQ{o|kb}jemt{OdpHMIiNqZ%5ZW}-VNDgdVNGxX5;FM=M>@E>8A z;f7tw(p9gFRd4mP>ToAnfyR(57!Pt;xD$g0nwHsGc8?6OIXC$xL^LO5(WIDB+k%Yq zZNyMU=u~$h0)cF~cQnFErS@hdj%S5yvRCLp`rlTC_d8u6bbQBNDaQphL<$Yq5fn4K z?L<5+agp1m#LD9Su$IW{3FUD)Csv$H-FNqf2N;_W<|LEG?{Zq4*HhRI+%{j3O;hgq zs?*tZ?V^tU@q^2N5As_4`wFVJn(r;#>JE)frf8?YOjMf)PEcX#$IcX8fxa*QEtKt< z<_I6jYc1Wn@Gd7K(jq#R;1t<+cXA7;C!gX2c|7nq_5zHjuL`}(z1k#NAwJRYa;iC9 zP#+L!JtmMa`~&__I5;gI0S=J2T&`by7H zk^eIb=K<(?%Ew2pW$M;4Lh9Mw0Tk21#31COEWy;mSIV(*d*b*{^MKyGB#T?&&9~EA z1o_ngU9vtY9_1Q&`E~s_i+Mt-u7-eGw-#H*C^sB4;#p$%+3&pXQ;c$H?$A5Bn(Fh< z8#3$3Aneo9SPVN?)|}ey_Qgf9Yf~{~O`)i!xd%bjs9ft?o5CWk`@4O8 z`==u8BmPO3WjD+FY5#hTJGXUMt>()Gd>l9Q5O=qGz2i)ML+~$0YBn9xT;LnTj(09~ zQ%QNeGtx3yvI45@yb^ZiUBPAQX$G&@3UB^!%?*3Z6Wi`K_iL_?0^!Q=IQs{X=$Oqa zmfox!svEYzr?X5uComb%5mq`#!P(`OT&LhJpU?H;Y!B;Lr6z3>&;y=WSK*K2=-JLT z$~#t>Vz3uCMoc`Hl3v{RLVwv$Z1Oxh=Y77hM**W3cH+vMP0Us5)z!$LD5=~Sp(p2Q z%NTD!(}ma(f~-x8UtNWqJ+9_DPN>gJ5N~cVwyB=3>T(KA?ipu=_-}8`&rzFc3x(Od zLtM;TF^avM@dGVNT($iozq^MbDYrLE_!Jd6`MK8Zgs}*^9lkxw0x>5~%uO0mrw zvD4vxE{cj=zm`#~7^}b|sU}d^+Z?XQ@M?KYtVk-GV#p<@sk@v}7l-gXJEZXx_Kji5 z;Mvu5bs#k}uQqqxN-7ROT+c{=K9qxLHFPBDXv}S$O%MyU5?E?gn!b@k4u(tSZG6hJ zmnYYVpp5=>KT>W14)qC8l!3o6Y@U52U=Y4`$V!yZoh}6gqy4?(eIWC%eQ9`O?SvWP9-n=Rm+o(}F&TUUumfioZ%7?)n+i z3HO&(rSH4^yc8i_ia6?C%klywY~57**CV4*TJM(uUg`B9rD>>nf)r=EQVGsJ5{#S%LnlbNI#+PZ^oo!ow9ryrXXLuq8&_pj1=Q*91EC_joDs4^Im}GO8U6UsYQ?(F{gVB55SZLYuq2t zc7n{*Kj-P^G$g(E~J51o2GII5{FPAc1-f1Nae#g z|C(=k$9Lx3!|>k%>Q%ja#j+6^WBb$zGC4eG3*u~zleGgCyyV0E&p*?ox$f13p^_jStUK0|J?p-FQ!RGb}p7$5!4@Y%~ zxuRmw?>0cOh^=*b(Z>~=eEZ6_H6Qx#1uw_L;73{?QXY)r#bVkJA)6o6;yy&Y5!`n) zt=K=|Q^_nV)`Gyn&uCH=lz8`1jTL6P5zqHv>Q!zh!@mQ2FA$@!eYYGYzWws6nVq%L z#e*Wki2bVG$-lginQ>U-J(DCff!-DIwj3$8u_m(VjLZ{5p%zc{;(+6TQRR&1sCMSA z5bwE!%(1DctnVJ7dx&g}D4R@05mL>_V4pi6oHnL5lQQQyn*HkJ8ac{qbgUSnJ=5Fm ztil6@%MjfSIs*p7Y(a5@wE~8_-R4?zXb#c_+}}JiMESm%v7icxThRy;gM^F~sS}Ga zdAfW5g#oZ0?$s9HR_q;JnQZ%}t%(D#F=rj{J*{RKDiWh*_nmbU)ERI?tSVnFtiN1laQ>^Uws;vCF+^}r; z->{c#_wE>vcDH9Caj8Q5{7 z-LzZa!OMMHowX%xpovHHev&Mgi|4~e=gKj+HpB9}JEHGh%_$_a~eH^pu@XHdZIl!|Ct3f-O33 zic>P=fU+s`^4;N@n-iMPJnLUR;Q4U%JG-ncWlsD0T&;B)?CqZ<%ed6~jkcd7f^?sk z!TxiD@A9^iaR9MHUGuVROZ$WmW|!%%2iWU_xbjwtBHFj*cBM=zHyoDZSngrBYIYu1 zEF2r{R2N;<6xMWOXK-{*fCrwI8pmm|F&Br{sY^=?7Q{L?PBpa1r1M5^7nG+HhBc2% zjZvH-TWbL6myDli4XP5%J)~qKoSQ5#-h#*AN1cfg$16OlyR#&M*>FE@oi=P zu!Is=vj`sJTw)ztRMWrX4pTDuzJl&|68gq6d7D43+-sn}y>jgKtJ}d> zsMZ+NDN4w3sZY^k7vSSeS?Go`Tmloq?G+A2YN;a-pVY5c^Ab(?WO(LfIV{-& zWG`U!qJwWYIzL7;ZMX)A+~Yf=xTRMGURj=evAvdS&0}k!k2;ndx}F!Zjk#PFAh{rI z`b<-E<|5T*QOYMWfTb1vfw@ZWW@1O$)NoO%z|XnWyNPBXY**@nC6t>1)ZKs_dAS6k zArBoyNDq>qH2BGQo7X1Z$UU|oZX0zeX!Os;J`(M8oLu?&$B25~4>VcO+~lVww_mHM zSSW*r4(7^rs#EUOOeI)M?Un@I?;2flzm$FCAZEIV^@@B=y1?9)wCc6Nm~l94e+v%K zYTK>R@glq%z`3?=Z+qtF`VS(>eto+r-4mb!9ZU@tKB?TcGtpyjD*96f>uM0nX<7UM z$LDFRN^}{`(_aTo!{2@#773bH5vy_C?PyN%zdVXdaRx5cJR;%;vsH}u2IF3FD=;#N zeStq2RQgn7LnUFXF?g@rnO9_gcXPg({bWYRwz;AG?kOZ?pjOz;t&MSj6DR(>w;iDA zxTX;S>035E&2o;XZI?5el}|NlRRzfWF0uVuemz7_E+l6tVSPZ<9eNmzGuq#p2jQmu zVwzodJ%Nfya&fBhCiC=J?EJRL+pc%Gzi6g)Z^cv(5x)s0;yCABRdA!H`CBnq?po+8azu=t+x z)I5;&kIJyZsRQr{>1>-zceIyQXhO!QZkB)4x}aj@-(i!wujBO~mGa+vBa0r|(-W!j zt%~TVnB+V2zk3*X^nXWX)*y5oEo}MtAZOv#8$s7b_Jii9da`X}&V3(|kli*8cVX;} z%!icLFz?rk>!u1#>rufE@_gkl>*^|PV@IY>+ns7+`$jzsj$&&!D$}_jTFkUaF}o~s zaTN+Y*pkDX9`P4NJ~%RcK|RKd4j!jjo~h+=SSHn1v%(0e8fA2g(pCSabWG{|X!-8%om9CVAvdkme>)zP ze(+9d4<4?0g;Z>}yXPRRSZp0yXz0?TkUy4b=K70{eLyVp@FsvgmfrOWma66cQLfe* z|A)XL&hZrZVM_xQoUXE%ySa9jT(iRu#41Ps`b$?~uR{!SlIc}cC8h-=U}d~$dhVoU z`ZSQS1sgFk|7~Vo{R)IV{4T1C06rj3jxE*f&mU|`RGQ4>^%e4ISH+Faq_(6R>>PS%Ab80@)r!70PilloOP|AtAF?7gDP|(SzE!-z1IiU6>AW1~}hu(WZd&1h$ zr&3dUb)JGbZ?41I?#hotBl!q=Sn)s_mS8LDPNrT~-x0fhw)euqss~};j%Y7h@K-@V z2~Y0LZdkd9MueX`!=&LM`@0#52aD3g<4y2EZUZMGS!+AHVd-V=9P`|{9KD#=dLIQZ z#b^~>Bxb9=s!hMJ5HrF8VwZinEH%e1EzVN>_~w+}-JQAt)0Pj8XZ_BZHS1qG@_qLk zTv)TB`C-sp)lK%Eo4it=cH9;l=kD}v=96L<9qcusw0_wH1{M*25oA*LLBZt8_jA=& z0AYbThTfk!{;Zv?=Kf}v|B@Zf$IEl=XlGxPgy>EZipg72`fo#7|9#iCa4%zmcT{T5 zPL;|A=$bb4?^Kab-=65d1q%2>=`NL@7=#=C$2%%8+uR5sggRr@GPJ{G$ZG2=Wy{-> zOEp1-#YhKcb@qp(muCZlw)B(1pRfK$JmA$Q32;wU+P@_k*KY;Rn8yZS#;^I zY#!{Bb{kv^`1G&$m6jmp@X~{{~U{J$TLsw6pRL=jrO^LEW54u-Z?0;aJS6 z2sa%fvPlcL+4!iMc`whrMEA(6%`ir%MLFy=unq?n*7_ggRmwkl2wgU-)98si*Z$3E zkVnw#j#-Wu>@!%sgindf^&Re7_F^H*M^*ai;qE693w}S8BO}7lPF`hPh$&&tR%k5$R%C==2;IxBb$S2^y`z1KkruEHf0d^Y733htEBg}@VE}T>v(JIFzE@lKVs|ev?Y4KgwYx}1sK&nj6$wG+(e(?*G-6A;?{OV|VCRAz z!jn&G<>W7s{~Bt#JN4fUbDs@sZ`w8a$Yo`qeMQTpG8FWJN>!4Dg|j@s|xQGrBM zsUT2jp$(Y6^4^{#^FH!sgqMZj_g!AX!ZfYDw&MKDTf%Vmnb!B=Ye|$L$IwPDW`c}2 za(=gJRH%pqH3Bk^lX_8B|Kv?Ct*%JXT&2ixV~DXugnXxjorPG^-k`s0Mb7PFLH?9% zz5VVl^EW;I7DE8v4~8=Q`TKSuK8PpfAp8YT0~e=N%T@`1bPlmiXHdyOfP=pGi(fMB zOl_JQ(pvtoc7{4X0zUg{(ol8XRA$FD%5QBEy~5q2YZ6Ki>w>lPini=Li%>_P{ql1% zbelf^X&3a)x)qlX6A~YJWh>&#=C8441$Lr$En(5T3U5OO)uuHV)EZ#~FW` z6Lgsr!i;1Rt_o#;=ak!1j{o;4%u`aSi#y@_^))mI7S zQr3!&-~-|RNE@`Sh(~!X&{yeVI@wVUYoYh*n-^!E~|^X}H1AS2^2^Vt&~Sz94(?M_S#_A#ILVy8{9$*$w_NA(L3l3jaJ-$iA{AM<;)$dZst zdaU=F)%6w8A^acuv}{fSpnC=CaIa;{?*@7&bfsyxy_(v8t5H(w{RX0K;gxe`B3l<4 zBAr%z&rD~%9Xz=3R9!U=Ag0Li-EhThYQ2~elrzn!6rS&|YaRd97c}YA=s)RixB-XL ze@Cui(Rm0NPSn+gqPlb}B10K8O%@MUXE5i|PW>dUR` z=?VZ%7w^rJ;Ud@RjcVX~;tCGrGm@dA(^$`w2J|@X?nh9Hp>!Z5S23KDp#*8wBvF@L z_Oblnk>1-PANkr!IZaAXM5oWZVrG@z(FcLF!t^?XneP=Odd+C_R?`}maLV326>)6M zXJMVkb<#jK6T_n|9?&5QhFrf-e0qNWRHm9nXDrbW<;SawujS(42kPqFroyTYDc5!c z?KE$u1e^ys^~*#sO^xV$!zB|T%y8bX&y^*!!3_IVt?W!}{RX4mTfg(95L-J<;Z z`A}nHsd?32jXF<5d(cbH4HEA~gRHT=qb{G>9WCB&ycuz4E{}gkcw#+#++q^SD1Fw|6?#TWVl8A0{jdJao5u%r; zqI$Q-X6j-js^dwh&-)xoRYTp{ol| z20pRt^>E!VSF2&OQP#Aaf&}-_XyIdI2y=}|%P3ZW-1OUfg;_W)DSZ>nCzP`8PB&J( zN@}Wi;;Y zufx{ebL_i^8;~0xO@Gb`Z65BnN&2<0Jh`k?Kd2fDH+(I|b$)`5{oI8ye;Sj~pDpKj zi6(vFb?r18d1dH_pW^*uSGVrT-VUjlQ;#|NNoC~*J;*R+qEUX?@1GfgJi%a4H0RfySmj`hC%g(wx8Cml z1}#6*Z$U`ueNq>4W(4LtP~ZI%MO|dQT#n>0!OgF7hku$Qi3IoYy1CCdmj1ieYIvco zUEX?Ip3w1eXRa*Ywh>YGiF3k*T@W9$$E4Aj2o2)8-9IMF|2Bz=OYXcPw0$!PSbWHVRkmL zGFt)W*BD+R4Ai18th~y86;a>aLU0*3UKzTRojUc$)l z4G*ijokI#pp&(n`63gS8YrT<&EzVMihViC1;)4;1T3PY*>(;FE{Dh8M85Igi|JjU8 z;LiqK5o5Xlc(ommV0f0`E@>k_g(Aj)rr29<{+IJ{0MtdTmaD3Q5Owb}fPBwFqtKKxkOV4YVa!uJNcqlwy7K!MTm7B+JHS6b`$9NQX$Uegl(|YRlUI%TQ zYFC_^TKcyR>tc2AzU?CvkoZ(rWO?)^3(f5boQTf+WvDR(T!zxh>cRA<-~Zn>h6rW zUEy9IK^>D05VX`x&supMy>n2UFFe+A%}4=OY7OFcX`6uf{_@!T1QC^qxC1%SmM|tM zBxEqjUJ9VPY89axw%!2#xFB3@$o^CoB79Oy(&2Z(EAqNV#Lg!Eb`ueBkMSmUra5f& zO56tmk5($~y050n$@1!WZ|b_SzVf&=Cn^KaLJtEz(yo9Uxy&H;iwK9#{@?R+rn!<~ zv{h!*F<_FYHb5$F*rW&0MVL{)Qlh&Sk-YZJA3{jJl+r-exiRkaeYYw8MRaypeNjFS zbr+&M6}G{c)_Z5%B83=XgV&CI8O>tW=CyG8R|nu6L&KC~STLddqoFRC+H1scsNDAR z_XX^HBwn#it%^a^U6Bhw4(`xu>w^+`W1j_OSi@R$=S;Fgbi|C!hnYwAJ_6vldTzU> zA0@S(D4EGJk!k~O`SX$dl8yMmD>Epz6WRh-XmV~1!CL$p7*|p}KRa$OjCb?Mw+*6| z^H?ZGS#NPtA3nAQ8m_2tI#rQ= zymnZod^2y#ZTk8=Xr<03WfSKMuLk`ecL++?st?t;*kq>D1xS4FVWaO10f-}UoVn~dy>K%C%KYCiw(!4Djt z#*Q)32(#7s??y$ujtHgVnXo(YO^y+bk1bwr;qLYfB(fZ{B$7)x=B5}T`MpX{FW2>< zj4&C2!D~S#3M9tT+sML|9#apOqL}X~W!As@DGaS1ND8Ch9uaX@>_)O;A?nChCZ0c; zxH!ScQH%q0Oc#=n->0kzIb~#6!6NRko2fSeE&EmEx7nNOHimu+#)L?WG+^tM2PjK_ zECt3tChXvRs(b3=kE#E;&Mt0sXiR4ZZht|NI=p#f7P=NsWb)T}Jg~^BWLLos&&8qr zTCC8*!hbt<$o91&pa_~o5PQ5ay*4Q0PJ?>A5q3H%U-`?zTtXf${9I3RUkj&{h?S$! z+fYZ^_S~oVz=bM|^PyYK*7`T*>D7z5C-XX{kDjGDLTAxTi>WXEhfn6r@(172?kdjW zC?AiFx9x2ClGjaRH>B^ks5I&72A(Z&GyTa%!AkHlCz_ufB7_ItpQ-qXO&?@)f5qIF zc8zPRyB~7m3jg&}N1HcR{Cisnrh)U(i*34;+3uP7iZjcc^R$WKj=G4Wf5XP>3f}8= zb7ZKS^sx6m)8o7n-CiQX)1-ba*k=~@DaR;LudQvrKA1t7V@r1A{3CX44_TI<9d`4< z_SK-ed~gVs>t8bR#e+EAPlbkKRrdbxKCsiH%=kref_MOCo>Fey^SAe<2SxyD1IYP+ zSMu;m=1(1nUDuRVHB*_rno>g|HqR-t3pnIG$!Z28o?gy`){2c@4}9 z5BmON%WIh}ygK%fC;CVG=K59}9X*|<(^h%Ky?TRKkYcWo&@v~kKKPpjs_@|V`}~Eo zT7Gnxq3Wb%A3YU64pN3|`}=8P!l;Gzzrc}N2gDKZ-$jXO>Eabsssm%e2r(T^pm11E?>`@oiVhe&Q2-7^RDbiO{}K_u)H3-NR!Cp6ev8lVTm4s z%56LJW3ttQ_KkLN>bZO`g={Km&rM z&)?>|OPf~7O5t<#i^LA}{;zSb9a7~0Nye?Ner{dng;TTT$>Syl% zE80PRBC-+Sjd44o^IIT&qmZ(3XVQ8%fuf=MN6royt<4S@yN8H9amgB#{kI_$GX2eh z9X_jhbDkCKF!(|kcMgdjYuQrDP3^Cpd&X@*^0n_}q(4Nqs6G`&*)T>(^_QD;B=`sf{buA@?I>X4zD>pU&E`r)H**DB$f;EjC z6&seV;(b=rBI>d?AlVF=1DqWw#RCXpn>O0cFh;-uFv^Wj2D$G_k30)@#)c9)&@Fli ztlGW^?eU3x=5Q;0^_>DN*6#Q*cy?Ph6UQ-)?hIN3Z_y@4H0?M_!T4Ce7F~N6FlOPa z=7u!*1(}Fz-un;Jt<{Z=FZtOfe?v(Fl7}CB{mLhjzPscWoJQ#Xa{=_y)_y7VGV4}= zNRcOscVZn%4kexV$(0X=JI*?&y^aEKh?KIzdpQ@> z52r%|kOy(1B`RX9((?8X;9J`B{USS&$VO~8Jn|%*Qaxhg^3V77h0j}0i`g#+zi2A( zx9VXB+r?@B;z`8lMi#ea-D~zAdWATtU8;m)QZ|cQ4}ZaS9t4GPgHKMj>j1@%S69PiN26Hc=$Y33^XwS~@mj*&tO7sKHmsjtP<1ttt0%pmu?^x!9- zc*2*3ZtyGt{cZXJ1Vp+!V0k(@p{<%l1b59cLe@uPUnerhV;YhBLvJnpek);!{#*?_ zzTPMk&C)MOYA6gIYiv=&)LIo%a5x96E=4HPAby|mi>b&VJ}(m?^4h0?UO*h60-w3n zbT+nNfo8cs@o^dGt$rI}!yvUiY9vWl%dd(c=oa0u*<|jZY3EM6eO(u9fBeO+yb6+1 z&;HM=**O1EBp;HPn!GT@-ARB{?llR&{8Wq9A&aRsTC)E93erxips7S@ZXTxSmTEtf zj31BQ`AvUvo|fJY|9$YbJw@0*u!kpHYaPyqibt(#O{5HDWBb3Kn1#TE`t44`bL`n5 z8)7ju_asW(7jEW-@)DkI+HP$8hU>b$H<-;CaAj$DSn9UUZhb1m!tBTOEBVEtTcsjk z&4CxqYjn%e_MHQ-r&L;|J>un2fZ(=vTxzm~2Uv`XT}qNLy-q#4cm6K9wx=R}^z$D_ z=+Cu#&6Li8^>A-JvQNE3Zqu41^bHwvoh@#;yvXr{#4i!FU&>lbzY?#kd=3l`9h}5I zsOLdda;x8|=lyKU((Up&dQDM&UPd53mhhB+?W_nmno^Rb-9{M~DsuI}i9Z`4c*M6u zYG2NGyV=O#M32y=16ylW56&FM!K&Zpwjz?z!!T9JU76t>ZbozHJK>YVKtv^F@}+To z@aA%FbSM~QzRm~qKDQgRb=VN1MPu81##oV@3`>m)yeTRpUTQG%Z=YIr^6%d^eyqm~ z8Rm5lP;e$+r9>{%Wui6Lq)lD@J&~T9gDPD%{U!rvEw--q=>wvJ;NkU4 zg^Ahn>Ji&rGU}&F9ju24&+~|ry|xo@^xxNhW<$@UksfjZ%* z0Ass^4h~k`)KoT1abQXkhkD&7Fw|pGsX~ADA36D_KY?@R1kwxQR+5dEw5!SXzyPb_ zaZJ=nLf;-;Lqvcs)KV5JSa3x@@*$wyiGHE`!O;GGj`+_@t`0r@>fmT@c%k#n));fMlwX;Nzi@W>45V0P$mPBCxYjHhv%g6w{65!94V ztp6WP=lzg`_i*9N(#n;Y6Gvrf<-n2R#I)3gqwz^C_qN2n1+lUmDb7-JQCeD=dyC=( zHTNDk!Mzbh5QMMq5AR=b?>+aN=dp_e^0ytJ^IP2_#q%+82aah z9jTf9U9sP=zq@;F^z*1Xf+gp&<5O z9@kvy$=`gNWTeI)B7bG!le18spk`fL4W0wVA(^p|(X03!YC3Y>Vp}*zPrd2Sjg$@l zi9W+%)#cx~4Xsqf4Ml&vRl|HL z1ON8WqwN)v$PHjlmfFU(S`6>~J{IdPk8eAjsp$T+KBPo7(=kA&eQ-ozX6&qli>4xV zW3JD1d3=tX@8v#I4V*I_*^AP0e>%J6O~xvqynE38S~vk|$~v^J3vMwe8}7?03VF-B z52!IGh>?h+$=xi8lyeed>5Cs>x=pYm4~=r9r!OY&zg3DtQBJ>r$}uhYD|+#tGX=h9 zN6r>4k8=$9#+?08XF=rFKEVy4zW1qmz9`{jRk}tii#1)d&PipDU!u`3A+H;HZR^Zt z22HdE`Ya~YAhY}@I(=@sO2%yae%_pU`v-wO3>)7iNXLf3b|$QvXZBZXsF_FEsQD$5 zwc1GJnVDX%@u*aJ_=2Rx{58H~tVR7r;cIVLYj-aAW}Re7A5$74E8YhOBx-jgXjMlBw&nj~~?+_kjh5)$JO0cBl6JHvfMX zK;5RY&49H>6)5QUi!m)4=a56BjriU6QEW!Fbhu-cj9l=knQ0M3eZIZQ6>Q4!v1!y% znqyMw7anruUKGxlcTfLhJ&wtdwz2VQsJpvki2iC$U9zSPm|{_-`~a1YjrR$>J|Ue0 z@D%vLNAB}y2|1PF9XF(z>D}M&1u|+0)So#)q{RM9bz06%#*9JJzV00=ngW^r@2_2u zkt%$mZ-qF9mG>H3ozPG#rz(R(%BPDm;}}636kth8vdsg}z7z85;A=llY1_%+Cgy!4 z*(iHwrum`%e$>L?xc2lSL_VDXF^v>S{nX`D16N~Iml!|TGot$5u0K3;RWvgyoqX9jJ3)cd>0bhv2j;29t5(=n!iALgO*0mOv6pW^dIfhA8wymH7+ zNc0?Y;qd9;7FT%H&K}Zsx#n#rv~_8sbS(FLWCbQ;WqG8l_$2*fN&AofTUxQmg~c+= zQZyIk;|uO6WP=XB^_o+;rc#hOJ|kV(XJPKX{*g)#2M- z7Ij;`W90qa%E1~9ky!w9|IahNs$h|t0MmlZ$3Qlc-|3Sh?(-imdhPUAa~<2{bCx16 z$QZRyuwIXs|8-|VM^zywa#p0OVlY#D-!tr4Ce%7}E*X`cq#LfP1KlK+29)ft9p*>U zBf^g{7r-I^T+2LwcT^PzxGSs@-BC@W3)sgV6%jqFZ&xfs9N_mHVg4G&wbRX3kQ5dA zS_q-D{wXrpYBrnRix@o>=3U6As%XbSvkx?4r?o7Q4qX78!NL!7z+M?hAh$#~4u&jZ zENsGf#<~vUN5dHD`4}|29;uKNQ^JEdkccdzg2M>3O^(IIGAc%rH&(Op>z%py+btDx zAx?BcnMSkt;aN}duqqk}8u%e@m4>p&N*D=F=OZExVyO#YI9!3P)&R27_AsT!^>90_ zv>*-k&K9EDo;Ra?4g5G^+FJXOr*VpO&gSRGO|--?f4$VZ4{9?x9*ALd9JlKx(&qk!_g=&sg?U&N+MoH>)R^gjVh> z=2@TqeDk=t8E~<7_0IQZr(G?LFv!%~{00OeoImTa877$%(3JScJH;^ShZ-{L7;t}Z zGxuBWw%GO1>gdM>2rlp2VwO&0%jvMdK@imNkYDCgp2HYDQBL5)g=R~qbpOD2S+f-k zC;Vm2Q05RSPXT>Cs<;tVUk$ww0CLnwv+$12UaZ&i1-~DqdM9Vchcg6lmp&sw^PCFr z^l6RcKK*@?D_a@6U73Y%+t4>3=j%M@=Zdv;hGf_kwjA$Q0d+EAa2g7&d|QBw&eYvR zb6l?T5v=up+M~M4rKO?PwY}m1mJOIeL~D2s;pe)u0n%)FEUPoFDKSA9?`+6NMA4aU zMNE54!%OiUBUqd!E2H$gZ4S#wb=M8tuxi-q4r<5q+Koe}jNLW05ZJxNSEtv-H2H2v z-)}2*7%#I3d(zKdl_ZlB8&K(5z{AO(u$Xk!Jcq}e@6u_MRwkE^mydcVM$@)_^>yRL ze`_CD8c$4ZD?Ebb*a>qE4RQ3*U{gk(8vct;DgAr+iyqIi8y&`)9Xau6%;0F`kV(Vo&XADKO@o zbTM6)SqzTbffgJG)qIO}V8kcrOvXhCOL3#8g#LVC9|2rmy{PAmPpY9TN=Ps!5>EwQ z!IBbEI_bKujgTjTRLAPqh4*?EnlKyfMr5pU0bYs?_8OX!op}wga*)z?(UMKfBF27sOqxi29@F1S~^T0?CT`@t=F=&hJL zN+OrB=|UbxM13vzyuD!o>UZKN)hhF%H?V~g@A|J7;doSfXQGN=Sg=)Dq%<)TzXl3J{KEmm(mn30;TSR;sB5u(&jaUA!_gQ%(Mn z<8j0Ybt$gulr1_y0xZ?dOSHDZ)=1Fzy&XGd+uu8f>`_w^x>5=@(`TLJ`89@XK>5l# zPj%GGHO`ElmNcEOr6OU+^+zYTV188()!Dno2A|dax1(v zEl&}1?$)rrj$1r!#cGr00=|J%32yIzo4z+_$Ph4-G-2=A!APtO!;+ti$*{P4HG~`` zgMnW#Q#78iMUh_%(PIV2lv8ZsXn1n2;pp_|&G4upTfVsC44oF~h#q+c6Q5?Olh54F3IYQo3sQN<2 zxv2o3B_M$mUcGQ_1&m?JoZ?)iCG&pZoug=#4cEglHpD%TQcVlt2k3zLNhRGTs&!e3 z{T=f{yJ)n|;xwf}BOg3?==tCV!(Z(|udij}`u=)D-6~|kkorx^ws(=X*9I8FzR?=X zJ&Yt#?d$Z%_5d|1BcuN;k+Ze$0kflXXBri6?Ri1CZ)sXb-RJA+b-k^Cv`CSQx@Iq_ zv*()XYPr(5ng(onDKTzSs6sC~(5_W`Vf7z_0o8FE4or@Gv`)K z1!X}iu-aT{jUi~R(zL_hkgB2d+|NlK6ng?6+#o8`YdWn(8FB#dg1rp@wdGzmB=r(} z;hlcYCiKh%9>U9w8Mkrtft$4h>!yLd#XO~}$y|qEn>An<;k++a%OuQ31!M&Wzk1a; zmnE@9=hLZc6H3TKe2n`kQ?AKMkjA?_TEu+DdcTbbk z!PXSE!iT_D$QczQ7`HNPNtWP~d!5D6|3A)jk9F<5b0we zJjC|J9ian{P3)DOpq(}K`s%sk0%qZff>zQ$W-v$chM;$KV;=9fnf9$|E@h=NaM*eA z==TnLmop?1?X7(V(i`{#oB7^Ga)){)1sy-_d;PXzz)<;2<=&l_rMGJ4ea=d&hqFH9 zG;%n)v0Z-qpG@uKm%m}e01wQ!Gn$&ao5exLPM*2c%EXY^vBkii*}xiPoaL|K*Uy6a znA&H9LC_m=&>e$ees^C^(aaXNJu`*t%uAA!rMuscrD9g)?XM1;NHK-NbKATe`{fgp zyS}KRr*oaV-0b(=%j|SL2$Nj1SN}2R?4W{gL{BMmZt8LXZDU(dSMw5HbQgN}N*%we zYY7Y8{mv`6WmBQ9aeiZh>uGt7T32dVQwEFuo}CW5%fzuGd^_Dyc7Qs1`pnhI6$KyP ztFSus!*_BKuzDE#>YlWC{!J;DnM|yEp%38)SanMWk@{HPqO0s~`wE3f`kHwYwwOzY zGy!B#zx4#B8!wBh?$CVs%CBLAu$KNS;cDA-%KC&<2{*FrVAE*J_x&$R^Z3mT?#(PMeSCsn_quD-}FOH?)3!#ZdK3J%}g zyOO=&jgEk$r1xj z@2VX-LQ={fO4lO}yxXgLPpnI;lh;f~gUa?sZk3PLbFZE-ncG&=6J~=?)P~)}o$TJ# zkOi8t%L#>g=WzYeo%FTuZBMFQ`9y)P5;wILT@u358HFUCK+n?a9Ll}8L4VMt^ z>VLZ&)h-L}qlWYxB;M+if6qO&xOQcNrpiO}z?- ztokQF$e#&|vYx~}+Pe~9R5TSkNH++qdJDuios|VFu8taaR7AwHowcDRe2Pb`yotWq zzUR2{aLvmD3erX|-D#{k-VLG~3cfoyTM16Z zyNSON%&b?1wx=d;N}*az!vUgh3#g2Sv8oflqWVt{2dYz7BK5awl^N%)ud}Pn0si_7 zr@ZIWi(^Y^WfthsaKGJ2uI_GVbi3^VeP!=iApN7*q@7%H?c_bV>CA$)l6#Dy7*CqR zsedOcT_M3F{Aver-O_NSBNNzj%S-MGxpuKEQ=a5Z>n)npU+l-cpFZ->@WKKH3R17| zz6|>vR+aCkbg+vmGs0?*s#Z=8rMy6TYC#-z`0Pkd>r10c!!YZkn1$FGrK?hqlrJUo z6LelP&}Yoh2IkViWQfHmOO+|gu@)GJPcYvqdln1qscGVVKQ|PMzHptSFS&+bXp->EtCUH2rx8!>})E(+=j& zVnC|-r_)Jk&jYTHb-nLSjqW0tD^BSM3<@A&^+&I^5Lw(-mJwAt!k{KO230taqTt47 z%3!=Kym3#|Zm^HdXPIL|<*4$vBg`Sfqil6&>8W7ypu2S5Too`%LzlF7U;5P@RZ{A- zW2TQM_dJLt%ycZvUA|)ywlQy;-Zy?2e%@(pDNpN>nV*!iTkyH~d6;Q#*%r**Q}2CR z$za8JZMX+W%7g*qPf|%|41Z~&YN1zL%f9X`M_e9RF)VW4K;I8<<77Urc5y6W$%OP@x=zyv>4+Ts(`sI^k(QC>rj0o>JZkwnTl z>b)4Y%+t)hKs@2IcN=QptxZa08X{u8AxwJc?Q9w})z6b29$johwRZ3fR%-412%8`> z9q3t-kNHmvKBut+Q+(FmT{yG2Ap`mlL?0kS%iQ)%#Gy9ajSU3gTdLp0l&N{8rD=W| zq#hAa=9mME_o+Xu3c#8h{%xr8cl`$JyB@gzoushoF$W^? z&CZsMTZvj5XBEq=8$97DE3t-Kq}M~0b?80+dPm)(ATAFq?N0t2=M`qZ}?B ztQ&cdEXx@Js~8zV9EalJ0&dB@om^^@?`+@ttc? zxM_jO)x|4eptQ`i+-`PnjX)kkS7=pdUHX=b>e22m9$I~~gSR_5r5}hbqr^%00CfI2 z^HdCMO}FtMz6hd=yH@(2KaZ^6df82}L6p04YNvSZ)JvX6M}E+u4)wozMV>vD2?QX9!^Bgqh``f>zY<6)zA2&EJTr8D0 z8+@6_+1@-h35-x9UV70|x2W2Z&aW0_|JM1Q<%rhPTp4ly`uVh9ZZG{SJEV0xUeE-J zb`4|ww}gg%Q?{-Z`UQG5k5!#LZ&cdx~UZsK^?ap%oLK6?vqA_8@KusDzcFiPR}^~^v>*;&%;=IPJVkG243F5zw>8ajxUYp z>SLkq&RzHY7z5Fuh$5Zd8;V{S+`I}E)QXESkU)MLcdC#ae~0-Hk!I*?7d!rHQZ6;+ zp%*}-JlOO^_=%&bvEwiUfw3Ql4b#q6bLlATdNuU{4OI>tF9u)gLj2_?_KSmSMKx*X zEx{kUx&FH*_k$l4?dn&3TW@o>zN{^XXdr!9<6WR0$=^iY^QPW60ajZ6GQYEw6w|7f zOHvLAQPjd39iw=kGposvkl34jQ1IKI#hCHl${Fu2soIb05;Zi}hk}CiebO5CU;J^M zYOS15oH`*wN40FkbQ=IzrC{nFhSXW%{H3Rd*MQup(vpOdo3@D6>2}f{kT@vw=903` zX`#9--(PbZyO}=*XU%_pwm-~&&Z$uM_9Z$pjo!{Bap0RB7qe1=*DKZfzAHs4D2dMq z%KO7O_AlN$@nwdfd)$6Mx_>R|Bpr3Bs^YGlsO%~wEj?RtVu%{HVHa-J!qx*6SL#<& zfJmkspt3DB`c{D-@%&?JLKwlMSI~5ix=4L1QH5Jn34_$Bb!6*RV)4G$ocl&!*qQN+ zOGLXl%uEE&y}+6(;85T5Bx*-CEgBUAS9E5t5RAFA#kv4|vTI39 zY8Ti1(nT$M{b!`z)}{tG;5gGq7U+eyZ+e|Er!a^A(->+Aoz3#vH8m}t%lc(d|B#*I zRTDrk`;T(`y*pYCJH0id>3**X>cJ5`>&yTN-C={LNfjwz^r^-h^FQ96XTV2h3EK?PXK2Y_d z<1xrgzJJakP(3kml=!v*W*NRW0od?;wiRBs%z8p(jn5MWhddAfG_-qCKjxB$Q^NCb zAyy9gs=Z!=dBj%KD+4o~H;2_nvY(d}ZYXGJ2C_UyWt3@sFn4)^uyG~_+NpaSKR)@EMM-sL`zH9dDnNzRj!yTrCbPwk~3h85SR_;7CrP*YM{ zzch-{Dn#y;$ZH^e;IOvly8>8=#gO*=Hm=TeU1wdx`qq0k%+wE*F_!wHVwmz?_^2X{ zN{$JqUtcX*N4G7SJS>Lr|3TIy{Xor{<3I`9hQGJW4&8M-F4DxzUQjcERgERZY8s%D zonDnXlvXrtta-6{Zz-(7Yv#-Zm4z#-;5h`eO`3smxx?Bnaot|w?43qP6crX#&G_tf zCK$=iv>)avmbFP0+z#q7vY~1A)CB3xjhSI0wsLkeN^+y@H|SzPE{dZk$VVO2oq~Hd z&AE}p^B=uaZW-E$Bf}T8O?QVYpz2md-rP0F`w*kvxA6zOI$TI}(U&*jj&a6m{dk^& z+S!je>T3v(ayvNaE~q0&-nI+oD9i@<>ur@C55n0LVII!{^6>AF^eek#4m61)xL0cb z4lj}QG%~Kd3?bsEUXCzjRA1$1P7ZfbZ#6=Cx^|>Qa31(KTC)*i_^T!7-)ypcxm4-- z4=nM<1|Ef&9j&IcPjF#827mEdcKikY>YAi*6U5u^&hf+n`)$Q2b?rngh|+*MIh7fWm2Txj?7az`D)*ntUC$v)2;)%A&O>~PqA>wrgcy_(Va zuFJM5`1jcW`?oiAdf@PuVViM@Oy<@~0v0^&zs06Jr4dy`pf;!to8|{2k@(*p{!_d9 zd&Mn_wW{j5tYRB$K5xz9HZj_t7R6Ip{@e)U#MJlxegMsmL4OXnkRkiwaN7j}{m?&fB_EaT|v4a0Tr=p-d+387}`HOJPNnl3; z%##B)I6R)!9y3<%f8LZ%D46I5`b$-k;D53sdp2+(_3~_dRgT9FPE9-Xor$UW`!{67 z_CMVS?=tK-5=>OsF08H`XG3lbjT=kE5jM{CAqpqNaGlm$_yo5&Tj==5N6~4m5BnB& zqM1?3MuqHEA4g?;VkPUanth#Vwq#V0VgoE+KIyOsDM>kuCw}5Pa*e3^xi#7`I-0S_ zbu>Eb^p(aE6A;*z*B`16vF&vzxaH}1(L?p9@{GZ_sONOvPLN76K%Sd8VgTOsi8Gna zT{#tIIc#)jzYr7$1N97EX~_Bnei&RFI34^UiH&D1QE%I3?W^ZCcY9W5g9zQ52n>M) z9=8TDq{p@;6japrPBc2)+q!CxDht%9_{`)b%<3Z7MGx2p*TtJb!}Ub{@h1ztV@rN& zyN}MPB5HKnvJ^Z{m==XEA-#fU&jHj)Tbsw8?eN+Ltqx&~EWGmHi!3yyO;Ne|? zv+6Kki7;JZ62ln@I@yV$iKTVg*F0*3Zd_Tu`%udSq|RIPR*tC2w@W=~P(SC329@~~ z&p-0MTLoOusF`TUeO+=<>84?L-`q8@##t3!`(IaTK;OOWg3up0aErtKZ}44RRZY1! zMWxnI-)h@)5!P)}ieII9K7}}~xIu7F2dbNHyC6IVp2^-w%_2Us5Ugg8X7979-je(a z%drTQ`EzRgD{$ zuvF9<9HQjm={Fq1(%u_=nIm|A)OmZ3*|3r2lqgp()k^apUW!El z3e|J9ou&?k;~&-^j$L5sU3j(ds2_Hz=%IcS%&t08iTg!ZEtCg=)B33lfI&*b5-{FK*ga@1*cz0@B zd8^}>^SU~h0U~Y6^s1D1Ymp&?MGcs9u1KiwszbG|ci0Y15{K{$me10keEcg50I;=>{xg zd^yVsvO6`xT`nM#61e4SA0XRWap3EDaQ)3uXcSWNL){ zN@uc6oena^4UGya>rKG6VPAto4|oHg3L0XyEJu>&G7pn4QIC$GYPo#f2xRRs{^y=d zm8-kh#hHo7r$yZMs(ObGz@4tg?TbQlrF#G?5RcFbXx$#fjnK)gSI23j^1z;K_yz`! zKfsPj90+$c*oJiJoUI}Hob z<=N~`i>I#3*I$F+ETV;fEcv%6SvH)#4X+OUUJs&}J;_$z? zeG5mic;~BiN19pNZMPUJC2jtY?v>JVK9|6@tt|Nl&wn<3H)trzj}9J2gm++F%&Cqs z7h)^;Q^^+Iw>D0@XY-CcW-`6zupZVpg{O~xvRVlWDHZ+g1vXB7d5&C&;tLOZm&}zy zj8MPov0LtSAocP?MQoGra{OA-Lfr#Ls)JmBA#ZAmuqIOKX~bKV)9WP*T>%muXBe??UD$~k?{!(hlm5^m|JTv??|QfSn_n^)*Y_M zRCo{r8N-6ucIK|ES$0YOSjP?j&_SOvEv;}FiT3#8H##^BwDQN8Yr`huUnvQ2Zr@8* zMIa21hY`E;8x-nRJM$>S0PF{UH&EKAQB1-Ok{{s`8-Zg7KhXT_;c^K^F!BV1IMYH9 z`LK$V(+^UfN3hqCCoN7I%uYv=Lt__E*a5*)l-{ebwj4mzOXV92U;Np$dFkdT#lHB_ z&r^%pV1^@~W}0AL-j$rdAV&r3%}^}S0K-KaUf^E?+vC9*2v3XsQbX|o;_^H&) zUBWo%A#yWMoe}2Blo}^Jzn0JH=_3&Y(>?DB54w8~YH=(fLZP~#D~c6L3?x&>R;Rq= zc&&#po&i4^56(D{d*{RwKmh7HRq!?D{*2m3eP*?j8cem=U`%%hw`~FOD*mydytIG+ zPrvc{WV)7OsE;m<-V&&IMNDpHGvx5`eMdh#TDK)*m4BwVOJkPr7qM^q!Y*t=y|eJS z+N00*kE+Q*DI>|~Fro41MI>it^(2F%n>v#2KjU3y=x+4Q`4H8Q)pD2i z%o8*T6}z{&06En1Z1~LzKL7IXdd&==V@a1Y*souF>^yI+U9S_oMe9Or~=MGu&1 zOa_y&#uL_68?3d=j735C=EY9{sZck@y%_Ux^&9<< zr%~P}?C`!vIoehn?H$k-4eR$`24=ONPq%UapiTi>44QcCmGD}rG;3Q;4fxCN&Q2?w z+S>FhiN_IXkcl(DE}1%nU*lKY2VD6Sq%@I-xXB`&nnk@3zP0Fe?{XRAqoiiF&?e`Y zdDc0{;&x%VdZ+JKTQwscTye%5WPIt)tVe4OkNZ8p6cwxFVLLOcy|l$m!v$|r+H{(0 ztkcE;(v0`!D~G_c&{cv}nl96#Kvwm>k~Q)S@!!xba?^O*?A z;D&ZrCQ&g|HIq}21RP5eo#(dk>|W6RnRALDXF=Lpzbbi-QH`8%J#$=NCtn?GH?xf& z2k^GN!sRTw8!e_D$%mID&Z$8icVMm!)+WMy``z73i0A_pokkA5`{S|Ifd_92IEA<; z*@zck!&jf4q)I7n4JNmU!zVvR?@0aa@6{*7Tal5Q0yb2E2vtfLguNP6+=tal;0 z1yS{p&MY+MuX^0|*BO$U{gELo4Q*fk3YW#h>DCyIQuCGJvj`}%9Bt)6)G#Y zwjEPk@4Gm^0J$k9CA41#v?hKV1sj#H@mCc33GT?>cWGO#0y!8BFRzwkP~Wh9fka$~Rm54knvAp9}N4GFOh5=2j&b4+M8r9XVX7$F+7|*W?Xc8TD0w+QY zo^doN_p=px5kokF16r!n|9dX1Vhqfg_`?X^GsaKt`c%}bnQ-@X?+A!P7K~XdHzU7X zxMI+w7<*V&dlZ5`kqL~~x7Mlsur*$1Wn_+!n$9AmwV%dj*Lr5@)XYa$_f5*dzy^!2 zU)!mMxA$vnl10f&G-_{yljl_)7sZxTh0>pOf&6NA>#L_B;pjR6hbzvp7%ypy;(SQ9v1Co; z6Z`(vy{>%X!ds2zZQt|cNP26Q_O~A#FPDdlY*&A%y5^bA*z5J_Z0dQQ64@&7fEkk4 zpw*d-P4Py;WCbbqg;J?zb`X)(4(F+4z^@mSSXBRo+4Lrq|tq*~j-xC1^yyQoi6?;L=vA6X0EPr2FLwUB?FOds8 znss9WkP3ArtEp5FV&-tH;KWMH5jw50vwj}1gS9wT73zeUmL%K9@0Afz1M#5xXtov~ z4UN=$UdHh;YM`2_Rfp+2e}F?4u~6pq?L96}!7c-Z8&eMoaJ>dd^rWGjc>F4v_=*!J z0Dbpe2P(wuN3qQ6df>gP9v=UB*h@KVI;K%tSkH^a-4}@+ESq2QFC$S?ZtU8^r5P}j z!PuX=pPFk)3AJ&qaWm~oM}6)arr!W6hd3e^dR$}ifKQ5^RS^+K@>Yw;%8wt zjPC_{19>$H@&RUJ5a0KnZ*E_dmN2ooJ8|OQ%V|LvAGCEhY!r%7&Ug*8sT=(;Yw4c# zwfxH+?h!mR`R#!q)S_Wxn7x?GG-O=`vLyjj!hD*5`Ry*t?{_6ZyOZAN6%=a5`kd>0 zke`W*ZLIAV-+V=<=WIKiel*9Lki#>_#;7Q93?*x3EsO9#W!V6BmtQ`=1wr@4W>19i zh~4p~4@b;8t%HE~yxl*xl^#7zP}o4jM?C z+IV~g2XwL$|G41f=i>VsZZo`pZY-vZcdNwuI3#oOFg&z{t2U&oUP*}TCv;c>YJbC2 zR@#KmYM*eBv+(>TTB6~%`}$xBW-@?Dn5(R{U{p4)?QTW)7B{{qCoVF(=@tHn8kQXe zH7NG-=#GHcA@1pvx&Q5rcRB%gZKcnoNsFcIyy)1IdThcI-ri9p+1{c35*-y?dK4TJ zmG*dXOXO!moDQTM0^pINln;UJfpqR3(3eY(g z(bT-os9{#@v||?Koo*co#|+)sa84$CI9bj$IS8f53BA3Ey?b8I272}lN9tu5*7?L{ zc40nS>8^I^{XT_3;!vKS$cKYl*H^t3-uUp2SKKI9|L`2KbPB4}C(L`ln>;&Ok8iFT zCo@=t!90SF=YxxdowbCgjBC3VKFGGjL#O2GIn-`vd0wIf``%9vHP-o9c(3t&CIXpv zia*YBf^9+wZ6^uqU(4Q?c`EQ=vy{>H2*{N%c8wec+m^1~h+138CcB*}xx&QFG0DbY zKIOTEF4dTq-}xI`Uc){<8f5uqLpUo=f2LGS z*!cF!@PXmCaCa+>0re0EVF_}U&G5nQ_oi#TWC`+AG^y;m{<|V_W0}gUy8uZxiT?T& zNhylji}jit8q*gZDE$Kw9IEMYFc{`p6sVZESe)3WCM6cI;QLY>XyYQtu)m~3?Ek>f z{8{i4f=}NrNlaFpJr}`pb#}M4z|`u~(@-Ki?R&$um%VGKv{+CXS3j0x|d9mMnCdjEZ*vIvq z)9FdFqDV>npcZ}cRdn`ozp3T*$QKR4ZEvcI6k$49-^?g0nnu~ytHFe?|-r0izq1mPW*EcdKlcP7+fZ}bVMXd=$oyhMXHlJ2AxS}Py_#+0$7%!1$W z{P0I&_7@A0{t8-;_bdC!edvHZ)rtFkV6WT36hJwp=L;s>vLOX4oi?I@=YtdF%sZ6@ zu4dswV}E1>Lrj$k2=k+F2T2Y-ZTWks4YYmUFm5~FRxCw?hTW?oCN^X(@Pu097G}6Q zg4-6l%&mGVKr4SdUSZw*-q%__Zn*0|lpnX>X)-2W(kBEhlU?3HSd}?+#!il!apn&rqSCky zsAVzydqGLh`9$E(ku>gcZm=e@$?%RyXsMv~@plPm{ka*;U4nQqRqIHP;ae&6-hO{D zsU$EdcD&bl!M(_Ae6;5LrIbaRZ6qA2o!l$mS!{-Fsz7S}IkvvT5wT!wuF_mv!~OJL zduwmPVs=kvL|H4E@7o?N1%S6r{LVZ%xE^BJPF)a!vvxas7-<#6-4Ne3n{?BpN1?QgQ} z2TeiLYNyZRb45oTH7g0-2^FB@_62H}LNW*m(YiBC4ns$CUBiOv7_ZZ2mUpkLw=bsv!rP56uBDE&V{`-jc$kh3^td z<(}edO~O$nAu-nG(qa|5N6+H7>}`90@q9419dJCMF@CinHHogdf;X2N8Mb6WoFH@S z6EpL%fXrGI>_KPjOA@z4Tf6w!x%g3zquoKsm-o8a+;N(yF&#j)H1c4~CU4?bNLliw zE)+PaF61b>fKRq&+5Yi|H|J^dgBG9s8#WAlp0yp}NGWya41j(k5?bPsk%-A_V$WWC z-ToB@F_8*myTm+7+Y#oG@UN~=oEokw?&YADmT_HvUh4e2Z*dp{wl>R*($~xG)`r~B>r7Fnali3E@bZ~#SoNsq{3VY) z&3l?Maf`DcVxqpp(E{D_)c9+Ba0c$s?!VCH%iR8d?L7XaSrDqGnGj`}!Mt(3J{vp? zhj=_84NQ$ysdSQMtXq1Hb(#Vs#YxQlaRFOLP`)EM7E@$670WVrcD>8raTfszoy6_V zW^zwqOtls{UeO|rBUR1zO&`1kL60=o~MZKyr0Z+gv{tNJ+7G9Y^D+m4v0< zzJ3PYuUx@{bEg7vfDlm0T_Ww7HZ?f8>i{OUi)if;z3}PWl;^79lm1{!v~|z7#$aAI zUKKV3AF+ka!Qp6sT+wA%@(82Rq_1Pkp4xFIV68s*ilcii8KzV+0tzy$8H{`T7!?~- z`rMB!j2 z_x1U2Hj|aRTWbe&ZOqeyqkW)sq4vr3|1rTd-gluI95gLKEh*IM3auGmEv%&>gEoWgr968ZB8 zs(*AL)(mHPw=OY6F+ev=tweEI*gz*Q@hnn;Em*_zbRi4;ABP*?rvf8eJ#N$8!3Sob z%eyEYX}&-Sdz7O2b)&bS^PlHCIc^`#-Osq!$d`H5{wixfLHV-|i~7jH!@J};7wKSpj*$I!nr^ZU;#Rq0kgya@<-f3gxJ2|ui{OkXRf)N$MW! zD!%ZB>eVRTe&a-G~ARIOLP2y{eM#JkPr+~WkI?xf81a3>r3tFvvyNXX%#xJ;B`V!)!MTY zLOo#Dys)fW_LRM{H zg0!xZmp^p6&#O!F*z+LKOYg!6cdO^dx_U$tPPjnRy&*@z!xTwp8FE4;@%QmsxMEB7 z3g6ZnL8^a*U6oAcMbt@kxBc?eAlI;YQvpxrpN{ba_4W?>PAHE^s#rxG3c|6h8pE7D6nqzDKD$amM zIY;&m%^&6y%0XUw#zwm`4$Z8^^?o9+pHs1wMc219$>z`T4aU-@2Gp_2=`_}w-U*g< zp}^2h0vh4>7cr}F!YVP`!OAyAen)5GI$-pDj6?b6D8vKx;LlqVIMiYX8n^T;@KdUe zk*`2DG}rN>sr-a%O}BGp<*ZKLTM%3!$#I6IHTH!Ee0Dkd7qYI}@8Ai2=CF0ff;9M9 zMDWNg%anGQ~@ zT5TJ8_VBXpv3HTlk}~O+h(ffJzqe}ahIHDt$Yf3aqz`GsVMRW%SbPrgb9imv89>j; z>7VTfO}PS4=LS)AcYj+?d>wI(@iwH%f1_~P`W!k%0|BW=o#h1pdCQ<7uUA>dAmG?< z6JhNma?rh_@u|nmb+`NUlK3(rtc+A4qeIVQxCM!uY7|c9qi9Gq zydwpd@rm*XisLCuXIK4|K`dC4eSNPc*o9cap-XyIAmpk=9K!5cm9Q5rg!0oxsA0nQ z;P$NVxv@2ixlGB!xs?w5Sox}*MfRtzQEkF-Y$QUA!42dC_NC)Kf^?b+eq;1|D*!Y+ zl`%LE%Mw+a^e5rcyb^R8+t=4Ep&^mTj72+;_e=e|F!7T8dxr?W^o?^{0!`ct2e|61&9NyUWYA5^wkAy ztwZVJE=uxjJkp|&D1JbLMzf&86YXRi-#}e0l&2SB{X}*!>Fh3zGh(w3*BwQ@p&Pq0 z81{qfox}!)E5qM)djT;>6H?1>8ru~Ec`_ifsd)YpS4*YI_s9LqeHGf?hn79rjBfSv z4h|E;H1_q=wx#MeixUGq64{Ib&nJZ(^oOZadA8Hj^i|5ys?Q!<#M(+)Q6m84uCP>% z>VH3;Q=YR**(ludUhwmso{yXsE%1!y{2SQ&=}(Fv&t6JnrLfa*E2p7A{om`IJ{ z4Sa>$>Y98-JJZ*(nt2Ituu{=W*KL_9au+LRs4_;Qia6qKQ;uPagoTOqPC8oX$f2vu zYSJpPm~Jc}R?Icg{V-Hspow8r6VN>-lcf9Cm|LVx%1b*Y&0Q7S+y=YPtr2G0R5kjb zrXC+HZRC5^*T}t)w)b6hptv~J>+nuBH=Xk7`)ICEkI7ci+^#vPqsWKsU%as#=da)9 z8N22-2RM!DcsFP8w95@p8MOU?hJW{$GV{CyB(0nT2Gk$8GW*8J4#qZ~0K)ZV5pBz% zw5H8)H;s1tL(zI>heT9~V{lG9eUL~|agi0dxw9?KjqczGQZEG=zFAC|fiQF!J4~`5 z!_E%({)AcVJ#u&#-KswzdIn~&aK=A9(tqB#*3-aP(IY_k@cna#x(9;66#2WI65pHo zeo4h;Mt_6q%bDER@q=xxly~vZTii^RS+q?QZo9g{BYh&W(wChT@+G{n*c+A;i5xaD zm9UL?4(NfKsSW7w=o{Q0PEj|5X@uMIw1`tA`b78njbPGwZ#68fl8rCmRF(w_yB-#B zJbJ*rLRfKVqp)YiTUv}5{wB$qZ>b-nqI{I9H;j60#qrN z6#nTjsr@H>P_q*fXZE}$i}OG=^x6C+Tl!2|t+X_{Lh>CE&#pA->+7zKwB;S_2sHmS zzuBM&BK~|RG@liJpbv&WX*No&wB~j1U!JmGq2F-71D0|by2uaD@uCO->4H1wy|*Q2 zf^CGg7-e0D_P?^_V}pX*p^n?{nX%ejHU}k%0ky#!SsyT##})kICq}wjUEfRpqv_oL znf~8Do)pO`DW^G9ih4VYusKVLdON*4lG89D=6tr9KYag)*YkDV9@q7_-$N_$MOLYZ>`jc-K*wz?TB5n|p8cJl_BpfaxEToG zB{k`zrR?jc#fkx~3JNeICiPj6;ndS2m4^iYCl3$XmU_+%i9Sn0w;R-8ky*1M8f@9f)S`3xG`hlGsy z*DzhvkK`mhchdjmH2wU}B_=5Lyr_Xsc9G>QQbtSRweNLIX`AY(DjSLu?XZmN6KOJ2 z5U&N58hmCXkE-}R3kPMIyXh5X5Y}mC1O=K$<4)0|zP~*Gq@WL>exuF*2v2A`$oODD z#2V=oD;3YSV8uO`7_R>U^{ZSeourSQ*PRO?Apr*)64m^*T8gr313_9K- zt^vEOuRtlqs5rf@iia+_2`JX{-MRu42HF!@@fL`l^_|h40{XH?-FAJd1)ta_% zI+8zl91Y>m%%{cj>sKkFtdSczP1lt|nyd)dlcKu2+yA_`2>1IG9n||w2{e#TyI?9l zr9Em0e=RbVJA4@Aa2Q;i_yo522Q^isWBQ%rB_PvBER&^m-4BpL+x-HSZ?3F#!osSr z$eJSBc3Bk*dwtX`L&#B2eICf$@1s7?Mj3N<(`(Bn2NfUB>m7JCt=wNj)y%6cvR)LH9)S9GRw#lqtL$a*T}glI}PtzlRuXa2E7{Em~K90v_JJ zF4Nw`7!fQngzrQ$viIODGlI4Ych*+zr(5Q8u)N}dQi46kQ7|?{8-Te#6FHj0_>4s!$N#t=Of;{GA-owRbFO zQ9b?tEP$MskLF7He6Y8(9JBCy6B+l~{rq0~jdCrx>Y~?Zz3v!YFRyxSuxWv}ae^oiKLJZ! zm{8WnpJ~q)_jdKrPPWX``8YB9P6PJDWTIoO#jOZs2AT`fDVuVaS!JW&gA2&iJ3MLj z)~Zv-EMzBWxwBUmRhNL>RgMl2B*!jo(snV6wnq%nsto_Thv;z6*+t3W7mL?Wz^HQU z*SUq-i>Gu8`Hf~0GvAT*GA=v;L|ZU@=gqcza-8tdwF{jFRfxz}tv0l3hqT1-@%~yA^{ST!FnccM=4!rNZb|OnY;Z=G zSh+OajD9r4Vwo`@q-j$ zYw5>E#5;d!qCNEPyK|Wqp zskMBO*|vQQBk>#=WS8=WwxH_NKsmZ}PY(e>=bG--82z<=y(H)X8f$nbAqR(7{n2vX zy#T1#Sw5JL9{;HbA8vn0lP)z)QRLGq!5H-Z3Sq3yh#v0A=7rA-YYyE<6q)WRzVGoc zvopHjgXlTfD=V;C>L1LqN<^t3_koA&(T5$9SEl(YH_T2@n&OY!e>~B4^7d&<%E@79 zZQ7&T9Q)(nQk?$G0ROSL8FZ6g$-VJN^qfFUq3~3zq%~k($oXZ zhzfcS<+;J7G_h6X9WA65+TC0O(WmO`>ll4sisKn~>oRtvwZv&pBy_pZZD+%fs7c_d zh?u6UWE^qU*SPL(K9tq{9`d63nP{!snmLhw;v-f#>bZF49e zUMyfK)R#X$iJ!+ZabMP)lP8!j@6SDHS-g~{xwU3Bms?x7Yp0(%cO+NQfbP&>eP)N_B@ zA${J`#ivnM;h>v|-xUkO&ZRkC4*n%hYe)v`lQtI0TcLe+`y+v{&pL+T4VUKkTJ_m4 z1@`}JyKW&m%>a{f0c-8tW|TnbiGkEj^iQ^oAHL~|-cbMTe}^;=9`%p- z;wk^se4Oga^mHD}2Ed&E12`t?dH5`o@_lZUzTfM%6JKo-4^zMv+UUQ73*25 zTeVpi*MjvYm-qgb0XTC!w;U9) ze#erMZKnQF{>FTFV`hP5)1GOCz@MI7&Wan>*87YBp>hVD!t=W=i|34|rm> zYVR|G6CCi-%BapyBrL!c#sa0%(gqQF*`6>x$Kz^72S4IH$SZfasm6sW$PPH(zi@0- z?_iir>d2p;YfN)JKB7YqyPsY3;^X1MqObeyE00^JR4Y5m1|#ylJu)*h-6lo3Ly+~e zW*P@`Q$5->WsW{@9qCn{iY`Ai`_MN#ddmt_YP*$ zt!)_IqV)`eRGO%@H}6if(r`EUS0Ut^X(I50_aKri?j2?*b&jXz2`^7Hf%Tza*Yy&Q zIB#KW#b}JJ3ho5!lN|A2IW}g(T3jc`M`H`Qvba97x{q2L^13Ea1L)WL1`WLnvOmm- z?&A0a`f^JHo+?oAO4G4yu}oRV@kyy(r=#;&c*I!b>`v=&$^WT2QRt|&^Z5&;HN1!kJj z$$+k*Z@JpY?D1^ia4(&e@o;~cg&qGPrvigrpU5COjrP6La9aERYs%|sq1;aDrBOlh z4y`Itq4%lAb-#xHAmsV+WfFN~mH``x6T3kBVflWH*86H^DT7%Or7Whj%n5q1c5jq<5 z>2jQ9+@f7Di_^&)-a0jEt#6SS&aQ(3qeyf6Uf(Q8W;UORU_JnlcT)F{8W{dql%)7r zA_U=ml3{(z2OH#wEBJ0HMWD1qGbxk_{}pLJP&N3Sfvf`Ae*Y4-Ky-KB7tkd~YuH!oytxI>>F5u?eV)^CkJK9;>@wYK}sCYuQ z*o#fA|8AA9n0W&WVVgZ7Fjq^5*Ywf6lCW-J_3#S8MCfpy4fJJpj~PwxfT&cqo>7C~ zIu^O=3cl@fCPX~HFm2tG^n#PAWD?A(TRa{um3tRSGk2>sw5 zxR|Y^Ys%Z`!xSqq49Q()76(;yi?7V$QnL=d8~fZG^py#^VvmTu>SN1_(UAi+b(iuo zL_teiwk1tkk-)$wNz7YlW@v>pcENtl?{B`@=h3#8VdSBI$|nCR`Ok)pL?2v_-odSn zJXIG_xLIgjDfZYEOGhLrN_Ncnuhb+5L~2j4M<`tv?>^;b;eA3bIk8Eqw5mDk2f5jJ zVWWtork(|oJtp4Rjcj8<@w?^R@^(MNDCDyJx8$0?ZeO&`qJ`757-e)hb zY>zbtiw>KuN-QXRRyy_^pqYfebk5Uf$L*f|XP5b3#v2dBJn_A(<5B1To?e@#fgQgq+8*~_BVtwyCUH8@Gfw>FJ0zOx1~GpIAQi?Dp`;W+ z=Ui`ih!!3?9jZOUR>Tg!v7VxylZm?0D_4IkD@boB;hkYE;p7!7af$WgTYKHABK&rm z(`#2gZliD)ED-L=Oz{ONG^magpKi|c_IaXYC)guC1rK9qfyrEGMW)w2@j6O7&hznJJ z%5DW9e1Bt3FRfepYrVRrJjnesFsowYT$vb9GssF=RzIOzwxSWWwmbqMB%dUJd^h`K zm~MtfmWibCmZ(6=rdaM$p?F5Z5vPEIpnsA`9R*$6xZTomm}*l4T7g-B#@NdVjy|;i z7_QJd_RP}<^{)}SU+m-b3^h4VgVbdbRBH3l9*uL?R%RTnn#I9K`a7mcqhYlx4)xt_ zE1##o#|a~0KN(`7%26$7ZCWS`2+yja*c#!TW|s$@ugg2)i%Xke&1Wr%!;`+*S#~}j z2S8fFjd~0oE*;}dy@@RcD+v06u#xus;Gn%Hul#%Q*gf_G?d~u)>C-IT$cQ`R)JNWm z@4_~P4?G@li}}g<5W}p*#RF6yTkmG;sfLa`zZ}}3=(cHpJ!j1Mjgi`q2v_T2FXFQ4 z4%CcUF6F=oCvBxH1(nMr*hC=4Q)y7YvNs)(iP}a}EFN0?+ewYUjv^HVXyk zcVvXA2L#OZpYnX%;~EXNQPn36m$McG4ME89`bL9^wzIoAKT(6>ubbuk>j^L*M8L=<3Ejxt4{1+v!A63+ys4%<<2Nvz#*{r;7u>bKBaFTTNVIiFpJ8E1ou&hzt z$7ACU6P|{mxr|oh#D(EtiO$yM_s2u`jyvzN3x%d*U&&Ag03}6(bWo~n`Ri*m7(p+x zVxY5Gy!`K_ow+{WHBV-Qb=xP&QvsZb9I1kgYvS}dJD^U^7si!M0(eu z3CkP^d;e7D&4YOGSP#+%KlV*rtI!8!3aJ8PO zui}5RH=1J1Uyoc#F7eTtEqXWGMq+QkrX?_(V0;>S)jBg%!xPV^4*6vx=kD5Zv6<$U zD(MTA&k|l0fACCVjaqM)A+skPyty>DMFIdpE@k~ix*yYA6MAtWn$Zna@!>72=tF1D zG&E>$`YX9C+_~nbAFWh!wo%J37>nBJ5#O{joHoh&if^bTrcI^PfsJ%i#YD#MS(`yJ&8pDdle-Hc5_2ca*h~7-?Q0MZTb9LhIR2fv@9Rp{KWCZe~(rdT98no zjM_7etiCbscgr)-rIJkV8)dN$iJl${LTyiR3m4$|sG6?rhLA;O&RR5%K;LJx2Z`Xe6vbI43~;NZ$AqSG7qMK#zK@~dqO3dp_qT%VyOU3Vuw~o_$NSM z%CZUAQufMw0zpx#WayGC?Bhh@CB*5qf!rH}67k(41FdX6wkP1icOP%?3JM#_5Un z{m87ytvxieFK=YwnM%jE-PK<^S5m!m976HTwW7Pmqny`_!x;r(LlD(Juq$N#?@!V# zA$jEbBO)mLYCgwn!sTGCkv)8PAdX%>R;k|kU#Nw|OgC4JjLb>jrgLeY$#LK2Brn^o z8xqnS)?6ErCr^%KbbOOmF1I3`7mqi_0Nx$<?!#uq%W-P=kLxlN{(`S5G(Z_wYLth5xk z=Kr6gi)m2C$USHAF2$+OQ5pB4Ko`~ONjI1ETpfI=t?U6)F=2k4$C2#na#D5jOz-+> zlg?F$zEhMY#U;1ZzD74Z1J?nGB5%VBvV10BU4Znu=}^Uo-Jwaf^= z;MkXTP@6X~Afir8@N>B-huR14c*t4v|FJ)ZfgxHG_#}mqHJP!QeoGzHWA>Hvm#?T$ zV5h;IHEp;uiB}owwKua~37Lf82b7k=XOyg3TkHpHYb)r%$FN9Io_b3bZB(5eJod#- zRBBE2r^HJrF2`x*EZh8`KT8gPC<5_)aEet5g=I)uu+z{ba7AZp+8w7X~Noqum^$N zj+He6R+yDS*I?e*w2t83I`vhqZ$TVtWtqkIc%y5Aa}0XkiPTh##@#53m#gR{;3kl# zl9xuGRookvEvd~Me)0_8^qf~v6NMw`dO)MV9-)&JmKKJNBkzP2|MQqDfJ4&~(|o6- zT6GRQgSu+MrYR1+lv^9#53wE8prtKGUlrf9#sKmzV#~i=AX^s`rMK=Ma5x9y>YFas zI@VE^>W*=16T$naYVuYl40h32z8{rKy~>_lR`dPaY&hxqX6juHAPl_ODNpl6e?6Q% zIk^J0fLIa_UAfMF$Td>*yH2S(Vh`i^?l(V=+WCNNq)}&{msA9x+;!fTIK08`!rlqF za+u78DO~es*=?NNZ{X%58lyqo;u9h1Vt`5B+z5>rq2ojdKmg!=1`=}|jnrjT454m? zs5^SlSl^T0{qpnJXRFZ5b6`$>|5*1^X1xyp@V(MM`5i|uWk zmK87gP_@1dB9Q1ke6c+O5WzmpP~95MW;84O9RY;ua$Rzwy8t96Y$r`lh6G)}qjEjz zVjc{*MNg&w%Uk$j$mg;F9Bc68XT(Lg8#x;* z)eAJDH?L2TA2*M5{SX@XZw?}Jy~(If&)&U;WH`dx?eHL4aj*AG^j5V{rZu82y!#Ff zI#Ibj&cfYI1bu*1uj(t$NdOTTl|HW6=Ud5o0q9C=Fi%jJ5B4s<4KyT59 zMnZdaI9raixAqEB`QCc_q8f%~rnRJZ0v0k1ndIi`}S|Bj8K>gd_2zT;XX zjA?gXUn3aQMjC#AAr<@fUX;Rvi_`Z7>5o2XGEtDkqJxw#X;o4VG2dHwxi?RQezYA42=;o@?adOWAv^foln~ zRuxVZGm$bbZ?lKg@3!IXi53x4+Te^IJiSa?zm_G@M_&PxkPZ|AJOIm?Ih5XY~g$nhJT-A z*J57QW@0V2G^d!=OP4(38Wi+o4kNU;SU^t;flKr^iW6v#j9^3%7f16TFQ+w3|6pgA z!1J9n@-s+BT@N%w651OGF+3$|3w@M`Cq5LaRdv^>c1$(<;{FT#fgO#6$*#5g@A9|k z@0VEpN5F;aeQU zfj%;7C>1JjA_pI=K@Kp{9DezASGhYT0MA$R+GgSsF~2@+9GyyqA;FiVxrN`zHh=5d zJLyVp8pb!lo8yL6ve4icmrkFO&$-{@Pp)y53Lmd2e<^04Vzgrv|A29&?cvJ&S@VutxY5x=7tCC}DryeU~x;ATevmqPure^QrRK3GK?QR*ecd}JQ zQBv4vZAu-N&Qw@DdEd6`;#0^Rlb9CIC2(x!XPn^FBt2P?Y;MK+_i~wd99CpxmOv*u z9-b{vy0QE6UzpXwd>@sz(-<221$D+c6M2BzBF=t9vDUwzMo-4rznBD6Wn}-;mH=Hp z4Yn{2zl(N4^hH;DKfnFU^$J^Ti;(uPIL}~CT)h+P0aje{^U>;F$39Cx?+1eF?I1SW zp-QOx)?7M^yDn*I>SLo_!nv>tcnWEE(wIp*svrJ1m=RKvW#dr~*vn)O)ORJkjsJ)7 ze?H@ula;SRguYlKta!!OCj0d5Z<-}?Yz8*XFEUaKYwK){_S9(P=c&)1r*WJdusXPZ zx;+*A0$Vqj3#!uXsl1Nq)jrK{jwgWrvqydM3@gV7|E0P)3P>ERa1S7&kijJpui%!F`O%59;PoC)IdA)6A6{6y92XkM=d!Puyc> z&~&IH*9uE_wCHM-ON+Xtait)v`fP_-Pk(GXpEuFWGHxu)+HZzUZEZwu`MBKjUs4k` zTMFJIe>mNvvOHp~j8&5&T&B~mB9{_l)${!R$X1WG-x+mk1=Vgy@oC}Vf9aHN69aMXwwmKJ)oje;scq3voy{nc;|ITJ5dW@C{gidfHDZrM(B zR(1KmnCMQ$diJBg?)hyqEyQ{_$RtLGJLy8spx9=SldTlxs|cow?NBb0l`&= zE5e-aV&!{y&i>S|KVg&E(ff7brtrGZx#(om=X^9 zLpJ~RiqqXX4!1OuzvRpqc{XS57ufeLzWn8bNUWoy-qeF0nMR$5zDHt)Ke1aKV3u8e z#EV_uKR-M?20N0IY6K6(ZEVY9m@6X(u1i}I?`X+DyR4cfSlTZ2uR`Gg?ii$YV0Yz2 zL#>TN>0d0f#+HqxY_HdErJzvnW15pV_FknJAt< z7#!h_)EmRT1<-C`r_kDvU-|1R%_Avjhb`h=VO^D}oWew@M9VHJtJRY7*OCkytSAJx z#)Ma;W$D9Bn-ZHuXuL)<+kH4?Q}h zPUDUm@Zt1}iY{DB`c%U* zn0cu-`|AbEBS~Kr(@MHCyGD2x(IX|qR(C{C8EJ^L!yJh;ktR;>zums)T(3ua?!fUN z;Y{s>#Prsm`R&B?JBMoKVO$MxemCIF-JlJ9?$;QJ*vi?wXz)S{ofe# zNTViUFeG+3s2O^tH0YmZk7)Jt1?-t{b`^Pd5|5|DiI)K?)`|O`)S86@vbjaFUpO6` z@FmuO6B=92St$Wa%wBO1Wt^H&1C>Ul*VXZL<^2Yh9<|~7k3)2hWn|SzhK2kMjG$wD zj~Ze54QmSm@M75nKKsz-eh`y5|4p6t03#t!)&czB-97xL^0tYemCnR~c{Y7^<(!_} z0b_mFNOddC19Y~B?WW`CW#Fhnq#Vv zZApwk@$yH^ni>(JTBpyBT!eFBqVlX+q*SSvpk&qwbfq7kCCX+UUY6!33xE$0K z27s+M&G7AZhC}NGweD-9Ey_^?XHz%g3_62f#2;8#4XscM3nMI)UqyKj(?lRu-BO2( z9a~=ITDFb-3`4$Pw(~oASG!IJgX!CQm9ieekB7ISLSlSgXm^$x_;{u5JB(62IvXoI z0Q;(j*x3Nhj}8ecH+{4$HZPBrF!(Qm;)sEUGBxj{0uJsNw1l~j>ZEmObcXu z3UQ`ZExmc@zvkn(Z7CYVruwnQ-}>fPp2X)?${%8HxpDMQq{AFP=&h^cFvz6_f3EEz1*c&XzQF@LIgWH>k35s6H_|~TaI_aVmKVY25dk49t>5`HebJ;aoX8`H+hcG$&!Gwmt77zr%@cK{(Md5&5=F@0|w zC1Uh4;o=*_99ffi#TkNOFFM0}w`E0rL#%;nc$E=-I zk^y)N)WLX#CCeyR6F$kH)t`@c2@R|-^%12L>5B0^1_p)k!l3j}T2AMmPjgR@?D?_m ztc}rlFWblS-v0ToR5JOGY1+92We7*}pI}xypbk`Y=jUL*UP@ps0qvx|4!}RCxzTRZ zi>NJ+vz>*eBHn$(lfG&zn68zjuv@H_Gt#@M-)EH-knJY5>y7QF=9`P6S{(Hoyvm^v`}G?ajCUd(AQ!+iTqLd2m$wc=#KT+JqlMb|EO z3(-X`q0oD?&*n0)WqY3+EAskeg^DH{oDB}_HVp4GwwIs9$}8QEh5YYAiGdXY zVtUA7T#iq2UA~h_@+}l3_=5tE0=FLDzTVr;2fQ3tS%<(+FyCfQGMt@9j zVIg?Uh`-yd?xL~T7)Q{$ctm#c#KE2msW@2(@W99jE^|#d2eA~KH@Q|OCNoss`N~%nrj%YWeN)b%TI#27l|m zrSE>ZkE0rv<@rI^5mG(6cWm*4%u@P(2R1JM5BzD0rtByX@kNT;%O`z zgzKQXq^VmpPO^_J%F~<;g@jlmbp)5>xP}dnWvV#lK|$lpC7Z72%*a2ymSqdV8{6ac z*DaQ3lMSB%M4Lw~XP3K?tyVjt-1s=K)fZ_v6v(TXiD!jus_2wI;q5D%s*>+Zn_HM0 z)ZO9;;lj_xwz)~;!%P0Y>emsNHIZd6x+H3U5dY~YFdgD6nd5p|Q2xuGLhDo0SCPx7UahxtaH}hlkqxx-*bjZpQ#`>MQ(|C)^5@y=Rze~BuoNtlKsYh+y&Q(PV!w-geJ{AgdN6jZI6 zP#Ot+)e<*fn9UzZZhCoJ`n#%U{~SJa#S>$yjH2_;oiPcinr71J>#8XmJNujC3WoW6?eOpUa$VH%ixM z9ttlu+N}*5SNxPt&Lg=V-9>W?x}!?q`JzF)ullHPkmZMPzC>{PrK##%Y1V9>;q1!b zn;z$kTB*stSzOHQa|B%HfRJk9L$Nd9TV%C=@rq0b!^3`7spG1sxT+j)#89n%Z9Xus zZyP(c>_RAf)+5!yb^YqFxzjWp?AS_7=)OgbiAcR?}X#JsgWto_CH$%jca&G2t^v9m}!i*cs#G(vG zY_QOwVT@RJjj5{#B~*oyhroa;tUlu^w!YON_U*}=!6vGIpZf%H7GtVM>Voc!{JWlQ z<4Cr2qMsk5@`>hYR(3D(D^rQ&KrvS!*ZIsxslyI;_QdhzDF|pKVz8 z>Qg$P6IerE)eAV>2I>k$-uS~lxnR9{nRe^?3G&mQH84na#tg!yjEf4?S8FYngD{<$hl`*|>Jwx7K8%h_`AO`)^ zlhosvCN52w3Xe%*u&U+b!5faU%b@CZs2Nvf5Rg6W;8T6gFJmY<`^qG{UYi=<^8Z zObl4Gvpepz1KTMed?y$?t?CJUvNOnYMM9t_dObIhZpkC?KqKdKos44-I|j z;5@K+^YI2?f8!Jz^$7tGe3IAV`Y%}a-5K*8sg?P#%5zG{5E#DpdA||mdOtZ#+D~1v0_I1n^@sgLIi|5u{mZ-L5a5&;u{|*ZM&EYp+gB+q zuct_LSQdWje<(s&iBcS>IM7WMcVH85KI6T|G zRZd#rE4BC7b+N*}c9qQy`rix6TQMxfYCSONi>K>Tr2x|c3N@_q*#!t;hQ7Sq&tRV& z@^$iYwVW1n&}Jkw`@Y9f4NB$($l6yUI?aPwa3;-Rg8?A6IC$-4)a7rf;0tbQSx~ zPEaPJ<89Wo{7}1;j|%%3&N8(rbUYu`m{U1p+#UYxBQkO`U9hLBihq-R9a4D>-U0yX zhspN2#@`171qA2>>&!}2qn|0uS-_%4OpWZDen!e*{x81U5eo+n13gsQ?3`!E_nao@dS9tHn4k?0a{rKH0Kn=xBN%{)aK=dCqSz}vtHV}jb}zk7f-cp4 zOJ(ZyRWS^w6!?K8Y#jh9k3VkyI~3%l!^An#Y4{m(!G7eCUUP-SKKHIvc6 zC2dqYRek4&A1LKiBQjCr&&UJ0sV4p0!rv|qB}bt_?QC1w$Qs`>qdYAK%cuGF8g>7T zj2}S@ZVbWB@z{2ToptQ07(^I`jObGOX2KgMFe#E-iZMDsE^%=@wV9G%00A6_--7BagoS}DE!F-LP_ab3J)PkIuI zibj5!{Bdy!dL8TG@p_bigUEJRh*y*c@5tO^5|Bq`j`#-f%#6)%SzL_@4(;!9xAnM#T%OcCe&J zh^cHyS{Sk0+Vvko)9)?;nG$_;%-Wcb!8IW$ElY6VI@rtExzPHLVDiF5);ZxN8|~e4 zq6AS9(p?i6adr72lxAdDBYXX^Z`0G9oWLU%!1x`W^d=e43!P9+gJd-q4Q z!wz&clHwtJzpVkeL9v7wzL-$59rY=?rhe0MQ9P6}B66j~6g2A4e`C+(m4-L>3F`{+ zTnaXALhaS+hf{LuFM!fT6}cZeI%Qmq*EIZ;AAbgmf7B8pNOTiMPi@4`a7^ayJ-+8J zT3^mgycqb$8(-b1ut!zLncjS^%O@}Q+e0(eV1zT&yTQ6Op%z{L$J*aVrmeBPj`zfo zuhkqq@&WhZopGpP!=2J+hW*=A^QUz8l!$mK7)n?UudCjv{teDar)8OX?)C7Lg}d;o zI0btg8OA%(=$5s1UHM?EHDMS0Jbrtwq~>?R$mm%*8(zwKfJ2qrL^l#r9Qx5FEDc@ODk+a{zkDngk@_H?} zMfOg0nN~YE!S5IYa?h~ma*3sSn4iIEfaLYu?}(p!GiL3>={|Mb1Dr6|fNmmDF~wK1 zX7kLiI_$qJJwQ5t;g{6Ck{*x)va`*=k@q!z3rKP&dsl*z49Q)4K?T{u(g9rIR-z{o zR}G>HZ1V(P#?8nNWNIAAVmanbIzHdzsv)Q+&06ptUfNJZyBS7h;6&uFlT)XU*t>+L z)iB+1d4Njq>Xe(kqLDI%@_F{|5JNZx!ACQ9)t`&h+$xIBfX(%qe+cvd4KyK7=f%zX z$JB;d(e%Jb(T5y0O9wdOk|f9waro?yM63I0MZc3Z9D6q>hnFU?t9L-1Tf_6Fl{-RY zKw0bkdVNQ6UJ=Hwui;(&0As5)%ILcLO|;wCW9bJsO7^?Vvi1^tHhVUnBqb6Pz_?x+ z;M&$Xvw8DK_U-e8;P86JF#>AB^BqMg0c>36e+#?k4Bd=u*NAV|Iu}iFI7Uj#N|dk6 z^&8(h3eHTfDu;zu#2G+lx_0`78j~i!#0%%opeH}`mz;}rY5gt)eOHuD^lk`m zcmC7*EkMt&S7{)9@{6HGV$ilc()00`d=7d(wcEG-(s=7UTSN#5<9n#& zC8)li>syQ=A#x{b{o(8a`ZBA|84j*l(B5yN``QV^+4Ofx85pnm4!Vl+>*0p%EkYg2 zf5vu+{pa&-$b`S~l%O{}lcE?u)j3|1J_Wp$!+CxGq-F7Miyd}SRm{V~>) z)faP>fr)c!dC^_%3Ja`$&XOrwrzA6V!PLw~*t$&D1L&KO-LpTzjsjN?;B_g#xAH_r z66AXC)*P{7D)wg;BE|V#PxvW!#(PE+Vylopy|NAVUnf@tU7yBH4B{7-#G`3FFYM(I zmD?RP+4grh^P#o+fCQA~H>U4q{qTZ3KLL9g3$ z;t$l-5{zFd{8jbJ3Byxdd;G7sMuz;%3Kp7z-6tf8gtuHeG$G3_=d^=uyBcF5`IH^* zMs?CG@p1SV5rCS>DScioiH*!)hfm0e0hK~M{PV}?X z(A&?i(<%j9czLr2YlD;8NmX)xdyGh*;;FDOZ>gX2>0PEq)+(lLezfC5i$G*j? z^M>`o51|5VxSrz=GEfNMoVvsL3XnDeySI%~SO!|rU^m^nJUC4^yl$?~jB`-b{N9YB z;hinFTh}4Yre*Lz6q2SaH_sN|-TTsrz@bm3lA2e%_rZx=%2s?gs96RL&Jhupd>^Bn z^!&H|N+g9Ti#5Q5Q9)5SkvVh^tVnu~ADP=|Pn_^iQjr-EmYE(&t&D*p$we$P^65k^T@zZ#e7a^D{~cjW*GT=#Ykg!Rqp_#l+QS z$MSN(Jv05l>M`ecCa}-3zOaIcVct(wh5<6GqtwM;{w)`(R||Vlw|C?pMqT_h9FWcj zkR~;R3s25(DAuXv<{d6W*?W}-#&JfIeOAKilJav4**k+Mp^eJAY(x08Kyd!p(77L=atU3N-X#3V5hTbM&d1oVbi`XTjn=Vsi%@Zex-F#OWi3^me3 zHlql05dJom80Kdxv_;xbf4+6y{p*_-GIQRR`$|IHg~3nr82~x<@1g{Rx7tU7ZBpZ2 zvz%;1RA9KOB(-A);UR!jJls-D>kd|nzVyNph6PNFgazP9xGT7)XU+ITUXkT$#IpuIeWPSItHkMOI$Xro#qs^x$g&Vrm@ zjqUP(YI}IMVy*AZ@K+b~U+Fs85QAL{PO{!QO8ipK!xGib7F(YMEPc1t{dAjgS{|O} z*AnFOvj^$dd~nt^)I1eMha}Hl>Wn*XmfNo86eF{f>H{;8+tIawz-JRY_Ey)oUXKS* z+^6gub1rQ`(;4LGm1|QH@hmcV>vMkQ?UjimQ#otT?gA({<2;~;tm1!Og9W?iaM%;? zM|i#sBUzvBKL5(jKFuWjae0HNnn24C@gJnTRzGPr@ zn+w<72hKl?eA%zopEnNLEuyTO|=sZun*RGj0tths=P9hgEN-r z4U=_r^q%@M!CVlDp8M=uL7l-KyMAxud{owP!9VTUKC+V?#vsEV3?=w4Ke(1HOvad*^_c4S)e!ATw0n`Aa@%78ySLmlq>*B?-2rdbJmotMcc+D>n+P z1IgZU$c%>D?`_-js=92}&=pjB%kN!hwgUYt&7ybm?*20N_#aK@{?GLP|Nlx+IVFW0 zlTbP5FvqPTDyO_u$oUXr%=v69WHc=FMvg^Mkz>wmX*Pr{IiJmG4s+PXY|MOofB60l z&*$@Tc|33T+x>dg&kCPqv);2=kB?e!z|`vUJzE+7;@w%r#>cN| zI17|my+l)FXxK4{(h97HHvV+YB!F@Cx2X}$Bi zE4ds#V6B^)<gO004|ry)89B znm2X4F(Y~*#S#16n_jQ__p-x%E*uR1S9~L$VtHYPv&Sn{<2vuPs zpp*MIIsU$po@u+v*JW5Yc1+U`h_U2)@u>_z_Rp9Rj}_)2D?FRMuUNQ3boI5Ze)0V< zvyPE@dvEwg;$Mixy-R$D5`L`z=P*jqb#9LrRD&Upy7s`4w*@}J0No7Iv0gzMAukHr znb5r?)$`XFj)ivhl|9WiI3AL`>vxl^!e+)D4VWEymxgnI#@v4+_p>1zgfL?{VZY7^ ze{h#7bj%4q;0PxAmQ-o(4bq;gq@~{}-HeZ3g;L-^`hua{^HKiZH)?1`*H+K63hlC4 zC3;5xM5b;HQ$9-5Gqg2r>CVpafQi1>If^~s@rQ7DVX5c;vjBWf7!OqMhBqCrO+Alq zx-t^cE$j|kMy)B6Q{a;Fu!>N-p_V{O@<+aPnZ-Ekqb*99e?`?P8Rr-X%4DQD!cM|h zkr}V27n*U*t41-=*)fP;no@eN zs4R}x?kr|UOug^uHA)^hE># z>k)ID_c`l36^T1-{z!9>`mlo%LHRz^ozt8Y_@{ORk(@rEnMOv$hW^iakvFpLzM1RZ zf91|*y~#G1B8VlTKOs`OmX;>OuGCFjN@o79R!oVG~MrTDtK1#1)DIswX;{*+-Lq~BB z&}8`+$V{;#d9w1^FV`v7OwPb?NSK=BVY^UWDEaQ+i9&wiBBl_;wpwHFk6r^X(nGRg zd{S2&xes$|fYLb*hiTC#5)1G}$s*69J|JgxX50{Mqlv=y@8rAaPrY8pr|J-k;{jJ! zU4qdGKTWd6sScw^=BC|aqxSenktL<*WDGMAz(w3Wpi!3E-6V*za?!v=ZJ$X7AK5byDM*=&_po>iuCaijgqP5oS4p|R(AS4eq~duCexbw_Vy&+si= z?x;()r5FMl5(HIHaQMswc7`lMRQ|W#=vW~N>v>TT82vCJX(2TiAG4#pm}Xe>9Hdu` z6p^he<>wwJsWTd{RzS{3UxUj23i?f?!EL{A%*Z{Dt#jXCM1S{~)f;Xym>y&=A=u2@ zUcVneco_FvVUGeW!;36hw~-0{2|ofnZP=4W5?hoc;e+|D(&mRb1z_@Zx)j?2eJxz~ zE%(*OgRyVw+?!SAb~fD(m`L$=Q zUB=`U(qDC>{@m`cE~FMzdEe#W#`z~wN)QE&1EwkI0+b-%*n+oK8Ln8kz>4SA&&|}~ zvMYB0?OABe>H(xOWqUx3139~-Bc}AM#AID=$b3$idvIw`KvH#e-K&kTTPJAG>v<@_ z_TjcOU+0)n)64f;PbnK^$iI?!^WN6J-@gwraAS}X9rr!#@`ihi=A|R=u|*-Hf?t!S zlhpp-2OK|h1;?JuE-Prd#6Z2=-B;HR9t|L9r0{>;B>>ItcMxy9lNSUi>@F0 zHB86(6UBvq7uLhAiql3P@=0V^avmse6zAzTp-{wvsw1e>7q8+^`i=p4?c*PLizY1~ zInO{BPsNXKM-&wzh>N1YgL)gWuF9H8a`i0lN?odcczT*Y5;t{m{Y(iWN0D1wZMe5!^QI&H6 z`Km3i9QW>|SU>MwWBqdy)hF1rqLVSRQaLS_)~MA~HqHL4hmqEu5ecQQ z<*VNTW#X036)L+$>8}p@);OEx`whu!W>$hLg}(S!tyQ7+S@%`E>ql15 z2%CbsK|`7u1+Y`|dcw!Xfp?S*%bgLQkS`!6_@wY;4q?ngXN>L95fss9qJm~7OmhMmKb8e18zrrVtZ=E=dUFA${mN~6g5+jHzrS!x?cbRca(|zc&CJ&K zy{HtCy0>4|zwa~ZxXb@E*3C=jFAHa*W%(#QoJn7+nut8UL~H6l*P5|3Y`n#A6ZT}R zV5M;Xn9KhKKNrd9YDmlO;+rouzCx;Zczx5UWlJjkJ256ucf`Q$`=1ZA`yvNiZ|0*$ z#dcqgs#x@WF)Qbn@@o!Z+v^uRla@QE1L%{*H$1RnN<%6mckNL1^8Cw`5<(N@W(F^T2Zb{5aJy04P27)B|ATVYi(ij$IFSjJ?GZDF7e~O%ntz& zvXY8ed1Bc_!?=iFC#?hSt3A)(J+1M!v|iYLU|~E(8NwdHKL^16D%v-HyDSz)HR;PJ z!R38liTj0|dY&?(yt(aZU;C`6Yd&HHgziP?7XQzbp##$@>DaG*O<%Hl*qJslE&@{w zqiO2uR|v1%=GpD2Kj3)nCnxM%T#5_;Av;QyCf&OrXp+B7^yu0wLYeg@Y z_XqQDK~?R2P|Io{6e2Y%FBpezExcpoNyQgNJh?KzB;GDsxBdzH_Xk9H-EC>NE78KE z!(X4*)BVPJl^(RHLR8}u6AAo-E359lDVMA4THtnH{5*j)d(S z@!I)5U!!;~ND%{9CPo{g&LM5uw~1BO_#|gk@nq%f8YZ6SXWG(*TpN3@R-95*+)LgE z^yQ_MEJ5DuUXkKOOUHl{QK_9WX+?OH$oif-T4U4II5P*^Gh)m;39?K*J|fBvsTBr& ziT^ar$kQshtt zGtVaHLs(1r)qdWtw%>srhRiY+tUlY!eQ6Oa}!l2GnQssJnZYLWg~UP8zOx6 zn{BSIeR*83p#ECB^6cq%&EZce9Z_clPj!aKJ64-I&a_E4^M!Ue{cXeaf|`2KSRfky zuz|k}oNeM^pGogi*k2Nl_N4TD)%)NjcmP1_02aIV{sP1oN)Y|_lM4qMumj7ZC1l3% z=`pEf$c2%Mr!?5D%c_=$H;=E?AOuZu32nu%*wdRflsum=JkUhn@c31o!o14mBm$7`q`sCT-FTy~Nj*y5qsoH-)?zL{19!+arIka<(nipLlWutGBo)8OB_$U30 z^5iT0eN{~+MN;=@W$eOLp~4S=Y^rn@X?EEsXeIFj==C*r3=HM+;s{Ytb2;LC--giT zuy?YJ$J8_`1*nF417J>A`r}jb_7*2QU-udds6< zEkBdvqBP=>_7T6e&v{q`|QqI*jO3P+%#6z z4zGEG4sO~H3hn^A$9a>bZENPbs0lB|O##4W4-4vKepE10`Svd2!&I1q`DTo-vAaj8 z4jM9$(4L2JVOaz{hkeex0f9>- zwIpU@{KqiPQfOhW+qJ@+y`L5pg@NNW=E~7AK5sVWcgdHzfZM~R-46TK5WeAdsFRo} zwt5)ZH86D{9N2S)ZLFD+6GaP2KM37swzMJX4tV`Y4-n`cA!!s_Kw9N&5axhfD z?G8JN4)kFw+lZ3l?*{(5K1w9!^XSeL-MS)2sg;f3KOm!;gAegtMP>)*sacjc=X$A{ z6#L1Z4~6AR5nH8Yl%02VyuP|xT-HAPUB`otP3*pZgf$2PPJ_nzH$n#f@+hY znf8RY(p-GF%&{5@YNscBr_ly88sWUWydgN?Nh9ll$FGleYunGxOtEf{ z#PY~4+t>ChY|t%N{rXh%w=!1-VxSnS*ynyJ2js-A)h6*4M=_{&XD#F7n{PTqcH%L6 zl5N#=_++8Z&k?Y-NEnaM94`|2+mMA7?)8zM9qI`m^e%AOl0o3kWLR}RXUr$=8dH$Z8+?dGYG~x_LH{@N>;nK zP6v7g1J4AE#~^33DcHOHYreH>BP+D!b1JnP*)WveVM2`b5D zwoqr{5R$&ip#DH1f*p$db1bXcO!w?*MeV8+WzyDHVJk%8il+LOz2PwEhP1a~@36-f zTUtM>?27ls@}L{db)W1xSS<>x2`+$^=EjRQJAqyF%wDY$?sbD`c^i$epRnJ4lE3Zx z8O!*Pj)Oe)1o=l!|03Of7?g1+&-+P4?_*PxfxlyZj`yT3J=R^6WmU?_er$;OK>1srp3XI|S&tepF zK>Z$ZS>YD3A)2*gYq=qRG{dy-ZNNdb*&;`7ByX6yX=ayk zmY<4U@moDR@I++XUs_>wO*nMl^^ax5OK-O1#>i*4Yg4b z9i*eQn!;Q%9mdoQg%GKqbQE?Xli^JttjpB~T&LKlEl;(766{(0;6*k;>@B`WldGg8 z#46O?s(wgXYR;&pAyorIX2Zi~b+7)fdryA(8Hdmw_)v9BUtL+U=W}MyHY)ZW+suak zBA#DIBwJW@WV_ZfUgc)m3TYOA1L&9ZsJ`ERHOy{v(yzjeb5-Yq)zVc8O=_)X7sQ-a zTS;*7cSx%8YEtHFP7BfLSVHAE-SB{!#&OpV79ZJ0c~kQoo3-?)c$lYl4|x?6ssopV zee5xO)soowT&HKe6yod2hHPD&&g?}GXY3162B>-klw#*YKUU+>0_dm_^xrA)L*wfH zM)$`AfpbQITFM_B)+4wNZq{9Jgt?7~=VxxnP*v=tNoaOQ>k**^`5;+*f^ zTno(mrSfnrkxo9_t(4nn=g}R}ok2*z{7{2~IIC9YLo*rppyGfOiafWa zkpInL^3))++DzV_rH-B(sD=H|3Pj|1}k5b$7-zU|-@kM>p zilO}^1Ch@qQ10_y{=uO@$8ujg#sQqleEGP?B7l&%rYU!-1i5837V$evcjKUv5 zMdm1GGy>4Ki?!E(m*kg?aEEtef0eRg0^cL9Xo!s`|49jHIOApzS@g**Fu1r4CpZmF zRYBPe1&XmFE>VV?Iah`}O%EqSaFp|O$s2v89>)BFHMr#mO}w{a`e+F5I)R*cVQa1L zp^)GX;Tiy}O)m;cc;B;3&=MNx8xgzZFAUOV)5xLmfsqW=;&rM3-(F&hFD*b*`om(l z4!F&=WSVok`W2T1n|UR{MVOg8rqh^|yd_z2CTX>)1>I~;d(q5Hvmh+@k+q&7@pmpN zKz%&6hk8Z2jTGbe)N!ZlVtfbBrSODz;0Zye#HUD@==++e9ST(-GkszD~Z>F?NqO0F?7hE?0$f*Pl!^Ygw4d-JCpf)^9RG$ z=Q3LQC1M7r>zP5mkA!3MZt`1)4QZkmPe5xSKeVT{Vh%#`YtD|%FXfB#U)2cO-hjxI zEiwI+G$Bni4^TlPun-n7&AO@})_K4E)NFv|iGtkq{>Dm)0aoV=cC6-S%5d&V4L;Fg z$Y*q?Vg$$G6{$fU|I3(6q6D+At{nhBSZ!ulap`O&vi(J;?*R1~)c)5h5T>7G)e{+V zG$5p>g!@pHy|eGfz0a&QcY6zeiHfFeuDSI+kBu(*zObeP$}p*X;0TO~yk{A^^U~hE zwMkrUR(We<+}}xJ)2GK@uGrv*u)LOmV}htb%)@Lz$mObmZzk)Gvp-G(ju^BVMq;XO zALc4-sU5;}E69-F@jv!(bPdYOyXr}0NT06$E50`@s~c>^2S#aHoVP=z2|=Clmgtp| z)|SL-|aZg;rv{L#uPVdGH^I z`bn6-#dl0>q&7X^eU;0J;gMGSIM=%Cz-~;bg6JW+U2|dZ0&n{~6rC)Tc15#!S3Scl zsQZE-X?|?QZTWfd&%$mFoffhDiwPq9&z~(&6oGJ#o6#S|+w-S@H==0I*wr6)j4VjU zYfgb~vw0>E*-X;Pj(Zs2C@DUw%98gLSNqxmYuR-6SOUL6-QVY_J$Fgh&@Ckcu1caghSsCpb=|&sOrB>lI*6t2P zpLIuNHv0a>KEOEzT)mMl3FJR;n`=aqo5z3FqbOgm9jv`@Z*)e-DjlS-rD2KTHjC)! z%aJWCsmnYlcutQ_bD)U|i2ZL0%PY9cX0b zdF4z@G%Vr%B;8`fhuY*^gc}Lg^62&JcD-z7o0p} zN#%!dwn2rFA*aonOgQb!0<~4G=AF66TLGs?IVo38uKI6v-WFYT0{A8fs%9Oxoe0SjUD^kn9!O~_(-5e+2T^y3qR@BYt-u;zRdF0qDWO=wO!EHbR+ z!nSOLNJ}=rGH2*OiN;S~gqRedUsoltg1_rB+Y z4a+`{S?!j)I%J{fp#5vvkj+tINU)Qnvt%u@;zz6M>}gQ+fb!^XY~DEaHzcMYzgKO~ zH5a5_9bK`Nxxgcv84H>DW=Fo{Os_u4Q|3i<;;EwN$FOkyUQp-WM3l=P^l)w(!u~WV z)3(r@Jgxsg=iE#Htu57nCu*!@l%?_czOIv&RP1d8=2-J@7lli_7ThSKaaq*z&F11VaaORf`X4mJ@ju%Hv?U&yEuBcS6C+!lB zUB}s&+0h2<2+dxXx&n9U6i@{gs#RVv;<@A2a2FA++e-JXPI%!L+b9qfbQ;&}Vx6+O zhd!D{f_1W!IEG%bv`iFK2l(xumk8_xFWd4lYVcb6cZlM!q_Eig^oZ`iU-Jzl2HJX( zl9i!U+11R^o(Q3j9`6qQm1C&hf>l83)--zIK3dEctC<%DJul>vvH8hsXZ&vRy%>Oy z@Ml?T&!g-2wW}Tj(iK(JGYy3Pq-DGmlclZ+pc{1@72U>8PcwQ_1NJW)b=M?2{Y!L( zQu;BYvRZvv9Ky~zpZc?K;;s>~0BNCCU9Ato5$AF$S86gT?05Cx5cRENLCSfb5hF`9 zWoq`+UG6?Mm4r?_xwRFg^A}6KHn|#S@A`Fmkyv70QW8;@cba0>zq0N41Bi?{m1wa8 zzAG=R<%NRkUT(h3AIs{|GEd{L8WeeYm`@!thg4P;Bev-p`EF;F=t;5v{_^bLk1ob_kN$IHy zQbmMCo-S`W1<^CXw9>n^V>xTCxbuNI5|k|^OGg~t79ook7Yu+=CLDGXR zB`RreslT5DVtx({`xHO0{MwYW&y+qnR$Ef(E#Uw$yv(ndWyzpfvXlOIG(&d14Gi^C{`NO(T4WiAx67Q-*)TWt)BY?6nPXcoS#mV~a^D?QVXz+As3q zty{wLySUTLfbh;}#&)VfD*W=~iYh>`(E+DYwDfQ3kVrf^wGO}X3F7E+J0)ANZ6k)7 z@fyMoQ3Wksnj{b~e!%P2{(4=l>L5=RNIauoWjq@7d%;JDQ1N0O#sXw_IvrjXggQ!= z$W2>*LZ|K=)T?M!hl->umP=qX$#qZJ*ZucxCW}WI%iQ!T_JBsT$pBI$+1%(b71}U> zkh;WRN&{8lc`*aa?(z2Jty)lKp(68tN{jXjP+zZtZi5GT#}T%|xRIoMF^Y*7`ubN1 zV1bVwE4AcH2OQ~!yMk6H5N-b9U(v|GK;d&Uz+$|jc-ozWSg7$;pcSu z#N|b*@`tg`MQowUq@l(u$n79Wkl?WCZm9bY3Pwh+FFE>ZNR!x}YMj-Y_Wd0Kfm2%6 ziELM}KO(#klxpDSfw#~yTgzU@4IAk0vlo-Lu=hYOhBd*{!H>l}4% zE`bU}Vf48-JIeTmG17r+{6F8_SbeovstQTD5i@jU z7PY;4foJsCP>r@-UKrK&SD5_#oc{Nor#d=>uIT`oa!5m1Ngn|&{2x8CBXPFZOQ#GH z#V4j=&ARdk^*jZ?L+mxsuvqEZYLsC&gEUK=l(?7z(^%OVR+tLc#ae@ir-TYavH)!u zQwgKWQr4DmH0!?BKK~QqD7OvC?wE$IJN#Q_X-J@N$+4UvLNaV^bl$p%WjB2b-pIGu z_#6-|S}eSooWHSmN8P?QvO%1uRruwBx-(-=7Ol`pC7?_};7Gr)_q?5Z|}0|Om}@*@}iR|43>H~w({+RdIHd7(8U zCJz-$3QiWCofqxcYa8jV-tToj(#=hRXHH;WLXVL?3t%@wo-RNccUq(-5pj*58-`f~&gATcp#D(-~aw8l4x1XBypA0KM zaLz}T*_Oxz1HG(w;K4U6u3o_^L_-hwkC;aXC2!0w0LK1a{Nj63zOVQ@G&+btxtuak z@X7SorT=zF;u5MiPw3kDPxN>`HWYOT7>clI6tQ~m%Xj{?GrIX*QE_^Bp8gC zZe>>b{%kzS+2nSxK7HbTI)Bv-!7%>(>r>xvKPR*EJ*^Mp(o)+QsyuqPW>(B^ z?Ppo<(&~ST5S9!D<-oiz4~!o2Y*X)9vXxeZ6&k9u$yhy<%_XPT+AMc3(dH1U^nI0v zm$tJ)2-e?}5--9M3@tfP{HW6MzhAPA{?ev}Rg{>I{?U}OAAWx2IZx(on#S zQ(}=>FD7WNS#qPAmc+d>NqXzG13#YenwAl(kA9zBGuDy+PGkxQ}xTp@5&KY!18vuO`;at|Iv01$;~^4;^OYdZ=<`X5ckljkcZ&W z^HS|9nD&nEY9FwDoRA|57Hqe@^csUw%M<+g>3_oD7Ke|5I1k!th={usx)X^Mhc0;h zK+NFBcf&)~^$IZ2`kCPofES6aIR-6Q^FleCuew}hjiWxONdK&e<>>YtNOX7_XI)e^ zd_G9qJ!7=t*@c-embduMYdGzS6*&(~C}t`pF7q~=3?^d?9b9BidD!wdzRaD?o*k+? zH$uM0uQE?Jekok1cXIpQIxbFWzaI{-Ul{CB`2_d#5N=HPr{31HmODMdTXPJM%HUm9 zVZ_RVt}#GBR2u+XxhzWRS}N(EgSvkL+I}~Q36d@&c0Qv^e<17(aoGe1<&=(cglb?= z>qL!NyxeW8m2jYeTEf5TZ^61tY6hVyeEWwV&M@&H^wa8G>)GXLo3O;tpWtZT<*8&p znqg|f!9fTuNdG(}?cayya;`M`mF26m21A2$-$!z2<@H6C4@w(1iLJZAc`j@yRCecc zJ^_)L|9~r8#Y<&#C1qA1r~@l;tLt%R$=5eIb(taMHeI7-N6!%gyd>|)>-@8AWtLUU(ku2e z8-Gy5@^Tu58b!OM^X*D|{VR*83M=q`3v%W8i#K)t;fF`Qh-;w4mwfv*kLGZk%&S~O zuO}h1tl745h_)=DUL|mh#UsVGCyn1*|KWK2U!TdjG9Lf_Mkm|gxI{46YMmJJ%B&rhn7yQ^R?(YIjRFN~X_r%oT#5a@?;0uF8;XOTS{Cp-J?M@dx^ zE19r5*(-wTa<=)QI~LB5W}LFCCR{^<#h*!zVWv^xH4o;OPfF8}I$#7T^T%Puw;oC=XA40J@`?db@Ls;f z{qeLV>R+H!pR$d75DS(XeoM5(5cuz`A@pO}dc~{N<0E>#NDbF&S_ zJmu_+=oxN;^(cFrF<;)PL))$c&}l1q=kMSj;yhkQTzfwJc9kzn&otQ2q8w17UhKju z-0D374)pEJDge)w7$x&S(oe-OBG#LHxh#J6Qh3|$kKld1ZfD&Bnn4EE)qNN7X&hJ~ zA&)rB`ykeMPEe2k4+MRQkFps#ovl#*ijvEJ;%Zk^cZP7+-DgNtxk-%iJ9N(i$X;c3 z{tskK$$8w6&1%W<`nTO~`;9)Y;+%$@k&3B1XB=(KCnMvt<+S9Z(CV!kFjA~OD^$c7 zyQ#IjT6lDy3$uDTlacI6Tf@WOXfD$g<%J2D2M*uro+XuwROiy_7XTgt{Mdgx}t>-859e{ zHzuzxQp{bj4U7FQJKU171)y;j$6pqtqNAtSEU4O;I%%Y8RudK*^K(Ra7C3x<4*d7D zb%uA8;%_qg-aZ)R)__Eq{JezMYDnVUIL{|#iJQJo%j*va-F(onC?V&_Ga4xHt1G%m zV{!nu;Cq`f4Gb@PeH*m1SZx{@4Mew%%V{!WCiR{?2v0wutB1A}PB$OLnxAYTPiTV?0rUn=Ay6)&kV*! zq=IhL2>bW0538QHxIg*0>8{;of=r4EZr&EZe`yjfTYl+dHkV5~mMQeUe;PYqr{J7z zvYH{bEGCJ-Yjt3rwyEs#fb~V$1T^j$V{G!HZS8da?Y-{1sNJMCd&#n z*V@}UR^{hBwkKhxVW>A(Vi%%iO@Zmxy6W{empAu+4dg zqu*~&*KI8?R~8fXDD#{clENdcf9=kLmPI0z^#1B*(SShh{oeKdynq~o9#0N_Xn*7U zQz=ll>T;@s7P#uK{_6$ACy~LfEK(~9&fTiP7%^xc1RObF@GWQS%9m^ol*_c77s?3Q zXx9hqHFpVe$l(YdzvuwpUws#j=Z+!CB-dElI@TXj{n>=C18xohVs#_e2=jRwQOtce z?%wu???a%P`qOW`@|r>N*&s5?{i*-S1n#HUo6O1jFAf=)G3s@makU2(6tJ&|PGI&t>Xv>uzrgv3>0IiO1>T9I zf3~0X%U#Ws8ov$lqO#;fohUqf{DY(jGf~yRrgB z!;9cGO-Nuni(-)HmMIgV1;B8RtPL)oDsWZL4M_HD1HV=(s>%fQtn3pG`=fPEke1X7 z1$tZ~gKaSU)u|g>@>^z5@tNhmRUPoKQfTfpIAfMx25`O#2eyg@-`AKR(p_=JsJ^l! zm%ZhKNd<{-?CXEtgzzXdzjvVHs}>QL`8Aqjqh}*pp}Pr6d3mdGb8DDt+6l_q!K6HS zw4}sGTkKOrkZvCmb^xa<_KfEvlZ@y*qiX{qMB#q70aP%54(2ql8I?`x*;?sf&F()D zHfw2%6u>Y4i(T?+$S1rs<9!+Mzb8Sgp!;awrX6>B=!N(dqB3YH3vR-;xRsaqXlJ=1 zKTa~%-b6%P!V&y>ZxO3|ATM($G2MpwJ@IpjN%oS0)~M}~O?!g)o7?~4{!Owz;2ARp z18a8{_Pu=Fs}a+C;D#a|>Wn@al1-In9=v)GV^gOhxjk0|p8`LI?WQ+6yxgotpsCnz z?UQvU`_V699GX>2fxxy2)uM&it_O+fz9YU+rGwRyu9>Xw*xTO%vhBSajIS3-*55_* z-|@!Xjt%BVCU?mBMP5X&8^Bl0{F_lxlwQzINMtg}2WQd?Q!9Z5moCioJ$yIC3f56* z+$DO&M}GEi-AjqpQVFk}9ym^~n884JL;~C10MQ5#Bi*C*=*8A}!AG%A9sN6z+EsEL zxotgL2?e?O$`jfCeh&GshMzh;9Ua~;=49ynxn6IOQXaxz@=cza(*^@4c=QnWCQ)fNiU5GxL zEBb4zV02ki-VBL;S}^7I+0#O^y0g`p1MSwDT6xt-{++@axSK=Jt7G-XH`!SZ$-|Ja z{JN8^=O#|P8)%jj{54@9;5B*XMv3vB+=T_0>oy7&Lf7qG6i<{3`0D?k+2b&R@tx7@MYbJ6g}&ewEWw=Z zEjgls%AVWid&9UyH1Js0hA~2KC9W#`1M8YCIts2$=jS|G{dqR2U#Q)qKdmorHb|Re zX~N#Svlo~4uhwmuHow$96Rz$Va7H~U^U_!FJEX^{kSMWh&LF_pmnLNp^)mklx2Euc zZhP^i%SRWLB%geC?gPmGBOJNfIn~g1G9U8GJu5_>Z#oI6>vLp@VbJ%U0HTStZEMdh z-fAc2!6`4KYP=0j6AIeLiaS!#Yp3*9bj2XJ^paIQXX>Yj=5J9nztfavpkt$}m)HkZ z$Z0_)aP`Cy!dlBS8#}CR-~n;6+&;W&W2P84|C(=eCV}$!7iaL8yy1~#EiRtVsS=*4 zUyk&%&k@=ums{HR?K4B>1{x!aB|E)1u3Ea{Tx$a3U3hlKkGR!uKY-)$t#iHG(gxEi z{Hx7V>X7VjG=v9#AvP1VmFRfME3)(@{?I_N@K>nVi9=p6g>0n17+*yz5j_DI6Co6q zGy^U!J~G6livLWjhKV`Hg3}wp)rlhNWtKJzykukLiT4R_%)6Fm_v^Sm?|eIOe&E@= z_FZ&JM3mF99cVue$fG$b|H!J=`!7#>W8aobf+n&lEErZY-L~Sv9Wv@x1Jiorue)OM z5Kh@SSY!2@XxGAgpPNMXJOg`PE-ZPrpfOI&NBO0=J%QN>t}VbFJbMGYE#|LeQOdc!{ne8n^=Yos88>d@+MV?&6+CvpO_WL)D43^zj=+(mG~&FBiU$P zM@dJi_Lx{5k4oxpOq<9*xaX^I)RxD>c+_ByzUeTo&t$YUFe##>95? z3;F2wRgYLu%g%2(u9Z=Fz|Bv+Gq^7fLtMS1i`k{mu7|O^Umpgidc$UJq-BHa#cNrK zCnH08QDDnap-Glzeudufoj+g09g9cR^P#yLGfZ)EORZ7drVU5Z;r zz+h|-wlQ|u52zoy)`NE;~Cgr{fB0e{p#fQtjC z^0Ev|EC#H;o0Tps-LX~1)0gHmz~|@VzlopDuk42_ckTmEcqqM`tDDt{#{Tcz$WzT; z))#m5TZybq;k{R*`y)+F1(ne!bly;WElUs5Te}#VvswJ(4;muXV|iW#%wph#qS(rw ztAbiHNj0Qb-iAHR5l6az8WB~L;XKB){M@txGe9<^CiGTj&f_B6C?dL^Uj9AwT^Crq0j_ysYRYJPvuYV9gE8&VN`+Xl2A{~CVpPdv1CCG>774YtY~mnwMILc=M~G!;=m z+k17XkY`-{C`83;Oiz5NVd{|Hyi1FWuEDP+^epLHD+}eREO;0mN`VgbV?&ek`@by9 z=!tFKAcDL-xB2v$j-|ZAIsljQF>r8p9c^_k>K8=94)S^ zKUwR!uv~P1GDd$q);&M`D94G;V?#a59{HfX$xH~P^QafO-e=Cdb772T1ye91Ts9RP z?9L?CG6p-OGo75YH}so9^%SXQ)*bX?h}!dc)@12SWufkcegG=J*UKw|$ZJX70i%?Z z0gaSo7spJFQ<44kSXGb%zbH$kT__W-lDkOpFx1Q)ceOT_3oVpP{16ty<6 zO{vh}cuoX7)W6!C(C{rq5iP5D<@sYp%4R`!B}b>+p}(X95=>_W48dnTE%iPU?5_R| z=hl1t6TC?}nYD>OL(Djkc_3vWq>(5^Nox1)D;;%dP0O%sGosb8fAx^9W!K%l<|0IgMH~pnM-X%0jcCH;p zdTz<_H+~4F8y~j=_3BegLW!O!;!tv?7b`!RH|(0$e2A^+ua$@xEy1^M!(-aAnwWFz zZeb0BFm6-ogxMD7yA8_h^@4wvVVT$UcI16p-jJ5!oCPi*0UvB~u5DvoGCBhzLJOlY zrkj{FiK)4sn7l$oi*c=V6kEmA9Q@s}N+^HkbS%zFjb zbl&4ng><3eLW9wMnIB=iEP94_;yP^U#^5)O};l~+u1 z8(g+$t9wQM&nYI`o=IO70QGZRY}k5j%=&ia*>Yrn96>$^mDjaBw-9q5t}?ay!N3u8 z#ETxwC8(74e&DP`l{dQzZZIyww%E1hGk2y$GtwM?12EUtLqns_)~-fNdmtK^0;<&0 z0p2U=(X2#-_|-`{5l#$vNEodx1iP8Qr_7qT?=E@keGlg8o{ynOos}ViU|9Tw91~m% zYN5dDwG8NDxr5Jv|@Zr~u{*gt7hHqS{Fweo$+NjQx%0Upd zm0W}6JkdVfu&vg&qkeh%7J=VZxbu4R$~bXLuzYmeeny>?nVJPwSvE~b2#|=<@*P`e|x=ex7YLa zeBAF3!cuyMxIp~amT`r34;YZ%GP!#D&C)Oj-nJ(w56iL~C_5lJM;zYEIP2(*Yff@> zj30ts@mLrZtIt9*a@XCCk)T9H)_RA&cdO?)8^9eEm90`x?$GQ*X~zOsX-Uv^)NsC0 zLV}~;nZL53RCaUJFa94)F7TG!u`_Dvhxwd4m&BsyfDNX7Yb8B0!h3jFwDGOtWIu>d zu{-Qs`E~GC_(z$40vJ5@HJv4Jv5ycnO<|BA>4pR}grg*^f_k-Q_$y%yy)Q64TKF-ouSFD>+!dn#r@XjOSy>ud zqDRElC7_^}$vsm&|7x`JqSQjvCq9b0#Z7rLSQ{*f7HtlPpuxEgwMnUG+)Z}2urXoo zRCx8Fes>x}L=hV7G8MUZnd6h9b(^U}Hurvh#_Fwe@uL;0e7234K$yQ%T8p(om`iVL z?n#7SY<30PC5rTUHs3<`*I;xQ0e_LWPQ?8R{ffVe2xdC$#Y)`!Ncq8dOgx8G~z zKlOiY*NX}+Q79kxD)&ch&Ym7Hqm8~l&EU$HulCEn*P zRr+I(bNx}?@UE{*Pn)%$F@2^wMXLVa1pweQJ#N=>BX$L)6N@AZkxu zsEnXTWCa4`NRh$bjbD1OJ`6v&V;*G)&o|Za$=p!srz%*(p&YIAWZZ_N*uYo2?cn!A zbg^Ue^m8CW+6xffbdTIsva#z*Jx}ZEEQCR7p|P7@XJ61(n6&*~vBMSj1LYv+q>+-t zwjbCPLCwe`k=&W?f(~VpRgZPhVMx(n!p_B{bB7o(`SH&W_ocBmI55X$`PHQGBMb2~ zub0SbksLAWKu30aRMYAh{Pw=~mleaK-3PVh`?l{kR%`$Bt5*E=C&HEXL~?X49#8d# zMUX{8>cCTdyiw&bz&Ovb7t=g?yET|2LD32l$j8*AqC;w#sFX0h{dJ;o@?=}OY$G=Z zfq6+cFDqf~Xlf2)A!bTq&3=@-Af&Y{|U)w9HcR7SVN_$WQs zvEBLjJW<+-Pgx)73_z%W-d%%@cJaQyKnn&PyvJQ{q7bC^?-NKU$80 zJ~r-)-@4^9eRNaNJE-@LHsaW8o@z77exG~Iu~$z>&IjQ_R%uy5hJrwhy2!`cA!Z6T z>R%H-5j}8H+UOP=Kk1V(87op5Hj|CWe?CN^4Jki=UJoP4CfUeq2$G4+Gom%l*Uhb6 z*3(vNwr8(#jH z39%rdS2?UqRKNcZI260zA3zPY3ot9$(>*BaU^VU!IKJ( zQ4&Sa)E8=P2DUW_t)|HtL$^vfv)WrHwwVy@*+D&B9e-D?X;o6k$#OK$)B3YZ*~TnO z=Me^4icozNgiv1cNmoQ>%xS`#{As~JL4P0qGkof&FvUv0=-LO;cWud(H@vC!>co*^~pbe!bJw z+A>vQO?5XS5F(I>N}dQF^_wRYjp94Vlr&XM8t_)RreT{u2~JKt`ASsD-`B=IaE zzd6D8ELU>#=cz!(&itYPk9w?dC4+TgWgtoGW!SrWQw|Fb_`Pe z8*duQb;5Da% zCpWE6Xz=~a=>>REd}O$-EJ9*!g^rb)cpapNPz?j3j?ryS60TGzb445K{yTDJ3+1;Ot2oMLG|+Cpc^*%14LCUUux?F!Y`m_8gRC+}KjU|h%Vh0PPdU@_ zS^o=J{4xmOt)Jc(m|oV$q@{Y)xVp^ueeYct;d?{BENMHCfRO4*9gInC+5Do0auko; zchH%nLtm8SrArO%bUZQJBp1Y=-{_OLw?9~V*B@&yu?xBiF|0FD);TkF15VRmJ2gO` zddz$@2_?uxI38(*pE3B*C()}GZ3 zX9>wEV9usuoJXjB_j?1P2($e7ink1sKq z#sXi?EljLWxdGE?~NY{L&b>w%}mbDT3#B4Tv9rxdN$@-8V z!8wfZ`DSyMl2Lf5TJb2#$%3O8(w+VaTOJt{K8A_*OG>^=N-7mD8W8G*OWYKal7jq^ zs5tCRA?4T;8{$3xs#P94xY%+{vmJSRbTmFTh&&R@=_W_OCdjf#{9jD9UXq4 zH$a}i4aTQPT+0I!Xi{j?aVW$+Vl@#6NxxWLis?5T-X4YRDGjbb_OLWtSVb^8BkfCd zY6<4})2LNgYk`#cBEUCdz0YEQ!GM187lr14Z3(Va{lK@ z_4`wP%zQaI92_RZuyrsMQrYgU_zuWq(+kz6S(Znq@ft^&xJc=LijGhw-i_97Q!Y1; zXm(l|kt`wg-ajk?BTS>kd9Siuidw>M+{y17F@5GSNqxB0^n?X@Uk0K;6IBM4^M$Rv~a zzi;>~1w}NGgAi5f;wbVJm;MRSTJP16KfT8>=}1P)&p5c~K_Kp_+q1=^p{w>MEk02)Ysch$-wm#RCk)?O0 zxji&PJ`wnVQY9rGSL!<^R3zS6`rjl3ntkdK?UY{!k;x*H!ShbQ=)9Ki& zGT3+8$E%Iru_l&6f$wM($LhjN;>`jTam&Zu1);s@?)wd@{|1F!>30R=kAmQ>ErX=kR7cxMQ;J6YwT{w=5W@sn@X?@5hf?-h5|@J8~YN+py{r%_{?oGZ93Rk75s5+t4(X zHP_btrp6@C+Tu81Nhnw=zI*E>8nWN@#qm-xQcTnj4Xt6!W8fe_!n-X-(2<**z_Jq9 z`g&(qebpBK(*Ot~2ox5YAvKy-s9f16KlJ_6!jW}Q^K#&46XT%*&K)Z_R?9VMBhoN1P8nDV6`+N`mjd6RvdB{Rd_G zC#d98ZYsO6$%Th+$=wy)dse9%5ovj)zIH2dsf7>{+Ml9wp7khbw3FTuxl)`B1J>ENLvTPFNl$7bd_e!crED?d_XqXZ71OD zoI$uK{*b?v<|N57H@C+)$N@w5QZN5FL`+ns)b0oA+x={|lLQrj*Mon8MlZg*EBN|& zVmtItD?aZ^#E&}^r*{kj+0GrYZc6TPHtRmGs6>YT@8WSsX6VDUMd(d(az&bLNk^Lv zr20z_n_iqy$x_M1vO3Q_+Bfjq(kyX=o0_pdeA}OvQ6qxheVT8TfL{A?sr#X#y;*FX zi06<=y&&X!9kv=!?;_17;j?70%-NBr(BCz#H%+m4XIvWDQ?jPQcWkTqH%2h^P9E>} zyS+^T0B5%-%x5umbW2G#er@y2o4S23xLvIg)Pa~NF5L4Wr20Aes7w$X4p-z)g+zp{ z<}%v-4FT-TI0P?qq(jb_U4|~M8~4`dl&E%wktBCG~B;`a3CZ>{B_@&xd1DvQOsDssedE{ zip}<4c?Iuu*7Hn2e?Ks=TWB2_CkzYgj2RCUxlfs{Irs6^jP#SSGj)+-u+M_waGVw^ z+g~`iz9{;x(H;Bd*-)0hgqVB@xTeRLYCx1>^xZJvvljuk$I4mBq#&@5T$B8_TUlGT zQH)`|*@sij%ZB~n2J#s1dN@{{u;Phw2%5pg|Dgb42=lsnpnbShlg?P;DSLy}MtZPE zm>u5;ox}qU>M8(;C(qV~R~wAT`*|S%^ZNJ^ydUI`PtB;tG>z%=DmQ0vj{;O$o`lyp zs6){2kLJqBChgVn<|h=Qe$5#-hO&JM<@41cMANlcM5HCwA2+hJJ3zuq2db5ARdTE7 z;9aPQ!nVixs==CzK`!=1EAof0!0N7?p8N_U3jfos9Z`@U!k zx-zkUg+9mq%675c{Xoy!#!*8FMLw|5XHnXAI`-y%MKbhjO9Fw2z3Tow!v06{_!;HB9fJMH z(7Ku3&A8scKB%Y_%yVFoAg-y{V0ueYC(GZD4{-FUoA|=AH^evp�S}cll~ss4mFl zuj(#D*FYO{xY{i>YD`n@pMRm6*F9aWg9gPE#l}K@_aO;ls}7UQ+1F+Lhs%~jUvA`% z-2ez8mnz_Kri(5$Ou?c=7YOWl348?EWR@FQu(sZ?Cqzpd?8Q%D7pHpOiV9L!U-|5l z72H7sJ}u8`^{?ESY;8yb?mQP$)^W~0<)L1j)}GI-wpd)gFtKF0(AM;u1x~0m_o$%U zoj9Z3Johh9aLjtoAz(-fLCzJEc)xypQ{~Hg+rMR$-c7@<+1%7XM~TpMF+ld99oD`g z2!exUKaC7#C}1fA$jVE6cI^07VF-QAuK6GFue&R?uriyf$)x@mPx0NaTj!41s9swx z_<`d=r~9iBwYu(%nHKL%aSKKW?6g`l4%d&q4#s8kt0-WX`P2{?M49bQ)*V)qWymDgfXf5Q?ilT8zMxP$pcUsk4{c@+Is zu-wG@ei7~rJ5>4BzW}Yb-N{81o=JLv_I=Q|YeumQZOxV1!t43O{D(tNT21Y?CPPFQ zV=4u|p>pw*>2{6Y1ZQQ)cMC3xsYaj1bj0oi4y@{8z5D!1P z)BT0ix;Mq77Cq?u2=OR8vJ*O5ej#qF>pbLSGK5(Q$)rZZ3aK5CTWml#o@QhBDf6k$RC*<#~%zJJ!fTV!QEGqAj17cuLBuj3SXe*<^iG9FB~u(fK!$Y49up?Yh2?DP_Ss2*DC&)`+QG(09~(w#A$EM=f&C zFDeh8o(Tfae0tyuC%Dr2V;U3%{qK#G%z|JHA3(?(*6cuS<<{oNP3b}<=wE2rZtE>+ zp>$p{V$E>T%W;0Yte{<1)rCz_!-ns&zWVAO1yJJQ_f(xVQF05fL@ZG%_j$w2c8kzC z{rbVQ4sM3Fkiyr2x7QCAjytFl-|gaho8`l^>UHTL3oG(&vw zXpJ+SJ_3R|J9UvtAA79WLFPDpb8tLbJ-ZvFRhMmSH56Vehh2W}?RS~Ql$f@&*OK(B zxG6vjFyyRdmGs4>^pXiR>j&FZ{StECl=}z4Qjw|K$$=X~^U-UANZml9H$vM9io{TM%!^oZ7)xzDJXz{VL3MnUb4XQ{e;7}9n&d~CSW9~j}_+g#@nA#1t! z*s1YhzlrKQ4v%UEL0S@IumbWh|H$qda3~GUXR0{V4D%>iX^O-@&-CzU{64GqKuNW# zwNsexJU1cQz!Zt?tJN}Uq!8XR73#2F_VIXF5%s9xLP^( z*NGZ0QMO%AWB@UavgDFiOJ_MI!m+Nuz1f+rWlf=_aOTTGlGUPEVWoFX%euqt60eUBh&2;W6VX(<6ThhhCA*%85-rT?V zp&o@0rXTQW@|Lj}bESc71amw5reEQ{a!pEF2@oS{Avhwaon7+m2!S0rpF4p=IedI> zz8NL;IH^5WGQ)t{7Gy1CeoqV3iHQOb?`$u-H32zsw5Tn4E5>awaZmPL!+eWI@L|bf z)%!hr0M9txp~9EX=)O(~W!hvBffe8ieF1NWpr^*)l`Vv61!=S)6XBsxo3|M;avSDn zw4e<-1Wi)%UQ5=U3ofINXa7W^M@gGab-Pv7Iu^cIPatBzYcn|25LXw~PT9GP>uf-a zw7~1eLrdx=tQ6-*uCI3HG08D}J8OZaoNGh1PV`5e?ni4H){`dN| zbl={1Zc1rmLAlY=_;lo?^~>BqD;NLg zvt_@_`Hv5pSCe?$YFJMYW3##kOwtvNP%+E6nN@T70#x!2?BD_vCKGc$qE{29@XlDi z$u7_CWMkTMSUaVxauVQM2tSc%LNvxXx_!g=BkC<2$R*}So|~_PduKCi=9Q-k3*~q#6ux!1R%Nl{ghw6Fu4XEb48q2JSfGXmL`0mKCS!MkXqZ6aq_z(x5 z>me)-b?dI~1!zsscfq#+*O80GuR^b6dV_G~R`{#uv8g{xrD_3vmK;HCImW8m%yy`^ z^j64H(fpRagHx>eZg};g-NFii|KW)L@jCc$6dbj;+4{Tf&A&^0wvVTN+H9U1e`Bnv zoMh36s2OCnUQFWo@2B<4plF)9hyH0t4iWAva>zvPc)9-^RqIQkWNN+s6fx`4 zcf{!xwX9VC(C|22j@Ioa>D}eJ_u(R2(5Z$fZFDNf*b)?aDgSt|>6)=^x>Fg+ZB`Eq z*IFJPTd?9=Z+2B(%78vR&ttp6`Heni2T^Db>xe}eAds);w!Y%;RlVG`c&_zb;^T6J z;-N9%1Qh~UfxNv~&l#6nK1&bJ3EoXC@?70Cqv*E!osT%_MdusDG4=0uUw#v)1+3WE zIKRJ>`pQPjk0adZNWgKcd&iHa?U_bXc4a!y(MGa3r#5%3El;GsYGc7ayg6cSK3flK zwG8_=`;0X556*n5HuIR5z-EX8(F#luZlMS(PuYCyx5fK5**vGpLoPCh6`=GdpdME8lL!#Nww55&GlPd~vky(%7xt3j@>; zm_%0^HxT#dU$URqN`@pgnQ$wNdt=6kCUF_6{%BgYp0romz3UzHMuPQjY++lX{+?`j zuhfaP1bs5rIKo>Sbgla=)w6sVMerjV&i1FXs3}U7_k8AJWmPU9Q*-ayM;$Z!`Wi^QQNw_c#0#SjWaCxFCdjw_ej$wTPe8)WrcPK!4T{-9~fdn7_Y-law(Yy9^ z8f3B@f<7UCZGDq6&3uLA9VfLM;T4v}r*NAkg1@?XI<`G($k7&xjPTVS0f_e6O{v=}&VkhgK$#h0g7x z^bRl&z5Wh!TW`IckL;}Tv^>LmF(Xi zGQ|m!e0CJtR3dlJ6$TaTQg##wm0`q0^v_`bxPN#h5Bv+JC+|5`WcXuyE=Adu%!Z6q z?$%gAotL2um0r!{BSQbj+C)hMe#ian?t2>I&*i`!5A)p{m^DL{nG7L5*=+NjgN+5B z`4d0FQwr<|ap;DZdQwv99m>T!K8vnZIR6mQV}<>rx1L<9K1CP8a{-iYps|EL{#`pw zgw%EmG_DQOTDbcwMtJvyE$~m1_I)vPBEyz%_SnE=_Mfza`0vEaBOr0gccX^**`e|d z&l$}Ahd$_Lx2PrK`Qbh3?5+S~{6AP<(jA`Q!02 zV1bt=5f@MZ-t=+;h2&?fWgzp3I`@2@K<+1}U_s_~C%f-AgUs&cJQv%5vUQ#!m)`=a zUFEQ+{2Sh=q<@{WW*FC8@`H>Smq-|6G^z#`1f$&NOzApWA0;qSfw}xXiS0*gBY%1jTUu(HGLRFc`#>6 zk%g9B5M_j9eRf62NqostgBqlP?1(S}_VmZ$8@CGpTR|$Axo!#7-{GrQfy`f=tI
    jb*-sywMi;nk1 zn*RFvC>mDm^PJOwQ**6jiyXU4o|r5KH#55v*$g=yRfU}l)cAsgjgF0L-a*^td8qZ2 zVSgpsRrarxODar&uPIZoN3UMBz>ekZ*k-j#*o_!|`fpO=S8kQR(AMy{E1lb3d#%5k zYdI~!Zx?;s!{_~dRdHpvsL6R#FvGCK1L|zN;;k)C?Djzo+&=%cHviv*?Cc8MT7Qfz zA%t^eeQ>z|5&a>rB|6VXo$q&WoYtj(-J@o_c;HoxyTcp0EB%v(?knbTKeBqACCGDs zW+q&-l*{a(n)5d_ollEKU`F_Ik%?m`5!B0Ef9GQtoq462fZ=v8hGPVmklz zC}0>giIGrZNOJBNG$MYTdx%3@rr&gjN_6$7Y&|P7j%Qd1I5>ki)dn2RJ_Kh-ekJHf)-%H%ZiM#N$#1+$9?wBA9uOo) z+tO}t=lA; zocV6w%1uf)_0eo##ms|0Zgy??DylMqVj(&6(}79dpT8LKAf+yext>03b<|xFBfq{m zbJ}%o)|B9;tZ$uOTE#68rJF@1rsA&_YI0I(pDg@;0xzB5+<_Z$=V#;;!XJ(fkZi{C zr%n0PNlVi52pBH9j!L)qqmp|Cb8Suh_)Rn%;N9na zf6|}(bUT5;Gb_5SS3gfY)3%%8T<|DC)vb8UU%{cy<`@rX$GY5UX@ z8KU~Z$KR}1LP-TCf-%!VEPJ{>DIoj@#+mLP2L{*h?#d_^7a>OpLBY|`Uq#Wk$Q1Q) zQ!}TXKK+vd_ydTMYh+l+r47va2mKQ2=-e5C6HUdLrby2)U9f%Q^J8hINKxp2Pec10 z>C*jkC;GzP8I*h&prl(9O8?(xNNb8#5Mpbeo3iz_y03q!BP2}3TwNyu_n<-JU9&zy zL>zMMD(-s-0@dd}zZ4d8Dc-cN^g88#v=r!cTzt7bUep146A~$r77Po??%7jVVs>V- zGxacS_S*ld@ra)Arb|Ist=EA~vNH!5+dIzlQ}^t&X0RQ%r^HGEk&BtfRp>_--RRq| zrEJI6qZlTLC})cEc`zwPpaLUoxLHb**h3yVp+xn2m`^XEbvUf{v;U+t z092BKc=s~K0d~SDNNTh+JQg1bZjelz;$5N=p5(tG(z9bVWZTg46|{Me86p!n~? z=HTjKOGI2`=rz=VU%(qiCIYr!DLjcH|n^wNs zJVggVo+#NB_JT?-QxH$R0CU?64}Lo^?x*(01E!|QS5*FDXYG?&-71v5QjE;IG?5E% zOupE7MNS&2!sCDVnc-X9VFObr=9}Wp;ewf)DgGPZe7x>~pQj4ipjS71=vyIPkfeYR`|0`MDsMXy;IDk(U04rg_uF{S~v`AnLAyeR~w+ zS#jv4X+jtW;apQqs;@}4NWpCVI=)S$P9yE8MKQlwP!CGM#{f;@E}gtkKgT81PDQIo z##_xxyvaL@@`HB2?)O>FNdyBX<#nlhAp_)6S|2JmHN+GCiw~?CgqAOWLcOnQSB+Kn zAs^ji&y3bVjf+8_33~nCt)Z3{u1yuCAZR=YwY-PV)B;J?4^{#M2!8gN-n15w#Yf5R zSsBp=5|M9pd1MFb8XwQ+3ElcV{g!8IOiyKEZGmzjy9W_l7#tbXutDmK9QBNRQ*e#x z2|D@kih9^Lmc;$x57XvmN>%$Isgq9Ua2@WTq0lKkgHSEI;m|OHlaBU7YJ>VWQf|6b zzq=KzN+XXZDzCHOZiE}7U8i|~ry*);d+|7-gdrEY6vOZ6wc4%i;*9>m{Tl{aOG47D zncLJJ^q5l*)wT!jY(VfvJx7Ue%~9TFYs}tOTZyhS!Qf|KbNW${&5fchwXwcF?j;dz ze*W0sx$;!w#ih;fi{Y*ZeQhDW8`GD{N2!+EHkQm|+?K zZ~up7oXTbTe8MaLg9mOGpOG*+7mnsNM`gKiOw_?XizA}yJ(4=|KxNc!bM-Y{Wxiz~ z=;Pw0Pi+d0zaGk)7$`OPFNv(N&zHg;MD5lrZ@RGAJ!X*ri->Ab`Q!F$ImZ>07 zdBE)1jjw$3MiX_6zC}(TkeSANJ_;gVKP3b5cTncH%n{l43U-^XO{Ijc>~7&(uCi)B z1uAm?;kmTBkEsGVHGuXqSChGhx43|lLI$->o-F}CH~~79}!415%Tb764^_x{ndT>!5!XWVJ9sVw$@xafGwBht%I8;Vn^3(}bE> zI6F6Y@a?KsA$q7#%dY%K9L;&ZGIG5aqY<-)eM&HP|G)^bBWqhPDubYu*_u8(Ae{}b`Z~{h_$j8m4H%S zOay6bWboyI!m2{f!|hZ1yT+8uI@$TC!<{cf?;`tkw$>$fb~R{!nToP21B;>cGRm4= zy0v-Ctg5%?8Z6B<&;Y@-1W8HK$Th4(vQ2?A@e=FuOs(mZ4fdWJ%DsG0ptkvyuzy1O zYOuQc5mi}~oU6W-4fGl=0O;%O7L`OX*)ir7uor(j?#<0U1{~j0N$jJLOMFsY_sVXa zhXU&_Evk{Jdao_xKM#h_t>Za~sQwM;(T-l3^_P)07_wL|f9`uhci)2d(>{P}tyEL; z@bwfcpeXIYe$Qy~c&qcIWkg7$;c<-DLow6VyY-$8B$FDt@KePA`EMMYEpHTc)ZgkE zH5G5b?IXA!S#?^SnwP{Tn>(;y(SH@SBpUTgM|LKZWH!)9`u}T9*(l0TIO_&IWjLyx z)I@hgwwqo6^k`)kW%exo0|n zSyh~C-|jmv1hdy9hhqPC6!PwtWHO_(F_<2uu`U+IW~->i6Chbl#e3RXQpjt7ei?<+ zS$;JhG1$S!*0$?rM@ZPc(!vFcEAw z4aI}CNmGy6*oAiAeI}FkjHmw>GSi!3&9_uCtx_;m7Rnc_c6)^Ac$89d)bUC2sCspU zBeF7~0Di62Usb<9wWB_mvD`6-+e7)23Hh>N!t;wf-I~}T@5xc^#ue&}Bztr9e*t5a zqqi2AQ*M!)1BOa_FO!n6thj=v`zG@Ha^so}Gmhk-=%Vi3yPri4zN?a%YDZtx8(ykw zdu-r}$!dopBD({l*HIPv=RU;W7#bZLPA&TMpV(iV+!CEOnx|3Y+W19}zocQg>;1xM z*l4(tKxP_BvZo}~sv&2t;o`NBI%QpoOegQ(S`T<^59`o3ZVsnrHbAr381_9m@=Ql9 z`(t%k-JgwZ;k1+ht^82fy~RB{!{e0Mc!L5oJd)3Ce`1fCAWt3P(ydHQ)BXP=JF2%norVLEMVb;R*LUl zxY7i?<@AE zN;lR1UW7Ru9q0pxlc8%*0rBFHzGJg??;V^Dz0kFq89}R_=HRhmo(6|KU19s(2ggxb zy(0w-yKXnf%jS2fHOC2RQ%AaR?C)!l}7@j^O=|E~w zN#7<8(g^pW*&iDmd_c@1Wt*_X9dG8Wv4jo!?I>DNb?XAQYFql*RBa4OzwcIj36e<*8$^)n3j`(~P{u>{chfzZy3OJd1H!T|c?sD)@SY znf{X{yo8nLU)qzZ#b_u?X-!Ik_1!EjcSf${*KYUudl_DF7FkbolvSS;=#QREEa{%S zeKlMX&>FzrY;7lieet2z{rZ1#)&8ch1rg&#Pco)7>C2Y|Y-p(qq}cPUJ$sK=*NW?h zOHjm$y&Ca3S zyZW-^Bt>R$i!33@9XRRWvgZrIf_x$`xtJ&32PF2_3P*!93Rdc$=+{d>WXj!{Is~5y^G~ zRG-G4ROYg@-+I%3eQMy^^PR%3m7g7lhA*$pGs*=co(rY=E6wKEbI3bd$`sM{xwHsx zA@p9=@sFb2QQnF15P+_9f88%=#^zwHZiMJBF>%c~(Cweq9~g{@5kpimkCOqEDZJ(y zQa2mo;RPpYUFj#SlyWVh;?=?Ona_3ILtd-F-<)Y4Ga$cySp8!b3s^WEVIHWDxBOo*v-Vwv z3FZ`E`;qN6>A|Y2nkg?AU)H%s)egU3Ij0&}wPEHeIsZx~PBxyfVW)g>vnV-PP&0V~ zbED4G?I%=qK154QsNR0?7DGDytg?ubuYu)dkCN>oF7XY{RTeQT{t}K6y88{LC?G#? zaw^?WGjGnly0gCS(w&#A!3Qs_UvJ7kzOsTl@v6Jg^j~s}oqifNcDAjPKV%INn)%K5 zXuW_$+VFXW6GRh++Jq+NOE-eJQ+pO$oL|2)8bz?_Gq|gz0kdgd$oz~~ji0yFX)dpi z`z;BzWI9g|0aR!@A%DauPj0#5laP!@YVCe4ExDhhYd{_3+1iGxPZiSVQ>PMEdLy1X z`_ItBgzl<%V}0_FqYOxtbbn(@PlKWiH`4jVqR?Dq2iU-)6@_e0^m4-a%)HLX)|gVC z0?qwZ_n|92k+0AwzM%E?5X*R5WsVzb?4TkrfB4OYHfT+vdrnpSI(807$);d zbYN+Tvn5A|0>#$+l*7W=7Yg*dl(0n zu62MVd=xMp_*}!4Y_Xq%Tb0LQ<~`W6MMBqCmy=Ip@DPP28#Y%&ZBQTK>*>x}c?M zxbnGjMXxmEjiVP@DzPmyMM$^zD5@2;PL3}l86>=^83#C#hmM@4>*KH<{Y1H+{(PD9 z1V>rBHH~AmlTQ~@g#tYyky#6i3nDOwq_bc+Nl1uG^{~4-k)!%_?O|0&E2_tg1f+&uAHz%vzxYt0#C;t09+|MFrHr4(V ze9(UFL5H8;l~x~z`f_)=ppGP8;bMHw7*9FflQ#URZ}dC_HR56wT$svu+9TSK$|)bg z9MACzoMHEX!<3JC4iJN8}v35r0N!JQ`7_+9HT1)5dqPNL*nX=}SbG#X+|Lt6~`2E9Q0sTZ3 z;-(t4;tHhSQME&S)^vQ7!Kc-s$~7N?7v-&`18HN=fnDM1uTR7lK}j2Uthf7=q#SJX z`Wv&QnPxNxHQ}I0+|NN!W>lBwyi92fodj3vn<9^^Nt`qX4hwkK)mjwIgXHNVIJfkk zd!8N*%rp!rr)VBf|DViYN^wjHhqi7lQ8(CoFkmDsQnwnfFP%%|+rjO`G2;VmF}CC` z6&-EK!*cKNUGeA8XIjBMBb(>-FpVF%F46B`KL>eNyo8V5VLE-$+2rmTJU|Y=bMEN?PbP+j6LlYg&Su~1@iXy}7WO5U7NpnM7#JGnU@b2-^ zXVN%4sTe%q#&4a{AUeFLT(_{rr#hNlPbzX=68^}ux#okRu08Bik}N3G@Ur!Z%@`wL zRCl6wMKPt31j-*0gy9y#mdJQ$4{P%l@~X4StQ`5P07PVUZ9d4XrqR>=8S~(y#p9#J zaldq&PYAEiz`epGNevMYGzbyHXk=t?g@_A}w)V>w8rcyhgI zgn8wzfP&9g2(#!liYR^UA0q+nfPkdY1D9ZKv5X0Jrr|wlK8>`JYb~O>`F;o9$7WD+ z>I7+f^in_FkoiT0$nrT=k_ejMzpq`^W%ES66)AOknm5j%XdK`2I$ewnGy+NpD4$iy z-;fqpE8zzZ4Ay6vj4qbk9ZzS^c_*HG25h`_=yGsZ7QB15Eb~#`4M6Ux2e`A7G8VFv z{J=#(;C({ZU?(-brl`tzzp0@sE6|H@Fn2Z7_KZ%ttb^dF3hpenI)yYkGHV4jW)>tp zhaj@_WRGkfn=f=c?Gug3{EQ@0Z=5ZjwKb0Yrqfh7RC3BEy&P68h9`yo6%3x^yYgu8O_fuHZ=FnQW_(CDr`+j* zJc`)$A(~&I1auM9+ zC3o{~Nl`A6gi&0SL>o(5_d8G=C#wyb3-zlG!#o({m(_)VjvXu3c zNRdR;<&batj0tA**|T#Y_u|9P6;;>Ep|< z%D}txj=6zEakkwzD74-4M_e=x2*1QYhc#6?P!LUg6D2YzFIOLSa&&g`foVTsG;nNP zn&RgW_eOHKs>>ZB)U8;7SJiHq7uBLq@a6;i+gk$*!Od0%16wFlwo4s*bOdSNo60tp zK#i~Zt?-O?nj^H_4|bdDL7!?!b7k;@;g(oz`>`e* zRk6wGEi`ujZRN zO*i$Wj|oRdN5o&RR7*_tsC==%czyyaH#uR)K62y^`@xt0qv_oLnSS3mUMZ4Or3}L= zMJK1k9JfkQ37tNX^C`zMXTxlja)?o>$Z3_LLe6s-8)gnMET_$B&dhm^8{2&S^8Fv) zkNbV!*Y$cmpCX7F`e6mVH-`P;gz?kw`)0dn{6L%*25G0<`E< z@svbcsSd~VRL^jeIuKy)O72A-`vHY4Va`@?*xZ8v=a4ELY~N@5Qrt;(65<{1hzX;_ zKGxwz*X~P^yUoy0O#AAOArb@?o){?`+dGd3QZUSCS!o|oRdB^lDwF~c+`K|y%&M8F4}`&TOqJ8qz0vSL53nk%@6eqw ztwzBuQ_!IAzHfJg0t+jhp#ft9X)}0@()}`4P=g4PFG?pI1Dj}SS-~Cz{+|VK!nYZ2 zzPwC68POmPOiyN}`3G9jR;*OKMtvQdVAy}Z;r(IdrTV)koXMMYgOohbCTW0 z7*s!h`Lb)q*XiUCd56e3znY5BRFqdfNP9r%J-8!7a(O%V5jQkh_xVCaIm~-_%GXK? zs(wxcOL;byF0VB29J|1j2UW7}WR6{x>O+MRD#6;-Q$T(f&bwuEHNmX+{`xlEcQ31o8`-9?Z>zM;6M&E!w|(N*1Xv-jomv2_m69S z?(Dc{IHXsax%Sz!64|h@^ig{o$;!7Wi>^OAOg(zD_lQW4Y8>TQ!q@1!GHyzb(}spRUAK+(qHH=hz` zIZhH9Jw+RKA=80Y%OjGYA=`t4j27?qrXP*4yi6RTK=5cuH$@9}2J4+hlpCePt1}H} z+bfFeJm;lDZn(?e%rY;&*tv2S#!E3F4RV57ES$|?w8ZFTQ9au=fRYdU-ACYDO?9K& z_(&>tWAaEj3t*!+B_Ipg#|qu0^-4-TCjn=ntZ%`PFj7GaJYG9TIuhkTlH4ecQl3 zwI6DumknCKN=Ai+pAdvt9lK=*jXZm5Mt$YO3K%kZzQH0{9<7~`DN7U%uaWIhs?;g{ z!z6xD_|u))K4w00@|DPTYk|*;4c3deVb5aW^K@7T6g_vKp%}9$mv)wRqbSp`!@U%A zPpeZEGuBPMfpBb;j7H~q;2pp1WO=pOO92jcFY5#8Vq@_w9*n(dNq9a;V$q zyK&0c%k+Fm5Rej z3}?+qCY4!qImCG!=NWOC{gLrj#P z);SmY4x=oiT~e`}v}u{X*?XDlQk7KRoMf9W?UXF@?LkwVY5ZhfXv_nJ%l!?Vo!gCB zh4vcCMW<~~+1gd>oOY>-+lslK#Uc;B8B*I?va>|2Tw^6OV8`1(k6=6K=@7)n#nyKd znObj^#$h5K{U}*1QYaXTZRaR%BZ^-i9Tm{fbhwpk_(;t-rN0r%EhojJL=NU0tf5FA zLVKKoEEwTzM+9?MEc!f69X* zWg7(^&m_|824n9EyX<~N>z!Jv^-A@zO`xy56WOOqgbtpwe}v4&)_6TgbONgduszwy z&48`iOjlb1J!umh)E^PJBsJ1%KV*zQgp{T)ahz!i(|#)yCms5Ue3r6nA@seIsuvmEkxW z>Mu&P8ftc(cR=-R^@#u`xJP;blJako?d*Gxahd9bjjGsDQ}}t{tG;-#o}`bB)jf}@ zbbvkL-9K%(OLQKp5NTG*^Dw6R3XLHan#BL zO6*S7(M<9Elt_1mm}$G+HCv)K4ggpmEj*=`Lu=s{r)L$JSq9D7(pruYSw~$um{B7* zWW<`yB57~~bPrLt<;?6WnAxJl38$)k+vABNxUKiIG0&8dqk?kAF>CIrZ11&~soTys z6ZAg8J$il9UDO7MD(}h41U~(P)yawu4PvFG5!W*aK2$=yA$i4%&97dmFk4?W98F-iv?Ba zMnBu@RH;eXi<>!=WRpV;^y@7Z(>3}^HM`P^u=0wsN#kY<1orp&bT`RRpa!+0IhCqx{^bwmg}!w#dccl{4w}ye-q{g@-=F+h?LD z8$)m)GoKar{(ns>UvXz3f+w#VW`u}9TyI$cQ!63C0Ae1*VhcS1hY$U>?W}?VA ztI8(^pCr}yICLM0vydO&4)=o19Xv*~H011ItRVb6d=2@bb|sPQnhcNFq4uanW0Y;g zN_9hxTCCI*;h7(X^>Wg+gKV&)!^^&BoM=r_eQUT@m?(6#xieteo)!P8bJGIn$n7-qG#1byDOiKwvx)lXCc-D|F-?6R^4 znc*9Ox~9ITRMC<{(W;N~QTy*gf$2ma$ahO0*KXj=v-Z&$Xxcd>=M75dt09b-NM6}i z2T}^d3ADst90frx#@#exB4qI;TG@FzbhjD34Mz+5)_Dajxa7BA@_#-kQFKr#b-zYg z-TkBc9MrWocXvc)l=BZ3X}oRFxQ6+74?ie+6Y3!WbGZ?`JaAS+uPN&4dt8PSZ1oie z;!@skK&b!KQc+UY8xkJe6|Jx-TQM5|Kpy(44c)GJ+a)3|AZ#9T%KP;}rPaNS^x8Dv z+w(rnc^IR0hZ+oRn+u9x^y^fp`0`TqNn>Q8anP#0E59cGv+erAp-c8NG@DT-9#Gv) zw%5>G<_xl8hS?EXs$A85Nk;lM?S9{4zUL0Hw_4co8s4Ve2Y!=tVu25z0=^mk%k{zDp4HzgvMTYazf-%dML7NU6s(uG>- zP3-6Fyt!*eIx|B4a>IFHVQ|!DO3QVLU%fDQwH|qqCP93%Rn@(1FZ}0A~M?8JN|6yW;V=-#q$7}0^B8@Dcg(*6-!O|;=U^WR_CM&tTx+6zd-XhofOCWXz(-@9sBLNhBSaTgJkKc8Lg-$$kH_YF zl6NYmYjxf?TG<wMm?y-HSXxo%)fF8kOuQ^?BOpb3&RVDxJ`9x=D-IL^CGC0CVcCM;afEp*A`+H3FXlU&E2)Z))#N{ z*EELR+KNQE{mt_0MZ$TuR|XquQ&Z7ueUOs?5##n0>du^abA_PCkZYF2Y=M1p0q?B5 zQh4ib`Ib;YniI)_-(Uvfy!5RSx4Ap21#}lEX66X*yy+!>O8zNM!t~~1GB^FHsj*vX z?WM0pe&AN#Zm>y|yyI2F!icbaCXDtozH`tn3kFFyhZ3;NM7)z~^{74kLku}y5Jv8S{h z@jC{3poShT&#cic#ianmw#R2DRhQcZrp^Vz?6FV_?O~3G*6IE1-7$&rn1yc1=*|z> z`pmf`S?n%A85}Ziq1&l;jPUWbZ2&4b#<(&A;_3wmb$(^GB(^cOoJIp`CQL?b$v}`cvdC$fmuirl`U*WR3w*x;I zg{nd-TH3v^P<{Jj5&q&)ch6xhGuxJswdg9DSzvQczA2-$xcpyHznADvp65Wq6nv=V zsmg6}aaZ0C^gp*i@%U|Ugnp95rAj>>3A7BQW>cecUBZV3W{OJVIZj~Daj1gWTcLP= zAIwBdZ~10?1!oNbt@1c*BT98DT(G>19tZB|>fO+k9%i*UmyW3((q~YNeB_t0md`AY z)h#>2b|p{a4I(|v1&4DSCfNVwNk0?V%`@iR=a&_kypwg8{HS>rZZ zehAu4vDDM3*0B`MMLDkxvi)9i*|-+@u&yLR>5rX#dusl#u#oEq?C@)0h-qb=GsnSx z*$*OeEEeM>a7k*_o-}Elc9}u1e9sbjM6&6No2FH}TIeo6NnXFj3K3!@?+i*o zkH57qY5_rbnK8Ov*u~?d3RFv))uwMvNbnNpSS^mMmpNWOU@L?o7`yWTZ{yb|+x*)Q>=YCDa zlL9ls@b*`Yg=1p+r<>!k(#-V}rC5r?a4%ijV5&qq>egA?ND3O{3pTPN{vwqca!OC@ zr-2LYKS%s09Qe{okM0GMsQ;McMcl}7(FlWA+Mz4G^MWg%BOzKuC5f&S10*I_zq(*>ZVnzXRYp{@K^#@1Nb$KP`AAXX(duE&E6MURI!HWhpe|aT!ao9nV#JHx_Zd z=4LE3qKI`!WZ*#YT5G~<2;uVqd6CMB!=OgA$;FmR@tQDQt~I z1?8=#e<`TKN|P)1R(4uyzx__yr~TiltzXeUXYtODuu1)K@+dMx`%+MXU`WlUw#){_ zBs-lVLt@E(X!6#PsW-p~6pNg+%_N5Y2OL~x@x($_InS1xLK6f9rDDv78VX16TV!|z zilXm_Lc)GKr@O3gvj_;hEkBZ-INh`dReC*xQOx9Cnxj%w*-{|#=|Q57BepaW0j(Xn zI(g}L-Sa-y=FGP-rF7M{Oq0PXZNL_^3ZNS9d1qe(Q5K-K8nz@@(}nydiPJ+ z49wbgIxKS6B*93Wm1%Qc{30hb(9}SianmDzAUc<_)T>uqgZT9*z2Fl+%cAixXcV3_Ii(D6iV*C{PSPFPW zoyxG1UP%+1Xk-k~;eSKgC04qc`MtoaR`Q?nE;-+YqyeNJu_lG$!!%-2s!uIHDFvdd z(t6l-!vtxdxK;RYLy;o;?dA-uMHwI&)D;uEv^n|g4d=P-RsDV&EG;eabJ}0(-;+=5 zB53p_p8!YgJ}C`*nBOI^hP7rYBAa6GyV7vo!bMF`6=mxoKv8yuFWuEJ=s5sgX!|q! zBr4{!ngu*{MJkFt$PPy_r9mMR03;Ac*{-kD*R`K}>!S-eHLvg9U<*iz=WHrjNaP=ABJg0So5Egwg$qKXPqD5{uj6snPntveux|_9l8fW(2S#ng zFklYyS60>YtLD4x5b>GS#nQ~+iy)a&t)K{8V~mQUzi*b+V!<&(!t#xX>Ou@0@^mnM zkc8Kxokux}Y@ATdT{-_VK&-ZM-!)s#P0<_L$pGIpk|Kjhvd>pLM)Zug*bCsYFO@XHdDP0RD;`K2<|;rtb2~m`i|uzd9Oz9# z&JQ65rx!NjCe}n4T@0%LpF~bpV$)yVUaI0zx)Yc`zL#Z62g$mL4vwv4nfJm^;PMu| zjG~`ehDSX5m=qP@vydSnUEln^6M!i5^p@k}Rk`d{`rLJS1Tp;8GXK}Zo!r4DbNIsO zqMK+RzsIvvH6A})gdb{lSdw|PeYqlGag>DCb^#XJr8F-T8veeU$=J$K2mVC|s6snI z#rEyp!4eYpqQQZQfQj`8zMtG%Ksv-8q`(%SpEK<< zq3BamZJ)VlYmxTO^`Y7AhjK5AnWIP{lYmbS0a1$(D0)IX5Dgv9QVX7-JQ>;wdKIx< zmi2wcS#;N9`p3WujlImCcI6YeuQCa6lt<7;8Ie)>5o0yFDCtz>-)qGexykOu2?nETv1A`?`ak351s{L+IT)2zv}t zyADY>za8>O`@`gelZl*7Q3KG@yzp^1yP6o_!JtZ~YsCJt3Y7|%j_$=M`uekqv{70SqhIdk zB?;bzJcYSks_E)nrshYNSICsATwchIrlrS>r6)G^C=tAl2m!a0bH-!k7Ofk_6)JM_ zzxp7v2ZzLO6MwyzCzM}7`tXHX*GHh*@yCYu*jOesNyy z9e!4UR0zF?AJIm(td`i-!+HIo*S9hbWc= z`W%1!cG=k6C0#Rm=l!bOzQSt*G-KY-=rcAOn77y(#zqg{KNt4z{Z#g8_imAhIR6(n zw<0qDiS}~K=d2DXaV*wO9td}X8jO8elPENi5fF|WeZL^3JL|LUR+wbGGkJ7~_2!nK z)v9-V+qngDW5H$F?qEV)T3V9QcKpZCW5G3m4A4GycL-{D>zcV6VrRoweklEmCbd@J z!V}fjj!$Gsq4L^FS73UGa1l*3*~&lLsVzFXZfx9(Te8eXZ`*YJ3#@S*otQN{;>@PQ zMDhoKxU;WrJ`CucGcqtZ7N(>!Gx*XmRLpwu=M6QvIjMymw`>$1K@H zz0L)?sWrEHR+#hHnwNS^BJi?XHt~CQ{3UKn(aQDckt(067<6;QMogxIdGVt2@ZJ`? zy>$7EI4B>%-lB`v55Llvt#lY%ziE*&%MJzHVBIAB39@dVF`%&phdFWwa33TcMlAT` zW3pvy(R!kRC8~+Bqcdwe^%ueKH3mIAB%v{jN*_3>M@0M8P~4_ZhkFN@{}Bz-$R;!E zM;SI((L2I-a?PRmxVW_{>9ft@&~p7{y7k4j#qTunq+|7~DvWueURdywitQ62_n4LK{rP~A zc(72dYqAmF89WGkSCnociU*4HeAyN3QBuO-L;5DcYgM@iF2C8ml74?IE5!4ja+dRE zT+&?x!2;`A%ig6zhnE^=k$%q1NPvJ}UG1%pQRAi{2g(ztVt1h`D8)FClS6p((Lom- zl&b<9&Zt-N8$H)d#nzIt3LXaQtVD^-B zMO8LC&HgHSZ4gtN_L9opYF0SU-7b~=2G!YM8sOg*>*Ay|h-q8t6Y*6Oh3Jh^)Sk8x zXy-fByG_P5X-|Z?&7U`kd-8~_e=wP+jwoIBONVyObcAXqL4ihC{LddGpT1eYpAvP~ zf)ILfFo;TsBgbJ-&3l-c35inv$N6lpox_Qc*t@zz^)}vR zaoq>QPq)W^USItVkzuPe%Vt!W?80LE3o;?t$W3L}-=QNboT>FACO+ze^Cc?LJ#}SW ziE0t?g-#R+xS0k|HdYNetyx3=pfsaAKNVD9k@&lKJ)HFw9^M?Kx=N+o=y*eM4)e|x zeD7}L!lh3v)J}9Jkqqw=j<P$?Yq+p!sB0Pd`L;2;uI+*8E&ko%s~wx_F{ir5JM+dC=bW8ebL!LVYdfKoUi~xQeNcDyv#!mq^Hb+fkg`c9U zk%1e2{YoaY<3r)g(_#FiL-(cz6|SWks{ZlK++xLCeL6WF?EN|Z*VI#_4;wU+?Lwt% z%cRFlI2A%n)vW(&^2c|2gZgfZ>(Apk)9bzB0z0ZuAgR#9+jkz`3=q*zM;g91T2&Qv zJOLV+wD)}y%9m1F!gZ=QG_&E>`C`woIsLt^f$oJ;?jz^RHc z{>c2sn^wv7nj6_iKN|cPSz3yWcPS*JwL?3_Zpz}>#7$+8yr zz9=?!cMz)*8+7GOqUMM35M$S?Uru6NLiS1B)JRSi`L=JUnW2mpp@g0;k84}8ClVxu zv3N(j`#s9z`_}?Nih_{3b3Yc%xR0*fd&xL3eVp?s?NLL6!rd3k`oWhyyD(cyNx6^8 zm@N<9XVz0!xJ_D~-4;awX^unV=Z;&^MH6+kbrIBL`LLk+c$fCkPlvY^7Yv?e4js6q zSlrCe;5R8di_~+Jvt>GSlCN%02;;?)P=FTK_be%_yTjED6XNLXrF@Q?pc}RlTKc++RMw=r!Z$4-ogNPFA>gt0->tT_`i_I{eG3+wYE+;dp&8{ z@ST5k?XB+Gz@UlCMONRaYlc~3z%2Pt0y~F$f6r^y)PJJPS;Me6%xd{Y#*b1X;f6k> z{%+6E826j}NP4C3!|~VdgVo*4g~Dqsxpd9T$&z*C^PsapP;rX|vgCjq=7zflPFvLF z^3td~_(Frk{>();BAdGd-Ol>k5+S^25-w)PcbMFliYlYHcgKjA1NKvmxnqHs#hq(6 zPxkzmLJEA%QOaWKWwGv{-ce;F&f%juH~0T~%GU|)w!7{c1rQjZM_;!1*9BB2*uq9- zF(UigStdk*6RsFY8mvV^>N`w-+k-_ntMO|Q2H@rYpo8Q|-|KI=oaM|qM@m}fE0v-q zMoe%WChJ5tisP1)h*h!1NhrUwLH1h6znsm9g3Eo=@+5?RO#TDk6U1bTowFHs25j=} z09UlH%xa_`YLIh$SwBclOj?skS{hfi%`^xPs7RFru|9#cw|By3)}Pl;FOSz6>Rn+4 zau@!JEWDDx%oC5I)oGp#IToz-i{JG7!MAIdM`vPeLMJ>bX?*fPZE45I$Va#4sVKhd zqE>xO96qMFCV=b9za`5r1(0mb8Ej|>^+`9PTi#8}1=ospZ^@2aY$}x?4#R@W4?!kY zT->cxH@&{N&uo`1-x>E=MZ0 z92p6U3L|arWdH)hvrt)A*tES@?++6fWD;YtkpzUyi4C)!WUo%L!;)V+1|AMtMZ;@? zVA;z2AtcV3lwR2S0N{D^6JJydsfuX7W7!|~e9h8~G#J7Ps-cVg9JalyWWa|(V!=B_ zKMtKom+XwxB_`DR#4+Z3``2u6KS77moiD-@sBoLd$}Xti@_7HV;3;Z%l1hkTT2>pS zdyy<4t9=>-CtOh@TG@9v-h-)y7#e`Lq>ThW6zOf2j0G!y<@uG)2aJ+x5btmMa3{x4 zGK-Y&8)oiK+$x;1X|_tw;@msim9oEOGpED(!hLtpP@zJRq#nxvk?G49I-ONY6;~tB z+^l5JOELGOzk|OJeG>^EL(Tg zxBBCzC%)Gj|H60LUQmF~sMC|nbL;e^;?sA38`^+wJy#C%7=2*kbQOGs7H{xJ+i?u`W+0DpdjU86gcCrC5M^V4UNG+fG?d#zB zg@Y^BkfQ@if*IWtqZyRpjv*k8H7prG9i=Web?qfzh?6?+A0hsX^sMGWt}J=u6P}&* z%>}{hW0Eu=Vb4gnhH3uF(DGa*)X5~9nJ<_b=Wje1fak2oW7!kRD=7A%Zxara#0ep2 zR(Rk6g)?^*Hd(D+30CJ1{Dn$1F%63tMa!ooB}QuRY6x-ZZb97rD4RcLc<^el{6;-c6|b zZ0rA2K-NX|(-KNJU+gn)clt$Ekq*4hZ{>A2^O(fO^#r2UrSvs?t&Tm<`HLVYmg^U? zJ*Q#6UTU$<{#LvlLHO+*@*?!#G41FCdL?ze&V>6tWUxS}>}m6WBO`b!oW9^{-kgN> zhTzVa-W%u{ib>BHi?xR>G+7GppG>S$pC|G<<#ksBOw;`z{TpfJ>Ct}$?dOqWe}>W8 zPfy>}zCLOHV*aa3xYg${mkGR_@)rQUv^StaDiy`BHeyWOjlns00Y8l&1G(9oiC-E) zJTDjq4RPcPApRGi$i*!4)s-8UX6__Ry4wm6hkhxBbEk`GES>{AQR zjOO~Z{tKOl!H+%zIM093j4&!gNGj)DV7=5tJSwG@Ua~L#1+g`A%mf1*r%}BDHJgU} z&8~6DY6Er?D82c#%V(2ABaqtt7F$hj@ztb|ey6_O6>EuBPfur*r2{+543MNTo|M~6 z_D&dR1mod`DK#d!6dsAeTi#{va@Ndxj&n3`yh>na`yKH=^ELlUHkfAr*6iItC+E%e z!n!L8vIpO1_zgc<-{2xAACtlLQS&l!YBarrO6Zmv$zB=!blW=}LN^pka$^|LG|kiS`5)cU74c?{OOA zmGAdUZH%W6ypWvc{lVCAyaCp&I@R%FwD~jzeu8Rxou`IZ!ky6RjPLw?Qd>|SODdeJ z60IuUILdr(jJMJp;TV37L_JvP+ji7&%(8uu3M=bmWw^aWd>67j9+Ej zUpcuDLL%DgHiO`jkG}LM8PH5o9niR^GNuozNw18@Qe5_;q>dc`^~>U?I4iyZ<cM=9kXFN+riM^}4OaCO2_A?n=X$`Y5o<@IRnvS(&yehdsX#S&NnED5GS)z^UOiJ* zKN3ia@%38!xVYe7MQ$n;h6Kk;q&|p-t-Iv@$flW9gYBhW@a4Fc{SD;OJ4i6ruT!o}e zNG$;$?5N9{LIhhk8bxc^tJl0f55fLBjz#9JDS7NeUHT}*d*j?*Janpa3;Qeth_jU~4@ZLQf6#M#11k@@k< zdYivJHOj1?$th6V-KZ-mDX2)B<%!dfc03-WjZd&dLj0&5D-1ig)vQ$6~+R%({hYXjUb6wv8qHbaPwEh%~6_3fGU| z4fA_BZ~kqV%)dCb8I`HFd}Aj=jhd-vjJOUts?xo+U% zF`$_cKI`Anu|DzjIXP_Y1u%+yJp@YF9v_MSKt?vl(ZRxlDChBs2BiT9mSo z;Z}ZW=G3|bFd72Qt8m^KZ`(Fl!nXIub1-LhRF?pNQWEoqk~&wAlv<;O3NXCBy?d97d_VeNDLiO`q!iJ+ zFSPmc;U98Uh^n--77m5Nh^W^8+Zo+dB$*#Xdc8lyVc+gRfjv>8nH(m$(>teISFxRt25qgN=#)1s)ku*EblsqGRS*?SI#9AzyY({Uc}ow z3MShLl?{%V^;UI2?0zWB+ya8#r7=l(gI|)27F5$3$Mx!;=@&(e4UV#9$BOXosAjc? zFY1vb>zU9d&NrO1X=n2s(+~cn3Lse~#l2pm`&&FKNJ5<=8MM1)^O++OJW1MqIE2)YmKA{i;qZ#gbVWAuztcVrfLcr;gSm)9vY zdF_0Gb|S$@GQv%+daRLf1Zw8|y8sdlzj%f3f(=U#!D-jR}BJQB~ zUlD40_NEU$bVyb;CQfwq{2$z*shOMuvIcHe!v7FfDQCwTyoD7q3-uAE`PtI^dbTuJ`MOA8X8dd$$R1We`?T zM-41dE}UR8_@Fn1eKXyQsux!X&(HbP13T%J^^@ms_vk6OdxNphd03da(jnS+qUt!T zi8{sF{YajQvY5g%iNkMz_Lt)G>4eA_Gr*^HkZJ;M4SYwqV&KUj@+J!^!>*5!E z7nq2S<4wNvACH2_{}Fs=;jX7t6@kR6$rBgUxuKd9evW_PKPCm&+UO?c@=%tB++n>aepPf=YDY&PD_to(=r^LVh9&dM|O2c^zHVt{m_>sZ1saS3tzY zIBDgqkv*ZXPhQHBUJ61ZpL_VDJOwl6|=y_fm`t#PhmyS~}%?EKS`cXjTC7C&{W5XXV;mV|PV zFPotPIPBlK*pHkyx_l9o}s^>&sa)D3@jw_T&Tye-( z!t&Cqv+SCq+LtEZPZ*z-Z`9A6cG2sR%4H3j2^qL&KRd*LJQkQIW%Ma!Gzmexn_YBTisGFwe@MybW0Rl3)3@ea5fwTEx3 z>y`y;-jEk`o1xCS=vx)$kn<*Z$%Iq`M$4fRwl%SK1FS!67DRPhJd-Qyz;K8xu=jys zmZs(I{@RZ44WoI{jvoc{imZYp0E` z(aPC0d13$q=U7h&Q`TJpgT06R?M^hznD}#)7L2TGTbg_i`l6bbyVopLYQt+drTiFS zyP@-Vjjap+EVc%=?ex+08O}Z?-k0yW!U`5E?HBPK{8cncoM>o;-<5QMB3k|!-?6b)f3iX&TVHesyq6OTAEXqZ{?t?Edws9KU;* zt$*$on^Na4`6WEhz4oLg(O1ySTm{;s>@JuTbEvP#lT;Y0{jOmgF6ZR zR@DoNN6rZut{juQ)FBcZt7kd1xrDyw-kw%FkHA&6&ba?eb!%b1!@H%BaV-^if z_NbL9^&XU@WTFq1#-}Up1f9!cFtxJW=QEq{4>eS)s26(Z^~Y?nL(B=Gzv2Qx08n z(pN5BYZ2@_@C1*sq$R6`tmzKS|IXD&5h}kGwEK+HPqVvCc40*<=skJ8b_35T@So@h zRnu@qvEX~`zpYh4yyjWe#9GbE7r(-gE^0Y`)GMzc=+ceeYqhRas)(AHYaG~z*C*J` zywhL7{?Q2pEA&ORL=-2}o~7`zv9gvzZ!Dq9?DO6b|GAobKp@>Sqb0c`Hsu1%oe-o&{w zh2mU{sGlJ(FKka;YcKh#JoRTY`Q_SFMDtjKBZTfKRapN01=Q`}cTk#Nqr(VD zXy=*)xGFcDn1>d=xx21z-2U^w6t(qQj+w#HGZh<|klgrqzwn_;cXhrw@l;X=g>=Pv zalWI1UAD;7QNNpv-d8Y-=*rYiNLF5zRx-JB-O(E?bGe7=%*#48{pbKWPd90Jk7ul) zeWFd{1J#h*=f&oxDcLCHnR-cQp@1RIJs#t!TvYBAsbc@L| z^1hU!oulmy0B;pX@V{;qw8{P_1pS(u9cVCmHJaa%;?3T$7W>yD9RyqXL$R+EYFB3EPJ3-Y$(m3@bkm@`@<4Wd$ zVfxo+ff^#|%SAc4;4<2ps9*T_vjXF+Fi$;W{hgnu=?~>4D?E;aYQxW=3Vrj{Al(qC zEMBY0+HE23JEOFsTKh7K{P;X&t8}avbVbjnhqBT19<))k5)aWRYG&*EOb+hHQ{1hU1-?FBZb);DZ%W^Bbjj-7=?QJ!Xq1LJ4 zqlm@8;3~?lwD7PKa0kV5YO{0kb%_0@I)nR3g=o+uFb+URy!0=F@i3->k!)t<$-~@x zVE*^$!SGk&@qlaIQZw;e3$011+pGtVxs-^x*?3lOl3wE$hnd17)1CLFuc-GvIaQAT zbgyUCdY>&%Z+Bt(fkCeKRo|DZ%((|MzD*^~76wi68QAb-gR)(2CxwJD6pbwZA5G`} z$aMez;Y3tUl|oLd6m{oZ%yFxTPN=&(l*62&7;`?(rpO_uqC&%pqH-o@HjJ^HbDYEG zFy_oQY-6^M?+@Sq;{AF*ug7&6Te{(HmPZFb|}(*G#C@g7xSS(nFoTpw$@wM-t1_e z87*nCX1q7X6J-dr3H~cI1lxtxZibP$cJN=z)U$anPm0k8hS!CCveR@VIS1)OCUemC z07tn5B$em(ZGm_Tx9`v>a{j6F=0eyVx0-EvT_n-Qu1wrO*0`IrsPjWK2?2Cv>!&W= zOm7GsX3ernopw=3kJEEY5|_eO9&4CoN&LSHpsLM`OB4fh-TKmbJ9Cc|nxjm)3V#`S za>hfk^&jwy*@C)&QYM3}%<^_Chh^Ae#7jR`Tq1|f+ME#MV-E%6R^4+%@`y6lsfc&=G6GRF}{3M{L#H0o|VqmR2bO;ma zA3CWQKIpzDvOdOv=?_}IvG)xCd#xjSJ zkbJEttWRGuSdiL$+j2O1D{ivr3%`m^&^xFPey2Lw`p`w!A}cjdTyO$ea~E2BG9-fU zs|M0fU``&rBj=tMb@V&h+0*Yk@3`Qq7Z~{6Pb~}>e5>lqo4VS2vrE6EwSgAt>?;n? zK)w*nj0B%aa^!(_)z@{I1@#>v&G?inLPu0x8LI zrrNx1=?Z&B!#gZCDWXj{ws*R0&&dGD9MfOSds4c2r(tKn%~n4i z+a6XGs;Bi}|NP)|l;(IBqflt88L2JS`eHb%UCc14^8KT>2h7Z)Sl36G|N@u)$DHtiV2;CUJ{ z*vm7qgQAJ-4xitm8Vk;sG11K2Ia*2I=c7t>F7L?A>S%)ngAS=Ef(4*lr--pfn?u@c z;tRrc2l)hl&!M2K{!H~L6_YN~<`2yg66X*wQ!QjN@^&Af;iMdGaTV(*<)6+Y+>=(| z?UpX3Jc3)V^bc9|ZpBwrwjZsW^I`<=8a@Od4CnLpQdEL&Ucf_E`xyo6?P=?*c=_sS zpjHx9it(;&^4WKg)Kk2yE4q_-8r{>U{pGw_am0=e8s|SI^B;D5#JTRlqprl7DY-XJ z+&J3Q?-a838)a^XbI`eoFv+#mk(`JiepQ6J`)_kZSlM1lx`*PYk-@A)Xl>O)R(k_G z$#NQZ|Ar2f?y$PlzyTxnastkr+r1+tzOdcHD7V3!%o=J>%P5g|q0>4B>#a!B&Jmil z&AbFo$7t14st5$m!e?pjKFP(K!cLIiUYaXNQ^;$!es| z&ChkHD{Rfops&6y@G^N=cC(bgGSYa=m<2Vtr>3|C5u`(!>o$Ul#JRVqW>O$$q2px< zqD{2Ha{rE+oVb5NlQkm)b4q!5ofrpV_Pzx+4eTIlo6Noz$l9ZK)p_ZdchakLI7V_u za0%(h;?J{_X$aqcb{u^UWRvayby-kyTV-uPa!VmBe0(==9_ugP04a7qm|;OMgDGSy<;p?llb_&`9RZ(BnK6l0TMcIwrmg+wIUE~a@l!PiD~Y+N z^m;JQ{a_UtKR&4moqg`N^bqxk1#7ZFl?Ek3;YEQ6&eJ^I17^yBB< z``|J8K{{2mm8B_PbB7b6fWy=)!YdOmzFN`6<;ix_Au9uSW-dj^>!Kjjcx&^jrGnTU z_CHVWQBIgBo9@cXH<&13)9S`vu7(VqSMM}bsTpaO;vdalY}^_Q#gsCVT>h!>Hp)!Q z&MxgvVZL(`IO*+hIA7CswJc~wl2*aG@dr&g_6d3c192EKLO&=ub|G{VC2moGi(j9g z$KcO9Eo%a7T^^uW4Odon<6++Lv0QTsJXqhg5%1-&yHzQ8W5XdiLLlLZU&qy_aJ*$< z)Oa4wb``9GNB8t+nqcD7TJY?Ys6G!)?AJD@v}{b zt2EUM%y6rLY9z&*O1PltRaEQwvVDzED zHSC@^uS(gM|CWAT^jPG($2$Tq4?9>0cNi*vUihV{Po{^LpcE3{kTFM``sodYl1x zSbrd|-B1tpZal5)li2C@+a3iCU%r^2-sB~ztgVWTu0Cm)g(F_Ap%PPsS7~*M<9UO||AAEBJ1ZXq2l@F0!0Z8cg%?wMd_`OCFv56@#Lv#jK;-S}v?( zk6lD;EQx8}>_8U6G><&KHC1$`fuoBY-O-r54d2>U?-is|vXNryM~F!mpislT7rCHu zTi3H)4L%-V6*~_OVmWI~G0xT2BXM+@FaJ?VzDZs`@ptN6j5zp;59)&_#Nk4xU*Hkz zEC8?2T>BDbi~3m4@laE5@a&7At^ps>@bYK=TbD~0d#AEj1#kQ=i%XgJ>Hah^BbUBd zaw3*F5DlyQXcyXPR;U_1w7^g@FV_@ zYbSTho3-=W-@y}`C8tv~^xD%Ue1iT($8xMCOjywOwVGNbu}3OgCcV+YIrFW1Y~fSq z!=P}fKazTDf3dRdA=}1+1G9(ju_X!c@BbLBsvKJ3?5?prcCSyXoEGYk?#J?%|CADx zHg8^kQc-Ng|Gead(R@IHf(|?lEa(S;mapI=^!4(i^lym+M~A`sT}?ATAd@s@L+kWI zBEAh>nT0KV)eAyv8ehJmN~b;-X}ptKR+ZVxG?=EM+uvrL0Xv209Y=%c?peC4qiV97 zDY8{H)A|#tBP+&nQsINo7x(zl1r@<2dogtPW7&-d*&JIV&rkR)kDm3K6~>5zMaE|0Z_RP<7X zKT!Vq>Se!9NSn3p0jYuwv{&&!{hXgb+q9Ny++<5F@RK~nWNIR-R4K^2QPXERSmoC0 zysRN&h-+PVTOFIqyoT&>Z(JVK$&_bQYG*L!|2x`teTpJb2hU4Uh5vIi85`m*TsHGc zMD+o64!1ffd|t#sswTaQ;#7vIJ$Kt6u}a;_vpy_}Ind_jIZ3Hk>K&*VvQL7K;%@OZDpfYfv>g`EY(aBjsrG;gGfQb#xaZh<(BcF#UXN zevg&~k?qQXm%)#V+BONv$rZ}_oe=YAO)L#lS8D4Vx$U#_I<{|7pdg~y(^j?rlOZOf zWT4*0^(#XtE$jANt*oF4E*#S|hJD8965MiBuKnjbwTsraQE0SHmc;4M+nzQI=Ni?W zw$lIA@k7dBZD~f%Z6B}do$A?`p4BlZP2IJWIPoi3^t#S6alZgt9njeHWUux6YWpl) z2153G&`2_q3KLum_MEpLHQ^s@Vx={0f+wbXbez3}}zE3o2p39#!Ab6q9-{x4?h088}*+>4PVO3e0wt_%ktXP&>88imQqr$x_m=uwJa^L zg5VJp#NJPbL3`Bv>>i{RDcQ-_!$bDzu+hj$q?Q2^L_(z#21mR#ais~xGShZ)mlATg znjgK^2IHG5$d;Ho>({CEJJ1fvV9?bdEql*vHL0H6^t=pnPM^)CSEY;2w(_OmcJNOUY@+-zP%1@Tj13W`QogY`Tm~bnk{Fy!^Scy-bxC4X;=ANZK;F?xNSDCuP#p zrWahaoPDa@b>Y)4lf1j_9&6GOWdqju5^BEb??+_B*R?6tY9o_U&`?CajcWBWF>6%I<2<3 zf_>Cn*%NIqYnJcqgUPkn_gP7}8nJ71w%p0uD@;mxAVC7*CLZ1h(w%Gy0(g>=7%#Th z@Rkwb9X~Zaxvn#c4vwe8@9TpmC?`nC=MOz{tw!Z&Bmj;KGRJdL`bMBfy1ah}aWY+P zHXBqOK8W(#-;dNHw@Od+KWa$0@Rt}Z`a{(v_~vAJDd$`;&?xu6MxB3crO%I>2?t#) z>DQT1yRo<`T+nLtb?RRa!>$5)Y3vk1WCsn*K(RuS!iN+~y7^ z31O7fF%DnvFZ@ovQlCIe5Z^5?Yz4&PK7c1#=Y_=@^<@=+_s3F8%{h3r&Qnt&h-X5h6$_DyDHs&ukdK9$gkB1K& z5#LeX;1w)8^cOx&UNyYmqePU6MOUkcf7yQ_Q(*`Yo6v`*?vl=YWLYYgJ$jPq`_z}v zd9Zzqoc!Qlw*GYy$m?@8QFY9>AK>p$bi<>iSQU#uJ~E1 z>80N0vM+&yOGYe}kwIb`@a$A}#O8XI*9(|fj9%TuQAx9^Ka6NHqDu%|f80tmiR@8p z$l8o~9yqM|nZahqX9jGRqe?R6MH}GuDuNIE#FfvJpmz__Onzr{^aesSMjD?cT0H3Q zf8z#v>+ESr9qGB{AZUl&J~M&i*nGK*?H!@X}!NFw;1Yg zDK|at>5`sCKjIAs3Y8!O|EV9||9%u~a`Bw}lC9`bDV36$EH8TlNRh!?`Rd}R9^3jM zSH?egsw&AZjnl8GO&3SWnRf#_40enrcBWO~;kBol0{tD5g+3J)5{IO*e=PME11AyR z7*du<{#|XI^B)wM{fi!@w3>J+buF^8U7J5+qw<)AKhbbvcYD4AB{UmFGMBaQ8n6T< zzLa|yG{ryZ@mPx_baYy|3nk!64EEb`hVc5r&=0oHjWo5z^6zM%K!b$g#ebs)JoN-rq5IUm1SS zsARh-BwXDCLE5RD@%c2?3{u~FbyHD(q0G+SW#Urb+7XCReQab1aMZX1*ccQVTHX01 zHQg+G6GwSAw-U>S`vuM+7+<)YrStvXDtXs~U;hS1&mSXyMjh^6aNmG_zt&w7Y^m%B zk=s9B%dQSPQz|z>dKJC6V{1Seaq!YoYvkM*?d>{J{!X~ajROwcyEW`k@2Or;{Ja+; z=j52Dr~g8;MN6LcmDNr@*Rjr>D##c-U%@ayd15#Ju zy#$J2XLL)G0AWOoVT@Y6TvNKY$a?*#YvTpP9uVAR^c4DRxix^GmTj^~hwK13g`=FqHS8mWGgJ4~Ei3O?Xk$JP)v`ZU zFAWOuP|6JdTqC6JT|b*|#0BZU_?M8FOMPdaX=(d5J@e7$3j<9x9giTSRxWGnG(N4& zz0tBeZq|4yWil8Q-e0&g#xcnxS=X9)!bZ%O^dc_fjKAq=nVMD=Ye= zqAL{ZqInrGdH0jW){9@T&+NjHDSbr7cI9)Jk1Nw|L|jR?0H&YDhz0)=9{vvCCA`^v z&*M!Xv9Y!HNh);9PQH3qu=~Wcvfr0ux9=b0m;N#3Cbjq&(aSUA-5fHgv3_vzkX{IH z%s}Kt?dM8MhqsW+bX+*h`c`^N{F-RI@pWgWDvAB4`~ zep&h%vXid{ZKr8sPNf*NDwPxCVx}lJ@Ew)@e*02md;UkeqK;Z|^18MvRZS5}&8}Ow zN#V^pKa;YNgJ;yFcak4sa{InPz8<>p$kmJ1D)d;Bh~57`}pVDm#k@eeUE83|3~y7Ib1hQyu;|* zJ@3|xiwb^yzA%&M9lsoGXFAb! z6CU*K@e9MU)*4h&z*lXu(L*@nfSgqcJ31?=nv+h3mq`cZA_&{; zrdEuL?5|@<$quNIF40s1_Vx;imHr%jZzmO)tS=>*T1nC>Vo%CaLQcr75;@AzEe682JrQ5`O0);u4d7 zt-+_|%&Uww^8|I?hUj2k)RJD9iDS>N zowr2JcS<>baSS=sFd4dgN*hHrHaW)odA=|_HgjVjjL2!JV_U`Q38Qp9IKS;O8}*md zqf!88QRYXoEdd7hX~sFbCyB$E(m8Pdn-WTfsQW?@7#c3A!q-0q#J!kkQT=wnsWvM( zd&g6>`S-Sd4p9;vW@bgMw9HXa8bD23YKB>v? z#F2kJfke7(Nz-HoGWBk(Z|L1vu9~uhTcAt%@i;iU$+9zy0i+Qxe^zGHc!{Zz-HiPM ze9`9F1tD}7__l~76^9}fYbS+AhNG6k7hfvGy-^mI=s>b#ft3X@Ni3Vvz}#t8nBJo9s^1A0m-t#2WsgLbD(^^$V)}#udJXQ&pT0s!q>g;= zIucqI!ti&ds5Md6XM*OU1@b`ZhiUX4;>{+6I_`4k7)tjQS+=NX&xiCmkb67PvSe`P zYnmIjp;5(bwWH@4m(-Z2EJIIL?=CspPhd>=y;R&Or`loyj4@eBkx<&}7FutDd=W(= zv%46w^iEh@Hc8=czgbRLIQyAg>)K@3WGw7xT21U)Rxo*ZKcQvXU9l+OtvckDbB>FR zYFv!am@v3$%S=aQla>~Qbw<=VCy_8}GYS5U6R_`&{%=HfMoJy_qPI9!1+r#3d_i@) z^Y`>i9LC%y5ivcxo1PjdAXGz%rvR#0*gMSINrt)`^AAYz2aOP{_6)ISBs-VcMztuU zEc4;mxLSv{-y$Mp!*ZQgCAT@Z+_f3h1is%M1D)0Ub_55ow=Q7HD`qT*e*AmZWatmw5)DVC|b#e3BGZST=-h+!$?c`*ot-IB@vUB_PM|v!i~C8iio8(rPU@vK&PJT?~U&UyQ;t{ z9%T{2cNn)Q4K+xuZhvW|FKADDCB$}b;}|zrEFfLoZ;tL-b@zeCR;BRKFk;sUp_Mj^ z`cE-CnLz5>(VZXGrDGMkNbZ=?lP_!%Cndsbz6Qap8=tEaH--lgX635(8&}4gB6s07 zgn{Wdu$BL)YElVXrx<>>!M1kl$@U3pY~7RSh!G+GAeMeB6I$#3gvq%NZZh~Ua#0|@ zI7b`vtUCO=^LgwivYv0Ci=Xg6n6evH<2movl$G~T2j$ANP|57-XZ?>9LbwO6&T?@0 znT?(N!I{uw;OpcttIkiwb%fXE-bGdmLcaFG5N5icN~ z<#lrdny2NLCgki}Z(k3k{3FSUw(vWt^xpCGMe1hh_Xo3?BACRvQAZoTK$%)M9 z9CE{^5u6i8z>ATaP(cYClj{h2Ug4F?s}Dn#KE2y*dj+X*v@zGnZIA3beHv|w!cfZm z%e(T8>}H@Gb+r#>*NSKS?Br_VPm^Ic<8#m{St*3F&{cWW3ifpe%>0E8)ldB$zh@gX zTIhSAVwIgLscl^Au z7;p>{Q2;jD-nNJ6z#BC-TE>cd(sL`=jtGy~p6NYC17M>vJRhHVUhs zQ~HP?`{-hNR@};)K-u~-2Rn5^M#pa3)~sXB-0OYH&)|6ro3_>rlrV$L8h)=++71J~ z5q%_zs57R<88rKi>3>6E2)}H5!GRmUhHY??3LSoBe$R?Bv5Ax%yeC1nvMqqTI_s8 z2^@M1u!A>+o#C~g)~PRXbE?lk;e6s~!$yIh#hvPfq~g6-o36AWonhUHmC%+((YF%1 zJ{Mz+3a@OlI?O(gEvC5gj>bf2BrrWfT*{^lo9rg}=be%Mt9UEx+&7O!kZkxLT(9_8A6NW72Bo{Y7E}y(gDcGfm{h^7abr2m0&3d`8xPr&z)&x z5?)@Hmyu0YyaRyAmz*By_TBMPv*bECN_3+j*^ox!6C_*%8=H7BJ}vgHx)}X%5(mtq zf3G{lWHy`FzhzSD${Px>e3BTep-pwzdbz4A5rxxc@p(1i*jC({Ux70N0^XQLfX zOzlSar5w@Zgv1I>E{`wIi@C_oQbJgQ&Wqh9LLYfptCsOnSDTN1ln z8r5!9+%o4$8zJjPI4Cb~_9ibbeI)wu>C28EQfj}Mi7%$@i6(A#N-X)>F>g%THRS)8cOAwzn66>;7?|80!`Pcolr!Q*TrU6O^iZ9a4`Y1uv=Mn9o>3BG zVkfffx!8k*dkEAM|8lAXX?%RUNquNEOdX=mgvU7*$EyIlTN38i9y#80MvzHM^eh%3 zp1Sjm8fA?o>Y%kQHgA@2mAj-3NL*~ zdwp+^&{v9xi*Gv1Bb=u_Q&6ck9nSEu5vZ75(m|82pI8 z3wp{z7O69{5};?K#jeYvFWjY+13_VavgCTnV@+=mh-q*YjWHdPF0q9-7cBeL%PO$8 zdHX2lVSE6+A!z-~PBR*5zd1=OG&Z3RU;@m(e|>C8nr!z%I7RGT7r#TstvRKzuRYhNJ$Tjd zP3_Zt0>!^>OPq-U;QT@ZDa+b`vYWhaG2(jHpzkg*q+AN=y!zFqj7?|DG1levF;&rk zcDw#|576wMQzKg(peMB9XO?shfX&zhIGEdI{~08n6(yUS?JwY*Qxz@N311_NI?Zq? z>Ot;ivCQ?(QWpDsV$wlBe!r2iG3Mk| z9S{_{wS>!Tie^Yq164C=h-<|vg1P37vTR?ml-y8rPPO7CC^Z-sCKCL+u#fP34`e90HvHwflBBc`bIs6&YC8_Itu* zrPN|Z=|0s~OVM+6rhII&(P{L|G2O`*Y)bX((crY6yU;-XkUy$_g{p+~yQ<0(|&e;Wu=U(#E>DciN^3!taxEA(nAlOw3 zNYIA7a03GjAf#sTqd(gX@a?(?hU1%^v}1*)pQLLW^)la-UBp$zrrJ^-n$BGk8%?)k zfCHVyByxy`=io>-%|5wrw(gyFwIw>5zZxZ2xn9;9tCQ(1v-qTt<#7W;n=&$B0o{r~PR9RM?O=eV7{VZ3%SXLsb7Mt}K=AB*(T&c1{( z>r^sn2b41M`TUwv90ad!5^AFyMb|5naPLkfc#^VUSM4^#I^5F{RY(l4 zb)AGAX0$)pknz^TTWn}B)>acTKwK~u&(n#4cjd2Egd zJ^eWQS#IVA0_;$`4%ah2>*xuvjGYo_PslF4Lzyrd8zOEmpWuGZ8q-fzVZ2h)S_~H5 z!zDO~tv@y&K;`BAM2aud+2NhlHrfaVILCGB*<(zw+J?T08OcsF*eSF7%cs|#WzCzM zHZul!VSd;j*j|(dl#!cF?lASMdal+0$+Y$EXnx}?(g&3qlZkkF*1N94pZ{b_jZl~T z@E@AYIBWjZRZJiw-XYDJ`(W64yb2MNwUwZLHDE1C+9GSJHjk;#kVG4Od1H$N%MsTG zMJekw>dXJZnAETf&Ib*7%Yj)5Mc8SAH#cl2B+YSa>H0lBK;?>dIGB4)XFThY<&tsM z=T#$s$=@pd2--zY+7*k%ZvO|R2MG?p+p90Ku%^EC)7Pbj$9l>MbJzSzs}-F6x(OvR zbL1NE0AEL!?^snkcCd$6f>zhzOTB*f)v3q7Jp+%6bNT?g$bgDGJJ)Mc-bsL)*X2uj zbesRSGhqwu31?+mhr`jGS~X4x@tqp))Te3uWu0dkue;mdQt)xN{1p}(b?YUClSZ4I za-Z5>ukKYg*-GWj9;SNS)$%PP-Uo2}aLvm%=Qd~OVjE88twE#iBunG&*9aX>4ycUn zS(Yv@gwROvhQJe6p~yXzdYIruS8MwYdBPM8GNYeoPea$L#b;LvC1lNe=Q9FtR3e|a z_t^XU)X4)T;f;-P$xYE|twPWMHB+3aowW9T!_Udc$z4idQ&OuSjk zP%icL3+@|@7gvtU8^eiUL+d}=gSij(EO~`sqM{h5$?~}pzeRPEp);{3mT~M_XPsX0 zh98unvg)jZol77h$Z}5=@^wcDQosz#dqusSyCK`5m5zGX!jnb;REk+w%;#ESdX zrenWofbY9H>5Ihx#5MtBfwde@ZDIpnHU5U2n27ZZJLM{W_yc*`)%F*4<;t2+h}&f% zFe{=mxTsPz#Yh!UthAuaR;+~!=^Fw8vo2<%0&3NDypg*IJp~%ZZt3&85`y(8v3%do zk9a(#Wd2@tb6Kr^iW}(Hx`9V&&L+PD@>FuRbyOk_x>d%|>uq9xD5sz#(o99k}1XN^qtkbr-{X|Qt$VD zDV2Htjjk&a32T;MBX~ja&Kuu);>Zdp@m;T4PYTktK&Bc?&|BgMBEUiDvw$Y>cHLEG z``+-z76jBYP267(RuUL_(fwvPCxluc&`Pxfy&qVjzcNo?>kae~SBy`pE3;vY@O$<5 z#QETlPFI_%0Y^)%XoJ%cb+q9!XG<|Sm5gJ?_gF~J50b6YsT+q{M5OCh|9;{*L2#~| z$|In$u|(%`r)!uLfEeNgn6|(VPc8!nz|$gX7b(X7I-Tn3Y;84W-kO`g`2}=HhkNn_ z@ZtXEdBb`svS1q$>G$7!oMjU#5mB$xVO&*TB|Y*|!F@s7WT3(cAd;mD>{MDK-lh*r z`sW5#ai|4GKY|l|LTRoYD}a2^9_uE28p#0MnM;uBj(FcPznDygjw4dLALJ$!jrN!0 zWWU$X*MhcX&OBWNDuavCrr2HL8+A{`i>tzInt(HE2zWlhSlvqx^}t#RtQXAHEk zq=0w){^4||ff>!k>`rsT7&FhxrJ;*Vz-g~vBlI8UCqaTe12dNweR)bnTeCKPGx@>x?q(zFAX5i)zf$%JF?RrJbtOGs6ANGc;6P zP&z>}|D(Qu+I)2}c!XxIJV6;sk6-%2*sOeh+h1aD_O*CUc&)U3T?MLb7Z@*58|S(X zMH?QeG0fP9-t{V{-bWc%GX`d1(1_qH^((`pql^td50E}jEZCLt9o{8~4q>g$J=aE_ zaFB6WxhQ@0=wkZH){tH`V$)oy&o*tMObG?^I{YiLh`U3V^f4Ngm`6oZj>OfF7hvS*D06}CeG1e-!7bm` z>Mk5)&WNj%%kNC(@>_-F*GPbf@IO`bwuO%ln#S(X(9`M#R-l8Y=UOaEsiC!ESMs6=A*_&%C zf6*_5SjWS*({*;PS=uZNNjU%#be2rLOvRinp^DDfZ7M8a=x@%C-Du=sM z1I#?=-2J^vntv|4#A0m{Ok_tv@2f*kLQ-SQ9t0Z$K27vLYTtfd>ifhrSEFQNkt$G7S;;$opyWN zL$D!jAsG~BUEC{csJ_TG5$^kp$!IBsJ%bbud9bu4HLEFsM^@4>rol zZ<@RimC|F()#pKlQ`)NEg0ghlO2I7tf5G@W7mnZ zBlAW}-0VS7jfh=5GSEe{2V?uF7f`8wvgou>9SyoL7@ra=>fuFCS4Q)&|NFFPev#X)k!{0oQpc^GVi};DGQ|KG1@q1CFj|g$A zd3~bKBXJHIU+xd0Nh{S^jRVYHMP*b-8DS6;NtteqkYd{5zM_? z?z_8Y+33^*8IjyIx^sBOIlbqU0fD9MH{a*fm4k03WJOn%NvJD^EMUU zNaU_dVQ;8o03zR`?nD#T9HL*9!vH8GJh1ijBJ3~&94_P|Uzd=aib`w9hOo`#{nLsZ)Jucg;ir1)-?Q=wpNHrN~C zlmXS>y+wV-{j0w24Utr)MwH7>72l1GcX!~DW~p?mTS^h}b#7(X%YQ)D2>3kyM!@x+jgHbC$12i3Dxj#{!0Bsqv&VZZFXjl6a7TIiaDQewF`BS&!xb%hUYJRHM|8+YG{NO5y?(+!QXscIW&B z&Zx0}=J2hS*}Xi`gkJ}uQ#R;Jgxx_nV1{z({MQAGd`qC-Tg~vMPX9r1UPSw;z2m-S zy91dxW`&bcrcZyk?#8R1kSneocc0#asEsPu5Td-q?}CVQE4|~b&L4&>7v_o3gpo

    jViK zLkAU?=^l;oqgc+}QLo8ARlC*i?+ZP+x~lOJSXsy*nj&@CBBD86DU4C}oX&HfP{((` zf^h9a5Sw&x{J>;e?a#MA%KNv0i#mPF%=is9(4Ns#kk&;p(5tDn&;TxUG`!Cvr^BC4 zr3X|EH*ZZ(MSXnXctQd>*q`4K^{M8(hM6NdYW6e)nu4}uE9huPV+0@v*~^uG?RVkt z^N4cm_%tl-qM4SLai93^?7$eYJwQdFb2~PnwouhtU2;?roeg&xsOjwEC6z-&U9VM1 zS<84Qrjx>`A)!YmhNI>mge4UxizL}y!4CI2ffM2NNddnD;wLx`V%opQx<9eMheR_M zD2Z-_t>(^+km>xtrqZhSU`m@f*PzL$x0~Kc-i%{HMoiQpGj~k+n|WuxboFwgp|(ZH zMcMlRIgWBHI}JHN*Zen(;CdD($JpTkKduTI#- z#sp4jr9@lI*y4YeIB$9P?yAa(%ao&H!xTi{V%?^F=2yF{)eRfA&LFdZ@N(D zF7TtnzT)k(>+37EHO|8SSRNd`(u_X{P1;Tz`HHvZ#Prp>b1Pm${UID8KTw46+$<#X z0Y<$-8Qjf)9fE)-aSSIP^X47@Y;Vlc{gIv~jW;P`>U7pS4vsO9gaPLNfra$A=+! zwOjaZ%U)QCNvx9W?}!tZWb{hZpz6aJ5tDP8U>&nBj@OC~>S&2&TI>PY^n?!yk7J1z z0AAWxgw*cRWK`uYwGcmKL5<&#h@?K|D!PA4Rks<~tvBM)Ds!?O6oMK?Gt_YmkZW~T zQr{yGy5!=((+R`;c#gxOgG$y0zd5^0kF<7d`idT<2#@tUmK6J<>#2X#+r@4GVq8{U z-kMoqNhUG^08?wK7@1c}=mxX?#s1D5aRXlb#-^+hRs{j=Pm|m3peg)KeUjsvhDmpy zm>Uk({64oHZ(sO?sd9Ut<@`UI&i$VW_W$E`D=LR2MLFgWDJ)@g+>|1>Q{B2Fr{z$@ znDc3;N;%{dx{+ausE;!_Gjd+TlJjZ9W^+ExY0P~6^8FjG_v3oJuj_SqCX=&{p7q(V zTyL{&)v^j^8X>Q`#S;*|g!g|6Vi1j5u*qZ|SL%XujW)%}W#{=vbr$%~!b3i1I}72P zy^^J{#toQd%r<*tTgIFITKh-}+R!1b-N=y@ZQVpw9(vH)?)ZR`Nj|#Fr9KJq>_{e# z^ko8g1&M@J7dG$Bht|C}_WlEyV&5?rVqMf!D-k~2ME+n*4A*?*rZlfes%_4;Y*+q& z7r^M-%sArAAYlkvE^NjgSO~1_I-Hn$9xR>+YmRPH19linc17(X7e*)FXA9OSE#y^e zDM^xQJ_40;kMX~q&S>OnZ_R=^iP>Fwhu~z8fzLSjxJHgpG{gK(=}Of@G`|aBt*~}c z>6R5WFjDqdGCHa6#hZoE#)RRGjg6Q9P8um8E{zY&SJX=~)usIlU4C7p;rlXFtKxU7 zY3HV#xVp<4+`C7-wyFtpA-desVP|gOXjsXQ?Im@#o=*#Z;n1{w{yy05YHO|hyN1u- z$qk;GzVn&kF1+W+W@-sZ(u(c&>*Pm12^7XvKI{JlwFa4b1(= z6;{|E@2B72YiEjp9OTY0E`^lWw&0t6E;Qbc`?5IU>zF(>+rD;wIo}f$88Ic_l!w-S zHlfh2F>cn%cE^a@|CtTg{RsK;02w~oKu0`$^Y@@vT282Da1&Sn^m2)6RQAR-&S171 zAWrSSM?Tkcx?CTg`Da`-Ei8s=p(--Cq{x5vRxd?uYvTMgq&|@VnN3T?!?{MR$~~}} zoLiFFIk?aDORngeE6p8cq)Qg+a(s~3HjjW;_XX1cR!+h?-@(MLCd|gqrPH+$@9d3` zt}wq>^6KQovLg&@&bp?oD2TpOBby0L79&NOILy}zp8H7}+Jpboul(eeVIMCmHIRAk z2E21rIeYEr`rO^Rk;@st!^oB1*hog9Qdj=V0N2fnf3NLXwS%? zU(MA!LVBtw&Ub2+_|ji4!Lc{pB?2n%$f!KBprZa|?!8X1?e!1v4Hb_$n)~hJvCxC{ z*&4LMUmQhcJ3YZEshx=a6z!%M=HD|phe#I>QlI3sQXain!r8;`b$8W3!YfZlD#Re4L$88A^?6*pUbR7hry|Q<~FN~PuvHjG3i(D)vh~Ed!3Eq{XUs(kc zO34Um7&psG%_&K(`8O8{bvit8Z`GT}%n(lrQ$M`^NpJS~DWsqY?>xG!PwmoCr-rqn># z)>j7~`N4|Qrw$DRnmdLfqTu~j@Hw7YLxb9-Gjw?Z0`ko`pIci`2S7+9@qaE>*Z{ zbQZ_ir&o*zmJ`5oL=E7x`vn{CfH$(Kk?^ z7KtiFRxtTKZfr`R33+6eFc&QsP1##ebY+1#x)_FgyW3V4uqT400V8bpHfBP@1H8f{ zrJ4`K3B;)C9pa}yThUkQVy)XqB!+~!O;pcEy^$!(2*6{^yF>w+aZ`J*ZaA%Y4%Xas z0=Mx2yXzkHQ{M$|N8rn1f7l`RU3?@X3^Ra(^WSSQ?OW`GUF2oKMy*^yDKG5I1Bdqj4{}#7#dHB`Oi}jN< zKAj#Ro$~D!>t^I&=-$HIcL|r!v)oSzYro*uUZHv$ufO#6_YF6UFm38}u()1ugn4;n zeP)Jl5~oZpGIRhz$OIT0=-U_G4)ih!lnbhZtmJ-2VxCg8nWegj(vR(QwKkWZ{48f8 zgI<2HItKm3tChBqja~nUq+@7>Qvj>r4dJX^Vwn-Lj^B7&=f_Zu_I3QaQ0>W(iI}XPn%-2P(R!~mCa6}&RDCRXHK9rL~C(rs5I%#lL^BB;n!z- z8Qx{?u&Zn@NP-DF+vzH;gxXYp@p z!}Q*)Pa(d|J04>eCzKl!6Q|v&7GyW>FF!d7=DAF8k5vsGE`3NnIy^ccT~L+9%_~2j z2YD*jy*+vRjWVR=)Z%P(x0pPbNA%x4s@rsGjk@Mb#6R>0hRpWRa~W|M;og`%)=_Y!Dul_UH0iX45?`sn)-I7%ep6Sb zi8jYTw6^+L*AbVp@!l{l$^7#YDUE)wtL0|n!uuo7miRhM^^2AGu7Gd|HBw3lV&{Yo zM{Q;K*6AtbyWdwitumGOfGabuc|&eyJlZ<49hDg!PWco?>o5d03c|wMYZxG~CZU0CjNbRhSCC^QbukfuNOJ<=%IzG-|o@ zJ8vVTGp1|q8ilpHXkBl^_ZOiyG6ks9E7`)QRK>YE;`oRBjkw&!(J3Kax%@=w%kzL# z!|F+go_e=}%O94YU~1_+V~NukCJkr~OSMvO{)U$!aN^c=5@? zr)TCC^!b}q!E-ktG?Qn8F7ts6;U436{WZV;JyVo;1m%|Y- z35099=FMy_pGhhG{EgM)v*Dek_G%Q z63sY-0CF{h`JM3 zgHy(7C>D3JbE2(9v1`l&_D6W#HYaYy+^hK5 zkJRS1`O!rGR{PxqrG-a8U|FyD6}8$Wub|)jZv815eErODO_f#OaB}D_@1rj^l?D6$ zacZba){WKKLx`+dTshM!><{0o$fk9{o8kdMRVlf;&1f440AJlmwiF;8^%bepDTy%| zrKwgyNRfphEi~uQKRV3@ky67^sAq7Rh!_@gF~7X-I=twU#jP&p+TT7F*8(;g_x^`R z9iI3_9^zBKR`6LPtx4nHQ-vQIfOrDLiv?`J&CSD1Bui776QwU;YA}l~o)Jud3M4$F zbcDU=B?X^C=qKTNpv+y%w9Zqh;7R#jukDyTCbN1Gtk_7t~}{ z5xImJI!A&h?c0|-&pmzuTQVHoaT z_Vcpc3CX@fy4HNCsj3{di{RXd(#aAm>3Acw>-p?^mcO5uG;VP#BX_oq)&b4HPXJ@x zE1W~QE*df|OPP}|tt7cMM^BJee9IvK1M08lz?9vak!iU=V>b^?TYGB88PZlz-oUu* zj=2uH26P$84p(p1zZ+6Z9+n9c{7~rkb@H=B)nuC3x_E@61^l|yj<7-6&k?cR_?sE* z3oFAh_GDdyj8NhwBSEC!SEMU*t>!k{_Eqj_>8A3SRsb%BojOhx-DxymZo`dSz) zA=r=AbjMsvi~NaXpuH;DyYtCk`jK~eFNol%?_ygV^9E8rDSg&&7D32XC3WnBYKVVB zkd0fPo3~?*e7OB>Hwd??qw2=uqu?g#dPN&CvHcZdWgE!@to@kqIQn{To-I*CJ9o1YYf z@k&q4@ZR%HXu#v=KHQl9-d;^-IQTa-4tFRHgHK|%?zg;5dwXF$IkK`KOD4Q2BqI%# zw_|aLUS@Cc%SnaSTm^G0qk~HDXwk=;KC>SkQvUTzj1(}fHa+ieYLzc~;H`K)!4wGh z7(>VAmgnCoz4mWfa&kbbCCS=+|^V`!TjpUeO-AhJELQ3*M8nRpIdv&iIn>;}1!RLsOLI z_02W_1puo#oxsg)AM@D+(L?sqtO6z0rlOnmTR=)+y8BVkiK&S*h)SuX%yi(NfI3=6 zLaa_UT32Cm;1Se*Ze?B^mg^b-t`C~jXOdKJql5)fPH>n(Q9zJV)tanqmWN@(_%bPysoUVM!C-|d5gmH6_Nnc&AFqV*m*AMM?K{;av6Dk|q6Rft{0VE#`CW#}?e-}B(S<#> z#GJ2t12E7KG4fCUpX zHk9KSMKJKVYTNjuKC%J+ixc?gzv3-#r$7U0u)>X)DAH3j%d3lY*l8Td88Ab~JJ_!8 zJgsz!EHBH|QJY!gAZ#p4QA1iR`g~D!ZJWjcX0vmm}2{ z6L#A!CV_+cdyjmL$skCJmrSruD08d1cD>#>Tl_0qRc*^-tEuY0qd9rF%W7!2>#F^e z&|0!329{+m{XN!1vrt2rRUEXnOOQP&REn3F+&V0dlKujxo=us2EV41cvNJRzExpxoEpqcQ$r;-5>?kO`eLFQh3Ae99pZ0h9uw|HDsS3pMlV#w7Xv7(B1c z4RxI($C9N?9}Ii%uv3}m1uYNOyM4>!m>cKMtMq9?>>gO9KONxB0@D?jgsbLRuT@D`q@c4xc?Vmb4nj=B~W%ewr?55fzvYiVE9L)~P>|iB zjs6Rp)a(=2)$g~R@XB(kw^{p*@n5owg}cs^#oU38F74o36)~0o0dJzrYW+wzzR7v# zK9hWCd=atI(%o6Sve9CcpT06?D%7?66DLWSlRz`p;QSK${`e_6$+3dy<+1(7qHke} z73)C`VIs7fiVhinX5%2b)y?9{U9z?Ui&5)CO9rvTgn9DLwluFg)CE z_RN)zX01jelYf~3F6Tsh-WX}05Dn1r1Dxx7@Uv3*>7%7HCzRCR_}M?x_3spSY+^Kq zD(j17meY%QESPby>GztSpfYXQpUXzCo4bwrMCh7Z+yM3K;jGOP;ze|}G9H?B&ok!t zpLJU8dVl;P$Wu`A;o_Eo?YSRc8lL!nu6gt|<@n%h`RYMR)Se4J9z-fD3~1r>uxq;J zHk*5|56f<(BVYY@ccWinN?Oi)d4Kc{VWd)|IsI@?RxZ?Jx6Yok8rf)D?Kjm1Ve|mN z>N9TzQ>Rd6K*=NvF>J9CnslX>Es{#d35Xk@Lix8&CS2_C@aaeM%bX3O&f;9Ez^44`?AFoBe1mh zp<8PyLL|j~|AihVl+vq*ziJ$d2&0@e_g`d?=SKXY8DrbTpFk&OF7Orc0<||WFF7k! zi@8huV*hHo(IFIPUY-;y(^V!3I`lsYV)sH7a_9Jo&q@REKeS4FvsjKU;U3AE9^D%s zdefr}^V-VlzLW;A1C;%Dt_5$O0=mtj*uM31A}Zf|oY=i-=LiyK)GI!{lRN4#?b`x( zVue*ed!t=_&nNuL(zULNmdV-xpGc(eCF1AZO_+3Yq+}7I?y-zxADB-$w(IT-pSrgj z+`#r@_2#*l#QCk2pSE&9fNtGs2XRMfcoNQy+Y+$TYL(z1`v8)(>-i&7AszK>R4Kcm z1dFAW2yqALf4Cq!IvwQ##(MmI>9M^^i%P;S1g}<2hU964>)+-N4ou|E(Fea;1(d|R zyusl--7C5|n}|?Pu+4hy^&<=P@dywB;hNkeM2`aG@9)<}_DuP@`V^Hc)P_!+|EL$V z$>;D%?}+nc1(vW{z-dhX@_dQon>P?oReB@Uu?*?`(C1rDv}h;Yo9V!BjtypK$R zc?oS#@%m327aIieh8uGo0f1M5+t;7~e7ziXuTQZ*{J5^{VYcdr$zIk%36fB!rTISs zp8-0wFB+#rzihwM?vPYid0-2|Zq2yM3)A|=WIx5a(!hvBN3cG#ej&SoIf~?vOo3^D52nc0Fj?HYV|*{sQQsHwqjWpDn$HepScS5XMqM zFS`lOmbPh{E*QYFEjYqCWA}v&=m!);$e^i_=Sa3{AdhTnnw|}E`p=-+PTMW(C8Mq< ztn5Qz{+SZR%=qQbfO59l1(a@YQ`|Wb*j__~i<}j6VE)P4qqnD*hYmJiDx$E%Cg~M) z>tSg79c!chRt*Wg-Ioxl8p3z8k@go$2K#$Lv(BL1Hw_y&`Nf3|o%TNtO;E9FNsqF? z{hz%@@X`1eTbq1$YrE&HU7NbJE=_03z)=E!{=>wkrCSk{LJuVT~Rdes^GmX4)i zT&g3B)Si|SKMUronEYN^MSrW+hpk={xfW-y_l2dbQ#G7`h6#U|iO@7LyOkf4Wkn#x zHpe>6p4B**hgoE0lS*rLK75ZkSXG^Uo@nP^yDCzQoW5`rTPi6|4aw|Xc$($ef*H&( z0qeWycPr|Y`pa!ByBsZOQ_mOssCT#Lm4KjHc~>c^uJNr&V$=Mh z3B}gZI3PfHS4m;KVI)~(OQ9x>y`a?`()(n;-P*}NhHbVwTYH{TUts)!z>yRMwFF>) z1ynWrg(X@_?#+i8;+HCq81MB7_1--WE=LjhEfe~09iff{}1n@flx`(-g*JD2+fC+4S*^^1Xia?O*>jM6^iQ{XEC zc?bA|UcWG95ZRR>5jHzI!}&NlMLqLaF!J?s+4!aDIYb;e7Je%&A6VTh)6<`M=zbG> zqA6;Jc4w>i>();JKxwqB-uB5|myj(nlRzf2$vNJn_;mz={l{yg;OtKS_nF0{5Wg1v z%-FHrNx2GqHCQoMuQ|4VjupFLZ*)f9%a-CPF6JbnP&yj+wN__H#@h%n$j znV(GN{dKu%c@2f`zYI=NSUVS{{bXL`l@n3|1%Drn<8*v0za-Hy)4*bysJGNxy;LIe zq#d?h;x2P`by}Y6f13F`D_WI~{%M>bkKAkN*E-x&$smob2h3R5#h(6fxBs{X+38MZ zA_S9*KMO?Soleh{FNq~yY8v$5)NFTw^kIxdp^ z!*r~e9kVsmRqJg3cfIQ^UzLNmq7A6HwMfW7=E`LJt?Z7#o=q+DN26s$l)yu2(b4H5 zwR!-LE%7yyT?LD7tfkL&z(*nOG|pRZpm zf*n=IYBSumLB1d^&;X%n&?FYW!CtS(W=C7-c}ul*H131&P;hBblI9zT%tH z4hrA&M@A5O3kJQ>xj;KK>Q%@Zs6vPWb|q1xcM7BX+gLHNy40W9aqO$Q(e!zS%enXgQk19k)U51qn(M8(2I2d| z{h2L)9WUh&O)3w=03yPMU8Xw7r&ZV^{#bvh{8!^%Cr-XkE67_XS(fvHTaFim%MMrw zORyI^B#On4hXk;8P&(jKELuQsYv#Z?hr|yZ+a0>%KPU=+y449frLLT!dPx}&X#4h& z)}AB2c)7NA_SOr6x6i$XeOz+KZQY&jv8g<;C3Ji+=nkXf-)1!=ANL(w$wzS14LL1a zl54?RzcMl#VcLKrOlSdH3+gG4ax~Y>^PyHgQ5Gym$>VOPgQ<6e-zm`lREh&N&v+vx5H6E)K>aa|6{z`&MnLVqwO=#{|x2DKv_6J2~(e~Iymc*4H(15uf_R!b-qXSDu7B6Isb z=p4rQrBhBCp3}z{-E=1;U^$dp`WpIl2QRO%>eXbDmWlLmm-;sZ1nBm*6ry%9oLWjL zNDbeB(9NEJQ}Ba4Y^WI7Y+yzciYgs`&J(aVVhSxtljPp+R1qjVmo+f^wQIkAMwqSI z#ISeWq)k3bm~&4*mS{iyhSy??@)KJWeDFeMJMW1jSWMQ=*a54>^L=Ts^U+iACZ40A zA`|DGpjV10z7uv20L?x8iG$V!epqZC5BOyqb&FuHM@!tp$kW>XR2^78#FPI zeRfO}Cc?a@YEJA@KZ*P-F_o_!Ss|jf+xWRL^GIDqfQV||^hubehI5_sCpa1}tSYAS ztW^J)Ffp_ne3J;(aeZmE08{;Ie{LbiG8w@O>Fu&9^E-*Hf5{nlvARUq#KQ4spth4`fETssS@wKG18gr+C+7Fg>-=V$@_A0on2LTkZ#RPQ0j||k z_#S__=4Gn~esQQo+Z?LAKItDtDZDbPhy2I?2RK0}|8VDyKb{(GXfiSuq8=7>#?X(3 zVB&xEBM9!KLO{?zm3z92HvAUl_(%uT7!I~4k7C)w? zd+BCdZ^{*3ynMevb9#RF_KVr|vn|HSUaSJ;kD`&+kU!R}v*2%^rZ`Zl{$vB@C&FA( zui~@TS5GQDWk+RLbUQcZCBqM&PO%^To-hB_Vsfp{4T85eSXl@K7v6cls(6OVBD$nD znk?D5{<^lHDzwj}@hWsI#0VvKQg{&?sxjVRN;q~BN7rywtIN7$=Fv?d zaSL-#LCP*A-C#o4^qa4I2K8zUpnS(Wqc72L(_#NP1|Lix>#gwsscQoV?HHI}UyDg~ zjZzP)Yyz2I*Y6%vX>JPo0eE-}5WS%?UwrA$_enDD)5ZoLkmK8t~8`+}> zec_JvFthH5mm;{6Z3TPQtzBfL{jMtm&N`BTY^%Y728Rd#OaE;~NYlZ|SFqRcfInC8 znOJs}GN{5i_Q;=a2soJ+dzhj4$zX9IFYFtsi#un z*dhycvZM{{guKd~Nr@~VUnX4gY%k$SE>7~K zJ4whkx~PG7LIyNWj2yVND%^`mMCW(JzI#7o%%I~ZL)u!8K-%=99s7@GpXoJco7Xn< zANjoP$hagXb8!>etbmVW*E;pGQ**l+tddW<4hj9N0=vQA*!=) z{EG%Z#SNaR(9+2J`~z1r6Bm9SrF3m<=5lTq0NsHM`p#iTB=?*tr%+um{I_r%$}ddA zQC%f}UX-kdslCBhRl@#R#fl1v(hPL~FIt%YZ?3p$Dgw^=5 z={ChDtbiXr+RWJgYzu}WY9x6=3$|kM;i7hpX@RgR_k0#50iyM2_txs=YjJz)ye z{L{4E{$t8`&2{IICh=r*ox4gpv5qL8^XzAJBcmPX38ba^Q~=$>GY6GHp2b^9I8=ZA zAXH~01p6*iSt`FWk;~^|E3T9%P}A|ihFUQWreESa`WOKtlZD4a8E7;_3E4`C&VEhNZ6;JZYUNWUzMNj zINdy61CCz$xz={Wb8_?F5;AivStU5f50O__U5c*rh)YwezTPgIwHV|+Ft$B>jqCX^ zd;f0Dl3Pj_g-vMR%o&ix>hywLXjU1v)_p$Z+Ef<56fUtpMtRPE)S;Q9f8ZWaA0Lm{ zTU`!^0(D7mgQuoxQRx(7b-(5?-c2uaigOKOc!6sOkDe_`)y;PgFcL7 z{~)kJxxds_7>_k)i{v}m?`nOgty9o{a}D(MD>VQ4r=k86BIPV!4}2@HQR}qv@wKIa>w>9O+!WOhc_@)`M?ZCnm^6OAA<}~mL;9tvWlWoZa2Fl zDrCO^ey%zWXmNA}6eGMVYf9L+#DmtPYl)Z2m9gS$hp#=FGdm$tXWz_-=;-xy^ycc0 zrN$lfR(K9bpC=~K^GH=q$-(ON^4xYZ5CP44Iq=n|h>#b`5O_U5<~3;({Ircr7=QYyR`yM})v(9y*7^=nxvZRk zd+t_rgm_{|xDTe#HLY~GjK)OhKZ?5F>o(y?PUt)zmoI}$5l*j5;Zsb;IArNJ%}0Ls z^Pk5RkKKg$=cS|z;UNBJ#+B}#EgHkAHs74i{WOt)huo$Tth{q~wPRc^UGo2s88Q_h z=;dlL8RcyIzppsNM|$Dj6RYG}t)eBufFCPqji`y$#Zi!;;pg6Au=O?PE%v7)=ejDI zOOr#`4n}(;wiiPpu+nmO-Y$X~n&z{C9j^toxV|qk*J={)$&`lgX2*8lLBr|xVc}mD z?dvp;(D*VpWFpI^$6j@d(soKC^>9{zT-@zK9JTVgUVI)b!s zwJIc~-g7jI-c9JfFs03G2VO_C1xfs(83d-8a{~GQww*t-2cHhyG`qdlviACJ4n>i~ zcq_n+~++ZpdJ*Xs(W^$s(o=j z>uC4Yq|qgA-40iD_{Fjtt9Q1`O8B(j2;!vPM5|<~*^BT=N@Nq^Qp9>f(o9+4v9R8YX4GiA&8sEGhpr`Nq zr2uD@S@~K;_K{W22zdE@@Q)Y=r?&F2t={_pRR-&N+)Fo-RB*%DJ(KFzhc*Fb%K(XG z?wthPa=sfIS1Rk0VB!Kmth@UrV<}WmHNOKmO@=-$_ri4~oG*9Oe*!*^g$YFV*D+>v z^&$b>K_Dn=6t&K$lnE2UmDF_4!hGg6-R6&%v%zWLQorXo z@va?%LE@J}nYBB&zAJgfKCB-*DJI_@#J)GOPVv*BZpSufFs&`R&rOs~an|$;GIAGh zz^3cKCG=ZboV~fhsDD>~8PHJGcIW$ola7AkOMP0+SH0lx=7wvQt}*>pVntMJF25Vm z!33wwej{J55EHq*s#sNSbw&3usn6#S)xyhZdxGkBh$H9Y>|s8{uFG?y12134%=xPb zIQB)s&j%beJ`2CQS+;gkr{HC$M9Ny_&C`qD8c~XfJ0Wm$y>h^=1E5dOa+5v_?}>^xXhI?VQ(NEmRUT31GK?JLj%s8vd#( zmK78lnDy21NnqQCmB2(C{8f)$i7Ba26n4nwSt;y%X!#h_hY{AD!FS zg0CKBXp~KIQbYVz1@PvpPU!PMSo{XKuIvgf;lyQoP&y8++Po+dn=){=?6sj8vvOgW z`tpI(jsjU1+TO4G%gcZAqjvZ!E!?zH+I(MHO%|!+bgBBjXzu<-t#YGPAf@dw;dWnX zpOzDKf1P;jN>_;}I(h4lR<mETMqKU{&T7txoH7diA4O6rL8SKAM>rjb44p z?7B>yJe_qqht~x{gYBmKA4%V6K?k?4yW(PN$EM>STE99r=_<#5gRr7X8%I66>m-p7 z2UYcwY|QTUoze+x-b>{4mN$>E6iOTl7wTf&`I`~{=m%e;FniqLTq*jJgNyNMhwEge z73GR+EXvMHZL#3g;nGpparbg%PD?TN=g4FQDd zx*Ju@0r15OdvtI7Q)awEyzBn({9CDnF&sq@tY-3LEoiVi$@(55>#aIv?mn3}^|mIXB?B5_LeiYM|rJ-~2nt>TL5`p^3}b_9pl+H*vFLPx_vT?{RxX&5Qe68ylAh z`b`_g!@;ns{kV^Dh5uTD#oF3mjP7}ymk4aspN58=?@Sn3y>8PBu0mjS6S)4d&BxgL zRNe-Pe$3P5s)Z#OftTqZqof8NaR7Anc^J8jc_lMp)UcJ^VA50kEcd(oq-&*hyO4fnN zl^8&A4H?W}dWy(G0dwg4vf<$Ll>Jnbgi0abG%BvBp$hk-aw7Xhx+6CDVPsch=xs+T zYMv*4RB3>F`=9~RJn&SCJt93@@y;-M=witUr-$nrs}~}lp_BjmmQwss2lgc$pYE9% z(2*b8veqe^lewS#VX^?0Q%%%Be2JPVo1kY*?_L$-v%5_xHBeJ-U6Q&HifX;JIyL%t zeSg93wH}>ipBM6(XqAXC0QesP38|Z}oS!~gc#wK80uUPL>zS~IP*z?i%sf?J zdeHpt;o4uWn$(*Y-ZpmNmkrKv+F!)S%vF~*!God2KSn^m~%?Mk1n&2i; z0xa8a2MEI9k4|_$I7j9jE8WXI8T-eZ!$OaZG@&U*d4bNC$#PCN7Y|K^F3;5v9IT!Q zNLSaJPC?(8)oFh@pgx}R^4DtW|LVRl;CD5_qhOd(7BAy{~ z$|MBpL(tXX@-Bed;iy$c3xn()>)9LN6o1r5#*diz=?O>DyLPsm7F+l>n=x_8-32F6^%6p|zLqOx3 z43?{o3lk?yoLA)fb zd8l%qLXD=A=N{dq%5@zrZz^4m7VdJ;%QURjk+RaATYfT2q0jVCWgp`GVuQ}>utZ>``C!EKRN&Y4H*~#icfB^1{f6%FXNzB>bFm+ zzAll0IudQLqPxaDQB&F`?T~UQqn!<5RKw~8a)}faU8c0ToKP^JRYC8hNXDevvcLVM zJ>nE^D^UMJ51Mkee*C$>i{|IP8~UI2pUsGQ*Ug+U(=S&eKl}ZRj_-90lRAmXMKP_P zV7*hm7iSyuMAUUB?)#K{@IzM`#Ll&I{^&H#f)Cvk$asYhrF1yp0ZWhtym#tUZeBb~tQuFPylm&dU4imqTebUR~N3r{Q$GnnY9s=LA2R9frh zrgv%RXR+;DbaT)MijETn)>QLUj0ZxSK%V(1$i5$0Hs&QUPp6kVV`{g*HN_604*0=w zZSNJA#g>3#dspZ8JH|O-2d3MorTb`Lft*Aq4k;$%>QCgxVT-N=siw^&@t{h$t1p~4 z?ZoUP=9_|byb`sgc4VnaC}$XF?^YeB*1%efAX=GDuepP{7PL*!&@3%agg(1%QzEK~ z*Exwj>cx7LJs$><#_@#)hV-q8WNyfX}qdM~= z_A@7-A7V@#{_dADF&np4<6Vafz8|TD9t7DE>TPAP`qJeSlKZ~%*t+vHj`au_>I3wE ze2SgG&yB1U%2!alBuMUHs*g`A!EdjvtO?;Y;8MYE5|9Z#x+lcDoz3$iWQ4wo7a1bO zGHVLok;NdrzYa=fNJV`^!}ew!@jj#7jzzzQu4XpVCgsUczb+@R`eCgnQDR+A& zL$AKQM2DdJEhTR(OCLMTbA>wadbmC(adHN)5*9XMbYaGxMw2!k3)hNXV?U*2;)%!n zHF^WB^G}uCcD&Ro>GPo4lL=jgS3Pq<6>+^%XE!qqkA~t&3oB@n!GT8gpXX?Xdr|1% z7@ONx9gfRn+dcE*=wb`Z6N;R6eDyVnvfppL69AF7NAxXT5jg5qI8g9hU1Pwbbb zp)AHSDuA_Q1&R;BW}ONCdC9;LE_a|*DxS--$^4Qiq&hsnT7TDo3A_Ci*4OGsPBQGo zA_T%k4#^E`9?~`7^8+>q?4hU&%YIHh)j~VYDeMn#+&(jbtl)}8ghE&^wWTK!#RGR8 z1UNWdZLRN>U2Iu2X?rkc1pp5m(eS563kE05AWlL#GLBto&8Jv=23w@~xjWU~SrUW^ zds~1ge@r-)w)8{Sk4R{8mg1D@=Roy8d?3~K@^tY?uOd@;`sWs%BNxWvpQyeXLNgZs zZu9?J%{GLsSfy7nw~%D97bW*O4Y{MQ6yQnF54HrtN_?31UYDB?l=J|IVXB^}gh@OG zg^5@x6O%c>p+qvr&ZcSGxyE^0)*2s!#J=Tnj^Csq{NpVx*Vu^=Uh|D);L|C!+b|6d77s0ihh6!k8roKIUy)a6u{ zE{7bJL&*7joFQpB)5>XBQYq&%bJ${zF^3%IG;A~H+2*h@_VxMU`&Ybf&)4JexZmAi zDXEZH8K}eUvzZc-CZdPci?*WBOM~M7t3C&21*)Pycx}qo^Es&Bts@%cO}&YTl{O?Y zos}4qefo*V45gabHHOIPT0QYDSM|GS(-SAvHgiJ z!s^4^DOzFZfTLDIs)nP){wwtYda&lYg|${No$K8FPKl_1R}U%^YHvWYYc)ipeIK?| zzc5&ul7+%vZ!V8S2nYfzpSd(5HS&Hz9X0xbjL>{Gs;mo8WVJu}QXU2G6tssmx`b)Z z#9;Dj1%VFK*MyBV7i6xT=#KuYRPWf8U)k0kRnwYVi>nb6hh3gGjAV-4Fz!Al_!PaB zi-$P-RH_U8b;@P^QJBdC$N6r^`|6 zV9w>Q9zuOEL=~-mRU?bRpN*;bF>hQfEqW@thfN*H&7xQxevrkd4EjtlL3;bY#@C2z z#*iGZwS~2&Y}2;zV3aHrp}S3c+(4ICWn~_FgJmuoYmzFqDa#66HAg{0SsgK6;lCka zI|3rpVXyQRt#;sqY5GhHB+BKb^^oxh-2%@xQ3y|p3|P38#?Gq@z9HcLtWi=@VyCyu zz=Z!tI?c`{{kN zt@YDQJ-F?UdSb7h{8avtn93at*2#58faWVNy$wfBDziLDUUX(k=^oEMle2NCTx{>JF|zj#k35OuY*C)pO-S zYcOW!i3k4Li)IS~l{fFaOX}J%ge!@=k_n zJM({AgCd0HzKi+eq=Us^NOkW-_mR(X&=>JTy?3Ffc@1{xT}gLu+3vgg?cI~w;vzUo zNFH)xYTc!xp`5%kR^tIF=mm95E(MZ80iD;$V!X#d;;EjE*WH9+|q?WYT&4H*5 z>W>Uc3-KHZI7(l-1&5yX)p(oMsO*_Tec$lDH#!(Bo|i|Thy2ZT&c|WC8d{1p%g#tz z-LwDtbcK;Os5qA7$(2ylaP%a;KWx-Xdps1SVt607^ZPrM08s8#hIK)G7`k;8l+hj^ zR?`^KFjH}gSVDl0mcG_@@|$YiAYv17FhQaQFrh3jHiI&D&OgsrG&!`#B|as}1t*vz zIQr*Rdr6#B(%6QK>?gUdLm&UKD9z9xf;;1J7cli5rWDUNC13psVfKp>9(0x(o9wd{%@1 z@N73?T2b+`DHtfO*A&zl2vEoSn9?pfYVx95Bi7N(I}IDGA;7OeKrn{`z|VA^_(8+@ z2j!sUugV31yYm=ph1Mgs*Ji;DG>7lpV~lL1tT(GqSSQYBaY{xK5F5V#6|||35a%;g zXZ($K&#-IM%g)IQZEvjl2lMZ~^^jeochI@Mhj;!q?6v1g~YO5d4;Zc`8JnFdVade`b&cYMF z!4y@EYJzASM%zgTE0UY_n?pr518a6%w*vQ(OV|CFr=g725TwDkHDpc)63K}}ZZw6$K|uLY$nnKx^21Hz|%1l~7S|2f7co*C3;B)RT5ti5z2 zJ*-ceMRDDL+_$r#K#~0G1xKP+x8D#y^l`iG2#^8quA;%aza=dp?-1J(OrWbjs=9X0 zA<^O62j;oVed+Nj$Uc-!i$2~*+k9!PKKs9~i1l+@j!>6Fb@1;qN*Q@$HXnsJG=zm; zU(eJXnPrHuWF*=ic4e!q2tVmQ#R5pT^Be|Q1eIl%!rF)DbpM$K-{x^pb{@Md?{s?h z2Y+OxmZ&8dPd!jf$i6|9SY3D_{nj~%a7Q1-b3J=|v|Y|?_p&u_1($&Mw&}UW3b8mj zwG=Y@0B4>VBKWTIs=J9ITC(lk^PO`o&>Oe@JIT7)wZQ7@0R>Fq+SBBUcf($?J1);aI4}uUu5a$Kgv9LYAPQ ziIqa0CXdxpXd_bEHAeS-r3yFV+&<37JchY zM^?Z4bg5Y9r8-6z-HqR8C0Wi_)jk?}PW+EIkYxaX>o9RUzxsWeG_3xbt4nz}{a{C( zr_7CIlow*qTn3vEfIagkV7L3Z1R-&ep|qVZaz?9KSO1Xd!Newvh{C_{vx0(;>Bg-0 zobgA~%l^e)G5Yx`58215K|QF@a`Q*)Cida1Wvs`uQ>0Ap^p%B-q$Ibu@*OAntL}|= zd@ERu@Xf-Kt8zXnS_MhpXWQ~#aL3TPXFN22*Gof-tgAWa`;UAE$zw21l{s*`QKTrn ziyb5+K+oi76h&(_LOi)*bKBC7yfVJ`_mvz>7G5SZ{*lzE*kY86o5j+- zy1nQ7c4-i6-;L#Tmd$O5*UA53G-x#N>`5k?&2(YW?gbynRI+!P--illz1g(0Zt+c7f-%!5g1>&%`~*!9;qG7_+D~!D57(?MmUD}ptKU%*@8E?XnogQP*laMzTTQZ zlUdfG%ZMp<`3{<7k%G#PR(K#Mhj)mu3;wf8Dxo{{VsC^ix|PAJI?nccI1|>B8Vi#i zgIl!v)*}fwp9US*=;uGTueoalK$S*8+f%siRo#l%Oi}Ul3~XZ!IE4R^Oq^=g5b1c* z?ZXC*%l$ghcxg5Pp5rT6E+v)$WCF| z3)97+Q;1R0Daq_pav;gyGVY~sQnW&lhd1Mh?mJ~$(GZz;CPy31Cso3uGF=DNZgu=J znLw~X2Rn_Rw60i9y2x97gui2Ex8S*--X?O$h_KH&K9FEfG)i*KPlq-;Bt!2)AS*i4 zr4)wi6KFZFc1ahQI^=^g+RyM(Q1ddY&8LBy$J^+?l$AgClV|!LlmD-coj0_1U0T1? zjf7w@Qc5=4{#LWjiL~Ght7)5_}}#Sm8`)-!Tn zkQa>&VpjY>5L6tURdrB;uIx15Vts^6vYw=JCj`lUAu#hI4ni634w3qB18&~+I`Zg1k)0BQA3|X@ z2w_+RQ(c@MsjFx-KH^BQZP56UX0Ow2j0ca3wz>S&*?3eu;Uifb8qC{Wy(^Z3m7_VXj zQTC~i+2|t>n}S#RhYO+L1#Vv&=hX5OTH~@_^1F8X0nbOOF_CxT3{KOLF>(JT`c$nm}A1~#pZiQRCR6qJj3RKG^?jhTTgCC zdWY>jtv%5Aw^(tbH*HVy>uQ$n-T9QKwTqMw-yK@~XaV&VGUOaxD z1<{idI27Ul=W=tgWLy;;ZylJQ_K-un^g~dAsK>gw#!U%4eay&^(++VVfVtfim~!;f zRM&A_V3*m~jPmmBck6OFjy`sd!~3!vlQlhW*TiLyr_N4N^cOF%w;@wo(oY@I?$mVo zDg##t+|Osec7lptuhti_1FGlgHj}H_;q>#kRWlw`A6Qi0vMb&_y7>`*J3SJu(D}Yw zL?nEa*L70VPN%|ptjB=>CcrRGLsm)!Wni&0qMcpELd0u$`^BM2n6D7_$dBk5k)KxF zZU*-w zCrc}?tt1ugkam8>f~fy}RiSShnN4`k`+KGOm8qY>%SGfG5@jRMHr}es+G^)*`2{qk`VS4+P;gV z{R@yU1~@QXeBQu$#n8cjXJ=>oxN4xDLF9E($mGTg86BPNK0nS$iL}No=2Km#9Id78 zsg)Z>dBY#k-0CAV#4$gnrd}rkJ9}9`nJB=FMc~ULhtuofZK)g9bArv?L_B>lX!0(5 z(|gPCq(wJs2_1ueGxIsvtEwrOS&x&B3=D?J8ua05R%Zl#=;P+I$|^0AC8*Vh)UZ)_R@f5HuF z_xvdp)`LLlT~C;w&n>{p&>-Ez5NcvRWxRp(`UtEFA90Hb$F1%?8=MMa`Uk7i!ph{A zf?|kc?ViJ$#iK2>7=2raEeqK`H4pKBej*rDb(CO$F2E^*O zH5S;%9nq}sea%DBSIhbOpFg}N3<^M)Xbs5z+;ZJ!IRSoG7DlsQglSpe$GiPPk3G`0 zosIrMXferpIF{ewsSvxtSqA`wt^q*#gX@2%G>iW*_fgzWyxNweFYaWl(FXR55I|>- zoJ@MDD;s@(;}<-MKNT6{_a?#dQu&AC5MM?qNJMPsplnI9weSRM-a9or`n{6al$&nf zw-oI=?Tvb@gpU%0nu8e+wvJAya%X3jc&yIvjCO%iyKmcwYsbeXuiCdNy7|mSLiFlcUNIm5+;^#})mWxQ4LmWoi+RzQ7kgPrm$r^uxt%GN$~2Gu80^+hS|@#u z7EMJ&0d6{ZA#Ko1E(;6{eOQ8hEjnb*<@hdbN6^jZvx-7@6vO^ae@uoU3Gakx?FO*M zxxCy@g6#P?Q2q|-aNo6k?>^oRB4BIU1ouVnd0RiN<$h@jpIeppsr@ygSI4BC4!93q zj0|67$+2D6v7GlaOV^V;8VV@B^B|LXy}peBVF!nKmlft+d*hL9n;ZA<{{8= zmmVkLV7>S@T0l?+kGg%qh1IZVW6uO@qWYeGOc22==ReHbIZXdsH=t3)I#~EuXwhsp z?A2WE6*jigi^qsYK8lNFOv$O3GEb_!Z_X4d2g1opsJ>Qht zWA%-Rp}$jlEu}$gX*Rja=hV|koG(~kJ|(%AQ>2rYsSwht{ZC;NNS9wEho2#%UVNhA`k;cad2q9N09qrI=77H z8Yd*8w@pvPb~v&LqPmsfaF3W5CLfCVz0Yysf{+#&dsR0#H^z0{4n>IGwHKX=JTow& zG*qE;E!Nx9(HdGR1y^C^TZc7BnJWf+0CSvvX0&&Qf{Hl+Ti4-$7mXqsTvi13di1)q z&p)XjfX1EK-|k&chD)Cg9E8+}y8iWZhvXJjJSZ65p6^&r4ji0{{8C$Cdfcb!HTp;+ zJV@!>hZh(6FGrMFv4jfwf}UO9Uyv(6EX_83o3N(O#I$RZu|Ie(!%cqNvegY-*0(;T zd8OjeA8^sCrq(AmnAMM9kL|WxLb-(V_{N+|i0|$<|DmvYKeJ6eN&S(R<7uzA*_r=W z&gld|oVP#nj$YoOYel)gG3)_E;5vZDgYOj^Wc?|L-ry&`ESNqjB>q@fpSB!G6Dx9d zL4XB)s>R7&9+^fv+h^iL3|rN+0%*`mKyL9|+N$R96@{GnpQc~C5fRDW-}tZT-kbLC zx(ff?AP|WUr5UWFy1f10yT>qeLG~+E`;?<1Lop>&^!aqY6}$FQ_TmR zp5X(!Uq@LH`4QB%qR;ld-ZkEUfnS(_u6Q4HTcS`U?xDbR1=eQw5w9hAu;W6hDLt&> z!zPzVs(Zs7;wOi-8g2pos{;9XTSGDFNIL((@cTQ`8#%}BTkSC^-E%wJze+s$-*`2n z+oCv+nEkhr$GS^;zpBL*K0=DeEvi zYogfoO&AFU4Q1`D;m6;zZo3(hPvehX4sY~Y=W-N6>m|F@-1aoT3C~h>QUL zBP@8fZCFf3AVC=(PmhEsr25&SWnK<2pZJ*yh8(Z&XTiN@XO9A6hlUG9q60tMR~+S= zn3^4aVlQsy;V+}Jp}nlj0s+(-|H#DD3B4dIdW{;O&V9c5mjJ@9E#15J|1ZK@z~3pMtkS?}8at=CjFtmt;5!wtM=#p1#3 zASD3)msr1ky}G5=bvBlVdQfaGBbT&EE-npLuL_6(gkb7hHwVDsknSRR=&PjR=HGIM zzPnY>vI;4H?wY)gV%k_vVcM2oYu*$q4Pp93Jb(MhDfgA;kcg7usM>`9r*aOUyBF?J z!Jvd<$bkUCpPW7Tlr|Ev_XN2kk+w}_JP`C^rBMbc`_NJ)qr&%ZKRU>pR8I2^SxKKh>Y+5-tb{jk=6%^;Jld34}k6M(q0Wk|O*#_~laN@}?e zAT;or*9x#*#9piHH^L&`%;{!LT|T?~<}gA$;r5WF@}tr;-REy(2M(V{AJci1$ITNB z8VV0b&A@hUx-N?+Lz!JeJuhP%Jcq3X_6643J%WovIs;MvYE(ENU3o!;VUd#I1k@9Y zKtZUe)Ku zd7!g1+O*SWZoolI2|gRZsY1h!LI1s5`B=FFN9~r`DO<8{RPLcsRW zRY)TXMw(KS#EP3?8Yd7Ax&fP5j=v;nT;q>VcL|W13dwxA|3bW#e#cw~Eu)FoR?ep7bp#)#`&I#{ z?QROT8viy=@q<|m;*cc2>f(2NX(2vpN_Kk`28w4 zw#UzAS&4|gG3%?urUgyxVs+ly{myJ$60tbwOmAA(xdFJot|wENH6*pg)RR@7Mb!jO z;5>84gYhrqryzH2h-^!4)3xPgNlAJ$(~ulnUb&t$Kcd~J=!{?L(!vP{{OL<{1sF?8 z_?qt!dSVg;BrrlFG}*SpmR+i?XG(rv|LGdYW^D7%41%$ly!!4Ub*Z!k(U$izzdX%O zs|&4BSt*&$S9SP^b{^|CB(W+c>;Lrq-kxeOcHaY197#=!pLe z?!kdHN9{^q2yYgP6qy2~oNO{wb=lKq!#&)#m0xultu2_(=Ot1dc?4|2RR3yZojq|! zU|tx=xvg8+Qc#k+%nORlFy`>JVpFf;rG1!UB@nsHk+VD;@GXocu+!{U|5j`_auTtwvqe5XyU36MWq>Ab>)k0k{l)aIE!hg}(mGD1!o z-&l_!?;!s0zwa;%I>^9iOJ|}dI*fTv@e=&(h`o-4?QmDv5t+N$_o4WYO<89rdY>lx z&s}eTIsTK~(8};X2Xhxi=eyf0$LA1_w__GeU_b<7ZAH~S)VaNJG{@)1pI=v2a4+yY z*+4~Zelcxo=V78aGEVCzR4j)4s7BXI2Gm|*I5^ZY**C@%jhd<>(a&?Cb1ZbD!taLa zuUo33J9V9(*4TIg;*op)ex)IJEOahYfJM)Im|sX zX8i5|_cS#)UeZZHv{P5dI+HVaSTr=k+g>%cah(M334#AQSTwluy$X7HD5(lTdglc^q_%lSky2Iy>zP z%e86%SC76^XwRco<~n!ai0cj)j&fHTsY6;XR*E@pE6>=y`8_3!HQbJDTAaR{0o?PJ z9F)8~Xht~a>L~|r`4ywG2g^sKV^Lhh-pYsw8uZpREAPLbh8Xmxf6EVU)Ifx#HRO`G!Kn>UR(ySz{8!07<1`MxYCg*P)TB!LMcB8?WYDNPS09?T1BB zla#{f;PiXyC?wC}Al(L!Asj4%027s&Ljx~rG6dFtj15Vs4>j+-mt!UA*VHkqMwum^ z4R4a({QYz-f<%#2|De;{`yq_-7ar$TxGpy|y!+9}$*iVYN(`EjUj@=7V^%ta(o(KQ zog5Gc!cuw_ed4YL&lUFnk|!(ehk7n;N;7%_576+sgB7(4p_(gA(0YXVikYwuu?%U%H8bUc{z%Fb?@m>_-}q+pvZV5E zo|D*)`!ai{O8H5WR24?@NRsi1zC3gw3j>ZUp+!d&=c|392x*&$sllI*NnrEFingVe z;9RRM>;;WA55|wjtkEMXg;Lff6KdrN8vyv%;uqe&f8Vct<&gOmb(GjpfA|kAYjc-*wIfx zJ$ypG;qm;3e*kK#zZ_{$Gl^~bxZdx2P-kE2o){n={!Ak@=!+U;N)gn%BydFRjc!QP zLU$0q7mm&b+K5bf^=6oQtp*Jb_i^Z+IM=S5^b(Ek3j3^;e-CF6Pd#)`?#`#5K55|a z&7p8``uLA`8Ajc#ONV}e&j*UUXAh*+Ck*Jnefb9qD)jE*fT<;fwV_Z@&OANz-bnZx zMg=5ed&mOKXpv`yjTF4W#=TkLS-|C2-FZ4=D<)O|;KeW&F4@(f7_ zErto*4_&rK;qdG6X9|)=!4E96EzQNik$3rtk0uo>yo%|^txx2lVEaZIYx&#U`DLUy z?Q|Dniq^P1#Iq4fDy;mQdhM*ljU^uMD}+16eQwd+oSD3KONQ9VLYA?zT!3 zM$llWfUO-VS>>4M>Rw5$k0e;*)E`WDn)c18BDKoD+S&w5!6&(4!qJ*xyuFXz)@ELbAs*9m|!z*|PF_A19~=40AJ z#OGteOo20*GE9kr&5^GL=0n6i4j*f1PvDPf_Y*S8&|cDifx50*F|H6<0n_UfKwzH0 z>O!0maFyC(w0l2PT1&fVY07-6Pf>kOo#6;LAA;~TvMts;Y;Jqy<}RiS%+rI%oq%;4 zP|fwhY}gQZpXH>~ypo^ZSU*f})b>g9i|XE+$)RJgcUf>>KAK`KE@z|McZ4ha{+qWc zZ9&xu3XGntqm5zwKCVGVDtJyb!W$_lIGq)J;IozTts16x>Kvw;X?dJ&yMA6Se|cf? zs}_?e3&PWkjaU^!c=Vk4;7T{nqs^ipShj1*CAY&D{b)2Q*KB#Yt0xJ96nUUbs2!4F zlAPK!%(a1FXfR?K65)))ck=b0FH2|-w)MN_qN*s^_I0I9fqWqP`}DL_Gqb_^&IE-E zVvv&4YLLTHFSy)qDrVCYeZ6l?{8pmVm-d_cgTuTPK;qHIOw7$}sMGY_FN5-DYURFb z#G<}kC{}J-9x(m7@xNYTI<}4+)OY;`AtBSZwHM6WOhvh6ajtWIKxn*NqB zJZuD)Za!i32)%r|BT-t)J)y<))Etz6eXW~FH4@&$#r?;1r_A3at}vkHG`$nU4Q53* zRp7OnqauoU_eP`v0k1Uv?Q{AXSR-}~&`c~2s~N?|ifjzvQZQHO;TxyA_Gtmy#kM|p z@%+Wr*k2T^&2b0egpg^^_CY;UeZRk!rfcAphgUf6riN%;ZK9x3Z&f@<28V8x=AC*2nT^q%UgbLkXXxqzT)+b#!#!`|`LUM6Yd$Q|zMe zEZk}RFznTI@u{i%@7!c&6&tylmDO;3w{4_W18!Mk9t#&(6|Lsz@x}NzmCKL?Cu{t6 zi;B7(nko7qlaYS6#DE z@?DnW$fCvB|AuglFF&Y54yHb2 zIw+p}#+AdQ8dD#8ZZAay8(>l4*b`L(;2r2s#y8)BkWK6}vRCYot}vTdyWsaiO~a?ZT1zI$<}>(JR{Sw$O&7{^WLFgdn)?o!CrP~a~vj2LpDnUURt&& z5;OdVj;ravr#9HoFW; zv}H=ORh(EGu;;QHo)sP)osM3us0b2Lq+{nZO~N0L4}em?Tf@hu_Ba8IS+-g4lo+d}{fuCn4dp#OVL-UnRO2*GHKl+kNrP;?Gm#&88 zR?rjBbCvTdCvtS10T6Z+>6g%}FxVPQKzAcHoJCv0N>{(UcMCshK7iDvsBYa#>SUA6YrlO4 z3n<~<7WWS2xy^LhC|td%Zw%_#e|2`Jf@yPc>^-v#Nuneb@G;q=Dm?GN*{*?E#KWG4 zFnrqnw&ezZwzve63lde@!?rSU93GSJnaPx=*^+>j`sp*C+4GnM9NSTMF`x-3FDk*q zIQQN6cwlI77b_z9X_6cfluy`=3Eyd6_w(^75lQNsgz~Tf=l%m^M|u?-4CpaXpj*Hb zE#sa6t@5(5w;v#n)ShI7L!6`1xZW}^^x#e%du?M{-B00Z2^4U=J`l(p&TLbL97fe#B*RWbC#5OiX`N^dX2<_$TMg6jG><+qB;D~XTZ#RZYftP1V2AaPF>RWZD86zR4 z3PKhI0%JP&tcoi_MkBS1IT3U4tH;SRZCZklOzdUxkN$vjHjXgHN2`;?8Ap)cU$2G= zd}Dj`jngsZ=ie!{flJEnL7LZ~M!=UTEZh$1-8^Ys2!VJmPlnyf#87RM`(VaZ+l8`R zJ6m}u-G4aIUJ%s=t@|cf^uzLO$HR%4?z*m+cM6j*&5$Te?HfRn)nK`LcHE`f(Dj!@ z>$2x-;%eJIcJsgg@!?py#qM%jXB_wrsUc*ciUQ_H^e)|N*-EVgL+-oYNLgK*o!?;^ zZc*E-qElf~P|gOg9(HaZe%p*m;<*}>FcK;AX~^%-phgxb%8eWlV~+r@FTFVk(8wv3 z)8gA}^c61vIxY?*&jIE82yp z8}Lp@F!0PL^iI&bn9k~wx^t}osuhE+>^r(yq*mcUW?$2$B1}r(Yrrxwdla7 zPt10dzRb0B9b`V!IL<<|ez`R1JlPWyYwJLy%xF&fc33wxY8KC8)2*$qyA34%!TBrO z+=Ow)haunFAcbcR{!#-BoN6iZx+^&L$K8Op^Y9hhvWRr7fH2bglUU15#2;MyJ~5Z! zH&=Xi5GeZ@g(AxddhzC1e}}j2&>U~@N6Q_ab^PBBj~!75`X2!EfWHiSxN%ErAJny!PNRjkVYO6)7q5Tw0}L>H!5Gg+s)`c^Ldd`**CaohbF$oj6nh* zgTI}`R!OJHYng5g`(f82@MHN*zheoo^Cj}tS>B4B@hf6jzC&)#FI2av3RhJrxK1ils8un>c zz5iZQJj)2JBx+H)a&Fq=O}ZOep*jF-rL;8l)P)T`rE~OsJwq z$qoo>kKaiF!~GhZ&+7Tthg~bWn*r;&mI4$e#3ads1MF>Abhg@i0%)v1lA3NkJAFef znJNd3T%GG!8I)atVQJ=wzd)`}^_BkUEx|Om!zJS6nCIv&i4%bMX>)T4mkXP>0xbkt zEMbM}l)kJ6d26>=7J;dK9=>O-6o*7g@z`qSjqs#ZIl0VnI4;{KL<`T6I5Mj{D|ZG{ zlsaqbrn-vUU7}6c{T7+Y>k&}jP$Ec0(RL}65KaT1XSYLFkF9$+etIf9DAZ^>EK{!F z1FDM5aqc@5eQ}+?38}|LrKp?FBl<4+QxjsJ$lfjkc8mles=C7pTshhSD zD~fs+)!}ufa1$m#G>kC%R#GF9c-Mh)T$#ehsl zi^g6d7y%f*R3r8{D+N{y{q6YM_gGOwlgsp|%1kj&%2N5dn`fs-Br3U}^*zLCWHqeU zQ4F0?nKJRz+0efBaT#jMov@Z`;*F?C>lV3i;1&vW_3iP!d*2HlE&1fG=tO2WwZm^p z$NU4p6p*B)4FE@U1?;x*@9c$?!Y_SAvQV>90tH74NFQe-V z;NZKG!D(ha<8PH}M5JvqJ#(Hki0kOe9XefcI8HH=7qTEre(Vk2TgpMx#}|nivwLyy zO+@)_f4Bx;G<8@mA2qi7t-{j(bT0E3pn+DdH?s%6)O6`4fph~nhj9yyf?jDDFAu|= zDvCb;OPF>_=WHx+VE@pi*-p($(ao9pX5!NN|Lpo3hh+Eq)$T7c$N3MLu>d-4r-Mrl zK<{E^JdLwro<0rKrY$YxFJQ#h9!k3(z z@bf#$hN}&uN-#@*lE2sG^#81-offOOx#58 zen3iLVb?~0CH|E61v3?#oR>wDH6B70$&6;k4bOCx(DGmSkriSCkwA3Es!7QVZFQc!Tgik6b z;c*iVyn;AdOxz$^1Gt^hmU~kHMSvHCB`;2k@$nU;kSpUCl7?2eeo8GWXYFLvS_cP& zJDKx!Yh+$&+3Gb1pWH?K3$eEXhBzTJ#QAya4>7Z&lm1jK)`~q{{SK`@v2h+RLQKc-ysO3=)Xowz78!Y_+ z^w(K~`8=IbyUeh<>ooncYt0Kq7T;2%VBxF(3$ac5nvd7{+twy?uMZ{wceCH_0;JO& zlZeH~b0^T4EV-?u`Mg*j$y4kpsOh=y@aITBRKhpc3i~4Y~@WChu2`x4E*Y8#&Le<0`3yWlk~A zJ)U2hZ2r+MNz3|0lFoD}qFrF(iZu~6D+n`_>la}3U6cZQ2`NvljAn*P?8|-Ztna*< zd9YmMcJHT@A#M4Dy;bu0oTb$$$5d(f!Gh@2>f6VF%V7-@dhCz9(~KIWZ&f&)$~Og1&YSB?uA(DZ(UM$-c1JB{$DcH+(1j&Bk7Wm@exJ6>m<R%zgI~(V#v9sIuc>92|s0V?irES?Sv`Ct1e;nNpswO8c zUWr}ZRSNfC>aWeQcWG`HH3VQmPHU5Ux?$->LD|>+cb71=U0OL2I{EgNV#|XSLm?6B z%3|p@hdLJdcdW_0@R)C%M#8zwa-RR4?S6IXw(~ZR;PjP;x+#S!`d0#c4L|4sx33~@ zLX7I}2H6vA2E^s2#~-yvZ9l9&V-OieBJq}drO z1}OqRjYTz|Tc+Y$pZh@)pF7ve+eW=jmZ;Q(|6G~hKTIt&r4y*tsk7^<&9;} zBAg04Wyk4uTE*UH9lwE4;i4I$St$7%pSc8!lic|&>w+j_MUQw^-d`ELITn%|5MmZb-$hF4cb=!T4gL#9%N$^#W@QIGgV$w~U`5}x zKDI_BSD(= zylSsf6O`4zE`}5oV_u#@Pp+v)^+nJZm&SuHELEH|MBqvL3!84J@n~Ct0I#~O#ee27 zcS6=q*)rpQA`UL{X=ix5Gr?^4WXp)I_LqLt+U1VWdg6o%6EpvW-}emu(G8})wgd(H zaz`oKk~Tius(~1$u96r@a!92My#Do}7EQr#`Ok~ra5%13du$6-e~@*dg+Kz>Z^|Wm zrWEB=LYYg+!dxL@H%aQf8yAbYm}7Vw0_mnO(*+dVaba78leLjm;`QFfOz!vP4AHE zo2^umWk5OaN>|Zne$m|f`CV;{4x7dpe=~*a|3Pvk6RXmqd;Jb_daS$p_ zx8!5FaJQ%F*sFsy2>l#d(l^f}HkQGN^R~q&Pf}i*_3{H?hqO0=#kC~EJq0v9b~o9a zakWx3&-LJM?m(6RTn1F}`(WtUBs=Va#kcOz0#x+gzW4aI*;8Y*MG|vjpn0xH6ther zjSg9Qk_~Q=!3SM3;Xchbn0_H=oKP_>j(+!mpq>{quhJdUuCO@ zgkUYYF++oAw1*smh{rU0uigGDakP%&m{(xxQcJBBm|(sSwi=v9|8k2|NdevnqkiYe zM=BFaf@tH$k_rA8jFUraH)W{`U1-DZQc1=c$hOjrjcB`-!Z(vPY)j26AyN-*Kq2%K z(ZnAK(I7Aj#qzYq?@22ypIdJT3BLpE(vIH2hyoQU!4o@?jDRp|{9HDLMGY!~fex!4 zf;$qSLnID#5VC1RuZ_p1KrL13h$oYq!dn@3bS=(Ug*zxo@kvq!YIUI4V^TywbBasU zUh)|xcx&n`!bBn|o+;Mul=pVizgco9*~(WzPFm)?sP2avSLGW?ZDJZ@Y7r5T03>9u zdP)?`=zTVny-iF#!EUt(8x_-|Bvu+i&F5(pZgC*3hnZMeOkR&{;5Ul$^=^(DCI!uz z^rszhU9aD9ovGjc0|kEv%|L%NTiY%EJnEDI*soo;!*A2#r5Xo=W@9`b+81Gg`xjR{ z8r5Qx_tUp0Ud*@VEvTScneHf6;X&+7s#l02R%)lC-<;+dh*~$%F&P;MMa+do?^%5W zl<(-`zm7+)3xn*y6bNGbII4)Fj0Y4;s{oI`uS* z-PYGAZBVNvrm0ON99vUZpL~7r+u{SWU6hSjeN?jGEq(CPP zQ$X2BU)zyzXq_S#I4yMj7HX`$L*tP{50l|_Gp>^Q^RT<=;bwm2H9_O*$xQOqZDL}} zC9n%p({9-ZWM33@)ZKuJQujuIYcBb;D)&5msdH43LG79tRGMpkZBIe=T@sMuSg7}n z_1P6e4N0*yBmd~E573yUycwO4<1Z9u@Q~LU!z8C*yjpZ{uPDlMEP5~YI(jj>{$_Yo zPPA<))y1>ImLS#KkU1d}(oL?d7+*M=@KK$x*<}c@chS2S8&CUXshXifx@R8D>%4ad zTm0QW6S12gsPI!P=YmnOkjm>(r+!m*^yBSoVyn`B-0$DxhmI5V z{PGTVTHjqV3E6DFoOD0g0Y!a~PPuszr0~n}s$>xU?2}{Ik4i&M1=QzKR%nT-Kv?OSmR zIY%+}6DAVX3lx$t@W`&Q$^-5_(p#yf*=d_sfX=V=F3_o{%ciw-%`_}b%U9ao;Y-bc%U-`ws{4tFzMQzoR@;{dy){wQ? zqlm#;5lJj>BfQUBzt<$BNDJ36i_6BvyjgaOiv}p3sPu`8o$a`X3JZb+M-pPO$?yqypUdU6AMuxt<%Q;?`T8Z6a-O!Y{%W+98?Nffu^Y|tv-(J; ziq>u%CYLR@Ji$hw|IP*cDaS7lLQkCrqq|^GvYBsFwFKC z2qu*xNKPx}Tm5kuB!#?P9Fyhw{@rhI@nuC$x|{ZWi9F@${>&|lG?!;V ztg}srY`X;!b4GO1ogGKBsW9zdj*MRXX#2&DJ+F7T{=e`Cu0IdYn(?f4AJ5H~61tHK z9N+)(PXtDa1}s#TNUF?2v`@FT)cb!h8>MNz5J9R6wxPU>xpm;s1u!##twd*p7Up`b zx=&Ec!>^3wJS?)Y$^L{f88?dTn!pb(MON%y)^+jE7Oj|u%}#zMSI7A&KQaV@Rcx{w z+vRz$%__^wS@F+yVD?kk>aS?mss7eIgh?KZ-l7R{HQrJgLzAGF%_^~&sjXU|| zt$HC@LuKK30x4rBr4}P?Nap~Kr}nJb^W@Q3D)<7_+32dhg|XB^WY42y|IX6Na?;W%PDjG0(YT5 zxnF>bKOnXF3G!*uRImDhA#0*1^6jh^|De76Q$qs{)>*qXI%;B|GDkmhuT}nK5oSrx z1HI9PWKHA85+^5s@Xvus3VEx)S6ZMByh6Dmsq;a`k)Ik{9lpmMqs)NnX8;ik65GeR zBteFyQW`e?e2i(P(YBSD@8A9}JL1I=kF@92F-MiMhD3PzUa#q^5gN@fXtqj*aEH z*lr$Y{QK7K#GNJb-*ja>v3~3Co&5@pT>ZpAb&^H%?uYz4^Zmt9I{?_2q5l4q;7A-{`}2D@lT zPhKK2AjOP6+E6h(dfdJ@Me0gPf&Of$9N!z#F7`>Xy$8&kg2KE#c@cVrj>GK^KTqEm z@0~eQU5wpbETYP?CktWJKX1&qJ$|WE6x!LUC{mcQVRzVx8<|gny}RNUDVIsz1^zdi z;qNg417`L;EaFb+MpCeWdPNtK-aM7 zsH7C!H!Av=rCMj>o#;`0pKgqXFOfErIyXi9H@gn@94tr;GH_MyQfbz%ICzpjZuQ#y z9`=i_r*ts5l5~1QH&`}iz@mi^Q^~zKUhC-miKCt6B>uOkEX=~G=6ayAoc@=X>Ilo= z8s)|jDei`htX*4pN&e2Ld)yb;aW~D0JNzXHM6+8#@Ur_6YgEqtw*nJZH@l*Kc?!6N zgzj2CzPnj`v6}58lrjU?H(ALn=n4&t6xscdu;dB1pARK+`q>iq2X)WRrc`^WF5!YS zAcdBH1@n~MYh};Tl_h{FMy+S@9eE)qzf-&}4oRx^T!?t1RSj`Ih+(x%ycN~H&ntZA zKWjIY+>|#<)#wuIW`2IzIfLr|(C0~s_7?vgtnn#Sdr%*rfF&_}W&YN68VJ6=u^x~3 zrPB3ylWH=ef-{1QePVVaI&t@mzTgEMfbvU2O`iYT zB80Y2v^QR|MvqE`QA3VoAL=W2@zxA9Q3!#2Kvq-bEMi28%tO`rw7$049fu!N6OpLf z;-&F{pe4r=N%-!w4(J}d)$BRGR}~s!vbr{s7ZT>c+4dh zVG;qX#C+q4Nkid}EkD^sm;6C!(OWW-@lnB!ul=n+cGlK|I;d0e`z!7GzsROp%pB+X z8#U@hAEe$NsO?Z`c=C8ZkvwhmbxtCwkT3UNRks&!OwTS}H*`V!SKXb@{yLBDX`+w zk2HE8gbw)HcD+%^{LLu*-SIY;(n^zI%jG`6Oy$1NH2K{ z5;T$xcB9fH9VjhP=X`z&{+s#lF}_UruLWBdLec4r%?ElUC2CmY)N=hayGcgzN%i@H z!G-Q`#0HRoYbL-qmM}0Zp)Y%ksNw>?g!bJlhIy3RD1c~upkdngo=l> z_0XEhDRvl{rp5E5pYz*pTNlq}x3qn&QIY3mh}vmEw+gfYd%Odr@DNwHRZ}OI{~wr} zselJ1I>Z}70C1gWfri6_ZDBS+dqWvmgc|GO9rkk#{qC>Yf0*tEp|8Bf{GUwc|JM-*B z&(Bz^b?yxOkIlS-_jbNY@v(hn#eN~F@~!H&g2WpzE%b1ZG&d>gz$cVz?+3b}uX=E^ z=wazh_1%D8BL`wKT~AO7Gdp&fCJ2A^4c7VI4%hl zbv)Hq=%zu>v!d}8i1I-)CkZ?AC*i*ko;%&cgz$H7Qy1NJe6k~GMRSkChP5}r6Fzpj z*$y^065#(tjS~4)+#|M`Ug_R7Q_0*oW^BvYIHwl$I@a$$-^Aolo#%9?^R80nq1>>+ z%dn-+gZxb+p>Y4xxaE2X_x}4)FxA(pHe;wRAVIt$G(HT7eqjgGUBCEAw2p-?`R@Jud17y^aEddO!GP zPv4)iOL_#Y-HguSYB_A>5|I}$YfS@wESyr$TD)vnFh zo#$Rbnr}1kx82{?WzTxmY~W1h%WXh0qJ7@iLY9d$CQfK= zdT3M55=eGl#=Uc(XHdZte>a^o$kQ}VOZ9#L@O))pdBP0g_!a89GGkNzfV5ZHxEB_( z_r1{kWui}_pkcg0^tMj5mk?G5Rgpc4;C*&eH^q~g)$*hfJMBcW)$Lj!wm`ZU{h>5pHtv5D{l1eI!I%+iK4OoX2%#- zwQ+(%xSvUf%)Tr>iG3U_+S(aM=X|+_ddUh{ z3pl$APSQ>3Pv5JCPA*)zsjzX$=xyJ)slczoBi>30-&Qkn$?6P#-M``q?O((rhLkro zn}==!mGsyde%9wh%tPv+2WlWn8@*d6#M4wBOrj|iJpA8ybk2=XsXL#HuP44H zz)HLI<@~(Fh?dXIUmzI$oVRxb3)!u-0IBmyQ#pwEyH4=mDx2{KpXYq`QkrF^+))mn z{V;j9gFC$x;eQ4Yf;fF3b$_&=W1)P6^Vb-vj>K9MzN2{Oj-FP+t3UK0_R1eA-bD2B zdGH>3_j1On)u({#??^+lfPk^*Q6)-(BB@ptTNEAMnX^D=o69vq`QRhgRHQ8|O{;$H zc)%wcUq@N1-|fKymwm@uu4?F$TgK>2Y+!)BNt*l#c8fhQ$yJqJ|JB}PZ^-@)y+wNe ztepEfFx*Ip4&_ZO6GLi3VtVv}ZLK?b&Q%fL%w{FHNKz;!C&qGA4!y;6vrx(kxazou zk4;&@8-i1WmIq6o{UJ*<`wcR5(E9|4xmjq0V67Q>Y+bO_FkVgLB+%y z)92dW_)Co+ogZSy*wT&ePu;7Ig?biBtnO)4zcvq5YzhoA3A~65_*gVW55S#v2MgnhfWIBwSK zV_N;4?6~uk&hgRefvMeb#6RE`SBs0lmuO~qQBsUv=eMr;(U||L_DvgZj#;(D2*c=1 z(cW*mzsf4-#5;9&KLXMhap~03UMcB=J4>CSeiqw}e9mC+{#X!sbK!S8Vrr!>ntSMT z!@7%Ptl_t5=L-Vt8)hSyUq@cYD{%*~6rG**m+^1s3VkVky|+misNFv$=M=r-WvKC) z=EHamlr4WTMzDD2d;AiJ(AjF2&>rU?d0YN*ViHK*fLlNg$wR1HL?jpjW%5c-hR+J2?xRr)HjHVQDo-bMOpO zCRWmP zaa)cO1BGv?^pGdKmAUxa$%;Tv_*HMYX@*0*oGgLK-#ltWa>&thfJQsM-0U0@U5iF>#(WAMbhT zoKE#!c^OEYx8Kc_!?@^t?(HnpjavEza-Un60GY5RHV#}hA-w{n$CKxs81vQP>$_dc zY|({mt)Oz|x2c$IH$=j=ID+OhcBV4N+v@!p9pa2hgzg+%s^}5? zr++F7q1Gv3%skqCc5lv=prP6&M~S_iWet5_#x;BsFInywR#;dK5g9B(r)R$do72vr z=M5iwh$^9A)`GVEB}0mkwgc z)&DEC32Nq2Y;;K-&yXW@agAjd#i@r~IFliwXOd6?J?nBGgIYl%iEHm$J1Xa8tRhI| z?x%W!3mlVXY;&d<>JWJggDE`b&*eWy#Hy+YE3~&pKc`^LzL_mlbmJ|X(fNd^<${x5 zBJ}}LTUX)Vxs=36mA6=jvJ|YBhW?BI8eZTWsUPd1qt45Jn4-OOe%L^k!pYOPRvF^3 z?Cn<5=AI<=2OOd*zwvG{Ml2D4HfU;oq&Gi#l5^3p#=v`OtX#%lUVLl%;M(wvxhqfK zRp%S7b1czgwx6Li`6mDD63n;RD=oZg%hGI9g{^_+?h4!z*mT0D5YSYMP=tA|)INc1 zq$pT~>XmHo#qY<*=8n8`gq+EbYADPxJ~GlV=B(|}RGWca?QEx=mK&QnDeq%jiq^E$ zH2_}Ks`>HmE-^T`e8xplJy>qnnm|1;)eGJK@M|x2r|qiCWX1ZhX^gO`uKoj)I!3RJ zK81QA^^GJ^=iYvaCQ#1ZmV5%qVdt$N*Fd_8<&sHnKczGcv#BGMbH=c1foq_{{>a@2 zr||Q+)Rf2&YMZqpsXN%)OX0uq^%m%xkUd@h zoy|lZ)QNqRrHj@fITqWkbo|5y+ZS~@LA$%MoJt67} zgeGKMv}bTRL#;OMCg}0f#B^<%VF$uLHIeLG@-DSL_>yQuOW0-zGW=KyY;Sp0|IO~)oA{xE3ttwk?ymd(&k5tfGCT$= zOtafq)Rx5gJ3h@hjz+o_UH#g{cWKZS!z=l88LS*!@EC#rH|bQmyEe6S8t4Sv->!*5qCsja*BMRhuwH%9$Coj zSjtr#2WxabtZJsbfE(BrzA%&)_U~Lc6P|x>UW@)H(7iVGii~LZq^XLG)bw}cS;>Mk zmZyg&Wz*S~AXW=~2hXl(*ccLi8ua|}AWpRQ`Wp!*Q9Jk8XK``CLVw1?(TjsU z%_Dk*xB7e*RP?!~Jd;+sJ6AdJ>}toVo)>D|ew%MEYV=1Qz_jT^(O#!8J01otV2O9| zKD+s)qc{Z8k~Bm|Txs(N$=bE{P~9Q%Uwm9*H#&FFDMPWZyS$26(>DaRgFD?CSOKR( zPM;jSSoqmL5ZHZR(-^XnU%hOqsVH&fzDa;9TW5cb zfn*&c`!;aZN8tws@wH`TC-nvl5-LijLq$xPGY{pJpFNpSI$XFBid+;xzX9)~a$k$$ z|5^JAgmDt0+Iz?ufi7n3@3(gwZV!xhmsj5w%&3fRJ&Vq?BLM7v=EoPk3tp7lna$%W z9MW?XzF%vE{L;ip63wZtxwN_TO)2f`t)Q(q_2DdY-D<*GwprJ$+9 zlEN?h6{NRo9lyEQ1~Z!@UQbj$b-K0x-Go(94QuV%PhI(y0yA30z%}INDgx3rP8}rE z>3SGv)@^mJT}+BuaCblQC3BD$QeC{`8Zbvji+Z`v@ifL87T&{}RZsjkThuZcQUXK1;^(2x=L)BXoU2+_;4zG$X$;ugq zbtAW>L&iZjd!jeY2KD1_hKtI))ar2#TvDz}Vb9t$k6X zXCqa&wBX{V`@&1(mq;m}^mMl-Ui|nEzD@qRXRs>@_OscsiX&xg1 zx(0Lex}r-KFT$;06{U=n0yt4$eN*yym9@KSe35q!X(mtKOh1y@c+I8a5ou?*DLO%V z>+Zif+SASwi)z;4IE;ESg|rwv9&Qr#?))P%O;NCZys2bDaXV)$s)(a2IeQ;viBfH% zdb97>Olt~lwk#OzeLJ2n*}K(W#@}85s!poYTf&J@2;7r{?Er2k*Xk)F^=VQByYDI0Bo=*&ID4e(E79}V}KLJ{^ou0TMVKCOemUy8tp%$ zEqj~KI4t`DMX*AdlKv`hl9U3RPt!0M$6udVl@opJh^*Xkw9vHsxnP3U-Lt#YELfnU z#bWH0p*_<+r{IJOKTmF@C0HTscSVt7}6-T*}P`W>4;G~&)pTV>o~ z13lUP=jC_TKs)QV(j`MRK@eMl&)j@qCaf&R zh+8)+$bHg;1|F-^>E6)+QpAX~`X?3QztFk^^LV;ym5>qosP~Z3$m2Tz(8=OXD-h9n z;kEk)2#HiN&#%0ybmtrr*Hc|Z%6J~-w&kju#p$KY;4K!~S`v+U&Fd~wiSs*am6`^5 za+zPc2P<=D3WKc@hxlmwG4JH{TOTuLR}36d{M(dsEZ@(IcHYdZT@`Ez4 z{Zp9AyxW!_@Q( zRw(`2HHE;@L%*H6{>{~X4ry$liinHufY>QGjDp~;^-3&gCo+X{JR2c?)!<4Q*N3yy zaO>}pI)=6E9%lyd3q{*Iw8xq{4510IBifQ@UPo&gou}4$J+;& zO^?4LHu}8E8nLUm zer&cMu8!hx&-kKllxf}=f!74;O}#>Qd&o~I0lgF5cBh4^RdQ>?qIl-6>NT3NqK@{m z8idL9mYs^IWk|QARltl!qQJWk@|Y#0ekJ}x4FfFl317sDzp;ibnv4q#mRX+8 zka94DokyV*$wmtMkY9>e)%1&M^ZMoA8#Q^Px2hgs2&99+uld-%1|?a^FDdF`tnXYJ zwI9q?!3IzI>28GT$0iG-MMX7N88qa_lDW7~yDc~H@in#8D252hGv&6q3&L@A8d?}^ zom=1+UgN)PKaRJ37IL%6lhHdNQpF#uQKNa?QuAK) z<2Y-QaP@gABT!=M*_8hKb)2?oS@8EZ#gto%ffaB3#{hx<)_xswfTz_{bocZIW`@Q^ zALnOw(T>5U+DT>Gp$3bQ;9($i$u+ej6-<;C&)%33v~Tz`ZHO65(n+h{@Y`DxTVq=a zwyRZes^$GtV67S}x*<#V<+&^StujL{wD2$5J9GnQwArj-HhuP|q*)cGNVDgadkuCX z(rna!*H!d7&q<+!>e&=v!PTx0Ftxwjony`wgg~`#DXsmAyZDUniFUoS`6>!r{|5lv zBbBU>jcwka>%K@{nz9=)% zGS>Oh2dg?l9!VQ@c}t)a#v}gP!%t4mf^#!See*Zi!wHYcK&`PmbYZ_=6kDrTofSID z8Atl=cj3hkVOAEleE({AvNY5w!Nz0++1*F>CzfOmFz>X3=C0^!FvarLn?m1z|5-jXg($zuw>+spJjXu%C3o=)}uFVQ8G+!<|nPRTodUhjs6(h z0Gtj$7QDjh?I7%dK1Nd-u!Y&jcBjg?{Of}0SmU`If3y1@ozZ0``h`!ia_uA6dw(R!ltRuny$B6tZQ5YmMpjKCP$6BYz&O37@#ATkaH|iZ zh*2YyE_C1wFL2q#VwD1X3Zd?a8OAgSWpM?du_@1F_ zu|1ZJ`TXI8Qw`Dw(tEC2E-d9p3>r^}oE0wS}1=s!)V%}_~)^SU%-OSRkp(=cr1 zcV6$27n*_QL5U+Rf#8370!&|tMW_^V`s%X2>XRGBf_-z_>CYekeJfu7>Y)CGopcW6 z%caQ-bXZ&P&p97B?VniMaQ%%=hr4h^7kj*0$T7hT)pHSt9d{%&yrqnP@_l+jAU&-% zO)^YNE-N?9r5$IjkOtEepNuVanW_Bsg*#W4VhCRFX%0~ zscrYdx#$(@CuLi7!=ijmel6pcL(J?R4Dzncn9p1EZOHp!b z@GQ9%&Cw17UVHy#{r4#u;zKjPuFZ_!t(P5;%xqINRmu4`1Z-|!zvsS@;`ddN9rdoM zD|VTY{{_dG?bN>YG(p$?oBlBIA@839kyXtso1SZW-~q5}3)c4B02<3l*X{s3?d^T) zJXe)~N6=x73#KozyuKLpg(D^euM{Bs9DqC;03ECdEos1@+Uj|AM^Y#vvI@P`V3lkg z&hMcKzmhm8%nC8OJ(bqn^R6j&*5**Nb~yVXcol&hvJLS6jSR`Er>f|-Pd7y{XcMMUQseleq0t`K5KFgU`Xw@R zsl*nOg#1@s4hc_27%^53<411!jIF*Cg%fXVs-0FtfTOB6d93wq=GLa&{M1$PYO~ z8Z+aZnlL)@;#P{`28(-n3zOtDYMW`zI7|z;zP(ToqLXc0G9hYcvZX{F+O5d{T70AO z#%VLoWp^I{>Dc!Idf2>yG@Ir}FhV1GZZlb@Dp@q*AYpIRWcH-w_Ry-vj)mMZzmvdE zu*q86o}p7X0(X`$Bv-HQ+G=Lw{Y|Q%ut9Nhr2pdz^e&0J;Yl^08>#`go4&W-Y*KO` z(ETC}Vm&5&O6!#EogpX0rf>bGhOCn%Ka>3VoaQL@=IkQCVovQ*@9h=JKwhUiaM48{ za3R4L?D+T9!0n%%fqeGxZpFzrQ|tK-zMt7t>18YeOrmV`J{_ZKta7h1k zN{%_?RF{a3lj^7Ta7XEaj8EI;1@0|9qC|n7cGT=E?8}zURzRMs*7o`h@06R9&rmrv z;zZ!CTRM>TI+kfvFZZQ~>ncyvH?g>WR{C96C{nA=`2{U60glf%iJYrt8V~xre$?Gi z9Cr&DUR+o#P$*b-&K?Y_R-0Z(mtn_Z9m}`f;6_*buy;ZXitJ~#xfh7B50G0_fJtQd^A9uJA51Fgqx_}xIjR`IghBCrGN!5p)3{%0X9zdujY6$ z=enRvJFVL?wX3NoB@|N`drH7*`&6vjmjB4Lq%OT)BoE_T`pUzWLHj7C(|L6dWNN)q z8;L6e3oX=vdWP7mvX_8$i;sf4z)PuBw9^it_OGsKNgS-2ud*-yGqFbqgk%)8p!9oo zI}uCW43L=5q@VW@)Tc{g-jeY(pxzSHqh9^djmP;=!@H`pFgGFS%vk=YvPbjafGGA5N-B>Pl2FkUGke{pUl_LRV^p=Nkpz_V9JMA3bf{5Q;nyB!?}@JEA> zxMg?hc-4X}V7!3K0Y#v`dT+~KlB5oTA?PlnMRD6H>PM;x{FEq)n-@SsMR@5#J64YN z7dVr=zv$~4PDFyyL&hdEhkOb@zgAhqh5{}D40VZ3VrWuXB)d1PE307MU`uy4N^sJCBauIDW_-#|v^Dk;Ewj#^zdeG$NOx!jaQfb{y0XFLW z>sc{42m=7L!r7p`hkCbGeswMKsM+cOKVRym^wX3#+k(vRLukMw!ahuX?j z{)Vc>o6x`{ub&nspkJ)Ru*t{EgCyi_(GyX%-=%dmw+9h&6&Y4cJfns7L}ji1->-W6 zAff4*TqN7eMc<~i;JCpBv9{ck&HWFz(=r4$)U0#j4nR<+lngv-12-{f? z;xu3>IghJ5exSEb|E}^*g$Du~c;OJIs{sAyI|*_uD5^669@5ikvrOA_seT7u(gAi& zeQE{4HpiN*I3=p!UvViz06=r*ovdFYI#0JTP`p$(268N?sa3_>P&YTA2*JISU=)qr<8SuW8!SPS<^l3V%@9H z*Rp>i7*YhMajU_@m6iq(jTJuh15cw()y+O0qc&^?I!$f*`M*BsLh*CS)h@@ePY<~n z|7_gwW!NF_1fx|%$IrTUi6*tQ`^_C3iHH!2Q|Imz#-`F0&W)b{oZ zXj~dr>ttZ^4DGLDdC@C%o)csGcn@4`^~VX-0`nMYPvY*EJEH5m1m5mJ%!?bpx#M(U zpB;V;v4w@;!&b$cM?cwwvF%Lhzi-27!m49zLB_Z9F=}ug>Oe%0Ut<9Hr*K%de|4+i z94`|+O(0SjsgAivH*YNLoBx~_Q!C22630QI-%fM1!^}aIQ)*FR{Kt-i#QuiC&7+V_ zX;F28dLa^xE91Rm!u8?c16d;3k8B!-MY`9miGF=QgPg14)s%KTU@;5r8TGPYJf z1N_?`N`F^m&in2IJX~nGxS-f8%l?YB4$x4~4CD=}BjoK-d!SBuD4dfJIN-xy&hTXe28M?qUy-gV?#{)mA`r8E_fltD?JAyw-B`Zy0F&=c^vVj{Whw&z+|+^ z)X^t0D##@`b;!*~YQ*INz4M}-RKHNsjiDelM}LbZFg#MX@g`;MvOLmh1rarK_{#OS zElDMN{|;TVF2P-hn%g>xmCer2aIms43J>#&4F9srb=CU2a@66yU245--rFeM($x{V zVhoJj2kC-ex!>TdiVVX-VejLh%2}S-i=owP0q$?+IxubONo!^=9~hI?zJ^7I=+9+; zyPjI7@$tCfwu>rgzQ&-=K3u0hqdf_E2eL$#)%{TfFm$ng&aS=re0I&!1Ollnkr0Lr zu@T2&moI}wP!+~|EEcvEwu5#|7QNjoZX7vuZG0+ZGWWd|9_-ggv-|SGP4%V28AA{CYy{ zInr`yNy_v7V6SzYAi)?N*DK|sh>(0-o|JMf=(XV#LZ?QSTctAMABFisn#Od7qIZ2D ztKY?z$tPL0CF0DgWVIpQXbahur)88cNH zkJ@p0pH6Y~)|_TYKQYwqU@9?)n>JAJE9!j=55Kr zZK1WN5+!y|c1-uVJlYSkCtj87!~PuNUu`kStY?3UZ^ze&CP%&-MY>{a$OBJVGEX zT2>n(huTsVkRp=Vi77UhH_NK}J962f%1SRQ3QSf>I?)x=8tGJz^>N|E{5`Dyq;eX` z${xkR2EVCZh$hFcVpre}^feqw|`>29{k)yO|$ zXUK#!1%~Ucl=$+;hNM|TZR?#|WK?-;t3ZRIqZ?6En#w=@U+Y$o zKW|c7upu@{tyqJ6oB^A)eBx-oaL%Yc5&r3!wr(%uz5KGt=Q&%$x?3oZwQ~fxPu{Zt zZ&w=+jiQ+t4tWF>{=fvua}*if2=Q;1FA>w;$div&NTDZuK;E&Oj7?L;qwt$$hQ|F) zs!dE$$DpOV8kGab5rb`Rzh?=XafX>?9yNbr)Ho&{zxFM6p3`ND@8C6koyH|6{*Jrd z0ooP7TntTu{I~%qR}6@5)7!9Vxc9P&7g1_B;E$@!c+sO5vWi=<(~lU&RbR1Oao#Rhx3lLcJZ`VtWV20Q zLxd@7Q+0axqKqcaRyvej2P=m*NhMWDFHU2+=)22k9(wnWLh6B;;R$FCJew%HQFSugcXjh+g=|`q)zC)GL8B3j=99xR zSx~8rH)B>;xr**ncB>_TBHleDJe4pQa&qTiLFZH)0(zG%Jw~Z%2^rN%?K|T^0(j2m zgxMd+Ip1C(`=NJUDX{b}4RP2@nEzx^J?tOWQfnRFB@S_IHjDRI-bd!Jxp3^SSNfedFipQh<82z&)F}F37H1 ztNK;%k(UlxcM-@4qIBZ1iMo(d5kOshU?0AZHc*m59-QYwI#(No2>Ud1vxo8nE0%KH zo2_eCWI{agV>s{V$JrHMBbJT2nCqE)8c87x71T~-x{(~;)&5>9_2`bSWYP}{+0n~Y zH>POSvITMyuB|C5fnW3&v(8-(Q7#B1R^4E*0GKWyW_A*W60(TY9D!anAcECtMWQP@ zNh|vVsX66^(CmIa{Ucu>6YekPhV`~pBz`lg3+Nh8$xgy zd4?H955sQ6J4^R|el=q({nRlTF&x_>eq!b&l?Wg}CBoxD69i!iJZI`VgslXqn{sxU z#i;$uNL5-7HnKCjSQy~MZOPm45owQhTT*H-*%v#}!$Rw_VX%c(ZzNF+OfuAM?Kr|c zEx+1yRrJ0z-Sh_OXRM?{UeX)I&0(e(E1Bz=(YPghGZ9agxazxapTU zaE{z!JTLpH#zu5l<>J#_vr1dBaH9L$l3gU^ab}sQ?>akvch@RuAwHy`}mKQzx}X zy916Dg%u}>B8{6DF1Vl?zzzcDu-lNj(QLhUIW~hfV2F9a(WZD4!vq~pTSO@c9KEnO ziCd+-A&y>aW%kMeVe7U27CHMG!Ygjeir${9Z-X~B$M5`u)fjCQke$%pvE2P^cM>13 z-%+N-2dF0hNCN&Uvl>?qO;#)W<_K9Wml>kAvt2AvihTfw@v3+D%kdxd>{aLB37zIz z%t;RX!|d8V2Q9%MQPp`slQ7yfy?}hM^3y~g{bpQcW*rx$X&xDTfT|v{c=-2Faz#(& zNJVOJ-Ok|6QlnJs7m?vH?|oS#1{VZZD+3wn!Lhc1LgSdHu8tgPR{Y`W3-zmaV7hoh z7GZ49sd5~g8!ofapH$*s98P%?3U2-E;sZbXk~)1`kpn7& z&XTUeO?0u5E>v|e4EMGcob)M&@ES}gzH)`TQah7iG1murVrzp~oV9p9ri?m;ch zCNobX;F8p;-@5v8-6ckGu~9q;%rM%-S9Y^(jOCWcZY}B+8(4pLFh%NW_@>(|{0Ex+ z>FM_KOe<~9%=r8_pou>I-U6Xxvyj2@sc6U|8h@6}eZpYmm9brdUB9ZH+lKuBR}EPo zlM3i|to7;s8|8757DgWg!sYsSy8a$^5!?@T-2B9{d+LMWx?FqK2ezL2mI+XJ$GL!N2 zq`e|T-0zeInuUwcMfr!Z7>lf5u3x-OuO!rmHT3%%@zBEt9;JFD(sUV84e=J&gRq6hF+oc3JNuBe*QS9)Y@6<}cWFY&M6t+&KXV6+hAI zrTSPKS2)bYS#N&UB)smKN%BkpPR)_{kknfBZ-gCoS{*iJ2y9Yv@6PPu(qtBHk2QV# zT%zWxZPb#!P5Z>=>Qhp(NR8xZ+8_^ir!M8&(}TcsVaMzW#Hho!39 zvu?;0=uz@06dmp=6CPZ1S2L>fWQTE>m+W3=@rRnHXMW9)2Jr3Fu$X$ikellR&P!tz zjoXuDT+@c(=AFttt_dH8jyh-WH{V--{n+}Y=V$X1UrYP;bX~TNICA~Mk%YdGqv$s| zc(c>6-5u>64!UysEBy1V9WdSC2kBX?;#0D8K+SPgB2ES$tkm`tlN# z(_K{T0T!C&i@0MB`dnG2X}#f0*nB+2eic%8$ebJ0R~r4FAvZ?0N?^?5^n5=tsrP&% zi=!BEyowT98rKh5tt|$xp1#lwTUNJxG$c)GL97R5!PIm4M=t@+93v&)s%Y#jInu_A zvLZY3Z@5Pe%>_q0f3BYFw!R85SmRi@I#A@zVx}|q(w`@a=xQEvX%Qn_iz(_7DTQzs zV>a;bPuEjSS?W4myN+Z{y1YC$K(ltYMT;MB!aSs5k)pU2w5~x%`Mphr;yTcPQ@Ps2 zh%<8Ny)&VxySIhHSb)MV8%_^F11IB)R1uGu7@C4@``(HQdF87`yTn~$9_<(Y$Dvrh zTA2nMo9t1qJ>6I0Q{ui|si!m|3a-PS8ILNYFgcU*>R=8BPGo4G$t(*EKP@+$qOn>0 zXG2Wnz9Lu8T%4z_YIipuTv2=Q(FI6&`Ta1jkD+M zhBKQ%No2K0v7SKs9A;PH$!=GLBTciFxL>2RCPUR*$A`{RT$)fmF3cI7JN&1b{w4a` zoF{i2QR>v>_{|QcvK(0(W$PN&opyUA`)_B3-2-7%6p}PbsP_xW`nEUu!XO*0{^_0F z?fx@MFDiBcb~A5U@KQdIv&G^049fH4#cq6WAO6G`Z1Wo;tS`S_?N}L1RCdQ0_b6!= z>eJ4&*C1@sOAS#QzVmS{QxC{Rp8xurv!hIqxpqffMf`ztf!+YSS}hwjdYq$lh$Ro&{7of8|=@b9Y0vHe-YM&mfyO}sz zrJ0@DC{`NwDwqU9taJM++ccZTi?b;djHLt71LG zAY*&CrQjA$VXKAYv*Y|bCDl)2E3tlEWP2uSm6|8k|DCROMp8T_aI@r)5EHNE{Jf1a z3SKnM(HXi;PraJf=IN1)bd8)DN%d9VuSm_^0+?+n4{7@PkFhJP5Ap%wE>2lIoNMX- zG=!-i=O)jMSN{+1GqbaUrAGF16_tv8EMvkWyx%;j2U`?LuNFY}f>%udG92lgvu(<`{c}_HgN!VM?&pzqqbvR;=-A+lC<| z&KCW@VKSP^{*^}XQwv)8orNK6W z{d|#~@*1SYZZci9MDpHnfi;+DuD?lBW0G1YCTB6Sx?@X=- zOJ(teh4WD6f3UN1MT8Kfjv}a6{@E{EM6V*4z9+=a)b|^lfQ{}JafIOTR&oI-Q}#+ zU@I6ErL$P36Bg`&`8V|{G<;Q0ZCYDaBN7~EW!ySPTCDLNCvi=!=Lt4M z(TL)0c-}dDZlT$V&QpQ9(GFO43VLJ0MwVJS+3leK<$bx3yr!?b(DiCAY*o6Gou?GA zzM@sR^ZVwoeV$Lr-pZE~pgjgTMgumIpe7CHKevMeB)43J8u{+K-APV62GK0BLG|=F zIuuX-U8RMkh3sB}b&@VXeovrQMJh(`z5wbDvp@u{hRt3R;|Us5U}QDezd7BcbuK-` zUj`+x)yU45aGJVQ)9v6KcWEN(j6tZwcY*o^wfU!x(rpW;Va%-bdZ)p)gu@j0boqPo zW$6hu7$-R%rWq0#SYtKGGHfoPG(X(=p}aFUZe;Y(7 z;dM+kx$!J1x~pzz>Q+eie3MV^JD-~DUFWAt&4`_|Da^`Ya?wf^zVdW*oHH`tXKBci zr)}f<%YhKseRW*>o!tn3Q(#zLYFZWYUK`tR<%-$B6@dPA8{ZY8F5)z0T_63{URhq@ zTAE0m4#=Gu*!=I7cc=LKZX!{?MW2E8#OBij-drUc2==Qc(oh~N74rKVa#NcR@})r3 zPz&1dil^4iM#e1+BO!G0tvBM&W5LJeMzDx#kAU9cwXpDO@VJH0y>9GA<%2FFAcw>LAgVdyz*&D*9x; za0Qra+UNvjU2&v^F(F(-o*Fi{OB#KZ;G^CnSpeQqLcURuoV+@%7vx5m&GvOc)SUIO zxw8KYy)oA7^We<*nC%0 zW1Zl$_9g4&Kv<_B>D5Ot{tt&_NQLtO#LDvgyL-~SwWASb@f0nt!}-rEGl%SA(Y&*B zL>gb%6TX;dj<+#LgTg9(Iu#&8s~azu_-6%Ho{bgltpV@G?-V7F_`^nA5FhaUcW?>~ z&ggjOMu3cJ=fnLewT&#rhwY)$EbXlsed)gm^nmC33z>A<5TA(dMFbL3?u5>;x^CiQ z`&fTs)cyWdvvKQKjCmm~Xfm~!2|mFJnF(oqTowg>of)VNx4?@kfrZ-u@C>+wDfiy6 zB+{w_-;gwMbm-uW| zK1d`7=pB`VIHWg+e{J-RTEHhpoC~D)XFY#9hclo7Ml`NnA7_0x9u+2h?>4S||KWTlPXgm~y4L9L3QOwb z_%&f*Jgn>mJ=B#mFLu8Y-f2o3`|E1)>eggOE*M{P{dK%OA~swkR5GdZ$f`B&Q={|p zXo(YAzSZ>dm=BPKXtJhX=GrI33OnLPT39R9Bkc+z?}OGeKB^&Ay0IMZEfr~RaZ+1? zP}d&JH8>^w!z5C48&gjLOJ`HN9fMSm=a+=~ ztE9xzSaW{^z@yWJQI?G1m;+Vm_*6;uTcvVeW=~qTh2F5k6%n~*CFFlVpnS4N*l1`= z7+RL4IR&7w?vZ|0S$@lXmLDC2xR`s8d^Y_Z&nULx*&BDuc&kg)dmG-7h~vjFVQ>Aw zz|vG?F-IL*=@?~PR|xJ;9Y*0hs2jSOWbOOXL!K;S*x9Qe9i|o1Pfjm-Q05O}^q(T~ z^Xi{A69UXA)PrrHcPoJ!v{Vo$A5d)0;+4(Kaavug9*C93=IrLQ;o*}_>i4;v z6o477c+H0ak{u;%F-K8*K*6*I0)Srs%J;3KinT;gh^I>lCHYMDFEaSyH}}>88c&xq znDecIs4;d<5Zt{|#&X*Wp`Iz;JNIaB?$lE%qN&GA`#l?hELkm4ggN{r2?Tt96^LVK z+6R}V7k5l~dPQrdlW@z$n>trLAgA#XGl8N+k5aN8HO-+Uo|$TdPRLgy+3>ue9)Yl@ znkq_vd}&h~bL%Jbq=Ym3C-@!acIO06RDlnIY?A>qcCwO?&W zUGZ=9*ARvKDpZm4TUlx;jsS{4EGyD#ujKA~V3PZ1zzyN@(oulpwgX8Tq%JGz3`AP_fB9{Ss$(I~Sp)7{XuWD`cO5 zU9)knm9e{RqQTzaU)^+LnxsdIC?PIzrC9CuCH?1C_WX~JiN}TB3(dR^&WX0RWfYct zT3S!OHGlKgq88Q^nkTSqTfDJY7KBUZ%euIEp`pbbR5wdfzB$X&t@uc7TCqk>kpBSz z{gN>GLI;#_zJ8K0XIz5#oix$;ijDTHtf{e>hXu)FRBC)bUs35;w;AA$d_k4>DDZdm zh9y3M0O4L5VUZdww~=YQ+;RwPXt(JS>u`UMT26UoVqrho7asg>wXe-t3*2`9%u`Mz zefn>Y2)fuCA8Og}%0R6sA8W=QKAFgykT~-JdG6`_4_Qql$bNjb*t|;%A^j)tD2-2z zQ*>BooL9=bQPFTK2gv3LxO_`txb5o%^i9m4mZj$D!3+>m{a-rH3Pp86eYyk2>gJ7; z1-(P;`30jN`zl!SPqGSsbw2A9PTu_|6A9V%E3g%K2leO~Rpo2eT1@et;oH`^G@NWX z^TM|yCjH<$N@&XKtw1f~>fcH8W-w^5K>&8A>es~dH;A|-txjj;ih@*znuI*Eb@}Uj zp7el-bSdydB+9vy2$FJKbV8+vfw=o@CYzq8oQHqITCafINd)(q(WQa#h&Hf%c3>|w zQs4wM3huXVjvTS!H&6gry%HjmUQdj?{iG&V%G#K7_(jMEfe$KVby$PiIf(dnqL73< zBG{D+#C#Mt&rXx}=vZmU7AL5$9KD*=iB7;!*o%=bd3j>*q(q6q9l;eob0-x@A8i!?=n80zjyl{}*JvDc;ps^`b`~9|Gl{^8A~&cAe7M|X>O*OF zabPs-#S+cCnw9HIzv8AT$xEen-4BVv0lB3QEa@vh?vD6)Qm+IJg}|I!6M}4^^$`Vo z3o~rLjH&ghahLz}i~e()yY@5wN^=W+mekc>%AJzx^EA~c2)i#jw%965%A)+vL*Nom z?D;;{GT|w;VLRBOM}9!ZuXPzIeHtD~WfPgB_kg1TBzgA^+BU2@nde!+f*eZP>1}in zyR0uNs$D!uOc?njIhrZw`TGu&@%FUT2M7)auGF134A=>ZD0KN^F7hm}WUTzwQITb? zLLyU92f&$J zOzl78D#j;n-{}_PU9j)~Uei5pnozV9GQ<6G;jGw~_6GZvt0TkB#SVNbVMSGz!=yxn z2`0h^9PN9=3XEcJ6_^~GA+!wB`g`U*o%M@c?@8A=`SbTZq|+q|a2U|5CJ z(Y0dS2C`(7NX~3dWVfeTLx+5d;FURgHwN`EPHM)Frlq&vE)r?$Bdi^_K)T1B)g|A? zpA?4`P@3fi_O1VnHNRwO_XT9_RMVjkWb=Cf(1TJGb9L*$Y2de+;Za+-l`W$AUEXSUNho?3|Q^zFtCM zP*`8ad&WMJ|DCLxj7^&CN+|p2W;xt{DEE!+&Yzig6^%Fnov)L6M~3v7j@*}CDA4&O#8#(Q-mSuEiAabdCNP>Z-gZ_MSMAq!bBid9>I{oU7qR3 z1-;#P4z;Hh0xKnGd_bM`7gfU{H3y2oQB$eNl~H{Pf!Cyv@;m87Evp)hryUOtFVyEdJS~FyP?24QN-aF z_$=^EKfGQ(eR0}~vyIy1I5oZyc?@;wd7uC1s+2W)_R?(F2T zK;FX(FUT3$m!8RlPW{c7^(2@LDa-Ib@z9`v#Y}bxnA8v0;}dnqwOz=$o#-Z~YPYYp zk4$%&=+UXo)#InrjV?OI$4;JAIrltE`c$ROo$QbM<^Um)tM*tsB+rCg3o~$ed z+F+kOeYPp-rhm1crgWFe35y`Zd^E7R2MOuN9drYy1cml{hJ);K=mpULE%CPzpZo&; z$;~*>EQPl8lTJL|<$1Y+0{AUzr=U-=lyf7iTu>&z&-2@+Ma2H5hiE3IV%QU3gP5N5 zxV(%{Kx1K-A87uN^rFBJai<)BR<9DRrRdqeK(+T&kmc|JAJ_RusmLhFrs=B($TfTK z*w(Y_-0zt7$f^DywCDvj>V)nxO%Z9M_gAxyC|5cCQoz0P=}5CeA-M_NN!%!#Xo>*m z9rU%HDfloRRJ)$!l?`F)SYcX=e5HqpLSK^{)+~U0e=BU<_g0!EQw@HKY}NnK)xpVc z<0HxVaXDe*bEC)ycmODl|N z4dlp+ZFc7!4PsaOt!@W(#RIvm3ADljZHFr@w&wi7t)I=8re2?Nf7%uz;)jmAw*Cet z6!~iVA=^10?K>)jSBsZG=lIp%RgX?4s^BO)by_9H)BXY-H)Ng$OtuzHy2P2weBYlt z)1Ey$;PX8%5B_MAy*GUlFyWT*S$^)*NB6;lTQ-q_Ld5{9<}|Hxw#R|VxI3gw)u370 zD+Lxnjw2`gA<8N&4-Cs!mE+hZ?TMJiD1`Ex``PxpmDE(l-4f%GSH>#7i1Y+c%}t2Vi__uTY7{*%mAjy7Ix4 zaG?u_foGt6k$vXFp%w2%S2s)rba4#!4;Crcf|bhgU4`ohR+^=+4gwI<_e$BZXI)_? zSI2id?KiUpe1QoP04rGiOhJ!=X8Va61p&9E+!be?Jn=%pPJw{cMyKGcxqLmN_Oq`2 zDr{8&XPq?*L%Mc|X=tkD>A%#4?U2kgOP)r3w}r=feLA&u5a;W9FBJ%OY)oR2UeBu2 zNlB`gWGvm7GaWn;qogOCoz3=NJOgdEx=oEbDceKm!>v9hBnyNwbQMyf|9y!JxoU=S z(1MNEjoV2~_tCw5dRNX)xhX+3-xhv5RCDZC;3>?924KG}W?Gg`b_#`cI|m$0&bsQ_ zdku*OWY6jG(|QO99WQ&`yIwAW8it+|DpbZXUlXaluBx7GapApRS@O%IB|z+(hPHgc zsbQJvSZ&NZfH^=^1oO;Sn zy*yCoH&J^ZUA6Jc?vJDRuiRBHtNWP4^&ijS@u&vI75jxrG~JdSV6)pv@QM4c^m8r1 zVeZ+@pap8^@oB8`&g>)5Rf68jZt2E=oLc7yZ%PB>k*<0GJ)ReD&p#F2c%+C?%ms zt)^^sIGjVDA9i^Q13fg()6u82bU(`;gEzdX>C#NdUO#)B19Q_h{^K~Uv(H$m4uM>9 ztoiMK4{*8PHY%)l_LSPV&qv=x&bE5heo6+zzP>xU=<`^w_7iDbvPpLHVzz2!cH?n1}xN=vpxYPGjT}8ZWKF9OTtn|21KKf7M2bJczUG$jfbN`okT5*^(NoH+=)%!XLme zG?Qu|+?C$b)z%&Sk@H`IQiCsUdhy-UU16TaFEfuhnHu_4r1K}>+4xbXi z+-mPIE~|$DqFELR^}W}1M-E|+BMO9ZZ1tz~R`!Hw>HD98j=vJSSw>A2_m77)W^iO%Aa{Ml^#vB|*W^4}PcDfioqt#vw z?+)dqHN+UAfJxEBEEps{SFcqP=1^06v1i8C97krTkPO^F?8vPtkB-v>eA{w z*oifSc#-o(uzzK-_uFDsG?RYFbo98Er0HL6M6XNY^1+*NM;_0}v-%R6%q8Sj_P_^R)*HQ5Ow{Y^%KiaY(w!F-M2b4ybXV&|`Rz0${&<%<40;{b^z{Oe9@%aY6DfK7kxN6hGb zw0^0`9rKe15?*X z>e;;=)<$hl!#vJRFufUaPNon znB4Y@t9$zTM30qCd&1j_ySX<$MXe|zgX_5f@6)Dkxda@{NLva*Kp~)O0oVEnPJL@5 zXZcp^{A=a(YbxNCa?;M#WTUjOUFKVRJKls36Fc1j{N#8^`Z+^_qFau-ufF&X&aUWu^L(Ctf)y4=m18Hhzaxp4k~3ni_p=5L8ut zzvmACI6)#QpZv>&Na>%DvQ!``l_!*LPMmyd>n?Gyjm{xB2`QArJExwCxD}eUtQ(;Fm> zlxyN=*Dy0If^9v!E31T1CR zOo=Y{+vfip3n|c(V&|Wwr&64~u*mKBuaH{brP%YkEk@(*9OwK*71!Gnt^Ii!-C5p} z6%$4WgT3USZu#VrLEBA_qq(aHz--Xzx2W>nLN$i=9}b=I;JM(r$n_1MeBv$gADIUn7&5RR68G8J@isla$Nqt1PHCzVgixiX6te;&r32) zf$3>;GKS=F2|KWZanbT{=t0Au{?|v*r09tEHkIVdI3+lt+gNLXJDQOQJ32uJ{4SY_ zh}w1w%p&glg+lN&3YkyI*259k6-s_yrIt?J0`(J_t=e4pC7|H%%#9uk742|nBj)6>xs#QsdGX#rwXwS zdZ#t>ewf#$D(`vy^xQEvk^`h`$&O9^1!)osUN)&fMXJ6FS9!LTE_WXVLlKUBQ)7MQJs-JF8^=6W9dDBd^F2424u2BG zs$}p*INBehuOA`$N}~_=>-D3>YqEH1210l8KMNh||GtnPw|1RfF{|oUcr6)hyY5?U z>X5H6!;W^1cA3Al=b0d6*%C&iI+XkXSISR0IniO|v`0UEZwn~GC@2a&_ zU_T-E0JgJT#E+eG{yHiuUA!gX*H*If>Oi;r!Uc0h|J>g>QRqPAy}Y;lv_xOJOTcvM zyC6_IR|Pg!GL$HX=hPqnC^(RVof@(r)->8wWzD99 z`Po0TTqxvsLSQf-0W1ZSmJgnWjh`tlee{U}H3V!Qtn*P8-tl~;q~w;iJpfKMw_?i5 zf=6Wk_e-xjA!<6h+M%l;HXU&gYYtc*+1R)x0WT>|ZP>z!^c0wP%^5e2wzh*u6e8bR z3OcSy7f%%(y8Kk1{#=Ji^f==P!VT+fN18FSiCP6X`>zvsy)toKncwzyr*P_=!h)=y=w28McJgM7V&A z2*9j*TzMt?iuzd}I==Z4I!bsc*AVr%ps#jo7IUB_Ia!tztVg=29U2_y>({9O)jpj2 z&Uq(D@Kb}NW--Trw<|-GqIXDPt>BPCg)2zy_Kx9EOaU0TZn#V3e4CeUY)CqXXR_;O zRtvJc>AUZuf8*;t(s%95p9|%1w)VEvbXx$(8ZML$NodRM2UvZJ8WIUnYt`!4ly)jQ zB@mYI8As;$&D=TK2Qw*Mt*rUxKI$`OkoiFZCVlF1ATk>g(a*#m&<{D*SAvcyVI|PL zyb5Uqxv3b^le%t@aecBH?m;tI{&k;WJT>30yo{KKZ$qPWhSN<9whntOI_L*YVmJ2V zd8$DVLVRxV;z7oO(dtnv1~26-@DInj7b~=F7x5SCKZdwL?|R?FH1E{ zozj-(Hwl;|i3l6=-R5wsCa(xZqsDu#EccsKV;1ezMBQMYqKKjA9!wY*=ABeN`5_F| z=d-XW|M#P8<~dd0^P_nJk4hE{dL#tR!`fTCHbtl7tFi5HmL}i<5Sp&MHkVI4ZdX<& zGFe4FFVrW!5p`udf-(Q5t-n9o=-Tc!snT+xITs}#`U8Gbgn6=wX2kZ)-(Xti5q>hlM(mr2tLBZQR)Jo-3M zudY2+mGL~_p5Ye4cjv#0S$9ybu`MeKp2ChuGUP^)tNlC&P{!T`$-WKe6fqgz{pr}(*%LXfiCNDGc;sfNLO z57X>8PZTlK8HdK)oQ?uh+@IsqE>-|rkjK{!%SBbklZfg*^3{x+xJC&XOQlz;gzdre zC#(JtfdcP%Hcb|2U5t`hYO>Ue!_JMG2RM;u&P{ptecJPf( zI3cvJDz?NL?s7YL{laozfW@{!w@uicJ%J3l-yW9JPwY{3kb_d(30;9G=_jrl=ScT` z+`7_vYr<<0rS_6;EYgWptEA7Xq?%tZ-``o8$d+!v_Qg-6Dnn_l0F$|#KpXmxrwp}5 z`_#5o%a-}#U*XNZdbJWV4b{PG@h^3W;PewFy6hoL}g%*RI}~UBvPS) zTYO{F)#PR;5m*b?7t3?&Bj(wVEE~iBqz9KZ;>CbV(caftxy)1g4rTS#?RP-oXCe=| zWOXPDkf&+vmlBk1hQUTcO0Q+r_;Zw~{dj({vvxyu`zH{}3&7bmy?Ca2zGoYEfc!ScZtQo&#FHXD5WwiU**;1qw5u*Jb=sjgyqg5iU` zEvT;7UFyLR>WDS9)TK3IH_6vMD1gbZij}s3Cx4<=#Xn0!>T`S=3=`2pIG|nAk#9{d zd3?5PXM;WDT6%EZS@#vwquIqTMd9Rff~Hyp$~Tm;LoV4Ly(YXV0iSs&l;RppF5Geu z82V0{O9mY(g<>O8f(GH8uKl+kO4nsnTe!$lZjVVhJWQ&Gj;+o2S5hlYBOp|$y^o`w zadhz6LcnKKCTGG>j?o{5>~vfVQodZez1Y}ejgqWlyx7XtQy0?wu+3UY(5^2rOYLB~ zMsc7NNS%)E7-ueCv~zYZ1E54heKcv621TuptT^l~HrUuW=10~*6GVRQ#Hl{h4z0hL zryA+d9IDe;+ao=HX?UsQdK~%f&n)k(y~6<$y6@1ty=PiSUvl>9@fY53pO4)K;sB=@ zkv!)zy1`KwsL=l)GkPdt*wQg>AA)K7Q>0-3WnwL8zlUCF}a0!`;5MQKw!6&1##_b+jLR^EwiGBLAIr6V8c%GhH*a&iXQfE28 zFzcl56JUrRzF5p&k?ISV?JJ5Pr0kQBqc3cR<=ic(X7p}EW3tuW-G zlTsz8MejAoX}>eOt}3`32n2rXuvJC2RQBOE=75gBcZ?!GFL8V} z40WLaT$YA^AhY##%rg;s~`mi{8Gi<#~lFkGMygL~qgmyGj|OV6D(NS=5gRZ?3{uG^v-O6_R>ML?ZZn!_x0B52uM+p=k&xIAoYB!5)3RIAyMqDs!rn47ns;;TP41JTN6leD zY@ow-GP`q4@H_&C?sgSgK1a`2|8{!49)T*Im7A_$t_(L>`^S0YGCSsWh(jiCoOq0L z`5%A54I0;ud?ufg4Nvp`7kQKd^Bm60IX!?~4Um&2LZyYRXI4Jfh8^|pzNR}!!PGv= zK-{S?`4D~;>6p4*g~b!kIajQ8nw7t8#EQWDCF12TZ1(!9!|~7TPmGEr-{g-C6xkF` zahc8$KQh~F7W#*|1vlY7{_1gPeeQK8Q-eL7pZtmc@sn-U4s##dprA6G4f_k8@G}+2 z_%sKlA?D+CBExQ{=oHh1*VlEaM8tksP;I@9d8D`_n&eP$I9-h`O;bkvO)~HaRZ9U) zsA^f;;-7!wj5Oc)uXsU4-+u8U0WU7$7J6}9*(8!hVX;CBx6B;v# z=I!fCYBk!oeVe&Hh9pIXxVK`8j_`@2be|Q!?A1QTpUJY_kr7}i}xE00@ z=}IfRm9x{geu=_*o71Hz>1ddE*K{B6lhqMsA#(aVi?LA^wKSIx5iN-?u!IOLjbYWy z%rn5(c{SYu0G2S+F1uGN9&XzuG$a6<`D>yR<-{cFcZJkk1=12WoA4t>rxU=JXCw0E zX|0op*Mjag3@cxOQAEF5-NLJM$G)1TJ^|OEmgtOXPKmNE2#1)LbH`rUBf5w#d1PgU zhtA9<*{4OgUORcXPE#os*aOE8-=HrRnshg^-t-gKfAJ194W@#V>5JVqgf>f-PsmcY z7_>>jp+c>e{0lC!RG_WP=-`dp;WlmYg}uqtjzke1m(0(;bM`)ROhh<23r+0NZU>9k zhTKso_L1o^>h)uATp~2T(^ZCGzMcn@fRc*JZEb{| zz9;9TaS2&cHG);cUW!vbS8XMFVfPob{<`%B1b!zF0uKHh8Ea{pTL#;spQ4c|@oFTg z1R?h5_Pk)$Ay$B=ZYr8-T-aX`JQQ?1pq$80^?M*?kUfYCYf?8cCKMb2G9uO9)`u-j z0|c(}ao;4VuNEn*PgBLa{p(j|glc{>G!2yC~mZz4TVG;ZYZ3Ajptt*B78_q%F$o$ zIg|ICPxpN~sk*Clu3eZ}$djQtG1opUOkFCHSqF;2#(d0ZBqM{F=Q`|k>9nGl_1ApH z%hmV2>qg8iT7!L4%2ocWqTi0%=M@Gs+$1DXT_5}#H4i5?6;=9_w>fu)Jis;cl~XBJ z)V>L|8e8T&6at}r*+WIa;zblvpnVQCwV$sEx#Irv6_q5NuRxCT z)9SxkA0IK`9$o6=D8dq-apXk#(Bva&OP*C=krX5qUj(!8s=$YoR zQj*hEzEb~)FaBf6fYE@dJ8Be`TVp&}hY_$|)*X6yl&xbr?qKdLS7QSCpV#^IX!lHQ zA3KL@Sc;@T?qTP;{$x$nPuUbOQMlkryXN5EKl17et}X+CFaFu zV=GD4^Bl9#+4wrwu#t`-CQW%hu~(ikdDfMa`6AZwjq^9a8WKNDD-i6LSP>jM;CE0B zlX6Fx)e3B9NNztbC5}ZY$x3ABTW#*C3`zXP$!)aCi+nrVO$?&vD}SeHj6JLe^lxU~ z`W6D(_b#7o9$*s>T;zVh|5m?NRG|p}m%C6$Tq5$|$@~+s(I(zVxH46vApW49?3-zBnZbUn+ciYwpFZnC$pGyiPN$AGfiC8_S}y_27S z^fzWl9JRe=TDhr8!nBLRhvd7fAKtC0(hi;9(1G@LJhC6_RM!VE;xR#+ymPK4|8&`n z_4o23mfbdX`UE`q2gXx$0tmR5K{7pX8}W(Xe8%IFvP2SYmZ_0EYG_%{I+z z68Bx=e5YkFeJrL~Hq#m6uu^RNqqkRc&f@Wurg$NU?T_?$Fr zfmV`b(TvUywTGPtZvX7}|D!I6SZHDaf1Jlfr7#R$s_^N)bx9r9I8J%?Hv${i1Lrtl zPhl8yi@~l&6t9g69>@IT473=dt3p9#nrM=ze^?44Kmjb!qgwZ%X!0{ymE*xxf2!<< z;)uc%t6jR&oxp&f^~)|TsqzPuF6)qx`dY&*ejq&4sIqsRm&{CXtsfnq5+watOFyOm zjW9R6St#|Jcv+;=G4AInG};ISklIFd^^U7P3q1XS6Y83C>I2JOs)BA)GT#@GbSh$o zAJ4pQn<`D=emL3JA^2=K47vEAr0FtH2wW3+Mk&emU9<48uzX*it{Csl?)6feVwDOj z`!1gS%R2!QlRm3NB6n(3uH@*GssIg(C#}5OQLjL&4)pl+k#m~b3|Nk%#F{s6o16(0AW<>Fo_o*O zLIk?jvnFZ^_1Bs!8Kc<)#?l4jK~1egRA@MX1|;zt_P7VF*dG+`?ccW!nBpuZKgmr# zK^@=G7=G{i`yLXe`NYoQ37rVVGVIs7LZAP<;8qm=FJQ)v@WtUnMfmmb08f$lMTJO4 zzQ;Xae6Bha-8tc=Pff_C?E&%Id>XV z7&fX^H*FQ^;Px_^o5YsfLrfy0tUapS9|1?-`#`MWGjtnW{i2FpXK~0XfBFMzvNCi} z&Czh5Q0U-^lLbV5p=1a7ChVlj>g+sz+yIWwJG2&I&mEXmVYjRs%x72V^SdtS+h^kA z4MG3OcKr`pZFF6H8Nx`>|LE0@mcedZM>`7Wn8+IAQWF-u>)2ZLeWmXGuH(6!=}zda z4-K0YM!&nEg&o!2LXmMU1{i4aodiNwGrNHq8M}^%hF9CKxViLh)Io*(%bOFdEjrtD z28Vp7Lw^_j06vi3OyyBwfd!e*wcOT!Q7xzd*AVl}ywtkUrf))_po$|AUi?-cqn-3C zQKWFz(V;1R2jLfptpy^N5-p*MDY{Hag>4u55O&2l7B`dCGfS_tJe!7rm#SF&^V0m_ z_BMMF#oi01tPiIN{~@lCBp*G2a$O9KsxT7xL_fN~!fq3NTv|-KfBv}pbb?2JB`b8d zyVQj7G;CmYC<$3z-ro~Y2zkS9`m6?LzWJDFA~9E2{bPq6o9{N_Sy!F=Yj;OOv=9Yz zy}2~li7lB_IUM!J#@roW+`gOhOCh&)p9BJ>Sk|)`Ga1ny9mK>E{THHD635v?gVHbO z&oL%<OKo-~OYAaHYiFP&VQ5-Vj|(sv;!NsYk^n7UQf0F+TWp82wRJf@$ec)N9!*kA7*v8cb^;wmGL+7FJ3 zp0)91p8{zo?%VHFuSvs?XC09cw4)vNL=+*WC8`;M)W+DnXenQQC#}}|+~<05l2C0o zql$#Hq$;InzAc;VoZ{rmPkkDKPu9?iimCtrc&DO#@Qkj)%>=O2Gdd8M$&AWvw$pdz z>ITl^d?QXznq*kDe804`P_ht%Cvv^dIdzVRY}AJk=Z|0AP+oe#ce>sD$`-)1_rMnn zn8w_J+!@IjUab0@ycHyuFy3$P+G_jBr2XmGRmGqSZ8$lA!LL*5AYbA1(g%wH$Yg_U z1o70eLc(dCrVD3y)g&=Wx9~BMQXlwDj!P*PbSDZVrPR(sieGh_AXlbD&1i5Z{`Og) zm!|)iJ)6dQx-*06G-c10F1P;;hsFPBc50PJI%Q|BalQ&tBC%yxx|^PB>UrOsnh~=587z_X+mF z#QR1WXLkz;pXS}?4#dvwU2#~8<5|4~l*U>obKb+VPK?=`GIj0qnj21yGNc8yKM0+T z@Xw}Z;%fgbJM0qOq_3YfoyNT+X&m-C&P>L1?0g8feQ`^$M&`x29lvXx{ZsHq$sOu7cfWF&-&<%7QNa1dWK*Avojj%l$It)>AnB>(-ICb zf{6EjJqt*qbNcS0$0Nd5S>z9YMcW<-%+0XFf&;we^5YeqcUNgx!{r#O83e z>t){9au&bun1tl+WUN;Z!>X{^f(4H;oEn^4XxPRWA9_1UZZKwB$E}xHqn5otFV5H= zORXMbw{cTCrutCgxe5vkO|E#gi@3B<*8;uhU{&oHfo8YS{=Ipy2#VfpX9s>_=*V<- z7c7{^%yyFCSgWEOw^bk;OzIqBwbcO#*1(fW;Az!KI|y@*jp+im4)RjP>)J3!Vk+xl zzr}<>V-<0r`2*(pPL4pw0&07uU;D5kBNMd6;+#=Fu&H7&Y-Rdic1bLdeRUQ{el|0~ zFj={X>>=xvg;9xoEKCPnGS4?NH=JX4G$I#Rt9h+_o&1NJXq-`nK)tFSe4Avo3@@}q zI`aLG@>Y{)Tr>m1;lFz0*_P8dWyIW}dE^?Dx^vOX7ItJtoyJaZ!UCEQ8=Gpe4}r#G z1C&jo#j9uQ+?%iilOpb}qz9PzJu@8kuFAde|7QVwnZPks8IoJ#xY6~&P7#wJKt;26 zKpG8Z=4m;%(C>duEVAN zPZH1UY~)+LSOjh~T6*sL_UGc9Mm^4YX5DT-&kh?u!D?UtpTg_aNQs(y%xm|r7dm#X zP>HPm%kI!{yBRMfZJ^*}j;4gOEZQq zob!0U-mm9#f*q}M=B-u{N05jMp8K<5)S-Rj-al#ASC+0XME+=_g6Iz%8}abZ?p-T{ z#i=nNV7m$7E4U;#K6`8UXn@)bjhEFgW9nP~_7+IsKYTUWeDDo|KcA5B+-Dv5!G>5} z=kGek!GT2Wuy zFlzaw-NP=GGozyiMdjuHsxBQqVI^A}hVsnI#ig*DGdy^ZiRd2A4xX&u9zuFWCfIKc zjZam{kCOk)f8zD%^3WOySgXm;v}j*aU~38wmlrEj2|Z}ZVSS4V^j+I_z-#C(q6mNc zZIX8?C3@VoiEkj@t@k9vGFmS_Eq6IdvhaxYVp#YigXq5t)*;9$d$b?3fhll=WJFY_ zkVf7cQPf|rN@%B?)wbK*XH3N?Agtame{tM67Or-0x9Jk5e+{q*N6Sih7)*+F##_f9}}sZ75dVUx74Ad8jTG0 zr)AE7i#ma6gfmV8E887P!(Ng)?q#ktyu5Vg^!a&2^6ghNFqd2>p1#qsCx`%=S_DTX62_8MCROun!z%03Nez296c<>Wn$|F86H zYe;x>oZ69}u7;Zdkv@fGhflKw-^O;t+Rq1S^o=l>;$db(Fz_WX=J_V;VC@qZ8SfwS zl+vK7h@XBY+Q;o+W-1Fi0}j)%1uK(|Bh{K11yQ}xtDnHf7+TMJYZsoX0^Bw7PECRA~|?bf*E}*?7#;8$wD_4sGJcE=c68@xHuMCaHfXa$0s4 zltr?Rg7mm(-P(wrJB&%2;YLqsZMAzxghP7qZ^UVn<-y8_-Z<-RrT!d_O)7@-k$V7D zU&fCoG!%vc-t>N`jTE|3mF;|9s1&W(PSsopHzm>?)7}}z92ZXfqCFw;ml_x8-_pp2 z26JqOmuq#!l|D9Zv-cfUX|dSSh;?d`pX3=RZ+B)opAtT>rU@OdpHXyTXNt;cEy+da zb$I(Ou*<02Z|cdhi3{Vn?w-_|p|R>LSZ?uSx_GzS9!BB$EZI>M= zPF?fS_+qt?i6l#bhD_v#^np%4K(@_~?Wq(GGSKWAjLLY=9YA%L9sblBy!6Ok5$Yk9 z=gWJQ-w{C&YIRdR)L~A#_ewl;tJ(soE=H;Ji|Zo-UnbZfldzbBMz`lR8eVy!uiq60 z(Xm)=`yjv!G&=}pA-LqS8}An75L00Ik4V-13}xVKQv0LI7#QGE)){5Uqlixw<>qBW!q{cQXmdUCUe)vhR<1jua*D zR&BbyC9FnEH~41qZnf$QD+J$Wd;%6mTH8BnF6a$&q^fmmf+1MsQ9w5E#~hNK@@4vH zd3R4{YbG{0epBbYvQH7h;)v;H<>Jxq3j5oE^3+5NIQg{28f$%0F>fjtA%RXF3m)H8 zjUTnQ4zKy7NOr6t0tk8x_tBu-s4Zca7({B~)xIY-bAuuuE$m-j6NR_j+~QhlJa7;o z6h4VD?YA4UZ7TaSjTjifoh=xJs(ivD8qHzk>u#T7+V-fCUnVkc&a~9T8L@nF7e7^n z)F7Qx2O+0x>`aeNg2Xm$V~`0azk2A??(5_nKQ4H#9oT=tQqCO@RQmt8G^q%MF?n(Q&=Fwei+$fVR=Gfh=>#Q_Mpgy{JlSGQLmU!@=VG=~sjvSf{u zv1ngYn1;zhX5b404KF>S22c5JdivQRw-)Z7{XCT#2MWubNet!2gJDklEDUO@!TC`# zq`4wc3 z3U-VMHOdKiQd1mZ0y3y0+RNDw^u*FUYf2!%6c#NE4*Rih;J z<$?h()@s^RFz6G$H^Kvh+5_)>v)#@%vvuZB*5Mi{$8K}q5(uI@bDKe0zBjt zi_20%3@8T-Heya0q|zQe%c?|facvA%!ME7?)6SWopbVLIXEVSz)@R9bK@y><3gVb0 zh?0GvuS+_zdE&tEhDf}Qomvr$M4c4ZN3EyJk+5q45~4z-LB5C$`^C}k3Ezef8agf9 z{bYZG*rs+}bfLfEAaE|W3-7<{z}{D?u~rKdp;O?ic%G?&i2qR|EAQjm{4!#uR!As# ze=$Jy!GWT$Kkfd@FVMt391Tg(TF%ZMMnJIjMdT--UjxAa)u$ir@CGNk9N+AA>z+y+ z3ghl0HL#A?o3;-RWYN>xj581Dq|J3w{@$Rg>AdahwEbJ3u1DPyYH$By-EN2w!HT=h8{hi8ng zIT+;A%sDM{53g)_I$dD25Yx?aiYDH^SVkQ#HXoT&l@OWsI4ew#GibVrH!kw**w{60 zHFAt!y}~0haprz|*ky$^qA#!X ztfG*s%<>s|6~Z#awx9_Tw@e(O8ZJ9dK3*7?7u_0kFNs<7(c}GoI^(bAQInF^J>|6F zW3OH+lUaXRqAEELqkDWAZ&F0>FhRO5)aayUio5&a+db7yx9JDGbqHg%S`>MUg>cU`p$d!TxW3|)ef#EjLA8y|K7+s}m7&mh&q z^!DZQ+DI_B)x8}CKnc_%e)S}t#G50h;^a3SHa7h*>%Puk;|D4&X<^~hU}ATqyI@P# zyAhG38d3MG=h?x_L83wbca1tGJ`MkzY~)N=57kQRA08suNAMcr;VsRmQ!gb_R^h+x zetM|4LZIB{T(`-3}?Xe`f$tLVg?JQYjl{XnJh>!KmS(EP%n*WOzvH$r*dqZbbW10kh$>54YPA z8rq*38Yu0{(M>d&c(#2#Q+IB4rXc!+MYH!3Z$S~r+3jrFC?8|gfLIJVhneZ&7{yA^ z;lG)>pB5Suqju?2j(SgD?OQ8sfO&B2XdL6fq5}4(fRyqVK@|fP*vZCUA-8Nt;!~6J za*Zf`EIM@k%$-H=ZoNs#h#gJ=g^57mGed9>lkPeyj1+;>&7Ze}nO#yeX1jRuZf@->i z^>CtKN2+WR%JF$~VSFyw)ka#Xx_?ZI;N)h9^+F8S!0xRz4(TP3137eiofBE2ApE1g+0(;`I>< z3D$>L=M*edI96c=_l6st*V$EPV%FGOllo8DZ*mtUWrkr&i!hm#m=kz5p>Pgjv6i{* zlJiVdzk&;>znZ2n;4ME36!uOe<8s3k;w(dnvO!rp9-L`u`7guMv=u@}fI``HRwCfz zi2Wn)*RgO4WmLbwtL=+0Kel7F7FrZsobeY76}P59Ld&aJ$!PS5=^%%zf_DzpZ81yr zPWudE_*x}~?W6_)0ZTxjw(hG<78IZ8jv5iL+Aa^po(P!~PDG>^c&5HPK$C7&J#Q5O z+KXzYp({0)#_?Mnh$6KwaGJ>Vz)!gw&k~|h@FfhUn@PJ9P*KQflbge%Ngm|vy3$u0 z8&1gtH>QSeQIEX;<-F$3;f}nr>BpVxtIwV^IT*N~MGGEPM|3dlOk2L9TmrHo9uoLpq6~KEGRM8m;QI zynDaKv@m|?)buY-&pkWocQZN7PPo;sDld3<=U+$YC8^9eD~IdLGJ6^wUs9`5D}@!? zXYZ`;?>9div3ob)7QC0g4@Y}NH=d2>kE{bF2hably3sC`hL(3st-Y0)G_2Nz6_M-i z`7q#5dYwdaW?U3<2Vj)tAEBzexEtEff^wI4fJtbt8#DYY&D{mrpo0ZF0CcT$cgL%0 zKYp_NLELSffjpO1mt!M4gSt%ZRbi%;m)(+I*=8V^h*>x6G4qq zo4!lJ07ooc@*m?{Lgj>4^fmGQ%ds29B@wMH=IM~sbr}=(o1)tRt^)e$)Td4|p8;-9 zGgJU+=8?Wd&PYr*1=XjI6waL zj^f061C8AEMa*=RkqNtWa%0-Lzf~b|dGdA#x~3jXB>P|*t_7~y0R7Zjoz>FD?+Fwy zqvqW{S1Dt**{4z z-15D-NyaxVT(2rQUsKjNO4b@^n&0llYVQt zw3Kto-UpAB&GWnurYThTf=}YJ-(DYyg1wr|0c~yXw^Qc#)RYv4s>`7S=%U`0cewM9 zusl{7Wa9MF&`KL6mqtr+B(1?-b-H)VF(#e!nH`FhB+AZawU~+a`rx!`XF)u&MyI7P zPdcgLusahz>RY4-czrZBA5q<>q^xa`m`Po3ykMb9V0>g74jhOa!6G{M7(-`btkg=0 z0sc~yV1o}W$$U@m$8!Bc1~0B?^IELc|9+57CUYesVhe)3(wKb1{Yvig-nnM^mo(C_ zsBiBlqavOyoV0X5+D}gz0JiF0c%Yooa(kfP4)-iQjzq&0`86!ZHU~QjnbvsJ;7~-S zn<^X!biFRMbJV!kCloJK?fKSWwoqMhwn`MfT9{18rS z3#wVSw*9Fc_|!G0@&4b@7f7w=f@wBw?=eElPr1!~%SOB4hG_Z^4`M*Yh&^0jP3`zM z`e01ABHEqud7tce=Z0W;n8PTf$*`%7;CmBCclU4!RRk8SNMlg6N+jk|oYR4sQSgY( z%IyItPvW$mM^M~{b@mzCV}(7i!0P9lL(6YhCr{@OQqI#d@-0>$3^#1?srI^Z=VrL! z9s*Xe{XpoK|3-><-g&G_gA2g>r%^NmE1~W(P#|$|I6->X%o0C->Oz^gy-3}?r3%lel(zDYhng&?*sV(4$lgm$SRSVJ^3O98J)zR4N)`X*8rpXR2qIir31y%x0r>n?CKpnd;gJ#uX=Zj}h zep24^!%VdKn_xQ{&f^RL;fGS1fsM-BOc;b>o3BfsAIJHsi+!UCs%_2`^?m(B>BAqgE+ zCme(v+vwz1CJPalNwkxDN%lufOX0Xewm*q2lQ5SiNbI4nlG&*s#|b+cVkGLEyl?F2 zrI@lr&`RWq&~*}PIzPHqx*zOH9b@+UR-Pa45#-0&G;c<9MVM=kJwZHG0t_-DCy%l|+ay$e*R;X}RS`876jdr_{eC2qZT3_Mn6w6Xf#Z)BA~n@7am$Guta zU!kAO_-gTxV4cExNkl4(35U0Ps26&R#LPa3U%C5gMdH@KdA%C3d=ugEA+O%UQud2; zPPg74t7-1?x`(;iI`QwS(v5cg%T-9T=U1!xeMS_IB!tapktAn*YFn51(lJA`eGc~z zXpr7_Xbp@#iR%Ah@~^e4M7ZJeRW-qVRrG1_ta$yAJ-Fk3SNkr=SqzR%ah*es{vy^p zRotFQgamFTcdQM>)a^Ao?olN0Rm zMAPxDdP%ye1)AK+6vfAShkRGnH~odvJgg15^Mp^$*M=13;>LKX^6j3l^Au+$gDMk8 z)~zT&x!!N{p@q#{@;%8@^huEte4^fif$DN*=9c7CB4Kr1)OyyZxE3pSr=s+Bct%I2 zxoS%O_&bFEKi!#?_RRT8`LTo=^Wz6Mg}o?JqzN-K8lrRbdq;4=5gUUQ5MjQ*ei92k zcrkgXECgt>b}Ssw!JzVDo6knyBNk3%%H;TPit%;VH8<}|Q0@uSmzTqyzFWR5zupHk z@ERIeb@Hv)@9=N*bys!aX9aD6i*@bhn8EKl$#0O3jV?()-7w!(`s(KBsiy6o6VwR^ zK2fvaq8wYHq^7M{>}=vD|K|iI{sLT|BzChr7mfx6jqGoh7R}{z&XRLQA zZ*sZ2bKz%gxP6@sNU2n0Kku!{w?kmxCuOkXJ5WDn_zTwuL20OR?X` zh0%f9DBY~8n*a-NMASCT_1Hk)2rCi06dkKkT4tQ+;igwD5A;JT#cT>AP7#WJLm|yv(%{O-cqv z1VN~UY5i)oO$)}Ba?pg|WsI*m%6UlMYCBh7VJjV|yrNO2%NYEHJ4#$~4N2aWri!h1 zXy>?(G%zM2ye;aZCDM%VJj85A#>)~KT^vwShcMyV$stP^E1oEqI$$8hY8!De}E?*1@Caf z)hknGepd|aXaye&S?j_eTAQVKP4!MBTx73ej9X!yyEu&frFMP1CW#j8u%vu$dexcZ zfC@Fd@k!2ond7b&Y#Wh#lUVszq=bHJ>+c$~v6Q~j8v*iJ5G^zKW}G+Ry2FEN)0A6I z?Wl4a$YwS#G{wkQ!&LOCs)5s2Fyj-Gp<9##)cEx?x!Qow`qMTT)xPH`am@k(c8M&` zkf90K(+Z&@%d=;UKR#o3h5`p}HD+qhm20)>1rwAsKy~%jBVtHoU5$`02(@vNS1?hF zZm8*c28fRXx|e@x|JbFx9dp~nb(+dYRy1{liD+)UvSdXf^nBbDYkz{fSyT1`blo%g zKywpwwjI>tynflzuY3=p&gqLwjlV3y$W=-ALT$ zP)LVNh!!sVv6+$~dNZ2r#>+>mb~ZfO2{QJC(syZJZxp$}{3tuVe(G0j^t{e$K~`Ta zYx*S|aNt?ihG*E{Q)TsBUf|aA%zP@YdE8Z(*YH<}>EFEBD2ALJGI9?y_Ituvr@yA_ z+zA9s#6(Z6YZbnqnaNv!k*(X(74e0uZLTm^OXdGCsj8%0^!{ZPq)jbhgMzB+4+y4W zexrR%qfgnyI~$UC{`M8o>wrd@OWR zzP#0r8mKb|$tH0}k~%w?@XhzVi|z~1ryorj=1BT5M6KbzmB%gr|fC0nQys+_LL>jvQ@oPRa-ypyXk~Fc|&yqssXKFPGC$U!xh=vG$ z(CD=kBpRrw?>HTFMDZUx%%CqweKryKr0q&Xc7lGiDKW~>EJ|_gNzd~QCH0RXQ$QAI~EJOgIA}Wkpp zE1*374=+~v*(I2kcHLm}Paij9`eoXkq+h=c&2&naR}AjtIElJ4@4ubuE4)Ty$jGg_ zxeCbGq{(#VMreoz>FBTD^1J|eF5oF1Sm$JaK@LPv92pmPr!d+a(p@U+cL5U5K&w~P zQ+up7f!kq(ddB{{CqHU#9JZ62OsqbU`25GNUGH<`ZdIUmL%Pq_xDC|x^LC+dHr&25 zmM;#SDiqZ|hd?@1?I;Z~H4!Hq#-`J?kG`I&yw<~WJK8RqDmwQHe6X*gefCHZ@uEUX zEf>;UFs0cwYb{r^<}=Z}_%asLygxor{)<6|8g6Y&zcuxu9V#d=Qm4y<4-v=XRQh1> z@JJ2qH~#QzSJ4AAi4S+#ez84ZF3&+krj1TW;io=cLiIp!^MAOFr-8<|1Kfy*OKML! z`!pW27`c1oFdOrPAeYVDd%SZFCH&iz@jFBSW(w+cQu)L;kCVn{X`{JS?0h6|5S z|A3VDbf7oN?qdOX1$yo5I28}IM~{=^mbojkGVR&xdzqOpk-oq z%5!jJY|mC~>Ke$}W28~#-1gk`dr#Nv3YZwc{%X(WarRZ1q^$@ra8DTbcAke2)R>q1 zdoFzA_!X~bnO_qJkSoWZn$YyW*@dq0@!0d40F8pp zn8WvgROKR?H_ukyl+8y#x?*W$@TI|b*6=qj*QCz`j@(^#_N4MJ4sqjtUcPY*J@EX$ zL!VK<+LhVbA%Qp`2GK1uyyfqw0UX!gK1J4~!F9vt%(uZs5WJeB=OELiw9MH&xZ=Tj z>>D=Emn_>qK}~W0_K^ERzq)5*?AaSUx?&e#G~u-9^HtyOwhz_8>g2>kgV9v7R)p00VNp|wGEAO?tef;O4sz=r_aAQmO{MIt9z~8 z##i0TBQkh}{8&auha6K3KRjNHE>{&@ladXa2uxp7Y-Ey&f>35OvMJ7MoT@BO=Rh3t z+I05UWpWf_Ixm#KY^^bCJ;i=m_z ztmS>Bu6`dg2UC8!*nUwS(9;?rs5^|!<4=tTEN1Y4n_oVV1E?LUc>3eu=PlmQgf~Wz z#cRgexMIYUXaA{Vq&31fLIiOC8CRu#i*{byX@1j2*e+LC2`dezt!qu1U!{HvvQJJhHLFun7HdK zX1#gL1KAob>zqhy9xsh-lRNB^ZocEzxvg?ow{Y3sKMhIDcL=KFa&^}h>VCbq!<@Ty z;~UU=^__s>6r81e_Tpc{vckrSvS(w%AW^K!-?N$;QPZFiHt8lT5*8X$J>zd5!jT%^ z{I1O4_CTu?D7OPz!WS>xI@r(uk`NQ{1^LYUMZ(s4K*}|}*q>|ES?G-GaLwz8Hu`Ve zWD)wlm!KyoEWy9Wy?!z>4dabw9)vt`ax&0@n`QleUj4T`DatyKE+Qn~^UVBHd93-~ z*3=PKsXS*Vch~=RRsH^S%xXSw^qj2kp++A5I)6^-m*m58ClV{rCimHVq@q}vHNP?g zse;SwP;#(U6rHY0f(u4Me*!E9Rh6gy2^^}ILYa1YF>!4UqF3n?41=F|c=x^oF@i&; z87058ue3?O;s<%_P!axKN$FSjZL~q3UJO>4+ z1WC=V8e)$X0`rEPr%4{n+Ws(cUzZl>xHl(z-u0Mb+qmLRz`dNI~-aqzSysl1<4E) z&-cf}tbXfHf?gR_y+pdWEF6@_{IW1~BoJO1B2_Q^usM zhE?G60TMDe7TCr%8g^l=hk3}{#FkyVD-v;E1v_Iz_4G8n?PGr=noH4y*VoG0gi*=% za4)*6yuUd(^&_W6%U*N1L??J@)y*JCe{YEv0ALmoYbWD>w==G&;(X==7IEDpJ#qh~ zf4&yxAva_URs((KdN37X?89Zr%1OD3L--5Je@1nxP>SY#CpDWyLkeMz7Hwietnr+cypJnF zqMaXfw(+x|oFpjzoYvtVf}_)9^V4eDz)U~lLO!gn#^6pS>784H>A_|)e<@)Dh!-D| z{|Pzdc6QC1Q{=KM^!jDnjyG3eJoB$AWjcNL3N9}N(2QS>nfB&oA3Mu9@>bvay{meS z%kJAIxw`;x$;7*%vb(nO;DBxomrfE zsbnoJl(I1SJ@f{(oG|hI%%Bw-joIUPWMW*&SERe@`ucnctnTwMQ=;2Qude$S0;0>x zq=s)^V6LWA71uxUpu;2-*imkP$%89ph#|ncAa((Ia_&&g?Z>C8<(~c)JuYMx>#|M!W){oas?eUAJ* z@%tg6T!5WIye5l;dR427pO+@_M0V}avXHJGM~*|$O~DbCG9yi?ta}Q=rYcVJ1SWT9 z7y1~5*B;mW1=bX34x3B`dQSjBD%ocm5^G$C`^I*OWQ6KCxyk|MOat(CnA&SfIB!3B z+@9|pzHpN2yEJ>(Qb@#t+nBXY`Ds7R8o4pg&LGcXtj>5TZ!CE7DYOTlWBRteKh{uv zeZ~xrU|zJ2wGMTzH&kd5QS7-lNM;Xh+D?R*S19cv&qKUHi6K^FPr~K53OdihOL&>% z#@Lh2Ljt>0j5cigO#{Sx9f_u|p^xCi*6e!b)y5|i{1bgqkbpwLzy8&Hi}}IVucfH> zpA(`4Y6V*Yk#}BE&E7fGIDi$0FAbcTbWXFAp)R1g4KAE4uy)hciEo8xY)h%iF%lsa zW*@5``Sohs`#f|vXaQ>2$_7>goVQq;jUA28UiqsqJ08|;sO_1iulNdA0A+la4pG} z#sm+I)iw0$d)oFuh9I8?S3VJ>Ge5&!IEj%9;+X)-7&ughhp9+aYWR^Kb5EOfYdG_whz6uecnZry%5Qd5 ztdt4PU9~mAdxjPT)A5T!t&h(kmvl^j3}vU2b;o+yhXVn!9EA=CO&`IJFvvSGMUZ0a zvhxEIzI`-x(Ymh0Kv%A@D#_-K)1aR0h3PwooYho?wb=1{$Xr=k#Re}+$cbC+{AG(0 zk6ZRg-;~vXGkSb}9tf1rb4%(#y%s;+U&dI8V2(ySKVBC5VW9>_CL+mk_q4Ud#!zkG z`gi2%w;k%`JP)Y{h_p<(j`G)$alRZzJv%(F&E)q(3THC;@@6E%T4P!%6iHH7^F%() z=`9^;ANPGffmzx6M@+|#rf2=;=*SC@Se9ZCKPtPTPw*c^j#)wuBu2j-Xl@>s^V;s@ z!8gw)$|h~dMEG~jgc+}&Kqxf$8~pICtb<*ITOGuhY{(?E91rukI5gO(iyiRUYGiV6 zzq8u#j0*I#c!)viVM(md2CY$IOJ%USoB6&m?U+CmjczvMqwH5b7}0}7t|UJ3je_Sx z<))jIgwZfGL)4r0=xZu5Hu6R;x*bHq$Hk0+=rtG5l1%;&I2hD&+)xZco3w$^PT6Prf(Gjp;n`@2^^+l4dvd;E`q)W*g{KLTjU2ozMI5W~1jLMcKk3Z!A}5LS#FWO>Td?dt9GA zgMBwK@-&@7n$yqd1j$qsSvP{k*t*vWO;IzU0JxWJg|@+(_+N&L;JlpQx?w9L6!Qhz zYAqC5XalZW7W~<&qi!tG>fSH=yubQerhQOB)j*e^SgMLR@4p;C{JXygxl2ErV_Tp@ z<955VzeG7o^L;8(#$5v(>BIzmnI7LdlA?W3|g6~i7b{Eth8Pao!TPu)oGdOOr9kaS?vB1Z~rQ}wE=5P zCFJ{@&CtkeNo?;+o}p%X0HcZ?szyv(o*35Q97={RESSgoH@R;VC7OUibIKV@;f!5S z!^|Sg$VtD#8RhoD8fv2Edf(L!;Tr_qv&i?X6n|sPCb@=n=-yn`+-hk8o7JzRGke(R zF$RQa20}6}oC-n>!0f%74)c5II`0#tB?6{;Pr5^y-ZOGyKIh!i>MB|$X3MpRL{GbI zC!_@>E$(ohC|s|*Y_klcG#_(fQ<0mNV%TzL6wCb{iNj@5Jdb_e7J{~EaKZ1c{nVG; z!rc{;i-T!L^{P+#a16P6x@X~}n=*5fSO0!A856Z>AFIn}>=7Dq7EG=uyp0T4RlNUJ z@Uq6$E0ROZI<@GJcm*PcJzJ1XOwJz#A4 zpL0>2;qsFB>(@WP<#eA@8Ch_L-~o|*wKYpE+9TA!kdp6-0@Ftt>Z*TS_2DN8? zA_1s$_$UZY`B16z!(@<_koctZ3 zoa$-^3@yE|lrkc;|Ey+&{O(;%^Vo*1@&7*3-EPpVd51-|%_N zysCS847;d+q)N!y?Uno|(b~=px%7p)jiINGC5pi2k3aV_V%@&FnR^o~l}y=eJSp;t zHPR(txW^Jd%P^U_jA-$y96$F47;st^lU0aE96m-$=27h9Z1NPhq3P_8uWYT!~G zmc37WAfiyuPlr_69&ijO%YF5GrtARg!SU=@ee79~J;12y{!tco0S^+Gg9pLuC)|p43Bc+{V=C0kI`pij+ZI zB`Zzdn?um58v$6ka2nTE$8$><-_@^fT=c(qO@Cy)Z|O;t?2i%KoJe1`NjU z&4uhg50m=5zCC?oCi<~S+Zql)@h4T2#nTe0CC};^jn8}`i|5?ia`gL&g;!8pS$`P{ z7;nAIO-cr*gCp*~=e=8#V@!wQ6K*;L+_msNi>^&hTub_V8<}i>x4FRM`SH!ghDk|n(4qR0 z42e|AZ}pe%#1LC$5GE)WgnyESbXbNysNlWFdD>K=R+BNZ^;U+S{7z@kt6;!zgEhnV zG_K*r!bLWCpU%rRjQY#DCujPK&w*#}DZ{6+)MWb!0RGt*gbL$gO=E3x>sv_4??ipI zd|Cl)H(S%)e2dB)P|jgYPgG+F9XAqqtn(+d>*d=&SdNa_;2Ana`aI9~RXYRKKfP`- z{f{fI;L$UmWpiLE6Ey0ReZBaT;J_(-N+oZ+EqSPqheM|zy|?rOP!;DBN2*rL&A2P& z-&-m*vGZbVMmx(nu9Efn`kh0Ab##n=h<4oOkqxpDslA#$sdhPe%z+@Ty@nnNNJVh}{8xwgJW2FsA)4fMe|9@7yLi10|F#ZVJ{undJ-T&;rBJ`HDX!ua-J4`27fl&`-wQu+GBTq!If(s3tje z)v(JmMHLxKcC@@j!Tacc^Yip~9!d4+fq7-sVndX(G69K+H0)@2+jp=c_v7K+8RoTeb^iqrpZY`dKEXt>mFQ^T!EIZeO zFte_kE*e+#GmWgvGixL|#2m54+Kt_t;%dlHz0jjB!C5hVYXh)zgZahDyA#zICeQ@k z(>ta!mf~PE;L;05I#S8V0G8w*3YQ-|UD_R4PF#=i+9<`ziHR2?RO!sc5S+&PG08w* zm!*sHG2g&>qvP{EUsfB#zr(TE|t?^DEc5!ju z9m8Ex2XEI!f8tLZ5ISed0n~obeOHEi#OB(%%>Dt1qtzInM33gd@b!dte9vt7BI6go z2N_aFtl2^M78ATTKQ$aBE?fW+r~S1HFihjE@klbg2I4@#y0fO74N)Z5@obqG|JMHY z=EleXGyA!m5BZ$elZ|CrbXk+3J{C}%(zO-^vtME7>MyL+!rFQm1_|WwXgJ$OQkqjg znF_UtvGNK~kh+tSE|tM!!L|j^?V@qC>(m9;74PG}&8saC|LN@$yOYgH_@r~>*O$YZ zrtas*-;GQIqW&rF{SlLnaPnzB^_bkFyVvXf(vga*30U8S1y~_u^4!MpzN?;xP2a<` z6^RMPq;tLx23pyv+FL0X=vQBmrjkL;u?3eO%n-g_KDB;q*YcgbCAoJxEpNQO^cI)A zpq@Imb|KH;VinZ-$+ou+rl4=RVP9Y|46y-uy4EU}CZ+z0Md4WvS_2@Quk&1ZG;wn@xv3eWVOI zA69VdHdOG*4i#^z(3luY{7*3qoD`hYTs)WXa5JnDskU9xMI&aMQNPKzboXBD5O$*PI-v#y}MAi3=(_< z?7F~W?-)1|zr1}`#ne%=FzlQ>Be!vNwP5`5++D(^KRl^;LMb6Ftl<2%w|AkjPuM_q zf-94dmbj@CB6yk*=U;a!?(=3}53R#3R=Owkdxzszw?$OWM5GKWVPiw-lkRS%@{T-< z2ZlNR!{s{9k6Kpz1lG*+{=i(iEe+vEp4HUAu8?#>oLrV<{1(~8ep}y0MgP!EsHiPD z%8`OVxc%1cN-b7FCz7K#P18O$ua`+Zpu_~>3w~tr)n22w*l|*R^=%Z&8@*K=e&+ru zYi+R~EpM~P$oSaQpPP)880&0B#a&#;_8FX`uFF!FXiuXvWqtk~2-^>Ehthku13Tn- z50)GBFug4Syz3Yy`GzXEVQFge7ja4(7U*4Fi_yKd*!IDPi2vYhn9y<#;b!Y9y{W`$ z(sN7`k+pWVD#KdUh850!Ck$>$;!CZ4TtY|Wi;05+uN@%~yov4YVSUy$IErO7vgU`9 zzrz@OtE|h|(7G*!?u)ikNyu0IO0G+EZ0ua&CGuT~BbCrnH%8 z`>TH)fKWww3%JU+^iV+i9UE3%x@7ykMBA3Q=hJ!s)$@xja^q1(hff+lPL96c0{G;;N284)ABOb4lq}O) zwf2l6yVcH1Uh${jxnILG7l6tXirMRhft@~uH5Hv&o?r_Qq5fmOgdID*a^uj6iWVJ1tCA@Vp7Jbx0&_}@i2OK| z+c)T_NWDGUES(=rgM_I|pP`qfkHnI}5U#fwvn>D6W@7^V|4D#n6MACh7(1^~f2$)gTf4@B5d7L{t4ijH+& zZ@jX+Udy_u7Dg`gma{7#zDcp$sMjzoztgB|Ypl8r8&RZ{k5|1K9?U(enpiw|By%%w zpes2K56!bK8e-Bhd(}Cd{eQbAB^}v;b4BVM$L*D&HX=730$uH@Q2x~dU2ly(`&mhK z?RashJnDh41hCKCge1??PH`|JRDOIXiDjXEann<4yB~#6=H4^cHBBUYxHU=n-?i7> zw3l{(l%hD#%TjU_XpK+Ery5yP&*w}TW{ENe%1x@7@G zYrc%zL7~5BYm=TBMkN#0X16D|)yoH(jr{f)R&Cr0L_JyW?^RI|ym5fwBHWeDf(Ia% zDi}`eaT>~}Z5;z|1uvgNI6e$4!@p2R=?1b!tEI)lGCs&FguRflE=ax1+(-ByP3Qj3 znnO}l&g9I7IiKY?r(w+5 z%#4khuV21@!hKz@>wew$^YD1iC)cj7Y{~Xk0Rp_kwWb1GPo8&&IpD?zH`DoCoDTBq z8scg(buoJ}O&>ae#HbgQ2baUaxeYW zQnQblGk+sptv5_*OWEUJ75vzr|Di9p$YESyVD7Bv(O7p7+4g~E%bsBUq%LT+OkYiY zciMSfzCQYpB@693?EKVvH`Q>%)bi52TL8W0WKhVARL`;28mAa+9L0c3y?Zx;PP8p+ z^iWJqw_8~sE{+Y#%HWaH0;*M%mZLiBBgh_C84vk)*Qy-W(zNQTzVQrLe2WvZ(Vmiq zd0y9^3M17K-i6EzWus3Iy%K-kCm8Gck+{@(2El)+Ko2Ww~0Ke*6vR zEcx;By=gOGN})YAtkYl~o-85cE5XNQWoHC)QD_sNBZc0=CB9zYtP8pc`+i+kO_@iNgDmucJW=HkxxUTRMkhI~AjG%ra8 zTO{MJ=62x=!5JQ&+qvanbO&c6hvfykN5e5*Mx;+Toxqm%<*2-%0oN|e_uXQ7C%al0eEoQM%H ze};VcDez`j$>KL;Xk6Ago$+A|*mL8i+HvW=#)p>0^gsJY*=bXkku&G^`KO~Lid9o{ z%Nh_hvG`T2><#70i?K<=k<=r_M55NH3fl9LFr?&WH=)Rs@R9mdt4tO${B|h|j_-x! zDcVgdq99e*{r&Q8*cVZHJ8g^hTk(TIx!Rw~;ennSl~;a+=yX_-?Alk`;QC`?lPP&P zgGxpfUwhEOqU{@Ceyr*kGGI-bKTG_OS=}q!y5s0S^y*%?txO!PUn17+eeG1WNKs#Y z=0-XEFpdXBgPn>>>|@t91x%t9Y{~{2#scEN%%21O$re?{W8^uXC$dL>*Lo_EcuK&M z;ThH7Wr`1$O3Cp_k1uwyTqTJ@)?snqC|>jX1k!*?=GwC5X33%@`lGIYJ-k4aKV3`R zFDt8`(n~oyL)s93=UaZ2-)+EG{YgD-P=ouVB`v~BReY=rPbk*af&i>~6#CBxQHo_%Uj%k zrQ1LlEGnVlwGH>1>F|2$%fmX^A@(4ZDiOXIqfVM0?~+zsd0N@#7qoVTzibj*=x`~B zdMXYW(L2Jue#LRSnxIGC!EUz=jj~u_muH?M?G^douBV}nvFzux=KPlCS}s@b_7acY~tAbW-Y8 zbVgx2om{@&<*ItC?rM1WAs1zF2HpV?-nz>974;i)@xSiLIg|Bin}g@2>1gjAiOMlw zdtHTb6yi|UQQFcs)r5i=A&Sh0!nuYp_NP9((O1&24u1o4%(eN8;!M=@>!$pV{FJ_$ zL1b#^pVgx6sN1c;>|TuE6%n#2nC|z)IIP1*KD0}+q3~G!E)RG1# zNmiNtS+gvFQ2e>a?h7^2J+S#pQ3sz$JxHGewXy&er%SuU36n{3*u)r4gkPW8`sjbD zx(7r38WzsZfcu?DmV41L1J9xaIJwj4CBj7QxwEFt$iu(DJil5d|D)G!ZWknG>o@rR zslEvErR1Mdm8nCKu9Y&Yv;$GRJer3VSmV*!K;eL3=fk4d#l>)JRuT0@clQ-kfuv=L zzeB$|3y-l@-SVdmQG+*}lA+!XU8DM&D~JQZgSy0!I0?Us%dTDyBxOwXx6-0Xn8vGu z7{NoY1???|C}{QRX)g13Nn>P%nov`=Weu`9n)xvXzLc^FjMsj~2AwW?o zyq!fMpxY;egPkfEvH0j)(A4_*T)(tN%`RJf_o60)>1y*xuO*&}NY$uRqOtmZN&D~sT zEhD;zt;HVr>hxth`$~=dY89}dFpbPuu|su8?%Pi7S(t(SSh@YW0W(v6u%732rE0%z z6U^$82fW!5I(Bl1IcINx8fnGdByoYa zKdsw+{h)Or>iLTczdE4oL;?`~+Go?3*{EBp*w@cB7BCG|e6c-8Xsm<(90KZ+L+&Rb zjAsIJ0+|>s@nq?C0?_RFAr*IoJEDPk^zMm0A=ow!OEy)BJoQ>kI3xQ(Nb>F@j`K~h zQ;z9nBl>6Os!~>#I5BeJf89?#?niu+QA>^|C_YtbrkDS=OmLuNPy865t0S9!Ui7$i z;XbsJQ^2l**Y1>q+jDD8FUeRQ%TwHgAvaQB&+4S)Ixghg+0cCQjHOoFdc^bJ^j^{P z_QO15*$+!+x&(8t+h4@19dr^ktyRKE4G4xJRUaqW=O_uJzM@a_j+ngPK#%0J8;0`0 z2-f!;BF163Dfi*jcv^#laV&Tx&l`L6kAucMHMW9ce6%Q7jBK*W={4#6&A;d1iiwsCiSyIT+h^)X&`W)XUBs>f*_GEJr0m^`-ffG&cAgCL2}-`!)}3?4>^W|%d?em0@GOsn zS8%HxT*!@?Ss!knu`UGOzuETkpym?fLdi*NXE{mY$z@!=$FmWqa*g{DVH+Mh3QMhQ z`ENjHE6Pbr_8Z{liQ^G*%xOqwWPYjbR0-VvJWQBH$+oBW%qLN-!TLKx_2I%9c+a4? zL}rqJ56zPQe{4nl=;*oHLMwqF&nvXqG1uU=BQN0eP|`h2nS23#G12k?&`RflbGAs8 zTkKZ0h?7!-`WFcj9Xa@@AN^PG{Vt4taCyzs3{sRp%GX-+DYeM_aM1hKi|j73^VCEF z?a(^Eva5*NPx!n>xsnTa%Dh$uLD_7G?g4>rK$8_>{BN9C_=;ybwAxP|bd+Nf7?nr; z;ZeQ4=J6hH4#fb}_S#-7F`P*zhZXOj&Nli z9jL!}CPbkvt1EI!br%ADZq{Z=oM4=2UtE}L#NBHTSe>Ar%i7E}gI>n6IwFcR7?=Vgj+m)Q}jn=VccAt6v7yV2bnl{wFV4(nkcJSEXL4nl(>s z(*z=w&9)NVoK_9$n=LEiYM)oOEfx8tMh~#9X%I3=pmYaTWd1Kc0 ziJ2eG`l6s4CVAmLu-K2;S@>rj#%pz5gGp3)x81fEYvs5yfM%Oa4^7J-SKmDul&6XxIr9gCjP5t~d@WR3*#nBa7 z6Dgo}5!*mxLSm0~_oanJ(6mH6-mqQbIS7WF=h$y8;emJniiwOX7;yEpP7c4s`TuPx zSliBIKAhbrU>wCOj(bRiKOSuVU`BarX79>Y?`YvyMcD)ST*;UETz_U&I%!#80Y4*6pwgU`$_|I?#d>n$yb7!`r(Q*^zLfd0#h|a^?%iU!CwBL(dQNc05O$QNqd;OYMn6Trqz)NFxllHXWzg z7hCiCp=D7#ZGZU5tw7)6Xp&-gXqI}xL*=pHpOe~dsmD%|5n7+Wlxq!X{E4{f3c(FX z!^RITHXfXNRf<@PQhL`mUDtgDUU&*;a%K`-WLF0%{Z}s1+m>qAy0{(mBXeYqJp}-& zF0@XXi1OHVeXawm6B#QrchhG=t!e={I2@6+!Xtg@Pipfy9Y)PTj3{Tw9p?!C0+B8g z_DTWUnG&Cl-VsQDc&NF*uxr9Laz_3jX=+C@0l3^d(cfw5PyOq1# ze05+DyvRc!nU7t3=rCXH%34+k+v(I58@yiC=6ergf;r*j!u0nhD-Lh|D$HH{AD_?C zDr36#VC6Q~1hmvvj$v%sS`mCs0nV{RA$_UyoIfA1VM4B!^K0`Aqa&ClV#Z0Alps|e zyg%c3#aXx8$ojqjGX_kHf3C?AP2Z2sFEQu1SX-Ifm=-P4^K!$ZoT$_O+AbPoEt@rK zp!@2`+L(~H4AP&QX?W(PcK*1-nHy*@7`M*l>!tV z)rD+AkM82yUCKgL98r(h$wzd+J($$gJodSH^U!9ZpTVELLm@G4+h-vWw*2x}K;Fi` z%|x8sqWr|q&zr1g4V|DsgPooKgOQd*pHjkT@>1QAFB>MstQ9MNIfGU3tsqsLT3inV z9zTdW{WHAx3Av@j(}m|6*X+OStLNX_4QbD4c$8BC)>aDKRWz#aBzbZ zy`e;{Ex)TascO+XrY-Wlzq_hmcQLO#ti0i5GFL3H8flc?-(#2s)zlStebi2*HH>*( z6BM}gskt9?v^($vDu{{)Y)sgsgqLsk_$N-UezgO*R$@a z>Q-I(HKPX!DEJ*<)ao|-o^m4uZixk2N(u zIodDlA*F;pmC(P_$p^f;+ao=kh{iCJ0S>=aBnalj|5Z|d5mh^V+g4Q3f+jBorFp0} zj@xY?QiAOZIDHmYRRR0D2YcMnTg}Hawka+DrYwYe{A=T@&y>;*l%ZK7ALn!`s-}+L zZ6&jQzTzwCRzb}=xDG=l=DH7?@fC_c58I1Z!1<%fP9EyA9SY1e4%eqGjeiy&wbgRwhHM)YE zq6&dwk`7G_FEnW*zfRCw%fs^eTOE-mddO#ft%yml4C+F3XfIb5qd(xlYjxC-9af_t zu9Mkw?vO`R+Y4Y~in&N!G6{}G!`qfDvQShc`%6ggX&`=iI|(3+XiB@m-M}5?N|3l@@p6T_7`(yes%-% zvaD&1UT2qm8kkAiyUE=IW!U(Xsj}pSq*D%-S#Q~5TyFBlJ~BD$VDSqV5w7QT*FlWg zsQ}LAT6yEVwRQK@v-r7#c@a@>kXSW@9D@gP-Sa%qF02+3tnAVEGU=NJ!sik0j6iR> zU?gUUUPlGJw#`p7KG1{<eOj^;a5&a1DeW9Zd<*tPF>neE?~-QSP-Cg{qSQ~{U8O^MDboI8e=gII_bWb>OS~06Qa7iv^ap2&)3M`k zBzHyp(dFHr=k!A+3e}nN9W7S5N_t9_Lf&aaMk(!*x&CB_3td~vTWeDjkJ7eE-%!hP zDS;{auk3k^yq2+cIL0jrRg>xlgAq>KZ7Ie6f0$&j1^{+hiW0|juzEjS{6toDxGR>G zbPOp80DhxW%)Gku!2I2FYIRf;yAfPv+mrsW*0~HQo7pKdI}<-X_^2{_RKG@OjE5L1F=BBPT|GZDd|gmw*;l zs$3^BPF67khKJjO-YFwV@A;|Oo2_Ym)RNJ4)rSqXWn#^}?Dx_wbf~V^P_S$H(&bU@ zGXmX8e&tQVn#ukUi3L8(Uy6PUk*7fMv>aw1BNaA!@+gUGCOXK~cNeST*OqJlCoH@U ztlJC4a7aIlr8){EwRkhebp!QLSZep?zVxmXKPkX4zM#zfXEHG$0BeGaJ&d0|H1%tR z2R;?g%J5IfB}J7y^?|2FG`#vyi0D8C&k6~s<7NV)p!;Gc%l6=hoAx$S>~H(@UdRST zr;!=g=M}=Q$|ul@f?R5CA6NIF)~Stz@zD07v~4VN%%*qaUMP&!k@0VRSe~Fd?dLUg zF9$@(;~Dk?NG0QEdJJ-vwJGQ^rEp`U!KB?9MUo0*o=3Ok0(1*5`yfd2E!}z|g)pQ{ z4lx$bzL_P0RzC+p?X+&N>ZMw*U^`|qEhg(EiO2-y?K9BbaIzpqko(MQ#oZ?#KP9$S*KQpB z8RPFJNBGQ9wwJf2gJkv>JyS*n*z0q14W8eO1UFl?7oS~tD5~n@yNB8qLD7 znP`@yhcu|^jCU9L-`Vq@mTt$LPVAHJcSznh;gmXYy$*wPZ#;>?4B0pRRSPw?zA7aG zWf5%Fs(YU^$}1d4}cpw-JL+2Or9_(*+F1 z-Z#gdqIEiS&u1tCkpWYW%I4mMc#d8>Dj9wl;sTVfT`4i&Y|GaHiqLP(^8Vol9Vt%T ze_656>0ArxxX_B*RxH4}(#Z;_>DhA}NvD1u8RQyBnEzLKXE4kRr6rL(dn$kD4vcR9 zrP$3uw`8YFb_t>ee=YIj09HYD#^xRn^!o#{zEjd|9uy#Tg>+`&y`#d{9{!J*&0Sl$ z*}OP`>@4DT6|()lYN&DGV-R%Fw{Q76B<6o*C-<~P)U$-gCT_!?tr#AtRxI9@n7-c? zoYMCJ`RQr#xyw@<9n^C=NIW8x2T}En}e&uA@`G`$^>ub+bs;hQfim6)sg>4weKCWDgbHg~IL zDwXV1c>;NXbGyFKS#s{>;Pd-8lj z@9HYMmjiI~i`_kK{_&f>?T9U5;K+eMjY}w;nDb}uRQ9s#j(uMNRsj^%K`fy_t0!($KVwy{r2s*)pz$R1eIaKhxkUA z)^N6$>zLK=z}jc2F^MWz^!9Ax;GRT)ZvuR2{JcKNzh^k37*^z$8_3L1e%Vf%|!@gMkR=2KWd5XDf$|d#? z$i$;Td!jf~s%`<29RC<#`Nfp9UtJU4E^*bRou??AJJV#Q)2HPloBXD1@Ir!6OKJV{ z$Kk4FeP4U?Mmu~01Jr@^5w@3~&e$O4IM1)gt+NpMAL$u1XxuNBt8(WqCO{)^QseFV zr^MfhEMT|Y)Xz+effFuP^JSH~g7_%bw!nRDXkz^ID!D9tNpZpSoqMyOt;c)8F#e&B zINQf~)q&&ga>|~Keoq3l?$_h(_U?k``|NJe#R<99NW=;{< z?Z9)}vYSCho5G2w3sS8X9bOt+L>xg)U`rf zV4p^~^cA}(SX7iW@de|>(c#EXgO5!pc`nx^Q#+S_p9kqU=1Trtq8iD-tq&6==(|;* zZBazjiIbd}wGkM_B)7yTbmvvfWlHat4eGXcUjJW)KFRr&LR!9`0F@bp*izTl#=sIM zEi*kxPqY*s$3nd249Nt3*KMAc)iWY9mfD_6k`|Fl^wCY`Q_1~~xSYPcbLh^fxWryr z-rcLk3SGL^xwTxTFP^vT?yR5%#79=}Y_GAANHvdDcTPJbHSz3Wwo>OP8Py!cC{letI_EDNB{`r4L0CIIY;L5*sC?e2G_ z!L3Yj9rt4M!?snBLBGU#NV276&rKb-Ye#)mdrn+LV_Z^+qbYUE59)fwg(}_HQL7_-Cx6CyS=y^;JQqoAZD%@^P0b4W z6s6d!YCHVe^Ts!~&L`6UzM5uUEerYQFYsGuQQ7<6h*VATnKb=NKa2x!P0kKYs&9U( zk60Fb;CHMWO?<*=<>oeSs>nMVx>KcKN%wPWVfi%Gpnb0NgJu_K@LypHOGu{W|(h9=rC=)svo+l8gKC=?*fs`hRA~j3Xwf??S3}8%As83qw#R#wb%$|qsjy$=@RLL4A|R-? zWH6wp^;GQ&gKNSrG$x?Z2wk6`y0Muoo_-Xt>)x-qTr$pKg9a zUqaJg7*+9Y2wy<0Sx!OPn+6xN@KO4~@a(Kj{~Wlw1~ic-87t!2g)|AVY^XVJOdIcg zYq4HNj|{)OP9N%qDdDYHA~{Ue-i;t(o(=8iol(@~p+(hIsb(HYIatB8<=HyH>`!|T zkdKPR2@P=n3f=h^^5E{*8o06!!~DTU&0o5^H+0^OkRCH;0y3nz(Rvrz4cvmUX-WQv zs>VCX9AKQ!SLnB6Vm%k|+l!tOgw&`YW$*FdfaP?ia>hr`e>8I()3FVLeHV5)O}nG} zok~OorWkzd=UWkv0+EBhIY&zG&_0H%z9YO+^>ILOCsFSrsi4-z(yd5RGOnCtf2f1r zip^=Q&Z%!;T{LBv2WA=O;QckyQmF6Bs+{Dt()N#@NFo7p4IKT{k82Rj+6{Jj9*EnFWjW#sU|v5pwV;dG~=t`cN2j zv);tCp8oLk*ltNRzd$|=CdIX5^kUKLYqZJz|FsnbSoMsE9U(7rt$p`qcgrq$UJ32@ z8b}*mTwRD!kGYxuI*as>ZKYe2Vbc29I7ng%7L0*q5-jUAJ};I6`X8e90bM6tcnywC2^)jjZ{3K}XG@@5?(mKQg}Hu%yH zV8_QJVttB@wY8x*D5ACs;9TpJP4v3bAf#t!IzB7B`w*lhZ=cUFY z`5r~Y+<5wuWNziw?f2@1tl4#R%VTQ+qS^m`|M&CR*DrNn(jHabIJeGyLF(*#sX=LC zzw++>G^WRU_myj}I$5Ou&61@n#XGiqt_M5+5#`zo&yf>Y`5kM`!f$UQ4zn@tCheGf zjFsqr(GB0wZtf8dtU~B_& zo8?TWzci?II_O@TyxZG9SQK_GR6Z)f7JooJDOQdqP2#XEjn%aS^yR3PX`z~5&fDLc z+L=MXM0rJR?{Nv^fPb|l168&M3#!$ZR41mZ-U4Qnmj=EO+d|FXS&yuuQXZYt+Ih*N z)w1o`jlC%RWW%2xC9X~#|9s=vmUVrTh`yz%N`BVvVh@-UD06iUO(=Uk0-|c)(F138 zm>!LMCH%}L9w;NioAidM9<0z?9jGn2nq1J)Ry*Nea7X7O95R%$;uY|y%^o>t za`N`*y0c`B_63U{9LK8UQ?~|uQV+IW-;hiGw(%oRl=}UohkfgU0?g4ZvVw6AHTRa7 zz-~T3%W!GW-oRM5^xo#2u5~z&6oG7C%M46E3YR`rc3x*~cKv1l{M@CR-Bs)AB{{;N z?R&vOiL0B3s)dL2Rn+`}wNM?>;9>#iOX<4Y#Ojb!F{J{awTP?}MFL>o07K8?r?%6u z7`_e}AGJDxok#@x#N*bdqJ`3#o$A1W%jeh)h(X&xs@9B=y%2|r&sJlpz@?TbV)a+C z4dmrl^&8Zep;4g9Ej{EL%I@iR!1Z_G4ZL*&24a(d)IWm}l9`ATDuTj)U5b^~aNIeC zXxmrGuI79mN2hsGd(r#0lim`@{h1kAaVs6A$TLT;!KpA`7e6Fn*O7~N*vPMb_upe| ztLH)2y1I7w+^=<`&U+kVw4>O7r_d*4A=-_`aASfu0^4U>o0fHW>%?oNs8PLFe5$l@ zm%UHoR^6%M(6K7B&8wY0MDK1lyI{}5^Y#@1n;oO0xvdXxe+KItk1`ckz`@4-E9tYX ztK-%gZT1KAAx01D7lGFOST_Ol&NWx1fpbmI1j3>Ot38m248{rwpiG;I`$wQ^gJ0#`8PM6YX@Erj_w;Ct+vg!-(ausRYpb1-u9 z=Z+Mx`lQH=44Y@|W5UIS)YtuoFb)4A6#6-zDnkD?UNRQ4W~EO^%^3kmrvONvAG$W}yD0SF z?iKBf4oJHi`GUQ-wofeQe4@p@(WWHq?Xv4E_A7I2YxjURY5k-SA_XmQAFnN86uYN$ zT~XXmy+*_k<$dkqt8?m>TSUz&XFwp0kz~AmFS_hVp10UP%Iz0Pd16Im%(J-?(;BH&cAyWTGW8qE#gM?Pyi=R0`NoT4|Eg@x9K zZUUoJzV|{48VR#Dq|^2oOT>3${k;VxtLcG8AcpCu-ZJBy&YXMoSBbW0AvS9ybCWoq zaF~P%M+1}YpO%m8=4n^(l?%r)Hz=EFNF|U7nEz?%SBynX0-AK4(n)_Tid1^vTFtI0 zV&|x1vV(lgSw8aoTg^FdUDp|w(f+^$rh8kR7~ae(SaDOxk{Y5r;!LDeKBMVQcEAJw z7*7LFGV7UN{G@m1wMk$gKfx zQsia6=l9Cc35}Ct^QBsmFM~1dX~mf);co`5>aE3tg>6}?V+9VnOqulh%D%<~Bipja zgx;#a1~(63M5jlm*UlUayuXGX9Q^re&15*F_vH^*`BNmy#N8YG%)q?FY56o>ZV8kQ!B9RS6Ypc7x@0db;s0S6`e7pN9%lyyV_sxlVWUSL#mV2XrR7p z=cBl+C|SD2M^0{Q8ZzP$G5wL#%LGd40T&6fP2N*J3bx#Ye61h!r;eu=r9l>>wIQJS z%ZJ;r`r*B9p~@e70jJ%x>Tt8)^ufbaMI^hgNi70*h3frN>2&@%u zWH^Wj23y^DjgcRqbEB-5TcwUgEQ(E%^ZaOangRdhr{uyhdOnXCz8J0XKrf6gAnE#N zZSgMB3G?PGPRyRtwx&_nnPa_vue+t0nRcPL57A&aDl!AvLmBX6F(>Lu_atjOs_cGg zU}{Oaygrd}I<+qRI)&>&^s~kLgB+f!)zy07N)Ls8mJP0V8>#V;?fdaMX2%Y6-g(Hl z5@K;nou(~}O%x?zCz4a+h!5ORbz zo7qKQ|I4Lp@ei8bTsQdJ8$H7_%`ybN^Vr}1Ol5wltj&Xh)(tDoArFkh{iuhr$(Q+# zci#Hb6#6S#6e?S|>x_+~iG&pS(q)wi1=hcF9y*1Y|CJYV)r_80y$Y1an0NrR=3W1^ zcIS-=_xrBjH4p=%6)H`J5_v$cS;9baxa*z{-LanoR#U@4v#}Q- zlA3UHAwN*j0|h!xx0UOA*_PxM>&^sA3jOu^k;9OH-pW#E_6HPrlyF==xc^4qPp_bu zQgNJ?#}>w|-^RxE#LoYYz<8%@n`)RVx6>RY8HDG!m8eE)AOY9uFe$A?W5Tg+3NO%xI{HLILWcPsJ%seS6~EGUvJaF&iHE_q8#*RL-L=59C1HDM4Q{ zDQq9bsA$m#*vo6!s*TG_4M(-BZV8V&jT) ztv>XRk7A12c}5kr57f7ZhgEu91;M*HB{u>e-^Y%PuQdJI zY!1(=q39-mh5;ZqwlHjQOh)fwJUc3jKMMC?a?3JP+e>(|bDZse=TU<&ro5s^Vfhaw z)-F;@QmZydrOfkJjtRnRq6P2E&O2SPXIV@d`Ne|9*k}fQKC@H^Fa!1|w~dqWS0DC} z!a;k35j7tq#dWvywObqwh588h zZ@rG@aXF>LwazWaGZcCK$;Ft@M*sV8TJS$3fxI58Tf=*D1EyN1$u)BT`8e9;mnXB2 z^>puB#h4lRTcqLP`@;J$x2sC(VsVY~SA{G1Oswg@9b%U*8_N2$X0}KjbyZx@|Ki zqf&R`zZ5RMbKkzb$Bg!K=-e9Ea0X7CIT?ANL$FG@sRYVArBa@$>?JX?hM0bGRt|?+h!|~Rz?Fmkmz7dE-Ddnk-Hh#hVuCcR4NID%YLWl$ z{A0j*9*(JQEyJ2_Y|fWYaTL&69fy*I<;iwEnhQ~2_+?WX0FrTY*y7tomCEwZ0htNc zH2+Qe@VW!soXfB2FZQ@;Y}vnDl-Jiq{W(Uh2KIRH6(%kn;=Y#_7NOw<;vG-?7NGn+Jf1SOgd9 zmd5-v4aQIM!W{%B*F|RUhB66(JH(y%5?WrMd2L{)8)LgrsO-k{o}DW&sSi*-=Rk`p z92(-xs@Ffdg-+=u^)HG9Uww^i#cPy~$2e60iEYlfH`6D&q+$1FwF5IY_#)d>ZhIxI z70Oy1{PR?GO9(IFGui9p=b6mT0fN)=+({D^0VA0Zs5yMi)FH~izL$G*;jF3W@O8D8 z+nL=TKYS_}0o#XEi<}og`l-IWIgX!d9Sjg?L;ZTS?pOL1l@SFn(k<}u!iIa-#7$?J zU*OV-s1g-3BGS|Q-c(vEU6dYi>)E^_$&&$FZQAmvl^8Kr$1{2A_Yg!)vidVIjq?+g89&)~@oar~Sim%Y}?V=3Uv%U~O z?ScZ;}s{dWDgo zUeJb@(Rq{@Le^euw3impXBn9&#q#&EEl>K%HW}xC^@(m|2nn@ibibg!KFgat{%B=H z!!KY!v&eWLm%X^vjYWlC&KAUtnpMhQ#qaeqn7c8VVx zK(@++nrF57&*zslXgTUbM0ih0-$Dw2wTJ4kV>^ToeD%vE`xp2SbZ@1=iiaBwzMbQB z;nDc`9`@)eVRpT*QnYTrWp$4!8y{qw3YHZvUoyJ$cfE}Zkj$8Yy;3@buyeHv@c6#< zotIdI&DESX_V-?fuJ1f6zx~%v{Gk>8`O)q?p>RXF9qX#EhlI4=au&rbQUP$SS}LzlBE{dozO+8>^FByBUX>fWwB?vS_MgT?5c zfgRdGHSn=Z^EEUp(owS_nd)uyC7h$=cd!>yWB{@^Eph9@;hW6Yg=Dvl&)M8xitDPP z##TL9bAQLC_LIK|=(pp(eWNJ8)`%i$-&|v?r{1p)D3$z3O?3^vqUTQFXbPwm2237g zqnx?C2})QOeoRZ02WtfzF4+sh@5ya5WNb*6+R9@Z{uM6mw`TrMlnigZ&#M4kg%qPS z#s>#BbZl&4%*YCnox8JbMdq8?C#6-)GG&~QncCI>u=c~UgIf!eb!vX4Rj1RATDk~P zZmb}>ueSzvlz&$`if`dYfr*wOZvVEIu!&WEl&GX=Qg}HaLxUKNGW3XUmAyhP#p`I% z6ZDI)2bdABIo9_$D1^&|rP1Z+^^xmUiE(*fOb!UWwAG@YDG#yXH*{z>*cusFwQvt; zP31T5fg)SK6m~f11?8;lObce!Y1N+{w63cTGxMHZIczX0lVBGI1e8YJ$`HLT(7vsl zxy-a5x7J#D%)EWOQ2U9BSk9-Be|>${z4p*UMn`F@8*(dWX}dP2XZMH0C2&Aur?Kd0 ziM&FsN5C!CPDPsJXZRAb9ktLP2MH$Uya{XC7w5B%`pK9y;X5=q;pRzO5ds&DY4juNR|oQv%O85eF8wGNHkJUb*`6DRqp zR@8^NyC8b4ZCO+NoKtCu+SJ+U!t>71CXeWIQIcgjJgYv_dZPevpi6@d$G)o~Jga6u zxUlz41}?Vyu#bWgDXe}+FPUca_%JWZz}{E4N4T*aOXg%w%vk4D(JQBJ|0)K<|GNI| z6`DNmSJa|>DLyrMI8H8cvHpbOfIzy?@$Y@DK$=ej{hF;LYm)c@A#HDW`S3_JLnLU++FK$zV5nck z&22HLa!piqOjM_t3ExzGcp*pUeJQltZzJ|p#6(KF}Ma7Vy&{p~iwmy2pCSFQ?I5J0z*Bh1}kUSsnSeFqi0>kk#CmbIkvAh;MZ zZ`|U79HevaPsCfb&XCQT&)*Z%uda3a?+${JcDfgq39Ar9^3x0xDLLK=wo~X=EpS!X| z;5(v&z8I+>g-r)nBMba$Q}(75O9!NSOn@ z`M^s?JB_P5CT67di8r4d=loKLz>&qH){BR53*KRH?yveZL0y$5PE)z}9YtO=i9Z?a zA5BUYZLZ8=ON`^vjtUnRJ0_MzZEcL=!mOL#^8#f?cdL5N()z&QndPbzd3iTN>8W}% zi`|5`0?R%!Yjfcsr6C+?6^`7YNoKfp3@D$N$gnZh|I%6}rd*X7qd9-D{j}X(!|?a# z2XTb`2g-ib_x`(4vFI8T>)&Gg%;>XBX{}}0^taInY?fO)IjvMXVA*miA*PD){%|xY zzjK=+@n#kPZq%@}Y#Iw3(>B13R^#U6v0EeZxt)157L;gT#q9Tu9*A_`2t5CIW?SJ( zT<~&zuZPdni3G_VK(gJS3T6%C0k&vr;`I+j+0#U?r`>NuUWyv2sdY}=U*baMhy^+y z%hdRt9%mu1)=rmQyF-_mk_Y=X0oy(TBgqJ7WwsWSC|b&Jm9SbSH{DRlrqaj9%!w5~ zzmMz|*0aYX?DUr~0#RbYXbD0URaj_o+Q6TdH1x@}Z8(M?g;gb(ffR7@Mn~z_s#=@e zrcDH@#{NYtstOy)&1MCLy%b;D>dI!rq!?40lwux!yP502i~lssN?3Kj(Xy%R8B4 zyccRYZ2e`kY^qa!b5gxS7b5SXFdezSwA&c1L2;DU>yuf~M|XUcGNX$ak+7c6Bc&2L zsv(K)w$fY~%sozP&})0UmZuE|ExRwRRwD^`=d$u?mO}x6;O1dvsy9w$(s-U0IWeB+ z-l?(FP+t!z2E;H-Lp@6ULPi*^3Gkq7MpMA_;ZKFi4thDw4$@4J(y06~B=Hc$W9_@O z+d$Ao(fY~vb+yyJOo8%RPu569*xt4Q?pJkV5PJlLQb%4|(g5RF6Qk%1n z&zeq(71>_SB~CyB(@7--Z&R)?4cN2c5KFI>#a|<5g7o&azBob!bXhsKw+Bf-smdcs zm@OlKKI&`nPL~sj@Fu0@E4%fPMh|Xz`4WXXETC(zZZhg3jJ5kcR?g<{Xq*!8yDd#k zq=jU!*cN{C^aORQC>4R$uE+K7#S4YD5guqxN@nsEK%iQrRPy}%r8O#I`{WU@P8vI; zD={P(A8lW}J3hBPns#coBLAnUO=%^)M375f`~O)0+1}lRvrw37@PIMsV6(7=RfGxm zgP%Y5tX^w*LS1u#=hm3DMoQGbsm0?(#Bkpj;v4Iou#p>BUBqk2ZK1E_m$mZw_=c<` zM3M6;CS#ZQYjnKtd(m$_D=pysv}Dk%vVcSU=5eCr}eACIG|V;bLsrq`AI<94^zL)xyKhXN6{ zgYD3T9vHsuY2FY6{!;5@+}p-3QtO_ooc&#Q=) zE%SE}iOaUMABLZd*vS<*5z6m#c#)$m=6`sK6L$)>=v~ry^t&n)(xtzi=Ui;fRrFu8 zN8HLqFo?@wL1XWY60D6Q#4YQ6tF5qjMm)m_`B74`On4UD-Y}#cru=_2UH4a#{r_%T zImj$67nP-zDVDhfDog7zr5-CS2d>l{;a;rD(hNswrMXCb(#oy56;#BLd*cEX_eK-} z8DBp?eE)#^-1m8%^M2pgxn9>WZ8r71TfJwbt|$pT4{c{yJhD zX73ppC;LVoVqP#7)0dfuPso#Bi2TGs6Pq^4py86oRVn-~Q2fA|%7{R-A_C=-vBg2$OAJJ->rPR{=kC?&h}|&&gHg z6A3X>`UQ4ZGTRijaZR#S(uk^0K03C;7qg_Vu*XtRf0k3w;R+L@-8Bz7ps3AsnJ#k^ z00_--dnZnDE-18@dc&8QuIrw$y}5fA1hkylu@#FVM@PyqzphQ+#$|`@4U_931*5u~ zF2AvhZpm@&`=k3$L2{7X;Nu_jGpB4Ry3#oC?+-U6&PO1|-v(Bma<-@_`D=$ch-JNx zQEOaq{4%~&(#%J7n?>C&1#}5w@L;KJFe%;s%6ehmAY!FB|H+qQl|V&{Mp0mvl$LCtdtJCb#4Y;+ObBgZM?z3L>feX1v&54;deppU$C(V9upH5YF%u=wY?vBo2 z5C{qfEZ9WeM5C);e?(}1p%0xM0I}lE((0UOeT-#NW&+3zm#SYUA%ke%<)VDF%6|Tn z#r4^dC?0#;hYqNuldS?pX%h_swW9fX&DhiuLP0<)?t{<5e0r8H}OfQ*bD#IGrw}3{uHR`0T`PByeE5h4;1=;zE z(1;mCiOG`}Om|c8hYWpLAAi?_t=?r9{O(#tu^Zx9o!d)c!%kWt%xqn!KFi1dvnH?J zRYr4~`Ov2&qC?~#+p|J-*dgSHgt@&ePfe^1_-%~5;N!K~sgF(ZCd$+t{PZ2~`OcVF zc)Jr;kJM59Qk^g;V&kG)QT-sNGaNM9a0CfrK;4U-Zg(9StYjdKLaqW^3+4WaVVIOH zpd;E~4A(127pEDM%(9xt@CElyE}fYaxP2f%9lJD_jC_y#??_{l++#x@4Nw zZnP@K;PWT_e1iUkbu#biU~X1p?~hip{R{dhZO8prD@!Ss)%mN%&F3YgY!6*b_dD4k zOI7q`{w@)>X}|M<(A4F>^+U8-uG+(@-AM}I>Wc3$3T9cMJ=T-|rlw{ZKKM6>6%>_;76oGh-~oNPhM^l}d_Sbx@6E_7R_`sT(H_s_X9oL4zFP_5<6fVU6pFg}75 zoTmJr^BrHOBSp$;iw|b&jfSi8iz#lkBLETr z=A)0fd_k5vRdq;A+T4g^_D}@&oe6?o>M1r zP@D1~P`In^8k;L;4G<=TxLntP1^d(;-}*r#1!)}KaP-MGIL{2g99$)rc7pre+Q$yw zGI>Ae8Gi_3OD_z%cul{?`SQeaQ@E<~B&VJ!^6UP%`)%5r-+orUB+))Si#;!vwS|)_ zHIPmhDg3J8<$6EVs+2^Kk&ED<4Sn+2Lkwf9^%?$Dhp~$cl)gcom=2D62#8Jc+h9~Y?WU!hJ*{T*pDjkx%0>08MW953~rdAId6u4@B-4;$T_iwW8K_rKYn6_l+thC)$%L zy;c8q-D-cijKxw9hK2@556{k@AjK!!>*RK7ZFK2u{fKx<6Lbb8v~3!SOYB~*3%4wS z@4js{3@I@);8zXa2qK+1G+!1WDdOcv>D*u8nrUBOe92z5sxC;hGN(@*fC7S}Q=kP{ z+~aFeU4fGA1S8y>nq!G=adU!^Y&HpeVkIdm)ZyvMKR@+&;V}v+LB))5T5@{Z(DW2W zyB79PFo#vA7?}-hxkZ;Xd6BiZN*s|5Z@6|OhXbaCCUQpyFt_(HGU>Ijl#{N6InI3%G7Y?=M zl&*1J)yjZQY3=u~l82(3U5k$8L4O{;Rtp>ro}a>fC%-V^4JV{cSqlvatrT%L6TM25 z-1qz$+U#@9WR~R>q}0(?Px5z0Ky6B3h*5PGopn;OMMrn*Tbr=W{hz{a(fxW(Z+a5z zPq{D>uTo;n@(I17<$FUHT*5+Gnq~Y)1ZgGra4QJUL?mJu7r>rEq?MZQhJ~dOhumQn z&C#g{gx&4E&z-QH2YGp}-dgpj#EuI~t*49rXnFfl=qLR+53qgNA|cH}?sm4w6lv4( zUuxmS;_+8{mG?*oG9yfqM#Qrdg5%@Y6LSwS&*sYJh?yi*Ndpp3-)knD`VBr_3vRMR z7F9SgFk0L0YQmDRXY~<_q^Wb+`WsiPCvOYZt5y%H68DJxNTkFmFr;$U@rN|bN{8=I zK`v8ab(oG{vxTQ}ob*9;t7C+4FJ%zMT_!KVbW&%#X!!l&$B4v|?G5FWxp>@8Yi^qj z$E2W-gSte^#jXQSR>hzGUB0caLgJB-04!eQpl4Hg+YdKI+WXVd?<)AIUi1@fGqDVZ zvmnKslRYq5>zbwx+WCM_9ohS>Q-rKY($q_K#t$U}Fz^f|dF(1Z;SV0sQehPg{&-38 z?g>y#i3p^_N}U`lq3|Smrrxo_gYoW=`E|1+t70PoWnS`%8?28Rl{cRfLp;ym)0q5w z${Oy$?z3w!`5(;b>&=n!S~S58nWuxtOAiOy=Yxh@$1*RR>U&7?@Nx3(;FK71svCw> zBG!%Z2a#XgZLO@yfmJ5lFzT!GNaVME_*fPbB?ssHEK7ghJabpqE+au@m+`-Oz>uU< z1ELMBk<=^-_K#M4-XC1=Efn3~I&8XGyD2`MIRA3SZUXwdS z6dTAc;xQ`3@Jp|Gdq&-lQEih8z*;^#UHSO2tAgo+`rK-f!R*N+K-Altr|AEKCvf~i-r3Ttg*cH=t~?|~3DMaS z7!WFNryJAtcYMA*vbl5SK4s}v(2C=`4oj5`&9bV~du>Wy@Pj{+0G3Acenl9>zumP~ zh30YF#mr5gaT$EOt1ZYpuC!vGOJWs*W}nYuPA8w9gS?*f7>p+cq6k zG&1_hP#hZE@wBti=vcn-TSofpHjMA~RsGC4QNdW+%H#c=&l#Qbo=#&n+PyBZ>+E$a zqv2W9VQAIl$7RrPVUFMYrh;(x8*q5BS5(A+9`+K0ON_P0Y;;omaqGu=cA9`Gv%5_F z?(-y=40}^g-Iy-y-(Q?I5~d=%Vr!mt;56x@SGT8HjM$GN@`2!voERuk{@#zJ z8$pqiCG~oA1*^@z&+OR;0?z}7?w~e0LJFEr9MzGCmzHHnxPG(m0W0?{ilMdX&@WBX=^Z|e(BHarfUCCTh!?; zLRuj1$5IJ6RG(6q!8{U~eR#?U;fqhUqGt=qS>KgS9flizPV_VGI>U5 zzVF2~xr4s^ogKsxT1UWLiM7ukHnnN%Me(1^DbOF=3un{>g@ z*fE9R;CL=PwZ=^(U0wUml5C`mo@Zk(wj6IZi!4n^DHiWZNN3-g zdRRj^*l$e&3DfnSI-Bfkjp<}{%~DFQvR5a~m~;98tZos&?W za9x9#ZtBWTTgJ}HcaUwvdLo-Gy5T0oWF4g z*DQuQTAyHAXG?h8&a6fy@z`*QUH?<}tZjZuS5G~dsNqfQ8+bT;})TsOTsqE3-8)(x&riD5q?n0{Qmg8!IWm%ceE1f27T6S zrbHaWMcfDW&roozVS`S@!bRmMFyxj;=gi&aKeMzI4>3X#XH#I0oMW=d(_u#RPZa@B z!|Ei=tU?+o=SiphG@&iQzwn0aDUT53wp?rs>&h8$oXA;4-rqFe7k(2tV0MR|u*kJQ zMliM=BZKW!2kkMUG;-d4IX>8rJgG3ct%Jc_%!)&NRGa*E4wRdtG?n8~sjUn`Io@y2 z>j9-{#BHE3NKwZ5AdJ=XRvmBRpf%5TwO+>Uhq~| zBhrFBv*u>lru5p@WK=#;8kmd?oWl3K?O~H&_`A_PRy~c~yh<+#G72w;#h6v@gzl0dx4bdrd=vL%3+g|AL7}WW;3XZ%8Zr4QWZJEE*Fx% z_5wD!HmUZGj*pkC)W)ZTzYAuoA~5Gv=Rj`T}hLC5juyOB0b)5~%`R&e8L zvPSOSjeR2;9KXQ_z3=D%klpdRESovCCJPrXDN(j>=MrW!rNkhq`pj<+z*oB(k;Tv7 zob*BuYPozehsYW_oDnV`TWpOf8p&6ReF`SL6Zt4Pv9^hI}y!7$Y6pxjuj?|1+ zUw)O%1gAtNz=&YX=fcm;7`IxDsUVAspPDDu&RsW6MA`-tLW997k*?B zLsz-fl9v{go1QHTli!2HC=@yAm@?xerE1k%+d6O56%~iqKiwpFPrL34o$&C*F-P2Q zfmc5G3x0xgnEViLz+xIag0#qr%`5Q`pj zjEvENb-L1_Y@><}sa?|yE6BCnRf0bdoYyzpj)(plYtKIs>?kL_5|9XDzkSwV6ct+1 zRslDi)iIN38UIDwT0jL>Xeo&?9E|k!AwCxs`%hHWy~&Igzp}YEX{|-9VKz<`vb!tfhQJ$)Mcun7>{i?ih{4W17qB&#odUf_Bux1JX0%j7tOJ=eN0?Kn4n z3!bYE0UtA0zOt|0@On-M=*l!{QapClFwy7FPIQ8EylM7b6A#Ei$_t$f3(kXzdrkn7 zid1ORbwS$?m!0qAWEC}1Q<8NdRp^6*C6;v0s8O#*o&{lu`&BIQD^>yD-`FSL(W75p zA#PysY3cNHSWf8Yb|W^)sKsbSBk_;ojs=5+Qkd68CKM=yHAp1&r!J_W2T;EX0n}R za;G(xk=>FCV-}@XeOfyOyvSpOniu@b!uHgdVd>q-R|WM`>o<0bIlmANW|W7KehdrN@9 z*onzS3#hbG^iu#QW-VJqjB}QikmK*Z{Hrq8?5l1+u|{-l)9aNQKx@n)3U9ba!Mv`; zj-W+AKlaO4x4GY}etHgG)bON>jk>N^^g9(&E|4(wr3^rN5XhfWj$vx%U32(E=Y&Bi z{kEBA&}XR#F8V_#;D9TBN|U=wTK+QqbYG@CdyKAo2H5q3#K& zwx2w8c5MIaV8VKrKq@G4LWx*-zhKBP6$JcnaD#z5eaX&p?(Cx+JX&d=?yyr;?Vi1c9>`}o(8pV*;_8R3xc<{^39)<_!f}hoJ*^F=aPd9$9Jx(WNq1whP6-k z^>_fU9iC?CdB$aOiqe~snQ{0JKHx9qF}2*u^vr%rh`+NzcJj@S6wjpxGOh-nHZsgk z3793J1A4ZB3LuSD1ZfstVOQhxK-3nLrT_QH_2s=+uT0O^pvTDXgF_rckWmjBp07gk zWZxSFTlLRedV|RBi|+5_M8)@y4XbdEU%rY zR&|~^Z&!2k7a|ZiqTIjyMZ-H_YuPhgCX1U^^-gCDpl|_?zNV-F*}2Yh=_-KOZ42^gZpXQ zp1%6ULbBYmK!w-@fi*l1gdMXq^f@r3wB)O*9Pqoj=u{bIPZd6Xm_y#$n%uU3Amw7= zd2SGE^2gJEhs0=;#%0f6W4h&4!)i9ROVoRxMltrEF~JtineF%8gEf(v49y_s*6>@x z-l3{ajdHUxk4(KR&A_b;AOAC!3kTl>?Dx4dM1C)--%@f2+-GI`qBFd~HMQOv)wAE+ zsl>;yCn%BDm`({BNcw9$SUxIequ4r{KFkutR>sQvI-IeHN;R|Vq0~()yOwgFXKzEs^eK8fF;375_tHxc|M0N1W$&F6zQZhk z<=BGjJ4U{8c23xaqyG3nc{j~}kHJNsqNhZq0u z6>p>SyuQPWTcH-Ii6_q=HC`)ql;3mAez94s=s@1uKHS&`zt?|%{cM)uU;p=FFA@0i zU(YjQ!(!1HqJD~DQ+u1UnqMo5&JP&u{Yv+F`3lT(71RCC{Lfo_{&d#%QGY>jigfBZ z9fHrT5^_G>KZ#MJ}}cRKi5}6KPhaJ!M=G5T%R*FNKlhzn8385hG^zJG%hcgc5cn0 zb34eK+!n-Z-E(!2t@g(9Oq%$G`|HJOHU@;wnHTj%71g)oe9Ro;h8zvv4EJntOnEhe z_Ip-j4&?DZ7jEG`o_5R2_V%Z{zR+K4M^_v_`n;-o5wx5gOg6c`KE%luY$&*d0>$CC zzX=w5HqK*hK0)-;-&wfpKLy+5`PRD^P&QRREO$waEE>n(@OQe3yiJt%;CY5_bsYL& z&RsvY|K$mFksLj+Rl4Y&o6)l|({)6viMf%bLb}G#+|YsYJ=zz|pKSMT^Uk|$*1|mk z9?)~&t6WhV+)xS&UWtD(>=)9F;v8)=#K*$= zt?BcJ9G5YV1sRPlsLD+9=d`wDoT}#$IjS>M$Bj$oYd>oAS3^jb_o&fiv*kRSR+rc- zuISCC{ZNcW$xG;2{C1$}(tiEY4aKrve&r|0?Gso`+^3_ze$DwtqCnp2Cg#fEg*r_9 zKuVs{M`il5V8h{fqwG%iW1j8uPrdD9pAD~WdG@yOe&G4bqcq+-AbMv3xHDPa#anNt z5(JhsyXEwO?@{9h_^_3|YAG;6z*PeBr|in|@WWjhdcYh{*Ff#79c0g+GI7^nww;w> zxm(Umt0A;bT}R?1Fpj@YE9fL6cV78C-pN(t83D?C_Itqt%ATFt-rtN{iofG}^+lun zIU0Bj8C}#lwe-%x=iFxI_A8d+f6Zryapl}xBWtAzoJwWNJrE$2UC3ux@~Xt>NME!V*L{sHLodN zYCJe_cI@~4IIDr1P44wvSlX$NnuC|jUq{GCW4$v7>Yz|Cr%9b;1FgiR-kutonRiW2 z9g^BV8uop4%weZHIIakL&1RW8W{i$K1>2d=Il?MhB{u3@@$aU zi9?}(B0@j4YtMF*E&ZfLH(r?~YaoxkelFrmdEt`lx-Dqk!H@$njUd|7Z8MUepFyuH zPam3;aTm^mu+#Si1gjnD1BW7u>tErbymhNQ7Uw;=JcaD`I zfO5lKM`H#XOPeUui>h#{T^MBQm14wl=dho)r|0$+4q^%EKV2Wd(!ue&1{;4po_a4n zsd*^LC8lz#aSh{zr*3BVapqVbapc(nFv|bU(DLN!*t5G_o@Dw7R}Y>^g2GB_$4Pp* zw$_xa?LF}Lk$N5Z>VqEh!=NP^&pUHGtkhJ;QZ+NydI~j zz}q|QI0);@Qv8r-&+V=jgZo7$0ERQ-fS0}HN z<1auPI1{~dydJ0P9ZGXyN&yW&^3tr=e+wdl01XuYPCFu+SO+fdNF8Uq zFK9&_;lv~8LtCB==C5ib4*aHRBt`Ja=u=6$7v~KmVJaZr%((jjZeiDxR0H?Rq?us0 zpcBf6^20mz(l7hs8>{MWa?b|`qG?A?Ak`|~#v-7eQST4;ZU!HqBVL{RAWH&G8f54= z9rBtgc@erVfE~acj74 z?QGcX7nf_#1MqsTQe0?J2Ee#@+uZWt#_?7I!a;BP(bo+Zzqg*yz{%a48}D;dB&tQm z-NB#azS(qJAQ9&@{asV0l%MICX!m$lWE{)VM=(bg`ts*fUV6vC4O?~Zq}?enWwx$8 z>K!@kf%`F?2y3r)`n>U+bI0rt+DmDxq3_T9g+jTE9qV4FH^qWJ(D|NJPx($3T_!s7 zU`K})aR5u~9Qq{Apmx|&*nsH{?{QsEPv=+T63yf5>tQZ2Sp5Jp2r2SF{PjxYB|YD( zjHF}VTbJUZ)KV(%F55`OtHjzdjgr1^t)G_0P5w61ICD03B~2VuyL}Y;v(t5H{@iFv zwo4+?hm;>ZNizh%ZAyN50BjcyWWRSzUO2paBObd!Rr|>P&WIVA)K4v&%v3I~o z4JM%KezwuK@O*af?L?qmKFqh-oK@#+I51H1!^+Cc%cecvpvD%Kt(+gI?BQdtc%{`E zMU3%R!a=X+Q~c&S8BTJiW_R2+KZ%Ga%vE<7w%_|k8%Cg%8Z6YM>Xl=HeLD&I5x}mo zQQl~xTGJ5Lzp?wBI7b?+aOBoiXokZwm*UEIypo=6vgzM7xlD3cVmb-S4Z^ZkRG>m51eQHROw6<2 z+02HpSY1K}h`?Wzfe2Z2{7(NU9K$piofd~z@pXjLGBg1RC-4f zdQGh5BjOe&x4MLzt{e4$P;b7%*=hGU0F`#4?%^jN*H!(rCd1Qh2zH#3M0ALz-z7iT||^# zjuq};zuxRJ$-(*%ZK}9;6ZM&JAqkJ&DfQ9~|S%C?WCxyUwnPb;gXzz>0 zlnPF@8e^Y%^6ydv3)sye>aKN^(r;L_bn!p9cdwG%XC}TaU&tO3j*LRt19&l-Yw@_H z&TN+@kBQwBT@X~F_`8D;XyVa3GoJsOv!(KO31@=HgY!{UJhy_)`REU{5EbUi3ejy@ zb+U-Ie|ixWkava)6AZ!#=!`@z6M^#BI`lIS>F_z5$inT8XJ?W#1w?rjQ_Q0|CY_RgQ!^(z~1Z?HNg|qCeF_bdo(t>?QeLP{qLF;nr)4IuDCr4?J>%&I~;Lq<{U)DLE z3G7#7X#!#Y=vgEix?vWH;2J`FwnV+3hklC7<6DDIGUL9vw>}P4K9gi3o#IT>U$QZ{ z+>G-W+CGxpCtAN~vGE7_{p_I{im`3f&xFd2rHc!p0QPowL46NwJI9Az#Prr`v9pRq zA~xS&QqRT-u2QzhmqS&rDB9hfrOiUGdTSY`(k~F6MvpU`Va2XPRUNf_a?kCGCIQP) zW1^(TUkQ#}O=e36hK5e!n&fOPIR!4)A64sGn?+_nJHo`xT%35mHZXhIejHR)Nc{5@ zLT?ne;uk9B-8I+ZY15_O0=YbJ5)4SgZ(p0%Ij z9Z1OXPGbS&y1y1)!(xrJ&sE1=!a~K&wq}ZPdjKt4>*2HAE8>D^+IQ>F4#pY32ZH?w z-`41i;(MEQZmy1mjm>0na4Ymo0JhY52{W{+l5OxxizNvQ-tDmWyf)VAG91Jr=dviB zV=GT@bx=zV8-JSAyB{Af#trx4Eyw~f{=VqtbAw&^C3pNd%w@khcG859b_Ez0G3X~s zRQuu6<@@3vhUMo?v3+rU+cP4RWM+#I?(kQ0?YV>Af!{?mzblcpmaTo&5FBZugDb4; z3$VlIKVV{{Pse%_L+^ZqWJd|`ZEWsn4kIEBFg>sM&-Skg-#0a_{}8yWMkV|)(Q-Z^ zXTaib{}Yc}6O{+Ca79@?REepj=k^#L4=#C3p+;NkuxG+TNvqG4UUIc}1-<2&hRyV4 zMTg73Z@Q(io$yG%%1QS5=T25#=R1lJFM2(1q*YF@3Gy&jd9I6!|6SoU+8XtFVSWLH z!%~m^fcWA8x&dzzQdOT8qw(oX;IQv?5T>v7nUrL0bhEeM%u(Ym9cq{66s#!%;=f%` zE?o>zD=6w<^?^oAf($1~K}S{0og$c;!#W4LsB9GDLc&L!pVp@5Pk7$FA42$eG!7VQ zrhIRU>=I&lh3nq;)DG&gxL3-OU6ma#?5cfrsqHn}9ItU@HW{Rni$De*-Zg6LKFMx> zw4gt|9d0)VR2~~TYHG4?P)15Bt~6*YYuV%4TtRSj2-J?LH!QD1-8N}OK$N*b?MG(g z>mQ{2iBKfX-!uZe_&4cRQ+LSFrBlemM-1&+EMKkvBI)Xr-{WZ)EZ#;1cdEB$jEAd- zb`<1`J~}k6LbqcpD~UjFHYSo%VnqL(HhjvU+yb66w2!-JeT;H;*w2xEGdb)^)3Uhg zaM#rI>%TmWr+N@L<8!KEhWFKhknC zjJwe0@*xX`4sQPXu;XEp!_E^wb&EJ_pA5OK-~{Tv>1T8-o*HH(*A&B^(h-`F%1r;V z;jiyXE53G6!atLWk>>P%Xn9#IsmO2e!atdbCSlmmOYSaSz_UaaGJe4U=lBzk&+z>7*PDAu;7dufQ7JiaG6Vk1#IZ zx2Z@(#VrUQ^(G)WpoTo{xQTgeF3+ywd4)#VqvEh+{imbdi)(l63SCt3XB<_@vye+n zKL2k`qQAw7oym6toN^*F)mhDHR#bLv^7*wCAQnq|LKw>k)R9$*wWqL`rGQuvwQF`| znGEm*Ww(e9x>-_^)ip+4hPmtjlj3B8|^|nw%-*0o5-T&8r zu4Jp3rlRshXy*h34SsTup?>c+)KJAqyLz528++?PxkSy;+wdxO$YRdClYh0hZ0Emo za2vA|8W{9RV2!1m;Rz$vpycw(J>=1Xr?Ssx)mt!*7RRGp*Cd zeOOJ=Jw1iRChfnu;=8qRFP4H-eC0=;GW_0lP)|16=c*XMmf!SB_Xla#f74ZV{x>kV zW;;JHVcjlD-mX$_xX0w=_+(He3c1D9gU1z_ZTiyFwRCEtCog2-iNk?_?x}&>6~8)V zs#{kNJPG~QTJ}pT%DcyUUKC?sB6|(l(t|Kfc6AT4u7EuHVOzktOD$kD)J291kPz1MXDuO(u#@pwTZK zcRau~E`0?UzO|e%fq0ra>-$H`OwdBwwq`s8-pB4Bf=>xs%dxw#adX8L%j-j6Gb4T@ zbw|g#wkB9>o8IsmD-ozr36DzX`=vh~{Zyn(IlvrH$%2KxQvE7e6Ry#)J2=IPww!(& z8c|}2Xr_o?XA;>#Si{klv-tMSUkvQl8qo$D$}5W?daC5pq=h>xM`W~?q?dLCpA`3C z%XGB*_i%fi9(kUMg|9|Obp02v1DvM@t%#62RkrQfrdV!tIWd)p`J;0u#sJ$^ZP$~p zu61K}qw4C84uO{TLzf&>Dz!BGUmR(HdQje7#`eh5{C_ImSJ|L`%XOOcM(*t6h`iM@ z;r$Ala$M5%Cg+xJB=aNBQeLikV;;gZY~anV(LI+i4FAu`x%Xs>#J8LF?OPj+al7eY zy)mF3!degPgQdlV?BIh(_cziA0Rh}pn`aVaHa!T-T{0?oR{5g!UA)(`>bRgU8u(5k z=L|9>q4;rGDWT{KaiO|Yr_L41_*mYHK#G6pcPh(!3tN9_>jpvEljdBxB|6CY__jz& zr4liT**WN7abX?F-cIopwhCHhmOk)XSNBRCiVoO=D4X3=kw^D53erxLu%&yYPV5gT zXd7lcHJ#WVQRKW+>*e_nYT1>g!<99XOD?vANXvlT+8f1-$^Xp_R&l+D`B=>Kk@^I&i6ckBdxE=beI{@!E zvsayzi2EAda(0Nk{0q??(3BZ`i*72$!NJ*XXueFLqza2)bGeQxEj}9B_3{HMFH!%@73kD4|J{;R#dgF z8b}uRkrVw&QMV75!`juhfPkeBjQFSWY^f)<6j&TCp*FjMZ|I&-tNn|E_O?;~0=8oQkwrXN~ zw`u-95SM-b(m~%l*C2|AyuJg?XQV!k9Q?H8_Z6~tl*m;TZBP`sqPx_SDpLfNAlhONJBfGVzeIO=@Idr0?eClI8NmW*s&JiFi=N2w^dV9Vs^<=H?L7#pDpi3`RtwmpVw`=@@? zgX$c{%mRl{oll%cdGRyGud~(^vpmayJnog3s-mPHR_~KzvCFmPvDH0E?NgUhOuMH; zB8F_D=1M9)m5YbW9o3AP8Yviv{6YR!869~6`;XI|D;P@E=e9F(8=7{ghbYoB62zzf1{ z)f_z7TK-~FzFaKK{MXa+7pJ0YR+DWF?;@w#`*G38u<60-wqLmNoRYV-CHL5hlN#MJ z;lssDvcmCwIRQ-5y87;c2>czU3xhy}thCY`(W`&5^6xBS zyM1PR@f^}4sDYPM|FdFQsbi zSn=vd69k(DR7{RYFN*mEQpp{~vbV|+WyX87EZ!}d!a2Bd;Sf}TBcYv%NM(pBx8Nbw&_`qV4n! zeTYO%ClFJ{$zQoYJD@!!t`Wm6J*F@9Ef7&J0Vinx@O{@z;esZ}LhhrCa;g=a&?9$9 zm=&=_<33>s;_-@KNAV_>QOCgiBqeqGeo7=w#bDf0hIEjeXHXtvh?E1!cl=m#yZVB< zFr7BH82)mLChL$Ysp6cQ)hMs%6yG;N4_lE@+Jx?Fm(&~#Udq*S*lC&mtPX-8|+y`BsU#O|vu+F?B_2^!Y=FX|29D}A3#-y8Iz0lxZR!S-5Kk5w1J4@xMhr+xUw2i*0 z!!=<6FAf=j903Lx$IO?nIlz|rXDms=kad&)M7l<1cEkz=+N4? z3$x{bP%U3Z+_L@u(RAMLRJi{iuN27&8CjG<=jy=vHj**>tti!Q6;n;_BoUhLh-~ZvhuKRU8$K%-}X2;Dh$n2ypsS!~)lddv~9u;_22DC!JN?GYUb+p z(spWgW$O)ao4vPH+3_slt6URIPI1j%wSkO8z9hxs^;J(jZ|3!1+?xH7?GkRK<3XgY zSX?XK(6F_v=*hOEC226QrLBuq8wzmC~fm(&*jEUJf(evy}YUFHgN!=#XGhX z#G4Ep=#Qa{0TIe-t=$Wk-A_)gJhtBnolkW5L-?LIqx`jqZl$B1TwX7#m`=G8e}um! zLQX`L+pcAztE-1Q`lcSS>|Zm~Ey^eZh(g@Bs)7QD&0<15(2<30m&;!S_Z7|^Xusr9 znO?)&=CPodPhHph3|>I4H9^UO&7MGXZ*_Gr|RLr!z+W$|#l7yon6E8+paUBm$~S2!l( zK5kj2Z;6#XdJTHc(n@ZILjZg6jNO&Tb=S?$u2~+#KW|PaN8HL#fow{JCOSO3r0~;b z?(m+>3h6?PuVE7tbo-#LoTq_2$EUxw-+w)K z-lXiR68l00F>>b(Z4~{_&6*G=?Z1g0MRj1*+MKu)@+g;Ek>B*EXg67}L6M0$GwV}E znbx6`*Af;SLdVP8K78C=S$6BUp8V?H)J%33gI^jy{1pUStwtpo?nKUfX$_YD>un$Z z-xK!e$3-<6;0b){V8AcUM}!Mxb?2=?mcnwe*-I==hB5_y;ewd#|y2 zk)EfpaQJ^Zk*fEuCTeo&WE-G3#Ax%if(iQ3xeWTx*44nEe{&D|>3Nu2s<_@yx9<+) zR}AmO$+`IGY06?7UcX#MUm^KYZ6Y6Rw4ZA?v@7g$KAitGt^0~?ZE^Tx#<$^EM|pE2 zScQB(;c(Sa*RQn~*SSQ97 z;s>hacYWPi_P=6q_aT?YGJ;{w%@VUD;e(p`&2Xb3Cqx!%2LiK;65xDxG^68Nv`khi z9Ks9RIDfaOpZBF+?>x}bh*w0GRE}U*KN@9%n1xrfEvsD;j|%G4W-R@SlllRB2npfZ z`>Y3FD>DSPKS`{DtJ+>fbae} z!oNk0kjrLi7MC2{L1cO&9i;nnilNT;l# zoJpXZqoAp0>-yL*xRkhvc_!qc9cZ%gWt{?XT&UB!xzmG%G&y7Kd1=>5CPY_q5MlX=L=QrgUk2g0Kj z{qn=V!#5!OW%$v6)^W?fxAps7i~sW~9X;Wyj2Z~-k47ffUd-}{nJUnNQ=zeZU@VMy^(%b+9g7X|$cBFh-GP&K&=ck~{LJUt?6eZG=9dTCKmcq-T+TdTcy!(ylm+q#wU9n7 zwp3g|wB)IEd}JB__Xc3ErjrsM)wrpxj1iYu_e_Kg`t8lJ&zfihD$2gAMW!F8jFhz4 zohvIsxAy`8Ph>#lb^#|(1Pspr+)Awm@2@tuP9+({eBv}dZjp3<<-r)wGQocU6Z#E$ z$6Nod@b4HkhIZfGKno@&Zed*qcZaf^0)PI;1*~0(Doxs??QRdP8g{axVP=pq7>hLe zm;8(sCl}mW3{Ktp;Ml`-V8JMjjsvQGLXE7(w&-u1iZjILXuM2BJ!;DH+JJ0WehZKknz!cS>Y2*{tHhur>U%?hf*VEs7LMpGtRoi>0PJVwP^7Y}*s?t#N0WArvST-GRw2xab3H{Po8B$Jj{(Ybz_VDG(ofzQ9jdcVE0GS^LtR-*W54i ziD%!D6AWZ!9oO*|i3h&RF1PK{3&vbMIw8IbLn9*V%Z#+2A^++&CpYU)HfN?oYO*C> zz0(`G^z|0$Y;vR^(s?*N@QFV9J?cw;`(&GNaE#vIwPa`gXUbT+HT(Esl`I7nA=nmnGt>%`cQQQpZi33+qtzo(B*np*ogxppBg1v53 z*72YC_JK?f(Lr$(a-?bS^32+A=N#+V0w<^>#K&38U_i$g<6R-k(7;vAjx~Z1%aYr% z4B&czr}?m9ZV5wM<@(&(n+hvG>Y+CF>7|$(KBHKHyG7uvknWQBV^R!*Bt;wmOe2df ztm*AL8)s^w(-#XyK5liohMxZR$K(;NLuRim{@9Rt3o#Qb_g5kM^S zD_75i6|wlmX(^EMGBAWeS}*fLTO`ey8^1>u71Q~#NB(8o{!`{;;hpk3&kw_lErZl1 zgCy*z^HNO_nq;Ai(&_x;(DTKYK6fIRHTstG887@9tWniVi8#BO3x!`AGDiYd#W$ME zd5Mww1FhlObJ_?$tz&%zV3L4t5OqB3TN&$ zl619?VnV^wkiPrI_UM|z8-sgnJu-dyxNJ{b+i=@2)$g6(p* zA;Kovg_K7x-@JB= z8RWN2m)InXePx7y(FMZmCAuJ_!mlP%SA;9fI|ukSSI4L-Ct0=+$~Il=+Hh@f{k>D# zfvpSohfwc4!JLE{YTcm@q~gpQLngoAg8sXg0pGj1&kL0OPUxd|Lg4eJ3i(9z7a4TH zkP|mA&9%RJAs-l=n=4@yZQeM<6=ZkAvCTiaLp44bv@j7OI0s#}mkQ!ktE zLdEx+>;$cZYiD6?P)(+DnDXr(>^N9at7$so0(_=LHQ7#AClVE9dpojYC>q(Jzxh4m;&9ZtxC*#RHBJ8 zhly#mKB=;s(&zb6R}Uy@eIXN{G9B1Pza!s|;}z;k4dSZ+pJ23u>6!Z{6pw+`#w-Kl z;_?fD@lg+fvg1*3QwzO80>dhcZRWdTq$< zwAX^kM@AML6t^x`1V$bo!}n`m3hQ{6h>g@#e8AO-Tl&Av#}sLAy4!jb|8`GTlR7 z#1aBx9HJY^J)N+_dqV0LS|NyZQg;?kgtf|#3m8+xaZ|w5_*`scQSu`}P9c>|go*}b z9&o6|=!7j6iNoHWorcB866P#j2#IzLgVyWFd#q0mckl zg%gq~BEP_hk)yM%QGNf!>G;o?yBFn)lOOpaqgAsx}dSL3#X0(?vE_QanH3_hvpp?nnSSf46wT8I0W9owZD7EJXOXAhWD}C z`}B5usRMho7?BBMOrsg=5IPmBG8e$lgsqtKtjjPsOO;{ z@tw(77Q1OYKBC|Q+`il+w?44nzH5c!3st*efFp;{Fn|0*$>OIk?jV2;RWDSA97jF1 zdsox(@e)`@Rj16}CuwLYX|etazwh>$Mh?YS1~>1cTYEqlgxrGsi4L$YWi0x+W>fN` z{obbJ?bq~pP_%qMNw^NL`#EQ=R`td>N#Yt@#k0Kb&`Ee}bkPM1f>rxpG?h-4y8D#t zsR!JoKW|X7cWKYY?R*_>Yww;#%_(SlD-YpfNj4^C9U$LXFs*|x?>`H8A0hCeXlU@! z6$SX_F)@C$DV*I7ozUWBzP#Q?V2L>N#udl}q(tU)K~K=z7O4}ray;dZI(z*$459SE ziqPebP1jcgyoMyS)ylGomET@Y1VQO!a-mPw&K7;k+3OC7|4-)L`8Rf{z%6eNMX3ji zVSWj(%CckZ?8E;NC(d*Gvq81}LcPJoZdXIyvv%ce!9EbHKe+RyCa@m@Y4LfArGwwt z7@xV4>LL9a$vO1fOu>`yuH@Q_P{tsuW`*gjF;* zutJSJjq`AjNi!#Wt~Ywe(ZBuqqG|cJ~$eq^L$7}oz~~5*_*ibz=|%?w>S3<`zxkei0_x6RikmHU8y;b z>-h*=%*U z^hg{d@Lbffb?t-eWz0~xf9?z`VW9n>?JaB-hiU`OUeEs*16%3VcR%=(U^Xc%w%RM{ zhKn(@gYT)Jdj$^oot&&b&Oy1?uQQ~5`ZeTr%MLGnV#_KApeH{zz)#COc$Y)woD@w(vw zDJ~qSZSq+;9OTvGxziPBX~hmxzQJvPVtfj4Ak$VK-_Iyt4{R8#JM!_Jx0AKcz#Sr> zOY8Y(xqKDWTGJkopD>h}aw@K(V}aF4kB{)85b!3fDpU0V$3&Y`_o3jJq^==#uWuRU z`~g&{H=KP0%Md_s8USxQiG6h=06q`n-AO>*ED? zSwD%pkx$MmQ8Z7wTswf_L?jcf=5nM{OLauMY)&lq7yWk6x081l?n}gTh;Qf1bj_BW ziSn&5_;M?rylnM8akZ;(R>iwxHUcP7O};57^O3Lg0tD8D?~_CVs^3H`^JjLo^kMv3 z44r7w!3Q4iu5c-bzWzcoo&B504tLY*D}#cl`XLiioswFx$dIjaUs7$qzrw2olefwwr-+&=RzfPptczTQGQdFDixg z_F-2FkuVQLHFZpx(%`78v6OF*L^#-Bg6$ecef+S! zKoZJbhI6X;L#)*%;EPmNTi&9u$&~MdLD_Y8W-)aQ70=_E^!%acC`H?b?c^$dWWA7TJ>?khP54nX< zeCkufPXMYu_t#L5=#p1KwE|_5p7qXTjY&tadjIBLDpES$D9ku7290izKR&wsDPW%K zBXXoc<}eQ>iNKku&KbX+ZOHHt(NRcp_fyR!uiut7(hA65d}Lg=+ncS+&ztMFye&Ot z6usb}cbO2vmM*yYT|CpJ)w%r)m+Fv}&+hta5>@u|5LG&yUq=RU>%{^8yPVS8c|mOU z8}|fNwFT2_;i;=O3*3YjYd2=`nRCy1@f$R4(cj2+72mV^3BvSmWbyHC`fQsQ_(NFdTl9xOT7N zh|@Axim39c&rHhxY`6N*>c|vLv@7(=LCxNDC9Vj;yx28@n=u@~YaaJnJ3C5!=j|^l zpgzznQWgpwyyW8>je)GLyPX`OX;0_{TiUv*=;|T=cW|tC;g0LQ|ytV7Ih7sPCtz&Gw6SYPCt(a1K{Ggo7z{1 zlg;r<{FI}0rg>&VQO4^~=ME0CiG+~0#P_)ZaI!w3nKNnR9gTIf@e)Q;Q@l(!R| zGx|JzkuhLw&y!uAW`SEBL%8l20Ma1`ydVT!FOZbUnYnY}xb$#mtqMC8q`lC2+GfLD zKF+HV!V6lMD*IP$l77?n>6_MWALgX9rJGm>43<1M&`AX7;VSxQuj%$yQGP?g#reol zbngbkhq1t^|tAFb7p*2j3xQzi16^j`- zc*5G|3ADwCs=1nOQQ`9m&6eBdeMKd-$Y{``rtI!WG&y8r44sXgnFH>f@~~(!p;8;0 zWTSXA&|oZ&`Xto76}{dNg_s8%i9+bu++n&&6SuePX={#7>5sC&otlYa1G<`1ym%1q z2RC8^$mk8s<|Kuc0wgiQIrw(M3!^_em~hK7gRf6-$fAj`x!dpl*?>8NgKB?U-dm2z z=L|Fx{N>A7sk-xP9bj<0arQNL&C>pVOwA@ve!(in9u-@W->u&SkiKb8Tp>-L`?*+$lzWR+etDUa*txY3F3(ODX~M8B-vp>0Kw^Ui zSQ5Ek`p(e!8%z|gVjEWlQF1kpfTM1|B?xY}1N{FJT#2J9L_c(0*bB`ek$O2?_%u?` zB|Sx>*TugAC3cjjrtQrPzh1Uz%&ZM$ofUR}`U`i`tQ)s+x~Je~9sBFJm0QB>S6@rH za87i}v(zG;HCem-$*N<)zy(zibc9Ww6_&b-$-ac&>gY$OZ4`Y zZ%yjGqBWN zPyOZ5rw)Vs1*hzUp>;^_#*M_PA>Z}tK0<#6f3w4iHWYQu)^ZvzFpu zC0YoU?hNsA;fECaUmsfE?(M?g4D2LDTaK?__CwSyjo+p%UPTwV4sy+s@bbYF3**mf zZ^mzC&UAL;YI3zh#1Qd~YqqeGptcL@lP^)fmj<1?MsjvQ6Sr>=+un!Njql%SS1*lz zQE70gj*~;XX*X6s^;}5g#9|S0kZ*&Y2#@K)CyqL-ICr-uZejym=SD85Tr+k3dR9Hg zm!36g-yrzm)3Jq8U*e*^=UDh7yQhwz2l<8m16G!i<5{8ooB+C@ZlbKVI3*HG9WXV^ z zXUT|}@ww}i)2|U-N0mBhuZBD*An)uxSL~7;1w|UHcQ>)uIV~&s)U^E-@mZjg z(`G{kU+v=4cH56x>}M6*cqGMHOS>}9T%7t1exOo!G3w|h8?%V?IN!(xV|qI^#{NP2 zjqDoI$F(f--+%1GkK_`b=6cqKul*23_b~;zM z;l3ttIf~3mz47$sjhL~KLeO_xz}I24N3N7#&0YKvLA-7Th5@(sh5Q@vysmQcFVJglS6>R^?XVyx0tO$as zGTH-B#g>k>Ua}+a^%+u1Nn7fF;eiVUe0}xb?~i4f)inT)(!&T|yq1S|i$7f9l6YfW z)AA7L1KVVwO?V;FpBP(F-m+xfB$UX@fmuA`+FTUatMe9f>_Fn>TMZ&d2K7B$q9av~ zm4vuTa&H>BQU67&?@O=Ps`q$)5qoGwvFwF*V;x$R$E6x(dtB-!etoylv)*)I_(r*$ zrUCd~)yUH4EaC{~)72}Qgxmz@J^}6~)%jkGKuCpf6QVP4?rO*$a4R~5zdjYq(9Uv@go+uFk$BN!t` z?_E46mN19gujo5Z0-;yowDb)v!k$YzzXX}sy+k-=MOGZUjU`*Z?S~RPukh#@D z+8!h_Yfs(Rn~x0>ZrGBy))^df=)MlWXgY&v2y?0q(5*N?VBQ-5{SuI!RgF`5eUcN4 z^$r;xlpt`Xp-0s{n#YbzS12+LR3JkdZ|#-1&ln_b3-5#LV3p%ztZg3hkS@!bGO{iX%Pr(PDghxfG1ACp@zkNk*G{Y>B-!Gn@B!kQyg|e zr}zkWbTWaM3t;S;BDR+&cmKTZN%*wcLnolAg=Hrzn~Z-Dx)WlpECF>NQm_S}3F~Og zAUX^e5hrE6s4qR(8xQ}b?6}$Fry`ZhZzpy&*8YQ02KRI*7L4$d(_xn7f53fk3oM{? z^K4c4F42Dj?Mi={^&evtaFVg|29}EqHEP4rV;Gc@e%M|g;)F>1kHRwt+u5WKqNk_Y zag0?2Jx!ph~`YU9tSY~BUUv^90M4@6H*{a_d8dL|nhZysaDqipe_o}a~q z69UC`3*sTdUv1g}{iGH_K~>G#^}xFQ823+`R)d>J@i1DU#KO#TH?CdnQ zcMxv`FK;E>6ME?jS8gy|U+f;B{uG$RoDG`kQ4iwTEm?0CMHtqn%zHIafc?W3J1r`_ z`HL;*kc~u_(7f;v-*%s+$kZU-E||CL=N36H8H!r9j+3dVo3E#wgtvEd(n14GDl+IU zZMN-B=rqdMK+U`rm0R1xIcGVAXCu2@9}h`Q7Ypk*jZvKN%QWH0Ow(ghw<_MGdb>`$ z9Bzmr@w$z`c%~cuE6G7eQ<}?h#8N8}9Lt2@15q64sVslBLBEs>iVCevnPv(|-JY-6 zse4{0YFPnME{yrP8Yc@`VF4!MMhc|IpCn9=3721M$TlV=BHKESQn_ero{hyo%b|57 zCI>Wz1}~k$cp|}gHMO3WCDJk0XMHsOG}JJ9KDnvxk)*>AudOe?wM$O6gYdz=Hpc=$ z3i4@GIawCIv=Jy9W4OFv8yU2MqIWPJ`2vdfdmcUWxqhFIwRX-9#dGh56y^ z3%C0Rs|~T&72CGD1I+ck&f4YS3(60MC2pz-XhDe)i*A|r-#^SIwOuWq_q|l`IM`sC z_v+wfI6ps++}1ds91@3`&mebwh(4nWU{j#FNHp9$*Jeajqr4~2-I8cs<+4Z-mVtc6 zO2rUL%Q25?bDoShCyFh!>=v9%4}%P9Hu)Nbu*WAO_XcP3q|L$~8dp15X!Aa_=schG zlkYo^$r(fYdBXh^);sv9lXJ;daH=V`A?q9)p9+CDnW9lA`=$#4CQC>(9d5id3rhh% z>F#p3WtLUU72EUt%@GZjG@sup9VZ3&>n%&34W2wxCoy+6)g>nXzmxI5Jb>QbD9X8j z{WJ$6(CmuRi5xqWj zh2hs}%;5czj z>!YxqTnr+~hVKRF(Is9&^(>db+iLEzI05u$t^kl?P7+=R*k=}GE zX2iD(ODhf%pn9^jc9)TUwem@m3b;##D1aE1oZ2gnsh5{LFn+Q_5{04IvG59AeM^xe2|e`fxuoMori<4em5Q(s;Dm ziH`qiBhcN|iL%gK4#~?-fX&jV$1~-h01L~Q0ZA5kHx5cwu8-*e-5>#6>^IT04#dxT zdTZ`AI*y+WH|+RRRhMxRJ}5OhWbbj2+X#CW6P!C0#k+hZ3s?Wzv&$|rQ1~+7IP!UZ zB~Uv~us(oJG1>C|!#`-QwU1&Y(8;YTeafFqoa{BMfldj9CYi9eXJnt*kMm(`@8cz9 z`S@E~rqoGp3CLQ*fDUelRG$UkR8|K57S2V7ntH-*1fHwrq)6sB{_dtpco-X3oVIm} zs0(>0fHHb!lD!DPA^i00w@r*iWmDZ>qXSR!>J;vvn;7N}ePTb&%L-tY!Ibi;i(Kfpv@Yun$ zN*5JTei>CXU$En1MQclF=h}T{veGF)^7AX;^oi9vv2`75Uz8Avm9LxM|KjB@E*1E) z=ERtjr<=tW;IiUY>}$kv&lB{9lGW7AT#WE}Z!!jb!8QIKyi$+Y5R^kN#m)2etg*Bc zAPIAcI`wu7i%8W^o}&iw9bV%vr(Xx;dUoFEbAw`oTg#3Pjgha#PgRYdUpz~{6Jv1UK-WPSS?KUSP9yv$rbk%a`dn3!-Ac*|rtuxx<(zWt=%+;R_Z0Tvt0h!Ev zpCESUkEC;IyqL5yB!Dx~deb(I&Q#2$lSC5hQBe~-7}|Q_t9M3=N*G)$Wx8N2Q1ZO= z#vi-s=qeRlRHY!jlQTJ6r3Ak^%5{||D0p@;wb;|WtNPI9rqt?E?%~>D3?g!!C5^0e zS^Rt)$RvWto+ELTY*~P0jUqM*@2{E@EdaA9A`}^&9$b|Ju{Qd$X{T)2*h$=)Ak|@t zGR6eP?J}Uwfj0(p^e`$Tj%&tqJq*7dF6d+Cia75uITZl3(7G0!wNGf4dOeMq$Mk9| z^j^`ofeuWWGZVdXxFo2CA#w%0!krfTdAu5*Z!Zl}X5;t11v+h%=>A4}{Ul3)S>NjMFjxq>woc0!pt1OSXUS~o$MhFAv&2)pibD-B1=r5>IJmQdGX`B(??55-0trQe;I!qO& zYDJSeaK6wlyPNUu`}!i~*kMnbkb7_G+yP_uP@Zg(;Ub;$AN_FZk>7YHWeSWb~-Z-8?6Oqijyek7cP@?m|bwJo+WB z>X!shQl8ztftJT_@htMf_EJ-=*{*Cybwk{KEzl2v1HmpUOUHawRuPTqXXFuIZ-qQm zI2y7@NWvp4uumMZBBRj8O<^9U*?vft;ODPXGGzQK1*rSkI?`XN-8ZCr^;a${eF7V7 z{`_0s_gSaG$%@B`_}eY{En*EVhn-KJgkCzUsZE(co=+FzkL#rIF?Do_(C~BuYYCwi z4!)NV@QcOw{cOkaS~B0v%HUwsEoSidZ69q7wabA=KW@h(7vw2}1XE;>b;sR4U)GTZsh|P13r7`Aj!lyg)Bbjl|p1=G5yWAdM zHj@{0g68!+ceP9}T@xeo=J0Ey!}5Y!LwDARIJEpeoNA!A8yHk~HTQ6`qd1cLd$)W0 z-+|+{7Si{1yg}5;)=iHU^ttXL2Mzj&aK)6-;tFy-*_Nu!giTO-eG zn@;HB-zn9MHi=-045&HQRgUE6sjWgRkB5nEu9UR3`kJh zepg&Snwm2oP?o=#twy^L01AKJ3vi`KD7ty7k`~_;bayy6BioIScB(jJ6PxazmTF=4 zjOX#QMF3~%?+U|}E@XT&5i|yKdm=?ANp7b;A~rpGVMY2?JKG&&M_Ktnzn;E)ANmKK zxFi72i!bnjBLM$S-ZSWF-^V> zcRB4k{F}UDRC-wW2-dT|#@5uiplYQv=5cP(^)tk|=wN(6*SJSAN5k4O$FL?ZO8Kx2>>>y5~JaeKfqPmwg1n!RJOwg|O zkdvfc+PlPWJcMGs#X;DeS*oov6n?nyw1P5E$P@v2q8=k=*N6B8C^D5&JLI$qn#sYk z-}b=fZY`>dFsovSk%C}aU{vwlmXId1EkBV!Jt|wVcXe=wY=NkVf~OWpIBt2!h{IcU z$+~BNh0!+Eexaee2Hp?6{_ExjaUyjyjfs>CtXzER<#3J5A~u$=D!#L=WrkJPh#gy5 zg1lVPtrN(>fOn7IBu48xhSm5h!~}@CYZ7cpN^iE#{Z|D zbF-m74yft#W~U!;zm^!bL-TgUj=21aF~4g)JQT9MILgG)D_f&-PpU8%aysiX zyn5S0IN8CRF7EZmLo4H{(3=*>zjJjnWN>bopV)uQ%R7NrzjA5ph=TH-EH@F7eDRA* zd+jURc8=h^5vP)Cp9tYFA2D0Xfr{zjTda-Y`A+bhgjJ8;{NV#+pO3C+J=keg{4Qb( zB+|$)PH0x=JDH*jRy!{XCwW*uRkLgIO}dckJ+@+FaFN? zxv=~T=pQ9uqbifz$a}{Hs4>g>WQtQ`90(QaV60+65rajH4dUMpVQZ2@eXiDk?c}_# zX4hve^ZwU1{iRNKc1S)dZw}~#_y$Q2r!vx}@)fF8aZiC8H$WSTys2#=yjatX!T{C! zEZyKin9s=bTGSEM5D2@an|r90j&N@Qc}y(>BED=_%?aht$H-3RK6T+b3v{I3X1oHf zM2Jo3Y`8u>hw-jy%I#Y&YZq6%>TyDUF6yC0wPS{jOqGl zu(dD4fumnJ@Ti4Izpte1JF!IiD31;N!PW1c-UqMYYJELB@?8K|XdVv_>J+oy#e#TI zoAYORE>4i|#;jf-qNozX$~$>}nQ+apaEE{s+LF$xj2em77(m$ax0egwix#g6NCJxZ&z#D zb3Xl}G9qFJlF=15=J7Z$5_Mt5!BdWpSsMYBm7i^XyHg;H1+kWIDMMEg`g^X#U&6s; zRgt>Ri+g1sK+K-IL(Lpy9tA@KC4)N)G*rbv2~n-jW00}0E@1E{$Sco%OZgx zBkjbZFl@*|Eyf2^>p^B~H`tCpJh?DJQFvSo`SPt7bJuDhUG$XTF@B0zUTWwLz1QUO zwAes;zd%5wRZ4gwKI=!_{qHBvQ6b>3ma+vK&f#c?0exjf{FGfMA%M1;8vEB_2CU*n zrN$JZu&ixHspSN1ktk{A-b?ZS)gP`|Oine>G_%e}zEcgpQ9^1|>>S0sBaaG`rbQkyKc+s9ktx-@Ms@x}HDqz$o+ElLJKd#w^oj1heqf-{ zgKwAlbI2`9_@1ARXE!No9uqKWH#EN@?0 zB)OU>x@A9>Wzn`zOJPr&EQk!u(AUVNSG-lYf%ChkNf{Sr%MqRrIe8l+)2Z<{nPaYr z8h_ssyriuag({#r>HhT7I@v=$YId**DaX|Fu(KW_b*k{-Pz-`jejA0Tq*!K)5aRob zirSMY21w*aXmGUk;1Eu5-9f2yaje|CjH)60vb5rY3(}-VUQQ*f(Wv3ssk}2RAC}C% z(Uo|XKF;fTgmT(l5Xa5kb)4fW%am)h0Rkdd1vGWunT}~uSB~0~ABdF!+z%DikMk%# zAEpO9l`et(y_}>fetzqW4=t`c)2LqLVR84LZTuO26tvSzK+8L^eSzAkrxPmiv9*-d zT|7DR5IaI@7Z!29X1DEj2h7zkit{$V^Tw2#J^Ok11aYEnXhZ>X4cTDg6)UoU&FU!0^wYr{H56MO&A15=-2VT1_O)?)g>$x3d>!F+kYo>(|r8aeHcHoLsj@yHNGg;@|&V3NWRWEt9!X=(JFoh2KK7V?e|F5Ibq1bGCZ4KCr=e6FiQ zlTpx+;r;*kt>R=tw=Xr_+MJ*g7FM*HB%f3+oY&kr-z2#V8#&rpwAi;tjzl1;jVy0P z$=?RN_>H7owFyu0ImaXY{POqWSR-O2VM#ZVt$6n8Jz@H#&+jvAAo7U?J3xK82j})L z2x<1=)2?59s$F?&OQh>Lyo=V(df_C_!SKPT<8D|7X8o#kFb7#OmP0i-@hTdXJ9zYC z`wMRzpf+_0bNTZmzlQ`l2A)0mJR%a3)bOs5>nOk6ci4x7A*P3(JXByym&%%#9O8@V z8_dn?n0I?xx--c~!4&3IvPz1ujomb>C7(MX2i9V4UcGo&j<^=eewUu6x?6kCDkX~j zN{;S&UV9C6v_ZJXDrQ>6kG%-IzRU43*Q$%cvbODwz13CtnP8bqd_kF>pj8_m3HRG(PQ z(9?yLvh+Ac=GG&!yHU5OlFb5)1E^Q9uM<@%~? zY%ZHhNGv-*#cXrUzpy{j{Cht?@wuk*(MlE~dw8Hu>Sjd%ZJ)b&RiEYkf^)_%gX+?% zEtNMQ_H*vlpO;rhDQ0fjrGZT(HMHpJVkbe{oMI4JLWug^tdi`f_o6RinFT4bd;Wv$ z;nXz6jqE1Om@g3MGt8asa{Ox&;Fy)L;`(r4Yw$aU;Le`_J}=AP?xRWz1LfeGqgF(w z9}TCst1M%LO(rdMKMx5sX;(b3u!Q$*|;9AF&W~+>)Yl>hz9s$|02V`Ls<^R6?wr zhJ{MyoSYe&Ipnw;=ggSHoVGb^%y#?!aQ_w8^?Dv2PbNuH$z}#h{rFz_zmFc2ty`O> zf6aRX2ZQwMxL}y(EZ&F0+Xhm!)jG^{?-{`XQqlnF7v2&|e$;wXTZQdcqQ8S|Z0=*$0*9q0z$#|+c_$B5sz?}bg*OGLuzMy0C z=zf0y>G7y{9ZRaY$jCDpc|2(z119|9azR=9cz{KE2D{&A{3eR8qdGzuB3l^U`B;GU zaxs4jc#>$CK^3#k)(2G(pbY{6^#Tc!IesRu*=`NG)WhoFbJpJ0%FzEosj@4)i-R?# z;j}@FkrUPuJ9nL>Fn}&vx&0Zr6dmxauW`(pj8qQlz(0CVs98~Wd}!9$Tm42G>J%y} zX13+zB;rOjaFLXd$UcFBV7<4!$$zhj{+`9TgP^YIK9O!7flZN~J=Z|% zIiZte2_nwHd&~Ow&}phj+VK&6vJzz1t%WkoDG0g34>}=3`!`4a-j{F-J}CpOO*g+2 zJiaaF);oUh(#uB%FF~1Lt1gEZA%BY3)aQ zKZsh^iP*(?l8Nc|UXX3~%h0M1`c99;f$ z0_}&(bX;lu7OZE4DzrZd*sjHhMQbCg*b5ZRjG{WvhQcS^#5D;4M!yR6OuDed@^)6z z8bJ!`^4Q3jrx*k27y#tL!uos}qmM9=_0*VhWyC?HRy8vv;%SxqBN*%Cd7(Q&+kpi_ zRWA$`24|S(v&WK-%sM!enP;3keD-k8uF%?ACovu#e7*Z{_2ZlKISjj44og+JB`Rf) znOYvW=5}Xk1A|IIz@;bJo$8wE;D)`0d&&|}T%uC79lg5GagCq;JZ2yh%>CHseV>1q zL~_?dfv%P7FhEVpLPirAU0GHyn%3-d`X&A2YSxRNJ{Ybc2leXYe*E%$M$X`;b>am& zKk_(vA8iMNCIFHYZn9%?ESu^=LLUH1!Cc>jaNmVi^PpFT<+V>V^?Fd{>e?mKYcH84 z^|B0e%1T@9WJUesr z0TIk92Zc~A_v|(SdxzeZGX%KH`{urf8kUmG#5nApGC1s~nA@#!ri8G4qK|#EZeF*i zD7(GHpr@B6B)0#|#Yu#a+)mtP;o0Ourm20!egA~BwGLp;vxnIqK*bC#9Tsu63v{Xp z8rZe64(kmeUPKSvpZr%j$ecwVVYrXLSiTSyK@)HAi`+X3pQ~Fss#j|n>$ zw(;d%ulZ0}F5TB5zBGB<)C+$qvG44=COv1q7r&I+gSeOOW#=Kp+6y0AJT!InD~*aP zx~d=&f#i-D+GIm~)LxIeRH0F4;73eBm0p=fHWny)Ul=D7@Z!_CWu;y;H?0 z3%}G|-uWjyl7{0aF2@A~%wADm=$tx!uZ)D?61~oK+&7} zeAZY+t8_lc4y70cvh1N*P(lX!p}b>3{~} z#etV&bF8UG(mj9|d z>bgK(hMU&_Jg6==2iDVM&R%wK{OXDaT&hP&Aj_`jBH!rQ6sVYuE^oeF=^HzwMxjSn zPf4G4EHy=!7zMl$jsN*JDf~IS)bU)qSQM`CNX)eab?BO-ndE_*n6HyZjQ`d39ECb@L> zXgE_R&oL6tIq)y z@-MsKj`z#%01uNI^q4J!xQ+wjgjWR^bGfXdB5ox2%7)B(*QVjwPBYF0u{fC#&)`82 zu`*=IFHx`q28%)$&N4ulbUzoh^8Gu?oKaBD$Yw*qUWo3pfQcvV`)iY8vjV_WZ&}}5 zWP!?7S4eeZq?Qve<)*UbrSgREn1UHECx>g;eI4tsdoFdNOrttr5St~FDgC%>`0?vY zMSMBm1+p01^FZvsmN!*qUYfI(!|kS(LFZGSGWiR=n8(QY_`;3F_mqT^ZY|btya^{U zd%EUFbU^)%NQ~DJmdV5!_P*`)-0%zQzU9F!t{`N61`+rTQ-N20oZ=!-pNei?=1(^S z+@EK$%F6&NFOA0H?46!Fjy`7<5nWPW&;65i2w9rPc9+^j^Bn(DPwFz>zoEidv4P3> z{m#Pd6ntrY>Jh1@B9_Je7Ewm}nww&LDdsJF8@ja8V@k$GnPgfY1NEfS_dB_we@pLO zOzeFYm9-_O|G^wZA{E+syyg*044<3jLLJT|*sj!N`+C`LF3iyuOg^Sv?GNJe^+GdB-FYFI7fyhgzU)pvd@GT;{4?|I$)2tS zLHp`@Hskd{;QxW5o$&qvCL4sH9K-GT8cJc*p$M;zY}-trsYmm~haa0CnbI3Na$*9s zEs2kbCnsSey`2gY*3`X3tcm?pwvWUMhp}E6ele%r%ISxgW(Ui{{_TX~iY~2ea^4#t z4(-bxFgJ;vE&w8+LoM`+2bcWhcT?}Pd~%r2p+pG;Hl{>!0R1ijQ9Cyfe`#UVKEEs( z37okZ-6!zb+F6P(b|6&=Opc@{rIaO^se*4N1j z_FgE)ZJ)mnpx-zgEW;85gRPoXQ-~|nsL=QW=iAjri9n|%Z_VmN9%qSz&~46cO|v$Z z-jTeZ&v_T$q%jr{(eD9j!el#*h;9EE$=AXJ*GWxlTiU6nnS1sXUi=lArGantpMQo> zcqn+=7rgFLh&oMmO^n9^4j%Eerqz&pyO7a7X+*d0akGlQ+uxw8iqiUgp5DR-KxjI~2t+eyc}u zS$A7ZC##%8X-1g-I|YNa*Yo8s^Apbxd=}Ns*>Hz(hoK&LSjxNJKeF3f=OB%-x@Rfp z`xnN!z1&btVO90MP7B{+1-$_){wpejo=IIQZ?+n)ahaYQN7S74z1Eg|c)CK5XKEHA zm^Q><)PAz6e&hv5W6!=#<{ekH?+LzzY$-dIFTh!2R~XaG!>cQvaglsaZA7hPjJyJF z^I3cN9;>;VDO`CyP^}JV$F=#LvGz?Jz8`6p1h=zqElR#bH`xkqmC^wbK4Ao zL5#PwraTE}<+}xbgUOY%EWOBAynK0ZV!L#UG%Ru8duNmHsRi>3;nxUlFKn-ox)?eh z0(3%xuRvHJ@?!nYVD~~@bg+cw`7PBW5sU$HI2xt9u)F0Jn&lbZlhzuPr{Ok`o9pq( zl7C0W!8@NP896)j-YkBa^xB<-jp}e&pf*Tx7~EWJ0N8EgYpG?}akpphk>f686N-c+ z5BFx))Yed_*1r_Pe!y~`^E@7P$*U_yKv%;!iMkqPx&WH^7o<5ao@f{T>-Mf6obw5x z!?bt~g34S|+$Ag=KadsSSS=YMN_X#>el7T1P@EgiJa;I$eQs0FLA#}c!%k5 zf=vu9?)k>)_sxV9r_mdvvklXdWUZou>*JcU7V{-N4U^B+F}A+rRQdM{;_E6L*L&C= zP4o$R9(0@0n!GD{dho3UEAeidRhjR6<;3&ny6w5q*@I7+;&nhF8xrtR{iO2k@^6qY zeq4H=X$Py2L3)1^74kK{vDR~oEV2L%M!oK1&4&bhjMKQ|_xdH$OP*!^snwA4U3E}P z9UNU~ke!^!LuA68I68js0NU`G0`u17`lRJnJ}`OD&2~Sg_nb{Zy`#|1@EIL0mlRbw zu`KKU>DkuQO!dt!qK|Jd&IhSLBa;2M3P*hwa=o7~FqhkO7Qwr*c=TkEo&&HT7b^;y zTG+w!JyM7II+_C1VcNl(ug#R9#=@oepW3)t;F8$oH4{3Zqn|(SbMys~zTw9&e`v*H z)*ru5mNwegvqL%@^nC5FiQjBzu1d%{$yF*%Q6-D4#$p_0Uh_|^7Ia)Sh;Or|#Twn> zk55`|vY*m_dbsvjhWokU_qEV!Bo?G*h;j{G?oZbrhGVg|$!7C;I7l~rp)JU(fkq&} zX}+nQn+MVuQCtp-<*$jF=!F1u!xlUYJ->e=R6X-?b;*UtSX38jdlVAg`P7Co2$pQW zq!SGTwyX~cmu8-+8z+>AM^g;3_!)g?O8<94OwT-fgKr}eNbJ19-BYEWw6K=M;2NAkiRVQ_a`eJ z2L)}A^V`<8#Xb7~${;Rt=VdAY*0}yva9*0LqH=rTHi#~z>%pfLMXk+D@ zq5sY5e86{knEb|qsXXTcYGOXl+-ynCcsxjpg^my7MNS_-t+i8_kG>d@UsU% zM;B?<4L8Nw7)-Y(@9^o;njiD+t^D!JRF>idt74J*xttrOES!>{nK!8Do!x3aK#YFZE#0lZ77Hg2n~mynRMP8SBM1Xy(V<}kU8yT(5xZ;p zW4I#}Eik!^+GP+OUnQk-=j!0)$mIeRCt?(^?+N$S^u(>sYbrKZXWbKm$KY?CSqfj* zL^WJ`DVfICm4nx$iKr0Jo$li6F?|g($QnH`=Vx#oM1jiCitP* z^5Ej~cZEJbFvYvVI{o7-PrvC~F?fs7h0lfT#jCC<4TdYPZ0y10`TV9Fv<B-Q1aI<<W>|mT{D_9X=YBtWa z9N3J4GOrsrO;V>%*YT<7<=PMG`Ri8p%X}M{Q3icoS&N_Qy6ix>*^Gj@zlC8F_kf$| z3vapO9b^bEqa~~Zrgt8220CIV$C(Hm#ek5ScNs1r<>)d56lZjQvaH>K)O-S*%XX5R zE#br)`M`84?!^w#2F(p0EGZUBe&E<|l6~}2n;8Jm$MjQ)b}d$E3b~C(@~t_H1`XdC zeJvH_8YVP7f39grG~}hjm}qn;UH#I%d6VL!E!L+|g8B*+m9Zr(jg0QJwh1QM zp*PzpG}j7y7&GQhf?KPU|#Y`us0_s@#@?X+Vzye*9 zgIaVjz|6e68+jty`c~j;jqNQ3A;s`;ztWAHq44Uv6Y5xn!vQ$m{|!njwSc&F)Ez0x zT;ubgyjs@zJ<15}>+9=!HABn+7l^a=JCB3i4g*)Fhq}@omPdO4!RNn^Jp>XP7CQrn zk8XoTIMXzX&cnJK<)gsm3)WEcuzC)sDA*Xe9S*ZedbgNKsE#vjcsmk;K z>U;3vSl{bNcAzbQ{e*hebq^}?xd3q(Jca*4y%)LvIPgt9z;AZgM~4=7f?Y{x6ktjY zbG8c5Jq+8`mqmDEi zE#|L3F=_8SSp~n5uD19W9~7HnyEcEON2kbzduGrWguT__bMxq0mCYT8 za-j?|4P-G%PqGspg|Dt3?3;x?ZSeV+KnM^v%Q1I93_d@)D>~FE2Bw@k^ca24!xM^k zNho>sVM(P$91ACj@6U+G)th^gW{3HQ$jz_bDGh=*BnyuZW&1UMX&r_%Qngj$U0K>X z#yAkR>g}7E)qz=P#pxd62M4K5($eye1JBR((bqAP;XMxpSF$&bRxjl(zeUmK*A5qv zD*7HcvHtSnw_5};0h22Z{e=P1)e30S_`PqK-0pZ%cPje`b3z{{8!=p(yp?pklmk?=MG@e5 zs6?k-POa=-^LrXtAFH_Sq6)Gu_3x82OYmDXGMbj*<)E84o%UT}OT2GAc>63%UTv1e zjJGR1@9E8&74F>p$kOOyJ$v=>lB=Z1A3x{1V|q&G=EGou|00eT%u>l$lMCGlM$TJhiip_VEHk)(Jkdc~ML0q@|wtRVY?>7&; zEW$iVk;+cKPF@z zvDuL3-s@rdF9iEC;#aW*sIdXrI<83iPI{APwDzO3{1sogoRRKiNa2epq-=AFI`Q~BBzGn?&yGjWIAivj4a^%Pe1q){4Z zPn&M@W|8^(GIDs_?pL(fZ0+TnZ)d);946Jtm_T5IU>U-wFO^!> zPQ1p_&*yiq`Wys3*|25-L!K9k^0#*I>cjtUhGNJBn=05eOjfzu8a`e_en>p?ny z3b4IDR{BS>VyRs@R`XNn@45PZ!2jawT{X&c|9b<>bMY z>bb%q4eyRf48?5{&1@~;8s(Qc96PqKZ{S>3l?)~ZSH=6lLbG~tjkWge_C*dd~E;O?!J_o7~s-gr#RblQrj<@^ zs*}^>ttg%oy~_?svLd@dq$b^JQxSLTvUZh$Emn-T6e3=l? z=XL!OP0dK!v9gQDTA`V~iQJ6RhKZyqoE6%iDAgKe2|*OP)ye~CmhIe zyNOLXm#pV?Vu)|U(Twt(D`8}4beLEvtDl@Z2j1s{Q={BWvSnLQh~1!Rv4;6psM{mM z8x$gM601qlw6MT3ZSDD_P%`mp$WHJ%H1hXKjTE1GoN0DxTJOVBf?i~%?2XR}JPdEk zQlssi3fwHwu(lGR_&j{&!RY?y&5>O1uw5Aj!w7B3d7G*B=RdkBxE`%)x>F$ZHxZ{) zI2Jy-Oo>LGhulg+dH_i^4bhL)^UmZg&Rk^Qu<9g#D(Gc5$pd-@Doj^ziLQ=V&AQ-COH!ya&pWI|lVU8Hd^W z7eihROefzOZKt}|`?0m6w`LCXt~XK)1(bgm8uiV>ejS62qh}#D?fzWSsO7{i8Sc^w zWRxtb=H|!F?B|2=IA3FiVA`vJngy{($7)1vX@lKs9x35u_c!LN6I)LPP_ZdG;&G{o z9X$H4FKNzd96OXexzbc24u=PQyDn~O@_SP=Kdu&F|#mX}d=8k)83 zVLGuMhWlB6lytTpy<8u=`o{CriNu?U00YzGt6$_H_P0nfWkh|Lfv@vv!*MwH?lz9# zd+OeA=cM)4rw}$-i0@^8XTW9n_ze>B;Rk76A$L49TP>+;JR$d%?zo~^B@9KGVvyvW z7U!PH)$|KWG2JWrl5*$6tH<)S@05N~vGb1kWHe3wJMVwuOULhZ z3|GsM`NmtOM-VBMv1HM;*`1utPI1;Eknf3;oaOG;!|Vm~ZEseJ$o2^r(lQB~--mT5 z{yyC7`r8B87)wuA`~H>uBETvXFAlrgy)>Jcf?&#^-vCH^Au^sA z=>DC!7|FYfe`seq2)z$?N=mOdE(OZ;cjjUyuf#RmwiwDg3@#F_mOR@Q@N2|ZynyER zy;mP23C!nR9_O!ot5`2G**=dZ8(cViGeydA%zJV8S$T#iYU1za5`}V$@8aZMnEZ43 zIFs}I7^3FwNnPgbo3o+!4zxo)I;Q&-0vmW~kB@>TMJHsvNTLp!A$9IRO|E|T)r3x{f^a=t~GqGoM$79RS3V>j}HY>Z%SN$8yYwp?_)T?kr ztG>7s8V3vfd;wA%NZoM}0Lfn4RQoozCj zaIe$RYZpTEa@0PY<3BWS(spHqCYV;JJvI#tP>(m&(vzQN;Mvb3WA}eAA`25zf^8}O z%+P?q9mbPocMF-k*TT}xw$zu4Y#bk8YfeQBxFY*7WIr;*cg{p0lP{OeXGQ-*@+kGNaB>I`V3J1?a zxAv#I!>$Y>e(S%x(Kui{0P|IhWm>LTukJ(k1kNMt7N;3GyeJaU^*1ySQD|L2bo-Zn zoD@+H64T7oO4oAZ6)c6(GN)PxalmiBz5<_$+rNPvo7%cveh0nUT>1U$|MKHP?r1eG#=YfM|!`PJOWrX>>=puvYW6 z|9AHIT_=llknzT#c$Xryn)y%alteT1D6;@rX-M)QZO`)P`)+huB}EmeF6>dAIjAQb z6$SgqsJB7vyr{u8w{L)N-7`|b`Z>+$o>+W$kvMjI#ow=~Ei7mZrE!dX;2iz#L+}OU z`N+B$VYW@T$6);!w=C6I#$u>WaO&&4XLb($n`w0zG9|eBDTQz%lyX}ae$p!cjxQY* z*_I3EW1}9szD>?BU_;bxJZdjEB!xH)F&DdJZ^cQv2a{B)TE!|FvXSIiX1Q0SdZDu4 zDA&){Y2Db^i*gAmZpss$p~xWqKTFMci%|I)H^^ymU5TH~gJ+(cg}S05d&;G$U;B%O(|Wl=t|+*V6L&@k>(Za1>ozB`{Cs`D(?5S z*0F(@o|Ss3Q`ZSNYuQJWvo;`fmmZ>0;;(|wVesD0Q45LC8ghG0F)F31ZmM2MFL{`X z2POhWQA+cL#CR*45wY&6z6?v&PNQOAwwZ5h$r5nmdGr4`M)x$hnR3a^Do7L)@` ztsWDyJJjqikI%S%;Bu|h347cm&~x?7!JWCq_^}jvds;Lh0*KOar`CWL7N)>=r*r!g zn`}`k-v0F1&(zA0i);Qz1{uJ7{y6N)vU8FUYqrxC!;d*6u1vq;3T1LUxA5<@cmw3r zo68AnLf9bx`9HY0c49+p%1ZLDP`}9B92<1|CZ+L=!9sn+GWnN$zFA?C8%Zo^^sdp= z&~R^T;)K9C%;a)l#iI1v8g^4ScI*i*-7j3B$1fdlr7^BdBR~+d8{BNKdjOfV)wcp% zejJ^$j^8gh)Wh0~pV+s)7*sL#H#cvZ6}Sgjs~&sL8TlTok6bvLoZJu8ZywbfPpq8q zHo<0;h~|XHI#|&blb1V`8#WUlnbXMQc0Y|WerZpGr?;lV=8@el8mb!KZu~EHGGA+1 znxr*r-o|%oN+K!1&-w4b$A-5v7ZzJn1zmf4K{9dYww3=1h9u>FZdJ7q{>3*C-|RLW zQoDTdbT&0N`0ZpC{(XKj)Dik}?;ST&>ii4yH;jSx+~DuvNkzrk@LFYo0xvdFPsIit zm=`6ek^!DGM%}lY4^Dcom|>J7&_LOjyaNhw zTYkCZ1laE(+XVjlh_=*$Le1z7K=*1PVnmhZw8t`-h7U#TB()yr)Q zKReQ|Y>~jfKYu?6;Y!U_gEG^m^rWmlU1*qWUH&}%u@(l_tzc&>V)xIx)2f>BW5hh9bP(LA=7;=@hv z+s~_QZM>fovREoIu?OVRt&;768 zzU8I1qXv~xnZ=t96DOBW1sL`SkM)kr9@E;}!g)k}0>Q-(p1;|YDok$d7NT@B#bHH= zCE12Fm9BXl{^RHNC7wI{XZtEihM{9yk*%sc#dbq}Mz@=TwD*JmxU)a>rz9r@wbLgE zg9+G;i#1Hzw{Gd|CWiihXvo$dgxI|G2=n{|J%`EL8+g%iM_y@kM%&2S^@2WB8{l9? z*5WPb`qN+NE8N55kQ55h8pMgc*3I>~p8BlvkFuE7-knP?>1SthL;^)XSKts3(EI~~ z8V|_Cp$)H~3JONaoxE5*FQy&rY+sl0303J|Tjl>j8 zE50+BoZdDZ!2UPT%Q2qk9O`9pS^YEuZV@|rJ8nHfo_yZY_D|30oq^sLu(kf*h}|h% zXC+q?;+l!UANSIEp|mNJCs7t5iq^|>MV02>_LY8+UivUIbIPw&e`eZV4YP&QhJ}{& zWu|;jf}|<`bqDHS{1vaVliCn*4wq>)!qj?SQR}|hZ5OzJ4JT|m4@6h9eUrsuh6@8t z=(y6E`bv#@6lBIjQ=irkfG8JrjhXC|Ws#K1`AWzl z+RV-jdXx7(On4L1T;lyg7X-Q31F7NLW2L=VkCI-xPxG(r-ZzE8am1slq!p;w35tIu zmSM-!pEUEA>-VOJ9@A*1H*X0*mkyuT6_?fFv|N95ZLX^CGOCQw9cFkh%@`f zfMJLEU51VloiU8cbZaqCQ^e+?d=yK?EuO?O$lj^sQHEl(;}Y6WLZG?od!NgY%zA-G z;e*jppGcY3t26NQdoCNT7n(Cp_O%OQiU&zGV=^3SYt7CNlFMH+vv3A?&Hfxul2WXg zLVdmA6lLjvpCsiVvrVYvt?_&KVO>b0_A@jPsL*A>3}>Bol$nNr3`=7+GYtLMqTpK*|t#LQeQ~{gonO*hWr$r9;-f=6CH2vIPP~? zP3jg5s*hNMhqK4!3@!YBa_wgu{Hq)9hLOQ=DB(72qU1u~4bpDaNQ+d|+-qmCG*XHY z%CE6n@7$kG_w*)t2S=7MAakNXE{kZ+h%ePnQJWFC2hBlypulG79@(fQ8^5*Q7RrGi z=a9pJywU6Av2UMDbW^^euxQHEd-7t}!;)&qBe9(A(&wCV)u;9E^ZOJZWv%1=f|eUf z@vrK+_a9h}bk&sSNi6%!7sy6WDX*Wwir_X7e2NIn;26XAg14OE_o~+O_wLB({ih9(!Gnf`q*WYV8|a=ZEZ^x?$1gv{|!QryjGjGrm@*+8$`Q)I>57 zqM!d8Qnt}6#{^%!4S*W5*v|tK++2T1DL2nBT+aIW?>ab73U1C2pQdh%d$AQ761j|N z@1W2cLJJSStp8hX;NezTy||Ok!F^$=H?K+X2kZY?`(Eg}Z1qh)mb7`MRwg{8j_)&N zDp)yP_%WmobRcRhrq?I?n?G+jGYf%-EvGjdZRQF)zHo5mtuq;(3KbUqjA_x@orP}mkHs24sEcnmWf^y$CPk58nYnCcE#4gR4hx+p5+Af zF^ppGk3!!Hh3OO(R0Xz4D`MY1Qs~|)R|!J;Tn?wNlhZCloJ|&~LN5*PpgUA`Hal@Y zc8BA>re9*M4fX5Y2j+x0_^iH&);({$glbu(FsBMr%rsrgh{DTC$%jyo+`l zZQdBP2*D{@RSeL*KiIwh)ti;$HpFnPLK*t#l!pNBYr)-=Lf7xZV2{DXS2@{Jr$-^t zihLM)7`<}Lj1rYwBY!)8XCziVwBqi@kE6S)%}4!x#rm#NhA8ap&C=6-oOs&Stb|{n zGd1Yqd1#k#H)dZwke)a0zhK~sK4AE)doHf^zKtHkiog_IbfW4X#&1E(YEV$osZZsZ!HqZMo_J zctjSq?ff|LGOb?LxjtfZ)p$=X{01pTdh>}qX~y+hw3I>r!%@fR1GF`rP8=3(q6c&g zGX}Oe@@ZwOY5j@)(~KH9_KI(Lx;ZKcs)!L=7$BOB&7HK7xV4ZVHV(Cb&J@M45lg#L zfS~;nu%DXwvDO3(avdt71Y_2Ydd{Qeo4qHeH|T!xSvxnHEIVl%^O3gOQG=cE9eQix z&Bb>NPu6+RCV%}#YeV>lrh^>sbE5-gJ6n~CdTmsZ=EEu}@m{l}@MWBJEot{WqwQ;e zd;Z*jDyK{4+ICW*5=cM5&c|ZMcZYQYJk|x}W@!rMvp?+!CaZcpS zXn43}H!?-3CQi^HkjVwD-?TaE!P>>Ha*iT*O|(y9(}va5g-*5IE?kij`}S@=X_9rT z8WAQ{A4ej;xuR9c8m`&-UtF(qrYI2MnOMo8&2Fic733xM9o%W}opB)!%=Hnya}J4A zS_hB)UctUzB=xqaY+#p7l@IKLVkiS|w)OY;X!!cqp>qddwg+a%G$$LAoCaQ6A~$>0 zup6xRWIQsO5j(-k7$0aSITqx%kpZska!Rl+V_dHpb3Z0i8FYKLd2;T|Ay--1*tWTE zZC^ve(-$gUxg|~)=2D#|!~m!;G4%K%t)wo8ZW#>rn0;+71CICQJcWl4#NET42m3hl zPpuFXFIQr;-?WTeRb|FIhu_^W7VnUH>Bfxj`k4g0deHC~IY|l(N&A&ZP!%ZDgdpZgld8H&WDU@$a>^|7({wuDU(Et*3*Gei?rJX za2uAo;Z~tCpwQ8pcE=o^HXY5SrL6+v{=K4t;Aay-Dub*)P?|!~*9P0~MWQHhT>mK9 zWXbHlm5wPuX6??>g3nYZM!F6R9zJ`?PjqfD@kXVX(|fk}Z|k}HRpzGx9CkxaaP~Ni zn%{jtKKi<>+`P~sG?D82u0ZOS-Gi7q!5hZz!TjgK#cVw8{8BJ5F=%K*_F49ySjx7N z6e6G$*w7N40-o*&Q|H0iUzayyT9l>Yz&Y&=y}$_NnD&+2_xl+d0-8TYbS0oU! z(gW+dcl>YAEnu^CpW}=%@xTAi0tg(xa|E}KetouIxz!V3-X&?OsWhUjO^aJ+?fY)e zCL+);JC{_`n%p*nZ}eeD!%z!T-)D`%d2^1)wn}){!|+5u9?hEa|7ALdDd47=U!ka4 zYrC2D6b$WIV8oxo@P{9R@eLdXpLOW8%8vySb5QZ>`k;jC$Gqh&ooi8*@~|dLlCmFL zW{zn!d3tGH7syzYJ2#yuT94+fu5I~*VLTZpRdKycFJ_k0=e*~4-acf$bA+}SMUjFA z`7H{$w^WlVpEdzFfti~t_=FX9wn8pzX>L-v8ucJ2UbpV~yx~wqbkXQGgQ}95H}3wIX*g{}JAAeG)$d8A`Qrzt7yX7eA$g{?S+}h2 zwC^oYV9~$!$iia9jR$%!sG>o?z@jQ%2@y2nS5bTGa0{|rPtm77sSUEQARJuwKAh)$ zS$Z;6YICOFtxqT9yku}ngWi(eWum;Y=lgYv&~442)&s5oEphDq$VuDVk6$q=8f%`E z-(3qe8DYT9!${rnZemU=ZiFRg8h8|0p+6>&&W|VKv@byy}p+#=bB6oJLdm-wENvPj0*DkfWHHsW<`j(*sc9B z?H_K%yHOt1&T94ly8)Z-)sy8+a^79qpRllr-cNU8wog8p+P6=Qng4^<4*E|g;`2E% zK!2RNU$4;RX>E)48EqCkn*Mhw40*d)mtGm5zhA=&Ug?iwt}YryiZlfz_QP#-ocD9p z-~#omn>{1R!)Azt`|mcDdBl?KVLh*Yh;Yx%#rv!p{Of^U@iyz@7rFSzkscAujy2I( z1Z`){*nzDc?b=Vu5?a>#;|UefVvA$h+~>)CNp_%E7o#bY?qEZwsGD90y>UC&nv`oM z50mtSm$b%wmZi8eIabO#Ih2^=REo-}(>roLg)-)R+$>QeXR92BRf_sJlQSD;STl3T`7p=L zVT{dTW9;jf?;mjea9uyVZm;L{cs%d-|1Hg;y65UxfGqyH&;QD{noP%6fsC$UO#h5F zMs0`(VKD$IP;W3aItjs*@#UtY}39%v-SQCKvlsJyWWJ!|UXTqZ{JXKMx&dM&jnsgmRnu748|>BAhOaTV7pGV2r-)-^tV<)Ya3NM% zINq};o^yO$k%(mpj^*cnbYE_dRt*`D7s1F>&B5TGdFy}GBjzfX`+zG9d2<~uqhkNn z=c;SPlVq@`?xA+47 z#)F|w#Tp*)?y4O-19)6<6x?whTtA4_19^ zO-)>HmdaLWx54YU`@=3XbIx(Ee3c3E0(5hJvdQ&MR?C;-j8_csJFJN5IiPlW?n8;; zY|{Z&T+v$j{rVl@n_cY;9e$9hMEtQ)?aukiDXz!d8Y_XZzI`$!^DEWF-%G^McxAe; z_BBZwhe<**zCj@V&;4Bt3jkIzV~s(fn!~y+2(0X0R}p0|7q}%ha7<_FrT3iVO`#;_ zc8^khI`O{*;b_jk=*%bkZj}^en@fwBqL6;uTg6lE^|rf#d-YPlBNL$f-cZVsh>b?1 z!^p*eoBpF zVErDbT(ep716NhJPi=ehXmO+ccpl9EoW$A_T){r*tbHwY!|#JP*K~p*QmJPT4)hC@ z-L09$6CjgLcd3(Lc-Eb?QKTG&ykuyQQ99kSH66uwGX=j=G8j^IP+2kCb;a>dhJ~Ns zqaoADLi>Pfs?5?@oEKDHOzhA0ypM7sE2q$6+~?bQRO6i-$ogJcvxBHKz1<;%DD&TD z)?U$#9vodjJlV9N9#d?-ke*fgdXM>)JycYU?)!MHG4BR}MCo!pca6t0 zbsk@RbEm5@3+Ag!g@;(=+SJY@)pB3(D8c&}aR&i@>8T+u zTrJXUKs_q^e(+M~*nbWI#ANjJTMx+?!Sx3y4fhVo9~xVo+Sy)s8%enyrexGm z>>@*z*eG5YwGthwch{L;`g%KlA@fz@vE;(zQ~Dk=xj^(vZVJQK_t&ww-Kh}q%k_(y zwpN5wnzO~v^iH}ih>#?2AI%w0g$O{(P9O`K^0!NOMxtu?N6Z zgKtkR5bP^MP#p{3gZToZ;ylFl3@QT#cxSfy>}A6HE%fZwQvKQ6 z^fcA{*XmvQbW**9Cjj^S*L}W|6aC?Ga6U~2?#wJPxTsRUd0R1C4X;tq`>{rbJlLo>U5taazRA1M2&Axd%8x!}s#vOW7T>a&=8Soae z+T~`4y5;XALY<;1rzeAABw$&hA&}smJLc=DgOw4fKpu5U)h*2rW{0#7n_D)`CEp;^ zY!VCfv6GfkSvaz~Y9RnGWCX_vslWMK8B&ZzDa#8F^W>XcbQ=K}UseAMq(X4Topu6C z?QU>_hby(72DLshaICIsZa0SRI#P?FM& z8s2r}(^pG()*H6tdR+UTRrOA~3s%CowySt+;fQ|<^T&s?N`A7tO^qT!e)O<=8jJjH zV1MD#bK)_B3YXJ5louiOnG>%4I zWwSX6q(~bKMV@<+ervNVPK0&11X;~Ab9)|sR1?Rl*4~-O67J2uRS?s-dK-w?fmOXWk|fYH?q)u&r1 zoA9W-8`ylRSj=2wqDnTaWPoXu?})?Sxq7l7K9ff_J= zoB0-bkYg8~5Th6I@TLQ_&?KEIKz7IbG1rU`Rc!j4@m;09iKwj{U#H>+?3}*SKJw}Fj@DWcw!Rm^N(5*tym7vJD6ltFQv_*UA^7dL z!Pz&fo0fEt?>h`c0oJ?9?sJw?;=f+mL~JZa42PJ8Kj=bY?iwqs)WCLmXlK76O*sN@ z?t`tN?m@`>h-X{yJhg2zGC^nAPy$1&4?LVQWZUIxVo(xsDT{7zZLKN!tU8lu&mtNE z&`TTK|IlNM$Z_dNOYcan*eH3XalvTK;HH+H!ZO!S=K?Ff15sS9^YH+=|I8<9*5`74 z3K8+l_=TU7v4wlFgSgB+%V)tQ{$YLnQe&*QMKGxSW`&-o59O7FafAVwO%iSalZ0|I75(ewnOOIO!V9<|8{Omh97^->6CIUnewpP& zl>hnxhdL+R*F##eabIvk!dld}i;)>*g}i(3-+}lyWw4f229wY4LaD zf^yJ-hFLwe{3zjw`-k|l{*DGW16&a&?ugddP8OhcD~KlwvR1pFE4GoNGiHH#>mr`| zeg1X9dkgUNcN+Uw!95CgeEy$Bp@pbUD%NFpmhqtodu>yR}tA097><90kx;!jGH6LuPSOE&kk|z@a(Qi#9d1q}MkFXu2|{sndcb77O1r zQr-mk$MH@o{3+ zwZ7LmbI>5g%;h4ae}nhCElq$$oklKt%-+IL~At^KAU)CQDGrB1RQG*+iVw^IC_B-CJa^C z2c;`P{EbndF1JIk0q*HH%(l17Nn(+BXtQm5H6j(y7-+I_03#INoqtJv?b%NFfFs8; z^1^TH4&j#ASH>EDA2UAv0CuyN%P>EO>%t7@@d;u6y}cR~f;;w>0V;eit7gr4{feaT z+a4{Mb*S<;X+*>H0TpTPxeA8u3zvP5T>NCweGe*Fea$J7K2IH)|JGF`avHv7%JuFD z?75KvlSj}aW-+|+ZHXtj^@)f7&h^Ax_<@3UE>DvZ_0u~OgVq0H?{x{eLclgor~!a5 z%+Ngawvuf`l_r7BdI7ez2k~EF1WWP|>vk4ynjtR#iL4d~`C{8p)m%t~$zg-hQND(Z zCXSHycj`%QY0o7U+GnTmbOOMust*T>q&5syhNS%d9o`D@wQymk&Eu(0;EKCj^2rt+ zbchU`7q~2HTF9nDH z(Ux4}mSH!Cons`8?i$tUMMlj^KD*p`ZC#oEeJi$Sr~BD2C3-27j9<4otTIR$3_l<% zhe4T8pSQuvy)E8hxwo z!146TDATQji5~Iz6QjJ78w+=LhU1jr%&;NR>7;Q1VRk;%K4uqe3MyRMy7t{wUZ z1O3Pq3)b>h@lF=r-X`pCpT=a7V-qqc5p2mY1u{BZP9f<~ioxcDXHRdX)@hlBX+nPA zy9f@cUpQag7hf^PxbV@xLMo_{lQLQh8c{kYp)I!1xVlV8n~E(aeQ9UNGs6XgH@#O9 z2Gb98N6HTb2HpWp%`WEtt?_gjxGS~tEo@0rH+=1zZEsM_mu#l0UAAYSg^DojPCGp2 z5RGl1vr89Z58C*XQR~^)xq>HjvvLvs>nn5LZMrT}(ycngj4J~|Bg+4&%d~P>%PUJ1 z9L#q~$$R5h7kM1387J$X9Fkj|LvH_mHRbm&CKp$*3|JVcNar~UtB#6_IZPQpiwKJ` zN$DU@eli(pBlvx|`E*rPs_m%a%AthKBMyhyiUjdd?r4WMzAO2-?|g9A>j}Bqx7yZ_ z`=9nil6$V$9`EkI_TrZ8HMQUJDt}goFBbVYExbp_ylu0o{&K+5=iRUD+`~>7bJXE0 z9ODpE`8##!mP4;l-!l$(J3MV31GF4^URUC9ppmw!b~MK(Tf`n2zw;1D|sJ2WL#gC&rK3 z72Y`;Qd*~#l{R0Tc8#c27=xHh@_LU__+qnh7#@*gL;4v4pcC@0c&w37aRpW^q0WE} zs3z%%6=XYsbnAqWO{@G6QZh2(ru?*UNa^JH#WM{L%h5&L_mt}grY3P6+^1d5-#yN1 zjuSr%kREPJyQk4WcFuESw1c=Q(vw6r-+>f8?7Ux=D~9UbOd7?TgY14z4X;fl`%8!i zp)7;L;@oQsG=s)d%sy{1z72TdbcS2HFG1>S3n{djMOA*^XLX4DYKNruVbCs5H~*qx zl;RU{3j?Y{mywY14DCe2y)Yrj=6_L|Kc~NMu1?RiTD8$|Y7)?CG3|xxjb{=Nn2<%pRQ3KIdh~>7|_# z)c4~D$PJAM^!n+6biKl^@VTP7B(14$3SL?O3AVc7~3N!L@eZTxTQ1J{T0^|BfWoO~tHP%(FTEZQ8mVKBh13*F+J0NRH9f?m z%rrkl4$Gdw3-z&PJ8BiRtII%lyox^TOW>Y|qvb5yI<_#vne3?xn8Az!fP6rjAuX1z zLCIBj$bCh98?ipopgZZKKp~p5^DXV;Rqxi_zfjDboy$$^a9`ThAPh&^t5cISFL(kl z>?2CrxdTs9nN z9rl5U3Po$LO8sG4?9mGipew5wk@=Wb6H$ZY9n`2DA6Y{9U53$O6&W&M?Ei(i0qggf zpr9&^>%&sRNP=Pyhd%z8*{e9xYzF3IX8wX8mubla;XC!_8sz0#SR5)pH>8cz7~SI z^Q^lDIf?r%G>vs!Sd-b~s{M7hYNW!(jF_S(Gu@j-ji~CI?nwx4fK@Wjnyp-t|BZr%3loxtWPZp>OACTMZ zCCnIA$=79l4P$GM@f>%pZKoB{oVj0$IUdD9rBvH@Pz|ZFuqgJlKR3P$JcuT^{#Dm; zEK6+u=><6RCG?Vfm2Bq*W2C`!kJMgZvK9S3U>B0EOw_7>$Y*%=k@JqNoC8iibCwo% z4Ltf{7w-$uS#`>8Oif4@4HO4+<8I(4UuFC6ynd*o zEGAPgw5#VQH8~tr6KKb$Jt&Z=jYuuy7C4o6##J0+7dsuh9#l2JeDAj9D$=Ys7Ps7? zBuu9D(~^i;4YVd&Uo~{&HXoLXeHL2x3k4-g(E_~TJ%beDdyOh5zaKmE$JA+9!Q~tP z>?Q%3>hzRpqdM;?aq7U7z0<7`+vtLm=fN)m@|3)QyeL)W-!?Z6d|#?0dh zSvXsW*QeHKF~|-Co91hTZKvt%U+CEvE5@ytYV=}P7JgX5y}@tK>+uo?)>vz_pg$HL z!vBzgm|e)d`q1BD^&Cm+Dv`@w4t~V_B2Yc3ToLt0C-vD%K{BhiMJ8yMeNW{SKG;If z;Wv)Eu_+Qjl=LdQ1zKk#`S|_f{oCt>ho6)(zb7~z_s_c+9$9gE-0fS>k29*r2hYIoZUMWCgRC4kXjCW|c51y#T8VsPt)g4d2 zcM&N%N!~YNy(s4bI2+_(jx*EV?9t1m|hS5!~HYP<^i< z^Imjh|Evf5+x_#>=>g&6f+P23jC8;<;wV+TNT)G0m<(!KgOumis@Aw)aDYq{}I{ai~3xqTru~Ow9dkw&EI(%o~vwdY04P+ zFi!6~SFe2TmNY+>s`MlBJF9|d1@jm>pvc|N1N`_Cn2x_^tu|woBD`UmdDOf_l~Zzl zc16ZIMOb&WzY^C~L~LRn-v3ZS26wPcYwf;L+dw#>?dIL*qf!0E&}V4|x)_D|_<^yF0ni#A ztM@UDVmJDB?U;~FNt9YG15zW>!Y%Aunm?!Rt?n0A%8t@@V#g)~Y&)*ih4R<&W!67& zH|qLzMi{9J7y9N5*f@)J=nc@wH$wGe9>tEeS zHq;zQC^qX?LGEz;d&aOs&j7&^I%VP9b-vOCwrOKhTOY{0sF^E z7)RVi02)?VgN$aAb`_PR*5NFlAz|4fp(WO%RW5DQwO&u|$(~+AoCMF;xTFzIS%gb< z@r^9_J!So8W!|DyCmW~8B**IjmuO;C0je*{ZZ|6d8R^}xnjd;^xjZ4B>!b5Hmf%!Y z%>8p!R}szUCUs5yFUjD;L5In_ioM~pQfoh3d+fJ1<%273WNdF4<~Q2?8s_!(w1 z1<%#8?&dy|eut?kJ`Xz%N}V|$$9p#TdCBiQEDeM6qYTzG5wP`T7v><=qCcSzQUm>G=bS#O zFrW1tOfphl%R?Eh>beSSW#r@5mqllK&3*jHSKJ-~%#cZCdl3k_c>b(N! zL8(`(yQlj&Z8eR028B5Mz^Br0_qmK(>2CaEUUo$JY+0MRznFruL5im9zY_r4ozv5; zF-wHL5C#&IhtBVmnL2mT&GW6GZu9mQ&1usc-m!(-JC-Bnyo@ zHK1jdhN4IPF68sDnF$|?kwOvSuCSeqbW%nXY~y+tDYWYGJ;|?PYdg;BN!dR@ObRq* zcUl8{Ui?lmhIFlLBQhOj%wIw4vff+0_6rC^N8HLefq1GrP=;kmVx=7>sqC4=2oCvr zQ^4AN7qT{H=0qRsr7$xyVcl#IsM}YcV=PLV_F4M7o{O)TF%Mda6t7=^185yIkchrs z0auWrP~8RjqsLiqx*0cpq)En;{aWDO!d_X)23huN@e27gn9C{!-_&m)DCTiQH;296 z0`xwG(_!rViLBwe^uoFScs$*St~rHpTeM97sC><(B>v)~F@j$}S;NjvJ+{I4M%-YY z)CW+_h-%)OJ7^nhEe#eP;iA4Xdr|@Qdd$TCqQMi%_BOi;f!$#__@LjtPm>1>T_o)} zYi19k7`?NI!Z@;@Y8|OSaomvO;oViwYwg1o$hpk^bgjjWY2$h?Sayu->kG<%c*ygqQlIW*Yj^HDM}OK+PBPZSRGn^mPvFRT@C1p zxpa28F;5plJu`ScbP`_Y4wdS$zU3u6JUaDJK=;@`l?-SkGCz@+!8= z^u!))bC!$(cej#D*Q|7KnRHLqFk3gL4w*WV|2+Rky|#+v&Q*sa^G%1aC9 zO`cgYZdf#35``TcbY7R)iI{6Dk!EA6vMh)xHsUi4vN;@KMfZri&uvuRf0V8Aij+TH zd&-dCk%AA=7WCq`c>DWQ>N-TTX{F)knnVNhi-*sFl2+b0Zvfq9FNH$aKcP7sA&C>Z z3|+}&SG$JV7}XW&DkK6St&6=eHYT4R|JAedRzm(L0&EO&u|!3#om__bgL{))0sq|C z8#9?J!#+}*t3M+&lOxl3hU__Us?}-s8e5-hKk(f>-!s8$KmI~+QppSVZx&`#>vw2Z z<@FU}xBSi>*xt?8DKmeeqVhpx)g+r2x>l3mP}qmw)@{38viS_!!-(vye_|$~XOqM; z7EGx(Cvv|&)0&Om6X~yZc@7Kw=fq_gRfnDj(+lvkFQ5Ha$ZM)V?@W0LGb6eXBC77g zA+@k71Bk#?p^qojcCR5`g<==pIdH;@@HDmEg_D4Fd$r|*?ur8c0byEXcQ)M8m7s}e z*>h!cOTxsTg_6RjmVck5nzhkoLKv~d-mKT$hg41P0KgW}VY$2Vtc0%aJ-cs;~D2Qs2+v-Ds5Bf^4mTu z-&XGMjH8N5UZ=C7V0ldJE~btpeQ1WCq(b;x}H0h1{&*E50jclaFr~betJSDOlke`+EFTc ze#oQnLl?H@&T@HQ+nl-q;&OONQJNXF>f5(xwt8QOc`vEXv~k7=?-SUil=5W5=0qWA zw$UQ)rQ3q6*KV8RGL^mwDX=haW==KOW{Ze%{SgL(7Z_A;>wL?iuxaDAIn_G$;DVLD z64IdBfd@0Xpm5Q9?_9baZ;K%w99Sv)(Z_eU^w+g=2gtlebdDEG>ocE(_<*t?pWkLS z|Jp_x%iT#GcdD&rGP-qT7j}yp=<1<#fpO|l__d+Aqi|je5QWOLYTJ*}?z`|3 z2C}Bd>_u}3w*QB9%&38M~zcvx)tNYfX2pGMSTM39mF+*0jrr&N%`|Zw}x&ybL-Rzoc z?h5#MV{Dy=&DLKKE-4%4i>;oqkxYx#lLoA(VW!3ru9D~W(#h+yz|C(N6SFC07ESK~ zdOKI)?f%@`MX;}ruvuoqnOSkaW$Sruq?MGZ+lh+05B9+_B!znr^|F7(qMB^^Vv6eG z(z2uiju#UckR}5}J_z$x*2$d1Lv(gHL9Yy^1!~-7h@*|4*4l=y(k!rAkr#J=G0-wXxl{sSjr2>Y1AUi1@lJDx1#7U2(2rD_*};b3uC(NbKfcTtRHTwx`v6mE47>Y|H;+Ud zlA)i=vKcxU3zc~nHkG`uP0l`YA*`<9=xj)s)I)&#j;LrP#@|GRRk?$@wtLCl=v%@o z^R47}E83!6#OtMEmya@AilkZu3cwu5+m6ut*KU^{`*HEnth9DJQ)!Ah`YT6_dU)Tl zVt=8G7*)xoS7fMm;99l7gVj&;_&G%dm)*bBaJ}1`m#cx-Rkxe(U$x_I%lI#XhTx>UPD-Q)gfJgL@LQyKypUzfx+PZk~Gq zdwg5fVIQ68($;%T9+Y!*oO~**gc`l2uCR>ecf~u~XGZfXdjPg!!#vJ@$?x^mV67`T2W49@$2B%CJ{*5; zrRQMQV<8}4CyP;ye48MKw#J}E)g=?>0- z-QEF`c;x3EQ9e<3P{?L7u~FiCSDMV!E6mX`CCi+^@e^h5cX(g-UgKZ0{vh zg20X(HR^z$<3_IqHY`ef<>yQ(ohglYNm<3oR-3P}9nVYag~D%{szXbo`IC{K4I}{I zWrZ;pddY#4Q6#-PKvRZuwYIsp*?*mq!7#eOADcMq@X1>$9;`SNhM01{k>ilh;q+UZc_@D1qZDOH0wL&IDJP0`=G8W{CMd;P@gSAz{me)ngP zo_pF=rAc1fSq`AHbju*C_Eqzs({w(2iFGY=G`|Usbx=8EjkZ%rI7!rf3OU3t-I(*C zTDL0DlrcXV4Z@AC<#WbU3?6JsD`|%JM{QQ-O0S=db-O|Gy-ZlP=tt*m&Ixu*KhQ)p z{aJgf+gI|^7=CDZ{BW*K7ka6ejXZ7!Gp8rS9(0(ujM<7k-V3H`Dy7j&AkRTts~=y$ zxCMHLW0PR-1z#4-B>FK=MzBL}g=>wci-G6x^k|Gwq= ziG>KvD#^}sp6G`!4Vbsiv7M0Z$`=r*??_RHskSd;8TsgcJw^uYAxVQzJ!cxcf7mp<#{;3{_J*fMy zlN{xGFB%bmd_Oj4`lzECv)(2k$JjjfW_{EEi6^7WaO=k;W?H5?EE|-&K>1m`tpy{^ z^F~VtPa4ExKt1tOX{3Some5%Hl?>dn%asYk>iKH(0DZ=>&HgLSZ3E9cfvY^m&OY)z zRUw0QV9%bJw?`}$O>IW*#BMDkMXavf8ju+TTKrQX_#}sFBGSKO;Kc7J>Jf;xnZ$bs z^YCt$Vo6TFmoIk1|9=uu#0S+J?=JtG72-0lag9KKZEdS#s(?uKH1`ex+vfa8QYKl< zWJguPAKv9;*}s?xcDVSv`*>$zW7{red#Ib#bqSwbR zV&;Jqc#gC)8|-TeJh)bd$T5#b8n{kJJ*(&W>=9()X>BE74BaTAN@`17gge_q5fo7h zN7WevDr6)4$6OJE17L`cp0I1qG7xY`54XEky+Kj(-dT?$p|p?gT(Vg4{QV`(RYJUt zpqYJZM4@}*jfAb+w5-Nn7;3nTT1|^52$Z8)&_Iv#)0A5S_pGJ2V3w+T#uQ8 z%pY_T=Ztxoo&gSUAYp!|vTSG%ZwWCbNlxc`*}WhU`zdH2_?s^#&NJ>yPtzU$0J=+> zTZ_Ze{9Uyz`Wf5*LEQlp?BSX;$!BAi>N!Em5!mv*&irH1%d{SwxWXb=IXCusbI*~v zzsuKJ*imcKcq|E7khWm4hv&K2ln;4=-{v%=6{t$oC%OS3xxS5!CM{pt$uHCuO9k%v z`m|In)%as&Hrq6*$uc7HM`wu>TEB9Dx%*!WkrOrJygD^8IlO$@$=L|u{}G#Tou97? zqj84EyYr?Mxv+4a-v_^TeCR#Dxviz1IMRx7A-_)rNJ0y*w!F6A3AJx29Z}fZ0>_$g zG(`gobr&r?l)~xpEKD|IoSO;(5yWsJyP7KTe`~f3p5L@xLp@A9P;&Cz3iV?^M={6L z)+FY5Ge`5#+14o!2fyo`PRZTzRWJ3Bt*AWhh?% z#_|%rx9HgoRAsFV-2G{7t;h=YJl^^__fQb3;)x~%Zydgb0K zRZcBIj>UA*w7;HI}9Hnv3b@uDb>Mx1>pYL_YN1BS)v3o=DXC>0Q-lA>k0Cs^C49bU>NCM*!J81S!B=DPd5L@uNjbUrl$yjy=P zE(rXv%C9DL)|sQQ6EHgb*PFXL{h;03*(0tx#sXYx?=!{=V7D@N4Ve-LIr9{E$mFxI z90!q)u?bmLHF?w;_5yeN0vaPT4BK2}c(2?|GXT{BF$$|6#dOLvUhGpbAPZVjzdc_6u}8caFV5WmtzBoK0?aYK*zk@eeR$RT`WjUyK!z-0 z-gRf(?1?Zg^mgWT|G)i;3UWa;oKIs#>R0;dwhRK@qX%R5X3&hwZ60xzkH(Gc1TgM8 z96ZMyKo=<2b>noB#Zh*myzifFB4vxV4HdCB%5R*HdmUkG_m8>FdR+XqUSk&f;rEh7 zepY|?$LrSxr^>zUgt>bV%{PUJ@Ml5Wvras#;mCHQcE64rG@-Y-f)E^{!-J$q9f;t5mJ0aRmh~|a85R%(ESt%MKp{qA_N<9gX= z#4u38-a|#@*#ENQ=NHoe>)l;+?EjFk@(na*|9QE#bJsUn#tFntdWHUjWbTPjGJ=!JL4Qf~e1GgNb9Cv3tFTkt=GM=)Blrg+1^wC>55 zjkUklhBu?_3>=g<+gdaYjE>7tO^I4NXX5Lh;A%~R&+1z5aMMP&Ga{%7nenq$AZq^H zCtU*@(9xg9dT^YMK}^~&NK$w0Qt11=E=gjDPWDP#ef^Y0-pr=KbK?LEZB|_y=r$k) z-DW4%m3Lv1KuB@nj4ZAXOWEOq;n{!LctxPk#l0?FmCfX~uhbe^*v{JxOs5UVdqVb= z@V>d%WI|bJex>q{f4t~F_rArdI~rXt{PY_hH?>XF{dyA;d45xt0hD}v3sMQle-_>O zpZov`a0}AmqziOw={^4;;)_rnKFCkEw+GP4{sJ>w=^u?fRYAZ;JdyCn2I6<=N{Uc< z4;yM~Fbm&f;2)c17cxT=&`=9a7qpDXhU$5Q0q9Po#c}ju=vSgmoN7QP*e2)_bb5+f z4DW?VIWBM8bWL+74g^`~`TCv5(LS-?!|Q~Ot?4l^SRh)^ZfEwa9Z?K=b8|cHmST`Nw zIq`*2?9SaX2iMYM5fGel{zM*V(B3->z(B`;%K-GX*S#)=?hPTlnYzXqY)ZtT{Y2pP zJ)+f0zjns3617Bh{SrtXVm*R*^JXg-@?coruUs*F@@teC8nhT?qX$Z}#)0c8H2mv? zUJE48T28NssP1r|wJ(YVO04qre#8yhc0~B9i6ZM93JbJrn+D{DpQn4=kIS3VA!?6q z)ZS*=+7|U~8nekP_-(onXHdydKdyJfS1~92az{1%n=YQVxa?R9M+_M|+S{cf56_bbu-Bm`f_onjrK?p!^+^y;_~aE*pG z?<&UAVO!yGlEWZ#dI*cn`r=R?<;9poXf|@LTe=KOcjRy}d~bMtXnfInudnZS!D0e} z9tOriRkjDJXMcHq9oj|mH~G9Igm}DIKH)>~!?N4gg*NS6i8&}W<};g~M^@$AaN<+P zgIT^JM-NRNf2Z|E^_W>=+Alg!@ab)#P;X7aM4rxcPL!;%!qg={Jrwo!^DJZ=ripnz zdLj_^*RYhB(z&hOo$$U@x~)z1JpPXB@|g~$nvjc{`l-X|vo0s-6s(0N?7CZA1m<{l z;Wp^bz5EBqUwuJ zbMZ$oAGwt?&Ib|e46O|CcnDfcTv^!rLzPvusNf9S*B603jf7j+1f5mffoevrjood& z3BHvw5p_pJi%;Ci0Q2JxS~Q(y40o!S8Q8A(5{GSgps>1*X@?=R58j7XUmo5dfl}Sr zKnf>7$H+oO?)l?J0~e1@4H#?$Hw>~%P}Wq)u`~dG%c~oHCrUlN5vRH`^`xqUaG--3 z(-H*ZJutDWKR;#jX!w^!cqKF@#EgNVT;_$=Y;8D*+QL+s&~JomfX&$C>H0dEVm9z) zz$!63UD29(UXY>!oOV*(R`yni*qr}x#t3`yS~)`-5nSoX-Z1k>1K8ZtVMQPKe-?mr z=D+!=i*Y$~F6FI>s>E&E>d;74TlSgJ@i7ti+umhwN{w=~dVhJ3w+a{nJNxV{C$?ew z-`2+3-u%0AvpV^{rcC?r2J6d9Qkjf9{YjH?l@1PlREL@{@A{q(3jy5y*Thl;gA|3-QBvOO5_ zc_*aIa}X0UW_#8Ekx7MHC!jg;vVrQnCryUHv;`MrXr%lQ#|2&F8iKF-#(vUb58=uP zh92+3o>;6H#7B;vR#1SiM5d*!1|+1BS7qFzmq_ZE3;V60ZDXp3>E54Yus_+8GN^VR ztnGJJWS_qv%g+xCtdXfr7}s%3j9l8Fto}%OecOI*lvrmwDiHI5nO9!6vhP%{73(!K zcT+)TSFFQ7qpq=v+q$;meh;;J<~%W|CPvN7T8hS%cxt>dH~&Y|-CpakS+njkh4Nyu zK$;%I{c}8TxhVv{IT`lu+G6f*BCD_A8_`gky@yiNWBoz!KeZQ(hkWrDYtTd6ZHNbJ z1a5m{PsXv&+m2c&ZLy+O*gzSdHPzZQnUl6FRB5tgh*T@+f=}hWv=#ITnVBe_anjh7 z+|8E|uO0(QY0?DJeW@ebXlM=ms^kUxp@FOOC3n&*_!e=Tl!DV342e->5{y*Px~m=) z%JA7YXwRE{G6=OHL>E7M<{Mz;3J-G55C_uMbWoy;^ZQ5BN=~-Ffnc;wsM!xLzA^jy ztkoEjk7f$zJ6C1l@DqV}QbD+*rAn)(Y*9#q_7~ZYvX*!;o^f*^oLwnX{SmT-3p-&6%I(#)aDmhotNcM# zsk%B#P0l@Dbg^J7!{-L4e{1mz{=;m+QkSazEY&{A3S6rdSB++|+Xs+GJEXgOVtQ6Y z7Ab+b8w=}2PHnH_4a%3-h5|#Sy!`%+PM;lTeEb3%@WRQ#e`_7=j;kn%e0MB6x-P`8 z`^xl=K`tL`#o$>&L5wKe#b5^=M+?wyobe>_Sc0 zg~6zT-G3HBvO7O~UDhEhl&=1}!W2HJBqj7C4P!1hEI|7E^V**SO)Ux@FANv#Rp3j@ zMbO#zmuOQ9wt&L_iIGPwQUkXwR3T7Gg;m}b3}qg2;Qwekuc)TBt_`aw=%GYJ0ck;L zdXy@?Bq9iUXeufoB{V^4q1TWIC`d0+T7Zb0BPt!FLjr^rAq1q?&=PtLB_V8-y zzF1@IHP+s1&UZe~pYF&i0W1Gp01paYc~dyi@78u1f_hGCE!@9!`@>@(PwvFqs2xpLzo&p+K7j4@LsELJTIAFH*?c%D<#Z4i^& zG;Ps-*d_LN14LqB??zqbs`;N%{AEC>|1{GBwEh#}+mdsRu(c)z+Haka0SBe5kHV=@ zqr>nv_K5V+q5dAQ`&h}1JFK@8iTEs>G{WG;^C#ajTlGxKH;RAr_9vh^PR&^B0+-LIQ6@f zey`r;qQB$K(G18BepC^!?{C*iqy{+P*nEi!xZbfcSYNiVnsYWIS;lBas zL}$6(eMY0ySMs>Lh2H1tD$1DI1OOWMsVbp={rfTe{n~VLnS`$M01`Sk8y4=7ifV-1 zkvY9KrELhwhP?R@C4UI}?(T+H{FNDm_c}<^vUm>-$dS-FKYe^j_ZnWu((Hc2>`m0P zqZDLDXbnC%DiXdL-Iee!ynlcY1FKj0Z>{fT)h;#hHtX;AVB(?RJL*^16dX^#e}eUL8{m^3?NK6H5yu5wWe0{S{y_L-YnA~@## zn;5CBqb4@zZI}3{nO+M5)Y_Ag1Sx`AYo2K4;ymfdY)bpdzfh{tj#HyqSfssEbe9R3 zx%)f0g79>o8{v;4s#3JUnVf9Ojkx^4Qakczjh%HkI{m#cszZ4eaW; z^E(~ksY**N0rldKETFYkjWIgyyGRPsi?J5>a&^)fGA-niIPnW$Pjz0Om|~wB7k}Av zPb7fKZEayaKa^aPJtQyivtrsKFcA*Y_5U}X9F)x>9x5R7JKH0b4E;h}OwpTIRkeYw zxtlgvKGbv}8cG%q-|Oc5M3Yj1D|MBW-5LDjR$Ig%7K{at;2-ZT&H{}%=MPM-a~0BP zi<(xeJR3z;&(hZhzC-IhJfO5Czh5{@((bM6Niain(;0iHvZT?}9uXY#E%RC}VO%Y_ zUsrmf?P-ymrp!O41D;}g_hF-RSKLAE?tS@JW6-rR;<4eoAMRp!{S4KvmS>ltkIOJM zVrd_LL__Q>tHKkLjxUJnifuKvj@f-TeH4iNbmpdAabI#FNv~&2AYM)8V?Krx?zBP+ ztFdaFU36UIZ5q*}WdNyBYK;W+d`pxEHbw%ZxCyT2m0fLz{@3hBw}gh^#&oDv@w z$LX=kvSDrANryTs#blX!U%Gf8*{X8jM^>1`1@fFkl<70NH|FDJxJk#N;CgjfqVY3{ z3X^Xtkz6L#9@vTcrdM(XJ%NI%K`NANIF|Ivur2>DgaG=m7CN1i&7;h02lNcA`?J(0 z<*Wqsoa~mHmz$?H#;Ub#V1|DCE;?78PH=bB#>s@%&$_SxNIZL>d_xcv_pP&eC@Mw< z5kOS2av}Es;7??P;%WZ_>`ku~HXSUKQHl{;WxPAG;N@0%NcKmEIt_;}YTf+Qd!h=S zefYc{+XGuK4>Mlbh@#lk2w+piVIsiNmUGCEgI1A3L zDryh|x2k9&SodGMH=N9=GZ%SZ>*SjLUj8wlR*z>CFlw{aBnbkr&IGg>endv5mSyj> zJEUnuo(Udok8zLshq&@eZooY$f)%uo<#TtRj_~T7*Delw(7b6Cn*gnSbOeHl!JQseBX*!%h05 z>B9RKF&Sm6IkJXJQz9l^t9vyHU{iwT-x zva4WiMme06y*9C|BM~X>uR$k+>PM#aJiVaY30(XF%P8TDic z%Y&p;Fll!D%4ufCjXDyu;=4wfw`Oa@mYHAtVWJgr&hg1J%a0lxEB`*fEGV(e{1~{k z-uKq^-m5J~%Bn*ic)VcxvvirhH*bNjI*$E(1`Z=41Z z;%zF{_Mf^Bz32GhLRXKQDA zq$u6cFgj<+u==`0x^Rp-J`YF!vlpj%&lRvR+fPdq2`6?f8eKk!FEIIDrl5e~esz3# z27S~yseWBroNs$w8Vlmv5L@hGlPQ6%I^e2NpZeXrllsUC`D$}Rs04B2lQgWmPyXq@ zZiQuzke1ao6H__)B_T`MR(FOHd(x4`nu}Fer>1VH^BLCZ%r+-_?Z^S=-kV9% zSitk6#>y~?v`GcMO500UM!;c=?cY%2RbvWR5L8xNb0^g!W}&7CX8>2K8NakOKTK1N z*xpu)Kz`P)3G{@WJO(E2_MJPEk#jnD-Oiq(h+$-$pIta4xBt}|5VGq~pIG-8{CW@c zpXgzVrl!(f6ve>VCl*fUOMl|wp%#0++38q2E}FZ&tp~e~xv=59i{fs;RH?KjyTX15 zVvZJLK!T?3|F}WrB3we!dV5yZH(=@pR#S1ZH;%?0=EVfVXV}lIgbDD#6XW|E^HX-p zg?j$ozaBMMcz>+>th}oPBuuT)?T=viVjX=-`i5q3J6YCW(_SUNijSy39|kksZIMJY z#lugsdb?#es_=x+MfV2WFfiwlPsa!5O2lT|sg0;-rajno@I&vEmj{sE>Ki5k9RjM@ z59=d`kcD#FvcR}TpIw@l?*hc;>){!DG$syy@;FAso>R!PIwMaFAULu(I1ujh2t(f_ zC|+(o^2kE0?mhXkiEdgFaQ|uoc;!Yu1Ev$BY#N!;-`zf75IN8`{3Mwi;&JL;^=*GII8v^tp^#O=2~DBLu`C@3imj zY^O%`yU;7TeL;dFaFdsB73&?1Wu}<25QW*oyca*kYOG0p>AVkHx(;rk8Ve97?+(e! zI%8FUTfm>>lDFv04a4QtuERyI#FbFt)Wrn{+&r7Fp1-`s+F?sCORAz?=MOlj#DLzl z`9Vi*%XS9KI15q)7qN!#0Eg;BZ&WGne=nK&L*_^v)~Z8u#_92RSZ>k3?+;YN79dMF zrYPQe3fbD|anBU3!w&S=EE&Cgw~^NX%#j0eadMh@H*E47#^ks*1(CRD;8tQ==g>^iZ~w@~6tcsVT?l#^bJG>@B-vObCFF;i=Jn z9`4?rl-m=4c>O5QdGJ5LH!8y+GUHOJ-P)VH(@^)(%&ne>a?)KiH+I9N^+u3rHDJ(J z1Ejh##WthR;(#qBG4H6o`9$I-sNp8`u{Rf0#dB&arZ22vqEV;Pg_$`hvWkd%gXY zau4FN;H%1+&WU$GQXH1(>(->zf{b4JNS+Fi@O>P?fJ)Yb$S{wS;of)K0g}pc-9aXHE5AZ8Q)+YjI0&5^^Azf+e@pr(TgmpFqD*3#CtrLO8wXA34zzjo<~ zzVDk+z-P`T^L~OyhZ40{^E{3xMznU0D3|*5m9)S@OVr000nQM`lgIpYEQtq!n4%-r5^`H( z?^tHxvuRV~Rx#nFG^?_Mcb`nS!?M=)s6)O#B@jeC-tE?n8<=3TK8xh%L+Oo|#!&8O z(GV9F{WbK=lYaM*tf>;I@!lYhF&!sK*n{8oEP0 zF|iy8_(un`$VmXO4k`gvN#OCRBroo=76zK9j8As8P7T)=pBgE^_6j7n0IYr15s;V%)}28PQnuXVYAnyd&u8~<^pX6P*bfhIHN z`7^J;D_UBA1msoz$_aNqHE#X|kG*d4ezQVgC^?BBWPCog>ddz;$xR`?-16qY+ddY1 z3b3=ne*YY)jdLCRnS7e(sV(!{^vKeeP^+)hVmrC<~tNzKAN>I~Z^TCG5Cg!ijt_4_tpQ9cpT3u(sxsbZanzb`Fc? zf|`-(X2&whKPD2l&E~`{TrpvpHm!GNj#e0lr@hUxceqa`E6N%82^0OytBQV{gJR8#9Gr&l;j}g>1+FYT^Z~F;mgXup>Ie^VP|JOnYEb$sL#xZK4@(&n9k{yri=i z7q%nA7C&Vrs*yi_nh%*5JMHYS?N+d~q0{Dm0EYJUczsA{X}Bc&6%IB+{DrWPq@KZ7)OoPe~c~ACA6{M z3-f;#b3+IgFs0Qb1)IL(IDi=Hrv=NbcSS&=0`~~5)?3pV_}^wZ%Oh2w_J+CpOUQPw zmnv!OKnSnfb6S}Z%-UPekMpa;f_~i%7RK(Y@r;a+4DjSAI(LZdsA+OT!b?82CI2l# z2aWcdrQCdyIi}1qkce4E?F1t$bb8jevU|7>kJi*k>G5l(fx8Zi9GC(pr7G*DsqZO7 z)zL|N8Fyb~h0S_hjv24bQ7K#nAm!!jU^ktwCcLbOpyP5XUe3RcYr5(lavB$DFK!($ ztePq%W)F~^HNUQ`a*USb7BVQhO3(UgS7WtXd_#hLOj@>OT{Xa$=UH7NYQLB5aT@{a zGSH-~nDu#KK$Z{2G7D-QM05J+I?;I{lMpPb*d{@unXS91agDEs3TkSO_5y=z#FY!WE-v5K4l9sUS|GK>EF%Z@yoxGs z^pDG(s&p6;;Hw}0T)@<#(mmelFUn|X7nt>*ysoSJ$-8@$40GLo5I$BQ;56Bp4e$P@ zvY0ORd$8z&rzY`RJTIuBG?_HaxEN+TgA0OfuSTs=R)MweRQz0pk2NHsVfg^$Z`x5jF!rd{;GDMAOgZjC41BdP)~BY z(?{EH-U9n~=55KEmU|HMN}%viFW-_KLR9Z8`psPaq>rCwTg;1IJo0bmmjM~*))b6y zkT*dUcV(}Hv%KSgqRd;Cv~l7e#cYX2mVGl+VT8n%5~lacsmsA-8c${>*`(|PUf0W; z3ET9h%cSHnQ5=qV010N@XN&26JeG9^Sx|=t;`9UC68E8mv$-OtT9k$tGS)zV)^;pu zvTSzlkcwX!$p>L`3K6Fjp%FPn3UU8G81;KjZq6dQZ1D+An51KMT&2NS&H%#ZqQr`) zj?zt=iW~-Z@*!||36A_``Y8AK0DGLlIuPLEQmQvrjw8l%#34Lq_MUF4#~5^_SO~u4 zx(>lU4))K0{Zi^woD%KJDwR^qB|3DLzO#MuV8Al|*DU3trqqVC$FCC#-UJO9 z8+e8WzGQK~@F2F{$qATve!uo{#NBb#J3>G7G4E4)2OlEpC^gFuG{E@?6rt*#)|GNc zWOkG{X0N&MF!sErm+zQO`BSHb=D@53#;>-tdbvz5q%hQ5>SGH|@@ZrcQtQ>peigz$ z+;VF9ZJf33MI7|rx^x&X%EnYZ{J+bJ13($+`VR-$6+PEc9D?!=iSjXDRemVbRw`4Q z9+p&Gq=)#FAs*IX#EW;p!nS`H(lQ{l0SNp-%?_aMai&Z>2Vzkko-=nhZv)!)bWJxY z@gs+-0-aBcekTJM&0!BOLhE>_csZ_;(5viwzPY46`O+1KuCQQLmXu-Noo~d(Nsqoc zHH&^-Ih|{`TAEJ+ffK!cC9x$&Z~;V9D^P$&m?_NX!N{vf(DP`YV=J$ebu@2OtwU0Q+rD8WMfZ?(7D zSb4-6p8yXkzA}H0LUJLAMm(?|+1%^s8XoJ5$l@6-lE@qH5K&Q9rdneJdh5RMn9i>N zyYF3hq}QdK{JywXnCp$X0e zDk0|OvWk+Y%LpGcdn0HU^HdhOzi^LM?W~r$(>WK6B8QiQ4^lp0yNU1OaVS@Z=sBva z_7>wL2l815(g}jZE3uAgPfUB&9B&!a{+JTm5DwEghibAleIFaL_)&`P?AqGb5gIbB zQq}#EU>%$I`qa#?U2Z4LgE zVSJ~9!6D7-&Z5H~lnkV45Fi1Gl>>gn;o6es)`R`uyIA|ehTFn*y7pzwkW$ILKRoS2 zvb247N99((7X_;P`77rLFTepe6o)P^8V2svPVh*agEy!steMWvs~?ogn_`&_U}#>+ z3dGBJkaB)}Y0`QLU9z{?y5aqaPt-Gb1*O3`NVkPq$ZNH+|5v|FDGt$D=B7!ye~mt* zbLTeH<+O3RkJ@=0ylY`z77i7$h!>?x)0wWh8C}7%l1t-;qg1ko0;$F8+No; zZr-%h$~CdR?x<3%*nBkAUutU5&QTz2C|Mn2fvFhGyP#jT^7y%n@uhHip210ZK$o)7 zwQ=8cf=Q}_J_iq&$Iq~GpYi*K)0V@gn5k+*vmqcQz0BiLSJ?f%)u>n5ZIh#2dTR9` zPYp2J3nT5yl82>-mwCvGc?b)Rw%4XV3w)g!oA=x5Idm(^ZKo~y)RJQJIKRo@oJ4Is zYENYlbyC(MV%RB+hUvuIVStU0RTypb>Bw$!b7qdB^b)^yUk}eNJsh@xt*83-33HBQ zZGe%jz@EqGPswnNr&vam&XftiEmfFnr2@K-5d6c|Gb0}7qLM31H)~SR<-_gXpDJEh z9M^kRr#*WMw%__TxmV`!3DtW=#+~|iYTw#ws6dSHiSxKwUszS*(PDU0QqgsXD{II5 z*QS|&h*Z+CdnHB`9^9YEY)YAv$Y(+P1?&H{N zryA5e`!WIuW(qr+lCXk#|bT-k` zGw+1*Q!U%hXlz(46aN_Q6Zro1gMq-+2wudW>KKH7A$6B)h0X}xpLDmig_KzBXf%wu zZ0S3F&!4tQL&S5Q62w~i21__{E#Gw7pIdY^dt$@gnB+iPylpjUK3W17LT~V{6beUy z{t(3~i_Mp+2vl|wj<~T8w$te7tK~69_&#zneN`iN8I-+;tFOL;GToxT6QM_Lme6VT z4I1!+wADNUEMu9-erXpbo{JV~szMRJR*3CfaHKO8aBdj){N)^?OS{KaDm6L#i(Sjl zKIcK#3_r1EO+-yf(6J#jZ~OA~vXO-y2dxT9OuO;72|Ne$2m7^OG#-ii?eDfp3|)v5 zgQ;ZIIiQ3F7`Ao)E2a|;3uRdO?K;~lq0@~%&R<3$y5N;#@iZLm=-@>plJrDbzRyFN zol-5A;J(fHwJL`v9(rUZufC5vm1Uje*fm}K;8d}%D_H{qcgUNvX{ZPz2R($KvoSZG z##AAf_vfNwdTK_OVWVhK07v8Z6c8l1Os@4OKw9IPtxmkGa{P*OHnf)g*7aR`VwvOn zmF-a@GxoT%;)RFnSRwcD1z;Gi46L&ZA0ABUt<^6-&ifo2Zm|##!+dj6$u`HwcHV9v zk2+W3)WL{~L^Gt;$YgCzHZ-{GbK})v+MHu3rMW#?cykbk=H9DI*E@V6 z-?uQ46LAPDrwb)3F6p!%BUruz^b65dlGhDQKSHWC6uTf_B-zQ*!x#7yIi7Awo2D() z$2^RosbK4IEkZnd-Q4FPn2tRrcQcp zXNzce6+p5{{?y=dCA}~TT5xcTnux-@~wU_nz zW~=DCobXU>;~{{WhVh8%C2*MbeJP8xS5f3%1)G^UDKl(Flf8ICEEwJYId@Us&i9Gq zXw8kSHx>0$b56A0+a2qr)A#%DP3{G>0+C4jCReo_Je>I{^x~Cf6o9TJ;&r|azqFfv zGqW*gOH{y2KXD`XTM}c>??W6``Jj@Zlf}$;N4-1Gyp)s;-Wb#tRE)`cx=k$#E?9(o zfE~xWa?q`RwLv8=F{x*>7(!=!)0(w6ZH#3VXn04C$=;ps6yYY*=||l^Jfl|G9tkl$G4y<~F+MfVT6O&UrdjiMdmL<~&efcw~DKu1l4xU=<-9j%AA|7Qd1-A$K-Nl5g>;7X=%4l_VI<4ID>~t{- zw5-Tged!sK^5yb=5f0ZtddnF;~dS)QAntU1Tdj$1I^ ziul|z)df*VCDaLju&XAbT^^FjO$;iE^^ZykZIHfGB*`i2v9;tu5 zBC!c(i^nR$vo`m3Z(zGQ!aMU2zW8}CLpTH;3_@`$%BG(g4vew_9y82VX#v4s)Tid} zzI?M1rqOM;COkvs5UXt1VXR&R7Mt$qY9bUK*4iZMg3!)Q9fgq8L!~UU8cWN9fz3Iu zF8UqKQCcx~qsCh3{!h!c4*0J(v{Iaq)%F8fioXz_JSdnkOm=14BAizm*NrI<0KRG5 z9P)vVz?N{fwi&e`tG``RnZ0Z~Q?MTAUwbI9*yXm3B1Pr;YPI536meh(`$C(`Vk?B& zdHhyt@}OGf{QgAfnBog^+ptu{w+uG>urRLUT{O?ySor)_N7u5N%$0W4li@4Wj->-6 z)U>&wapH1vz!W@@NH^y4!u0bR95;`d{Pa`4)BaYVwWMAlsis26I@51oLDLD3pqEQD zjH40`vf5vDEs`h?$2uXb0}~F19c$5kV6#TK$WlK5%W((orw(={J7*8e$e%+L4z@mZQz+Ah_-d-5H(4!QZk1lj#ktWN#rgWDq?pz;AAyb zGy;SQ>_L+vb-yc`_v8s9KO^Y)F9Wv`7lu!RCNTvM~rmHM(Rery8gjpJAu! zKQ-|pL+2W5&Pp(wleHVZ969Z-*k1tuAr&?@lets0(Et0xuA(taGS@U=a~?C4gAe_eFA&`u!e(f&3t3pv^Eh$>lCu{t8@VX=pzh07{o zyr3+mhapw$0pF&Uzaf42&tNNfE`cOS-|bA*IZ7`gO{g0KD=H?J#7e@o@6@3X+Z6+; z;yb6W&Y6!j?xfH_ej10j=eTZ{IS!}J&h`4?Klo9TFDe+o_owYX%2NIO8_U)o>16Dz znKr;x(_-_?nx8tc^kerI@Xs3g%@jkx1KkT2#B?LH*V>W}SEEWmjTFhJ;x$CD$tH@N z0c6+7qO5tO+9cw=LTSTIq-^bxa%To}e4i=zE!TZSO^84w`$+rVo5u9yz?-(SYQtu2 zlGX?7d1uBPvb24Y(Pqk+cB8&ajm@pjS&X-=vxD{8CiLLwDB#=xvCmA-suQ5r8%%u| z?mTF;bg*N-L*MRr4vb7PV|hI0sXvz9d&AyL=VD8b?(3ptG#wgCdhAn$fyme4lgva2 zm-K$YoZo6t*$&y@eAlR=Pmf}VGqgZ;9-*qrJQZ{x(5tFlWzS~rWul-k$t`=Wrb@E^ zR8zwmy#O92;TLjPxZ_bebjlWOWKx#sKOs!86|D6D3bHnApBIp24GSbnoQ2iWzsetN z?58zbjs|H+7M{}$j3LyIH7?>y3~S9+UNsW{P%mz4-x9+-_wok`3i0AAVc#4O7{2oiuw7k>e82XCA;o@ctT9!L7Vrx-J#t6 zSNrMHT#+(mM{_V?^MgFWhqtHxrQiF^^FL*St}L4W zy&LH{{|;I|5V9V>&?Ab;<7%7N5&koMsTtP8!?t*4mLt0MhT1K)WeKQ8Y~H4wnB0c+ z4KywJ?=jZy(LLqo0`A9R=RYzCABvt@pmuNP;GI9B=BiBiZ5Hskjrlx);zjN7peBwN z+Y?OO*b1%vB_H;A&fg16{EhdGo3mFme@*baX7-s-C%X$mG^Cea-AntNwA>3$EFG77 z>0PLoKtn$iM?D$cJ@^f=v^()+g? zFWX%E4vNutP25>|Xi2-TlT8#ZKnO0pi0KgF2YwMUpp79DJdZTYxdDyaEkk~nN(Vfs?o%H(!d_cxRxhuCrZ(iu+WP=;o2aeOZ zpW#l~ui`kSJlwOc`YHz3JetdRZs7mt?OZ76{Rgu>ZgXdt(3)M3wUgV10>n0ldHZDd zuGrs{0{Uv0#4U~9Jq3S^|H-&4rcC;#<|qQy=bVcmqCXRD0e~zA)u6GC!@bH)CY&xj ze3Ht>SZ$$9jwjrRD`^#t9%K{QLv@XxB_R_Hw3q@;r_kMh6smP?c&c7$J>hWj#XEt7 zd?{;3?Ejip!eoR7>gPrJHOn~<=!~pLzhxz zdm*J?VlD2@b?m!wA%gEqv5(+26fH;W-f#C^5XCoZ_$j3m-@NOl@4m3x$oE^XjqbF# zYrjI8r~58+E#0d{}=p9HXd>1dN_-FzX4t#v&(cU*rVp z-!=6vUs-K#K(=&tzhI*jWzO3F`yE-Kwj5t_E!uWQzrbl{HB_0-0MYq|UD4X&ZoBg; zrN_M+o#_Pwsn;e!R~4sm-Y16!YTyAUmh{2a**)avtg(YX9P~EpO-on0U~+J{9jdqF zHSn7m8I~6pEJuh*AW`C8Tgx|@Ud^#VeJXm!Z$KHAD z3s{5OkirzgFksEQU_g@ecLIt%&-b1w)BcxS>VtQ_>DR?(y_Jn>1GFnuVimkU3e)N8^Ly)kAwFOE?nz2rWiNEnNZqsm zzlg}VmsYQZCKP?Q7C*tqVe1us<`7-Jf{E&0K)FQcAH66->+to2ekcVSG?g)VG> z*4^ypr33W9ZsXW|tnb27<0AVDPd{0(oZLv|rtEI(yaKqpCm~^Rps%-Lnaf3V+Z>g`T!HgS$>2X9=cK~!eY%a%IYvoXGpe|-(Q+M7P62`trK{d?5 z_YT+%+2T!_pxkZJ&=qXRJBH)Wtqy-xiOut>$IjE3&s)NK^5Z?|P}(-V*CyCc6nmVM z*>uc1GZbElooEAhAXzR((IRG8;RSYvQbLfeYvv-E%9^w|?@CKAYJ8_M0>h|C0yR%6 zEv6L(l4usJCG?wG;=QG_Wr@B{cWw*2=2!BI(q5qrmz?L*Ut9||*v-ZQ-#>_b~sZ{A;gTtr6#G_j8J z%(Sj?%tEn@x~eDjMN_to?VqmN_scZtRp-w2Z+UsqJP4(7d6`|R*lJ-W4CAp{_Jsk>}L*Z_NyMFsI>u14A*+s z3ZmW4g<{g^Dz1e{T>%k zH3yosGe91^${nLfv0dMiw$f=a+&cAlvB<6(y?B@0s$F7yc?JF`8Rf(KeRl${nXu)hI>6)mc}bW z;$GyXR>f#MjWD~O)W|y;^lL`T0Y~Qe>mbi$;Wu2#0;{z}^3AlZx`24^Z&#dtG0Ihp zaF9t8frAX8nEU?Fu}lFqxTWd`p;v}qXt6>+4EvNxU!mw>KKTuJ&Pcgy zWOjpV(Tj&A<~P*jYb?lYs`4+0{F&|EHC>G&YmtHK9sabmf^VY71U~wzmhr&up`&P$ zj($-x(Ox{Pvb*;&)(1Kge+12my@1WTG__gH%l2%N64Ch5nb%KJV5z(;a-cA$G)^fe3zv>d(p~3 zLXzAb4a^EF^E_0(00F*sjzNE@tv1>YHslCD_)`Gij?#Spl1nAbtwv}t*%ey}RpsXs-Te(e zE8Gjq2L--@z`aD&gdxot*X&Kb{AF_4H2|{&dHTW)pr$<3&COS%PqkP0#_ABED`icAL=P&HZddo*iSOZt_+L7MZ5SS=f1B{BZW!fo-Oom zr8pa`pEhnr#j9e(W@ps57&flsGdiKL!G&1nBXb>@wIv2xEZhDy{g^^ z#^>Rk>m*O@q zmyLh`v5j}jlH;YzS{v>|Jc5Z@n6Q9Rf480tcEeX06HYLyR=8z|5X}96V6jBw{`$Je zXfG()>5=xD2G;ByZ5w#^4Rqr=X4%EliAp#x22!-g!k8a627$RDTp5Ww9j~}icq(4( zeSE;LcFo-nR2=U?Hq50g0tGE3?USMK_|Bu2E+n59XFa<*!dD0fudgNq+J%L_DO_Q6Tp)E%PbNr+DcJHdiB%bM!waVu1BQBmn2qJ}r` ztovwAj_m=+b16li+Cu%veX-K46HUce31$u!TZCA$ztY$xq>f0e^9~uv+UuID<@W-J z+Om!`Kd>0+6Gv*$hb;d@35*5LSAWi}49PhW9le2bw|`i`1ektLZ1s9$`v#_>SEa}O zKWT#^>?`kfM+6}6Ep=4|A-jLbsw3$E#)VryLWL6-52zUA`?)PJ^Ggpp7iF!cYt|_> z`krU)!tu%Z9SuJ|*<)yA-4C@?!MwPA902%g*VgE#k+_&+PY~bnj@KY#p!M&YRNd4C zBaK#9qi@l8@Omx+>2)cyPi_2P?x#XlLU*M>hjRqI2@XI^#P)9uI zE^TxATb00u>w0JJXHU?oN}-@sVI=sNNi_UTIsfuuN362ipC0%6tD?4({aP=*@#8je zBZbWI_nnT?((}4$Ard3YR^BxtcA%Wm$QnQ8l{7X=PotvaXP=WB)_Grrzm;|%Vd~r~ zB%94Py=#u+A)LUMJNZ{Pih-sG-%9%AJ7%&+@FmYTM||M%c|)0Tfi)_}bbt!GpUm-5 zMg3W&$7vj4?~wLNi-M>fK811i)kENeBLI;GM92}Kr;e1i-R853W9PV6+V#y02y}bGB%)eXK zb4)MWS&^s&{^5r_UwMhzx)aiyAAd{<2;Syq36wQvIe=L?fW@=88>qwGfDt8rmK{z1Um3`1n({+R2zwv*?ej=-zR*58C%M{O3<`W?vP%2w;`hijNi- z&tGiLc^$RT{Pw{C{gvm@l3OR9HTeH50BdJt<1)O1ET*Y+d#%;Xs= zt^}PRn)lJHYv;vVTsHJiwOZ4k3Qb!y_YE#J*WW$Pvr;iSBeik`D?;H*Prdh;oSgK= z0ewqrn3f&f*2Y{Bl|U_2cYj0UWKAYpQI{*^QZ63$gkf$z9+S&(05hEDA1*Ie>Xj&v zx}yR#MpUf34XU<&0nBWxSfXTh%~3ZU1QlhOE$rwt)66`R*y{-=tYofC=On~P9*H<8 zZb2Gt?n6www@zv5Mh8$#I1N9H6}n`Z;EEp1v;g z(z1jP))TlBtV)oNNCB*>Ys=7m&8BFFp&U?a(&uUyvaQM0en=OzSQ0qLX`u(cENAl=C zwOGIy?pgNP7@A|(cl;aTKf)g1cJkfn;e02X8}jqKp33D=drJG=YWp8#PW1>|io zNpI-<&9tJzb}Q>nLFm8n)Uf{8Gh0Gdw$=-3qkNSbx?*Xa47IFtXGR%6tJbj9i?9$C zOF4WjUD=wH6YHl4_uCwS?#oWx|J`5o!C{#RIJiUCZ?bm~C}wEpYUW*9H!oY{7b%rT z<4f+f(dDiD-6@=5LuB%!Q7E{zwASp4UgA)lw=GrFQ-Iz|7kn_sJruU zSJI$XN1^-Tk|F#R_eU`=R#&XhKNwf;Y>qnHz9jtWKgRjCTs#RyJJ%sOj#=eg04aujwvK&Z-3I#)%zkh{81CD5R(~%w8@6ELx#Hk(E|$O2qpdY49nAIxq;(#Ex7Jg zU|>YWm{}jeNA<_`-443P4H2JkUo-Qn^d4%5EwTL#e=S!Q$>FD&tn0!n4veFgsK>YD z^}<0NxSdsaDDX^^O>KRp2D=#sRH|rWEhF>(40E(&ybZO-D zhqwa_dzV823O(-Nz1fUDd-tkqRdp79`>LFX3x-`@%I`ozod>)AF(yNrHZM56Q{g!x zi^i{HSYlQt(`OjGtFlicuYGy=!Kw+;F?hX6?B#|AfwLpkA#z0K+?-PRLRKFx&MnE3 zc=yPO-BaI zZiu}sAP;bFHayWspJNR?my;Oj%P&ZxKb9OU4?Z|<%{ix-MFPHQK8-SYSen5_v-QSA zsfQ%Gl_q^Az}sATRcjpQWOw7581~TuN3tY;RA2TLP0$9&jPc#tf*y~aVmJAQRXYY4 zj|9I)i3#vuWHbh8%5 zHgl)+MwmeD?_?sc0e5yUe+aYYcqulV!-^H<(zt(>UnBu;#93IQ9NNv^4s?p{^tFZS zz%9>q)Rl$b$(6E}tgdl;T#YsXH%r>UokW7$^iIPC3KuV9?6AvP$zO1qE79YZ)2_XDTWBO|X@s$*!l}yvx|1q&&P4fTIAi)BZ{4 zO~~s-Z7JsGRmbu+ERED8*6t1IlS5T>*|ZBbTcJUN?qVZV8nb}u&1N|e1qwXiu0^JokAtopox0$uenM1#5Zw`cy{A$c#Dl zM5?*`1I!of?=4dOS?)D_!>jL1+!qQ#61z@D+7>-^G5N?mX_K(c%ZC~!9W*QmQb)d; z^n+Szlj3BZR1+&FUJlb35{Nqah0 zMr&Gjq3r63eXckLL%3x@sxeYHuW#{*xSS47599+=?_EB?`)^Brsr%{yd#}O!PLiBS zB@VFRMZYG9;x)D-i`>Bb{R2vE2Y)sa6K^{fFglVnT_`tMTaLeEFbmI`;cQUYLp_c% z-#Z?zolR}~owKXA%mV@s$Khu(cPP-{J#j_%^wd`>>l(pI9U7`jj{>QDXzxoFk=w4L zYtQ%m*~yJ5?)5u&%&r?Nj%O&_lpD+dd3f})93gfan{!2G#2yIX-(7*215*21RjcAO z8kkt1+`b3%J>9_4H)~1W@m!o=(X1T2A)F12S!^x59hRP1?W`*TFHO7U5c>9>>4`=T z`Pwu(9%IRlfQjZkzrKX5x#fhafd6aUiE|j>j9+tB8t(6?%WbZ*b+ibo=;m0&rnL-( zu1tD9gWhP#k$@gXun3VENgKN`H{ATPXYG;>zy}$%5ir)X>{#>Lt*lle+!Z_}c-Jx& z^OW=LNDGVrLMQ0aSqZzn4Qske$n@cM!49C=SebYyF(P4&b` zLgjj{y;(NdjZJH~Hs$TJ9A88a`hZnak>uo>GzXp4%JlMS;&~0e& zwvMiS!{+iO37erRGn(;;MAYUgW3iPsXJsi9`4mFW-Ycz10$BF2Wi1jPB6_raUZpj!so543# zsEOJJUDo~vKLA<1)KLI#Ub#w8jNbyBaG6Raz7jgXV=(R8n_L%nYa!lQC5&ZktjW?O zuF5wgM{%Dk?jPnFdetjo-HW!rWI;4GErt3pwUS|F*{dY*hp9`}^Aq%gb%kZh(3}E4 z*~)6DAw(sFuJFp>EYL@-csOtrR6@=#rM=PHozd>9#HNOY6+pSHl>i#SgD;0Q>zo1K zM%!Iphj$L2ycyc!i|{+oUGd!L^X@W4?jqOd926NAW|Ul=XH)!S3SLuzF`_)xK;;3P z4tn}psbi3xI-AQKW9@md*&_Cg?8JQJGsiY=)Im!>^K5bqHLS}wZFX5+YK@{R!U$kI z#)y^f8(cYMKBFct(UDJ0$hx6vVBPSb3tkbLvj`O@bK8yy^5w)hQ3_sdS!bu}I-3b< z)xUKklUv^g8c`R+V)AhT1lt z^@(-}ml@GdGFmX|k@NWUF#Lt{+{l1I7;Vttme8VX^zo+~S4eTUv?H37&=-uolln9Y zx@4|PZ-2UK<+h5=eYmiNYrUfX*u$l~t9n)f@YSnnQ*P+GC^p|)zs=7af*g@dTfy6J zFg8|p*N==lzJW;OUg8lAnjQPpZ z2DoNUY}bXQBIv{?j<_qaYjs=_s=oGTwF1(@%8{7;yMO(`lP5;56hHmri9HX{LOkj6 z-n8SnPRxdB83%@q)sI=0HO>%EQAB1eHpWK;@KfX!I6A#9!(%G3{@KTo{xeF;S-=4b6^mLU zDYy-c~|mqkYyT@xY`>Tka+hqW+>XN1J}julCShcc#8R4MSwPbIf;8j5Di7uVYr zjh$7%4^l#Yvq@t?Y&Qf78f)e`gsojTDKyPR)M8HunvTFcv4hnC(Kb5Oy`On%UD8%I z$0_CS_^=+9OnmR#dV`TtJ?d4^4*#pqm9Ool&ZcoM)j&~&*C*`2r9;y?zq1NlGMDpqg z@eoW3$fkv{-?Lwr83QU=hA%$444-7@U}g=WgXDPT7OSm5Ag?-uYX5U6Ul?&NrGEGe zvj;Yx9Ah;>Ch%-AEE}wI?%H>PalP?OPa%J0!EO-B4pU`uLAmUf|p3{GKLyMhY?#oH7zSOxd(wG1A%t?e=$96pIhcI{j zol5^t(u35*6ZzRddHN}_fPc?>>w@0$h9O|RPk@&3ORl~mt2>t-sHs(vxUNi^sO!b- z(XM^lTDB-w&skoji`c||LJUog`Fr3 zoV~gn41+Oq+%IqmT=Y_ zsdtEB4Be-7BObI`LJQ%F&a*QGhYlnf>$hb|vd!bQF$sCynS%Ho2pagf(1{e;J4ymC z$Fl(JRX)KdR}F-1e%?DVr%NZs*q5!owc!^hSm$b|?9yE5um1MIw3~p~Pe@ue<83xl z@#zPL!grUE$1?lb|F~zXI)3cZ9a@HjfHiHf{i_Ti$I22Z0r)6OaHj2&Sg?eQH#V}D zUKDhfQm0}!9jrg^MGWPr?89|$*)N_5-WE54hRWDGtXAWVyS_61r6eYe{A3ix>%d(u z`OgPyP)ZneFF)i|>0c~X3KfkEVDokprPh0SgEcLL#1xq^4gmfPd-#vvraK&-^%{p`N zpiiwpg_)p3;A?9sSEln}YV2pSdsp=Xd~*__{wdpt(6^E5pbt>bwMo4wRAR5d>RcpU zC{&eb`<(aqF&t`=+=|BhoXCgq)X*0~L_%et8D5r&4`)p8wR8b9%G2 zXlwDw)y-EyNqQdhsfXLUkX-G1i|0;Xw{(I3hbr0V(_?<2-_ftuEVGOY$7n|(D#i7? z<>dQ;`;{7hRxsy=*9s#U}s(_P1VnW)+QRvk{Gaf*yZKRCx%A^1E5Q{QQ5=Noy2G67P@l}p+!J9_ny@xq)Q+5f z_A1B$1*Z=*-nhE?@Gozm18MzfNLN#;z4!?MmxO5&s^`MTfd^7P5A<>AzJKT!zy7H8 zmY;`p-MM79fisHYX_@(S-_OT5%~$a;OZNBertL;So1?KWej_ozcWsFgQv06AuAC7Y zGq2(KdHF(#$)PRf2J`ZSyztW|n@Jb{dg!=PTjz#vY7~E}ef;A{mdowD_>v28)1>5? zyUDqS+zK#{U9Cjrwa8qjFDsLdMbxo8WjySL>_JYK+^Uj-2GTsM&#~&+P zj3WJ%hE|KGjY_5!6a=>&keiANUv0`qOU5*fQ>UiP!q z3Au>C!-#VBQ0R7+30?O;9nw9lnBWN~?+Qkj>dq<;S<@7-Ja_%~XrMo>3xoOKowYTC zApxr#KA>rjdlq6$TG#jKqCZci=>k8+yOEaZP;0`Q#E2eLJBzEN_xQ}PtS|pS=}IW< zez_4}Fyrd?-^6d-dgQhb{ro9}s<5})v>%Egpg=8S#WMsqkTAnXU_pA%>jr_S2HJGj z9arjEd5dH(cj7>VMIybZ!A^2{4^<%P?0Qvex>kl@dYyjF+I!mHXX&2v`ovG$M#$Age^F0ko}Z=)#Yk`*G`K9AO@j3JycgW~(~p^YtLJI>x5>iLNjHMD zG_$zK(z(x?B*a;19{#~z`#Mx13f`qqy{L9B>`=A09103}NV)y#`3|JDvGzSzxtIAG z^9Sa&@AuVw2l&k_^lIC6%VxZGV9P$mtlMi&B>i~3&%@AdEMBYe#i z4^dPf$bH5Fo>5qXBJ#!W3F$@`iv}zN z2}u5w-bI0f7Qw_I98bV!tM;GVs5bjEsCq3M5CQu%Vb9%Pu?r*8A&?9Y^1k$NUAtb& zT-R3sr758A`e(X3_g(xUgeiVFzDwhV>wi-;f56N1qD{HG7*wWtpu&xXt2Sp^mN|o6 zTz)K}?j7r-?l-)5E6eGmjp%l#UYx%_!fZS>5&j`G7O{N=G$HdArER_Xg-}ne24B!2 zyuFBjT~9S!zv&>LLQ`ZTB7WW$cnuW6O}+D6u{hI``{Q3BVnXL5_^^hl2R_hp})^GYduYLAw_hZc8^L_o*c z#N{iUf!bGc!7RlR=Z4_LyaKad1z>om5KZ9+9lQUxyFgsGg|k7(0mrB2yD~vzO&5N;rmkVV84@z0iqrsiK#<>*Q{VL;64;*;T4; zJJ%u4jSf=92y{1~@_kMr;6aKbC=0*zjvzCTm zwjkQJdvJ+4a5`t9HaO6~!<=QO#G%$S4`0;ahK%=BnPt}Fp3v4_7$2<8ThypCUZ#$@fc;8o1}3GmKKo8|{+Qhi0$b~<62pKp?{-cZ6HT#*bS(NYtUwM!>Q zyYLVPd!Vekw#}86tY!E4E2oouQq1)0V;8AEtiAO+Mf(YHJD>>vkijxIJmRGf-Dkdo*gx>fL^ zR4JL$g#}!~0LH#`Mbg`DNdD)W@|2McTz})+3bqG7$5fahUMSvko|zgOFRK8j-9FhO zKwy`gsvzz4^KaHkRH`?OtwQ^Z+hLp~C}+s#YHgRP&rL;VX{Sqb=i;C6)`nBF0oo1C zAcvfrsWA0+kTX2yD4LXY)+8t(^$B67%k2s!!Y?_1s>aUi)&hq!i@mm5+J9Lf}z`#OM^#>L$&^_nkK)Ef9Wl*9Ti~ zlxD6f+^t^RpLBmjK8AV2mL^cu=9vG&r)Jz-Cf>}U;Dt`heg|Z3f#*Bpn$8}~yFYpS z%p9cce2Q2NBSsO~Fww~4IG@cQgsXW>LFJK~sXlYhdW~@{-PZQ&ax;nl77`w7$ka#} zgU}3*;3!2ydx(wd3?9IwU>W~OFFMJf&#i>0ky5)AHCi2gGXg69BPdX3Zx3xMsArEf zHwr&W_22A^JY|s${OI!*Z#&oS+@d7+s5i(z{A#lzbWslL=KU^>&n$2WT{DhA+E-WS zbI;AxcQZC##@=W)^KFYF{LKI|HsIUiXQ}YU#m3Kcr?b<1M?i(-jpGI^c6CV5>(AOr91__{&0VaP+o8JVWcl&dk zF+pfF)#xN4|34e{T4I~X(C_Y3Y}r8HJe8VFpZA!(S1V?!{ZRNc-fmnwNiPYg*naM0 zelXLgc}4(`kSfGkm{{;4#&#HXbboisv-Lk1=0(6|q2d#X!Zv<$VpsQhd=^CZNpBB+ z@hH2i=35q61qnwlYJo4dZefE_tK-iJ%YM~A4BFZhxJCpdTOR5GJr0c#blDhsUF_Ck z(TghFyK%-vV9(uST6H`tLDQ@eok`?RDeHsk4L?VG!$+G7wS6#GP{Y284lY;Y5aa{ZZmn*J|_=PhWktB^7p zbZ8V|92AI*yCjBzzNB6l!7!y8yDX(bg8mKf)M3~Q4-oF}=bb5r@s$`&#@a#!E4$wy zk-Zbul}u<5K(}=_e8kdakAqN@A;r0&E}nzT#7|N;P#xKdVdL6J(LJUq2ivW4nGx2r zKiQw7;E3npvfS`#ed(o+U2_@NV=-n+2V|XX&6D7`Sb*`i(`T)9X?B)~$sZPm4||P` zOaW~BYx!?U<`~j4putLHXT-z?@gdb^dFJ4SD!||XW#Q81g1f>4&C?pH3cX9QUy>?= z1k_U#Dg^XAW@gdTl5?v>d45`mQ$9=`F?Ql=h8HWLWos$U-D6ki+||hE5@n)&E@s#v zHE}(J?`!X$1Zyru$fZ%;ls3q$s~8)Lk!7T>pYQOg5sg{9E{;yl8ztNLW#hN+Dhh-$ z>~8VZsjUSKWCQy+Tgolzp;}p=I&6?BMi1aoTcmk9D_?VO3Pa({8fkgZDNH zbB*O`za{QEMXv^RFhsOVx<47a_B%f|MXtema^dOI7Chu1SR>0$xu-cZ*1mt7@UiUk zvnc0Xa&|R*vj8T_tk|vy3yXCwZ{e2zV$j>)4i+{Jy~Nsi^R{#001a!C1&c3I z-J&`wkZv#Z&dlrTfQ0OYA|Ai9B`*2rFUnkd-b&shdG!e=w%gT3ox1OEdRx7)E#VOR zzgs*Zdm%qHxABl~I?KbzVsK?S_-IaTcwe27H7Nz#aUnZ^<1=4aTHD~8e5v%~<%eKB z%g6jxvH8&G_a1Yb5gw;DrH?Nf1@McmN44zWjGMn7C1h#HCj>(#zGM)N!!a!TOD|iy zx>BL;z@OWAN3qwV8hd;8LNGofC9+JL_yuUlyZAt9=che0;NK~8KyUNE(Z{peRL{qq zur{~Ly%$6}3RsL>J4b859DN4{aQP2trs$(cUUN%I7ZSn-p%^0FNn2Bl^UOuQmo0UQyAYEiwQ^R2jF8g^UaoHlt zW__?kZlFuvY*EX0=|jms#hu2w3b`B;2JPWN%5}J1*bFf}0VstslhrBKp$qCOT&0kpeZklVm`3a_@ydbREPBV}jHBOnt_an2bEQMTi3-$? z5Qx#%5;_qz4?iKkzxRF(6-ohVTH$LL`S53>hs)Xn*0`+1A``x;kl65iNbtwk0L)Y0 zHT6V)bw!(L7jr_oNt#}XT4;qD7qJa$U&RDv+E1kjr+YQ`<&%OnR8= zC>VTPA8S{0bQ1o)*p5rOjh|_wcyWbB=e@7I_@j)GbYum`co+}As|US7>j96mnRgUq zqY*@{Y5$EH`oWpWw$s$#;t$m=UO$f?ET{{8TH?E(ODVu^x*XuD+pE)?ZD0|$R!LC2 zY-BRyeX(&raFE8?o^A>F(mEPRc}ugRors5G@ij0w9eB_4*Ht*9UC>oUVuFcHfmK!p z^daL&y&(W6i2YEm zZjp#KcPd#i5jdVS=U zo!n(wuMX0qIWT<2W?MG4Z*?riy`_R8&)kcHAXcZv+qQMYm_59qrj>CRWdw0a`=nL} zG8n1Bt;GN$2{!S)>p{g%n{5jNbNB;AOWJ+bA*+R+XFj6x^ob6_XFjA~cv}kDLSJfo zCDP&n{OdJuGZXNyl^_qZnrk?7|E{;zsCq=%WA!tz^1|JRceE1)LbVqYx*|^%#uGaA zbk7rjsG-wk63UfLU06(g>?E2uC@&=+tITE?oON}H@u$?&2Cd#?0#KZ-Z~A9YK;;x} zwQby;KJ&jZ2{O# zWdi3URIHu8y=G)JYhNd%L9zL4kmpv@+I|u;90wFcoF-=@5w2OoUsa_eX{J()dshc1ihzx|HK6os+?^R@<~UKT z;gom9$V)$ld{yVa&H z7$yHD3hG*Qhx+s+if!+!(ZZG*M^{+>wdyFbiP70_aEDX%wXK9D>mE;QMa;l9R_8$k zK_W|KZvQo_uN{6#fag=#BPo8cp8)x6Av-lkX5lQ-*iq9=hO+;niuFW=jBj{z-g{IJ zW>wATH*ys{W2SKAyhZU-*}mOX5`>{1S0m9jw-8^zsb0ET&PPNen13CfN*9OcS-2mS zZbzr$u?WA%@49I>-oU>bnRXOac{$aA&+yd1Pd2_N9SW1w(-qOGG^fJ&=|I8^H#=y^ ze>cEky5;%6+CrKGMgsQ)FASnkwB?N1b?P8fla?C%M+R|ysImKCPjP3%s_62A(D}Zu z`BV$t^||_k<^}!VUfHj^g|r)caK^iD#ukBRxV!k~Q}j!72@SU@Y!#^!{Ufa|fIb3y zltUx1Bi=_z1mA?oGhWo426%ggg5Ujzr){2MH;L z;U1eV1DNWY!jiGxf8bI_s7@oF8X?2EvlsTRAK4z(cy^oJU`Q$+Uy%mzE{cq$!ek_$ z-;}%{m+EzDKyYWSsBuW)(FfsMxJX1>VN$K$tmH6QtDL>&FrUtdc6VUG#Y0{Pr$)lj zdZV}H9EAiG2~Q~<#~iAZkG~SQbwkxVSF7Lu*vFIVKSUQdW9B|=%1K$k@p(tP0Cnq~ zW+cX@JQzlsCI&#pF!$2U-Q!HlbEwT2Cgx6NJwsbFHEG}dnA+>kocl3u>_Qm2^1k+z zqhhGATV=v0g#8^@>dFdd-Y;8wW-QW6{= z){u2MpC=d0%ZH|*qUT!`gzZ0>qc3dEViB6|WsmAfi1`gQCq<8>f3X~L>v)utK;96^ zd0BLSY3tGoD;V;Hax}Qy9)_#Ufa2e0*K|`U09GkpoQvL3pR0Gs+b=M?Vn;Daciwe9 zQ^PuKF;Z36VA44=HBBzd9l~HPU)g8o89}lgGedW+eq8(Y0w|yEMROw_hIj>zaz8Bp zmqT}`xbniw%?W2&mOgFCAa}U-<{#1#j*i-WS#iH?X04#uH9=OZDejt1EA?g1C-YZ? z>OV8KR;bDJ(a`b2?qMWgob?q z$Fn>A_4UE-Bec0L)M0X{*_*yGI&s;5akoOi=ZJ^X!QRX7Q<0{7vo)1)or?JA3S0Eo z?Ssjn_{5-t3iuA@{c#6&l#PYwx7`IgCy?g;n@tKBIp1 zEtkK8hFO5|%TDnY2fMd6>BzXQ`B+o|6f82r@Md$=ReO&ITzh!iGSv5Rk7>SEa}UUo zucWkfU}2Xx$?C@U$wu|g?`@?r*dG7#`rB8a3+Edq(}#goHh=?C-3(K%Z?ITVwbVhI zo>a47i7c_BL@v&?;+bf^0_U!sMpLMyJ)J^6&FBxbzlt+!5sQzxvBDyY%{FKs`#Yu& z{L_4StqQ(y6io~=UMKA`*Fw2R?ZQbohEVTy$@k_s<;{waebBn>y4 zTb-bNBCwb(m`(6dO)&NQ>)-89g353&6ZC;Lg)@FlHao9pGhprG_K6?zCbm9wbT#ah z3gY_Auz$OD;rWmkur0089DDNT^qtvyZ}7?+ zu3&O1`i1JTdT}|h7UJN<3gX~wc|3MIo>OAleH)p5EO}}a>FfG|ayme5tD!h49*~X8 z-}WVJ4f352ojcIp7dY6wf3T}ZFfg`O{fV*EFx~w?nLBR12TK;QKJo>hw)&B#>`s@h zu;S#RBlMPi5t=?kc(RDp{>k5b9Y}#IJ@N4wL88Ix?oAT?X9_To8X3-x*G9{U>;??D zYjk3!G-0G7wsA|5N*vFL{dND40=}u~{EH#e*GHM}<2>dwjHwVa+-bDyuV#J0hS~GH zfq+lZK_EoiXfeHeQso{*&*BKC`P*pz+t$Y_$tR<&0I9>`J2wKaCN_?Zw6^b@G9Byg z8b5ze7jwH96+}253&x1&xE1Y#s*62{_8JCc>ISyCf z#ET~}ptXlNrfnt_!SoXSa`;rY7_39G(~#+NS%$k8i5$4}Xgxz&WA$xj*v=O~VDq9B z9=y?|Eu*MM`aE5GORCduHgwn9=au@P(u=1xnbDO^Sx=G>V}pO%hC(Y+wd;NEOBd!hSEqK_)_L{f*E z#0vzM%&osHsqMGFuNvD}Ix9edmQi0q2JS^mR99O|PVM?TX~FAwR(}XGERab^RL6W) zP$h+kjz1n%LOO2g9vQf6ztp_3?k{LK6R3(`n4o>gX3-glU90SQL1;)K)Fu^cxkMTs z03pYa0{x_C`#(ujId_$hUSpBk>MS2ZbgFROZ``0h7n;lDfa9!jJ7$##b9L)PxWw?H zgNRjT5ZfBF{}*s(PHFy>^AHTVQE?gNOu<;llXo3AxoK&YYRdn-gZeuhVcDJd#e-`) z|Gao3AaoA=ItapMF2t#2^piyWwC#sDuVl%6>U3%(EF`7v5jAm8vWVI-9QsQ8v6k5K0 z=*vN(Z|px&yR_=)d^FGUh zhMgv1gO!zLpzQXR*j>a({;E%E)@o7Gui)k8bwU^^rZ9|AFPimdJX(Mi|8C48wc%6% z4yhhjpuM*_j$BTy<}ih3ulp>0rpWd1q$wueqJ*o-2DJF=T=RHzbBYra5=}fefArYY zxhwKsBfwJd{Qkb6v4h6vtwS?k;jQdR@gEtis_=l@Ug<_R#{^Q{o+#Q@Tk&>w&Ifw> zZp%rSzAg<{C7*beTF%99HT(2)sm^#iqT}1=QUZ5TRgn7mVk{=?Qr8CNefamzbU$@7 zShLDhq#{-C2WnAKO4e9}v@tCQJLkNol-&RXyXZ!O1Up1H5jKN?*uslQ@eK=-EKERG zEKnv|Bt|Qwn!dRWRc_!{nl^S$q3o0JYcqtqKdl+0kPBYS;IKY!cOn4g>T2nESkSDCkBFNtpoUz)cMgjr^3{}{pe z+{_`Un`rz%mi3%~Ai+OvR<&*j7w`yviGJ9ZOZ5TY+gXi|1gKv+^~H{ZnAX4PVZ1!a zI;DklB|Xt=cRkid3e@4~eIIct;B&mIja%vwSqcRm5}0F`PS?Z&Qc><|ci;=>>pg#) z{f4@GlB8G4*(y9hP4q)$^YuPY@2!J`#6j_7p3(`Im;=uzT|JU&;PsR9gTEYDd;P=T z7m(BTwya^Jpe%>!Ddg$8b_c2VPVVx8<^B*EyxT>?X7^-(LPJ4*VnKADNBLWn3VbEY z+8;yRH4f6;ez&yrEM9SRps~(Kv28`}lGyOHbz?XhVK0qKZII@C#pSgRkSzAkfUD(N!dCPaQ&0vPJT`~>tNp4dn zSXmC4<+JuWfox26cXklFu7Nj;ak0n?h66LiwDz1e0u5m;P&HMJR`Q5;w~JLHK_`e%Z0T^rb1k$J%bovI#; zXSAK~Z(x)M50AC9v2_d+0&!1FgKHjMpEbRIgT-l&I2rygER)#P3P z(WO3K=$iDk(X3_gfA4Tq6Tzo(szQfox%5s^lMcAj0of97CotuU^>W})6-5bVi z6Sm!#B-mDAVKS8E98CvA3e_&tc>9~%DyD?o!aAv9F&-IK^B;LA;HK_PD?{r<*QfE# z_1>7zdNRS=MC!UwT>zkt(elTI5s)sP3O!98PscaU!6TM;FFl{~ep?ZSJlI>@Rt$TS z)=j*RVqilgd5e32WyVs4@z?i7yX6Zc2V*=o(SS~Og=6_{rKH>%?E@F4H-BCk1sD+0 zoAd0hCf;ddiz;m^@NgWPd5Y&nkq~q22*>>`W9hs|m>et=Fg6pM&pqCx5e*F^j)tA3 zgF~&FoUQUHI$v95ctAXIF77RNAwTwt^>R4d^K@+J7O|AVwb>F}3oIEE*`KL?;c=b^ z>aW<|Md=>zt8Q-*-^(94~ z7Yu{Q{R@ovL0ADF=Vj9VLn8=R#^gV>a;+i`R$A#swI!eTPLM}VyCVd*y*Ba{jgGov zU!Gp3$vPY)zE4^+5pMzfdzo{&4pN5CU>|4kjrcFfGU=SmWKA#?Mqub%RXR?;p?Ssowv3;fh9hRCwHj zhTHcWKA$XxbAj%kl=h5^Iva8M-sd}$o#$RZaY29n`ucA>Sfg@fFFjIVlkwYR22I)3 z_ATU83VnTBGg3v)a;Tq2V0Jayvj{BQFp48mUUKkn^yP(|?y|wHOlgmzcxI<~T|3r$ z`$Z)#^opTuNzd`@+mTTH-!5h zMRe-LD9qm6ISuDJHu~CGB#8OX&h@r&d=bEnPlg(ihx%s`4wN2~oM=Bf&=j{`Uw7L~ zW1#330NUhwE5>qO;`#~rNO5<^>bS!GpKj~!qiN73NL|KN%k#C5l>1&fvP`v)SDm`j zFxNOU&sP$t=TzWOvN~6M(7JEGUa#u|?|{kUTF+0?KFRAI5f(bfZ&c<);N=c26W7FH z2fhr&HJ7$5noV|rXm{V_qZqw)Mb2j+m1kZ^=t0o$B$QnvZ{M)FZCN-m(6me}o?nR_ zW5!){SZd5Cl}{_)Y}Vl3&ex*uXOFdWeI#zdt5qBsea*xKTiCHBp{`$Cz&PX%cBW_vVt%~C0< zu+kOLSsixBfGvsI$VKsrn1)nAoG^qKo~N{TzLh?6(ei+lt0N5tXVohtF#^2kZ%(hY zFR~zr+0!2Fy(I;&+0nwF15WyaHAy;a1T(B>s)f zNM&a#3C(`8J7kksl${bQQMv6bx;Ps2ue7ii_uFwm!0Kv9DybF8?1|0>`J8bW6mC5- zkeGAZ9ItNLO!@a1#67p`5QX+wY!hVAj2iCKCoYGIhh2P}-D>L2H(SvJ7p`Hg)ceao z)`tX#KmCiRe!FyrpYa^w1PI2x>>Y_8I{Ih!*B{e2ZS8_;S#tvag{h0~SsPB)26Woe z`*H`ZZJY#vGdnpwuDG$M(9oSF$er<1sqM%POJW_L=(6X`s8V4?7C!3y~r``m6rS0JO9>8wF0|HN{|-FrZ(nq6M#J^p_dz=* zQ6QhcOSycnm`NI|o=Ad6=GF7|oZ&OFCpUM>p|O|6jW%AZe5Z$QpGUnA`ey5Spu+j0 zweqX|RQT(a=wQtPnM{d!E6lMY33QUo?Ww<^*`wAl}L$-{#)^b3nz#R;pXV$tXI^f zH_3@Tx}ok-JQ)Jo@2RP)kh^1!k$IKz4Xy4~wxiO0DgN*Yv3;;W;j;O$)3@yP3UkDF zydqzFI?JdB${1$b7-IQeXi@dw-mZ0Y6_F1uJ$|%I1wfBwg>xCMT%~m?6|*B`o$E3V z&or61i~UK0LK0a0?LTAE zFZh9h!!zAZOCY_I8y>@_Z6Z6JujM^L)J1kSEoTghhqBrYYriE ziRjSH#uDl5-Zy8om@|lvHoD4*C{_Qw-##jRIg;Zqx2p>nuYcg0ervqz%S~}8J~ivt zL+I$^ngUNSVhY@rrP&58lst$fwOti?=%d74LZqbs(w4htN2Ltoly$yYXsZ5^a}xY_5m z-S)lWhvnNbOPDjc#eQbIrR5!S;s72!%@#h#OT82QDF;1wer~L$F)25^Kv4I|t5XSszow4=7IRQW z+^S<*wZa4~xKf5Loyxt_)~W7s&><4MB?S{d<w}c9lgb_c{163TPIg3f{V2o0Es6$dhe^su@$4!;b-FMaPtH;`C7+gdQ z`<`5g{Gr|%iyT(B#bzONVO{bUET5*NYhY`iUrSdal?|&pD#E6|%MP8sCo-4D#LSfV zb$Lb}Y`d@gptpgAfLi03#cLAj3Jt6OV~+VF^#jbX)AwZP z`fSHPxt5uKt4e*eHHn%o@zafAxtZt?@J>di&r#1c4=HxruiZHL8fH}`e2C;Odam_7 znNivniCVo^ci*OlBd)ng=+DV=*OW6oM8Oy84^j`|yGa`UimE*mxz=f%{?DX)CYYW- zcC9Tog26vSMLPZ!z|Fe1Ps0;nJzW`x@cMP$aGP~D`jN?A-XU4bT+&aCt`sx-w$I4k zVB;uh{*a}&DL*G_?-P8`E2#r^Px||OW?d2FQg({w6n6RKoLAb(i3KxNbgp_dWJ_Cm9L44(R`oWBVt7%Htj?NLWyAxAUBBim)7n3uP(& zDEElX?V%nS+s;L)hWvfM_ro>o zvk8AJEQLiWrDL?Y`(3sxQ4({HdzF^8T2vo#Lhi(i1zKme!}tD2UM^_%ntop$>ke)2 z)3pVR0|P7@Fot@Qwa^)#rkBp-b>&U#0kmX|ny-sb3{Pdj&NCii_cmjArTvP?ShdL=HPGd&=zYgsus;@%}=nnj8eDozVA{=>!UzI{xVGDpl4 znLt5t+E1nkYhFE-tp|mn%(J;yduS1tJsdGm%<`uY%B()?lO{M(iZ*vTLtw41)Lg-I zwfp%{ejk_N-59HGnT$nR8nY>7yH~d?0gbI2zS23||9EiPf;=QIy7a@QbmNR}WPzwLF7u;zeuN3n$B_`lit!v%5y zl?(6_M^=j8=R7KzaPc*-^n*1%Me;ni+GPeGy{H;1iMx%x&M4ydoVwpZX;c9PoKT@>9Wo6 zw+G_nx&hyu7b-&m;i|XOu>?~DvXqy*tCRqAEtXfibmcCenUHDqQ375~aCBRFB0%lxvtvxy^m%Sbg$P50xsP`F(XBoF53msb4ccYYIO=#ROH) zp0e0ZbCxoXE|egb>*n&hjHdk6Dx^7Rf>JHj9tR`){GJMW5kt49r2uEGJ;htGfXUP+mCG) zxL-G{K|`2NiN?woj*uzq+&enoKWW4}B@HJzKN(~Y)=m1+JfB{eky(wy%{MbaC9?hA z$;&1#4lKnAC*3mK_T7sM9~eH?T?gn)WM#QM&C{PsCiO=U1f-L>yGNG(Wm))kxRhkt zVhYXz;^bAfA|PNMbRYLKyN=GRrd<$}Q_|qiczjBnY2Z5x6>=y#wLyjl%V0q-J6Jh% za0L1syB#j%g?pfezw{0zV*Esbvd7pn24kV`_vt(BL>dETB{*FiO z;os)!q!hs1o;vX3oGXMDI)wJIAK(+Y^8E!KP2&2Odgb-tUJT&bjbf|Yfz@wlDyfx| zmM@1h-K_#gZYC)5U${BBn%`XXCo=z00skD;Eqzs>5lz@LOS4&_ z$<{eZv7<(U&RzmKiy@}*}3bws4Phk`E0X2fyZ(9_L)PTU_pOG;lT+< zib2l1bNURLr|w@z?CFsAl^7U0roCbJmc`Vq)i4fP0Dvf4qtqAaj8I_Fn5o$k_H1&) zg};IH0C_)EV&&|2_aA&oWtijQb@53e8)#}WP=qu+H#{Ggp0vlfE_ff3bpMq&Fp2{p z{<$9<9oaUjwSLnmez!Ju*ZQ$D?9pF4dZZGt&Wj2E1FJ!8;cE@0BBS(Yj9Ww66qS9g z*i~Sdc4v3qx924l*|cBadi203k~{XKQV?$PBh)G$X9M<8b{`K_31{ZWwiy{2n3_>` z);YP=i?-NyK|~(#N4BnOVoFmdBnY`dc)X2lDPr!PfDVhp+PgL%FQj^A0-^QBz`%0= z&h1OR$W!^jDc?>e?5=@SCymXi4h0uyCG(4N+vL5NxJeoI-SYhqf(#W0+n~gMfo(~+ zf#Q8=v2&NYjI&j$zkdHNx@Xdl z@)DURt+;768TqfsPVg7tDiwL%$v`gI7mlw|7*aH;bdYSI3Rg7?1u~E7B^P;>=jId5 z6@y?~bj|@C+oJmWEt1lELZ9q&PhYQ{X>w$QNnWbncX8DAd;ncXU;G7>O;F5!G&&@a zdkK00iSt};X|R6~`{^Uo;bdXM6P&i|(uYM62C*IEz^fDG+C+e$5eDfu#>+hrCx!34 zp*)<$i1XjMuZoG_Ga3i~sVKLC;wba>@_;V~4*!);5uQY>@z}||{-x)Ik6N9yK|UNu z@y`}Wsm@;(#el_*KlpcjgzeVVM1r=>x$h^X-a=Oy%?aOiTwSodwZ<4jj%B(FG5kk6 zgBj)rYRrnvKl-DnjI>k24YM<|EVgL*TIcvZ=GlhzM_BZ$a@on|lxlM6=nII-5{u)` zdEjNgN~<3nS-orA@3Tb8)IUN09Xi>J`0;OU!^eKQ+%s@yJ&Jw*#uFP-le^Xw(NfXh z!Z5}iWcSuc9Aag<`(dWrQmqEY7`Bwwshnv&vTz0h zE<7(qilqR~9WRpnY)jvv`qvKx#6x?2k5_ywzJL~V1(`h?uKS_O(XZJhitrR(#5C#; z`5CU~%^mitzvWrWK|Xc?Q0EAVK)2QkJgw~sJLHh69|!g2Gc9*%&#m4{R+qYG8h=bF zy@&a!0B1desl#$Gj1u*mQD!QHe@@@K!2nOMwv>eRW=w8t6pR16#SsPfN5Y3Tm1yhu zkSdj7PEkD+PfMA*rL4rD?wz|kXI_=IhOn4DbV()muv*srJRlOZ`;T!~S9-LT7o$aG zMF&0zpYE@N2>D3VjLz@9g6Pk0qMS%Ic7od1wW`YE!YrwNkmL`mo#v{b*~|A#=vn zX3j*%`?n`kWlQ@l{W;5G<4z{Om9UOET&|P`p5QNB15U9MrKE=0LUYRJSsn8e`|t(d zz`c9T|2_wWmlXyJxkD_9BS{H z?$AH;Fe95l8ip&VSxxFRI}M7W675P2omFgNb0-__ zOtU)mEvQGq8gSaHV!$mfZ;n<(&`;3mv&j8)SzrRl+thxox6;V99UyUf4Qx~}7i3{g zU>}3{b(Tz~_hk*!zCK;abF)`{F}or6V_l8RV`|Z}_HdL-{=q?jN|TD4# z7I_ZL=b;>FgI`$Fh-#lOmgeJGcGrs`TpDdE9b1hgD0KReerlt7t`+KIs;pYMHh?y8 z@YGwh^at+JG!34XKy%+^j-=^EKRK;(wNK)cSc}a4%w&PT8j|WDO+!|bIEFVR>r;1Q zKI9wJ(X|x&j{{QKavVL6Wl3psm<)>fK;rPEUE7@hZ}t}%W;=N&QRh3Es@uf3d&SpP%4uX@Uf() ziruch_tr7SC7a*QqUlo@WB}wGcj_dT&iF`jDo1&!j{QBNG7Pa=sJ7yP%Tl0g7}U*G znkDlp7nD*M@>z9G4B>;CMr&eh#U@rm`IpFX^YZJp0T-`!5-zTe{f+}sJX~PM?)9X) zhNcD<7O$*I0@cP=lts&xss5&TkxFzbcD=C5mx+f6Y|v0ALC40WY^~ioaI64FX3E)S zu6mx*X8wigrhQQzq2v0@47kcJYl54ursSfSOKmk>>mseW9SmR7IJh6Rx`dq>t~+cW zBj=;XK9vp{Y?UYOdaLZ_Fm9#(H+BAy@pjf>=tzltVr4-opW;-&cj=Y7;_Z&VPNTzv zXDQ8j5`lfy#JdU8VTEy~7ejT!WntK&M991pZ7$q8TAsI& zQ9J$Mt8Mo1Z1L%K%_$YVfQUq%rw$TY63r%pqX@_24kP8Xj-C#uGv{`BZ1W?oW(ab- zpvaG@^QdOSz4@>|sV!M^N?WMMx9UNo>LHr1+jm9jzes5-#`tkW>~5yoD=)j<=Ujcm zd|GcZL*{xSe)WXCF<*_4LEi$mVLv?4lX3rYQ1o;>>>bT_iFn&GWeSI@lT_;$KIXlZ z2j}A4=oVY&#e~UCtHDKhMG8&m*&2m3(GHyB{9ne*(!uQW35KhCid#zQ|Pg zZKEWB$wl)4$*cE7KlQzI`RH<|SEzuq;*7LKzczuKoKac{~KoUbzSJpA0TBj63Do`knH(< z>-Ow7U!_jQ|CzydH0!7(840Otr{zq_**Cf-*?wiuJmkw^8{j^^-wYG6wI1z`<8^R? znUaZgm&-py=<(b^$8yLYwKYfHnE;g;uGxtPhJsyT;HD$p?A+&Y1?;~$>IT~-tNf1#h(q;w(rd>sPyy0@9Ft;`AU}8#gI3ANo)B7 zzaD+%%%}zjb;xUuyL9CFh43KJE+1Rj3EOsR$lD!UA+$<3|CJkj`gH#!4!_^U^hqA2 z+d1s6-9^G-6=mh;<=+)ftV1O9UrO`f_)Wy-E7xJKwEULuB*C<4Hyz7R#^Eju`mE^k zlvT71d-n+2<=EqEu z4M8MN$Q+WeE>d{zzvF?cBwhQV6kfWzekeKp96BUubgl)yusxM!lXBY5hKM zcm6QZbE9g&Cv+Bi}!3HQ)V|o zm+G(&ys45~%F3DuuaK1wikrOSEEBqgyb z_4bqafhm|}^EE;G^45K?-&{sElT*_=a?s~B^^#=N&7k${Rj<>08B;&JW)V8GmPWZd z{NObc*kluQ!ebK;m|ocXsYt1w}r<#!U?`TVw-lo0dhAn61sSN8gH@ z49I9I2M;l`IxsTh9*{6W?kZ+J&B+Vn)hmoxGvxb8S=C)?IObk!qavtlQYEXa?6V*c z)8GJSsrhn0@PjGoFfe?a_t=2U-SYfTGwt+rJY!o(L5kDp>lOVyvtYV|!>ml4QE~m= z7eW~^LSvFIBM-=DUmzJ+90YQRRbOc1KUoURwfD^Ka0&8z7{ry7Uq}U(3-JmXT-RUh ze3i#_0RMCG80stYl5d9e$fNT{Gshp|_i~a_%kR_r-Ty%&@cs4tH5)69up>y+c=ZGK_H5msM)X3~ac1`MET`q~eK-mv zT=cNjT2f2Y02ALBZWSXIG$m=ODtDJm6NE7F+@kw$VQqN2t{XG+M4zG5t035uXQ8-s zf-1k~p=d{hpmY3gO80-v@NVfdQ!mYECS>(w6^qfOq6pZkSz&+^T;q%Yc-pL^K~+FM zVW}f1xWAWYmR5P+}{EyLp^ToBfdG!M5H6BI|^K6Hr;GMCpfO?;2w`nA5RQZ2n zz-d}KTZ4E%e}OM74}Vd|JDf?Bw_lf#?C;)9(pF5a+H2GNob-yTB`XF9dCnbV`6Hs( zXCRxr^4~Fv^VtlwV^?U7XDY!s@nc70k2iDncFJp@Z2WNbAKRvKaZ`zt=Zz@ih3O$y zz}lIu_Ex~N`-nHfv8ZxcJfc)Mtoe>i6g>R=5FAvYHCN74-0>ynxiO_Vtw6G( z^Lte17(VOPs3zN7wOnABmaAK+5kMffEAJ{R_^6#%k*&h|9dhdOq<`ornDj#n`mZXi zYIeQG8pL1@)nzPpYMUq+e6CuwS`3l!mi}gKbN5pg1x9%1xN5DW6kg)}@F1IL&R=r} z5Erp#v-%j={f_m*`ryz-B478uddlKN=gBJW8!)>ES-_n85_sL z9l{>EZqKsYM3P5&AP`rduYFGs3|CH9OjBDnGR)!U`36mg_zIObr_m`YEl^Ne!C%C| zszu$!z6jDSa3}&CbiR_}@m5p`#0yT1+>Pm0lxNt&ZtJ^W18|Mzm@U!#21QLLpVU8kL(`sHUYkSQ-qu6a4udVy5dx%@pwc=3Z%DcA|I)29;Zbc`4Mnerj6s zkmz158P!ud5mgiv5JaaQ_+^yGIIlxT4SoL~MiSyJYJ&c%1t}NClT;IPeM5c_lRv>{ z(nn`%3BQwk3%BW%^+41it_{&fOsFK?fIGa+mW=JarbU~NhE;UuIr&z13M5q}znv=j zw!WhfX9ED~sg*Z~{Cm0f{S(OC+9-&-9nUpWj0J%Z=DebYjMKerZXwLq<`9+-V1cxo zLoJtp1+Vj-9K;khm^|BJp6MoAD$qwjd!2;(%I9<~HiS2cs6NOJTC#0{`MVYg z$hSJ5G%+0=4DQvdlgE>KzH}=BDi^#+|AQ9{?r9$u(rD%vjF2pv^L!B|cHCvEi$`Ip zpWVyVXSX*Z;XwVN@sN$)4|o0lL*_)yX+6K~d7^DVHj#YZ#S5GCN8(?)6omgMFDcni z%uD{V9yj4BeWPni72l0DX~Ag(&DeoHgw0;rBh}L%g20!1N~aA7J91W=7b<5 zh5w0|(~$iXxAZ}krbhfgeZ#}W=c95AIYw$}=jSJIC@1hz)p&nToA<$DoS9$@B~=Vv z3?7)@?l0ZFg*RZzx7*Pr;DfIXs|u=~o|P%|x-XJhYqxQ0ZquRHn+T3wSjo%Ivw2F` zL9p)Ws}8=v^R)t`sp?X42V9c3X7b9r8#ykb!xE;AP@P+VrXF-b$N!e#!jP7cM>Ystc``da}Xg+;P$aU#lv=&4I6e z=9lU^=ayfW@zbQ%sFIN@3qzPQ?AAW6oGJi-AeYmf^FdQdBX|DSKcl=z{e-6{IT*73 zh`f;L%X?`3ctiKnYoD9Pkkl!>K%O=f5>@j5`j+f}W3=hcr`(}|*T4s%{aX|1SxcY! z3)ZdX-B${56T|=iBELU-=5cndK zPq`y_7?z7E8yMW_*hwhJYs7t!!VumC9}7CiVXMGtb8Rrfin(?YYgOeF)0531j8MP= zZm7ZJURvqWcF>nt*2Oh%@vlB}g?uWCH8s)+wflJ=4x0iX{7R~6-eVpRU4&lTXYrOT zQ=Q=TfEB)cBoQESMNCD}_23Ux66g8_$J!#PVJqMC98qp^wYZnc7OLNkA6YcA#rz!8 zMv5~XZafj*Z;%1qyKAS~0e(Gv(MHS1x!53x>}@@6HH4-+_Hf7?1@_Rp&k%CYR5*3I z46fhdEvc;u2V*(ze)Pli4J`CU>JH7kYl?g;OBq&X8hIx6kTU0+jmgq8al5<7?6He9*Ket8MqPY@yqh`@J2~8SZ3>8w0EH zyTA6RI~iGD0_lo4B$$W%>Xb(|zm$i`E8b;AdbTW1jm=>OtaX>v)Nx$ z$L{=4pn3%g+zJ)~2s<-3TRur7pZOK45n=kPKl8)WLGIQC!4_b(-iJVRl>G=w7Q7cqq_kn&<0~2(nB9t{#0G4wHlX-(;|UB6B72+Q8y z-}N^NZ7jF`-=&NNkO8$2eZf{;3%c)WI+s#+YjC$c&0KptUby5w^gjtkCg@ z;_sH^5+v!`S(D+!X2ro}1=`k)PhhR&$tl#R=HTgImhf3BocuX#%#F>bKJUZf+#k$y zxi6>XA34Q)yq_H*QzZBI=d=29dSlM#T3aWY7zAJKKpsL0Nsn2ba$FguR` zrQ1(hqU_lJNP>4mV$1nAwG8(eu#TSL8q4c9gUX~IL)EBQH5aPZO-#T6*^1FEORLo+ z*w0^4%f9#6tt}m^!|1dY86SuSvDn^)EAe>?6b2=Byq#1--VNn0UmDZcTs0ZC z2hc(^TU6LF^;~FA_u%_8TLFt$u46Q+B~67e6PHE72Cp}|fX`$2nl30JAU?ijZtg_a z{U?*CXv{9k#^Zl2irGQ%SIFIa{wXyxPn4EDT#71A=e|zfVw~I2)q+SxC28?WC)C-$ zG)Z0ilKOfL0#5`Fu;QHGII*T=wcKrSt1!!H(DqH}2!YIHwoj>ia$XX;Td$kZtQ%Od>-5dfKmng+3Z< zDZEDJnu#NtcKzBi3dtJdy44L;n+a~ZOgie zTi29FxS8U#dufb7V-4d5QZeb-!pF~#K1esLZld+zwBOvVo+*0TmiAQBr^ITkKKo%O zvrrE|DO2Bdvu^-C1KchVB+1$m$`ecJ1O?_DAXK0cHOA8oS1L z$kw|kANhx4MWXKK^!A)*YgassH&er~wVbFACBUxtk?8=m+vmr}zR$ktnC)YFs-SbQ1B1>qxQr9C6zD93(wB{TTgR@<-4 zj%bx}Jh>dhoR44ieuw}U-|f$OJFJoKL^VY((c{V!cUQ!ixk zFctA_eRDT632oti3*n1rx=F|5yr(V+dcA8oB2y2)YfScB(rPSS+db7KWRi>Ld%t3R zatZ{b{(M}QgB{_<#iq94ix~k?zt8W!ofO_1kR)+k;v!1v_QDsvTTP^dRx%p1l1@j! z|A0V`8Pg_88@qoq4YRpLFkKDMB4V;GzNnHHx7UWRYxwu3_(6N~+AEUK)Q|r{sy*;ZjQ*Us0>|=@kzl8SJ z&Ci(GfHfmwX6t_5Qvl7;f-~QWf+xJdz|+N3W&g=7vZbWCnU>ceQx>1cVc=3ArGIuI zzEz+NX@VDrOAAn`N4U`3Rxj)QjEpJD)QPX;v8126dWUng8#1yI=Y?(}*yKMq9|-@7 z%Tc(-!GVu;BPg+|Ftx_o*}qbZyu*=t>D)l7Qpcm*9#PFcdM?Ty{W#sScgcFl(%GCi zkiE>^C80fhTmqML8yf_J6c@YnAyy z{T|uYo?K%-zVVu|0-LS=N{e8)}-A&;wPv>si zJ5P*mNYzMOVme%%(}P@hCV?;V4C0lU5nYJUr}51idANCk2z-+v4lT-WqHg26PFcBv zKG)E|(UUD4Z^dSgWoY!_JC(Adl}R69oh)00i_6~)llFj*V+P#*iQNd9NHR(5AjX_zyCLWty%k7mKVy=1$)uxw|5 z%f(9B^L_`I)LC+7m5+fv`kZQVxh}tYOX-vbb<$g+9#cON=uV^!@a z5*!`G@Sv60a>ZO$g>iusD>YvFMJ)IQj3>8s3tP+EDCX%`^;%Ud@< zc9sp^4^lk|#^7>>IC*-#{%DP(!@L&mtrf9Nk1iUW7riEZ!cEvyu9hJCJn($MC7Fpe zcB?As#GZ}CE$s&*#Pu9k>hd9V_2j*l%2p;`;$}tH7}Mg$0>| zjLBW|ynQ_72XJhki|cvHqTBhtY1w6OBWQ*$S(gMkuPE*B#tsbbW$>lIx*E&E{Q(gk zR^Ao*PNwCSP{)lT=D3MWJ_K5RLz2%4?EMo6%~QxM9$(p@{I9bRx*Sks%H6D>Z!Am+BZW_jOXtt}r|28GH5 zP+MF3R?&T$$vXvOm8PFV!#BeS(Q({;Ndx|?Ee*=x#1A8`OKlJE0aVf+=^`T!ivn4# z{LAO^mEQp67oE3ubE*KBVg5Kpuv3J)yvcZFoRtCo>e;JsqEv6q&2I)!uNh;7pxK8Q zrR3NiYcbAMh9%7ID04|(Y_T*`@EZqy>kcHf^TnQ|KAgrZvAA~8H%xq&-eh7sZaoW(#zX00-}ADR_!mc%9|g($ZicmM*~ zaXNH)T-w-t^e|yQ`?4v*b&D=Zp+(X>vql)$eQh`MZoOY`^!xV5yJ;x z#^;bzuG~V}%dL>wGsGc_OADcpui*k!i?I8^-7tip;AR&u&JXAo4r8TAjT{|H=7FBc zNEiAr{(!;D2r99To_tm2!I^SRv!>Mv!-|%@G4?_BOE(vHpz-GqALU|o{~XuCp-;+1 z@qtvb7j|*|`e>ulvSTB_l9kg!nEXK=mek?yM%o_mN7`)e5i?;*i3#CwM-Cm$si@^@ zQ|aW)lL(|j2RI@_=hna^d~C~D^ql+qWL#W49Tg?4(4sWLs-_aLO=fH1D%>oR>%JFa z#$^uePbq%3m5Lp8c2%*1Z$)_5bljmSr|+=#Qlv|WYY7mPXd)lViF5Ae8o@L%-YRod z+)NYBn5%G4eI~01(XbW-=Y(vHc7f27fW!gHR%brpQ=b1F67EPW-Pd+$tH%O8pYIyegT8ULJ?mK5S*3kofjt3?Iw_YGFH1*6^UToH9 zcd3Dcj4g0I{yx9$44j%j?vnF(7E1uu=Q=0oaJenB%h0mZ^5Laqmh!~w9AG8VAYvWB zQ=qj&rQ%lQP?uGCRxZk|Fb42(^7SBT_7%c-NSHM+X9;?bkNU-eZa=q1)7+3Fsdagjg)TqzM_m8cM(`gW7H5RK?iNI^v-q=j=uYj#@VP(O?J_x8&t$G%)(9=VN$o^^ zXR%YuSPcG<`@FCa7I8QTXnUb0&)$=r04LJU!Ngj zRjr|Hlm50%J^Mo6d=x8GZkhctRv+8{8_D*n|9`(_evzYvMCch*8@icpfrF0Ker%+w znqDh6flARDelWzF*e70*=S%D^ynD9JX2KMHowAs(DMxUj-@b<6MkWKkG-t4h+pdV8 z97a~-3m<5hurF4{T$oXw+~7yjnCSjfyCvx?v-vL<<0osk4em6J2hMC;f3fW zDdUQ&Zb51bGJF1)a(Rj4`3c5Pg5R8zH(Z0Q{k2QGSJg~B<=U+xIZvKKIIxazJ+6r{Pw& zqb8_Kx8k9hrAoviOlcu>l5buxCCgDbXx?O1e@jq&$Y6x7r2hqkZNx|BHE z7H`FgB%lYwW}bU?4=uOrQ-o;vTknN6c_cL|=Gopyi1*nxueTs?iJ`DNG zup`^6>>QYGkH}|HnOI&i2!@_tJ-D232 zBByk(h4l~dI0Kb`!BWxk0YN$x>9HKjzH1YV7~y+BY2}+kU~__+RAK~SJG)zxicA(Y zk$27Bnfv^Yb-B-B)}419fBrHSCBO#z714vqx;|m*b1#A1DQOnGo@quANE9AT%Qfug=5?phaa>;CL|Z>CanaN-^N*h8e4&Ver^4wW z>{n7X#vzCQ5RFM7r%hdn!GYPg!B#&=zn>G!!;YKTjvrj9h~JXkQ;$_V&WXX~HpHc9 z7C0#*xlGPw`aiFg!+uv^q_EJ}?%hO&!CQ{V^}17jX~zMr!v!H@7hr*)8sp!DzEV+P zfsYbnt1CP-1M6ka`}DoE9n--lcOJ29ciZU&F~ zTB63L7+;oG=F&}_kJ9<^M%2$oM67*&<4`Hm_qG780#Bb!^Vx;^{G>9H*1$is&FC{= zc0X;;>*C0}xu3q1Zr6Sd;dBpp1)ve5beJ-7s4!b4Yo5HS=8AVVHsRbY*fXi6myq@@ z-lnRmTaGA|U%V#T5bbn6a=P>t&}_98z^@|tcJ0f@?Xw^9pFA4sIqpz63`}|xiA_L; z+}o1|%9>gi%{~r{k_Zh=Zx>YTdnd3jMn3O>qfZ%WRb3MHlXwT%be41 zoU2jZ>~x_9MY1kSk4q1k4$z`yRuXp0(r*t)&IG$lM*2hqJgdjzUjuRbZCaesk=K#n ze{BXP7KQ>Iiitt)zn+1EiX=nP<#ey$NsAauxa9+GKHyFO#`tEk>_6Y{d_S-LE_sEq zI(lL}9}@-fTN#wHSp|iD*YX^EWxNcHIBx2YyPsFle%4I2?~xeiNC$i;1PI@EAsi`_ zWbzw{&cxr7p{u@omGF=x$RS99?a8TU`n=Z1 z1XDyc81c-rEXHg`0etr1n{EDWlcVS0z(4ZTDF{rh&j-M>O6goNV7z;tv4qQ@s?R{f zqN)!4d*Pf71+I)%ZLO}XK0ynfXH+5Z|IA>6BGpIBvhd`N0pF%{3IF|AtC3IfabvVn*{z9I ziFqu=o?Rp2=MTjwGwF3x?u+j9sz^2;2Z$6xhP7!}|0gLlYLLg31Erhz?BnYad97C{r5FOR zRbdeI*c<5)t0}YWfYO25Z_%Otp9R3BEfll5w~=>mnuQ0qi_-4?t1*U3{61VKQS{tNq0E-rk#DD*IpkO+5?Rq2i0H*b4- z-P-pRzPr8TEAHs-94h{57+AH7KEGJLqe?6Lxr^r;l!aG86wcQKM(>qGmr$V^vphX! zc+pIVV^LNKhRZvob8+boOJUcpCJeQ{Ev{^Ip{=)2Po&jLhlgq%9wQxMyXu#W+J1Uq zc~jw2D6G)!uThc6N`L>b%de{S_ei>oUoBj8MaY(ablY=W$PQM&m=HOH+Md$qqeg2+*-R{lG3loBvwQ_V9k*T7~DLn>$-u!lp7MeKyhQ zY8JvykXXf#uq-sY+j8LqhM(siTqO7Ix0Vu*XIqZbW|a|?pjuyY$0G8g6nwlt3#JSt zEP%cxbg!KCrhqOJxJBd_Pq3v;{y)zSE|0YIY5(o8eLKnho;kmgr75Sed+DL<*FmdU zJ{lz#P!Zt{tEztrix$M+WoRT0Hw`EtmC7q)#!yy^KO(WQPy<_87LHBzq!|QgB~%YM zVKG=w7Bik}NiMHEFUUm_SK&Iv~!q=zokbTJF`a~XNA;<<2G2k4F3|g(Z-D_tfw^HQXN{o5kAe;G8d3@K@}yh3gTM2yeZGSBMMsmxIK6OuC2e zFM{jM_r5>L(Z_nV59zs0(&QSj#D)jUW0$6E%%=!d(!5Ej;!IUSpo9EcK+fjN}s+0)*}r7G$u@OX1i2sc9Mb z3@;NW=7uoPjNVvXE5~Q70XcF5~9vF00Srdw9t4d%A@r4qEwSc!+2?x{iopA29|N>%gGCovE~;lso6qxV zFE?n{f~2UHW|lPElE`(j4npy`yH`TqfKK#{+6vqqs)d4(tYx7KT` zJZldzsz$HYbseQIG(OeQoC(x^y$KtKA-kP*AX)6gri9_;T)%C4(M{xZrjBpB&BiM z8{F1z1g8OZ@!oyq7@LmtTmPzM#&11%8XYW~1;(+w#*Br0TtG{&Lj1TAJ9v zc(GFr)UE40_<}fm#cU)nBz)$#%Qtvw)c274CF+EEFl!d})1INF>5lzkgW}6^+}3=Y zp7Jez$N>9@2yJW;p1nB-3r=CQwbRa<%W1@adXq1Pk{|IgdN|l-Pg;vVm}fKS^k>wa zty;IlXXxg`^o9>Ck3RfxKfTZ!xU~Ztg+YEx6hh zcz69qzS`=>f3ANrw`zcsZZu{mZ<6*pjlU{4{?aZd)`0Tn@8Ro?j7I?8K8#M3YJM?(=26I4ovl33Uck^40>1GWpEcW2oy>aF*{cOn} z?A^GAF?y+$Hv9GS_4KU|)6Rx4`G=6_dY)|_c;gTJ8*ldxdIKr@!^pm6J#FXWLmLHw z$x)NXI0@JrRlrM_C|Lv4I7Y2N0OKQAoLUayvm1&w34)u+>A5@^}eD%-mO2$21Cad|76_5KN;+2V}JI;e*r&x*LLZ*_dSSY&=DWZ`?OPq zuv_GX9h;)D0I-OKM-aC-#)nNVSkWZV^_OS%CaxCLFt1NT#}-ls|Jo(8jjPULC4F8d zgFKJzE=~H_u-erK zm(IZ^z3EX5v2}(uUTb5%VWhP2g#$nPWz&4uvnN2qzyC4S0yv5|Z(H~q=cCKjck09* zo204Nn}+Bkn4M~>>s-Euq?-xq(c~zd8gE_D$F`A2cm6y1s+O{a#T9*EupmI!#STr9 zKgVWWq^GSnHAC~)|Fa*tz2P-4o8Yhc`%iPD;y?ax{_or0{Cn@o6NjI;eIy?r|5QE} z{LxQ-sZSvO>_7U@?Qi~H?@4XA|MrIbxACz1L!0jveN#S?{&#=j1HmS5u2?vF2!^zs z7@Y5eImG6sE_n1;pX7qNlXF{j${rn^y9ERPd!0DPliuiSm-LC(*2En1v%ILkuSHeQ z(ZugE_H4@~v|hTa=)@v=Pu*gw-Jv$Nk_)htRQsi`7gk4Z^T!-X z?@(R*J0d6SWV2xE(`&|6O6256KN}yvXLw+wX9u+f|4b+7#%q}G+3_sC>!XZy4pa5K z?9OI#p%;qj5liG(Ue4u?1ugqqC-`nOcKq;1Ki8YMo~ZoVP2d0Ux87OZD=#wetKfQP zerheg^r(%3(bo?w9yjNiGue2X8={PG{F~UmY=ysi*mYm}-FQGs{%CTHHh#1D9`ZY` zIj)WwfV;Tu8<1%?MqYJc+>2wm!e-;$0U5;hFz}n3uiEiCf5nt|JTU|t`aV4rd$I*U zQ0b$y*y&!Ea~;_Z?p{cwjVpbsK(5rLHKs9XPyNBe80V{rgv0F9B#Tov7sKpjG2aWQ z%XYoto$+X1_bo5Iz4p~FzT+3d>iMqJz<>BFAM95n^rlE!y}|RPFF(~Ax$n)B*=+NQ zmp*of-`6l``)42cRbH^w)0xd;aO)hx6UQd~3sxe7^OS6tDl*m#6jF+kf{z|3Y=M1|*~Lap^4=_hi>% zgdMhqpIzv14CdH)Pf*t&5vvV}y>;lY@VmCP=Wl-0T^E7r@EZbHH@_wi%vr%wKSkov zDTl?Ywi~K$(X&;L?DWICd{}+fTAcdxqVLI>fl?b*7dsA<@D!W!`)tJ@UcGLry_S>k z(d2O4A;b0$ixiJ!( zxj9q+7=s|2b2`~p=PtbE=a`MyJ9Y_;b2km?MxKwOt6k~YK16+^M-IRn`?`2I*tQSq zw6g);2Oqr4huMxib4F!FI@x#QbDZCTrNhZbO7|KnvTbC@{i+;hWEfccXK&uQlgpHm zQ(V!vz7B83vW_|%?6CNF|6L8qIX+_38c)4UQ?~J^r>%7{{ODmU-{YkY_Ie>aI(MXP zH*04r^pFtJ_{fE`~po}M>(99>=*hqt&_!cVlOK1Q>dlx6c)_&O1o*|Ww>cj;- zYZ}*m510c&YB+$egJFpX4$DVbhF+=lU-taPqB)TlRxak7shB~ z&s{UAxzqjBsp7n10uVUFdJ#lGYd;)$k=1)2!GLeS?keptQQ5Uh<0mpEH#j>7CicSg z#4DN9GlqWD?K(F5yLCg3)%QMq9~tb}2k3GPUE_w&v!yqG-JDGvb7D5S<5{23i4a|Q zWyGm5n!DMze>E9Bo#7+VAF(0-x8ePbL$UmJjHuj)58}uLm z=w^;?%zW4P|M=T=_$jawOL7a%t56l}K(%0mF{b3zcm)&=cVk14F_F-qIy4;<+Vm83 zx(7H(dM27KLZVb`Gk`G!RT!a@Va_Er_BP5eRI%oqV&qL$#zvmS5!^0XYV-_Vaim|y zhnO*J_~6Y^oYRjzhezL)jhx>6;+WzKzw~trCOA5A6zhWT6k%tMyHLyk`c#FChl$Jv zb@n)JoIo0X=f-gEfCc5eCJGPN0c<8gB7`-uUA(+n7GYX4> zv}9W#wO~aSEVXm^!)UPyhpqCmhn3wgSoOp4S9?o8JOJY7#)D?|ptFz9SL-w?Q0z^Y zgPpv~Dh_KK@_TVpo{I?=%*R)f4~7{Qw zUO6-7$k%zs@~4=m--$Kyyv{rPlvQlWYOzVDF*I6H`Ku>PmL3^7W+9IhG3$Ln-=E+3vaJu8yF2Z-xb=L5FBv(VPY31&6y0G zpVEv^I<@CF+a}mvRHuh8*^b^vmYY%BpP}8(1*3QsPyf|lee3_{4c!0fr+(x1U;i(^ zeEag_{?VQc5WBl+-O3Uh!wdH>{l@R#{>i&PcKdVR_bs*eCGKwbs@&B0_HTYkp2+=h zV+%%l;#WV2ht|LhNjrO~_nlsvl zw>j^g4uOy%wJUw(uHM$m@Ho8Y^TRg;Av$@|r?ue-zQ%64)pW6dXCU;#wtP!>eJm<; zY)fWu(C1uk4BqNgny`#t_a-cQ|G1(c^KO+)CSyJvjU3=hcBA*nF-+yGTmwn{hzalb zk(uVcI`3UNHRlr(Y+aPx5IWm(`5rF*mYas6!c%>i?in9t=r<1c-QMwYzkPc&-wpkO z=Re$b|G@9>{o)61Z~yB*U;D75wE%vr?HQjFdaRa;<1P9~1Rj624Be?U>lE6 zTm51 z|0AEOZOP!fbFqXEI{JU&Q(w4!;?rNez4}!zTCSz<<@rwC4`l3Pk3F25y<^ z8`ruOAjgmN>rMJVzpi60zbz)%K)o?9@=xG|Qs&~Ej4qldW|p?R2w_?Rqii@CQoq;APHJp&SeB{ZpOUQ;Z*5!m&75UoDlk zEh1LCh$c(!@hzs;u5pT&zSf%X7F(?o&*AM&6Lr5&IAwhM1Kv$MTmN2s@!tP1h~_z= zmo_wu=^UiZTCg_AX+$>vwm!_UiHrQ~#B%TAkzm6RkArtFH|Xljc+g z(z9>=q$VayhUv;<*JU`8Bi`GY(e~9j`_?T!)1FO^uod#t7RfnZZPJcc-{{M6=eOtt zM_(j5#`}uL>Kxo;;b|@0Bh0d~yOM5PuM5?fZX{z)|J050U%O*+;O`umHn>}t(+A9S z9B%TV@BEXa`3aBpmo{*A?V8#io3j-;VN|*Kn~|9}y4LDp)*O2%sW!W0rpJ)lqdv*G z`RyF*Q_Hd&@4>AuwH*c1-yGsc#|8zfQSwdS#h|puhJ3*$#Uu7Y2enx0oS1X9%@(%V z_y^C`6!Z1`v^lCmN;eGbWBk!&me1hzHlbT~DT;{$xe5t5OhXMetIjOk#@w6)IZ zi##^3e(5DkZM9|r!JJVjIk)*+IXN$$DAzm$#1;Z}MuV4{aq4Y#3c=RTvu6inZ2g#V z=&=%CjtO_n4jIv7&6SCF;=1#iQIXf{v0%XEtS3*LXyspH>aWPz*Cq19g*i6sHKS_{ z^uW+5hT0qXnIF>!&wMF?>VaDR+0%ktpwfPL+uxUSG>JmES_gHs`a zy9)?)fDc7xt1b`3;`sKI{speHWH= z3>LB<(SGFzKqjqS@DI1Tcy4yr29+7zMMCKNALGM!7sBE%H8tma;wx0(sqf%{`7CnuO(Q_!YzUAgqxHySCReM&p&zlKY!u}VHwkf=GEV)F4;!A z92M(_j!f;aUJP>@9g?@{Yis(9(WX!QTqbNxY~=jem~UU-}#=8Hzv1u&A@D{b<<7zY;bC>*c@g^#HLL>0SXqi#QB+@=>~^$`#2`Y zS;OS32k59xGhSlR{3d2PUx%OZe)#Nsd=ot#p&So_$0J9@VGO8~mjn3_T>L|3pEfFQ z=Zkw|m&X}B_ThUSr%$c0)yKgpcFjBVJuhwKO!i`h4)^jXu?q_$gpSX6n*L-yo5V18 z!l*`^y_oL0gYM}Q$JqtL)~j&U=D~>1cfS6Ww{Ljm3u_B_eUI%Izx?Fw*Yl|ac4iuU z)Z&hfJz-$?Q`a8PS0;S!3s2m><(pny{m?x>|M>CU`8t8epLjZSZp!eRH4%NnGkfFN zl-@8MyElJA;$pHgSDpZq)ToZmWRaSae5UX5W!FsUGGv$+OARP7epx51+nFFyI?JGxVsUI_r z4va8g-@#7*Vmu6*zoBVf4b|-uza*$WC04H=cnNJJT_t)IJ~I$A>-G*w$FczOj?B zy@p30ArPTG@lAH)*uZR+%XWf38KJp$;%B(%0+%uU6UOXVA!+ARvBggg)nB$EtMgCs!2wfzksmr6r{Ct>nCTGSSjvmg zw-$$&dfhobbo$}Ci;c*DiJtfrtv34S#SXyfKRUolo_eO%!P^=JP?e62tcOEa`=yy( zY;CJNgy9=muoQP%Dlez_kaP0)T$>;~Hf_FS?B-s)(+4kR;k!CKW^@r6_@Z~M+c#3v zX1!;uIIPcu&!}_VPFKKb0EeylSQlJA3k}JWPt0Yr9PR#D#>QSS*JrhH{1(>uv%~Q@ zKiKTG^&S|)2nbni+A-;8XYJG;w%I^^qSN%2JPK`@?PWN7o9z7&(xjLhkQ(VHnmomUG} zWEjI>iWPbR-rz~Q1a}DdNUC3$TtU*LoPmo%~-nCb~$fBh!T(FNgoN| zT%QdszBYl!MR?uW1h$N=?$M=5h zcg8)D3t2Z^=0~)AdMJx8pPd`;rah^b{}BdmDQc-Hz-vF zQB;Zuh+x4k7Qhx%B9<798IzN8lAM`jGSM@WD?O8w#N;@WGnrJA7_am(Cy6GbPAtTR z#$K=@C^Z6t1p%=jO*sGGe?9yC3NM)J+~4=Sd++;R_v&liW$$M{O;CYz9W#&L2lw2G zpQP8sSpT2)`g?c`So|d$h#T9iVb!PdA}qa*lEQO!pAKPMJzd?Hcdkg{P{-q2v(R?B=(L?0*3WL(-Z&9gNoyaFa zTOHId11l2f1OJWL;A(!3EP(lJ{-@9U$X_S?fyHZmfg=V7y{aTDU#Y#q2OF=8vf>JC z7h?ejS07;C^qqVcdSSTnkoK`3{f-@aQ;=`x!w2@?f3M{yzUPscxK%kPzo`EAZ#@?? z<%dA}ufB#(7lYwRTslXW3}5-$4a-mc_S-7^tq`Z;7k=c#W&ez8;Q1aM1MVayx-lNn zODBKvJ7t~Zj_v}RerTDz(hVGVQ@3;JO~2^3IVd=rA2$HV8uup8VIlq=0v!tzzwAxN zCPMgeP5W^BR}{pntjbDXbS22FTW zcoIJ0h2BRTil@F?Go8sT*BZ;F+x!T|Dzp4uy~4rwm2_fb{EP9?V{qr%_y7@qZmdO4 z@i}=3vwS={%@IBHRnnnx9bMLom@Tz;0Lkqmj>$mFuHmCQ_M$gcozny&sLC5e8#46| z=Ucv~ziYAuFVyTmHzS8fytBC@-p$844@(`{*VyON)lupv6hIjZ2{*n*< z)kjDeKFC!cN*h_-U|(gqUw(M2u@=hof9Gtzo_Em|jR!D__U6G{hHO9Liye&BZWLbq z{U9v*Xn#_FT|h27!n z_)&1Q0tX#_qIdjzvQINQ`p@_%*O5Ii6>MTle}J7wgby_N9i8nR9~`?+o&h`l6}#jD z-{unamoR}xGBq|rgCFo?qOpJ1Ai3T%=WuC{TAGK9*VP|ARX_fuU;F^R`a{}Q|6TQh z_tJBu>vZ$#4`PAsx?v-4Kw5_`eU%=#2tsci3v|q<<5K#uS7wy)2mTZNgqP~HdL8|O zl?UJ?>wIQ>bCE7MK)iWaE(XsBn|mm^G$-cu*Js9d**gWlX%GwO^F6*JKBn0?xOt)z z-0FAoTmayN1G3J)i#2?w!DsNwA+bZ?tV`B7YAgkx@owTYx=4HJ2D?6p^oK>mSKlW( zRLf`c8yacrdZ!GH{Eh2SpPO!x35#sLu_YO+_~4@xenJ@WSsQ{+Cw}XnT;iW6u@yOj zeAAbmHlNBoK1d&UTsM}AC-{sTc$U-UnXXx24?Q|DrnTTP@UuRdD!lR8RgU^iSZD8< z_l1xA3s`0DCS`b4Q9pvy|BAoLJHA?6A>*57lVitUjpuwoSG4(8$KOO4IQ_Mb`ftVPhDWerzcPjK@(NaQBZ(Yja6`7(=dv-$E?w`#r7!)4 zzs5xCB2#{~kiM{n|8-oVdk6#G`i=v^=i1E%?cmk-JUkgk;gMTY8Q1`)tn+{}i0^zl z=BDqw-jW=0r};u+tnmhlTV}2t{`iGhB?sMM5B>5Tm^9~HjHN->AYA9C|^rg&Xg9W2@RIh>D(w8{UTQ(5#IEz;DOiW3y;-bRV#(FN>uGue#1h zLZ^BQ(b|ekE3VYZ{l3k`PSq}E@)0EgoB3$wzVgJZ4+G^t8Dcy)p~NrUz||N^BfCP> zTp7LAF6mg`NPTlcVC0>So$1r@cH@I^c0Re09X2|%KJIvudVWIA{BNCHCnwQ8yRCA9 zhYzgd`rsG3%`N1O!E358?!0~*zLm*S^f5esvoeof(XKD+ys|A^(Rptw0$QHS zXE9S!YJ=qZ8>|^~S-6p*`y278H8$v%j^yJlo2CoC_zru6LFWz+er#T+kV0siN{$dQ z5C<`!85oqA>_UXW2?C0OX`E;TFL1jIk$Q}4pv6Ubxez@m6tE6DJrC|RQ37kpkt3mt z)-3MEuwl1~L;yuFl;lVTf>VBJhZeHxR=#S)Ty(-01u;0XRTgJSodm$KIRd<^%p2}% z(@Cts9j4)|Gu7S(DHwv2PJ^Ga%R}lWAfO!G!wq}5r;Oy5fa%8LVouMz$ zby149_8ohaUph*i4XVo2WD}WEMn4IdY|PEzZBjb&qNmQhicP_)QzA~~s@}sVIK|}D znL!ng_$O5D9lW~JBdM#Kz>-&4^~qDoKKfaGQO6Zu!3X!+FURq}=}Q-MT4sX2B!UzF zwLxsLF6vPqIXCj^m(L`>;e+h>4vN|<${*C}JWnvEJ~F4dG{KGBbT_c=slLHK@6Ca; zz7%YZ7KZp+Z94*tf6xh?t_yJRefK3|sn-Yk<_c9oNjECQAK zG{vM~cO95VcVpZ7StzQ*0y)Lr(4mj;lZI|^^Bu@?4Q z>j2G$=u8Yx4q0iFoiFxjslbfAgCqPH=(Gi-WK4PuWM~yvfbqdA@xANy4PZs}tj=t7GHRMvaL&lB=6cN05pSaO3 zSB%bW9;`8lx9Ss9DQI>9p7US%(Z?@`=V`Ou3m*R6ub*DM@F)5uqz;}gqWY=nWyH8y8Z+xT_r zozn^0Gj_4mrl{Xs(E%NGGi}pPEa<1uC7nr4Y-dA&FK9-wG;`g>l>TYJ6F&PZs^LG{ zFD~{PS;lW|GVvX_^S|Qv&I2@jTO8G4?T)&?#|=Q$29BbzaS-SF5?`qoC^D=ER| zgp~AvL3B*E=?fkByI>37>zGIBa+w~w>A$73*h@~OJCw8=L*?()&iJxX-u{7_xq;Xj zA3=B3r#?4lvxhFp;Rcx_Uu~XAfAIC!O&nRQ5e;8-JLkC$OK8ZM`YQVJl~fgnc6DtH z^Z0i?n-^n~$*KI#=GTs!BkdGidZQ(NZq6$gY!)V(!t>-;GSs)okoczS8LtLEJ;Nne zJmmiO+UR&$F8=J*%iZp}-|~_CfEgXMghA)V=EjD4Jj0m}KVVzuU%&Q-<)~~5PruxJ z&Svo!uKIdq$16Gc2>Xb5zR>X@^nB8 z?%*wNfi2I_P5vSs9R*GC(T`j-bYqw3E?u_bjmn;T>haZC<=gz>C$D|;*`c1ILq1{@ zT{Ii7X$&h}=sVIoK5OSxusvOXU*Vv`Q}b(hR@V7tx<-CEG4(D|Vx`)eK6_QX8P_>n z&f%@>Ap$Sy4A^mj9(dFPAKHI1I7~PPw zn_6&eXuzLt<;x}sS)|_F_Um{pk@o7Ps50nc^cG&gReg!%}&LE0Odx<4XLXwVGzTuyIIQa){ z`ds~<{CMhybov={(DT75Png&YR4Vwz#M|(J2bHyKj`ba~2d{pG&$+ots@oS&YmV$q zg}^EG<4sJj{GsVv2A#WGlM9Rdn_Ly24gemu_y~OGMIpxT&_v5xdQS!%#Y71kA!|%X z@?mh38$=0Y65hZL5-f5^&R!f%)RZ$x1tIlYPDSX@lkoMCFsitmW7d;&9Cs}yn`{3n zC~f#y1p}v@Q!siHEk5&U;N>JDZSCm8!Kf53Fz`oalLR>9SCy@UcJbs-r0hf~MiAr; z+|osRK4=S22F_`Z5p$mOOaC=U(4ae5gDysxg}o=MJU%@#Okx3N(gT)5xUTL}X9DEc zpHr23b{RW3Q^(l5+9<&udaLa!YZyc?)h+DcP7}S=Cav8hb~Z`7eofpPx&k544Ym%3 zfrAl_x$8o&{6+VTkAMkXcgU{uYKI&pN;2SujntL@C|j%uQWnoPeA=L`}d! zqOM6Jxb!6>Tx(LpM`?vvzuFtTHo2OQH~P?zZ&sOjf-8Jm@bewIFkwWiffRWKlLanX z3ORHn8Gh8ld)@W%KX`Ht7x;E@p8C}y9e4tdCS3iOb9}hdTpdkq*kNCmAk_Gam@qk0 z^k01|B2J8jq4`?!j(DO&^0b7uSY#*3l-`P5fAR)*ANda+d@BYceDfnRkxi`YsgPg1 z@eMq+U*N<6T4Hi0_ak%r7xxU59V#FWMzm_nwD*{5Jk2E0h%+%+p3_G+af}YSHa)fJ zTN&d6o~&*ip74_+SWf|&yx`{s{+e^Nlnxv@j=j_jZZV+$$d3Qf8;ItgTzfSNJZz(% z4G$Zj`=_36Evnd*tlex15)@jtCwZ#Yae| zoo&>)mOt=2@MN1oqka%zn=g&Mz>tNmd^(^sACP8v%^@_Qo>+tzJ{!i5c)-1=<5uN; z*<6(q$%=Ql*^AE@i^Qfe#v*lcKu~PxtntE(2@!|Y%G=kf%nu9zi`#O6g@Ns+iCJ93(}pw zOoA1BRlmVMcgQVh!e9E6AOCdYybE3o2|#fm1*h22g};x_7E>^Uc>176cPOYvqJfOytnU=B(f{w@`)7%sIrRIGlNhK4Q>3enM5e9|GfvB%gDFk6k^&Dcf{+8XAi!NXMHMjWf-4f zTQI9m=Be!P#D42BH>J7>j3%9LXp^_|_TXM~u<^pYy@-S1%hz0+ zcZ%P*6=ybtajKM;jm-2%0qDxJrO!U8rZV*Df?n4AMSgVHSzqn)(AagOM{^VWrZ_Y= zrVgCW=C|T#-d!(lavfX2-Mka1J{8JoQecATmTZL6>5QLk+WKQI!47n*kV>D*5&r3o z-Qh<^yur(__RKZ?xL)TO;;lLj60go_qjvmnQ_W9f%yuil^+ zaMn@P?Z)r$IWVzn&V5$?@mO1%BSZ##nmZso@fJNr_M4-_fQEM3!VkE{LSUV%tIy_w z|95d8d8*IIP~I3nb^RuhC!=z$FMfM-or3eRImNEnAa6H2gTEUYxkg>z#$$LBUu)6N zIEV%We8G`l$S3$2J55}}uS~qLGoA+Ut`4 z%&j?z*z`&*e3W+ZJN84Gu+TgZ1>=_t@M~`#2OBYlcgKmDxPA3L8#6%?L{vdvjpfia z9?)smq2x3_2~c?t5k4t)=um#)=j(M-E!Q`p-zn`xu>ZmhF=iX6u!YR3Q=BYg8{ji-(` zfpg=3HV8L(gC8H{MpuF3j@J3X-TuK1M!#WaVirUCRrg`6>;)}5RVECp%m*H)^~2zs zJecd?_01TdwUc~HmMTDA${I36&0o9r+2j{UQEYw=5BNa0>%^>e(VAS5lN7#H8a)or zoil~j$|g8kK^py;JCG;*q<+3R6FPBuZE|e71897Uo$-TIg&$1dzc;BNP4RclqkNga z!-GGcP$}&EILG^x(;pr1#eLe z$F0KyolWmZojznGCtRJ|mQ{29(PQz157%JCbMc0U>Lz^Ped60#Nh8YGQhnFcg^Qhn zOU(A0xuq4^vfiBWdxI+k*gGgTx*MByY=t@m=&?2o{`!zHGQ|0}`GpTYeWqVzjV{Z7 z5b!!URA(T zCm2jt248>lq*x{>IGDtviqSfm$VKEDyg6db*O}qJ&O1Hxk5C3kL1fdzS8>pWr;ZvS z_r4`O=cwSj1|w}gy<40*ifF$yj&Y-i{NrT(xC%UlqJ;;@yi-%~Orq6;taAh}SS46G zv(Q03;w`r{2!;lE!D{ml4eYAZcc17y)z$OOp%r3vJPS5Pnu5R4{roZ}-lxT6f-cw+ zZE_ZO0JPDy4;xzyQ=g#hlZ<%FrMh6xfSMyDxf=QC4znDOZ4Fpy&;MHj*S4JBl$XSg zUg$6bMC8Ban~^jBz;-f~lfA+tRZP-I6FeADmpNSN2Zqi%iAYoL*4>c|^VLMaWYw*{ zniIU`0VMXS%~x9=BO|&Kk;cuW&wmrnm|JT^ z+18-1dPaCMF0zT3;!BUF;6{y_6uKKE{~4o4Z5Qf3kZIUUV7G_ zo!%1Tvgw*zzM1pcbj~C=kcZs;PRpZm1H`!Ujt^a2*yiAJGLm%>5#CMw;O{GXHaV(s zmA>=jVZLIw?;RFD`ggCp-+8&)0sH2?($_8LT==Esh8*$HcR2>fbvNKQwhB`Cd1Xj6 z7sy-k9;MVr;xu4HO>$zOr19r%u0`Cr2@k zmVP_*Kk?)%;&6)ZMutEQA8dvu-I{|Odhnf=L+^2?RNm+^O{n=bVOHsKq5%bZp_GPOf+dLOD-3{xFL%$4wM-YdV`$i3&m zcWK?7_T78Kd(G8c$&hloxiP+MqS9l>o|RUv_evJzccqR0{1d0%6D)_3O~DKL#>#u; zJ>-Xm_FWI$zin6L2iN4AE0dednd<)pjb6Ks2y%VJQpefKxzT^>mCk2#oJ~=kZ(U~L zI?U4@ovr@C7?mT{Xi;g@7{oa*X#6<&ix1SUsbecKx#kA4I^QE>#vbN3>5B-Sx(S_} zcJRRmEC(I9-*Qkk&dn_^%d0Iud)d{wnIC7XoS|QRMz_JS#~ntGbk9dS-b9yZv%4_} zza7_OFFco@w!1NmkK~Ee^U;0pxYy_~B3Inu002M$Nkl{8eZ>}Z?hbd&)pMW*L?LG%LV^(Wpf7?pj*VQPm(tWl-G^> z{F0x{tK|lt8>!Y=m?GaT@vD6^=X&@94_)qhmwlTL-gD-~)dBrS)Z!8=M;vz0a_rFu zH;4T5`z}nJ-w@uzJUryQS*&IanSRZ=Z5m%9Cx3vCtkp{{0-8EJMOU?N+BP=WGm2#k z3Z{-+byExm^vKrr3M8RL?tz_rqR);sHfD0280iyZ@P#g1F!Lk-X44|P250j}Ti4je zL3oL8H1^V!&yY(zi+x`SMz`{(uR4Vs>sq*ToXA?r)j?v>zxZ@%Mh-`PDpULWLq|So z58a7>3Y=U;C-^ZBp7Cx2QyKwEJDU2zp){scM#p%CBaoGW9O1fi`+<-C&A-AQI5`AH zc@N!$QR>WP`D6c2|I}~PP~A7)_^h(wV|)WO^8|Yji4mQKOm%^VIb8i`O9zpIe9;${ z{29FjQ?6^zRLisat1R#8a*b|dF!a`3Gd@kc=@XFlnf#o1t)HbXdK7Qyktr!;+BWcg zZ+7TV=&EmU@a2E$>e~lJI@YM2+@aq5vHqQEb1MAa9RDK2s`KV%a@Ea7e{k4j4)>*1 zVw4ekb)FOdr7Cge+PVv6x~R$nD+jqSCjiaAnHB#@Ex8U)fuTG6U?5k`6=XHGM1<%E z{^X(151}Ppp=Lt`Z-^~%uHBOp0QqLE5FJSV&`r)O7viTNB5LNhxO&)a1IV?HoB?u=?6A4NB3a)EZc%Nzojev zTpNcPC+W*?GMlVC-RsJ{N*suZjwv}RbOT3iM6LdXWcl8#&HCemsi&Hmi${j|6J8oa z5QXtQ_}U}tskkk?B;jv=wHPpotT5dF9D@rD=rV_^sQ(FC_TCnupR#-p1xiJGjL0In0@>NUI+Z}Mw#G}uN? zc%g0riaZV694l+>9EX5*+Jz=|QKot?hJ^tLneI(&Gz!uoGBZrH|mm z7e15~PY3GQSA9$ypU$E+|L}|@#nFU!ZZK?c;WIq(eICd*cqV1WnrVxTnt;+kM*f5j zd7H28JIub_huip~A}ebtR^hn~B` z^A2h8hIVO|H}NKxDoJH)Y=#GmMD^&>#cF^0Vlg=IOF&5z2Jr%psC1-GUw+(4L%^fL z=Bo_b-CSu5r=NswGAFqQdHLiMbO@)XdBvevUFCLz1CP~L>^goK9TcCu!Opo3KLB|^ zhQAhcUEuT4IwSrkcj1A&_=Jl%^w0q)b#el_oh(Hk&3(~P`3O9HfAdCH)2~0qmDZ^l z-zEoq#T5lzmr<&lTl!Z{@S{^cmFntD?9k+DGxpf1y)maAC-`-K+T-tAK6d}(H3(PO zP>d`=QT-a!QLRseL3kC{?8Tn7PvIh4bby*X@v3a%e&1=w7uWRK@%OtS|J zkNQ!f0MZ%Tu}|%n3$gOU&wB9ks0SXRd-?B4{*ZGAGkYw*|H?C$voH9PhUM5J?z%kZ zNylbm@gCWPyHovh?MDZ%eftF)JM6KX^5`R$AOG%0bYZ;0tVgn%q+W38)yvEO=f`@K zpE{PLtz!?ri2W$1c_!E7sa1dE^eb*VkKv2C zHXp&Sc}M#(B1Xa&pYwG!PmF)t2}dlaoqXTrsKX9i?y~>hnzzbZ-uIbq$QXZ)IP@;d z&;8KjvXOq*U0_yVx&ORNu3BFD%8%s7^{(m$-`IBi8z1yyJTC82aq`f84n1&r-YLgz zYh(Pp_8k{gr(_88lbb3={41uATd-Vh=OihiIRE!&KV*66vG-UGxbv<*3bpbJogct@ z$A>Ro{@|4#&O3+2-sGOfTL5KWxzJcQ^OG=~!nfrrHl_^uFbu|!2Gz?4j`_RL?DXn_D!hg=a z_^Rc%Uh$#jvM+w6@krM7hJWWo{OTO75QgoBGC) zr+ea8aZWg~24}Qa{>^de6whu%tRaM+*CE{XF8ejs$QwrTVT%|y74>~Stv0;QSUC$) z<2fyT%ISe)|1&&EdsH6_D%ZweW#ob7^|9LAuhz&HSjAF?G-7 zPW#?*`HrVPXnEvAkH|(}ew+=!ZIo-ia^3RDb3eDd;fzo9=8Q4wmOPYUz96v4Z@yy8 z+k0<1otWJ>yg%=>2QN>2>@khs-O-ze|JqNTT1`!x@ngJnm6PFNfUgfa+s<@A{XGuFB1w zSH0$=%csu!d>flyt+Cf(IKY{GmROKGpH2|JZSKPEPSueWl&`@Gv>a6Vl`N6Vv4( zG}9w}LeCr|^s2jd9bB?4ebZri6t}^z&uB7#Ln3?rl@(arVk;MVI@-jHB^PJIWuLusQ!XWHD7-x5>0>zPjLogz<%HpXq$5L~o@qbwhd}j^6j5LB zBj_VL0ph!n%|8Vw{KlF-Ord|8)J>kLwmL?uV=Hh$GwYqyxtusiTkOV9z$(pmIcLvw z3GC1^pDO-TiYNcN&gBF8B7v2h!_m1P4Ef*na@4WLw4**;qFi zp}Wy|^}{|;fwA`x%jYJ8xpy{Hi_NVCCzyq2d5j6C2!LjgfQxOkMU_oRr zY@fY-bt_M3W)ddYJi%CA(w!mElcdHW!g~;r%`e*qRoX%~Fd@-;vBwGeLi#kYqw6M& zoLFT03OqZ}UjuE^#{|rf=|3L%2|I%IZo%@Nz-hwOKlnP~2o1WQfn5>|g0z`juXlIp z#6(&fIJhZA(q}I|vhqThCdk0IPJjixi;eKpi6WV_=cvA)z}Zv}X!$babdxds^{Goq zI9t~Gp*eb;yRPXH`N%OmVy}Z*^t%o)D~yP#FEvS^7ACR@U@@{LBFU7W^Vzgk94qcS zgzju+4o?swj4W~Nzou( zU_P*7(FvZ!m;TLJ(UWsB(S?{-0h;OYQ+L>GI?U6lI?LN`rcHkx_+bb7(D9TJn((qe zd?sD!<41j;UP!(CX97F%3C`U{BLf@ErZV|`!*p5()aK6~ZKpo6k$}@G<*CE{ z@)Y9Nzj0Ha+PnWzoA*ZU0(ILL2S$!BeCgWi&t#vS_)UF1*QcCtWHbO&bllf zBeqBPj>e;TJ<2W1sV5%2!1=ApDUUvKdG-^IT~2)HVYjJAIONxup$qQc`RP-ZdvEjp z;guG9duq~V@JoO0Y0E3#@X6)x-~8!~PsG-dO)T)uxLk4-&z6hgGr4B-oT;f#*Z#pt zCwzo85!{V88$r3`-*UbAim}_+gUhhhSgjw0!RDcK@b&C2oKj~a_JuEa)N=eW2j4DV zeD~U#{=Dn&*t?o`J(TA z%<|~t4_)q@joRBPHekEq6?pPE=ks@nE!RAAQ+&+$#&-MU2mN0B<0meUe83^0ds|qi zUi*I8kUK3mA)fZQqqA9j{_^rXC9l|+*ekgj3>|lTkG|PeoKv#g6r(IpP8|G)fAfgj zm7_>Ef9T_YY!adAbIsSTUw-^0Z_azJ6KnAycI9&;YZgs;YVU`>^I^+(Jo$dNYpaz8 z|FL=fmoI+C@}aXoxBTY+_~3H&SMs_7`8YblzZAozEW|idZ*V7}bgal%hPr4=yD?Nu zckUEe8;we)Z+!|%Ut@(hkgp-mX>Bb=*h->mt`x9o?ffvXt6zRK@*i-FyfD5i%Fu+U zV+~~}Ap)HZIC9XVqj|+$?!0gDp>xAczU3DAVjnW&O^i%@Pdvz-=#O8{m`Qe7-_wXF z&o6-|ZzP9`?JPl;=Y0Evm#01HxatW@->Mv#9DMSlkM8HJPk(OtZ@p)%3`EIWqdH6xwHXoMF)lZ-Qh47qtNdz^IUFT6ctYffvtPP?k z^8#~|S})h&>Gh_3%pv5KM?UO6%lAG1(eotrwv=~Nvi&{pahK(VKl;Sw^LYaOuU~cM za_MKUsx63h(qr$t9F|Sfe{H$*{>cN$U*gaj$$Tg?`tUsRocx%h|5f;&5V#M0;?nAd zeiXj*!XJ3t^3Vqy+IYV`p73rQIpxG-mL~<*KfUYx21Ez zBDd|8Ir1LMqfdz54!i4iU3aOwQ*`vUx1E)Z*u-7@M6Ndqb-fUO>3lLY`VBKNCoUuZ z%<-a+#E-Qg{eb0n&V9rI<=Ciow0Yng1oEIcnD<+U~aI+3r#RFpQ^yXH*0fW&F>r_b;eHqCyn7Dhw=ws)_OOOXg?WSxIUj2UbLY-K)4_u-zR_s@OAqF(ETEkZ z@k2&S+VF+Bs|m$ef)1GJnel zKMET7UT@fpKIkttiVv?o)Q#szS(`-&{mGop{?82v8qb9>hl=VC(E~m@H>rik4tz)* zUeGY4bS;!)?G)T(5J$8Bk^1l((5|QCW_X*U$!~6#j$#9R&{Q^hNkw%8hLPI`uQBv2L8b3hS`WL&{avFbt+|*lsP}@Jt?h>y2JFGNKce>M2Sa ze#uK8N^MU^d^yU&%eo02@aRhC9e!Ox>CYCh@j)=IJD*IhSZyw}8>cz)@$Oxf0sZG1 zL*+S$(d{?nqZ|6QdE5uf!V`XtW%V@zrN4hp8$b9@T&j;cpzV1iEdJ`X=klC~)y6-W zfgU@DufAq&B~Q|moU=asA#>2R`HQyRl#b1mkenD}i(FWT;%^F`FcqBOQcVtHIl0z6 z3`hA$Zkd7>Uy5$!3;d*^xx<+YIK!iF19lD;qq%ktx?^F$*w=@>>8tx?Ij8&fOB>nH zZ)^s)*QCu4tdlQvR;TIaq|OG09FqfU{Q7j5c|N~!qCMI$Hp$jq;exvH!y;zPL%$dx@hw%h9GYsRF-&z z{|uDDj)L&p;K4|GdO~6p>w1a-%n#cPopA!9yIzx+O{xj-nFvd)HWcw8gtg7aO8SLI zhBo1qZ0QnDVC!1p1v?y-Fk~fzi;ES*&s?V@uQXJOn;K5M*Hl-(N3jh<2 zc`}7~cT=0w%Q6 z9(X)Z{yMOj_$c^m(Tqyq_D&-oX4l#$)t&}iW66LAUGD(qTymL2mp*|D!&{RU34=WJ zT^`V@40P%=eqFgG1aUKoht1bm#ozjZa5^&~s!s4MktFG=_hEl{n|yK%E7ff`H3LtR ze73g73m(D`x;Nx#Q<*$D3ty2l0Pxz(%%S|&Hv;e4M4b$2(HLA~H#cO)hj1TQJXOB% zkiJ~22`#PS1BUu>aPkHAygpw^oOrTPICq5c0o$Gas)G^T#S)a;^Up5GP-m!aI<>ZGQLF>zx^L6E~X94)HE#Ph7 z(#Ps!c#!oyiRAp*PrTn2x})>-;rvqg=!`6i+{CB+JLjT2UHdHx`(ASSHOo^TbL8!A z;6f7>^r^c){pF|M?gs95B!A$U*^J2sn#qD!KafkTMWy9+&6i|nH`}hYWM*cdhx%1{PL&2eA;r-!w%o_%?(%&Xz-!iE02G~y_cW-{>Rh>2`q2RZSd>Q z4t!g#mizezy{yMI-^bmy#xe9xe)zqYhaGp%ZTZ@nA2R;%cRuu6Zs6|R$N32lI%IkI zFMWIQ%S(9W3-s7m0ENkK%Vz!UZQ#N~w>?HrlM5qn;=K8Y4#>>M((bFzulV(6^=WT9 z*serf+ZMUw`A@n3^8dc%*)yRJoSUQkQCsyG8RVjlr=hFuMc;eE^0Pnm*xQu@T>WWV z%1du-7()hb$0jRQEvA0=XP>$}?+er zUpgcc`V!1dHbFPOY15%|t=Ns9DaJTsf5)87#N9l@0}0xo5hLi)SI6f~y_|Mko)i`% ze3xUh@P7Lx2gi;=N?R9^!O?}9Vd{>$(G^0StQ<<$o2w=1_L zn>qM1pM3x2_kQV_nU775=wdWT=#$Sr_h}F6w*qbp_t2X>{^UG)`yYPr#M_K>^wu1> z9iQ9Pd9{U`5p2o7#Al4q^90dyZl01B2j8k(eDM_liGoblH~J%!zWf(&;wEIaY%HG8 zQ{S#R=B&9?n}4%L<*g}cmt){u=WF`2yUk}gr)6UhwB(sqCvmLr`0Z1>ad7=gBS&%O z;L~+WPHcvO!JqsdF*=T{vf!;Za>9f8cHv@I8)w#c=!5ZL>z3@^>o1R0uLHCN%jd0a z%*`i<+NkBt0mNgD)njNzvxOO*OwR14T|n^*H9acmn@7vFWcENq=h%_WdQ_5SC-TnP zq2!RP4yVtJor9*PedP$U4E~|v9PL#{`j4KqZ*-nIYut67)Uk~|0*oi0ncL5teUI=( zu0Fss#v69##`GP2B`9x@p)^1 zCH<}KyMGgS?R=;)CZ^z_i?s1|cJrC|iEf+ULNhRYSLvE5N120etV_Dz5L}Jf9O-V= z@!$;~l1lJcKN5-lw@S|0&{#@GLWJD&e&o@Mu>}kj;8z(v*k8#0Q0mxg=93#)17qG( zQb{1%!rtIWrT%o{fumJt#u+sD{Oq+1EqYVWzw9M6zUV5XEt`6gWtdGvpfqI{Deif_MWpI4Md%Hi_=kt}gyrg;BIg zGjP1rIdcKEE>%8JQnAwOO98`g>jE|J(Bu%o8yUJ;*GNdm=&p{*=%MLr9X4&r34iSz z`sm$k0v9-xr7`^!bQ$`VB!81SdTV{)<_w-81UEi*-gKKSrg2ysFZ8EhpPtQ0W$hp5 z8KA;LW!)gJQwJ~oxHIZ~ls1LYQPgulcC1Vr`iKZJ!6s0(t%FBcsBN|aCG^=qLQ@32 zYw+C|OmA|}-L5!lp1i0(q~Gdr;1%{B-p1j|W%|O*H?;LVVhM6gRqr|KKfW;bH*hp5 zrGad8;whj$T@-u`g7o1d+OW=ie8@hmJ9N$?MFXQ7chMWGb)dy-I#45?1j^V(BA9rP zfZ%5XI>9d(g+BNj`B6bjtcacDc`^j|-Zpf~1g{Jt*a z8-X22H$1{0H06bSWMy}uhhMy>xiU%41rEQBjnJrm(#&R9m_ncF0#Es#BR@rpzSeh` zHeZH^p*i+TGewj>d6-(R*iklZ#Wl3MxgC1C@<}Is@-<9_-QuDPxQ8dYN?SgjqGfZu zPzxA2qxrh}0hzi$cj6T~`We`6%6ly*E@RKs;EEoavfZqC_TkKra>i zfqczxfrnduaKbMXe!AX_5mS7cZYb0S)@_yZ^EGp}5pPNd`W!pBR*vz@$`F$B>N;5R zwd>?gRds=iYZ1wGV()RW5yr4QwbM?~6`oFKQ*H9~oTOH}>PqIq^a5mQaRiGJ`Ue(s%jWo}n&X8+FLoVi?l z`BxyzJ5Bdno_^wem*-}q?#|i7*}XjNu}3a1d(}t#eqT00TTa)PZLUu~UMF)Z`GttE zki+xJk6LVtH%|jju1Ur1l#?EI*z#{qeZcKN+;-Cuha9l{@{c`!`PG-dt52p)ZZF&A zdGgt}vhmE-r4*M zSKvJr{yllU1r$3M@3Q@!pL)vjpMLYL!JBVE#WDB<8dfxo%XHvhznV?@lk$3u?TXiS zyzPS*FYo#IWy_^`HHJKXQl2dT^`Cg+t-$%pHDA4ctA6G=CAa)po~AuCo71}&IpHt< z@vP;2AOCFLgZtIxF7ca_vN8XnJTdJZygL_p@ehCgY0L9|`ZXD|Ge$-Z8@Y5^S^@48 zdUTPxsx{|aY|s3$IkK~@_)t{Syxz@-+9KB(f6y{&$k!H(<`ZtfvJ-n5@4k|!f))8z z1D#)-&8DO8bGPNf&wQz|Q~<3ZWnLu; zC6@tfp5RB?$lZmFK~K@4s;Q(8n%W zK6B|+UG(1XzV}$3`;3P!_shFXcQ5q)OD}rr@|%D3_T{{b@~V{Z(s3vHa&7?+X9-sx z-(1_(o-0nT0>R(>$uaQkbl&;-wny|f^OMLBn|Okf-ROwz`c1%`?~!jFcHD}caWJodi#TE6Q$9?_?8cZdJ}7d&RU z^6IZF=O_QY_VpiIPJhcM3wz?D@4FROyZ3o-aKGVAXD!!c{OZl+0CYTwocQfzB6WZF z>NA(Oyz|`Z{gDsZH731M;Qb%HczNBMKe>GMYuD93>B$e^{rCSo8?d|6z3R)?F0XpS zS1Fm%STdt)a69-s=T zsSi%NT^IdZ@sqE3D>jq*RBz7t`pro?c!sihASZi-PdqS7dC3vY$`*Q}qVv+s?KbJ5 zuqbzt7hrS6(t?MaWG=qUA=8hJ;p|PYOdQZQ4(L~%q?1?6n1}M?jxBj|ST5ENckp%n zn*QWu6P2Dg&i^vaj$I?kUE~UYyeWr~q3~j*->MxQi&Zy1;bVhQZ1AorF{rEiFftp? ziMQa|vR&%QYo3f|c~76!FGi-|3(sV>DaJp@#nyPT&W|d}Ywcs*oAII#W(9ChxhZVt zf9GBLx}tMOo2;sWHGiU)7{=blH}}l?G~=5bkG^7q4UN%F`lsF+n@w!0k)?is2vvo# z!UnEYIclc^82hd1$VG=;$6+CWK4k|QWCAn#nV48*N56piJ7eXBPW+(ryWpv=OO1Hq z48GwRA7s5{bJM{4yv+%r9UF{X>C(EH!;EhfZ}`GN(6*R^(2jKppXj?ZnGcTIs&J7vwEH7@oFIjLY?o9sX~bvW(M^v4 zfT3Afu{AuCSw7di+JIkne<#p*YODtTth@A!PtjqH_A{!xw6g_VVr|v{Y+8c#b+KkG zIQs+f!N7xE_Y~l@zN??4qjP+$-yX6t$&cu${uG*GpI&PB@JjdfzaB>}^F6rbR_t^i zAodA*Dj9rine)a{@dR~ZetdTD)5B;GO@6%Y6Rwtl!yGPlBzXSY%LH4$2>#(;&DdKj zeb575LL#pkE-Z$3Qqao_!`0e5K z@F`7zIah~gM0ehxppX@q@KmrWiIdv!ldzRKT@d#!U2p~E+BFNk!7o_Q5g27Q{Wyyt zTQ?WcFWmq-x~AfFf?3T*GbUUFmE^-#Y1w$FYG^L~w|HWFYCs#0xn?A<8qkqGDp&X^ zO!#TArvcCS+Y$z`wctIt^koEn9jPst!^_Y`vw@WQ_3O2G@5C&9;MUKl{c;>5jy@TB zEgZT5tS)`&2Hjrd?>JKeHnvgCP96L}G{J;MbXIzlA0X$IQ}9QJ9RyRyPMpqNwFX{r za8mx#JDdna*TK@k2@cGx`Y6ueQ1BSk<-I{kNh$aR=bwSiz);`X$SgpL7Y<#52irSn zPN3sEg4AC+fY%4cFV~F}cTF(D@1yPdAb+hY$r3)`=>}G=Yq!8PIR-tvA<+#2;5Iqy zW2whueJIB!_W()&-NXyio+<=1wN0#y{MpzA*Ewot}yvO7quOKVS3q^EP9` zZ1|r3?u(Z1&c+klrkc;nf5=V%t-S-?Lqnklk{{=Yu4cr}Qp zvTfGNN!t~#`S?WO+#F~=36Q5Dj2o}~r*oFS&F8&&lH3!yo)+D`@QE|e`P|qejbxTf zquwofo&V7RZ*`NHaGnR|;PE9{@r{hz;nn z(S6!-CvwYIvq|*#Z#{P-oAGqS^$H8Gh1k9LA-Ny>^*1dajo*GHeZl+2#0A+ze9QYU zE)7p~>|FSo7_zBsUbJJ;Du>YJp3~b^pMVsyX#gWkD?EC^0gd6MsbW6u_K$) zt32YWKAcnIz8{r2Hb08j1#MbwI)6Ah;e>}A*0>ly)i3yxkEQ5zD}KBfi`k+1H*KC^ z>^CpU&mP^VyDYYwxWRtl(?)K{*upp$?w~6kypu&SMv%eB;phJ2QQo} zfBq$}TRwL7<;$0|$=EJIensr_o)7&?^25!`1CQPHW|fZO_tAMb>KotsspQ5~pyLys zY|Nhi_D?Nu$~$!5^o~z2r|0;zC*6NbS0$W3V)#dY=I@p_1@>*p*Kd9MrC19OHv8W7feV)h9e2pq5529O$oRnH4qeX3W-I)1$Ju$utJj4bbM!q{ zuw9OS@F(wFzM2~^bjC(AhZ$dUUHzp8TlWVG&;R^#+9?m*1;;P^*EcR7%qIJdncum=Tn!DT|-XJWLq|udyNBiSe?Vq1^;rz@{}h(FuYF;sD90B z&RkCar;lY5I~(7d*dUu6%r_jn;THXnh+Ob1>_r}zU5E$o#G|pwdRc!@Wnp6?(WYDH zvwEeW8x>lEl#cwH@lIYaH#F8tUcke*z)jt31fpzoPgVL`Q^_UiRvL8CF)MP^x6moD zZg9(sGrry-n^b7AC%TaKDNOLWgiDP1z=f9nX-ZvirM>fC6>CYI!Nul|%}DSF6n%9~ zHnvEo{KqTVtvRcSoX>o7#&o=`>tZ-o`_!jG$Lr`iCl6gV?mDEr0N&7oGwoukc8xyA zHXA|9B6--ds-9!6$8JTq^(Sc34mVlpbbNvi`B8NmX|&^iVm#87kMU19=o@@bvC@PDk}VCl_GE9bLm71;QPG0+EGc}sQI;j1vIrz8EysBHOheIfQw;y?xhc7=&N zY@?n`wPB9K&rl+xk9`aeUWp82qj}qm#Z^)IJC2Uw)u(fgoR8jT9)|%jJU%dV!EMFd zM!)#PS7}#AGp3RaXQdUQAzR(l-f6H&tBw3=t zNBYOFcxXea%ry$5U3GxjYp<-G@C-JG(P{L=uIeFO{jIquaAb!J&o*lD3zw9j9voTB zht1oW7rz?&WPHxxWe;WcN$6zat~N?1a?^pb@_?l>))N=XT<{Tcne)cnn}Xlq3Mn>S zZJ;sLfuFjt-@GyLNmuz7_}-*Xke2)4_HQjT#s~DJZ*=I4?!e)H)gRvIM3G<8QeJqz zc;o9W(`6%3VDpe@^%5dv>wMgK@bOtF;bLFunV#_>_WJ70@KBxx`?SSoI0?67tMF^R z;6_DwOjDGSvnEU%Nex8ALdg@ZIh~}YQxGw}%GH7E%pp++3m%9$jdph+{2FkuMiDw^ zfXe%PZr~0_+U~wlG^f>164@(@e8?HC4%|MJkB>M!UF7J)IhrIk@cN;r zbsf-W!9vdYCGBz;fYEGV(}!=YPUT!Ib&$tB%>Z+$>3in0MRko>kAvknuv3bAMb0fjnapoz{BrsiZvMq50Z4jCj=)UnwWC5 zd8y>Ie;nCxwVBT9@G>zNxYTL)6%)Pr#w2Q+yn=cX1k|>$(6E`+7pteOi4cx{#y=W8 zd!ZpcWWnU*dO{%GdW4``9a*I>;F)(PKdJh&wD4E^wWp#6~}&6C?{+v zVMEk-ub%4d6_^Y@bihuO&_Nhq`G+4j+XSO#^mzzhXRE!vjwHC-HAlFdSC*X1g?`*8 z-Jy;?@@G@Tu0j_2Fa`w0j@*}eIZ`1by-^PRkfnopu=<*++$^R%-6dY|#y5QRcDu4p z5XN4U$1vW0A>b=r{BWd!tfWh0zvL!QrSqx$ue~v)uOCLbt>TBF@JvS#@3jJVU#;I#yZ2i+SB7VHyy&uP@*`h)Vs)FcKIzIfuXz0@mw)@>H!knUuYB7G z!TY%vUzyFuvzFiZi}!8Qd#XG=-1k9}IdL-iioG+T3%`wx;KCdGdxEiJQ|jcEnSjM- z7(#K(hd*EV*)LDsPJb_pt**?5Pr6q=;B>9`C7=Jw^2h)1v7MlIoSu5(QQ^6HxhSH+i~Ux*pzo>gZX=Y z{&m@K{cOIjJ^}T~Y)ZWJ?>@Zz@UOg~Kh(9O*RE$j`usZ;Cgsxmz}Dej@J^-md&VfBF99PhS1;<_kXKgbyiF+8H0ZxaT|n`O?*S zUoF@O!=C%Zo<|>kU|wNy>ll;QeuTciktcW42XB0ho#iVV?Z5J}ckhgT>)cJ3{md!B z(`ouP=g7|yj?Z_)CAemTWpZSdoj*1l4sYLu|A*xuJga(633i%d~kAGWlX}A zzb^jl)#aT%yf^l+Jhkqr#}o6F`#bNSr_nR+%BAjw;Ss;$)Pg`CANqYrz6Rg-;RdNX z-}X2-KY-XM36Dd6WOdVy-`5)X6R{glWLD=RM^{eB^Z!}je*ALyp|^f#sQ38(=a;;G z`Np;L>WMB$)5q8WkNAAk+s|EI|K_uEb?aiT`J(^h@zp1L^mS*MXLwg9`yBr|s>2Cdm`$hSt%Mp|TjxLcyhnDf#j(u6 z`brQw50B#VMIzac-&#;{RG zUmxoG-y42^BfL-<+eUGV@=)_txOIEt@V!-G>Bblwqb zOhX^O=DkhKY|Jk=2RrqNNKBzAcu&*tnSR!qeHt>A{7@tPnP<+cAPU;NOzE2t*F&k}lWc3ubM7D6nT75h<=Vzu;EOLudgMp& z823VW2mD4Tw%mI!@57GIZ`jaBv!^4CpG-Fo2o8NTp~FKrJaewhgD>G%Tl!Rwd03{t z8l2$yKHsZ-v+kfr^2p=X5m4b9Oy?u!*Qp~@^^kgSO7*?bhupfuJ~l+jzOgI0lUEu8 zL1sLJJ7z%)_3|+Akx?L~_zS~6(T^iLj@rU8g9J}G$)8o%ZO3Ek*fMT3ddRhPzHgOE z3Eg``b>qvE9|9Dj`RfpQ`PS&F<8N#=J~4U{rH3{Hku7=u;vuzy(0%5 zkI#UY6LgTrC%*It6UobC?7@%H-n~oU`3#S?THopD(pumZ0+yR>}mdt zZf-$`F<{9j zZD8xX!Lb?~Bb3p=NCzl7A%-Ovt8g5>3yabidNZM(J7)N4!VbQ9H^kf}FaY3#vM|S) z;Dn~|VF=z_HkjH*DFNsm!qj&l%hAMSEnJN*eDtPtUlV8|4}N`SqmOaP7*&UnP6Bdd zIDFwxz;cp)MH^(Yg@I4I#M8~V%>uND(96fhkK_!Hy)4@B)AwughU7t3$I59npy(@~<01!J!BodXgZ(KomAMn_I5Zt~#X&D>8PI6KkpCFWPRk5jja}biJ`vdQaeE#ZzMwOI`e9FSyr1qVEnOD_;#xZS=t}eaL|2sUIK49C(#% zQoi#?PH+Jaf5J0g57Ja{dxH{{y8NK?a#e3{JMFw;Ht ze4%+Mef=Y!fx7xkAG88G1ASszzTy`a$NY8mZ`i;h&hPYDk8%P!ib0MZOc=xndTgTJ zLUX|M9?9{155_{JT05KS3$Krn&Z+1^L)-=#PG&>bT(~ zz~b42r9P%^w=#Z9SNx0*jx4Xu)4AIfPwUBlcP{_@;Y%7{blAysy3hliOxZeFD|R`)JiikDcW?SsePZl3 z_Uj}syuLjfXQ#jCqFwr|7kAI50=?jU7CiLKNBB}I;|GrG9puqH-<4Lv$y8$63ZyqM@Zk|7LN7x47v zj`qOvU7tRw5P1D9>~G>kw^KYl{a^q5{oye>fgZE@zm}`Na{cmSzjk^z&)2%0k4I;7 zfA9R5X>)8E#9irT5GktQ!pn9=%&+sa>Z@Z?be4|mP1NV+^&s1o|B@es!ziCn>Ki#1 z`{>Dif0<2wJnUZXmW{=`-esTBZDbbfy@3+IfA_qHZ{ggz-^a4S^NtT*(mwRV9`n@e z*cYAGzRgqaJNH@^uUJt!AIK43Kboicw<~{p`q`0vTKJKF3jgzA8&5CWG}^t8`LvUc z3I4=0Uk!Z6()bYh7#D9IHb_;Cvd)DJkE@@G2m0@roIY}Kb4zfb&rjeILCLgp9$OnP z)-mIPi@(${g8#D1qaHHvjlMWPe&xy9`yO$(v_z)xiWT{1-eH+}V(@r(>?tSSZ#nAl zyQO~`(GA?!uDyOaCr@MQYQH7@&|wRuHGmlFTd0eeY!AJA)u}ERvrUaHu zVKY?lJwAkbQBAuH$6g=p6TfJ%DEXYe&xTvc{%fAmo6VU z>$A%T;y0eU^_2RDbA4uhknM}f#p0hn%$@(?^`F=lh2D&j0tBA5 zv=x78C!2oYJ9kQ~>8EO{qqo%2kNjtyaP!Jvjn@j=GCF2(q;>Yu*hGZa^oB zwRCM=Il_|wM6|k^HgNQ7V=G`AekShGP{>0@PhO*?=9^wifS=IAuUO<$(4&dV_6#rb zlIyNla$;@94lAEzpZKE({%Wo_Pm#k*ha^JVbzjlR04e(FfChSGX1CGz_@BPzG0Nd{ zkfCipNmX>(e1lJZ2vcF^n9Jd{m4V+J>-zU=GH(^>mDNeO7_ILbq-9-9BcQ0*Ljtofq3H#~tw+x)5PqaY~HkrRIX zg-qcRsA7;0H~*I|n9*_Nf-iXOg>-z%c{!`&rX%G1v`WbZXE9M#uaZH=IdYw{zW)_6 zAe8&f{IFH^?>dz>SqRaM!#IkK2+j=m1k)JEE;~a_;6=bN(j*hYzC!9fnKan|4n8<* za6|$_*Bmksa~=E?NHh}j7?Q5kmGX{>Z19>m;Li`xFg(6p zqenj$Bb+N$wH@5-QMrQCB;6#z9S5b0mGmP|HyKk0UlVPP_!97NvxB>X1qKud797VuMUg*aN5}Q6G#!uv*aY1twe_67O)@!`)FGp9{If^T(*~x4 zkhbbxZ>(qXm7N!GWW-x~MZQ@`gRScX))RWOxEa0A!Y(+9JJfRI({!{$U$nA=AN(<- zg^*JUF!@eZFUZ%;%v|xUCdSkSMP;K)JoZj=5UB2A9en7Dziw&whaEI8m@tA?G1E@~<%m5#H=^!r+KKV!U z23Oj619|jfd^nJ%b9}Ln>j3~Wa`P)P$WQP)g12yXH@9&T7)Lf&!~huAy{VD9`Zk?z z_>dnW7BjRCyiz=2#6O#*=#jhc*(GF3Wz3OGHj5Ru9p4{3Y+iYbH+tT{z@^~LxkXO% zH;U<6J_8c_+eF3a@wvPsd|~ z&`OzoGe4Bq6jT=*!hG-ae66-{LBfa8gskIRc$b5}5kJ|z41T^Fy%^v0 z4ZJw&Vh;TQ+;T*LA6Fa77SWva%86H|1dm}Gx3 zuZOUazFmR-8IM1F?dkRoCQ) z`L4XSI-wVFYLX5QocfCkuiLov3)?^GecH+QZT@TyN`G>)!xJBQ#O~yJ{oDWJgOyQi zghUygiGO^DjN#+zuYP0kH1^KrAM+mQ#&lqGvqAZgV{iTSayokT8F@7dT^Lh?&k=5Z z1i$fuZ0|^XZ&#l9s3R)BKIW!t?v{Vq0?y9aa>SDy)A%iXXha9S85T|}Q;vLyoMJ8) z8~$d~c4FF?7~ipA5+8x_qn)05?2Q4qL;rDk3fB{=@BZLLeKPlylaF1F&yRuKGfzy? z`#}fnzZ`R)gO^9=#~M#LDgG4xI(Od)Dt5k>*H?TdPx8fTGpo?|;a$?>0H(n!LaE%B#K>o+hvIx#}>TYmap2zt?`_hUN2L+&*VK<>b5$ zCscg!7xVSVL+JXpit+n5{_ySfM=*S#YYhF;kv-t6y~9IuVdVK(Hh8_~cf0c3XFa^J z%rE$-a&y+M<`w)Q=o-UxdjGuUV(0Rn_ncRMj0XD8f_l`q!Q&#I`d%WeYm*|Fd^Gsu z(>Aqis)nZ6urWXeAM)_G#@j|FenIYT)WpAS5;kx5tAG4byhV}WePDAM932x=**SC> z4KwV;02_KaG>=q|>Ej3F8;uO$>bHczBVNZW)nmWW z7QXeVZ-h1bF38RrWAY)H;b#!}pc`C)t#(rf@9>IF@?EaiCuYfnM{>bKFI2#Xlo>Y% zS@#@bTYA*Vn#9c??7K#fKE29=F02dPtSztMj~&$0)zd`7Gwl3- zwB1?IZdZ9H_V;K8%`*ZtA_T$)j10Ch24U>(reYf#S67lsQmIN(eUVC6r&GDeVCN#0 zN_A4nRg#;oREFwYq}{=d2WZo@-C&8?AOl7SVT6PwffytvAt9k5|KI=F>pS0f&ikd? zarHXq{r28#J?ojDXAOJ5`}N^p^|=xSl1l&6D4%=fz@ouArIWVmuXOB}7)wSEVQ1RH zy;zy?VsN5Wp7E2p3qMqcW~y4ytsN`Z$gGXt%3Gj-qF24;Tpx55w&>h6oz#O#&+31{ z)UR3_TKLA#u+ex3#tnb;6B#ztC2ubWzU5ogMNZdpCtkrj&KX|iqLFR(${B>zO$bBcx|5c0PG|<6 z#1rS1NVeoR3BVvSi5gKT(>?v-99z;R1e_Qk^pp$?fl-K!9X0B zb9QqjNYEn(raX!-K|-H;n@wcIqok;Awso931Rt zLjj+T^z2m{^x|Kvmo`V z2?-JYi5WDP4ZzTGF_yQ1E6?G(zP8mP`b-vk^sp9M@VGm6_Sr*^RKZX~(UU9sMMI^D zgAd!{SDf{$II#&{s_)?JBs@KIi`r zjedrm45)4dx#Kx)BhPlHGyY%cEksH9?$z3_Z2eF zm=T>s*NyksTgZRmm{%(NwV%1MHmom1cDb(l&N=>m<@T5FBh@Q+fvzW?&exL}Df*e5OjG*{zp-(~ZpuuQ#7N}ae9)M} zkG>T;-cP!(yedx>!(ps9IqqgmP@2%nC*rlaHMm%=@g4k)Pa>v$o|+%upsqD`Je+sI zuJZA`pH)s2)5b%(K^KoywQihzJ@3>!wGgpmbZCL67013hA)On~x#o)|rtA!7b57xA z3@N?PcH|F~TR+TkU$MdY)o(mrTp@knv(1sQ*ZAT1rl-5X>?^Oj>GHPK&qE7+Hd5&y zKKB)D**vAsxuG`x$fn}$op0Umi+`4P48u*v-T*<5yzCcTe7pHHw(z9!zS7rqgaLG9 z5hnBFVSM7$@}2xJ8DEa-8!zI-_=XPOSG1AxJ=;wObwA9;w_TVE&H;NaY%ktzo-4{=A@tf)+Ifx1Pj~pnr{DWU!CXaat z0cxt?=ncg9R&9xg_D`?$$CKPdE;+sn#&zJ>hx}q+1KH^Y@3-ek-+kp{pSr(#3c=8sv4|M*0KYV!KCn^nem6hb z`1O3Pe_we+WHpxR-#JN6#Puo%bMIAg=!oxhtL*q?hp8AGYy1S$o78-fqSC`Z{5y1h zqAmUFw>f%6g{L`BEo^^Ro)ATDVAKkKtn+l^RbDr_3eSOqeu$f6 zl2bkze;sps+IwHQDY0~Zo(!JCKgeL-xy5&Qq|d9ayy(cLHvjv~XTDN7*-?xHY|CZo zpZS}(j)9bn*pX#TR|ee1pz1o^{PPaIh-y z)%WYnxx!pNcmV;`@55XDUp`QFy8aO&^FsV5?M~CHeLQ># zk3MMA7h3w~e{iE0+2yia_nVbDX)Kk8;L9H00WwDAWN`(Pn{s?PBh%%gF3 z{H-^_b1o;uLb_Dv#;4jm*I>C18;}9NtqTS8M?ZAqYIM<@kn_o}qqnZ3w)QoabdDn- zr1YVv;HW-w9kSKQ=tZ6hPaADEPIGCp0onDF=fv&PzHJ(I@X3ex8+?t^@|k%~Zq&=u zErI2)iagUe4~2EJ%D!M?C|Xb;&H+*aG&x1-Jx^T&UUCwgIbzI03!J3cSPTx1$XMXj z;}AUMIWC7Ggc8u=gl`Qd9RS17dO@&c$dLMuL5jA*Qy?Cf@wzBUkl>9@C~+J<2`5i) zsl>;cgiwmU?ug+r>p;}*DpMWhfZJv+u(>CoD_aKB=6WQI!S+DedkN7{|vOjM^Et~17Ya~Jsbjw zp6WD6rrm)~`>wJ$m_-2D1vWmx7({eKf9^KvHARwKx+-|s0Z#VCug+a8=h(?ux~@qW zdCF7zf#+vFotPy1krRG*;rR#L_+n3dE8K}1&^MUa>|IaCq$+K*(Exv%i$|SJSOIDi zpp(1EFA0ztUvwyRJ=uvSeJ)v>To6xv2ZkKc_o+YEmcds#^u+?>4=awU=QOd)$hPz} zx}&Rfnn5Rw^EWb(7Y#g0u5|Hqewc{f7*rg9Ifu?dAOGOliayI@j-C{q#FoAicjN~r zmMv`H(RcJ8T?Z$<;TQg#ZuT(Yj}=p=kgsu(qx{5XbS(D8lY$0%7AZRFQ{Mzc za>j4?1imJJj{UUmE1oKX8xnYDf_LW!WM~CPWtMo!f{awq`Ha(9kV1D`MZm#dAE7gX#$>U^uYc{A3 zmydkx{9J=fwZVKKoT*E&p4742(WTmtrdT(`U3K zXC&Stz!S$jRc&)xVGo7BV2#Wc=)QGRAL-4708kv;emy`s*Wh-Mv)f#phgL`|WGO*?(Xyc({ zM{GH~pXgK6`?`KQKU_u^{I@0SvuD-Kl5pm~IQwRvBHmXn%_|iYHWCkL{?v~jePV6( z^M2qN8>8XKL_eJy(M`_fLpk5r`@0{s**!MA_x{JQ(VJuNZxUc-~ok>YGmG3>(e*ukj5I*T$+fj}SX@a@cEKSZv;D&JCPv zV+sGYF(-e`yf93M2A{#RF~d#8D=xhtKMr+6;>a9oa&dhiu&(7vPfPwxU~atj@@|HC z@{z4>yzcVdwRuNv7XfgGguYMaiRur2B(JInOyfRv9p8q9{GE7)1H4G;d@}r0|Hk*N ztz%2tuk5>Zb8<@gaGn$n_8IFUuQ5eoyCFJr4SA1_RsYc)`*ZCD$vx&U=Vg4OCwQSV zeRk{_+8ucr?C@!+DGbb{H4cy&>Eec*!|e8FWyV`iM)$> z(Or6`PvgRjV?)nhH+N@+^ZDU2`U6iNa%$sCUaoxfH8>vKbE6H8i}MN= z^3e%@pwq?)y8zfz^2#v6SVm>35 z@PIck__fJm9*f&lH}=IUS=Eu%UVwje&hH?ALmk=0)8<{9f8aZM3lM(L2NQ7rQ%=U4 z`rgP*tq>s(yAR&c4P0b2CvqJ9P+N4Iv?`tV4Y z0xR!f0*~GNiGJ9)H1HSM*P2vrgj#7X4IKS0UzfxB4@!7LPM_H*N~h4n9R5m=ec8Ue z3_s<8?!zm*j)3vpPsS|&{I9-(3r+Up&$YF{2mm{DbEvioem+#3HVxy?_}%1#v%VTw zbos*M(}`ntz+1+#Snd}Lpnp7@%% z)c7FTY(nBe4#Ar;wi7pSjNFc$--K>XTkQGFIB>GRrut-#QD5!Aj!OM2dfQY-nEC+v zVXZnLFZhYu^fT|w!E{P~!aw|cCf%F!@L(+okc{Z?6UBo}^v(|8@$TlZX8k<4Fn$=C zX)iB0cM+JSZ*&#X1|F1tq)cDjD7 zPYiEh{FY3h8hi2teZgs5N0y%OF)@Jm)J4x7SJH0pr@GC#eIGuL=NdS5_zIQUpYH1q z;fsyvg6@3i7OLWgA79j!LJm5_(5yXT`!FI$4DBudVlF@==s?d1lu_o>gyce+(_WvQ zU}FS0dV? zdmcP|D(9oqoabMYLKv#P!@q?4 z&TMY5!SvI2YzT*TzCo83*7V@1GJf73# zDeN&A_*?8JPJ-KHoD3t|*tW5ozI>uF5uSY|eDpyZFpa&)%x>&R1`YMCK*5g}up!ri zkF_v{zd8!6i32(DO}CRbx7gQ~-YCNb22DCFH-WEj$1VoB!#MC?9}ItV!_IK0I`xpk z0A~2cFPM|BssT85@HOt^iuh_=MIZPlCtG_bse!(}o%-gB5a){uKG?_=n~;w`>kp5* z3to6G(9;TDwUf`7R6G!+{=?Y>?Ra)dFB|4wdBB(aGl%9+bavY-uipG*I_-M`*ps~V zpU@a<;34uw&Y$}6qniVLdb9j(x=tS(r>l_fxboRAezSUj+fz?NqeLf{1uywl{Ckpd zU+E7iMag|aLi`0^#O~N+5&{P~#2Y7#7@eHvG;&ToAHu7DI#+Kw`v>p6d-w1DSMS~Z zoBze{?H+pM@$ft28$V;i&J99Ky&GHnik`PlwVT<;-nyx}1P zvG~dxFW*OQ_oWBFy^WXCtP5MA(>#@NorL%hgTL~3-nILi|LMDTzwy7^5guYs@}v)X zFT3{Ay)?d@*97!eqa!z9IZ_TFBi|z%lN0=rW1ed4yf6LHQus2TSVi2Dlit_OirN6l z^g~bS)BTK)0^Ycd_kN<^&I8IPnFF--zw)vRc0c!%*LUp3?=;ALY!uohUemST1^HpU z>tA|Vp2odocS)YS6^HVXZ|EF+~Lsq#P!HRZ^l%%^iJc66MCFjsVt#^Pc|PKqoXpGN_r6+f!MwB zmKPnObn^7E-0g7qc*&)g^K+FN`Jg`MU7m5GhFd|jRO znelD;S=i{t)(kOwpNf%tji$nIGXzY^QhUk+bNx=?CA*xsLI`!%S<_fb{%m#y8z* zW5ycz@SuO+qZ?Voac`Pv3!Hf9c$@^`p(62)UwKN=b`Wo&%|U{uIwp^{;tx36h*L+p zE3PCV=bolr^bpXtVxqjk9Dr_S;5VQ8Z|g^Qi#D09N6Tpb(3Sb2c>%qU32uJO9?oqb zdNmE-pesCzWBQka%5!qiNghKbB&yr+qTNT|wMMeOz-Ou}4}P2*XB6-XKF}H6j%?%% zcuM?6yZjd!^uZ(E0Mw^8omSsj%b|&{1zUOR|3d>4XdQk9!O)*Lt)G=wzB#h#)Adqt zv$_5XSev_n>h;LW*JJ1KIp2UI1s#Onz@jA<$-y2BNuHHA`QQ|}BJ(b~q3j{iShlg+ zLYD9froId;b#g`ZiC4O0({u>C)Ydj|1Dm=q_jJC!X6_4i>3VcIIlVVtf^XHq6cmM5 zw`6bLu722X{vnQ*q6s}b8&m1Q`l_3ybde7ocT+mN=Q4fp7yWm!>S6;&omzweh55aIX1ee^51e!13eGoug+uJmfu^UqOqU?XVUr^?Vaft2eoQG=u(ama>YcRux}oF?@&IM0tL zw!{WA@Zl-+b*utSup*$Oy^6s-98?ZCb5R2}3F#VK1}_6~X=ZYJB0mpK{+z_==B`OM z3nA5CKfHwuKUiS-c@Cx2LBGt3iGa85G{zVtFY@*2rE&0-BQ(v19x@61$7EjXltEgd? zI7*XQ_<1hBYGINZ=<0>#1-u`K(1-5%M<+pn`(eKV9HM#626}8&9t2eak!*OxzlG#V z5@?c{P4c9FgUqkEOFU=f)dG9~ympDR13>u0Cpf`W+k|x32u=PHdDBiMl`A~^aWGFO zTlDb{ybJ0IM@C|XCN1)V6%R9U$tGs(M=p~xv4nnYRXu~}Z-W~@$CU)mAaLmiA$|jEf+M*%;TJY;nd6y()eb-Ubu+mtCQ$a^emtth- zqA9k9Z}GyH_zf9-?cbAK{Fhz9uw7}z?j{??3o`PFa}u-T7boc67;4->Y5)C`*dWGBhw2Gy`tbS(dD~zVDVXIgG{~R z$G2X4%jr-4{nA@rw)>y{;ipOyT*OPCY(Bl^9EV>X?l7Xp6OTCNr!@|k&rSe*FS?HFf);QDoFf}(%TRTqqGd-~bn_9SgcR5oM9!I%e5gdaA+4S(>2tR(}R$TM8fdGlF( z#<=Hc$S&}svvZPvw8@=9=BcNiuFv;%1@J^3`aA1P6w)E(s>?6fz3KHg^gJNUSiiSe z@g$--;VW*wGEcx>Q282H0KA)P4IqKj=F_{fL_iyZdV4UI0gg5a6V zA$c;s<`rjyODB<#stsr-uwPP+x@~@ZaGcg@VzDn9R4MLQY1`M&2X7_cbR}%40xm^vQ`DL3(aqFMUHJ>mS>J0p8ACJ2 zFlVFV=r#G5J?Ib~blW3H;0Jf6HP{woU6-Vu-14G12Ap{3W7YuZV=%ZYI zIg!s8%h@5^S9ZA9rreAg;W+V45o9ulF-GZ2=8hLRS_gKVIIxSHc`}Edh)%1M;Lz6u zBN7BJ`zI&ROiql6#^69ihN0`i^+5?ec7i4fAAG?9pN%R$%x5WQ<%0I5FTNL8ozKow zu_sPgLu|gN4gck-2pc;dzNufNU8*!qhr^AD^05q@O7)HP$l`qTKK2j~U8ALqpHz>L zjJ==B$B#O)MRki|Itr2#i8u1F5&6cqf&(*XrcW3dzPCPLwORXkI=?ao$I88_-eMk; zvk~f8|8){-^_%d8%*-=KwluU|yv^%jHXG=ZHvEYdx_c($Jvhu!;Il5GzqMAxqnpyrOX*V@ zIo5vRkM8+W{uieEQf#L!$2ujLoS181*?J0I#b5owfd|93%?pibJr%ycd_DX`-ogcg zS4^~T`oX8ZKAm$ikz0c{dTkvZL)JW=9+c*Zz{~yhJALG-^y!{u{71ZYz7#lgYUP~g zf9=I)>|0`?+xdMi=>rUsjNJ7>;)>1r{N$7IJ*pWV@rB0ZkQu|xKdi4O2Kq2%cp@U1 z%?Wd;UuAExztCWgT;+-D%a#moBAfSZUT*=INv#O1Wvtz*`xS2s3>+ehjJ3$B-LP)2Ouur zXIgEQ`p9Tv9_TS_a4L*P@iS?e_9l|l*MKp0H}C>equ!5(m4>}WG8>!0{C9&a$Q-I6{7iUbOk7wdleWk5D_~cX!Yk-Oj`Sjg+;gOEc z$T(=B=xf*Y?$8JbV+Lo{xAPW?sJc#0XT6(&(bN?*c-W_bo=zN$&G=U33J_=Royzc| ze(XDeWI-u`!G`uE*O3b!CRh5BcP;GkMyHN+2nH<-NibyMzqJ#dod>RcLWw>jVfE`A zVG~g@jIYDD1skRkCeLSrhfg%Yz@L^LyGQ~SWcZPi3^nZec(IbHI{-qva(~7_J*r=A%98}XJGKr1&Xh&WU7u9tFF$Bk4<0kE}rOjl9qUczmxLfH5p)=(J9-}7K(huro8DbJ009n(?9z2 zq)Z2sCFz^(UI z!_k2eq2MO_rmpx(G*B5P#^ENDIP^|*xrHoi0Z>1Ir~HG9fTt7-{Vt^Ns&DYoEzZSN z2i!R0(hD1-QJv9A`5D>eU`1<8H-@Np$Wr_Ht7V4fwp1?XpYG-CdK-t4l9B zcjvvO#}z)&@g?GQ@e;YsH~JKO=;m|^@qKWcBO5g5L{K@flO#?LA^<*nORAf{<%!H2 zdLvLCO&r3F7vmeds`38ZeMPR~KX52#gkE!SSl};ov9D;;R}QRAI7U0{x=FjQkGlWs zzkSDXP5;vMHchF8Y~qOilY<7?0Lso$VFt$aTl#%wzaZ4wx_fkoc@HSb?zC!RGq${A1PH7RGEfBFXfHCJD> zyZM;?P%rykE6_~! zhtXb~cPL+x_o;u=j{=70h!{!bCiA&7celL!aDftIx7Ue{`zy<;ng0INovP z@BQYl9M|+OUH?Px1dJY6uHbk4%=N)sV-Gf8EADzFZOtL+)3IjbyT6|hoAtF)!O6DD z8qdwsK9LRZH@@Mf)*t@!w%c#r-Eqe~(Zq~pf?YhL^X50d@-XP`i(kx-ar&2-;dk;E z-?52F-;LV*K~J7q<8Q?4Mi<`;`tp9JMSA*l{T6Ke&L&}V0N)D_^-&%8LFOm$7{kLr z{Zf9MCp!5kR{asvv1|JHh zIeJPy6YD1u6X>%Ep2=X`#johLjwhgb0+KeT8hgnHegJFq;(X?PXxGkkn16VmxDDTd znGHyGC~MURl|6?}H+S{PUPFG5qjRW$@t=H{S22#9z7$7Z8Hm;+C@p$!*5UZoM1OLCeENQ~;>pzHpY zMB2%NA2L}p_BwdhrY3(QJ0B8LqQH6-9-F9y>!w-t!B_Zk9&C#4tZnGgn1Duc!*GO8 zIy~tg)@%oh)ttgbuAHX-#2D)M{n2xIYIw8J#8vW3Vt^_1m>XB~00#J{Eg(`3#qjbcGk6z8WKfk*)rp ze#X(}sPso$|NIR;Dr6sj?P(>}VToAF_CInV#jwazMlMvfiKlx%WMh&p19o@6so zEpreMD1VDA$C>O9I3>vn0h=mK=n(`S1|_tSU69_=)r0 zr3nryo<)6dhbK?^_9?>P{88RPN>XyN0p2(WUcFx=-M1jEYKy1NAGlf2bCSrG4*1s( zzg=|eoC@?$26=c7gN;8&edsjDwRwUMJkHnr_!C`*P6ouF>W5wvkEP3h=xUsMXrd8E z4f(;13EYieEY&3f+$u-`}Cp&~6Pbzm(k@GY1L^F{ZkcE}JMrQis1M6-m4Pmbf zvY^6(k4pUVZwyPyl2#LE`XfNE;NVQx#M|gLq-%R|fY&7h{hA1vEYvTmW4=7R(G|S2 zF~1EW!NE@@F+4PiLKi*Cl2_;q4R+yI=@R;UK$4${iaMpb3r{Q7@K_m%8F=FIsq!3r z5^X0Csl&g1CIZj}G_=BB-~!g1fKFVja#(bGBCnhFq1kwgeE4OrGMWxO4@Nv2T;$2h zEGGnC+@m<)o&jPu-`NKzqu1CpWDS-k|4*kcoz+I6%{SI0YbM?S#%DV5hw4jJ6wv&t zkEa|`ho&bX&=Y&?Ff9hM&<)?2CKi|cDt~l6kiIP#SHI~psA~tjulzx2vnc>g{6^3# z>Bnbg;xV+tLhatZF)tZS;GW82;H($0%F%+Jr|5oYaE&tQiOeX_uXw9Jzly8v~27jVO8unfmkCVOr_ogOrO^Ivdof80*I*>rr}EmzHi zdjs-12JarFR|H$sM_3+E0;}_%|rQ-HqR4QKnbm1Iea??xm ze&U;7G)2al*n4v3j2ZQ@%?CU|)I~_(q@>~f6yqIYW;S&upROMkV{rPVlk!!52G`e) z`5J%u3mkrFSsu_?{H{&3Lu3z5${`qu;-(;_3IshUt6AGw8Vl+CSvn0v#u;A?|4KHrZ@B*S_pZO=mwsaR zfBu6HH~uI0#iOFv*Sz|r9Y+@@U&uz}+6V&IO`r(v+-n^ERTl5c?YNzr*`05RgUH40 zZ3G@y%r(#Oq~P|CFY#8s#xC^3baW?!&ZgP;Gn{;HErT zet&L!=qonEQ9ftxUiGS%9D)77Kfk-a>PDug+UTtF%v`&Hf5O8O(RonBUp;wl+)K{N zwfODE1|C&lF9&N*H`i^Fc8;fC@S3CXZ?cO?N`gaOV=8qgaub$cHy`oe;L^6%Z~CD{ zTjY{c@t0|5XvMd-cJoQP>%20Jbi_ycG+6MFamMrToZQhokB`)+TRw9m2>*0KfBsiL zp+VH@bkqIp2c$B!{^NUMt(V2$jUVxr-jn-6cavYA;XSQ*tL%eLe6x2qdc)(%+#Fni zO9BYSSU2&-2MODpRsBXM$&>o(M+j{p(L8T#O-1zLTVpX_1oQMZbJDXpIGrd<9um>f z349jkw3DH^Fm3hMAY_x`iSBE!bnH4ged$t}HOJ`GMm2xnduxLZ&vHd&3lXw(za(&Q zpoK-YZZ3orf8ot0Yi+pI#bH_|{wjL(GMk!IsW`4zV-&v){>Jgj zm@erpY}AJJCA_7sJVht$h)=wr*}2(9A8!+jINJQE`sEYhO|3l+{BO8s4W*~?$yyk# zIo6MLs$S$nbouR;141L0T)6$nvAIQQ=vw$ynM)6tHGV@D1;#ZXc`tSqZ;5Yl z0+vn4?qBC2!K=QnPHTIVoQkpgEDUFS#mqlkeK__WxBnse9l z1njiWUxG*ZQ6|P1Vwg2>M2OIyMM)5*L1JfIv^51u|17+hj#4FCp^p*eOj*rAK2 z<4WwQsGkd^@*|lACx7Dq^)l??H*{wb7X+zGB-IA&rZ|WLGN|!sQgB2+AIJXSMs%m0 zZ>4HzZt!^HE8y`kJ~)2bq@8*^(iy(0>HOix;7LgRVClnT3VcWfW|Exl=#M@^CvB1} zKQe$ADA3nVuujf$s=(@!Q|kZ#KmbWZK~#f#_ziNsF%g*cbS4<>jRiguc)a=Xl*UT& zppGXrN0g*aMvzVN4|)#`5`*fcl=})h3pTnIujuB<45siGk=yxYnMQl zkH}kp2~1_(j(9pZyTaY%3u&~I`uYyM#z)bf*gfoNp<~L;*Ik-!!xMerkIk{Pas<7| z)e1i3>%Jd4_0?-a(86hQ_pTd)$B^4S@bGu4=k-(|$|L^RUVi&be$ZuKdB*R$#g1ehGi0vu-YivG#Ig|g?MW65~bVT0CI(v|$il+P3BC>)EJ!5&gVS9WZ z4BqnTcoo`iaOE)TfB<*g$#rcRzv3rw{I#FDVfXj{%fG&R*Z=TqyTAKyy>YR}(qHa5uJ8r%A=bG8IoX*E7agu&W=x`&9**@c65DpbYJ0zrNOq*hnVlYKFAyI;Yqu^g-1N_ zVRheseE;iQuDI;{%7q8>Cgotxkn^C~TkwgR_{BYvMbzq1t0mn_k4OUHb1sTMn2K?4qd0> zEkAe55%~A~!Jp+idQTfU#4S7X-3#|@q95t}SG;)eYu_zTtkzr@rJ7@OeQ6HAw@hBa zZ{09`pFuCW$cDBJ z-c@X%KlIRJjUV$N^W>K3nQ!oQw8Xme=HXncn+>eA(RuPg^Bmq|Q1RHYI>LDkg!S-@ z6?`#cM(We8$B8L(fysq7`xX3l(;{}P|K_?r1TY02MWlhHe{|=3_{~*wUr-eP%x~TH zmjfmjG)FO0`l6%M7LCh5>Ku4Ng9Xy~+xU}|$lyb$iM8+^eJNsGU2|2?&=Wnbb`-@T z{oo5V`s#cpJn>^Z_y?DpKJozh;nKeJB8Te>=j697Cj_=Mt2;WG%_x3KXI~sYG6x{LDUKD1~e;Y{0?8NA#O&K%2Zd z=B)LIi+wc2huDT&UvqEsFSaMUcvrN+r=J4OnCqRQN@Ik7rOvw0 zH%n%{Fn$0=Up`dZ28RBz%6`j+;JQYn^Uz}}KG6M~w%L!Exexs2lht()RZoGb+;FNR zQ+!aO@z1(0haRh|z^(C9?7>Y$`z3Vmg3kE2alzPb{)xT(uU^Q6fAr~V<|^ZFvJ<*= zNp1x!9kCr+HY4%4)*CR3x0z>PA^smdO}ynA@mg&9^5K?L^AB+PvMFBp24>k6u9XMy zVedsenZvL6ql2ievVgDMwm1g6{J{8u6THwtiR7U0EC-Q@-oH;qmB*s5R2fX=yCw2hyzokMEC@>5FctD50*BxvOLzYAcj&WI#&lz!lbH-paf+FFF5>gm^yKkyacM^VmMABF@@a{ zDi3jbxC}0y7|_4+1m0kZ51W;6BWdDJ`E+9;eP-X8JJ$k1U%W_869oD)I+{5KNBahL z?y8SLC+Q6hgvwKBFQZeY!3TZ;K>8++e5V>;lhh+W1%-o7R?{CI39V0yM5b_)R{9Me z2~IZQG&w-hjmCN8n|;Q96WRd?zHSnrk;@K*(b2jKR$j{s-Ou3HK>}_Bb;^Mqp3Rej zO-`zZKxN8R>4sE%q&*U>3C8di_9K6Qp-H>No+q0HI-OScX=v!CZ5A98?A_R?kUU!w zoIpjsxT4oSH56S*BI@YHLaYllbdmu1vUV~+RDI+`5^r7b!LL6*- zoon!g%hT9wDh{6Gi(6tEUkFgk_{e%q0G;E9pYqXg1zCBiZBy6xyQ0IN1JFS#w7`e6 z@EU(eA7;hldPijAH4sdV{;=P%T2}!&93h#l*|LqC( z(a-4nq_212w}9X9Hf9d-(8SN)VahpwhM$cSo#laVlrY#urT^%4-zcIFQF;-{#fO8U2U%>W$A0C%D0W z^&TO;3c?hOKG4!H&BJg0hE#FTEndY6B|Ez5a^^XF*gJYmHduW6=Cp8L;}U8mN{3+4 zfWu%#Rs3u4jvqH?gfQRc=P<5~Z5s!03u{l=cVZ!KQ&~LWpm{93_G#zf`O`d|ddu~f zrN`;T6PTa*^KX>zz85#N&IpekATgJg(hDEtlb0M-c7m8A-kY}zz1!XN(o0S!wAFn4 zbKY-9Ib=`Y=z{H?qpALP^V);g=k*Dvmbbp)`rZHizR&mTU{v_pJc+xCjobdfPwLbLII5Fn^XGB?E(gb4SkDsX9$;pPTp5(W`hL zxPz_-C*$_%!%xzeH>7LN;nA;tl;h^^2Yrv6fK3Hg91|f8ooI zwtt_PsImuE4wCn56wLUZ>=%Q{vk|NLzW$o0d(b(q{O!N@{@s`U;;}9Oq&blESI^6J z=hra^(qv-m73Z$e?_wan1BS0ws{ynTYku5uGIlXZ`#{TrCoey?LC=m2C^92SP zykr7*^%dvu-gw(}oj*dSPVRE^<3peLa-X{Fw|da;lTF*W7u}qbl|Nl9zhQs#3MS~y z?a)X%-uyW8oo%knmzzVjxs~xBP4XPXLXbqPyhba3g3pfwjlCmlF|4Xf zeciPu$6EdLchhs?aK@Crz9xC*xXpR;{@wrl|7q@~c)3OFJ6~%K^M}S!gyVaC;3e{y z&qN*Dcu`dp&P`0d*KeDp8o&Drd-Wzs=CQrW5jpA3no9rXpwMRLp~c^}Yqn3SZ!U|E z{nl@Pa`#{V#_6wxc*%<|+j%9$H&%^{Kl`Smo8R}`^VRwjdF!l^4bhIRf$zT@ z$0)v;RB86Vi%30RY{g;c;OL9{95o;a$QV*{4%Jgi0h%9)*v-NvvutTb! z&4wsE^v)LYE80GEi3h2$c_8h>A6)4J4zUz-S@XFS55-ws4sKxT`XQ@u34KFX zkFYoVmk)U+fu&#KO`JK;!oK$NRIc~WU5g3YxxOLzJO0EgO0o!R)gmd|ap}m8Ic7v{t)Pxy)H2~Ua@FM^#2u$khRDlLV zd7MS(VCk_x8j!v&!%zj3h(?K%j3}D%^?zo2u{k5-UpF7}&)}FrlF-_sL>gL#nQDd` z9`v+n*d!6&@l8kiqnH1skwZ#&_l^~M^DmZQvgIWDj!xNN2GoN^WBBNVJTT=q$C^9x zoO70B3QzilHvE8^cr)wcyf#fbkg|FaYz`U5JgKU>?PV11@Fu9x4dU_`eogS><{Ju$ zj!pvy4|%tL_+a<81;zm=&xZ+4G>^`&Y&4LOAshquZQokIh6B?~+nGuV)Pbg+&Y)~gHgR=J~x4%Tr5 z(DanT8EY*EL za&%57<6D&{=j^%i2HEK$|I4pGIgPIkpWxWY2VI-naCXy~V5LEaqd9oQQsoLJG-qS^ z%-tV-{DIxS@i%S__S4JTvN8HQAN=Ah0P!4p^@E(tPkdipzR_Afkt@#`V%COJW1RA$ zP(Jp?*B<>!De#uA@Hz+@O&(|_Bc(zYl9`5UDQR5!jZp|i@8yTy7 z;1dtjpXmSh|M*M0e?RZ)1b4W2rNVFh(|bDUdfh9pKGOc4JHOQaD@T#tjRrWPg6g?` zk?ZEH!-%(Y7DN)9BO6nTL&Pc`KBusK$G^Ee@|T@!yY!PMNl`v>g7z%T_)~0zQ2w7K z|7F}a(Wt$m%!#+;`b=Q_IMx69n{S`@m>r=u8@KPh^S<40|KYs{@9AX=sEv*P^MCe> zyO*7^F~4Z@g_igT0lfkSKdjm|NK$3ak?pM7y7Fag@AzGPKmsm+%^rht-`_r+5}c+u zrBZUab`^pqg-UPI1)m?a+gG|#m4?Dc$Bo7Gmn*Q$hWiQ@*@E63m#yXZZ{!!~_Z7Y_ z2a?;j54wp>Ir(pHSsc*}+@9BI3<|VVH2-5IpBeXZ0x)HKa~tnkbMntCZn%8+`TM@r z`~eydYra#y^^Z+PhUCcb-}z_i@tKB_=}qTcgFCg{eC?&XKmW>OU2ulEjDNEjlnkLR@xQ$+E^9UFtQXllHolREr5&K#T# zCl<|_EmX{r@JU{Cgt~Ze;-!9;6E<#19eKIi(nI@2m*%`n-XG-sy!(pRA%HioW}VUS z;W{<}CWeP!d7SR+cK8Sno@U=y`h;%uO2;R%Il+FLc1OQ^Iw6f$GE!i=9>}P!{*$9| zd&bns<2D5Ohjv?m zkNkP{07nenwi#pi%yYZ%e0Tp3FY=G(as5*2-_G;j>zwFF?1*c4y-!Q8!qEmIp9`+PjWJO25a*iKG?5JDx z$VVmG`zbHcUto--^kMzb%>zpGKlLrak4DG093c|#cy!cv=7BlMfAW_vo#Bq&%nce_ z<%0WLv!;I>!3HE;I*%Mq;dMRp^U{#ta>9Q{n+S}a#S0$g{Wb4+HtQgIBUf#bPUg3* zBM+o0)mx5y2wV^af7-Wy&AsHvzc8w~eDdY)b)+vF)8*ukfWZp~J*9(~SoQe)~>J1B?=xOAWPmFWceDKg0c~D&N>?wBfSq#A?Ob0G?a_eSy0AaEEFU1va z(V6S6Bx|P`zu^=M%GfMaRf664r_bhvRM!V1Xj4X1i+}C(5lPdFjiY<96`HNojtD=D zz9;{)U2=fBwBtME@-#7D%Sj4+O6?Yv)Lyw>F|hQbf8VJco1uxH1DMc&$JojS6C3EU z3DQHw8U@wy2|CEdR%$Of!*x4VjOrZYVCk;%(!iz*;O!F{$iToKq2N~sb`2ca!(w9+ zZ2cqZ%m0l>zBhYKkg)?6`SS2Ee5{REvbHVE!C@Wrqb$0}t8ZgKTR#0=thAGp-)kSe z$WwR@g%IOEzImvx@m2mp9ba-nV*=n-YR}-Bm`$v+b&7GYT*DcD&=prUzWF)0js|*E>wNUY`2xd6n1Q1XnQQPW>Cfh!ulI7I!o)V?;Nu7Z9R9L; zrXn2lUoP0p1Zr%;u3K`%TH4voW`}+fcRc_Oyyv)rH>ZJtb?Q5LNo5mg8`B>nDJE)o z?%j#-I-B4_yLt$Ud8%%cIXs{*Vc@O_K6vnk4{h{<�h$@X@l;y6DA4`qGyTmiCFP z^d-<{V!rhc9Gw%9ufbj0r=E^=*53rdW~Q3~U}mzl$sB6#z=G3-ZQ&d1vtQ)KV*cRO zL_rzbj9#nHAQ-y~@`0ga@l#*eknjfA`Co#4QYpM??qHH2hlj5H1M900PQ#>%G{Plcz#EUd$;+E6kV^jD^F>$bx zapNNOa)GC>d?gs)bl1CU!JDr20rsS8_~A0qDzBBo1S#}8aYBFitsjR6bik6iz8Riy zLv}7w9bh)}EFhaBLPHGK{)Ekk@6_jWNf#Yp(yf!e;7W5h`E2x|H-1h37FHvt_d^SL z+CSK6*k~K{;Sj@gX7dYg!+VbDHF}I*LSI}jJ%*|Ck0Uv?`OpzR;dgXn2H!XfBBbi$0pK5C`wf)f08g)cM;`be|C68JyMgP6Z~mR% zc<=7-zw6W8z~ytLo$eu(vNEpoLnUo!*yLN2L3+d+(p_-Yn`GN5d|qs%xpRo|@8PrY zw$T$4#}yN9xzDfNhf3|^=BX=rg>B$sOLDOJzTycuw$9YHH*nY)zLlT$^_jZSNAqm- zs$1oco*(<({;#L&cXMJwPDhjc#vk$A*blEmA7o@nTQ^-I$LM9|Deag)`WHt!9jB|8 z#(v=VUcXA1j(lFBmkcSf zhmR~3xmAW{{VRCsTHzD9?4ruCKe)8z(R11``Y?7v$e-~o$MG}R(V3@gdeR&PJz4xP z-_O1N`s%d)9W?Csy*zDxM}BbXMS0cAtuMc7cnp*N(HU8Imh;XRLcilo`d5iLtoata z3f?U`%&%=4nDccZ07w3vZSc?0e;?zIk9l+R1(`CYc8(p86~}npSI&RIIf*wu5&g!$ z*ln(6ED?_=;sK9*wdb+fdFP(J59Q8}rGb@8`k+P-Or8lY3O%OaVK#jxN1+`h6q?=` ziTBS2#>A@n(b4!(H(Em5oM3pK`1)bKn!m4HcIo-G0Ux42^8)iSa@CJ zv&1mg(9euNn_0ndo|MAn`a>W2VslC>5B<6Ns*Cc3?s*3|-t@+oAGDI~jt_q^ZDR|$ zNse6kNxXggJ5L||pzFlL^q+H5uTew4bu zwGvt6f`oSURg|av2}tvRm@2)Ttk`oykQzg(y5Sejty9sbO|g=y>XZ%N^*f(}=(O_c zS6@5+9pH=d8ih+@%T=DpO_guv+cof@?Wslu?fMIOQZMFhs(CPI8Ou0Rego@AI>9My z>9jEtzHrG#=BW4_S=7zANscnm{**C%EZCT`{k4GW{27BO_1)l<>%=Ad4Bf3yi1^pd zALsd0p3s`y7UVhac!AdtG5;4%;5rBCar_hweDqaZ;oBNqUpU~NPvi>I@)I2Wy_Wdk z@QBZW#lJWg%XrbZPXrP&=aWaoaW-*c7jcFTJ+AzZzj?}2ULz?50h6QRgXYaSagFh{ zJ_J-fX$v3Cy=liI-0=F4k9d3mLhX2=clat(>e&!qGq=n9&U&LVEqO<;I+2qsJ{>#Z zONS;Q<3nSAqOcWx=RA1KYdW?el!6~;(>}I^vwTEWc<{#mR=kal*lX-7SL;yO%PV57 zDqa_CMegRjw0S?UbNK1GxMK&jW}Z0ySh)k=^&i;q#6Qdj6?PUMbVCk8_9l7sYwx4- zrG3GJTWjKKDs8n31yny|bvia~F416;HWX@4q~s0!*5A{NS5S?`9C5@R^a74vYm53! z;xPPmE*V*>A4o&Ic+yWDUg)OdM(`YdMF?A#Hf|{~#lbmUcOOS}eKvdqmzZsP>Syf{ z9mYp-4i|k*z8U{rILSZxAbbU$jqsNLDJ9y2Qy)B&qj$got#^80&^6_lFbi^w8lZ7s zgQvZU3k3?IJg#Oi4(c*W2zX2iM^Q}15jn+dE~Hx)L2!?8$1#=yrhoVxrKBH$;F{g= zsHAlLJRAQr8IImU&r_&^#yO*;d&=m?WUfwzK1RSOO<;dB6OnB%8KJ6Bt*!AOG>{p#dcjJH@WSox4*cfjIpLC=rv>oZLT<3^S zBCJI$BK_)9>hRvi(BUt0IsB1{`*31BtYCHYlm`BW$H0W#_~rOxzXq8~{i>6+cM)G* z3HV^nc^4y$5PeBZ3O(7tgOe|&seFl0917Io)KLPDeOt-)c*%8ekZt)6Pw(O`qs$~| zG^f4EGaY@U4SY8a0}levGpLSlsAD_0`AL6aI<~+My_hi57dvzUfk;YqpZX^6T;pXe z3?xi?hL>%9g=2igguwo~paZ z0FUAo3dllaQ^Rmxmw$G2jGxpqsvA6gfSrI~B?oi?~;(}$lD2Tn5f zq;wI?hhIUQKhiEaRCkkPbp((PI`DPz5FGqL&Qk_==tu8t$Zz>7{pzkbUp}U`{#qM> zo5|Eb;$tQ#>#i}{YtUJPR51sR9>L?g8~-6lFLe8n&pfdcM4ZK4TZed`e|!16N;8 zqg>xyo@3{3n@!cNy!?26*lS<8@g*0RM>4^~RjAOsta1<}b#Tc?SP>6wHQ)Y{-$u@J zjkV&hJn?mUfmbYu9qn6=4<3Hsn^+;#oXGYeU|x!Eo8bChohNW_|EU}6mt>&F`b^F* z$WyF8x!C@TgSR&5_p3cZw8I9XH8NW|kWa5hTCxpTm8wETz zUyJGZHN_ZUQrKU=_DLS3KjUEzp>eW}jvo2O_uA*wKQ;*PF$=qC?V^(&LJPT;p3hj* zc}x0Sc+4vr9@~CE&t|7cj2PY2a8AbK%8K7UU9!164@<$*-RYq z9eUAbe9?zq{6N>fVgprSezu>7JlI&}2=7#kt-^Pz>-@n_OAf2vJP|JA6CBk+U_blW z2N#MX$G`rIKOTH1c3y39=@%{@Ob3C~;Ja%=jXx%=ri-h70WyFd3(lonpaTbLm) zdoU>(oYddaR=bC{t~J6Z|2~MzjK^SI!^7XYwhjvLcqZkHE89k0IpG^nLp@weZar*R;!$42 z_u4ov->G+PKcoH7t>MB);Gr5nihk-(>T!t#{zH?^D@E2(L>{>{y03L2OmlB ztjGuO$ib6;$rYaA46yk*o~sYK4m|eY4yqo@L)zFMW_+^|yy%g8aFy85%cdwjqSGySsaT&FFdm0a`rtdr`Z=JH{&-w@r8>qR3i%I5 z$K_%l-qEnGfOn0{@HQuFi_h05(%(6po%6#HIP=r9viK?-{ihF^uwuL>)5tt{+HLaz za?tf!*MODZh_!5^oiVz(W-g;GJUFIh+aoc4#wVgza&#;WOhBeMhct+qKXTnX6`QOF z8RdhCgW;VFGe@Jp$dyk~IOe0U--Z_E(QSYyM}?-2fu?uy-Sw*dk07WIhu4Y0;Ty-| zq-%9}T!+`%K35Sj^u&WB+!HV36XEB8na~Veb3Fa$U-NvvO?0+}vi+vS7Co8UkX4~0 zw7|~%E%U03gJG&Z06kyp+#&jEzx2gpTKe%6@On@B;LF&wbxlYP(J zSmHAwQMmelVD)iMHR%&;x3E!TOpwfkSz1LG@8AS7-Wjg^=I@+Wtm=X+jNYUZc!`*fF+`7w zOA<};oTp-_NA+l9bncuJ)X>wZxF)H^$%teLc!bvn4ZJvdB2%(t*A8MKM8|Xm zuXxlKN-)mxN#5!rFp~?!>Bz4?o$F@7ga>u$R{HD<5BzKJVk<=OFoR7t$2?gY7y@*X zLc19hB>SLlJsqPZf3T4|_-n(Sj>+4_M0oeq0G@+U)20))ndD3k_LDE*UmG9gES>6a z^c20#qRZ2ho-zR3Kb5IE3SYHRFxhY?GcN>XpmChVfXT!xINdBji*8pe>Q_B)e8ags z2Cx1}PTfS%H@rO^+Ztfl3D4xE*ZeQu8Bk}VKrXB;^bG*Id@cf|54}(9r6Mx0=lD}& zHBWhkT>XcQ#V%g)^1r|PGrH_8f9sv|{#cf%?SjOSKe9DD)|Q*S*cgxXzrcwtvY`1N z{_CfI*799yW0NQ$L_Ch zH-8lK^SeLXUazoV*70rmQ7`^=>9+V+{|6twk0Gk7$}PvFz8(}_IuXf{zO|S4h49d^ zxh^ovZUJp<*c5=vr+TBie2y!0)fnAuEfkA0eZ-}&^5H{aU+pVTHJ4yMMLoaxo4!%I>GmFJ^7WM6Ql7rIbVD`?-(7p_5N(Srbj-*P9xjk zdEl$x-OH+XU0;)Tz=9n`#dpvOza7_t(>FRSv~xN#TeCoLyl zJI6?Wdf_{6UY}=EBzUgM4|LhU# z*?K(n)lu{vUMX?;{PI!U+Z^LJ+J``VJ~|Mics@)M6J!1`6ZjRwc;Z8RqvJ`Ljc-H< zwACN?15s#Q^P)?lOS<0jcX;a9*!Z7$X$Y1c+vlX?xJCHB^4Yr|s!iAt|JdmX;9MV9 z@QxpS%*mRMbAd1C^ww`z4Z`LKn)_kq74ii*oxz30$UgCb=ezTM)P3dLJWc%ao86Gp zckJ3HZPRD)!LhB6g0FcuaP(?}v|ruKHM-_t5xhP^jWRiL;;>e~V7qN54}G-HkmQ#~w5Hz%$zp&KdiwpU`U_3#zWC!mpcq zYZLF?zx$`B66y7u@*{BK;5Dzk?nwIwK6p>B$A`>8eJd>gL;HE}6H00Ph|k)}`Ymnj z7hbBV{ONkZHGQO;KF(cK4>>hAgYnF4a;zH);3i+q_$EK~W@_N*W9BJvPEKv#^wIC& zso^LqpdH^*og%LWZ~P2RRPo-X4KD))|p)IPvrQ~tu~DVgtzK5$LcM| z!XN6V9dAC?VVz3_1)Z-A(e)tNg2RCImYA*&WKSihrPVPBZ=t1NN0|*-HZ)GnQ@D;X zL-l17jf}>#xYCHAV`N#f$rF)a>b5p(YBCwqDg(YFA0MMbs=xxActuYV3fA=F*4VWbDoRl=Ez0D+OPaZ z18M8tN#~OhC=g{gx+eE3_4y$|K_e?%0LsVs=>Z>rib%d7d*HJ6YaHc*U*nbU4xhls zm+L3(Q|z^Ebr}@&#nya7u^w-XxCkHY+`Y5V#|yu24r}uk2XPpFv5GS~@#zCb5xf2t z{aL>{$EVVH9@xMTuXC_mEFUf2_?I~weCb+#JNF4b>(03;z(4p;_E8dV_1RQ-N_&+x zuGZG6Y`?&aUHA+fnNQ{+OP0b9<8<#Y{L(MjY2#-DqYvJ4$Y*eXq1)P^{vNr5tNRpz z?H-N#U}H}<(5HIpbRQj>96VtyWpv8-CXc12bi-rnhO@EL85BGUH8?<0dlm@8Ce=z6 ztS$dA0T$9Gr(8(bgt7^WIe3Dk{jleQ8JjhXL|J{*n^1x8;vXEufo|~ToN{!gAVo*Je=qqsS8ONTRJtIkJnRLO2 zm4O@hAgDgo`S?e722&-D=SSv4$t6Za1-7aK%j*Z*I6}|H(AMv6-qBRfBY!dE02vnth;%$rR zbQDhN`1w=vX<+!(0gc#3UaOBl0Z05nE;{a&0uMg&y^tDzD%nl<@?@EayzH=#&xlw* zXg;E-7}U)V{qO(-`|6J`ac2{g|Bo)v4bS1P8)1#h^ofl7=mlL18-(=m6`He&H@P2G zUlBF7@UOSN{@R&`Y<&+OyqmcT{P4sFs>{ePraC?_)}FHL-*^kJ@~#-{xF0;nZFu@I zIqzYfG1nYrZcwl*f3>;7mSk^U2(H>D@>HJzAXjx5o$7~|yY4ytwIhq||M=g2L+3E! zl@GfC$cGq*ZH!?q($w>V@g}wPwZPEApWMCw7v|-mzxC@sQM)@I-Y5TcQ5z@e4d39W z<0aqX2cPiQhtoe`!I5M5tv%A3(-yKfcLq;E#Oz==Er7@@D_xv#qK6;29%!>njO&%w3s2{<4 z`cofN3}TJ{;twyY@E`POAx(w3?}^6^y#=&8diHKVi@hUoLincRiB4c+EALLqJ>x`SpyMh~e9Z3he%_bNBxy3H;Cc_ER!`?s7?Bp`*Wp zdFVU~a7ukON47Gy%~z+xXK`fny#|P^u^}F8{5bz?9)0lfk6&6G2frP8=U zArHR$UNt>_=tG}ue|>qk7&jN}H>V=+#LQvaM?ZFBoDkjdjihp{cnTfZV3qo?^qV|^2OEn0$@uo@*9)1wIc!zq>XI>RM zL9fkg+1VUZdDpu?*2i@8;-ELrbUrRIckHnT9(&_)9-qzK;A5xZnhwPqDXP!dR}4?C zp7|3WkT+%?;06L~%Je5gj@Xh1mBvJlqLHN5#)^3rSpCce;MCu%^U1)h&?-J~yE{_h zf*x+V>!VWQW7a;+Q+VEWE{qtxs9{(bLvVzxW&7UAOx{-~6DyPy9ag&4BC9v-U?QUuy_XVPR_;!okTx$ z0B>bsbM=8sQ*clFtSNKd!gmt)JAXuQ#TtLZ3#Ww_eX`9|pIz}h{U`3rNBqU#(jni%>%?+e&3A22ZP8)-@`NR&KXq(sISMg!P z!8Ts`MYH<3o^$aK35RDNF2h$@hi3PdxKujN%Xl&$Ug2|MDY^-kUdLL9jL(lBjEZ*W z;g!G5cp5zvmacKPJLbH$E1eym)#u2{A0}6hz>8-niZ3T(5g%kFgWRAGouZYhkee7v zWPpyHlOH0Gv5|e@wHM$>__2$Q`oYuFiODFSe9WLT&H^cBdq-m!>EwxW^J-fwv3SeP;xZr1ic1Wjm&FKUSrNf8$I&E-rm@Z~=&QZ{UOHvs=@Phsb%#;mY z#FgOVl=!QF=z(tzOCLO>&nyP@8Ck#@Oz_b`A@zDH>yylKy2typHeobCLJ#ihhO&p2 zfnV^$>$PXlw2xDaK1>c_l$hvpT%K+i8g&bZxHWb!PM^}@P}sOzN!#`K zvB7zM$ZQmW4|2@HKPY;B-F3P9Gj-#eBY$mBeGDxBqc3pu)J>QSX8fSfbt_K>IEhf4 z&@q2yv)Ci@K&S7L*=8L;@nIw6NO!-5zb5(gV>__gAR{w-tQf+J`r<>+E7#Yio=+k@ zIB+m`5aG)U4P^$N$P>i9dpNYheq~_uNuuubq|5M>J}k2y!@y6v5f?(>o46!8yahOH zw2vQ%>I5({;In=^?AKQ80;gK-brsN#e>OT5$4SuviNoPExCKg zZ0PO98@sVX>;`Wq|K)FVPIqjFV>|}rz_3MHhyWc21py;*dFiv8ZExJd;+(@z9;XBFLJJh>cS&l=&Je+ zZc^Ycr|Iwc-81OW_3}59PyOWqi_!!6#>Rq8>o08o{`b!e9-Q2`yx<={V!L&ougKr) zA3G56omA3OWHYf}8@XWdMCTT$FZ$uf-xzUf@cw_jJJC(~j?OAq>WV9aE7|xW zeZKTH=k1H{iH|ydum0jseSW*@s_W`&bSe+5_<7lDZ~RCFynfd~Kk|0|?%BCvDLy2( z&YjpE6+nj+hG(W`tMRWr@?UmBCVnO6OaSC)`3_%QG}B>Te6vQSy!}dG0Q7EFEQEN_ z^#c+0_!MvQCH?VBJ}2k4XRbXmLUFg{9gdl=9Jk`2H~cE46I}i=*x1OqTz<3-in|_D zxP#yLfM*S_~l2R}VJ@mHsDh@RFQLbny0Aa7XUV*~JfBqSRr z>uy{=S~@u#>c{*(bJ^9s1DT!p8eH-a{^6`vFtShSco-NtfN*P3tS|k){B`f&r`J^d z$akI6*b<|Bv^v_+A(K;eawDIyd3bGp0UA#h2qv2a!e9W|?=`vOoDTLYC!cWacK18o zrf|DJt(?u3>2J)s%7=M7o${mFA;`)fnCR!#Z$e{#B2PN?_~zHi*=&8l2hkxFc8wvm zdEPrWNu4_(8!zFbJSD#50Ue-`r}eRr^I@xJy_+lZ7y4O#kG1QgQ{%qePfW9O_zLa(4@4;qbvy;|)P<1RuS<>hBKRU3)Muk9*wxwqx&bU?cL(v(GO) z{7VPTSD|6U&b$#?wEXzlp~`cg^N9MxEK!RI4Agqz<5RnGmpzRp7O^Z<_<}I&$lv$Mm~kPy9TTN zx9x9V{qEM^@an5jl=p|+T}ldq60RUdvekn2LL;Bvcy*Pfe*Uo-{ZUGt<(pX>mV!)y^S2u zMTfE18V8IaasqICds$;Ci?3DR4Z`qL-0(zhdKezUQ|PEux+aOOXZ+wNV}Am|jwk$0 z?jZW|A9-~0F#Xzqs%p|-Y+9f5M>&F@RqjDGGDgMykgJ5qA9`FUCpcTSlM~3@eSi>f zzF>MD{$@=XeaNNhUp&WSvRTIyq{*6p@rDU)(N_4Mx%TLJ+5^^p z`qp3c&x=3Nvvag<1a|(AP1yCJAAZJG!5)~7b*0Vz!grTzBD?t{d1}kFH8%(Q#M|&# zeWVR9rJwi@@!DkReaWPM{-c}V#&dX~+o8d}qc2DLX`ZEqlH2J306+jqL_t*JyyiLK z2Yg9R!Eb34=hz8idb2K9*a4gmLCCFrHZ#q|XYR``iggXy#Ou;4{mlB(58#bY;jeeR zRv_c(-1vjfH7BQcc%gO-=X0KSAF9myXJ8uVsmCi_@muRCeXE=Bz4&iViEhYE9xOOV z1T38?{DmBvj1%><@Qs$3sD5+3>)O7v4+2M&o5Fv5E0vAp0D8rv{D~IDq643LbjS_2 z`sSk;%KRN2_2RbjrM^6bj&-pXTgnj=zEvOV{VO zPS~V*FT`L_*PIw0{9(L%Mevp+n?O-N2{^2Wet;vwijD&b6 zeI>jzP=z0dz?kAWx&$L6!!W|S(~oaR^7DgGBTS^&gTsNp@}O^U_G@2(=>#T>6Ns=J z0mVIK1s=V;m5*-dP-JkHZh)(-v~~g&9G(>f37l||5gmOeA&qhvLotXfhh3yr@*fAA zU%CWqpn@;Gnh-eUs3=Y!7Z8-&4B|H-3Us;rzy z_=AbRq%UUkVsre~PofCAT}e?r8OvvQv+?OuSN-V%pY(1Lw(g3mU!-5@gGj#_e+DnU zOF#U9)el$nQcfy^$+8$Y_7zug&zU~@s!b9yjwymDSH{M6);Y0uND^`p=X{SSzim8ZPsUufyh{5z3eNH?# zwo_*@rx$q6GWjRAOMPQAFpd4dunB$4V7~L`T*F1)g9~(Cvk^Kp=(UTwxGaA0BZr$j zbK4a^d`{cQ75(xvJXY@TlXGLi+&K{&1%7QP;QzxHU$*_lAvT#TtpDS`eoFfv#Ro&D z6O-WN5A}r*h}mlMPLd)ws%-hs|H&i!{K7!=cTW z`(C%&~UO8~t@s6?|Piei??jKorm0O62-`_r}-r_e>j>PCCxJ$=N|NDX425*%U|jNGH2@dIu=5hADC zZEkgo%_9Z&D}R>fEw7v=*V7++bvz0V8{Z?%jeGNnN|iTq!XuB76F+CX?W5bFo>NQT z|M;69SbZ8_=flRy)3ssx^BsQHcq>+N&3GF&M~CUW?i{-`zixm2NB6&z5BIn&TfFdjj}2eOFV9JyvBDie z7OWj()5(wRvJv@=h3w{$TyiA!v6(kAt~rOhCe*{NdCddLLmGHLnT&OwU2n|2dvyHh ze5-)pD`~2IKlG7Hw{zb4vF$OZ+-o~J&n~_6vMaZ<-u999Z=44fU+;d;MUmO!olV(z zct+nmr+%lMa)v|?>`AtDK?}RPjJDDw|W{H(W6`qhjTnR_O8p+(aB%@ z%{zN#j@CUxJ5n#E6 zy$)6M4~g>Lbp;)z?D3SoVx{pGp2_OG-|lHHW2=EjMc$)gal(&Y^V)Nv+qZn*_dI61 z?QM^$o&s7#=$eyPj#Qy1#@Ps68+mlZ_s6z@i4)l=?n_demkc#NOZPkUeEzHt!VgT8*?WaR=jCHMNh z2Y&j+e9(hO_R_%|OK!+%`bB4HQ%LWFATi7)Amn?oLLPQRlg;qpSR}z!yG4Jh=w=K9 zD?bY6=m1|{);2S)W^73O2BbFRb4ovqip_eC&!8j6%5(e>ES=(SVsCOD-tp48a$xXT zc>;&u8P9?c*^rw}v01;FPflJS`A)ttK^NsE@^_t?i^J=$bEoX$8=Z-*najk*OJrhZ z_u$0u8pn(u zO6AFU=gh&uhxj3p>NDwAzejw_G7+sCbWJ6E#XTg^zcJ^%TJ0YeDceFSiXyuHRtTu zQGHAQ=f}mcw_(iZ}5zs9HCd2EF@`WTd+0D@112Pg(@yo;YiRIcQaeX+Td>4fX9{0sDlih-(3ybX01UpI zD>kcBa1KhYJ69PYlrlmFf1QwF(ilGR)SwH#39dOtEvX+TW(dIWx|5^^tW<-S993oT z;cIUHkD|j%uiHPcQF@INxHVAOY?9E_H)tY_Trl83SM~Va~uaQO%gj=aA-G((wWyaNebks?+FwSLr;Hj!#RH0$v`UD!gt^t z$%oJSLEyUqnR=bo!zuC5A6)n+O5-T?nmTdINknd&I(_+3H>pxV9$#sRdfNv9dM8_L zmLQ}P_AHO36kQ4M;PrLd83>XPf~ON8eC+ff4ZtUv;4Mw%2O9jM0XKXa@usem^qk|P z{HJjZI2~vLOUK~hT${ojj4J2YPEu419&kmy)j=n+sSjJ#C4DN5x6o%t9~$9teL4sx ztd?Iqn?(0(xq*Sl2#weA%U!MtE_~9Jn2`vZH1q636TlVU_*Tdm64g0{_+g*gH?;Y; z0>&Ne=uM0y59XYH;UODZ^NcH>PVPP}EiYjtMYd%lG{nT5+i;i(2^qXH`_dce{I3avzG6y${!{&-4QKoUf9r#h=B3n^e%{50 zesXi~APZl z^eZ<0$Q_^WS6zL+$4moMdFzmn?uQQFY%f+)DejNEC#z?bAAelGhNXC|-t z)IK(g?P2HB@6QI-e#KY(A98oC}>hACjv@Yxb~x|uKJ5k#28zRuT0-g4x1H{!!QX7bwM+n>hY4^_VJ+rD=DcmM1O z)q%csvgkS}s&}5x_Vl4n26)z!?!TRK@}26>%T_yemG=Mp^8GjW@L)6h_g?tT+rv)2 zGi3Fj-k}#8%MIi?GWuc@zteD^yWehm)C2F*XNA^AfpB;Hi~sy>(Cu3uaN-@e|ME-E z*p9jNEn*+ONrs7o(PiwLp43Xu8HTopo^;&y%*fSwW7_yznku)vf_AEELpaE*FTd+1 z6u%3AyFTG%i+kMVcH7rK{2rCDnnM)syiPd&4#oGr^FOscHb3O(S*jQ1$L-#9_J?x! z>BZX{&pLm5$GbmXpM^`;+PJ|$bR(QZB>#tv1wK|y!BzUEUaN61wZ+mqW@yphu!V=bfz zZ$ki-=hea`7mJCrVxwz!U#q?$4>soi^}l+0o{xK{>ThjY(T8zFp$})QOFnn-e(Td8 zR$a4G*^anl%K+<}4#wNr420mY?esHleCOl!AEGUfRcASe`x_s3|Lx@ai}}pqGM(Vp!(Oo<2-rQ|{ zd0z7&5G0ca#gD>|>(i0PADktYw&sZ($=}#bgSxIk(_KHny%Wtfp0cUXd14suja9+R z5sD)^?O0ZPv+hJoY|({&Jr7o60@%{PYH&2aYl}ZCU^}l165_~nL0uW)RU8^CsTUi) zsbkkDE(_kAM3(Vs8(PEXF5UvQQ&)3A^FeZuIdJ_hcH=KyZv=;Y%ASh{d|Efrok#hR z1*3GT&+>IXP6of%G_j8(b1=`^4iDPX&!0YG9343!q7^UswJ%+wA>Y)WbH4J2{>`Vw z9A2Ue>z&F2Z`x~%;)9cJ%t7R1aW*_wx8WK6Ba(N>*!_|m!IU@r0Z2vV%6ajpebxiJ z93GmD2e<={PIa6+#eHi;4qEyOXxsU3V<&+qK1#1a#{Wj|WuBa|gWLrMpT-(^NH;#4 zi{c#(B~ftyW-igK&c~_;>Wq=Dy2Cme4vF-G9x>B zA}5REIli&S4}RxE6>~6SK5T4AaDC|qI9WBK-B=2M-0EB|Tk~yj?5G}mZ3=0Mn=TYM-dr<6sbPE>ErHkn+-bPn6jd!@CxW*1$zyr6^_|Trhx7U#$=xZa_o|E$# z&uJTuyv?r-uf)&T)%6%GLJ9_(u>F-W|B^zF9|nkdvP2u}LNuiM>5zYp>qvwzTLk2vf+;d74ZJl4=`6 zHYI0*Ji*@tAO6=@&Ff%sW{Hw~<6pEnywgD)5MSZji|}B*;6oGN`7d8Us#jOxIUsEu zd#DR9;elUh=X;WhYxXv==_CYT^llN2>q zJ6yqEK66~36x*PH+dx`8(JOfL&FaAl7# zgjaz+a?v;2?mjR`XL6E7-Adk`mqd}S`PU34xX7Ymrr)1Gk;LxQ|@xNnY!kjz)R$Odo~+) zBm+MS?qQ{mDTq(e8GqDwPo{tbT_0Y2=Z~*n|G_UleLLj=eyM%% zn02Dh?#7Fij}6wp@I&9QefKv#fV4L%mtKDL_RoL$Rf*@sV)(!S{%126czhr}h;Mr1 zFXAx&)eoKi@!uT!?yHOPD1}QezpA{sYp;HpzRiKbE}s58cU>N;=-*th^Aj@qDh-~l zarb@rbxwJF#HY?HzwL*U&cUKDXL=b^t_u#h_??o|zWC>%3Vkr*`oN3*TpNqoeSAkA z3|w?t`_N-(@oARh-#WeZy@!5o>d)sc$_L)(*yw+93>^~UXMW%@+yC*bhd@vndUDVk z-HP|Pb^W2^TXeJ+uW0}y-q@c_`(at?@yNF0$KzxA$zwJWS57~O+}X)-|{J%frYnxBPei+@hqY}SjnNQs*ckBMj z3!bq3=D+$!+t2*qW48O<``E}QH=DB@wtX;<9r^3i&xdZ`a_sGn+Wzw|J|oZ8K0Y{O zq1ZEIORr-|DlK>({jj@lzm~g$Ule|R;5iS=^QrHW*l_oA6cAzLYhyA!_CqOSKoE62 z3C`w-K+c9#^c0*ykRNfo_4ddI-!*VxLqBh9rHDP}r#$#>&9Coy|0lM`f87b&ZEk(b zY>Iwxqar+E81@@ly${Jc_L7XJf*Ju-&3++s`4`y z>&qYgS$y98ZnxjQ_j?|@{nSr>%l6pEp0s_(cbrLido^7{L~ zKezVYj|X*s>j%wh&-h?ux5zgisb12bPUU_%uyPgWd$vzyJUUc4>3(cis!e@baaMZ|mHAL|p7WLuRi?3bXlFje zb`;ti8#*=u_~NSfgS&KT93UI^=tT}N_ezI7UC+E7U*ws2hmG8d6e_9e_yD&xsv75D zx~2{;Fz~Qv-ul4;zgCYhe|L>8J!aWd9OlK{6a?lkc=;pU(XG6at~&xb1YzyK_u)z7 zTHB)2y16nE?iHacB+n+pN$^K6Xc~^pKJaVL*rZZ4K&JF^c~ql zYWUdE1Y=y&f0fY*-s8t?k^UW5VuSSVI&RU>r~Z}x&8NZJd>UEwsU8ayiGzoX&E=_U z&JTQJr+JVcr+@fS`XgV_@68gMbmD`x110e(52iv6A6?`aIR3}4I*$y1zU688RqCpe z^hHY>n8rbm#+%gD7QwaitJ*BSCBKrNVrZ%T!oOqn61-$uo4#Uh{GQz=mc$=;I^K(y zv}qr@>5rDU%)e4w@h>(DZMqe2_%ojCn}!NU&-}c85m-J8FC1hC>qT$ycsbXmuT4U6 zga>jbHP9>o>6U&^tPV3eVPJm=Q~S z059b`ax_j$J2(T6A9Eso7Ja%>UxQx{d9dKk0JC(C*t?_I|3Rw9z+uVqX60qgl!nzOYG;%fICM#Rq=~ zA7n{c@p5yFk;}%02?}QAkobPCAxdyHj-qHz79$#*8Wz>b7!K?gBD6_(86oB+!PNpx^T7CI)ECWz>dZfC(sFV#`x;&`PQT%37aaAarvI(+pR zd$TLmhrys62Z}B6F9G;fWH!;q22Cd??Z8LKIl9by@bDjt9=Ie1=lL3Abc_r2HsJY! z_R1Lqa8^M(;nD7f0n;8fpZIa?ChgE>U$`g?{cc17&7U&7`}$;jCq&qKZT2{C00fS{ zsz-d&LvZtv>KC>k*MIcPX0s@&%Z0W;#722btTZ{KAN)#vJh~)C6A<9E^BWT&v@A}- zMhlx=l}RAIkc%|+*_?F4G!6Qqizj|ZRB>6#WS5;Y!{ zXNZ7>LT+P!Ii!>E(2)l$XnO}5NmD1Ekq<5Sr$mp)-N`_NVhM*gO8xA%9Be{I7Vh zKsFA*v)?mf;XdK+x33TICw;$==b5rM`#F+_k4NzGdD6X(y&+4zwvmpGXU;A?k;2f`1wv6Js;cG?^h0h z^Y!O^czep%pYUZ}wg1I`_>S$e&tJ3I41eo+pV6$4_m(TsSoG|^QZE|LHI@wFX*izSAF!8pBw+Gug;kH zAO7gSQ~YE94RZeVFTVHG?ML&2Y9C45ekLE{;Pbf9xZQ1zObpMDx9ri09N_qN z9V87lg7~&7UysJOTr2+glZBT2TOUg-XuDgU+5E_d-kswI!{l8@cU^z-)1Tk&dMD3x zX0OAyQyy~n?eyGz`>uS2{Tog_VLR&|KD1q)Jg0Os2hJ$f9rP1Z<|1QL^U3+(cNXky zZ4PCj>D#VilOMF?U|h<~BA3Iz{C)H2nXkJ0RNmBb+N@#i1=;U{f>_$Oy=XJ#{O=7oum)c55Hu=02%V4(18ljgkiIr-$f z-iZFyiRbsd@8b5;SH3r2Y*#wD*0xL;e;K{QtxYp0c6w ziAyf;4~3Z*+~M}O+HQU8Bl|5k@~?7P9<^e*+WL{v zFBv~~@JQ;nw^{p3dk9foh zJ8B0G_&og$@7dcV>^cvxX`mA^fv#J$&8^KS#OZ9p%2BgH1H}60`tWBB?FRw79!f)F z_Ga-pbKc$h58ZBZL`Jlz1a3m*v~B3hmmxSh>v=&6&#d6ZcI}snSvSzzE{8yt7hLGT zK6H2EP@45MchQ%;%>!a1KDQnn(X~kCbB86KptQ-DkZRenwezXiB^Bm?>^B={;w^K{ zJ&^7deOQlW8@t;|*jZ73_ zzCzAfFT&AzU-Xrxp@kDVkG&9}OFT7K3@e4JKG`p_m|u(LpiZ%N!&~aXqvu3R=!riz z<2!tlI@*?cAF$e#>tiq{(K z@WXAa2R?P_THDhbpFmTae#M<@@yPINuG}1&Tvb+3EuQh)=F{qcPhp46$DYR7k$d=u zz}P{TaNvKfA+OI`MPIMA*-vIXj%{Y|sQOHQKGty{e#P$n3;n`IhM=iTdp;0crAt1# z`{KZW=Vviz<%g@AbFok3EqM6S;sbp5SAr-1wxnQ8q9RVUw}p-2+4qeKS|I|g?=`WkkVO^Cr?oasjYdjm$`1G#HM3t!>I;F6P{SE55MCZ92bxH;jC<;a6!1}9<625 zs4cSL3jPVo#Bg=cjmYTQro{R>Dm_z5b4NPq*U5qe7uu3aeNsT1yY1`}uf;E0UxoXJ9gn?Qv)_ye9)^t8K`ck7DkuJ4Z~Y-1YdooctRM%DHB`1 zR+r6=;N(M8Iq|WJhscy}r30VIpPbUT&-L6?y^ zwq4T4vl~-Y8bQ{!%0P~^o3yYgc~I-5K!47k3X6i}Gulk%*s}HuTjeMH_*VTYgvsLr zEIth<`NgI`I`FcI0p6YDWT7m!pSVgL{=kzfIJyBHIM2^E*e?H<72E|y`Oq*`Fck(J zK7Di+wEy;>J$}1iHm1IsLXXQ2zY_dAa#!Hb{`TveGnP+xA)8LsMUMCsH~foiv*AxC zv$zn^wO6G4@oWq|>C}7Oh~zW>#h+%8`GvXbDt4lgi91J=f$_x`{BMuip76+f-l+d` zfAVG9<@v#!sIvO3KjwUmk95d~@%PP-Js}&{_uuaNHMc4Jjgajs_~My)7Vq!B?Cskp za(7?v5|5mW#c%I$yQ6bQXn5?r1s z8nIi9Z~Dkf0V|Jkh!`+2dCWuay8ZO`fBk->zGB_)zx*A2rtb5f`|z&_cjeVz*q-rY ze?IXVd1KxbV>%a%jV(B%X!_y1;zNu!=3*;zApYKX%h3ksp*G85{$w^GZ6N!RGI8b6 z5Xax;m_yp;Z{B$R_8WirmfEwC5GC=&^`V}z@QL}F{r7#_gEr5uy{Y0uivRkGbGKKY z`JsT)_{5ofMGmqZf0x^CznSMueA7FLd8_IL8(&sU?PL*ZZb|L#AXp2wwJ9Ny)% z$%*D)9iKwaI6|LvDev=}`cV+91?Vx^9QF)czJ))Q5Fh4te|P%(x2v+@b?QUzvE7|- z_zQseKI7~Q`q-EU-1lp?H@x`++335rzE_{6)8Hx1;6khOkk|?J0RKtBt+e zMBiVjz~?LRANb%U+gslD;qATIEH7QM!5O{|%YtaFYmUleEy!&$XY4ahQAo$`oO#x9 z*DV}BypUh}cYWun+apf7H{kzYtbM^xHq=4mA6l!`0}ifZLn|EPuLl@czV)J+&Xs z-U#{sL!rbvgO)0#^y!_F%*L7=s@4b!QKFnnu*u3DrJ+6Y&03}NMND^2Aa8|(;JR7n{ar8RnxEl}+`c8$c--Nn8*-orSN$e_gebbD z9~^il2U3ozpuz@J{S_10>0rOJvLa$^1hev&EoaHoS>_V*_e|9?6#FqMsMGWjr z)*Cj`yJ|6RgGEBSoMD5M4aerQIgIzkLt{HKG}pincm66*uHmashfjM6D)8ZkAoX5L z_O+)|upJGw`SIFM5kIT!K=$yXMKALK=B&x--h5Mx^XpvZMdI)gLiW;9Qy#S6@`#LY zd@eA47eGJ%<}zIqMYrrdJWuS2BYL1e=cQ4}M_=m5HZ=ME*o{9{1_Fmj^I|H}uY_H_?^bbUy8-x{^!y|~k!Vr)?ONjKhi zb^t#<6YAlyIfaRK@N`5EWKmW7qhbFl^l$c{Q=k1p_Sl6~iAeG`YCJ@|ZdyU2+DNQZ z1x}02Hxe`eFcxW>Y%96J6HGPrC;jn;HpjysJzI5YI(XDNokft4NaviMGH-|aE!)$NE7<0_w{V@@UP;n9>_iWhK-XD;JcJUi(ClOw(04{Q!SuSh!`B2b)o z3rzJGKohzqeVtPD*N+T~Z|4Iu{s5HT@!L2BAD-#EeAZWYG6r_yTCOojgzuCNF2Rxi zo|BUf*nE8mSYORG+Q~Kta!%;rvv~4GkK-#-&(3)Eq2J$SbL)foVWfvY;LhFTZ>K}N z(aTpV9-r{@zw?IeC4c$O@udKdoy6o!@T>dkcl1nly7sF7kR`ma8@aqbn&;|%>*MeH zWu!0qEnGK^;qR+p`^Lpow^4KnT#njI|?{V9sbJw8ruT;>v zLl)eR&DYP*cE%W}8i%5U;Y^%fZV;Rkd!@l0ofS-i=I)#1gT>n5j-#jm!!=FAJW z-+SrX^2my7wrA$f>q8av&d&2h-Pv5ZszdgiF`MuvbNDb<=m)w%#@=$AGGougryBNh z_vWFByE^H|X5u~WeA~kAXB%;55SI6qwJ#@p1JJUT6`l~7K4F9@^ z+->{wSDiPxyGoxN!XD(gEE{OA$tJJICwwJYz7o9;=PunJ{guDl+=(kkn-EKsVS6_| zPd=jC&*u>-e|^UJ+o`!j{(ps@yzrvmJ7YUN{-nmyu8HohiGJrs z2JrO2H*el zyRYBg{odS(8oCM@+1^;BPQUN}-p6c@dc?i^ZIBz{xZyQ;ce~#0uD9=|?HI#!~k=D1$v?cMMCXy@i9o^aeA?*;rS-{i|zyy9)! z-@G!z7k*}J5T4~veqyfLjqTP=oRSrOF~Zi>MUHsk z&uo2!;4FN&RPV|v(B3N68nkGXe(WWIIA9zv9lYYD0*7`JABe$fDPMbr>pfY-g)BL_UF14KtH?|kfnftGeIA~aw z&B+BHxv=59bXyl$LZY}s!=FuLxjQ^NH$5l|ucNk0T_<65te{76 zVSH=}&um0S>jplu_;PF>jSNu0Nl)snO%^UUJM>xCJHG(ixn*G5pUxOq+Ff1F!kaRWQ`yNN-ck=oU)qC*{Iyf+aml{qrsK+&K4jLXICHH}WvN_rk(M;~ zLygqQW23LpZ^zffC_BJ|4w?aN$NEAL;LlhoU$s50WYfbnn=75`=Nd=#iKNf!Sz{{u zp;X%KG10fm#!7HChqYho!6>v2DGn-xMPCCaU!{O(HlGxy-8FzFT;lb#n()Pa-=g~ zG09iS4SZ}%X9?Sia%J#h0zVT#kt=$1jkktDc2y*m05m8E+16(vQ=P zf(qZj4eU%r;l~%9NT4B--keB(IsjisPE&8sjxXTZk8E%>W5)G|hlg|sswTG4=g5IH z9n+!uFxq~pY9DstPd2h3AQPSOquMI6NkSod0Eb)bQ*S~Ez8nWNyR?kkjO})b91nAs z8y;s;mM-P3ItXw6_}!OwcXRN$^_U17wPf(Z*WtI&J9eT!2B;n<*dt+e%D2&^!wA2V zX(r#5smcir`VTgI_&VdYu{l1d3%w@2ocE6B*pw_b+u+qlLI8uW#z5+whp7(yCZz_! zBgq!Mrc3(ae)tY>WuSAo_;$~O0&K%G*!XPzE6e(N#@Ia)hkj!z9ehob583?iRRWv2 z*XOHL{N~!=>+_YOn;Ix@VlJQs+0KZ@)vjP8npG7k3613 z-1U>gboF6Vbxvf6BE7pyayei53f_p`mL}8SDUQ(X<0tAiK~ll?9z!9|!mS$L^bzY8 zX7N_Lq^66$w9_3}cI9~bP97fG;<0%ti1`j|WD@Uuo$t}Hue(nFm7~}L-XP4sT&dJ1 z!NQm6o{8$KIePA#9EP4g@{++FKVpw>FwEg!nsEmZ`=9;Jk8j`oFJG3sO;6mO`j`{) zSb*DA|0Q@6Z}|B@HbegU^bc--f7S)DReZE}lT1E|n4yhV$BC5=j?o#>@z@W5!ry#Q z6+ev}6sZqC_;7yE$1{BWNYg5>4Xq>S)GJ?I>Npy`7$?{$Vvf&5spsc;o|osY&D-V~ zn5(?;?H?TV4D4${X2?yT&osF!?! zLB}RhjZgj%+17`490NU(B74kI!9;KmNUs>R0y%`o`~< zN7ujnpWnEhb8eoc8(N>pU8nrY#?--uObBV8{qlzD%ZmQt-&AB7`*I#nh*H5%Kllr;%$?VF+n)E_Q~GF(no$YI+r{_g306vI#D?rwMT%SSg=JObl&XMK2k@t>U&eh0eanbTZb z#7j}e!&@Gn4+T^0m8J5GEjcegv90+eUEksMN7cXRR33CU>}h9xD37U#eZ#kL+G6}o zxzqI2habP)<+$4>mcVY?19KOyM`wI4xxu%4%u5c7k9Xd(lUZz0$X-rK$N6@ZdSmLu zU+>aLn>$AdH{(|BWKCZ-GEc5zBSYtwsW(#zdu_Lv#y?ve9A`IA{L*a~Y3Zxo{9jIg zUG9)P`z;r2-}#(JY!80W-O6`BZn9h%J9s3+YhHg|?Lc?=pRpowSsK_a?_bz^+{8^H z-Ur~)d>ercjj!g@%~dh7I6FMKb>$34E+JRBYqDcnbnma@S=z0EjN#$3j z{DVzi7acz5xu@>ozv!Y%H@XF5u0{?YK(BR2=bY(Rp9yk$p=5KZ-p!gLzxjNAT<%wY z?Ungqvb${0%w4m0xWiYMGd`2e^4G_vXXI{RxwRX9A>qfV(IP`i-_GZ+J#+H|ip*KIE;P`F7Vf*KdFM@^iM6PCD>7iZpF+Is5$R73}!pVe#?C zMD%%!;KF-19FU?bJ`sFh%o??0qxjV~@DrB>t4@ z%L&lz##?wWw?;&}Jns(=ErDfgd>PZwQHJl-fi?$Fvx60YWOu`q_^?0F@v^#xhdg-; zZF!du^*QRCC-R`vul+|Kax`RgA?G>5Ev5>$vjd*#i3iF%-6&68Z&(fdjE6Y}p6~S0 z73dUyx3=ZsOQp#@r=Lw!^v>CD^WC+S)%y z{Mzeizs?`b6T)oj=oD{!&U&b@uJPk<$2T9;h`#xh@w7V15hmA7)4^{(sdSzl_@GG{ zdSZc%^o4V6(9MTVvDdCII{i^&%Z_vfZ;bP3v*x>0)=&6M+F?hJ4_GfL@=^KEk?*>j zvm0t@yFPPEH#2p8nciKy(!D>v;aq&+H{;sm1nYpEJt70wLYIGw=k>u=<)(AFHtn;? z$|q7;eM}rJ{q%^Z&d)_j4d_&Gdi^qZZ0H2p^x=!XyV^CG-8 zfV-^8pv{<5{nx(Z<13$beH8lq4^8^#d;9{fRMjrpnxh-g6L0JRrevc>=i-guMN!$~ zNv`2vaV9=g8UaE>*SKH&DC@k;xdYz%(NzEf#~((2(K$OezH*Er^W>Xh4&KK5#C5RO zMr7#zBux5c?T8+qZ$1w`xXDL1;ix)Y@~=5GJ@YnxW`Dyq-q@;-zRHoF`$KlmdHx@@ zT|i^Lcmqs%{K9a6*T~whOIFAPY6tolM`r=2|0sNXhLb7|>dC;FOd@g>1yJ%N27)s# zBQQq9YGB*c!6+K)Z{`^s!O=;{t`6=xcKU-Oy7tO~W(x65U~DX#ym>~AjW32PJ+#AM z2VlXP4(fxjxCKeTTY5)Z0!d%aji&Z)j^t<)(IC=KM#vpr`q@*^F)lrl)sDKsP$Gmg z>I>%*gTy_?Tl#PenaY93%2Pf`JGSXp6v!XG@UkWcD**8ie{luFd@5L?9T?%93C(Q2 zfTPQ3`xCY&?Fi>vq5rw7w2q@wtn=}&#dqRs)u~ST z=Tm%cf_!H~w1OMY_!Vei;q?j|;XBu9>w0trpQ${#5WKh_U$FV&Ij6HA8(rYh0>V^l^a^JYJMIcUqysY4pMn=n*KEai^>bGM z{ZE3Kc!aEjRr*&Su^*n;*8)Pn#&P;t=v^IIMIbp1a2DQ79Sv94)eqW%<@>(MPk(Uo z4I50ZYX|iRq*2o1PbQ?DjFTn2?@btD8+xLb`YgWrTAAI&x%QoH`3Ixu&9qrCj{%Oxwl(Nm9nG8;4OSvi7(j=B)WPl`cEGk!a4WD zX6TB$`eWVE0Atd1;L#6wEI;wxB0(UCOv3cbp*qF3D_|VN3WL`_(A@jUTDghaU1@JsGUL=*%c^bz+<^PTmf!$c4M{q3gHD zWwYRmkg~2u(5A<)0p(1r`*}Rkr zRxhpSSu-irDs+5xK9Cdhe3l$DUQJxW_1#Z<;P$xu^1Nr~@zj&I$3Nm8+q>TX$?f#FeRO;0`#-g#6Fx%Em^)+T=oAk1id-Ou z8Vli(Ty!jd+t9%?dy!uonijWWTs$i3^x@|i=SOry8RXEnaZGl;y<#K!lrfAeaupj4 zJ~_Lm?JqWrYZ1Qwig#Z*9qjVQ_$54HW&6fQ9lt&B#IM;-%yWE?iETae`2E?8f5-bT z+0J_B#p7@3Ezabk=Rfyh+e!DjV;_m~=68N;utK>lA z&)Ad?(n<6cJ*;orghV&;8q5nnF{t9y-xn< z7!NjWOj^1*&V0ot>&@%m0B(7U!^{7}Pr7rzR(!k2;F-dnOMA(uuiQS8ufV_Zv=3~b zi7a%4zJ7S7JLC4y8C}XFxbaq>Wdm}DM{(t`F;9N<3ES7+=WBY`sXKJVjJxJN65<0N zxpaH!YtO4(%{h<_(a<5&=uH0Q3&!2f5hJL$*nw_epC1i-OycuvB8Obz(GQ-T`^nJw z*d?FaPCMr#+xsv0O!?|20Um>sgyt6(tLRmR_{`CH)+biLn$P)RnEDQk@NkWV6;Yv=cGeyhyHz4(VbRc!zC|dBpL#d;1t+(yx`C^R|y{pS|pg z%oXLZkxiSif8>vZ;j80M^^wc)8rH-2jGZ&S@t;(Z3w60Ryt*q+K8Hi;S8^j0zT|$j zjhWQ(M>0m3F4Xv4b4~ho&XRV%25#mi^pm>S!3Uwo-{X$kqaSteK0d+Sw^v0E#~gEX zs@vKnZE#W#JbnCB)Yb93YBN8KMj=Qk522%|!*l0l(VHJE z^N59GkG*y7kiA9bvDa<4y48`}6}ij$GoSuko~QeX?c8%e7QeL-h9Ndge$COCTze1V z+C_e!@l1Yai{t>MICpae7! zR^Rzi>sp0!@ya_P(V{PzAD%~9oOt4KeVhf``XRpC#_w&Ce}FAz)R(Tz4r-&EgI#le<5@&$T{qQ;hle~w zk#F#?H4iBl^|`~g|@@z=KIa5!GU*p zCzrb(+17lfe#&OmUvfeDiVXCS{x(-gNB(|@EAG_gXrqN!*N=lk+F$vAugF*Qffu;& zOJ{hfpXMC>#Y_D>dV;@r5_`rudKy0whcmwGSN{ku!#6(Ge30LPYe)5o9dzLo1Ernj zZfej^WEpv8yfr4TjZ6A-H!5oSHWx=0_-5SN$*}TQ;MCI>7Rf}H#vgVzcF+UAZeBqk z#q(sv5EuY!y|p%v$kOpM{ly@L$f=Cp694JQ2hdmO49@B-#;Je7jsLVamo;8zo;GtW zdfC}1XvhH@c>St(a+#;aR$br7-!z?jJd^+X$1CNKQ&Om5l~6e+o8y)aAIV{rigK8< z%3;iD7!q1?3gyr+rKp@KXB)%=JW!d3F~`?AslAy#6$RzJmh6;+cRi*TRq-uKE5cTr?*Ir1UlVdo zlz2-G>zALpyL%rGY3uTN_HQ9Y^i-YdZdLwCp|6{KH(Vy8b#=Tx9{#dLh2o z81bq&(nAD4)BZTM=$Y$T@%3cWXlhJsWK+uBPO*{&PH&df%@v{)5uXema`mN(0EH1=F>hPI{-FH#MO`o;D}_VO1}gd@b;=_3SKR_C>MQ zA35@3SFC>=n^-rDfv=l_9sc{+drL2m-@s-*$e`e)vqjk9zkFL?Z~F$0gBt>YUM8cT zsGOry7oq22r(6RMM3qvsx>a9pU3$L23B%}6F>Gg0yKJ3Z>Lah&ge2#Z!t|CLV=c~C zD%PA*?KZ_Xu4RVsq|BW=c0HRTSF z{^QHWo%|D&YAs$S@YN@>;>K+%cm40Z2!p~~g&cRQ`ozOAqO9`1BeFDBfiq%@KTRdS zE>%U{b+)}Ia^f%L{^^A<^@mJb$bjmG-j8Zd@WH3{A*PnQ!td{*o5t4B!qa+b_YJvn zr!FT|X$iuvR*ZdFiNMA2?0ogydMO(b71(Jy+e6xrz5TKLCZ$739(D)h7oXa!s*f`| zDHJsPrB6{W)DuLQ;qdzEyvZw0JzwkLD;W(=iOUW}FzvchRtov8gX&2G3fLba(9xdv z$>Q4yUW-?BycU&y@pg%(R)|>3xep_m$`^%am;N-%I0U^tKmOoijQy!Q1;&~ekcOeh zeNNoO$2%9gWV%WB2xQb{eiq4?x=TQwG_{kjd~l5f?@QgeeF`=s<)d$qZ<2sV!<;ur zP12^2$5}Of$)Z@sk5@5}b|eJ{Ibzo@=?vw+WrpSJY4BZ@atnnj}$( zuC4v*3yQ{sIfj)jP)?>&3gKmhruAw#9~vK;}ziev(xzG%ZTYv z#DjbJEf&z>o_^7_5%+DIhcj6qaq|s{%GuDX^x&u9xQ#~I4Uv2)D&z65Sbmep!R|Dz z-j7;Knuh@A0 zCD7H`Fhtg+3>f%P?cID0Xv)NXqAhUI*B-C)Ee)RXnZ7Y9^KZ5vqcfdv^h6Ij$_TF? zoFRrec!785bw46P3s0kzIrYW*hyL;Sj?KPZvXzOJnRi)P;}N#UmTx(*<}#jMiLLt} z3ox9`V`&T`Y=s>*?*6BQ%1JyUgB8X5@`=3XUvdrs4?Y8GfVzJ08|{qT_aBRtD~@(s zKl{e-AX|IPo8UA9InX<_*R!M2#JII0Z)Ma<8eCDeon$BLqKOpS!2U7x&N~uUC>69ihx7zRBr^Ju<@Zp~h5h{}n zpb*Yr(d*xgG;=B6Jj8Iy#@)x$z8hs%xIq2*EFyl!L_4N(-}{4wACq&CDvdOBPOX;l z1-7J>ggEv9*}j{gT`W9HPV8XT5P9+kQ!MZ0Rl`tlld;KqBP2qo_$hq4q&zf=_FU`r zEsj4l&X~i`yA39uu-SgcbSL@V0^YU$NWCJw?Flsf-qIJ6)zX5>FXEWIKf0BU@8g^AB$P~vjjM4_--%KCd#c|7E6_;}=drB*&YcsDgvdGN0|XdC z)J2xGb{yvLsjR(VH6C&%=V)J~bHmUo=$@Wfk6wDI@*ilnh~0zkrlrivod-wNnsQ`i zqYSI1En+)kth*&%uJaG>p|{5UIBJ^aR{`1bg2$y2?$bWP^kNs*#rVyp`hhC0CI7WZ z!}Q^xO{uQ5%q+_kw5moah~Kq&{l1fB_K_&-Ic@Jg;+qM%{n{vsE5Rqf%lC;*6s;QSx)*C$q&M4-zp58oFgVx#PZHy~p;g&B1JrX8~(VO=ZJxk3nw1_&#d{t=-iwzVA`UMQgtBmIXF``U6GF zf>~!En@R-lw;VdSsXs#vFTAm-2hnzA$u z4PE}Ay_^^uBYH`~e?C%12}q$EaB2w8c{mO;D5W7ffKlK z*@~kvr0~MzLq7SeKYEDMir+7nWQ&Y<1id(<+vPk%|( zCRbanRe4&j{ET>=5{g+Vqe=k%JkF zq2<1(g==SfVeia1emQPZKZTt`hb-Q6{`Iue;jZf|Q`%$SxznzdW##WYgW`O>OtNF5 zhFwp1Tr~41fLO-XpMPF8iLS$iMnv03$f~d3<(is)5p*0e_n>BN`_z91dXW)N=e*Fz zgx$LwosJzt^^9z^>d>JXa^~7}HlVVIYk0j_^PJ9J0*JOR{ zxNfmgLF+`~g1q;;!j_QRyog`icYG9JA-+wEZ3Ko=iu~1+ifpZf9R<5U^Q{EW0S z4+2p>?SKlN(MJ7F&+}EJuKEn4(?ucRUYLviY(}+=Pb$EA>WtmN=_gy#z|0=TX}5zV zg!R8u_bG}u?F2>z#I>pyZn((6GVCt7rgusE2WV*Kp?=ot-DGndtR?^B6=?UEr@TMoFMP@ z*qC)C=#T3N4SqKYxA`aiZH9a@{s~6(XV95nttpuhT{2{J7iqOLm9=Yp#;3Vf5#_aT zEY{Y3MTXGURq|VR=+(x3=5LBzP!lqboOtr6ULirPEz5Ip z$JD&e`&`!B_-C^)kTpOyo>cCDpal-5zg-&@6+D@f7toOXr^s%sw`=_QT9z!u-0yCg zMYJ~2?#2OC8qum#OQJTx7ld9^I@tYnX%Klt=zawmP&t*q_f*p-=94p2EHd5iG9go> zsSyy|RONS4N1>|MH1H05k2`7@sXe@A0%jJ_skQx%FZwUF&$lJU5bb88$i@~$UBlv& zZs>cpFAAf6v4nHcX9wlF7(31968~W4cny+JX%$lopzmIJJ<(}~UtOO}MYI?8@>eqS z1QoX3*JVLz<1v#BZ}TbeJpo1h&EgKsvnyc-{~?HSEnm6b)soY@lGbz~00B~UrZ38) z%?fpc_B(QkQ!%>1%7Zd{wO2>(P3mX#3eFo{8nV*>fF!#u)ljwaL*u{67@j&p6WKKk*x* zi>3a&8e83~=+n1RG|kKR-VYVI4t;TbF6fTV^L)Q>u9HdZi#ePEy$8qiau~7$(1V_m zBT|N@b3*5of=4vM`>e9wg(AL%9}P3Um!C|I{0%yn+-s~8Y#W=ujm$48ASeRWn)(C< zG_GS7T+q(*N|Y+$U16e@frypU-`d{&VtzlSB716=`*RVq`vUupf@`KTq;ST5%W!F4 z(c%=4ea8hg(K3NDfCg?@1!92I07xPpElx%cv3`ebPv5Et!(@UcdxN+5K)0`Nfn#!E zTNp>S47DEo^OxsCcH*(#iQ=;4S)Z>13QT{A)PJw{wh)+h|FN&Bp+kaUD=T)@Bj8d~M)*+7my36@Dd_bGAI8FGG|H7W zh1C0lz1C)q%HZ-p0`AxO0;S@DR?W!|p)5{LwD;3$%3-94za?~@+v)ZV;hnEa$a{Lf z&v$oeTsSdm5eoC#Zp?&kbxRyl3FF<;2H9gDpl_ZLPv^gIF8tr)V!nsG zouXZxHJ=_O1)u0&Xe=XsOXF9&C3HlNBxZy5Y8BF=jBMe`UtY^}t{meUH{#Z9FG?aN zXe=`(C8l$lynb}QX14ixCl-2aZ4Yjyc-~t4+42B4wfNp+G%E(px~e_ph3Ok$P_J_M zNGVyCaHX#ss`1ILK6N^Nq6+<+maBz+cASM}vsQz4&nSf`R6YPED(--)QMFMMxM@7xrWQOGL2Ds3HSrpFmb?@ zD!vA}~p7_VE^SsK1l^r*HUy70;i&Usd&gLi=sxF2)2odN`fv)~bD?} z6=jkBtPMI)q*}3F#`u97kR2$}8kzV83|3HGB5|VL81pC^O)c7NImurJ@2wqcE0GGE z)8L7%nTsYp>fA8VUepTS7-$Yv+WA4N2X*mvOx~AY{Sjx?{X;J(W9oh|NK5MWG+0cD5`(yJgO zSMY{Gz4bmSX$#?Ecja*Jc~# zXubF0V^YwobK?t(hKI(D=3+}%`{NF`6z8V&h;4wcnhUZ%N$Dgu#rO8EoHbVICcaLu z44r}h;wfyaGUKNHcjLAq{-Q{Z(x!ae2|Pt%lPf!UrTk>Mj=0{?2@XkNZu-X~pQ+)x z3^f-1-l74U9QlE0ZoB|&HOo?8)Sdlw66R8lZV`L$i@L3qkIIzYYYQHmJ$;~n|F?Y? z=VglzpRIdIun#l`G)e(S|Mtv-9tc0<-}ly$2-;{0oFn8rkx zP1%N$%wtH`1JD2Ra71IZ^0s&c7=30nKI~gVOOdz}Y-l}uo?3}8pj8EB$H2bu-y;c~ zO^ykFcO~pIw~%!5f0|+3S6|&etDEGrx77i>!*S6oLznm5)hOXJ|9uyF_en@V$+#8~ zami=p>Krmn6Ac|QqcgwUm7hOY3CL5UCfiw1F52O9|LxY`K6-leG`;lt=lL3hK;y-V zUmV(Jm&y70s3fH9QjEkauHbI&&iQ-1KnL%@C#U>SNrWU>i^!R+>1=@dx*YQpl-< zR3)&wuFLTLDIk$jwp@lY>`6M>jd7Zq)YgiL)&(W*N^B7R%@NnvTm`!3zr)(1Wv$Bw$=ABJsEu zQ{fS?t2AUi9qZj-krAkImYXF{)_4@c0SdGRJJITDm+;9~|LA<_Tjm$q0pPP?XS9^g z2j$k0u-lWG%6!v zRY1kCY}m@!u4v}d)54~Oo_n`#y+7fe~*6U;eyWRYy^eiKf#gTBVCDjjj0*W2K` zw*=|YBV&Co@`GKm2U3cH+5bM|TQqG*e7P7wLw7%x>P}Seb*&pYhvW`F6VHgReqRIi>7a? zi$xJvg4tN;SE6FRNy$Oe;!5S6F7w@=zl&O+nvQl)7FWL_7*BC^9zP1ipMuALRy(x1 zL8g-6^38HDrA}rm*EZcWs<#AXT5(_nYBEKtPrT$Xp{~b}N6*pE2RGfXuvYkX*kNa{ zXj}=$iOL|tmiH(g76^%4)FYqpgCs=3?yda2h#iSw z2|Sme%lOocwswSNq54J6dntv?e-R~`mBY7NvD{}U`wrV1PCs1eNiX&AwM)YOU0}_p z{>|IXFfVM-)uBosT9lHCg(*xDP7CRW;Nc0nIVJ?cDGLm*ymtG@LZ{ny{&rntU3NBp z2^4qn6yt> zjzD56{w$6@u1?sl|Dq8dEsx0m#No!6%VS0>;t?B|p8yB^AL=>2tebwEk^W1}Rs_9k zzajm8oWjkdt}a0fN7;Z;o1I6ZdYgBm=AEc0{nhm@D+nYg8h8*bH-T8=MojDvGhpWq}cQu&=vq1=anM)Pu-aqG3RC51x#SNPruTplAj-U66D`kE-T+v)i zs{%9Zq^e3!N^C4YP4RX>&pMStO#V&mWm)Fe^7ciZGJ9)O0B3L8!aX_#=Qej|?D?j{ zyO7fw7=#~j5b{&x3=TbRaTKSNe~(XP_G4|a;D(!~<8Ox-V(7B*!Y4sD_ToH|GLKvu4EfrmL0)Kx2IskR19a@I{WPC7 zpDOU^TzA632b1?<^PH||*BD@TPG3?`5c6Zq;&p0iPnh&%(5&Cy+){F0DE1*W;4Lnm zneuWom{82TlziY#ZiGGtSQJ%zd}eoX1q&DtM9PwrOn{>9a_HKe11>(R`Bi}fJX_f{ zYxxz8I5<)SK0Ac-6#uVcCWH&to*)Hvu(fM%AEIXYA1wDx6NR(4{}F~CkN0Y^*6SoW zHS}bGE%)zJ$<+^Dgp+4QcK4DGXV1`Pp*8bD-eXCxnP@Or)AW6Xl;!+Y?j+|u=}@kX z``NVdAdPMM__^mh@iiOC@yzvUS}!Vue!dz>L~Uxq5#wg?((H%d7|G5>Z}q@$BAtRR z3HX^9r=3~(`VwY*@iXF&! zNnV6HR;fhrY7lmabZx52s!2BdiNH(k0*{1Qo2{*}Pz}XQ-|hIvc;>$NG^heIGGx#X?Aoe5 z9lOslzH-^hmG~PBp%27$b_n4nze0ic&vDI|;aJ~raxU7{BnHINf+%>f-M#Ozwc-N# z0XHv|@W`kRs2WR<>4!=erS)|bIAPsbfRx zJxae8KrE+l(EtcU)H%C5J6(8~_JJhdOK6_jio;xCIEA4pFc(_xS{kBzGxT#s&*Tn6kmd{ST)*OW=SEePEu((Rt)wElf;;PBNfzU(1zRObF|>l} z#Ud{HMJxXj3g&3~f6ABT{8q4N8Juu23%Zj~S3FoVJnZz-_Ec7dIr&8kW|zbzK=L?& zmF)}di{?7_jF$TGQYV!CfxZ*@?CY3S-M|Ld*lyCLzPo+QLX|IwdBjaHZWiGaCCBVI zGI97ts2uM58YQvFRq62x%1iS7bvLZlob^*T5MSM zTnTOBP35|y^5Q<0oujkoo;Mjv+IKUKBh>i{d$~r*v6koFR|aD(L=23*jgqc-ENwZIH^QJ{a`sDO5@M+ z&-_rD(0jiG`#}$>B$2j=-oR?^F3CsXnKFMdKU?!j6|Gk8d-fc_k>jAhw@(4{fFS`v04G}px|$ycMaOyBq(fkX z9WMWmq%U|or! zoTWsos8G=Xm3_i`0iwfkN<=4t<-c?jZ%X8`^xw+=4UcH|iiZvT`fZVKRy7sq5&jA+ zZM(g(&-mK0=Vl}irP=(h*m3*w7lD4^TYo)2())HpfAvjJs#8;_K}GWghU;w*!Hg~g zHxXxq9O^tss4~|p;oWuVC*#7{d%G0*!@R|n%SxhcYJf!4L)v7nKIX8Z>_{Do`>;Fr zGn#iOnkF=XSPjeL*jtg|L7@J$WDCa7$DX=M3RY>4Tij_HJjT>@hE8jS<;Cg@SAo+n z+ypJj4jwc+{d2sBxVAW3S2}!faN6$_7z5syyc8xnB&nG1OZeNjt@qM*AVT7>!-UxF z{Zy7qI0UUwz)j2Aj4TM!#s*(MIDbZB_jkgc7@{1Kg7xhfvF%LP={F}&c?2;UPbrEg zI=8r02Nt>8{kL;In?W}fW1C#OM+sOzdzQ=7_-)*O$CptU%#tW#$(i^bedR_HO zhpOLZ4p~F8nZ6pkeeg+r@@0xVlytW;mxu5^Vp7>9>Zwx=Z|jbAPKo1>Li5o5pNIth2KD-&O}M;M05!?LN3%~n3acaqzcdI?Nv9a5QiCZ+K-(AL+E zg_@`|Ibgr!6Y12?VZ;N+2#!RHushoL>W9U)kk7t@Q6*{z|E>l(_$y`Em&WQ-4{+xP z7q{9P=Q2{eLjo^G8R@!oH%kZYj9xSdIK8NC;WCKJ_gee*l1Y+H-g0V6&4ubfN1rsh zqPu0C{sIuTzxM+Qb%$0>-Ppi~$)|s4Kg#8}j#Ff(@HdEYLUJ!xc>K=y@%QT8-QhAR zT4n+gKU+9tlfr4?`10POwZ0POVjCBvSOE-*jaA*fyxP<{bSuAOI2d;?n?DyG{zc!; zPmsI!u9a4L>a>55mqS7Ek z^{qb3e0O;sZ20O@-F9vt@T$;GH7#ms*pE21(A# z`F@E?%4%(asi`#dcG_o&Vg<4ieCuEUF+sdVv4leyY64oAzQ9P_s`*#v70P(wQ9)|?3pcT;BJ(l+d)l=o&pPOHOwt2t;5AL-${OXCAi>Tlo-ZTK)I4ox^}G$ zEbvB^y>h+L#nauJuqH_ocP%JZd#$3G|2lMaXeX=%qUa$j5_959692e%M9$nSvcXDJ!(_>d}-T_=(0$H&WQV;KKog_4b=KB)Nlx9WYCzYieL5*5;QC=#|55VV<$J%$Vg9_>+D}gI;7cQ;Z%;_! zTmEkZNw5=NcYq&C9T$n}mFaZm+ zXd&}w*ax27lnmRrcJNPbMQiM2BL7k2cxgS}paJ>%cg7L?%94`2rrTAWQP3V^EdH8+gH7&J{(;3 zr}WIt=z0TI1Mq4=U`j+mn{QCf>tw+*s8_ABQ#xXEhZsQh&=(1V2%*VjwgvX$7B?cD=^z0v3&4OnBoDdQacjY{_1$`Q{6H>&xC% z*c-wZrMkthsIPrFZc|4_URlwV5U@MxxPiB*V|qkz_{o!HO_cN~h~+aFxk0e;dJ2$L z*Yc2x&29^(>u5*8NfO3BBc=yfhc%8I61e*!eZW&lb_#QBZ9QyMvf<`jUVCSK)6 zdP)4TT*LSTE_7lOvBdvC5!0W7W!foRz!xalc|F!%t19P`^#B-qO4pD8;pz|fZ@+;VpInvI*(e3R$?IqGG)Dojs3iFdKFhxA~( z|EjX0`>XUE|IGqm@G4dbG8lt!ZG|Ts;8o~uU+^rDkqJHE zs1YYKX)2qZTQ!(u?l)|7|J;D+c-SjKwPvjOE2{U2$v`qP zwbGpH<1>hh;={waIi}%%K$Y_HNzD@RJOPtTIl|N$Sy}!0KtY?Qrcalhi^KAccoI<- zRe>myEUol!j^+v+DRmnLkE^R!Z^^lA8~~2xh|R0x(J?|EE2F_I*;2ZR;gc&`(Vjs? z-a9KHT|An@lK{hoCb&aDh!Q*Jfn>}dkYkgx=q$-$XP900ddIzv?}eEU-dWI^-e&QP ziX-2SJ8UYe{$~2HnoSjDDrKPsw8*5#+cWg}Ao?Bvfjr#l>5!XC_ztvWY#lRI&;bC` z_HXwL2C|Nrx7E?un6s3bz{>F?g{0ok3$dUz8r!x1rPi?KnA)@A>WxFB6}fFXK+k<>=NILz~9pKSn?uJ|3)j;K@mC>~543m|IGtN{~$ocje2 z-V;s8r*XWc9(si(=u~3D(_rcEEM84k6!hB|^ax-Mh-+Lq)CBfNF*ia&`>KRn>Tj}H z^5j^~Izq7Gs8BU+c6%Mu@lMB0uOo1IV@+v~eHeBwZ%l{3a||*Q+vjUPkkM(OWdy?Z z8(`LtY@lcOfwFc0hsF0_v`^VY3>T;&TE2KKXo^zhzgM<<@yZYwI9?KkO|l7t;eGrm zdCoz#ov?sUHARx|!9ID2rc+U1f^$OI=G*)R!M?PtF^j#tQ_SOsvvgm(8yX&2Lu!y! zo|>N16vPC_iF+qO(-SVo2A18*6@^5?&OV;t^`9}2)N2)CJ-C<7d`-rNJ~(Hp^1W*F zQSTMbVYd9a2zbB%hk5{xxK|PK_?+Yq;Ky`5ZcB???IEn^sv+^ylq zxar#j+g-}B!)O~f`>Ax4Qv%9^04V)EonO~plrpX=sr0-eE^rrMO5=^r-o)E?B@g?r zztbui!K+3Zv8DZvL^rzWaIE&ayc@IPcyg})=m;iKkoCB%ZZzDYA-EY&+f!E^6k%Dw!#Bdb-T*-p;z96>b&iPQ^R?TlQ!???m&OWcAb<{o`uK(OTeo*VuBm= z`Zqlif~&tqR>wVcowIdRWw0C~l_=jlebR`pJB2YF7yi}RqU#0a6x$Kl1W1(Uf2_U@ zG)9+iC!;KgV(?_^r37EdFbs)&Oz$WWh3-s!HfbAUq9c{HW*pGY0Vw8^ZFDgB-s4Y} zly^AM*v8x55VCe4Xl|5*e3(eJOi&}wyoIyCrE^EjT-M;czs95n%QlirduEq(WzF^M znv4y-pmcr1j+vh~gj_ZdwU}Or7DiLr%5MqAV)pEPl6fMtgFuV(;Xp`qaLO6#Hs<)w z?!2t{E0ZQk;QaFEU1z+^)Jw=4C4m`fJk2KZsqfuQkhbTg#`4ke_zC0eVEmh9@8w7f z!aLqm0vkvT!e)S{Wtw{-Sm>+N;_$r6HMB`lhn41}dTkkK!>ZkJns%@)>woD|SGgB{ z67}r~5VGHLd1?l%RkLsoXy-(CyTa;2*sVkoRODo5JtxYtFXn4g<)Cwbm@SE&S&NdI ziW%on7V-rFOLyl3;zeB_4nkwR7W~Ef1_(Cmz~nzw%w^=bwwu+CzSDN+;&hwbQqCUp zJR5*uKGAV08S+40=t0ugqVrC6VnVb!cFb8j_2&t59D=zB;-@=H9$E6i^yun;eH};SL;k60+0L`s+1T;TMA*mk4)cqy<~A1EqO&3@WyP%6;4Ba;&N*Bx zQ>pavt`fA4UA3ZAOYvdPYiSFU>2AKS zpf|mOjT91KOgPmRF}?OEhz@rd&fuH0gnxS!Uce~xjw4OOUHU~qWXBvRswy~#*f@(4 zCW_j%ZnccA(9#q0Tg`c=o`u5{u&O?{%0}&)LqrXj34H7me5)kQg!2bDD?u|wa=mr! z(}q*QF0TWEoK@NGmt^KGS&Vaen74wVhf*_MR{1g6vrmSqU;U-(5tziGvMzIc?w8n> zV3d1q*I1J)u%Tcy2{s+_n%NV9niRhlF|_C$A>#|QOTRE z-9WzPFcgi~8j2q*-m}x3uWp z)j4P4@rQpmFfjshlpnm?wk3kMIwBG@_&hKKtJx^$y;4!e5upet352)p(`k+OZ@a;~ zy9oV#I`wzH0|^b{#wxxI!;{we5>89AKRt_7ooaP)X5s}&IM|v;>2@AF9ia%CPZ_EC zM~f~?qL&Q4^xVag%cD4cxfiimgJp|C)PL_>gU>r1HbXbM4lX3zc&A-ET7^pUWHFUc zQpSO!RFr`Jo!c}Mb25pEW#t+34O>^nO&(jzWS>~NPc{gme%!K8a0OiPSpd#2S#RBh z27u>;-an`mUoO;rW%KEiS4hJ=NTfx7PoPi1W7@RLXh!hrDQtec2S|%X?v$t*4x4x< zurK{~k9Ry4D$E~>xd^!WZ`vWFcO!m5B!*Wow=X0+bvK_V(py-hk-PX{Rpt&E)&i2R z(l7V(O21myGjSv)JNKLXipPAZn~xdE@%tx+~2kp0VO$GOjksRMiT4rhUul zt_3q~SY&bE;HW~!V+*I-??Aiyq^*#> z<>FZ=5v__M)^E#$SuInHO68QeB%kA1ut<1|>}~J^DCszAyZ9HXL|^u%ARszL5_fg3 z_$Iamubqk0!AE2dA@u`o;=0$a|AEVQt7tk)9|3HAMP^qfYxG6xRA@ z_YbluDi(Kjr?ArR!Vvl#O#7@?XDMW*T%=^|0V_9h_3QjHvYE(}cH%qvPA>;X#amTC zl&J8N$B?lh%9dHS+e$NiSx@u;b@HJ=tJ6`Y+lb8^sgKh*tsEFFjaV`C6;_dN>lj_2 z$ZL7B2ad(=bo zLne-0b>u=m=z}tv4qv$*66OdS@I6fM9+lm8n1W;51hR*>Q=lJ7 zk!_LcYF+g=6p5+hgToRV6sPIr8ZhC3GG#`RPn>YoMwpkb3h0cs=^Mb7w72oz^S^&@ za(%nQ#ulVC%5)(2^F-O7^QLhem$`)Oa||rGWU4(*pC`JFKlImxtGj25sj+WRR}QNM zqP7}pMowp<7GY)lrA3j+jZp|oWBAQ^goTyXVTn}Y%I^ZRvU86HD!i`J*8zg%H`%Ku zUecc8Da5e47_Gub!Ge4r)?p*(*v5pFO)0 z9w}?$eYnS55ul@MM~@Y(=0=AgOPJR#=)i;MQa^Kk21AA{*&iB7zC$}_m7agSS>;?& zl>9^Y6@!?>WBpHa-7*IUw@=C@kuHy>mh8lqXtJwmD$f^aqAM-YLosDO1EAa%?`joq z=Uc&RMmd17mDsLZb&me^bj!^$vCrqw?^XxvY{{t~BAKNwx?`fW1y8(1gpKA|g)%o> z30LX`RYd&s5an4XpKx$V9ZWD~p-*toPr}XhT84R=HqwYx&5`5mdb-Bk*_j$yGq+ao z#9Go^UsMP3dT>$MO~D?Tt5o`VCeddTtJh}J7#bcOEts=&R5yo5fBsE}!old(LtO&< zOE6REU`uJ+vK)#`7I0ok4O^Ta_#aK@8J6Vxu;I#58){`a!cm!8zsi~5gv!dw)XGxJ zL5{Lqh{O7Mqf;4n+|J;V7&Af>wd>lS*M^gGY>BfqUN?=1l?+-HcXU1 z0OpO}QJ<9bEo?CyS?n%*5mvuD?hFqoAg8MZCy$2tDj=t#J}q}=_{5zJyJ+vQ0x?(; z#@-Wetem*Fv3=O@Q%Eg%GLJ}Y?HyXd5J!l6cf03SDF*4{7F)8&;6LjCiN$XG)>OUR z*&JH*NyR_!(X`VZOi!5{lJ2pO%y(h%9hP$s3a5-|VOvxgZcInTQD=5I6IlDdWae=j zS2Y9gsIPs>qF4)Bgv+SvJ!Y)4yTHYu6Fu3H?TnMMl{*8KkeEGLy(I|delXFI%(f20 zZi7HVS&A`V>UD{P&u^$p-g#4oL!V-jDKBsmq%G}R3s$h=D#cHj`HLD=BIbVXWp*ul zZDl8iL*Dr2Cu*0j#O`6~ELr-{ak$x`nRlBy(OX>xE1vO^;{1+-`rBvg6hZ_Z%qf`x z3s*1z7SCGFB!@~`uLH|1NEvsC{IJOA}Z*i`BXmI59m8!yG^-U@_VQG-A|}wA@V8AL0z30S><# zFKvVvLwr*3H8`^7YzgX4zXSq#(SPA}c|OsT9-N|>We%|dX(JXinXb{|eIB95k(226 zkvzk^EO=%nF7EGFi*A&RL5x)I%sj)E>YB4aQ-4=qWvPnP@4d~XzcBkU8GR?j=LQ5VOyv}cuc%FrhNqA=rkjk*6jy)i5uPC=qK-2f$|Fa0-j}JQ1ZWF0Lmyj| z%%mwRO#3V*_jo_9YpGgRmOmmEXIro|sk6Jg=yNCj;2mq;@hm0NOPvmc#6o-6k4xg* zEP?RLeQ60>?~|Hz$x!gCqmqUZo{}}y4I}Z8j3A*GU}dJkuJ*J$`Z^STr3Ws$EU(Z# zUTOp=_2@g(_Gx7yQ0Nca@yZ!@sZh+LU_SVrX%ZgcYHK(E-)EowC>KMdBQ>oDM_KKPDivQKGoF2OeE3t#qwyMCMtAZ`sN7HEUz2m2*jd8U}nf<{}W2sHo4K zBZYMCIV3LY*$zEhN>L%GAs+obPLkoXxdO9+U7MIqdq_1oqGrY5s=yKD?a-FlILTo4 z%uk2HNM-rDyv1rWd-*vL!!U1{Lxu#)#pw0}Z#K}>`@HTbu~omJ{M}`E`Fz|3{r&{S zDb5l&-JtKn)REY*7i{ z7!%i(&9RzOSMU3kTvme3+-agaxe%LWk`ifY3$HGNUbLGFYOV+hudS4G(QV@>9+qn% z*d*`L1npS<0G3MyD24EOhp>DKWJ`j-X~A0*3|I*IA>#s%uz~L3*oqZKM6mlIgOv+) zXBMy5qhksVFO+V(r%D;fh0+I;k#e{oZuK>Rhov{N!xr`1>`Mp=_vsC&%nY$Yq!s4_jGuQUX>c8#Re?qSZ?6Yy}GtWvO?;0RM zPa&ykoZjDrH$#9 z+$W*f30AH!snj0his>|d!asGGqY7JFu3LA721et1*>vS4-a ziNEb`l}b8tb;G0h^xbWJu>$m9X=9hPv)A&ci6Y147uBjd7zTAHjK5&gxNKdu=uDlt z0}VIt9wTj5xZ>U?>=@)j@quSS)|ucKMDjP6g@?c51?>}hLal&c8qDx!hB717Y_-?$Ym>B<8smL1Fc3uj^R#7iGoIL;qXeOMyx<=DDEP}bBfcPq zZ6|K|307!yC5s%0eO%~cbhMsU1P$;+^90I-<;1Ypj9*-q9-lwRK9Cy}l^4Kh{SlqE`nO}ai*|$> zBPcmqz?m;s(?>BYspHbC;GfI=fi;J)!$Eg6A17G^ith_spo|-xz-w~mkKioErp^Y_ zJQgy|C`txSnX&5*vnBOpU=zz_N9v*2+sVQ;;h#zjm&G@q9JuN@>!PUS8nH z?Qz36{kh;xIYX=N2vv4>*(J*Mg{K8JA@9_=@i2K9~01*~2B9e#)a z|114G;=(4gDD2P#ha!_x&$O)=(8IyL8A!{Rd*eX%8 zz>&{o2NOhq?HYGpa12uKakdq|U#aQg1-V2|n8`eXPSD*mYvhW>75{Dysi;o=dPBV^ z@3r^5>PDg**kj|8nv+v1F1eh*<>;nPEozS@mRvc(YB7}OTgv#C_Gpe@-mjqMQR?&A z`gg_hfTHq%luHi*Iu75$ zTKKPiH41_2#8{Ias9Ru+-D0;nFx)+oBrWd>$2R6Tq5r; zB#1a)!h;#hKxe7dak&~w8$hq5%P5Vqv^appchqozYom$Mv+UCj0GOARw}OKqogB1u zRNU?qtWBhzCi%8vUuJyh|z%8zV9|D@tBfmMdZZesBMlI{;ZL-u5$0 z#k9TlJV4)V3i0JtI}xE52ddEnuT=R%2l4Gyzanqq3pwp zzUBF#xi5O-r^?`-&V!`ZJ3hA5hfZErzv|&!21cy*Ukf$*olc|79BD@($;rX%5ou_C zO~3!n8bW&tZ}ivNM3Eo+V2(j!EJC<#Vf^A|cb-6i@k~G8y;uP~$}G4H&G+qHZ?W2l zRm93YFf}Lie*0)vtIuDq(>n`=iDk_(;>GYs@t|4#=c>o_&bfBI3(7U+vSDPC4uuU> z8h0}4DS0EF*>br~V@+~#TtQ# zOaG1xx0s)Lrr+&V1!pn`RG*7CK^ghjlWRm6*RVZ zV+^8q%f@4&WXb6X1V|@@h+Sw#(@{0fb}tH4fFn+UxZ~?HZP?-$2%jz1{cCX*KqLPl zSXmyK!rwYx%;fdcm3+OZVFGELVY+DMAxvtjRcN09|GaU66os#3||UUFoWWka5o{`bwSO4 z?Ueli!En3&pD#_fCeaAZE9zx;APQd{+sY)Lw^93zM-#r1VOS(HOVgxneoP_eA&t_! zWLdE#R_xtSuGwe}GJzTxl1gn(o5vZ-24{pYUwvk*wLaS&EV8Uk^I_<@ zk*abgc+L0R?E#I9$Ya*zy zGE8H}!`DfF`@WGZJFB-5)3HO<79=XkcPajD^#l%?ke31>KsD_iNC@_lyn{~<|LL0E zFe=!vy`!Vbb&UHnETE_W?Fmn`z!iR*lJ!VWaNN~5FmH`kVG09akYJcrWcEbT#j5TO z(v_L=%xVc=s~m^{X&6%yPi-zSy0p}#=djsRulL`0F$hc3M$XLrk*2#!I4D=U7liO! zOSU^)j|a_2sKM4k?ds5sjc*dVPq@TJFwz2adCIOQ9>^S-?=fd#3z1l?OMW2Hoj={nDDq9~7gD)DK0T+1c) zzzRMpu1Z={iejBxVptmJ8z;0?eF_546JC=xW!45A2?fGMvh~V3D6I!m=$mQ%ZK~jx zpd?$71^aHRk_BzDVt3pSD6}AYbhV6Kybw==e_dgexKojy{o{rYy33}2%LM+ws#Vv& zq4fvu7Kq+igM0DMuJFo;VL@bQpA55AMsXt%i`9NEDkpbz`qQU-<(AcZPkhq3^iq^= zytaNL>vwZ(P!Qp4_U;+gKc?xQ?M}Z_3hqvE39CY9Ztg*lm*MZLZeG%JQ5tE!{E|~H zRM$9bG)K-N3tOEnUF=u=x78Cma?roq!D%HQdfbiA$h$UYPruA%*JIwr+}_{*VFskB zzGn+{_`u}VlcZVLXSng<%=P&G;ak?%c0+f^{gay` zO1|Cz7*TsLZ$h&jM?aV;GQkv|+f^=;4Of~8h=Y=I4|eisTf!P?(ueJKB@qv@s9u|M|d`;fByGsa=^wO#y@p@Cz#v7d*ZTiYdF&k}lZ{LT8 z*I=&0Z{JFs&f!^18kkS!^@*ptBA}=dWVilXFrX zpT>e~{tNW*8d9mch#A(uY+PdGa5Mlc`%$eQi^Htg_Gq190o4`EYZ{9Ya}tI%8iqTr zm?>%J7qhuCeFxFW?!!3JwfIxz(Z8REh1rV_SQ*%PtHHEY zRM78-G|*(@ua92W>4~_)x-%Ylx!X-mqV^IH6RaC3=VhPHb)YC&PN~vwYNC0#`mQ2k zcmKnYL@Lj|b7y01v+WqPv$2#PwoC*@ro|6)+7&xjEbi({hU)m-;%ckx1A0K?9vvr^L5GzNCf9Ay4b&uBB_W637v+C=4< zJmI0(f+K5ZtcRt%0Z9Nt+VFZ(sI%(L@o7HC>zVcuTR~*f)EtkcbC7T1d2Vdr2^JZ0 zytqoQ9YJ>f54|2fg&#UyS{M8!cd-IUx3Kd((J~vG*Z$yPot|l#@DXF$tlLvWoQ1dd z>qg!7R=OX4e1FlSJEWN}3&=5g&|ltS)-?wY0OkPmCF6zp0HeiJmq`t-3oYmy_Nqz~~n zzZbvQGQMwHFTAmB>?*-nw}df$xq|$+BRK&u&htc6yPGug%r2tg%uDZ%_5Oe7U-d0W ze5m_7e_yKXYmIN?MJ(e1_2uHT#jU5P8wm+cD|uM%hIK|Xo?-bWYWz`K2LcGL!J+VH~BYfOEbj8G3`3px~RQdcqSD~f~8ViFkQ zLmYsyh-1g_S9yKLUYFY5%N-^5Wl<*$Z@;t4_il3UT$O`H+k2w2Sm)IYbTvuf_ZzK7+Ax@Mp5yal#x}GtQ z_EIy(9jWq-HsTIzl&k_>o49OuUrQvNAMJI5Z4^iBl5*JCLsZ;R9Il|xACp;7bv68x z`R=P3IQxCc&gb2?WYsT8&i0DpRNnUO-EZH{#iDAc5qsO991faQ6v4e+Wwg5b#F!{m zVIUPflx#n&S;ov|wrRVx0$O(8mRH2^Y(gzp+-G+7DhBUf+kFd->_DdbAB4h6wC+_e zp&;ZyH*u@fPw@D!M!=-y@LEHuHY#TApSOr$H2bW;mrMC;w}auVhI@DhF(xa04oV;P z11B%XM09rNY)Jt*g73N=2MpCN!Gm|dX@FeMuKvsZxr!)`t6=<};5Up#-mS;-OHlL@ z{w9I%i=yPBs3n4N_wfl#jE=*K5jV%;p5sOZDh(R5acp>{aIaVTX&jk1UVm^cbhV4T zGc6RC6yN^JcBMQ;dQnL`){?34?SVlJM=gG&HJG#JeqjMub1dv=r_u(mX`%uBGCA&C zoBR}9x|o#*rJYEz<*>A+ta;-h&YS+`fh!&{f0gJ0f5Ej8h1zUqUvK?|@S=J6dutq@s>?zrrh|pk@vVZO<^r|(1`xthPm2{B)lB8xe^i~xW zS`xIo?IwqmSRHw51y!=uG=YVsNJ`q&*M_g$l}nV=QCy>n&-dzKS8@B0oGg2JX^BmFQ8B@ZQaY!zGWJ& z4K!Rrk#@B6$tB9Wo85z##kTsb!G76_Zq4FZ?6J{mW_H z!s&j!9T)+s!cNwK`qryYiwKEZ!r68n&-4noelWr6gRxA;91CFl-png#N7l;uSuHQ$ zDClH*Gz(satR1@%Gbo;<#8v|R307(g{x49ilE8kh{%z^!l%QTnXhA+Mp}YAGj=m+L z+|JQ@2*-1Ylil_3V0eB`ZO1jLg=2@rKNxR^I@3Nib`HJ=04>x^t2l#R(cvYlqShq} zFER!z^md+-@vi6l%;KJ`?_^Yi<_5RH^LEUKBO?-ywd?rABHTAm;T>c(UPtA~N~qL{ zYe>~K2%p4FF+%X}Evk8ceoPq|pWd@^Rr}Z82X!}u9{tez*+mE5Rf%`kW{=1SnGr(N z4^BHT{JWGKK}CE?*!T84N9L)9KDMHGG``fVN4e?E!!#w_?JD@g081vt7mxlu2&@@oGnIlX08g-OIho`1amM#Xj2 z_P##l@A0i~Nu91|Rvh~xF@T2S|ApF_oN=b$^D0J0T=FN%!z}y zj~L_gpp)-C?jMQAJ?Z>>xkLub4I!)7wwQ#Iaua5cKiM(JLUpklBz&BHW+b5s66*F0 zgk1(8#%4c`Tr?oTg7d^AR1O!}HYA+1fKQheZ_2fiyQ+iVq|>7P zYUU4r9jpIJ)<-p_2?CWEv2lyI?x3(BQGJP{?-vr^xHGFqwf2ZW4sk z^aF~f7ACYwULUb&;f}UCUNUQ0F2&z^eKUePFDNcLI4+ts-6}$W*g7knl$VZfNLHMk zuYN03yWeoLsm^Y%tOJ;_+Wz67ZK+pg?}M;!pas>7*%px%Nw&Hl4=D&Qnd}7%(#w*M z;t^)TJin#Di3z)a<-0Wsf-zUs2%i_!fGrnTky2X<2;^yQ^Pv=m*Tpelaw_VP+!wHOZO><5}0ovZL@dvH=`AXWp+3Aiuf!L)2nU)m+j(^;swg zy1&gbHu~|KO^>j>+2HJ$AF{PvSZ-iB)P1-00@9cQA=uwyxSTz~ExKF%q(eod&aVtrfdN*95*RT#@-y&1kQYlMGkSHeieG75@4ri3?%PA)vxB{G&3IBbXexEE(#VDJ zckaol=##F^P%pc+MRt*aPCvA=z0+}KnzinTbKMRt{1W~*Az7RRFXh^I5~GKKveb0x&bsS;2auk=VftU z{?QVQ`-w7ma-wfvLS`6YQvY18sB8jgNcdIi--|WhdChT3Cs9=*a9FHPT%;<&=$uv@ zy^=H3-EZHWJG)B#{$_C%P(}F3>yZ_jYMy~^voUMz<7@K$gb_7Wc#y>LU+rj+NZ0ld zXxm(5YK1vkn+g_qGl&0uJ={eUlg1}Oc+seB!M_R$2gP=W@aj;zfo+3xOKgj1O}|W) z=P{9RW}M{B-!{{G)BV(+>6B%5tfd%m?tXT>*p{d*zlF3r=Tke=#5*PFRHt{xE-;o> zfVKbXzB6NsX5S|~&9Nw+dEedg!DMOX(Ky@R5CH3lj|nOj*|X)%f~874+L}KA^y1h3 z_SyZS-x-J;U7}4Ysp6fGPIV|peN4P$P_u8qLBy~^KGU;zE?_(N^?}B<+q4eLFz$%y z9EqZf@x#-7%M!-F_bMx4B$FPiy^Sy$8 zTHMK>*Cvl37@(Yl{ibQ*Vq|3U)E=GIkQzFJ!fu+!708;mU zEdkjuVQy=7b?Iikd9Vrq4SJd{SI3ESxh^DiwFXNGbK3hdr#0aFp5^Q*N-QX3lm2?! zXBq?goB-_>tfRAi=&k#MLyBZ)VfUtxxtvcA$g9D%)iRN*imMP{U71v#tgX|z^X+CTBIlHp z*~n>1l+?>Jr+(ZYbs_4XEpQ;m50)O=bO#=NKPzr<==dA84AK)u>R`u%&mq!x_wvn- zu1pwEybcYySKrdos?bbbelK$_`#y3nuoPG=lP_L*iIfxeXks&08vi9^xZwcgOP-9BC+f@jeH2<3(p5CGyjAT!~LR!4=dh_VA z-p=HS4VoEWx9|NZTg+5i3UYW{VF8Jl@z~=|tFpV_Y=L!El%hY_=#U0?TKPkKg+&DK zh^LLzroTU}ucrIf>eH%3p8X>4Df0Y<60%JFc63Az|1Ax0T$=EFyj0ZMjOq~`fE=C3 zs(2dKp0}~W@za~50wgya+F$USLcs~^mT3wP1Iy`F5Ki?Kt~|SVXZE9L)3kgx^^C(k z8xs0+q?|#AK=X`AchcOAa>g2(uxL=+ZB08A<7VhGqIYjF@1#;S4jA0>mD%_5oq(zn zO!EWd2FfkaTuuKEqZlfG>L9+$)b|r`4qipy9&Ny0r*#|vDAY85r67( zFk{Kfi-bmp!qntrxaX9FK~sY7=ng{v4tg&be8e{K8o8vQfc&E3zXSN`d(!wz6UED= z-qFgag(mixWP_L*&|)xt@`lyMwYFB$m8}AIb^LTBid*#r!gVY_I)mJ=P=)wg8FkAoc~-t4Iga5}C!o8%1LK)* zfc4CpHph0SBO|A66kIwEVA-bWFrXKj*GlBfzHrKoU*k8LBsmq~*z+^SNuZB%gQmzG z2d^e1eI>(UmHTjHDmP|^!F`xZiMGu}Jbexh-SgA_Ue&0t1GFXmwFi2O2FR&;upSh8 z(m!a9G`HlWPuKuG-rbt2mP|liFL^4rLb-O@p-|2I_Z+^u9f03(WX?DRhsn?!K2$6F z7zW0bbS+yr*lz#S$FE5maetSTuBA&P5&W92r^hQ8*5vdHPxXGQ7HRcvXoKE2sDVFx zE>muHvDt%zPsQ=%An6cuRYEgqBJ-h4t>nk;=~U1D%x{@N~aF6!GUNAy(nJ|P+= zbop2Cj}Tu8!eX`I<+b^}+2$U&>)463t|fLCBup1CLh;^+CS6&#spGG_%pB77lQUV9 z{7mV^kit4k26rhU_M0BOK7-e7&RgsZ-d9@*_=>R>TqC%QIMx2ibqi6$$53e!TU<`u zR>b3pt$;AREVByx)*b~{$rSt;ctEgTgE*dQ!8j+~f3G&~cP74M^PXbrpa2*DhuqrL zB`sM%ij~B7Euo!*?*?w8CRMXf{}UbjklbGM>U>m#|IfPZ2R58*h5uQ~-G zFa#Y~SHWXwOL%O{e|zZ&EpGU-58p?3Frljlq2=|5`KjCXqPmGgXEV)i*ntle&eaaB zu(kW$uj7@$Qg?Q`lDbu}bP+VDU{;N`J_sEyWF0F}FNs5>{ggob~=# zMCYl{rP#}yE&vtCvnAqp7Stswb7Wa;B3RKRLQp+gd&>w`l3QWTOh-7t0e!9h`oT^_!xGW*g!;^0jFZ0#Mzh!*x zz>)owK@?BL5|45htP%U#D$n}(w8~_-ev(tScNJ0CNetaG-P)<&HFk~`w6z=|%8Kiv zMqZon^>ZxZze-RM#cm<<#XFeX-q*H9;1~%_!p=GRb0|&{50>X^=ISKqr?;K zStniQ4#hbXvY!rrO*-tMK4f0{6&5O#dDUq2-edK^xb>vvxF9L_=S&y>ows6bX=}IF z3j}izh6Ps}bxS0|EzMmyrsr6i#`59M_SL|1n-yIat3V>~;QPt%S*0uXuk|M*o(=7d zkJ_nQPnOdvKfa*ysND8h!p&AskF`e0krapN{ohh^DSZK6!>$Pc!{5Xs{T=~d2L790 z9uw1q$#rO8(9x@vm7fkuD(ypJKkMNhtG!a@UbYEw zfHR{*b(JT@l9?yfhL4AVvKP|{D+e{O2kPBXA zKR+%zs#^!~G%sxuR{*|tdzWGX(tv%wnB;!d0(8)#UoyLvS` zRe`an4#JfMw5{f5#rBe#>l$T`tgaNz<@uQHRd#t}`l{`owU@ZPIr4$ssC!YwJ!Bem zkGH0p<6;OXm<=QlRfNZKos;JtS0?y#SEr7FWIc_Qu5Juik>(;S-qwCIc7!K+fVL*)0vpY_A&~jBHeeZIO zlHJqkv{01lXlz?)uSq<^PgXc7$yL(oroI@8|I~Y`^>0v0{Ae(nHKkYV26ffM_QNNd zpVe+}Wa}@*ro=uN=1ohAv;qk1K=6AiWi*#O76%TR7^*R%<%+Z#xCV^GD8 z5}^fI(ej8C>dD$0P_I{kO3E)7bko&ZQPK^q3x` zqX$Rs!`6;U^8{0Lzu@k^%^YSCz<5-L9o`{qR9ugE7o$6^K7)3wNypZM=!>R_5aM~f z);b3fbInsJ%-n%0| zx&;2;nWKp!OamhhZ)$z33K^aVgLOG5m=oFW4S+C-`-Fd#yVSR)sZ)C7?e|S2yqpfJ zU2+@e0qu0%Og!7M7prA2J2fuN^%`jwLeFgDy{_}S)|cQ{0CNCyU|`g>zf<$KcY~r8 zP4RM%nvu)#x<&I07wTn{d+}T46ji0C<)6X;oMn^Qus-24p5Qp~HbudxQ93OHP2c#Yv#YPdi5;`RwcyL&|B zMA0iv$l7`cGnlt=b!ynU{f zqV{l;6KEH)$Njw4lBKt{RHl6B6=goY|g!9kIFwv5P{d%$PxW#N~yJ5CxOGBHGf zm>jz6mhR#yH8mUQ++qKdFr>EF#?3J0F!&Eu@(WYiC{8Y&-0lEY5PogbJ3qg9(w-a< zQifm~vlelN(^v%iSkj92;&1SVU&6xP?}*Q}9fTE6>^9nkOH*uR2A#vMyZaW`g2T7(u;B^feS9$t{xBj**&xm zmG?(QeC5ChF!y{ntT+l?x|ZSeZ=*g7Dlyx3;*V9fX6=y*hKJxw7{?1d{yMrq5&G}3 zAcq!VwYe^L9aK%A47w^{SCk%AGn!$+UzWG;*PiVd z*ljwi*R7G0r9r%0XYFH(ZDaGVwl@mqxA#wN8bV%V;;YbXpY2X{aS{vt)et#zEpG>q z8dQmLq!}t%BB|G~fiRZ$RQJrxcl$FEZS!w6>bIP$^~R#ldu?Ty7Jo$Yq*TyXcHnvM2i7>9($9A0L( zFnruesx#X|!-&Y;i!;x-{X&@~KW)QYJxEBmx}9aAy#U?a`MtXNwrW;wu#>d-RDoK) zMq9(8P?B_=&l%oIhiBO&H>;R=p|$bi;Ch$FSU(ZFwWzC*@0=3XMNA{mf&bBmBv9he zwoyYNh)=3#<=xkLg|c4dag2o_QpN5N2*|QKgqz&}$IO@~A@$@B1j>+uqNR5h>|ZV+ z5N~?9QqXwbs#yn;Kl9YqXjlIo_`PY+K_k>H-U*yoyIB-4>R3Wd_}Qb>gj|Qk?%i>GpuQVfsaD2|blnzs;8+o?Zfx3}xP8fUfHgdOTYT}-#BSN`) zE7WZkvKVc8y^*QX*yvhREB1M%`_@&g;tEb|LpU^u21EWDEv2?aSVefB6IoGKmrX#6 z8JI6f*Nbf<@Yl5O4y)4bSNZ{I<1uo0>J#SYEb3*KHURDr0Qiwft7w}aElP*sNx!HH zh0X7o{uVWe9q^zLYQ!0JfM3G&m6cX>8sKV6v74k_ecC-z zhpePH49G4b(WFydLhUgv**31em`YBUVC=FT&_aW#Pncl@HO;wNjVr_)X&(#hZ)(f% ziFom;Mr=>kM2=zfU(f<8 zkcN=-Uuj~#I_4!LDwKsZv6Bna01Y=Nfjnm@8MMpWJ69CN+WZo&+xwISA{T-W@kFx% zjAObLeH}fMER$F)4NDJm!5$=Xq!qpdQXSnhO$;gX2ih{+VTW#rs}(_ z>sQVPz8%w}wy|1Y1gIzGk5<#&5UY)MXIl4qC^(T>CfOH9YtxTN)v5@s!!L-0^nB@Q z^{iymhpLjabz33!7-9m|Qsb$r;k}BrVU?8gYi?KsM4Kt5I=0YErOh-iO4mR)zavLJ zpNq)()+)WLuIQ5yc462i!!iyx^0S{DCem6z`uX1WNf%`RTvQVX<#%dlQ0IM!FMCe#Q0iL;oEIyu38?dn{TTx=TR*uvXPx@zzb zBloL>v;`Q_u&T%V=@Hl~x_0*2ag8k4qXXm_s`9lsWNDPnd^*^5d?^; zl-K;NWtNid!oKZJ-6!lX?(J8G3sh4m#R1(%yH!zo!J);WNBPWTQ&XPfW?x$nDtTD} zYfXyVra!E&kvK${wzHe%6<7p;GUT^{CA1!XQs`4mT6~ApcSHCfbmG_dh9r+9Mr_Qpr#&Ui=Y!#d9k|I z(HwOZFXcaOG4n8^nvY0KxN&osb50rv9h@S-Pi_9TH^&9I#X;EaFnINHl6+X#K$7bW z&c;fwCT6KbJU^|%THda;0|2XjI?uAm9~_p_>> z2^4~4M4~~4j*)}-HpBZJV^dQwySX|gd+s!Isp8#5o_=90WVjm}di46dcWOM-zNMNs zGx%Gimea3{o}LN}sw+;*DkFrF|2v*`L@&*Im&=h248WfS{kj-!5;np7IwKchKlBkb zPf+*TJ@k3NcY5Z6YBAgl%sch}EP&-PX+l?xlPfMZezp_IE4`rhHx#Tbw^@7+z;_gX zZ`VU21jk}vgq*(A5Ta&Yw|edep%tgk`}A{^>%m7T;T~OW*0C^1N0KeM5O6GHle^R1 z3*UPv%<`F>9v;2feZY0~Dw4;Zx%SJ>F5rVL?!WnoSWW3g{&lVNf3a}kKbN)-zmRc) z$Yhv73~#YWAxjo0^k{@L?8U6ACYNe~PsTbtxwm@Q??{2s8!c$R@V>CLKi5L+nER>;{7M%8FahwEz&3dwGOwDmrz7z$M!0(Ry+B+0 zhnbl%cYDj@PgyKLPT9+lHw7LDrdk2?!Z3=5J0#N73EteD%o}(dEjp;V?+a#N5uRe{@CAi5UU0;{NajAjDqfzEZYV|%VM;nb!?*DebKSK0Y`+tGX zsP02EUOW2TD~`4hN$GlH-;XL4H_JH(#{tdk*rl?CG z;Cmbbl|a9@9eoMA6O4VUYcz4~7bfTOSo>MX7DZIL|0HsBKR#wYlXpZ6tPGF|cB7&m?a%;!;DlP00thryomurr+M+lhdl zl!e(pK;xy)NKJdz(#!C5;HBJ>e9GH{1Wpu1VI|VE#BMZJ-)Jm80?RZ%yK(bU0Cipe z$@aa}(uo}0Hz_244RT_+k0@o>7^m&opJ1U5(#wO`yIfKr_ST?NSaLqF)s`8E-r>fxFPYH7`D*R+yXs1i$niAWt*Sd`Zb@g_`svpnB&c)ZoWJQsD(1IL z&^^6tQ_TZBs~yL?Mma4HwtW7``BcVYVuse)r-$3kfCjS&=`S;K1pPlJnO*DLfK^8+ zRs8i=h5}R`r^=OwUnyQ6pDbD%3O{}D?Z-WtLZac<&o+og-+y-9Dam*4ztWP=cJqQB zY{K0+HM^a&c|Kn|iobN2%gy{rj`%M6T}VbLN_p$rWH15jT(r)j)v*2tgox8?b(N#p zEeCH;mG)A;wmxKsZMv|JU)g&C%*t*dy+?3{CCnAxo>s@+1-`&klYIGK={e|^d5?t+j*njbTS?%ZFBj(E=r;V!y(Xc4KB6V~e7 zTJ~Hu2gv7@mabB60m(OfE82~?DDd+JG$q)*NavlAHQ=Ez1Wq#7AO(PHgm+EoTz-WI9itqCRnBB7AWLrsJ+dvbv`g5{kgKOIkCtGCX7 z&~z6MZHz2Ir3YyG_@8Qxp4+?wTTX!%Wi5N$?dEo%vCP|Qeea=z@PM-h^O?EhOP&1| zIm@4#ePzCpS*JXL_THIVRS^G2B|z!Lcb`kPC@_#Vn15m#)9_(7_Bqg|Gvn1iM@}=v z!?3W+xq`R*)9^yN|FF4gDjd_%^>VGX z8&XqeaZ_fzcDr+qL=6U7bgp!RgFK23i6V>UY;F7BPXu<22v-L0XbcU(Y<`S}(9aLO zWGWE+(oZpo>>01qYmwjUA5fzQ=Q(cQJp@_r#rP&g+_Fnejl~Lw8qs%=Ei;qJ z)JCZzq~V|xVmEhmgKx^&bW2w%tO9wMw_4hkHJ~&l!5c{M!4;!z+qT6gs7E}^T zRHm_FO-njPd*5f%k>7l@hIH%~MEfXf`}GP#(-bxUJBUnyY{E#DgZdhkxAw`N5F+6| zj34RI?-(kOY!`a1@ZAgbait{&_o{p0R7ogL<7r21uWt>f^+7%2prG`tTwwPPO!-#V zN=KtL8Q`4T62cq=hCum|;3q>f;_()8Fle|q{{|%B_lsN$UR(vOy6l0wjD7735y`n` z@7DNKmg5dbe2mgiqQ@yRjoX+RZSlbC%0mkmy@N)V+_>(p{y%>I!_BX2{dEDcCTSwR zWyYW=X;rqny9alA2x4?LY*qS82x-2;*JZ{L82it0{&G3ghLr0zy2u()S@Y{0?1f%F z0T{@44@&D5Qq+7gF};uq6wJ)Jars_uBdcd3eXdw^mOj^f&F5--rcA>AkEZkfOM-j< zf2C>Vsw}rqSz2#%<-iG*C3QP!Yq>{SisGJtndJyaYUP&7Zmrv#s;scdcKHyeo4J+wOURlbc|odk4}CuQl^z-BN&?kr&Jui4aTpL!m8&v=EYiX zaBUq0NFT6c=fG6X!Azz7VVsjdbJXIdsiREk$2-&YA5?bp;2YpQ5MiKZ|`` z7=E>VEHg|sD`_0}`90#KA5jS6P*^A_XiW668dvcao&)av9egVxt1a)BF%T zxtb2rrF+JB0c&)kt1LA+&)rMe^=0={uB4j%0X>Sv)y>(j5jZd93N&r0_E1@eq^RNz z_o*F0bVGcd+xvU7c?Vxaf?hlN9V+a(baZ?A+STTly&TSH`I$=%SG8Oi|D4QvK{q{k z=;%e2Q$cuVmFwjC6Jp9@@YZncBQr6nF^40FUyU;4gKoa^p6khS%paN*cG{W>5!PvN zLtY{NF;n_wH+LmG=~&m?R!eF51)!1cXBXQsthGm#&CU}3W<$Y+b3$tA@FsGm21PcX zQSMVSbCo$T)H{LSr2>{GxN)OnPjsVyShwb0&QDSNN3)>glp=Ui?Yb&;4s;d}FB;d} zrm20h@+v(68!rt1r@yY(pluJX%>c{qEkwb{nJt|zF@6YBhoOf#8AkZtlr(etVs?ZoX>StWPVr8gBt z!w8ZM@z}0N$ipzC)_PfiT4^40I#{Qgos6Ngo|unuE3C#w(w2Nv>=ORWnu&YfEKPU`yRJ2xBg7Gvox5oDm*Nu5hJp2V zOCGsJ9Rn#AmxICMBQYN!bNu1>@f+~A>)7BEyA*6gH_?lDWSoicfEb@=MSak<%jXe0E6~S z#2FD3(|4Mv9}yj^$WWLU;02!mFE;Ikv@N))!I&Q zL>d`}HyZ!yoeKyI-%;)N(62|ZMODm}R8;#qY`v1mf@TJ;GWZmVp7W1flJ8-IO!%Hv zP#FJvOkh$vWl_S#$W4jT)vm*KOLeQAnm{6+)u*ie9Ud)FECCKO%eiN+Q~PZ@PMNi1 zJ*v#^m6OSTk4t48xdK_xLyuNuQv;`RJ`RolEp%EvEp?`c)SW}^Tt`@+{}Wub(0aoc zp_q!nsL8&0Jw)Z|d9%EOO^$dGcFiSRd@$q`SpqaVC|yA;5ILEPc8or>{avW{b(E0| zOn-?9UMSU>{hyip^E@8vOvcR=I+db!fNh(5IY}jG{Rfu#55a=J zQCh-BW;H*8V3l6BuK4!#phAEjo_UQXzoMWXiHBjw9d=mfM8~R^hL=o2D=(Bu?KXqU#)EIGbj~}jj zl?BDl=d$F=D=@J-k#Ol`*i#@Cdi8#9{ORH)Aso0VN@B&|!6~6WEX6b~!^(G8yO#_W zc64WLSq@Ut@WN3cVu@4Ah22X#I)NPCxWE)PeY?$8KVRW+Ywcovd``zJ2~L z8ThTKog;(2VXk3KAPoKSyQZOmjGIRkxSdfeK!wnj=zcXtHG6lu{#IMCJ4@U>cJGBZ zHBnxozGR3|$2pQ|wv$Y)HKgDA)qFR?eJ+`dvKqu)7oO8V+v z$Qsh zzqFaooJ&&b8v2l=Yll;qkPaA4ZcG`%yR?g0pu8_PFMSI?HWe4D@t@ya9(TazAnEos ztV-e2#i)Uoqo;lUTe7V?ebI2D=k95kve<`|MZAo1URzv^(c%;sy4k0767XwoUV5pD zztN|)O(1Lrv9$aLk9}q9<=BEB83dN?`b#F{1fh1d&BYg=R-+rTm+M}w3Bz1uE#<>v z##x6z6aK4lKl7f|z6}MNHGUX-Bk&7eE>@4+i2~j_u~^hSarz5kf@2q$7FyQ7v_}GOV`#X;obF~up(${65;gV<;f-+27UQ zXh~96-^794%7+|>lz}x5lzcx>W|w1%;=6J88#cPY+q*9Hc6Fi`Z1vtaHo2vUHpgpl zJkeF=-wOaWYlmT4L~#HUx~b$$pjc2Vs?`3XB{GR?1AEXmW)6N)%U8M`4w7-P3T}4$_DOWS%iqkj>w*-dq0A|m zw`oRj&P#tWTIjZD0~o|Px;^{l<-Z@Pw_WU&u8J`Q#n34QUk*eUNc#U)b1fv{Cw3vR7D&%XTlk!b9wXv|3yF3;g&BHy89C!>gez6hQ5P#4=O_s;q z+4!i;Yj2_bu4j_Va6}77P^KBo3%Twy$J4g7nhpXlK!{{JB+F8&XflipV*K zhR;5)x!s4%*(YJG*-gXEZMiP0QjdamX%C^Oz{eV|+GNG&;7<6zil=o<9X~cqoSfWz z_sJ>W;aXW7A#~GI$S5(FaJ;4K(OgSkd7`7rf}7e=>n{Ru>G*y!_wT6QvlFL2K#L>T zBTuekOQMPuog;j$ze&2xv~uC{8o+E7rdd%LGeA<|sp_ta)XE?=+KkE>u`gAxw zWRJEZ-1=?&tDfuG?;5OmH0^cu{>F+22(KiW@TGMLE7<<{`lI@6PfA=Z;C_Bn6gNca z(&id9iCzo)X<$-8+F%Sa-m0~|P%VIaDL26WID9Xc`SqGJh|u_{!y($g%+o!c>pfSo zwn}!f?FMbHV5+A8A?yLAy;D}6ov}$t}I6I%Te?Ab`yFF5Y33u)>XBw>sARDJ(|uQ&$Gpr9v%u_K>Zxb=ES%#t-N@w;Q#qiWC~kemDGM|=S` zrGM|hyKtnf$t)%ZunGk=^r@X-q&Vru`#gHoZV`%-C}oHY0-VGl3{72L($^K8k;+F$JFlrhGf>$`Ylx)A<7>RCaG$UV}Z966zR0ZtLg|yb#Z?zsSRmI zcHzV=%*o-$p6~~fFIQT~@O4OpmbyByFuR@Sgk(-$LRI2&(g3-QG1uf^Ky=F+qpop` z@2|P8XD;(>!InRz=s5Wb6+~Ur@z3jZV-Xf`K8vcj1#Df4hkhQ&e z*+WU*Zn11npb82LoX@qpFb}?9T|~R(1vDksp=%QP${^92#-atX4ba|EWU;Z5Ml^-(R_np475jMsLvJfk>zrd*KTIvK3DI2x;Opkj9wtc;K0aNWc9#CKk+E1w9P$C3 zvkL<|CHJ|+(5~kGkIQiRqvgkSef*m=pbBt5N_w$1+`cKCLSINe!kOu0|MW_95RD~0 zzcNE^tBI^>(eKdwASQOg$TEvYslK7R>z^iAemI)fhw&I(Lm6r}&n|o_>4@hH^u{SW zJCXxh4?jJsJJD-|1xRi#RlM^#_Za7lI=LmEoez?#tKLdKW9=y#^S?MrA^UXMnZhI; zFcN{ToL1)ty<)nl<;dI{wSGKNAwZ+D6c|Hvx>3~?Cv--2_$%2W8L^rv3A@L)p$4B#;9EJIy6=KT;z7p?ng*p8lQzJ;!{>( zMI2&gaJ*1?IT(#!yT+9_Ax8}svdhIyXB?qS2=DJ*qr&@02Y5kp8Xik~Y!lWjC)v$7 z6x+vAO+T~H78yEnq3C%eq%8~FXwza}IOfr zyH%0M3v;acTC}-1@GMQd+xzOFi7z$+)+WZmJr|=K)IRBDf|C|}Yz<_5?(isyQd#lF z)x~6Rc?ll?f$+3Um0mMD+3qRIoUPUsD=g4NK7FHW07UVhVyg%VK(=G=Rx$d*%@$#d z-H_;xt6H(b*SY&}*pH_BD{55+h;*mc_psj5DMk=2<(Mv0lo_@}*FE#~CvamvF~PR<8%awm@u zoKQXQ7NVb$#L|965W1z66}_3t-5@!$bOjyzj`Y`94oh7y0*mI(00o~?qc;RR*>5 zGbf`}Ej+(YG1s|gEyUelHh#XnpW6fEvOt1WAde*$%`XP?xmb2$Dt0de!e^8aI9d?& zf+A{JTNwVPq=tn_EHCw9#2%FB+12K0M}{kt+o*6Or|qS8_u-^e;}5AP#N9cAqL2?B zvRWaF!%T0!j~4TKq9!^cR^5}~NwB3yjR_;J*be#mT7XPSQ{z0GkeH$2G)|e{+n^QE z2-?YQ&i2EJWBrM}TQ|Zy~5+3eQL_ zDf51jYM4RF3*Oi}GZ*}m4OWocXJ9{+I~4EKxcB4Y0s2*tuhCsmdxi8^8}ObW8&*!M z)UdBqiRhlR8H)({78HVn1IUZV2}ZtzF1&{yp|9_mH=?gXQC#+ZJgNDOU2D99J9V;} z4cdi&maL+dP<(b>pPdviosXxeid5!GIPq(N(y5ylQEl!S0X0ioiK1BtvXeY=qS3#O zOMJo>9IbfN9HNvzsu<;^S@}PK=FZq0x{%J5Vk%6=?><%^!2(IrBR8Ud3*bM!_B2ug z&tK}@z2DtO%%slef*@Uud!SSBgC!{X7TKw_rBMW|uVT`=F=8Y)(CE|?oY!{@6-*jm z>J1>&)l0M(C}WxA2heh&ByW}nKJZhBH2*Q<7Nz;Z-7qOO%QNEG&|19pgI!IV@1wPJ zRLJ9=;_+3iMqgii#EP!smB=K`%mZ~zjZq0hd((u4t!c#-e0}QexNWy-E~81l`=ZkklqC}*z8ni)!rZMP{tanfz5FM~OaVr$A znLqrdEhK=B3@S{MGCXr;*HKq;oP9y|dzYv*nR~-Qd}B?mfM}59=E9Kw^c-OZ_)u2~ zfh(BAoY^6S14|4(tNEmx4$>#|eTD99}0^ z1tGKtpKiBH48B_u6*35A*YuHUx}GjTBcwd$AAZTeq?WH>!sK>}{ob5)Sln6H@)B@p zd$iJyFpZrJ!LR;(R@8>2YxBXF+;@s!ZroP7WvC5KP`+<)8T&U2F;Tqchg&al)y}uAfv4nVeO4!lnY~1{xgBRjQl7~?kCus5}ZMrcxp^WhGp0=J>w#R*KaksOx z%@>_2ZcTN0EdAx9$83Ub5nstwW&a6iy#i3IJJV^vam_F_NK{=O?}28zwpmg0w;PV8vObkK>gM> z`PKl+Ac>GH=rR=yp~uW^ z#`}SV@I6wr;4^E$qp z1xW3sK{4gMf#j4jq5%BKJYHni#?uu09OGEMFjRiT+RCj5UsKj+QWq-DU&Z63 z1f0*s1C*EdC~qdSl+&M8yL zPra{>4`W7${~8t{?+gdI%GLE^x|lKXWDCEFd_`-;E<3Gg_RQqhdZRIkCK!igi%%=B zycD%TU6lqJj)k}{619^(V{;85VauZ^;-c>#w=vTO&{MQS{&6YSjoZgSYj?3|d3q2s zp{rvyB)4`|7owjj)SjFQ(?ogjjk%760TzAolsSGT zwLAXB*8aa5S?P+2m1J~tXzQ0xfh7~)ft)anllxH!ok;7cxAP|@D?dsMMGj7f=y-!E z|LJQ_CYx{d9`!3+h>EREsZ`5-tplK|nRaGDW)F%*eL$mrA2J7z%M&d{)#Pl54AmU z@R&`;*%x;$)T76X;$1!bnlYq#cP_SWdT8zTk;BLP(Hq5ew8^m2P3@3?yaR-QLsFab zz@}bTHJ`@3`jw0>gVn3_dBylY`1?){sOXLOG!4q%Yf^RtJpyry(M5k3m1@biqp)u5 zD#6YNK!CIlngvA6jy7kdI=PpCLTml>ot=BaJTR^?giD^y3{QB7R$1V2i>A2LFCNsJ z1=)Llo{Yl(6Lkt@-ia32%@HMnoB`U%Qi$4)tY89$=0*v+u{>7T{Mx9L;0o64)kfRr#` zF__;5;l~0Yf?`1@sh`V$uoyxVL3QfBGKs%EqOG^u3u9W2Ze;zJ=!|~CwWgGO+Jxpd zoG65LqeuS7p|&jq!m)p0A`x~g(x6Pl@^F6tR)!#HwADg8+zwK(njF8RFl9rxZbMiK9 z8#}^V?AF9x;^?IQeixpV1ty(U!+eeex|VU5l?}3{e8BD>&b_!v_gMA z@N3qnS&5HEn)E$70G5D+isr5LiLm7g8qB^|4w#+C$*z@oW-HUT^zeI!Sxb|hfy921 z=Oq53WA4&d$L~`CSbma)c#45w^_t}u_`idb@)VZvCv?Ocn+ew_uFAcyKADIS!k*~k zou{itlU-3rC?XK{yC`L0S1G+sT5qpRZ;o zY~ysAC(3LPOT zVyfm(-y3Z`lYeEJG-W2r7+uqDk1g}7mw;ucV_U7o{idp8)=uq!Uv2ZF$&%!wPkNL} za0JF)!CS;u7`OdTl^@U?3f`E>K7OQyUYyrP=m-LbOa+LZ23DSltZhKhU)?f>{$m6k}F-czeF^o-P5 zJ0gW@Cvm6h@NWzyF`l6BaV}J{iQy{L2_;q?s2HZxVO=`MI*>$ z+1!MD>N~1hhx$y>Z9KYhlB4J#G4EtBxid!@1LDnmOz4}wknZHLRU>C`-m zRZf16ltF8z`LY~JQ?)ZQ?fTopU2jb`75fB}&VnGIpwF2v4HQ^lYj}9NI(WL3jygEb z7HmVpu z2Lg$X5T}EJ`&6S#_0S$)a<`V>pK+59%CgjVJC)xnA zZCRe5mk(OU2E-~wc;}!QdM5c@DNrse{5WSn-wJTqMre2d?g3yg>QTL0SRvMQvr}@Z zwF2Q@)!t$%nK@-8-nTi<_pKbQHfswG*Dg!>1C!im`N>KsIdL*cr9pE_>*IT1;RwBE zMHBMCO1&tMM%a#p>>l_R4=Nsx>$*)T525T3cof0EsaRIxe)F`47SP!&#w;7g`v%!! zm_xRBK*6*vpB%2a>5@vyRfj)WR_-Ip_MF>W9XV@Ku|#(Ctq{rU_fx)!jM4!cadEx0 zu4Y{9m@jMOuLm1V$IuFeznu>L-8o$w@<+`}r^PE`On+)rP^M_D2bn@h91lY1zCx3P zC72Rr4>>TdmxY5Egcrzp%R(Lh=|D6BS3YH2B&vNL^#vUEAh0;w}xq| zKsyG{sGtnp8oz59WH|G|ayWt2;g;3KQgTo7=X%LXN-p@DZq|t0I1hzo;v<8|JJ)N9p=&Q-Mt)(fyI)Qk(ZHLT0i@jBd&arCg`^hqt|Tc?)B1Iu(RLy>?f5+mfyTYHz5BW_^Vx{7iyW5HI(eQ z)GsNr-HZ|9jZNKs23w9LslJs>UK?Fa*Qj_=R4b}Cb=Q)CgT{^>z0x>&S-Rl-%1XBg z%R2ORut8f{roaP6h+0_OZ%IqSi2PB_jT~6(^mgf9p_BjW$ggM)$!9=5E^jM337J0nWk-7VXie9@dSqMzEF}<2@ zPRr7&5vmU=-q?sG#wRroDG$3b4G|8Sw8Uqp?jSo`-uRKsNr-6XIFK-eNn%U6A_>1K zW}HdzS)yibnyZ(4=C0cvafZhG#qtk+=JTfPXGw**sWglm$O8S|T@YgCd-fy<=?7O# zub6~5bDJK&-~ldv3!9_FRxyh0BdZc~I>8FY#(9(f>C7~c4v_Z|yN^j0?jYCRac2jY z9lV=uWwXw73CjU$UqY!%6ub+DJ3nX{xCxBOE7 z53q0A#sv;mBe2Val9j|K-R8XemnzX$g5$2Z*b-7~uWV-4Yqy>=*icDmJ}RRUD5hx_ ziaYE4bF_1-nKh%u+_#m;gX|W`%Jo?jCS#0KvYfeV3nT#4P2tsD;JqHCok{+)jhOB$3~X zYlR4vQfIxIyb`<4#G{7A_eUMlP%z5_+p)CuD@|>qlFpG4wPiXm)pL76G3OKw7;WH@ z5Bw=bLiy6~c-lAR5lphbkBWn~HaB z`L0szbJt1ylB47zx^Y{28Dv!Gn)Sq|!?(EnJwYxO=sCKvQOQYqMOPLRRP&NsRdLB2 z)-N~96=k$+Cg|G4B5rEEchJirNsHj7SwK`q3+dn9LI%#KdCB#fnI2cMPDw)L;~?YZ z(Z@Q@a%M= zjvLfrV(K?foV%=nj>f|t<4y~ZmAp#GPT}4I&E^m8$wRI`PRO|OlC%zU;-Vs<2w&z& zzmdI65HJ~hcjUZ;CfZIAY#R9^FmrYCM@pR5uU(H5V#FDv)drSj-u;D&e8;=pAt8?A zC>WD?YGSq%5N;eA>?`ioVBJ;5t9jYS9^Ws9h`5E>BL#(KirEd#8CmPsm1AP2oKJ%8 z`nW}`ST1~F2t0zzxW?b>%rrf9AIyYphP_+q=>xL}d%Q$*{@6 z)KPM6jv}6T@5v=r{+Go$&QiJemq5XcQ75?m{l46s!vIT z5`2ZF6_=2L+e?b$9c7P9x67AyKc0r(*M!nm7-j;kshp_luXX7QmqbQiK|(|_=OO<# zPODVameZerCU?)AwvaB^p(#FgqlpZirg6p&g~~0=mkqZ3bY7RJ!Gro_YNL~i=rdBH zPINUV_6fg{%1@T1~j8bA|DUri075 z;5m_}yp36Her`ton=bO@NGLx_XW0s^k!^kYemw z2#ZRAt3^BiWOz>?<+gJhLnq@R^YeG&Vw;j*XZ;xq&~LUxZ{%9bVpe0OFSFi5_At@Z z%q?xZrO;USvzOK_goWbt=7mKs<}j9C9o*8^yS~+7+rGjP_qLMxvoK9NjdWh45gXMF z9*Q>}P%h61GoDlx9P7(%u}!+AZyVTZB^7MhzV%t#^f-Zj=cD_X;HZ!3O*gPea=StDn=kcN(UNN1}Oq}XHgVdjvlv2i)DRLlM1 zyava9QR9ac)}r==6#~fsy+#`31F|K-I^nCI*Sg2ljPfbx!fx(#xaldSmVp}k+E#8! zMqf%frou+ssd(11mPaSQrP)PZMc<65>yx`%VWjY2HGOLSMHf=MQMM76%X;X4nFgQ6 zu9q7A-z3#1X=)L|NTi2@;=hk2>ExKXoK@fSP3bJM;&y!YF*wGQ)+N3*GsSa-^~TL zb4Djj!h$e>^MQ80^~05)wwhSs)MJ+-LH|q%4`F{%4>u6Sl{itl)GVO0YOqQ%N;g(3 zKb{J|0AzSt2Ht6)L9-k%JhHK8_rF;Q2Sag}qTC&jmo*tj3v(~__Gc0xTIL6oS$L~bYWPHg3zm|@xOS(h&o`6+$n>lMRw9hq3gEI4!4<%oJ| z8PUYvD()uR4U-S1+E4;5dVZgN=X`_Dc3T2>Om9wn9In}yflKM$9$##qT5s%P(pIe(8p_bCUy|{$1aVyl? zZAirnmCIN`M2oL|5tP<{K+oNgbsNb zy}oq$lYh&%4}ZVTA`~X8FVY0VqLq`?O(DEQZ8uZBx|&LBmfM*p!4=_e8$`Q9zG~2w z7&mvxm+;&-299bDWskHK=BkvK=l@ zDuk^#t&VoS!@4N}IoT@MHKXq^g|+id@ri({nG4SNam8awzfs&(OVFAkz|bHQ;u6L* zCjP|B;05ahL20UBR7>!`ff5P7gxM>RHO7iy#^2yMQzet@% zxt8h`oG)sy51P>m5$$D>jc+l$d=kF?FdnV16O>ZcZI?1GY4tD`q~mrnywz49?0&uz zIKeiMb$HEwbmAF*wVyk-UmIJgCk5YHyT+V(e={NcZovZNiBle62Hs;#q_a8?1hPM0 ziW2f+?l%^t(qI&Ic8y}5z^YR{38Y|fDVq)xXDax;r6(&56o=KK+rEDd@30V!DR%OfL|RG8wRZ##-Sxtsm!lwtfgws)@K zH=wxQBBKcSdOpwS+3~?JPT1`lFz5IC9?9;^lD7C2R4f2PK0h*NRNE&K7WJAe7t5XH zrg7Ta7;2lVnbB>XquK<03ki>M)Yvx_BO&_Yc@fUe(eaHwzJ<0yT#wTW$K`urS%+j? zt(qdQmX*7fr6RW~RwWWUrWE2nTHhJ}|15xomE!KgeI|a_AWTQ!=mberKvovv>0sgY zgWKLWzjWLybXP<5%gX;j-$O6eq|QLCJNw(PTqkH=tpLqny4MxmDQr8*Tc`fcm~DZm3?W3ej2Ov5^?^dPovaO`mC>OiX3fNJ4AP_B%S+zv@QNokp@EzG zHkNPCY2{{inI_%D*TC1P`uG-eXc%=Z;HY-)HTWboZ9(5tX- ztyi|Ow^zZdc9yZTZ&&O}p?JE>0rv|q@tO|0KfC9q{0Ev6e_Yp9tDlY9!PXVJ#^*x& znIN;P=#|O&n)(U{hu-pG4q1OTu|s@H6k5CjBISIJ>OasBhX^;UHkk9DB+pt1$hReL zf(ZHFN&m|LGAayExUOg>Gv*4~!}K}J0b?FsS>V6n1v8+DMIF_@B^d4=`8zc|u)$;w zkFr-rznj$kF%fj92A9cHkXaXE;d0vU(!MnTSZHXCKDz&bO&GKPp4#}fEq{Wr4MHys z(au`DRCZPrK2YrP(Qwb;Lx!Gq7RlS@$tQ2{#Z$rqv2qJ7w~#5!mJio`M0}p{vI1k= zu5O-x3!A(+@jn+csiN`kVs*N#)8fCoq5RpYJ1h;PBaffmtPfX*bV2ZO-jF^MbH|MIKJGRXtEDajsLC0E876XF&C^tnj z$lhY(hrw1}WkdOEP3j*%8ZA(FZAS)g2kMUf`z^zy;ezX-o})r$aYk=;9ZkfV!V=^U zOIDd}Mar&`OV2o;?Jxr19-2A>8;@Q|Jp(q|GAP^l1G^}0(PR1Hb*i)GH5;{~Rj~e> zHYW_nGMn&FOQFE+)|c1_ob`~5ka99cNKxdlr`V&&9tz{n^efkLx6qio0)rESRVRLh zshBkN5@S)PW{7SmyI+;ltJ`j|Lef&~=?Jl}rguM54wJS41JIs#9!56NJtib?OpZ_8 zF<~}nFW3)x_{8^NtQ2;ka%iSm;+RS2H;kYUYpgfb8$(pSYE$`Z>YdbS4 z^sd>TQb>Z!^$tPg``otm1HLpy;LHsa+f)-LgFIx#H}wKMq;Hq=njPP|BwDO~3U0f( zju~PHOKuU*N60qv@kL;R7U>UVp*FQ&XVq`_?^OOnUv9?@G=;SH4$L3iOC(jaV|rz3 zl^0B|c+=P!GJp}A*T|<6#IPar)wQ$jx>&ywscq)=YL@a8>oxs7MoRECgz}$%dPrzt zoPr4Tf4nUjj6$}A{fVR_ITj z|JShDljlBUt#v&uiM)E+XBn&G?4O8ZKZYS^JQS}wHCDv1=j5Y8%mhy2R*>mYKkHMv zNCZ;`)8*vo701e^{=K|o%(IV{1(6bYV?TwQ4B1K7+Xe>b64w&e-S##Q`L%Zx+uCmQ z6kBX=zqr{Vxh!Q0Lb#0}%p428^piKdVUR)%^hw=jmv5<40J%+NOeVo$D zUN>1C*92?dY1=vaZ7>h=M=n4(_phtjB*xxuHfj2fU4YEozP12S-tf zqf2n-7{UzEe>8A=mJN>ut}3f;jdJX33EZ$~Diy)oEJtw*qc?WrQcB6SP%@lyVzmp>*nrjygWTguJq@Hif%YY5fTapA^0!uWbHw@o-T$;Q7gxe%F zHWuTJ=>0?jpN@0h3bI;QoC_+(gc$uWZP9A2CAk!0o+dhBQ%no`Puy}*Sv)!hBbd%a42JX5h z7ZT!QlZ&C3K{l;K`=E33lOy??5h3$BWGov8spnD5U-?TcME`}9?U8uyU=Cw#w(D8o zl2O#4#$MA-H1D;QP35k4F?(YNwKvNYZDBF(ixwT$yQt%et^a6UDe^-uK=+i-?6p1u zoLie&i}e9(#5ZTRIMMJ%c;r{=CVS`hoRkyfooNl$S&iE20HmbpI>?PqHHexBnra;I z#NFO#G=9&E;m^MyonL2+YIoJKC!lt;8^5+PJ5pAbo|R!3GAi+2V80{)t%>2`e5-F$ zJ$u}_Sn7lpolQ+Mg5TAWX;T?dJx&*0uwUr1>q*^P3qdaX8f7T^QRLTyWrbqzLF6&z za$!czPqj0|@1v8p{~rLAKx)7C!EC>HYfN0p74sFm*AKHreusH}lvi}_g=X=R#a2Ja zd@z_NMI^LStqvvkOV*;UdmsDcq{!k5gY;T{bb7e1 z7QcUjr0x@xv^PE%L-aY6(~0i?@s zpC)qXsS#uo)Hm#Kezmn#y!u3@9DFgc&(+&6?eEz0?M(UDjcwUMgMa()aKC*kS48!C z>jFA5$XhII{E1UKhv#DA^4mP?%f(RyF{7j3K)Gg3(0z4RO;Z;#|sf$#j1y!oIxeJ^gs1Ru#;{J*G+xyIi;e(bKraPdLzqrbI}y&Q)J z4Iz{L_^jD{e!khz#c}=v5)K&T3!Gk;+YQuUvxj+cl7&`~zj~U(KJ3xt(a( za9@3m&(HtDU;iZm^BTo*8>SQq)+a;b5!Jw=H?|E5eR^F|>NR$T960wF>v~n$!iY*_}YTuCwJ1q+Pr&^E?{qA zh6Q^zrvEm!I@r6zk}8Zg;jSHxEvO%w!%U&0@1RCbcZ=s*ostCJ74@!H;3!yok-o`w zNp-#^w`tjxePHnEt|zJRZO}X$P0+PVIMh!(H{eQvB+U)p7KG*~glq=C*yr;-j6P3E93+Q$D1Y*@()JB*IL zwi%cV!#IB--^2)f&0`FDvE>SPqP&r~nSrSRXxxi>vgqIGIB?w!s?` z1(Iw$X6L&3W;aS?4_BV9pATnqoTAqWo8hTZ{nJ~Q%GkN-Ax8pvM*(DaImw1(LEOX~#|7#WQdqb;ZI`OWJu#y5HBkI(V!av1$th1-n0JU_<*5BrlUZ=C0} zO?qp~HsE|2uGc1TxUfL&on^YSUv{AzTm#)4@#$PFz;F-oqczr#ujfx7v(O$Ub~<`> zRa>o|>BLU8yWAn4{e8`jxs;vwg^ys}=06;~6tv+o(Oh=AJUY6?eSB|2zlfh+C;Q@C zFFHO`Z{FDC7x6~E7aHU00KMnOd_(SQ78f31t+P2|`f})Gb3x>jac=}|V>41|yyB=uq!h`6pH$1akfDF?<5CFLpAYfA_|2GFAs0b5!5F*@Sj^()`Fbhdt4} zf8K?zbb|#vSP-K#Cl=$wFy_rPoxd3NX&P}A@#Wi{V{@@Ut0%AWS)_YtW*mEYZmzm; z`wqJ0?`pu-6*%~*Ygi0UhjcXWPxlYae)5m}@OU+I{=@q}{?GpYhlic$*#kCl+~E@~ z*?5XixRy(gf5}io(a*M>%s!9&)tX_7pvE3@UjGE>blwFYlCK|~w%okaVPLDpazy-Q z{rbM|{p!bG{Dq(T%$7}=_*?5s#_u9p(z0Mnl9o3|8p*2w~FD~KB$mj@E?6@N}G4lLZgFZtU+N;)WN?H;HcI?)EF@u6uS2u;Vn_3T z`J4aM+kLDW3{oPJreyibHj)~ zT4RgrWU)0nzI(a(eL&7Wcvz>%p04b@^Sdv>=WKnxd-o3Hoqxh!`}BY(YV+sV4lghM znI5M^!}8|wXFhq`i(|ER`m!O)P~d^KV4E-F@$RX=W1)#gUV6X}C*550U!*$@S}bsM zzE6Kyrz5xrL}DK&UB~auk6~`m`0iz%n7TcPJ^8&kG#y|*sA0Xhg5PAAMD<%k&+n|v z9>&>x0EXL~yRNUf&R1XGV;$o2!sucOoj5>@b}>ONrL|(h`oxZ}UhIXpYhSP3t#3SZ zcC5d1z8qgdV|lpoy!#b8Bx3%d?`uoa$?)Us|J0?IXPChjlg8QU?8k?v`#w$F7{6$A z!`I7?$)kS^=#w2|Ewfpv9_?`a@FjB2~{AeCK zc-YK$Y(&;kB?P8ujV&iSKOY_@F(n4~027V8P7MD&lP7!r#Ov|<{M#=uAy*pjgMj_boPzWzVc)>wRJk8G}QGyFJvy*%p~ zA9+ph>He&rY(&z@yf}DmhHj0Fn7?Z^EAP4(v2F)xw!RNlollI9C_kD<&ed$)H_s8> zyPm8jbPbOjF;6TKAR6Qw6L=Ho-TR9rSHoCrSnVs zu7l=_X;{AU^MB!Q{L&^cTmw_;Id&MZ4pW#%Oi~ZIs)am?Vl=cjJn_elkI`fhGIwbG+~y&W`xALnIG|`$SFM7w~Y!`&032!kkrcdkd{! zXFES!A`42`KLu%X1d?{i26{TL^dvSb)?tK6i(fQbZ*7>J=6BotMgB>rted=HT^ndKX^XS-| zt!E4J!^WTQ-Cty?_o^g z$Sl3^znj*9#CQGpoZt0O6W+d8mrb5c${VQIdvcpkhA0u=@|3>52Dy1(&witcnFZ|4 z^YxvI182_O+la>=Mm>4Fhi@@k4kydlu)sOR_{9S}H+Xf{9Q>9bEg4OVX!` zKA$ZIdq9dOCEl1^?W*JAL41$XF#NB6@h3li;>UmQ$FKb3e>t9Picb)x@8y~JVH#ul z)42{fU?b~XayB!^HPnOJ@pHb#W41T#e1Q}%*VDgo^R(NCB;QRKJ48&s$!OelaONXM zdOt}chux%zh3W4)%=q!uK6wgzjb5L1ISgl4`dw|E?v$_jsT%O*&dJDN9hSp7%{ON^ zQt^0etXPA6evjsA@WSqsZu5U*{I%A(Ph-b^IAPsba^7{|)A|)}Fq<;HcY_6Qb6|QO z%)#S@DSxujc#vUoZMN^!Jho$J?c(e5feA0p&W^@E+3uat(HA;eu#=kLP1<8h*8v$8 z{FkebuV(Rh;QQ7yYalp(sejb18A&L?ApU;6l4|DS*I@$0|wuj0)|rz7t4^1}DGzwxbf{mRE5_yfNuf5Aw6 zpY;8gzxDAq|D*qUYuClSD0WkHzF1t0wEp;D$I_ym4TiB3H&MpaMy;XA;k$bS^2n{d*!0H+uU!a&DrqT6PqMVD9ZwwO(=(&kz4`$U8hHiz)#Zy7*X#uk zUGQg{^>sBnJ#+R@v2*@H=h(D*P6sFaJim05GqZv9;cd}ao7mL6eL8NkPp^N{CvAV? zCw`=d^t0{_Y)ubHP-b#EbCevh|T7)5gvXnZ==)d z9uHW#Tkrh6W40?-XI~>PUoKx=GLOuC8g9JL9{@}b%+n=NC#UoI@6mlVt&#Ji zxX6#g*Swl>@(zl)yR}eYQYX@3fA3B7h{4rZ^UbZ{ukXE{z7GR6u`r&__-(&WP9eL8 z7Q4d40*)^wG}#=^+lDKK&jD zzYZ|(#fSvft0Oo)w(o>?uifFq^Ww}gJQ-M?z^wlsNWzLsFZ5w&FMY!s`t4Eji+Jp@dUX2$MYi2N_>-q{?_`YhO|*_K}f@!6A3^Iu22eYt+^bh?RZzuoF5%%APZ|A(WozUA$^ zZ;CK66MpMI-!4zsGk^_v`tMU0g@|;5Vi@Sa)`5tUhu!H)3PcHGQgJEhZ$0k=?f!sZG-3jobY{tlxBSo7(!{U_i4 z7}*)k;!G>{dH8p(czn4ByTAR-HjG&L8ATuo7|FYv5I4SkWrrqv%AMSjOloX_!Ua7i8@ON&o*(en}+%2-71 zpE|LLn3x@(U&lWINB915^8J09czD>#Pki|%(7@zFJo$Zo%?`-+4r|91h;Z4Z?i(D1&kP>E3S0CHv_JaB8IfDj`U!c#d!I{ewrH%cPaX>poF`axum}w zRiH)}J(?BI&6c}96@K>O2VXBAB*e@f{n%y})?Ul`@OD~0FZhRl@s$nf1-P$mush-f z^)_71^Y>zhr%sU+yV}`Le6ig&RZWciiMfko68Ec!!{foo1kV0hV0FYK|9FU9`PDW5 z;I+L-K7ffnVls)d9hqPGQeGRL#+ySgFLTZLX20TfIbDzbhc~}ifYq7V-G>k|@M2bO z1^gat!YiJ|?Vu4f43NOQPoyUMd~OlL`>?xlJn-4B)61W5kl*#{Xtd_A)gJc9<<7SV z#J97ZJM*xXUVC5=NElw;=4rJf+Qq(`X*xXe=}k6Vt7jeO8$z37 z6fOCa8*i~F_VrgiCoih~$%?xA6AhuvWszw7m# z`}L=Mw0HfJNhfPt-=h`t`rbGEu0B4ztFrqbR?hN z>gsYeu`qwF2Q`3-$JG|R!lIT#Ch}tyzsSPy))Rw^mGqpSn!{(yNAyj&wagoBF`6N4 zu+N`g`pS1deyayHcngIufBD`dd9Ul9bbeq8GGJ(_{P^A;R{#5d?N5CC+#maqVTI+# ze&qLj{2%|LU;cqK7wz+XSyqo6baTwkQ>@34( z^mMFZh4VJU#;#^uy+p%Wu=8yPJn(+AwNv-jUD$aDcyeL_kI5-Ti}iFZ~gW+k7qX=)88Jb=I3fuG-$=fcl*R0 z8vh6kf4J$edY2s6nz)v`;*CG3q}DZ3pNpg0o*4Kiw)eNz8{7UX{`1`uvZ?j+J7l`p zUJStF>!*M6{c{N9MBa-Izw!_N`POisR-(`LlkxUjBXF@B9{=%w`gcG6)BpTeKK|&B z|Io+p`{D2Z_;3I2uk9h>w<4O(m@-5-wzqiBb+7h>ZTS$dZ})eIV|^e(vAPl<`mAQr zEnn^paOy8VZ*83Ja<%C`EhN{z*?o<#>n&E)*Ko1Dn7{q2T;daAtuK6Lj2&6NxM{r< zBk+rB`taFKU%2$6v$&eQ#hX5I`7gqn*fXD>-7AnozPhwrZfre{@<;%vKkS`+F(Ssv zUru+VJ6xBu{$Z+57B(&Uzx7++`1n8npZ@PXF!<`nPyew$`0*S6{9k|k+OPksVLiP8 zdt`Pd_TL1r-tof7=aBH1oecms`I_9wp1pC|FPp{v&i&No|ry6ANe!aD8z_MUR$YK(gk>(ADP z2;REBI+mSRD+2wc@WE_8KD)V}FGbto{b>DUjkh-8>kU`DzVsb_g(2Ja_0|NoUtB!3 z$3yvVenWk~_+S(9yUG3J`>mnPb04;P`N&^vO-4WJyI50)Z~agQsxU8N7b^HFS0pHg@09yFYagFz%aa(WnciSvuQz{265--O?#B14 zkGxb}9I&T34C092)q&!q39ersyz%{Ac8Gy7I2R|;-aP}|XWiL$u^djd?Ben>&!TEI ztGmE*!#|{Di}3SH_|%v8eDdg!9C`bVo|kBmO<$f_9c}({BbBC?@#5xPkMQGL{Qd6` zwp6RkL4$`J`Sy%QUJUl5V>D|W#K3#L{hB;4_Q|B@Z1?=>HR~6>wDZ^9$KWsA&ITRT+1~^y8o1EMrmf`Us5Br|oThc9k2j4t=)0-Vl z{p9o6+CI>JM_govtv9f-`>i^BaqBPnw-1{9evl1&qQ^&Ae5F5Zd>^Wce(^O8qp^2{ zw|!8*Rr;-OT0?pe7@zqwfEUN?aQ5AAOYlTQ{D%1Kn~#%AHrH)_e8kSMQ?|x__gjAY z508F0G`hQg5f^kM106nW2*-CQmtg+e9-=X^%0lR-lk2{%yEv}~K77F5eQkC$iwytt znVh{r-}UX!FJ`_cUhFpP{UG^3#Fi@`^D*PhQ!0<#6-Vj!b=}LX0Lj# zuw{?1q7#?b#GyAJ&|Y!Ga~s3(&0zi5yzuK15DK)!+9qzcxVXi48;kgz6{lu+*yDt< zxmcQSvxT+?U7fOxciQeo@HW+yR-m*q&*S4R*h8oP-~4dOFUgEv;rWuM3&x*oh0Hbn zbP{837~z>6yY6)3;!e)(1~Tq#+uRq7ZdjrvV>kGTAp>@`z`O9~^T%sfHc;Fye$Fm3 z4^#0s=KfPmbfm3_WvjbMzkD{x6nITWNA%dpiSKmt=zmOF1jH3On+G&vfO4}>{P~Lh zydowxo^x#4*w3a@JX^G-<>Cg5rEm6%_RY8Nwy~Jao5LxQ4>uj`qrU8BnpOe2e2Xqx zpAh!Iz_L1AaCS`>8wAI?8hz{rPdtqom>rB~@6(T6ZJyLzIeK#XIa&*(E;8IGsu|-S zmPKrXa)Dp?9<5k0-zLbCU@N|}4IRb1c58+C`JsM# zWt^+`jpK4P5e{_Lk7Rb9*}E~T1|@5?sLs_Mo2G6c_*$O(8{XTnG~w(<(`aM39F#Mi zuNH+vHv6r~tvN8vr>%eCzneN637gHY?jgo<0k8TN2XR;}4kpa>PBkGn-B%krXDWQY z6#qnaarWA}*?^ed1_E0A;i~Uj*}&hJd^fIp=!9A0xA}xQxy>PK%)3@|G-DcD+&c2{ z@kf8`2S5G~|G}Sm=%eY&_iz3WzcW7k%%<`M)?MRAscMLgVS=dG>$GK?j}@PtJ? z(_{OQ1lWXsy@&OV>jSrZzSzAR5o_&)8iM_i?BiBgSjBvwpRH zwWRT{f9>K0%UFf0wN!3zetg5t{;N|#*u%;I&`ZvUH8kufKj1&C2UM&u(H_`!E*{0{ z>RUq3x96u=u3sKRy11dk@&uj;Y9A!KHPQe-+zSxIeQfO;wve5s)_dlOvq}bE``M>zB^f;eJ7O#m4$K%5o z@ePLRuN<~-`fls^_iSCdJ;-;mU*acMY;8_576;-j7OOLe9^GK%B5R6R(dIKY4U>4n zS8LYvWH-D$=-JIu1J=VI`_bQfvhl`vKK$;-zv|CKtlmDp+FmN(iIvp>HtJoJeP|)Q z{^_s(=Etw~$=!F)&_cNQ+>P;Y^`kaa$=P}v#_#F*iwAs0MV-cMmoIm2-vZYg;{d~e zmwC7UIUB5I#em;VRy3VlO&1B-zyO}nc$0C2Y+n~!dx^vM0YKEV#dy>&-c7gu+9g0x6S{AH=UX3t`)~i#?Kj*9e!0z09H;YgLu|&;e=(O&Yr^xQzdpCZHi z*5$LmdMv*eBc1!L5_OO*!NzyI9^Iy&^E!{`X?1nz;)HGXp_TZdN6P~2cjJcl0Q zSJcy&4?g}`xM&{JH|?hUti~3H=7P0;iCi6D$ig-ij9({i9FTeHKATQ_@TYh%P7x41 zn;wzHJM!4%5}M@HBsXebdvYY;^f#Zt0U{^)_$TMNj4kep%dnk>z;(_Z*w)rG=P>SW zgoI+>AX4OBKS^|?W8juTurlB!?z z8vW=~mEwQ-UY?Pu3rhR=meb}#*CPVl_(&sKbjC^Cbsy!83EcwQdKNp8)4Bv&YD4V^ zK|?;xx16_j(mOQPt3q76sN1$=TxsFWFXl-llk?gn`NzC`VH_me^-n7Or*#|Mmbe;8&8Bcos7J6a@53g^W;M(z` zIQii5?>AaElBXe@3fP>aWAhRHpc$XE;a|VSM(RvNu1zac@JA2uWSjG-U!B%?*W3+k zNHng{V_PV;;)WpE=&HRw7PF;0GWD9N0+bb#%t2ZEBflnZI_{>Mk6`1W_9R`RR}eGL zf{(Z_=!jC>~#o<=KsGI`Ld`4_rq zkKOoVY}!~#j8-5rB}aTicmisg@k2x1ksmb<;w2nGT@VWb=M1-m62yY>fH6Y(N8x4s z-Z=|n35nfWRKv8!$bw7Z!+0sPf&mRiZ6Omer4Wa+HeQjbvgE8dgwMytGTa(6eV*K$ z$w%NCAkSZ@E3(0wfXJS;75GjBo#vxoJ9+UF1T9EmY5;8Dr607Q1V0l=$u1d%$P8fY z)di)%DsD=RClu7GDYOR6eeesGc10d+3rPqKtiYe3A=@NibQv+~=*k@WU94a~ec8z7 zqupd7q?xU@Rt~0kQrW`AOe*-gFahpG9o<7~WQc6}*RS}b4PFPA9J84TKnKLM>zgM` z@QzF&s_>DYuS2$RMh+s2pOGPPm`oK9Gse8$0_z zI7Mr6jeHR-`p%%C5R5PHv?C2*(9H`2-2z__KZL-w(SKAhG~wP)t7FXMlW$U zJfy!E)Yljxb3Wkd!Uo+ZR28J(}_&rd-0v~ z>KSG!ab@aBWrlFmVCs0{Hgw&kZ(WPXKn9PcGSQA6>K#4%G)3B2#~2~*$lFD!$WjG& zIqKgK3+c+qCe=R;9k+63k1^P1gN34eSV)FN&8KuxTd?67v+x_%Z0+#DodsL9Jnzz^__E2Qth! z7g-1&WbrI!w2Om@$ziCTG#_ywM)V_BYg^>1uhY&ZG!ZOjKW&`TaWM$;y?=~VmewAllmNf%nS-pLOlJiZX$v+Z#f+?njgmO;X2UUi`z zBs`|Jm#=f7Wr8*rWD~~$YfOtbaO|#sVwqg#0K)ep74B5*=b=?w(y`ysF6F0z9$ zGDS`}h23T3zxqGAuz{GJ8acKLyXGw)QMfiQMS4y?I;Eda7l{KmF*W%VR--$)1GO$n z$dGw({6xHI`0{sBfW|e)#NDyY*Q6_-O3QhaliAbJ9O!Q1aY$Ug*)oLLa(AaOx0! z*c?qTV12}%4V}hp&Z)w;?Bp090?1#7)>FubLhCA@#1G(YL77-edxzxk!xPtD3xE#{ z-RM1i_+ys;>3`vv0Wi00ElJ7Cp_@KFBR_rzILzf-Yezco|X~PpfdVUDE zwGp3md~3d?9;9v6DaYkuAN!Go`1~g}#kG0jsxe})_D)~t&VdVB?Lrp3d}a+T`&};d z8Y5`uV;+sS_U3IG$s{g!fS%J4KXt|4H)`3)*4Wr-m>)G?1J6Z1wI{wU$>`9}b<6Os zzVXrcHwZ(vyvBFokv6(_{0bd@Z(iV0*-~@J9-7X@pv{7CVaph}kGRcWeZm0E;tYK*Dlt?~K*) zL!%So3J9hoCO|^30)-dD*J#0GC~}a}ag#J>Eu7?u7@Z95@=$0kwsx^Ja!VQ?7acxq z$W;DWI1ns2fEl{!PtjqM2IDTL$zEj$4I2xPl{46ZK6K~=B`3_=6>^a2L(9`rjm@;- zWnp*S$s)sC`0W$%&@hq1vqdBQ4XW@I6mb0*i$S74%0i$pVx##;e3N#PKxVHgbadrs zI_V>`yEo|iLoalze{}*ITcsNfTbiqv!A}$YCn=HyDQe<|Z&o5n+zv(oRA>cm{h5HY zHMm1ZqKP4R4eYczZY)GzcSvlVDq~>zNW6L~r+UU0 z@(nXZG2Q!S!OJ`DgO>BV-v(9gLGFScWM3xe*J z;=^Wb4*`B_jsz~Hv4huq_P+9pRH0$8Zw*2(Ht7={DPo??7q9%n0JX=c zl%~mj`WQdh1uVORv)BgDlgRek(dGx|Y&wHi_#{tq))=-R%7@Tf4+HKgn${ZL2wrhn zDL^8Feoigmu}AY;U-%s!{uYlL6NJciMB)>T=0j{|99nm^;m`&A$~`r>wvT?~lGpOB z_6$8Z=uyqqm=3HlLtYclXBI;Pz?ZS7SY(ewUzCNf=*%A9NS##==^#$#B7gFvV?knB zJlnujF2~_7GVs<$7UGaARN4l9e%NbjBnUQEk6M2s4@9vO)|GG7Omfa7Jw(yoKVaEv z%_qbp85(~9Bv-$B75H;b&(nQDpKWB+a8I7p8#(xC#z8tZrgDxxJ!~dmUC2$l*wUxo z@Bx36eq?vdem->3FGy03DqEUrKYIB`Avcuk-`L+6P2c8faK)I9n%R03A2L^;2#s&q zgPqYsV@=k3lbQ|E?xWKrTpXL1XtQXHk8#tU|61zoQ){l7sYBD-UXK z+QeyP4NUo0Q}s?v#`mFxZet|)YJplsz7?Cj=nWHoWqWj*Z$Sn#IWTcVR%3+uAU()} z!}w?FEkDRNZIj<4bM+1ZJ~tNxrwz>4^Hgoe$xs`eCr0OZ;t!sMNqIykcos{uYiw#` z%oS&RUYn(D{DSw$4RqB5^CR}K$s|1KfARSzwGI6=9c-V!^~>d#5Sly+tlYqhUpsEc zEW&x!L%E_KA#ELZBOe>&e`8K8!tWeNyhN_iO-#?67LCdhztFQ=@YfuJ-}ytlMEg2l zR?%tfepqAiq!YX*0zT&c=TEi=9(*EyCqA4T``M`jA@O&b1Y=VqqIzRc-q2;|4Duj8 z)b_?yD9m*L>VXIWoQoGeJ&tY@R}<6YNA{dLCx-h(778IDhSU-@$T|C3yd}E_Ma1(Bl=`&amMVqOtuo@08XI~djs3uiI~PTs@5W6aU( zOXFrVBrhLL{7j8rdZA;(Z^>+L9cHez=6X`>vSDo$+uCT|8n4J^OLxckp5zajQ{TNT zaN?AF^!4#TMtQ{+Tr4Nq#0fllqcQrXJ;(Irqve~n<$QcB_SM4iaj&O??3_JDN3ot` z@)4B!=;lTr-F(1J{gxm24xBl$+y<}Ne8R+k{BDhBY`o?nm4hyk!T93S#ke5DVFNy? zEkbi@+2kJm&5yf=L$37mRc#W1*iKBPxtksPu@#yW>(~4{U!3?~_M{)bk$)|~v#WgL zr_OD~Tj;PW9^%KsJacsmUE>4$fRAvMpWWDf)hcxwzg5@d+cIeVvD<>%JKhAA-JYL& z&jS+mZ~FXObI8eo(HVa+IuNNlp}{8BP{ah;SMKSET8*K;!+$i|b6-8?=c$qOab3y= zVvZa>Y>B69SUzHJPjc7p;iYM8z^*fg?~RY((A$S8Ry@PT}sIIgIS~Gv|A@)4Tx#CkY-|w7v9~1TouAsTmNNm!04bBAVJEYFzD0^^gYnDb&v_X z;O%)}!I6z~30T_%c4QXJV;}mE$wmi@Jq?tcbJNIR@KMahwrm*kkylX~8?6F{50;6K z>WLQpT2Lq+VVp0Ur=j)}SZL;d3rg>%g-<7K=}>rF@T@^b`?CKeIZ9L56eJs&P3q`c z{mGxc@{V%kZ;;a`|6tLBemjY@O#uW)J`(bi1uBKBizBh$6r>cU07=p&R){EIjyoU+ zyOM>D*gy`v0ocY?6T3Z)Y!Z6PI>Cz^r3H&;rN)fIxVclji) zgF3d2zxmBMo6}#6J2#-&YxAk^12aAkZ0xe~O`pkW;!=7gHpWgL#{rxKQgf**5J%n^vC|>6bGaOS9zn0b2$dS z6Y1>z6Jul(bJZm{d~O1AP`_fw+MB$4KiR-9{G5c9xZ_*#G4#N7;V`)5Npoew!?At- z7tf+>{LZQEmCeR})AwRh%RY^sr=6Jl&368ZRW&eYE_m|99HuOt18dH!x)DgtV-UmnPmj{w_CpgI0cJ zkmGr>j&6tK>#B1zu=O#tNhI#kAuC&JoylkpayE7j@95h&ObscQ;Gi>5uOM6 zwttG=Gp*}j2ev%mcCEwvMW zIcGPE^Mr35%ei)R5;haN)qi9b`(+xS&Z#I0H|NGga+76!NJ@{XJ);+V{;0*EGg5p- z7HXhH286W@EbS)7UUB)^+Xd&I)V`o$U-(aa`p)gXFFzg|C-?UpL#N|Ge8z`p`@nI| zZ%)9d1&z@ho7+U1+Mf&FC#P`)BknF18IlJJ+j&rjuaAZh( z{+2GA6^4Alsm=8SZ;kJ0R?p-LJn)UT$~HAud+~SuDo+}RPWmd>*mvm&$8S3DNiX&z zCq8I{k#BUtuL~OVuUr$uwMov!?Zp3#F(F(3EgjfgF4Pw}#+TlWJM?ls_L{osnxOsR zhvmuz_AE{GgG8t1S^O>`=dqlI-f;0dK*1^EiXleksVw)Y)?$@1E+KI z1OWQwG&o@!SnCbyE}f$g+#J_;yPj&-n)@tU;j{dSKEJT5wvMrqIJD>_o{ATl{1_*_ z$A%N@3FltGd2O0zWQ|GFWb_F9=jbv z15tBhxNO0O=<66iWnRS=bPX(ijW05&#n`1oOp#x1WLMnAYI+L~nVf|kTQwxYuQdu8 zFhoKiTkRJHbX9X~`T`Pp@EJR4Xin#R)yrPPn?r?(zQ)Avm*sO7tqj?lGd3@>hqJCn z#{PIt?Z6w-^09c9W6kBz!B-wqgx($q>-x-&bJ%O%^qya`kRS*KF^r>N9U1Bvc5$Q1 zAe6~$ssnhUQ(u~yuSLc&T?t#k0zd_P8I>{c5yYMfYOtptETJi7VuT_& z@u`0UvmB7l;+1FUfGjI$+_x49_`(@2|ov zNXM`<8DUGZ5|m!Bt3r;*PiMSs5?a5FBfV#7617d~nn8301=j20b|5BcSFoWih{;x1 zG((>JwPj>#;z*A48Q8FgQ!f!E$Ri)WOyHu?#7Z|D`mOiwH92ChHK8oyDBR=?ErSl; ztGFz<203=(CjS&_?8}=>`7}1#Ha;e9?VX8SA}2WfAqK~9OWwts-79bP8~^kPCi28U z{NXF}Y=wC*V1x90td1OD*_biOWaBRjf;RR!h=ZK7PnzmWXzlVl_)h%fBx2O|>D0Z0lx|}%g{ra!pKNOENItrcuE7gF-CS(bsr~^O z`Lt7a=?s6-Tz;B`kZ@;&0PqEU2sF4sN{4pzo7*YaM;tLZ#!}>i4rzGq$S@JH4^4+A zFY?V+KW9IS<_3Wo^uWn`wA2xF#ox50j>JE3S4=lHgUfGlva4?-=L$~PA@z2HiN z`d42EUab}9vX4hBREliz-@J^1_|tRMKYYk$2eyl6Ij#*NcQ1&t?}D^Ep;-RULd)pK z){Ti!psI;J9@<^_`HbmyN=*yVs@rRF+hdh1Q+DT(0c5>r~ts2#ddGeM|c=lqf zbSHkgSQwlYo9sp(_-s)wRqO z3FO)($h|2N+Td))Ow=29X%sV^*k!L~nK&PJ%n{|ok7_nz6Hn1C*mQpB1t)FyKJa+X zBKHVU`!C)2Py3nC{pwerT|FiaD#mu}U5{+nf8l}3DfY;;7MbyCTqM4+x7EL4r55!D zZ0O4s^2$YiIr^vg%xkN;y!HduMI>{8)^ zaQ11(ZkJzl%J$%+PloU06nT*2K4$R#-zzRTWjii0#Yg?oyy!4FVk`xfPZXn*g}xbD zBA32=_{P7L1E(cMUv|;S(dqE*!AG7ft%>)nQ*WlVPaYOFP&K}{EKhVJ1x*`@yXXq^J8IWjF&wx zo=hx@v8hR7u7Y)ZDqImJPL9nh8O}TV#O<83PTU@R=<$x7e97l4-_(}Ix47Vws4tJS z<1Q!2*!+t8M<0FUcG{`OZRcf?`6bCM^Qotwo-sk3)*j(O40txSW3%JpgY(Zlc{}^8 z6SjvFTNc8I&$qN_z6Awu{2;13z1U1Vog1DPUv%nrT52#KKKW#9k=jH4sa+H28KTNt zJ3-JztMdx7<@Bh$3-*ls=-XMb54qG4exOfzmw$u`?1&#g(YIgu&hhBR{$xzUE-&wB zBMMu#&IDl9jDYR74NhR3lah*)hZ7gBYNN|Z!2TuTzG7-YLa8H1E*fj91ZQT3*9VY#y(`P@6u=w&K%SpEdCQGk&_I; zpwo(Zea(gR$kEo$00wp7#7trioLugFYuCMtzlpQaf9T>-n?-)IuZ=8tSBlzw;#y98WGvq&wS5DtmfpB z)j3^jzd7#shF97?qSL3(A z>2WEs!Hg%%zkC@hnOW`m82*)U#+S;{qdF%W27ml z5hhCVionN@zzvqHMs#u*IxZlVQb)w-F2rrUFpM0XaA%ROvV?Z&moH^z& zGOYxmCSIO%K}(&;Y45nz(6P7$2qB#2ER@VsMGZWL2@am%aU47tv1TYHypb`G{LvZnH!i7~- zj;}{HG+mI}$25&Mv<|gW6-xAANOqtDeQcea4Wr=BB(HdEoPNd9MHzceJ)?VUnIBN{ zsJsai8?t)`4}J8{o_FXncF97F!6a0v(H|cPUW**q+DxOXjv@J|8DCEAU*;I9!Gn5AF1LK zesK;Zw($cQtpQWq(cqK9M-MhaOD-yehXvN}rp`tF*xn%60vCOHvj)7y7z91ZroUa9I3xPpuJg{YHMTQ=u5u1!H!Xy3UT=ijHY`81#E15Q-jK&du zyeqb3l)O*BwT9Rx{bU!b2eyqse36mPW_2dbkuit8kVRI zZc{G!Xp9k{MUQ;QXaW^iY<{u4@|M3^y!$8Zaz|X+$d)Nr;(KbIUpHxlNk48t3}7Rzxm?r!n054SW}|=pV5>qhis2zk@darzj?dimIp#301=?|CJs9O zn4`9DfBkt`XgWEIzK3^Vc{F}5i;)j*zx^L>$RhRV`}V6Z+TQY-bGz6R)77R-L7xBp z*FUyB`oxp<*WlMeV{3IWn|QkV%5(ZTC0}tKi0l}m2{1mq>9z;AKX~8G+ar(XM~C<* z1dmL7Hg+RB8>nT^d6|BEYq1Ckw(<^RadLQmN$9)Ye8KjLOHSR6%EI&uClCPzvfXj- zquUqneQbNhrKfDCo^VucMS^3Fdhzzr&)hpa0;ev1BVU0(=I9q~-}BbXwwGOaa()DA zekpp{89g#wcEQQpFZ|T&4^)$LW2kNWSO5Ogt(of98l%XPh)B&)$0u*q&o{@;-~PID zyJ*`QSeZl17Dn>vk;k6i{^;YgiG+*#SH@tq{HO>L4|q%I|nuDtBD?M+#L zKJ}!dx(MGG3)vs|j?1?H>0ka$7Lml?q1#C(9KQX`yI!@O9NU!bn6~O%chmjbZ~oC| z3fGw3`H^kCI>_-d1bqp3Zf-Dq@3&pDoqzW62l2D?5kn6rR=-t`*rX{ycX_aFufF88 z?MJ`o@`?F0PtWN5*_$6o%zm!+t!2YDm3bexjc06s=yt-fM{GZE%}cXrfAZ8I)JMeb z+5Br+)Vl5NN4DR1@Ab`ZU!j(cvp^a_!q^QQd-YkZIwiKc>WZ_n;C*WCmgWO}zT*uS zZ2#gnKE^2Fk#RNf#=y=sTEFJCL&ng5_zzxJ7;$dGYmV^Se}2Pu_kE9b?&Aiu9M;}( zovq0cUClR~nyc7m93MIOUqU^bUow_EZjymLCO>Mn^dI{lvfXq4W0f6^HSc@%%g@-p z>n)dVFG-HDJGa`{<%TcZxBbaqe6IA^US0o2YMEnSmtPDzrUlU$n(A0R$tYJ&Jn1Fd z+un3>7RXL)&a%@O5Et7aS#W%M`_M;k+dg~am)fE{6)tCNN=M@(KG07->FCM|n9MeH z{?W&BlPbp@o7ghP2aDi2IW94BiHBFd;+)VuXFD-95Px*@H!?+D^s?P?=Y!h^K74a;kZJNQ6SjWI zOODvC`L@fp^UpiEH>V1mKW}@>OScbv==0mBufJy=qzLf3aky;bUG!}7UElfg?edqO zHN1x1_SQFF+WFfDK6ul1%PsfUhZPC9gK_he-K<$nlq|X{681pBV!l(qI1NpujElGL1H@J2nh>grTBX3 zWoK>|Uvm0(Y8Ils&Y;26ic5MvnBSUh-!uhLTb>4PHZVQZ#;JVorIJ^5rfAL{l4OBTFc zFSFTDow}_`w;!YS4J;a!H8eU!*!yNaIXuWs)?qk|53bRbX>u83=^q*Dui$vq(~QrU zimB8@w#o4~@>HOC9HO;Jq=hF(jc;bM2Ra0SZRp0%1SON}C3B~l(+w{#2Rk%BM#QB7 zEdQX@cI;doan1FH>xe`A05Q5js2b^8=j9hZy)H>S&kstCoaRbom}|$#%m0zH{tpf3 zbf39Y{GIuvn5sS4DEz>9_+fH>=EVJ)xVFGF#$peC46DMayK@|mCf4Q^BlGkfd5$);i*^IUZ(Y0%NMjuTT^2c+*XveCB(#eowa~Yh z1KPRG;ECJ7?<4z)U1dE2TjI*agN2Zy1X{_CKrDij{|mavxPFXebEu2m;Kn1{rQ;;eE@;{ z*?K*Z{d@y$*rQch16y&zk1Y6Ft9T}_?K8Hqsi*nv`3HZtfNQ*2v0~qwD}fVph~mD! zeaGi;=wDcTqPJ9WZcA6kG`yUQ{!_cY`Ao){@OIsy#`q?-Z^bNom2Nmj^!0`Yr9#a3kr$44_e6~*m43;^cnsR43Y&RS#$sXG)312U z1^QfIGGzXTRw%Iux*<-6m8^`^jwmV7O-g1mEt#TV&|Dapv~{tia!xx#g74D{p?he8 zJ(O#B&cu6U+Ifap#)}S`WY9lFAXqtJ%rW!?VACP(0w&(B+=6Qo54L8uiQEcD`g$JP z1_L|{(3LN+$gDzHA8GD4o1b>q`@9!NJW;^fZ$vF8(n4rSsCMEKM;lI#7FRY zY*MFQjLl7al?ZT1_lL$Js|#B>N&fVbqVZ9=f-sXLF*tF~*61qIaJ~`Ve9MbIQ*Xpz zCUqeRmi{2bstubvCuZuie4U$;QHsu1@_`A zvS{NwvBy|_ia-4}Hef3@lK<=G2^@7eU8Qk&0Qe0}brZV!+Xas1`NU+FXFIsM04ly@ z4d3Qe5{e(tbmL>ys184AHAyBXici`wP|lMJV|xn#G?t( zzyFonfBV1vWqhvnx$Qf%AnR#bi;+9}_@Uj?LPqZ-_Qd4R{@|;&Q}a|@d8L~yLrJ{E z4)LvX^;T>dkNK6~_{FOS-ul{ehX)BF-y#5yOt@-)S)L00Z?aJOFaOod^`K}V}}RQHul&B#>eqRSxEHcWr-9B+_rt`!LPQ~ zEuWff{M>t9QM(`T1|OPyJMs?!HuHosxokVj9v^?qi!*L~y=`h8c}?smRtNUGufA}5 z+w0D2T$V-&;4?ChktUB%$%5Cf$5*frdTb+>w|L@PD z<+-s-Yrk$XEEt}wXrd&G|iXL6*y`4eXKueu+bvM)RL zN6peVQU{^ibKC8AK1_*@x$@r#o4|2Grk-C2Xgdu z>TD${4UOaDoQABw>YwY1;rZ6waC=P_4e?*L8`Z`};BEL^c>XE<{Qe&$?!NSBE`*-j z-uaHype$I@rDJBHhql8vzTu+n`p;z%mtSK8L$~*UR`&?8a)wfaK$Ep5Q<4l@_WDU$}U(}=kOT~@t+ud z-5W0M0>EcK^Tmq8#;s%YW4LVn0nq3tE*b}EwjbY!pShk>TaBd_8V>vyOBm}sP(bDx zcg^`M;>?GF?f041aTC+vwB7UTCv_f50bZTR*Ubh_KMkF0Fs5 zJo4FMkj;G2+?f5%Q|&XMiB6-RoKTBf&qJ?uFCgH|fs7?idY(U>p9T&N{$rEyK{uOb zc1_ptTK2)OFf+zNuB{Vg#%FcYf&zN#k85Op5*w|nv7vQ>XP?=1iGGcT^rMqMm9@SI zE$0?o^nsgNrxu3?6Gs-h5s9B2MBT)4t}B8EUmJb-t`~U0>kX-N9d`KmkWQ}O`r5zn z?bwD~KIY|(!|-93(y)v1$~z3BPHn|zhlZDgV}rxoK<3x*stXD=Hghd67wH-S8LGa* z6J7B&*G{Q*S+Ft>l*?2y47uy zBglQ@yS#I=H);navH}d<;;S1W&JNEB?$EKxNyluo#-+4`Pw+yhH(#7YUXZ_w4pV6 z4J>!Ci)%FPPA%i+P+A7Bd~?+&IRe(wybod1=z|`6%-pDCs(bS&r>iE5FLrUxMi{le3y$z? zZHgT{+=36fXt>s!IFFxWn;=mla*6w#=VR<36Q8q9gPGtB$`I!WjstJ7pkxCg0i44Y zZ$@bn@LJJOqP}s46ZGj3RG3V(;6ZHgV&T;5O1?}LlgAFd@OBh8%(xK0;vC4sL zYvHU#Ab1ntlQ`s+1&*o9xckX5u3)A z;ZZ+^fS5wa6Oi!u(}%4(!Oq@flr72Ch3XLHlaQ%x#19&h$KcR-qd+!;PUDsRG(gHH zUeh)@1uVzqkwZ9ibdIJREPQ%mqV}_2z{;C2;sY#g8Uxu2J9cv+ zppP8%>jrn{KZ`=sH@&G#ffM)G^;-(T7p|SW4TaFk0Xef1WAYaH#iOED7jh+z^XXIQ zk(b^!a*6WRgB+7xAODYS)RdVBlHVXN2GC<4gQ+;MIi_=CnY}{~9nik|D|*P;{0*Q8 zQwRLe7a;Y5RBq78`y(?MZVoq()Tz1a3YfpC(E5-)xQ-*0J@g_+pTG#*JdGT`?D-g% z#3!lc0m6?)?%*C;*xcj@E$-!avN`qv&j}W8&FPMGQ!eN8Gz}V~gUM!NH;jJtd#~7j z_J^*_)1tG08+Mf&UmKk&!-|W@GKaBMdioSZ+B}JQY`(^BTk!147K_%ccYY-cCNJ84 z;U`|7rwa4bSOC~azkG3SQ(GU)Q?t(NLqOToKnq0w-9LQG_O?8^wsK=f!>aHF_J`~T zav!q&{Cl#f^O7SEVo3<}>(qgpx-_v>l(c=KzhUrC ze&Ti8HE%e-algc6qx>&i4|E`wkDb0ZzVfU*x%t{0J1bAERgWVGRBd^5(V^L!+~)zDcanQ_YNAWro} zWRUw0k63#3u)^io_1Z5R@x!BJ&*-?a{)C`e=p8+#7|ef`n)dS=Cr-VUy5ps zW$(+67h0ZWTXC;W(3Mp?H>gk3mzsUz3CCR5ES-x+X7feY z5n>Y4#&u$3*(a@)L0zLSIWD^B^n(T563-uYf1xee^xk_PNn8F!e{;T$@v;9^S;Xz! zdq)<7w)!D5P{9+#cxk&dasQ(~{^l;=7I6Pl_#D?&JB`=A?!w@k@67z7V;%+pt{lmO zZfRQnYrK#?cK0jc4$TkE&0OpBx+zG@@0~j?VPh)@VC9xRF)SWw(u?QlY)`J{pgJ0% z*_3?rNg?MCn^Os% z552Lgn)x$x@`)2M*+q-e6Eia(mIu{4?dTx@7Ok=I9$#`Hakrib?X^sB#2~p`@2~+F z_UQs{&iNEw^KakE7#ZZrj7x+yXS7EX9XBc>Md#8ZpIR~3ADv%@9+|6ecz2#0yLC+= z=X32Yx~H!6`mOada==YoHx~(3dqoCH=nGx8sT|pp%lOc*#mDF44|DN?_u4@0b>5!? z{e5CDbmsbYkCA{M@C+QQkk?}6vV5P|4Zr;Fr@{q~4Ln>V7dv(u+w))C)E+tRb#n1W zmuizg;#42rD`(bR159gNWadPCf<1GP9E-X9@7^^@<0*`-!RT|n-D_^KZ$d3+N$pHw)IC{?wmccW2RnOSf)-Vao)Dw1z?4coMUpSu} zd*U%8XpI|^_;o!Z(yZ&psY`WBgpADb&%`F5SR~%(DB-Uz!56pq%0oV`?_0yoCyh(& zIex3$d))zNQ+v>mqhw?+I+ea_Fm{Tb?B7}~XV{|u;-}JwmX;jT*EYG4_MGBx4;6hn zi94}5u{dpx$*iw6CUQWrq1*Xx@`0bo&mU+NDE;OY<|<@HgP-M)SmHMDsT?(-W+7KK5yhxHt^G(g}l(_0FTm zqB(YopMX}eG8o1?dX(nmAZ0;~Om%ITC`Js4Aw_$^oPNSLFv3*uuR#&6I~{#uEc_T3 zTnE9N^P=-6PEG}=J_IcybYM%HprG_xur%QopzcQ5+{swR>6d~c14F>WLve?1Qm*D& zFl(SIq2X73N-7rcpIo8QAPEn5EjUqa7ZI!5L z`lRoW1WtAnSkad}cP1MRfaL6PYe!O3@ICbSfM zM)Asj&aJOq{bd6~hDm%$7drvV2Q4~)!Ml^X^yqJL*XDwMYyie)AnSk~SdW(@28VpM zwJ17+&yxN5_L9jTPYm}0FnAqEQXtWqA~HTjbHz~on|`vc^84$gvfQ)Cvhp$1(6UD)XZvC?3H4nl=+}R{=WoLhJZ-yA8 z+CMOC-ifq*`h8`hdZn+gU4*U1YAWFwB3pwD@T9bI741GyeSEnh?I==HAETc5^y1eLYvqu0LFGipdzW{>7Ue zYS-x52@3hyt-20xer??hgY|T-eDWlRyb%RF7*ADp=c_gni(sw8v5Dh#Gl#6y^F#?8 z6g-76@iYpN&r=cNujw86UC@ftE)ehf^pTC!p+4cBg}pA8hc+Aoq&=lbp66o2BO}|>zK)U(nslrQrmy(_!p~eiU*p6xc>3AR*S_EX zceiiX-Ei-APQDuYGe3M~L0)VmhH1Q-&dQRmc_lF zkIWW}g4hCOC{b4wPZ zul?MYwlCcAaGorFwoj3M|23CpVfMs+n$PSVcVEd1CUXIOf)BE0+cpSldP>W z?<{*kI3R_q!a0B7!6*9O$u)t3(EXcahjv~!(Q%8t6BBZgt=zz~xzU%zZ%)bMC!fkUYrxhw1^E^R^=oW# zW}X=S(wCp8-1C*nvAx($cX{w({T^QMDkz(!K-?HxwNB@p{2l8f(hp{_?+sb(wvmDD z*yrXf2>`By)ZxtDsU!}vJg((vjJ zaa6-#3aUJ*7Q}&Jx zy5JJ7Y*gma%~yGabspXceCki0Dx`bugKyf{?7Y0o6b_j~x|{Lp@w^w<_H#e>hW(Wq zRZ|}V3<=dEuEl74M(UclwCPHZJF?i>hX4Z6d6B20dXW)~ z0P(B(acbiE-S2wML0;Eb@y%0DJ+r<4!(Z5L$=Cf+Jmr*Qw|D>j)Ij5BTIdFrypMzY~Szuu6JEkJw}P)@5c9;E27`|4cky4Qt~lav1Gx(0&2=EL+I|Yg=)xjKm!&V zt~pbnYbSKr%e9Q-q0T3HaD{xqtxW^eT8Tc{%WCphP1b-m8sa8b?x7hOYVY989R^_1O8#N9tV$J z&0~WMn0&~95c-v)hPZ3+t)S5p6F`lBc52fs19jcb}O@;4`mKL)HQGH zLAA(DcXa7(b3GJ@<}zLCo4`p|;oWOx3c#%trJC9#?jt+>LVxrO1X$yH+6x~z{x>(4 z-xhnZUUR^%X9R`~$R~&UPHFf%kJ1jVT69RpYdmVRQ6MsojYGA*&}Wmk`g{%zU3`=7 zZFjQlVQ(ABW~^K52D;da?OA{>-{cQ%@}%~R=fy$f8vo*yEx2m`TzAW;;VGv0tJmFW z;~TseO>xwm$&AUHi|zi3rvoD&|wo@ zGZ!RFMwG}Q#-d13@B-9%BfOxuHica6BoWJFuLtROQ$xIzZTNWgUHwf4A1G-*>~(Mc zkzZP0L#{J|G{PsjKo0Nbmja0hrEQL@SYXz~VLcszx!^&dCX&*an_LQocFqqF&C)M7JsA;TIf*iu^4!*|Ux0rf&l>@Wh~V zWpWk-db)VlClTyRJni+xUZ~kbp_?K;^x<|u3xc@9hYkun|D)f+k$pgOIx&b3_`-x; zV{(_h^dp764=*ySJ2CV{hhFHWDd)pGAie8rAnRa=S9vBTB8vgXR{Eh+xk5YW6PF0! zg;}<+s6EBK12X#Xb53(Seqy7MEA1%g%*GB5MKT?-_Pe3P3Hr4=)jvviq6q4ymo!q($+hl z`q?A4BIAlZ{V{FN(Ufm^QwQ8yoG0tk1|&8K+)la|8EiF$J9o^2GcpBc!3N$UB)XkQ zUvsd@)-9ha}FGN0c?H${1z4tTQ z{aN_Ze|6&#{(5J&kK6Q5%M{nOgb<=&@tMXa}W8Y4?blLo* zeC6Ci?CS6e8FJakA5z`^>La&r_vFXGDqGsv%~O~EL?-%n9+B5PaS8}XqJFiEx zu;!HvfBWgXw|nn@y!G2c%VS^r`u52i@5|Gs7X^Hj;BWFhkcG@o+;CsxPLG?s>NOod zc&Rg{UuYTr@y*Y{h+U~gL(e0oAn~!dH^}VE1>)7>%ECl+&y0i1t>PTLaHSxJw z!2j?k@7!~gJ_xE)hxWmd|Ig zU0s&@DGQzKaSnTtLe5-u`I-9--SnrAaQDY|AN|Zd)gRBw7EL@QdrjW^ysKK})RJHO z!%uI2@prf721j0T5fbJ^;_?$&@b{$p&?w7_>GcY?<%jFMV_ID6U%C7@*WDdjxsh_? z19|HCv@Y^jt{q(+`MtlmsW&$|Z&4FMgN-W?0qC0j_k7#M2R9!v*5$|SKK#kM8#~RZ zovsFpp|N~%?3*KX+SH=3Ds<}$zNyv9j`}07zVpo&_1(z$)JWNVB|kLxi5u?O{{Gu9 z&kx6mm8p$?ns+e&?w@{kyY~9KH}U3&+rqLRI~zK_Qh4hZA4Tae9s zV<<(Y*w8WiJRM$dc>P6DHV-eD`=4^kab3XeJT)}*)B8)&;}7zh zgfHi*W+>vB9$(8li!Z!@Ux)vqhyUkp+}|~hPGsr=n_Sw7n%k*!GrthaQ!m*FV>$QW zL&?!k-m!i9Gk0zGeCaEF#RPfj4~|VAN*>>ov8@Y`#lvqFx<2)(JGW2d27&k9UV7;n zbFG0uHewia^`CfRUO|&5q0yz^<9P+gpC$G`@ctXNd-F8&WiLB(5Q;f}z}}bFUp)Hg z*BXanQd|(fdk3~Q$v<%sGI0;xqhV^^%sa|A^!Na-1(i>4$ayzbVkzsZ_fE>YM!~?w2LP-gdUoT8=Vhz{kCW| zK4I*E8bQfytH${6u!}}(Z~Dt+r;FEuYx~~c>*ySdo6?J%HuI-0!m?q``+5V6cjPX% z>ccy>s$FWQ)O9psoLTf5+f7^O#MZ{Pj&JPJVjBH+I>xM72#Y-ERi0TOA{Xh@Eqy_+ z|Fx56=DhiBg!B=*{ekV%iU;-_OCp4ZfAw>Kor?+aqTQkoeaXNcbSy^kb{l1mgD+k- zyF~|{WB$-Hu@TW?Yi;)I=NO*r%#MjUc4L4~$df;f>m1~WUVD5wNlR(%{27ESPWzz? z`4j(m>2v*}&4Sg6L3oa_6W8on_~4XF+9wA`27dDa!yilTiL-e)VBlke;JTJEUWm6Y z;8ym~O52hXA2Fwm^lql0fp+B%4faH<@w4+D386&(^p6s;VeC4znobA$jGiL^_0Tex z=$t9%aCi(~KDXIbpPz7$?QtctJ0jYfo|k+Z7*+~;i zLLBojxRkQzv+^NSc+sP^jeeo$yzv@2tHbK2bL<}?V~f}uKEKho^(jVXJNWEc{qeTh z2OiDr8t3a8Ks~FSV@G{tv<7HwYJxa}pV|TjvbBEFmFcgE=J&CP+G66j%fRH#&rO_|^x7AZHR4 z%@~MWl`-_wG>cX282s8d$81u^$0lF`+GJZa3zwkqM4Lo$PPy89=S|3<^`k%;d~G?D zH^EVCW}+jQ(O!iGEeXS3rO&w`$R;-Y+;uUy;vk_d23OF)1PyeHzLV0~{o$ByO^|fb zH8;`5b|K$K=hNON2hyj=U_1U9T1`btv>-&D$jA0P^ZdXnai+MN0D5YOtb{4OoUw(^ zB=i&r(zD0f#1I62qw^7=HKkzUg8VU6w-&8heA$4WV z7GG|rWMIrc|4Tjx^`F=?G2P{Dtj7(&;JL%@pN+kj|D2D#rXQ^pmvC+3HO-~(e0(fU zOT9OEED%miDxhPh`LUXzvf`3>W2aqD-D%YB;+kC>)2S`wCbDz1D@Qb%MGU&l;6mP@ z6}Ym8f6&W^kK~4nXp?voiw=4rER;u(M^MzNH%vZ78Y1Kwfi?Q>y;m91_ z4D2?sSi9`<(4~WZWM)@6W9vjK65w@EJA+FC5csNj?j|mIylc=+rQTT5nmjCg{`jh$ zT42zs{qYY!b{S0r9-qhsIP9-ePWiZ{RP`f+cmDoj7I2TsyFOX0Gy)Fg-~PdM+h709 zt(8&7)Q4~8M{yqBe&hE)75LfY&inrMwuz0)-p-_CNme2m51Ip3ozQP0oHiizsbK8+)VokMjhsxIHjfVDHI7>c9ToPjx~e_xNLS zXWKrVAIjp-<>wkE^!%zk7?$frPWa9F`1j}EbLDns-q{PU%@+eJBg zs*n%f=bqtxim`w3a=336!1;(R;n5TKS&VmM_0a8#{1BS9kqT5vu1Wv^KmbWZK~&<5 zW4HL4e`IxYL9Kx-cI1scHAY7`Y3JKK>3q}?zJ@=2dLGIG+ONfbMDye&nsbxO*QO5H z{wPl#8jshuYrdVFMfVHx>+0q{mXt zefsnBLr2TR7PI-lm{HylUj22>|CB+}VlE}hi>+fBxzGYt-0y}goVQ|M! z;z^4f{qk47c7V6~Z^~1+^3686@Z5HJZVXtM);!b(?brU`(|OX|YZ(#~{^UP-%~PIy z`q?bl-?ht76$UAPf9UO(l@Lifo~4b>L9d@5$wH5X`H_F@0NIo9-Y-3JjeINg?9E$y zp^=#Ip6ZE{$p^gd&wHBD1fy=O3l5X>RiD~MlJv(^jajuDo?0iK*Es1$5gsa#AMIiQ zW&mvG2h=Xfds$!g@-y{RzJLC!f77S^;XRS3Y=8ZCKbapNd@9i2x}kGQZsH&$N;^#n zPRiLqEPUIWF3MBSUJroVzUBD;%{y*y%U9Wr6XMCcjXPGQ@6P7tz>>iRTaB3c%dSI| zsBYx&4(0(ZtYiLqA~noHlUOobm}7}g_U(Kx27D+rq^};r=LKTIx8SNC;lrl2E19Zi zd>PtZz~zYk&!22wJQYk9A2H?Q$IBd(~ps1sPHIKE86T;wd{m^ptn6TXwn&?y=l(I_ikSw;%eU`Efzr zH-G+1+wc7LNAg}@<3ny3J@DvuzbBVpu&tOp{D@d0_7YnMd79%iHV^yINQkhbaRp!b zY0I!`1^9%M9;72<0rE4Cw(5Il;X}3+@fE=55JPa{1cW%(0d5RjvHMY?Y|K$sF zooVBIh**K7{F`d-yD?R#&?Yo;MpA8)KGGC4w)mT za(iSqkIO7Sjr_qEtrgi1EjePnBypuLGKv*E;gDnaI9_v0{NPXQwT6c_J8HwHYcSe& zzJt5-4;;za2499y57Zm6-S|!)-e~6keA4F{kUYJ<49xf}=fQ^;?Do@1PU4}jHVB<% zM>?i!`qPdM{k1Xc?~gvvP5sg%tHW-|-Hd<5&pFiEDZXgjM7~u|xzly(#0=~ei?_j|2b>CUQoq~$;IER4Grq8|sSHn-gLc++)UvN5UkDNTf zkR0*#ynVb5&#^8>vA_d)5<=k>B%BhO-KQ@+Z9-PzCxhTbld;*Si{2C}AjlMv$h9UC z%V7T=A=8(#BTK!6*#rEj8#T#GzQI>DwPJF^;WBf6x@6#quv@dzZGdc2qr!|Y+?8tvM zeLi$W$FZ$`%U+vpd>@42;DFGLe5a1F2s&H#o$eY5yjhrBi&+rB8A2 zQTlqJkUUyjZ5UE6Sc4uOqYGc+h|QRSZ4-+r;63NFoRgvp!I2X!zMtAQlZT1ju`OLX zphUOBBQGD#6GQq*6n&!$ISm?K`(Uze(N_Fm$Y)Qbb~{f<#HWcDfgRc=Z|cd!Mb60> z9PQOO$5c0flbwwzz?X7{|M|d#N81{Z*fmt+i`+O8TaeRM+)(O;2j2PULo0+TOGlr; zhIBs`n(ABX?l|*{x>HZQH`mz59`F8pSMBJq_&|&kjj~{Pxb7yRUZqTd0ri{O9v=bwYt_~i$N_|fls#evVS9< z`zPlI$!rA=e2;SSz{6i{E}(OGd?GK%D>mQxmW#KG^9ljr@Rl#U7U2K*&1+jj#84;r zaYsWwfMRPcP!}0)HoD)E1#nS63y|6-Urg*UQNz98b@{TQrUUNh^R%G2uZ(fvEb!0R zflhgZp+o22_qI#7ld=HSEwr^8dw%7&t_{U%)W61PG7GoHX*8YZTas@BhD%c`S7o^s zM`=sVkz1_HtY41G$~{t3bMFP>UZJ8=si9I@T3K#!;}-Yc3%9sH!~ux#`sMu#o-g-v z9QSeE*L9wU^RQawpoNnk>t@5w41>FCKata9eZ-|kV$%cl(0@tvFZR3w>&`0qbzlt0Y?+rB$ZyHRJGN`@B0 zP37*6lh-5&HT8xPD%UTb0RicUZ1gl6yYQ2?$EJj3J+9&TQVB4d-+-?9(WEcmt80d*vApqjNNMVihAP7gkm{(HJhtZSKm$-T^usoXz;*wtbLR zuVIPcZrE;E6R#WpmQfa9RYJ#&{&h$~|^n-H}6P)5#{&d-iLKE)Lv+a3hB z#y6yDsB2$0d8GT)Q$QD1tT{xLlw0nfegV)DsvF|IC+OpC@UnA~c)tPMJF)G7o|1-) zu(Bd5=W+^u4V{76uIIV&Ij-Ti7d{a06C!8Gy%7@zvr*#|o6zoTo!uXl7zhS<~XJye}tp_Z1P$axGp+*}!xN~xFawAjz8HIOr zMhIF{p3|olLBVsAb8NNWlz7$0pQH%*wnxg}Dl2_wyE3!OuaWD~Ttu2a!%tG@n?1RM z0t@vfJ_RjH`MGSp0$f;}z$=peQ0+{M!|Xkk1#Qw`4Q&wj&Ffxt63fZxS>Gv-XY&u< za)UzGzB{U+7zQ^I=C>pZuJ;MmeTcO^7FH)_F5y z>o}E74mD8RG&g_DIhI~mJVNmWVL zZQh(VOMiEn?zhRizv-!OCOPWPS1Ue&dywNd`dxJpa!o%#OE;C}P`(w9;zhsJTq`3hVG6sI`!fo@+N?QQ0%JPU=?iS&7@LZ=^ znSZL>Zo@N-*KzDm)gSB#6_ifFq150nW$)MYy7M0hRK0Wg?9@;%E?Tl7w!2CwIp(K3rt#?qGFbvk2z0j1v^97_vs3kn*%;l8JnP_P6!=+AL=z^4=GMKqRNOO153^U=K__0U~dG4J){Fdgq zZ+7vp70EbX0(ZnZw`#pWaTfwo;g&cN8vRdR*YwxZ^IXzG%eQ;?-|_7iS~%OiWcwM> z8^gIHWv9-<5h_Ug{-!|BQ1e_WQz$*+z-9^#8UQJI$;42M3;li(}xru1D^g=h&A-D^# z_9cT?SuGfGX!c(s8f2*s%lkg1BJ~{`z^PwzQD@@r9{4XzzTg;@{eD`lG(Q9VYn8&4 z7@hrWtMio>&fwtEXq8msowcFwCTdIUvPu^Q+n4qwA9NgyUa)!kpRQRJXWI&&`&5=y z=wMV2pJ4|~r%vU?ndnFnHR`CDxjGJmn&!N!WGBacr7E5+-CpVO9_YlTJ9(iZr zwt;4iIpeo%qsh=N!tVzowu=bIo=*gK?wCL6aegv3C!K z`GjqyxU+E~?p9iNo@V@SpQW-Wk$e1JO|~U{jxtZ31!NN2&hI!2xWkXOe2dUdD`>*j z#N0agXeSFeXJP||T@?qA6Rst}k=Hf7FLcT0xUq%ZJ3J5|?^f`4Cokz7Pr)0T?;(N( z@wa{UQBNTTe>;;7?QXC529jvIL;F2k%K$F5ffdBrtU-;~0@S$EbB&|tmZ1~2xvj~Y;{3##*+1EI=j}>i5zxS|5b=QZ z^z#IPiIq<_C>gKWf(8+bN)i;7IzLE#H~5v5dt5 z{1zRsSxEGG0GtusDV)GEI`4Go)%D@A`)wud@UisW_5<3dLAw>XgPaMW{loQ1Q1Hp1 zp~}q_spEqm7}nox+}nD-Yvrj+Yic0<0V9 z)Z2~rm9_!DjQ*+@z=DDd2sP36t;#-yDp*`YvCEw7C8*r;$QsKAX!WS$*Y?&NKI}km z{+_zx$a$du(M-eI(w0ogpiV>g=W_0*!49^16X2wjin!a(X*5E5UG@Rve6C);)T4Aj ziu-V7Z<6yuQh`eGH*yV<@T_@vMRAx6sSFIF0~kv%JUyK{shiySk6pkj;DM|EZNLrs z3X3#jPy!lr(I`LU=;rrg)eQ&vckhnxQgeK1gIDYPFzsND`P9KXYE*UVc0k2tC+%ZJ zPn&v!oDt1T267%#&#v<1BP;TE53WZ1Pb^dbRgDs&{`QBT{S)L2gcn`57DeX)E{s4{ zxnERUEDSt|kkOVAi?9Hm6L(VFn46gggMK~@HS#p__x-NBem>jrP!sz&1Lh*FXwiM+ z;M&C4#I{$vymiog-C4n23(vhJ|B`-sc7yAopeutS*FeAS#?!z)|W3FZKZs(B3ZB%9l*$aYu zA?!YTSFc#DxV@dt<{*uT&~LW(o165}?2a7Gk0lw22;GSadZ|sTt|2K}KCH!9tniFD z_s;Jure!BXyml5r1WKqNr7A?Xb>bsvrb`B>@P(D&i{MmoWT`!ne`H@a$)r2L?iuupl48&r@gR1 zyCH)BISSOCmhdVT`%W^*@B6m|#mr#6=e3e#vv!V2U3MAS0pgj&gKV|ME=lzyy}bl0 z?~f#M6}vyJ^FuHA8*%Hqb&rIU2In^J(YkcV&*{wrSl=!f^XeXhmGCq(L;%{1~OXXqn(mn2v`q?V`Lj$NR<#wrA zYlIDPY_P5fo1gR-!uA&rOV4b}mrBc7-E91751?HWs@)xLtntMN3H{;Zqjhuz3D%8w zaP_>b9KJtV%4Y7S6rz$n*^w2=fh)Y_7pudnwMi>|FMl;`DeIX`?ZZPhn`3sYNdk}E zL1aC&4`=jQh|Q-}p21|__?YvWr)sKI-TjCp?QFQmL`c{BBqKN0{R~}J(g4Di zF8y)mS^ra}HN~^3xMi7vOhF?3X8wM!?C4$iam30huP>>%`hFPjzLWNpN{gx7$Ouqpk8^ok47ML}e*DqNBbi4?pvm8V!f*tXxp4h1yiBR9higdrZL9 zo^qG-xc{ICT~+7X-}^f4Ev%^gE?KciOuKEp9kkiD`8Htm2@w3nv&**#w%F3mJ(Q8X z;!1{VtI5`|DXHEkd{EcFJkb?8#!WW|w!_1I!=slQCS(KtIwoizZ1>*jge-wVTC1m$ z@4rQEP6Tyyl;<=VZF|q{=B?AN0yTg~YVQM`j{`!GiA6D_ZPp{p#-v%t@a$WRegI zU%%cwh+#Pv4v8A8>iVzAH>jJxleeU~S3VjCh!T}1%S-4|cJ1u}{g<9{#PQB&b$<}9 zcqDZ;&)7*c-f@T8g?gs@-}h^EU8evnX@6L3Lvi#BZSJCS_NH@{*vfgyb|-bY}{{%W`BzetBCvIoG8jfelH#J@8;hZ*sSEkD+o?5#fs$ee!AuL zY+GQn>k>pt%*U+1F7EKY-gvxr>D+nke!j)Lf~3bzOE)(R zf5^late4*52e)JP4MqJN;p#m0rQXv_T8*MfwR*5Oiz*v2a11eIdts zXXs;lzs!r|!~LJnAJADJAkAuk>TbCSM(gWQSobpq_>&Ct3S!0X6Xev5oSevO+zuK! z8VU}PgFj`%LIFS6mOTAhsvR_oi~_WdDmhqoH}#$=Z-M>@k8Pz~o9kJ!QV zxz5Nb*{fHA(1oGEKhJA?mYa+%M7EbN+(y03o1ARhqyw$d9$=-1S%yR2FPj#gg&fT$ z4}@O^C`)_XgM{g*Cp_PAdWUyjk%HDrTW=_V^Em2(`PLToh66H>auHd!TcW~Y+2-El zVQhHCGxzT0OmV`{Y>Y^TvbUBH8_y`t#YtId3W|JIC*7xkdV$lWNDVoCdlg0A+I5)m zJT$n#CspV~d~)2W^J&w7bNiVr%GXdLq;!2riCT9-_gwL+_|sjtTR*^eGeCg%rZWr2 zPTSP`bSX{kbW>{Uf`E^>>4zH9a_X2s>j+|Y9d>(bqXP)Pt(s{E0NWgIrq7;yZro>m zYl@92Tnv@rB^|e0gdR~aVT3t0;MM#&UYhptPi=fcv*+kIr~u)R8|)()c24>nF{}^m z7;3lt=qSq7=X0W0`?BJeD4-L@R~epoPsA+%jYkW9PFnwM+uo?D#b?-D9#-PB2w=#pt6Dnu0{+owz6KcO*;?v*c{ZdZn_?)>(y2d`*3wSZg+g84IAwn5?{H&}8yBq&vC z{E+71!FYx5{*U=-`vMGrZ}I#DAWPWl-2xE@WG! zz|1`P#a<*qu|Xt&_A5}Ts-aQnNzPX^?~d6mlUGOi%fFvF1JEVOT1lUIzIs#&)Xh`B zm>f;R__nh$7sxb6g8fe{CE`X6)A9#k7=us`QY+~=Q42WMCoFYscVY}FM58mOeHZ0-#QW+T>*Cp*ZE z4Z@5vV*GnPZ5{yL133tErr`0`q=g>*JgF7dE6Z0Td*$SrQDi?VdwWcKXEiNwz`E9| z;&A@x(#Ca@m(^~6V&l{G%6iOb;qTp!@pEh-?YkJ@6j@4kw7HQoVzhNOjbopjr%h`k z8|A<3Eb4M`3wf{o_pnua-^=nD#4e=zq*N@#eWIS$jqFiz(Dcr*lo!Kv^s0S76#*h+ z?t5XY06gG)ft=0!_rXFULEGOPdxUBNrq0#GnSbNGybcgFC)9zS6S{sPCS+)Pa*XsS z9__u}^{E67x#{C?i?if7o&4g^e*kOOMsu^7!{*lk0s6A2J@tgKDIE!tr;?4^eERH& z#&y(tfWnY#WuEc`Ye&uE*wkWkLo@W*O^3aA&y^qWCH1{;_YCcC77iBN5}J{#X;6RB z*SxiN%BchD4lI3PW9n@jOnGkG)%&B4H32r;hO9?m0_r(UL(XDVC(c?Ka;ieE0{|ZL zSJKo&a87)WspUs`xqxD){*i+l;|U0%yN)J(_rsPggtCvi@K3gmLt5Toi{MPpdN)*^ z4?7F)|5Q9NJo(;=8(T~`qR8KL2UV>&XVtdGx}kuF3A@26A3*8@__*~qMtT}K(ncgF za1}7saMwsP>tt<|h(2O=J^SqfmraPO9=stCTo{F+pAEnAJSDd>*n_yytN8^Ft#m70 z?uX4@<&3gFAxQECo)mqD0igzN>lytPlh-Y(p><-?CVSZkKPTYhwXL&%Yw=TF2hG7D z`j{af$-ToBzne?-2}rYZFOdRY&EB7gP)jjWh_&yGZFUtfuhtK1wq%3T`1HM z-EWmdHC5s>9rRu`q1Pw|I6xMY$2d;N`hjzGr+3>EQ8~g~{WHK_v;sVcxh;bsTUz>ky(jBZ@Z^!KS>y&IUj7U-j|Vd| z8B=5Azg;v#!E_pAr;ksAD5rI`z!-g(AQjmUEba~$mbbC$|`4sjAc z`n1&rE;X?mUhsA=P<2Rm%RArfbY!*7_E`E^W&2)#7lcrZ5X z_8t80xR?Jwu|Z*LBr*BQOtkXMpr|%fcP28bijJE?UU<-OARZ?dLbVmJ0iP1TXa-p0bV<2+Y8B9~IE!VkLzP3N8O?yro zdT2N~Ggxnzd{>#de~(H3%tz$e&;Ube@U4i$AV(zKNSXZ>?U8lBBa8Wm#JDU}yNk3_ z*!ENG;uDSEQ1K!-1S%C#lZ!uQ|7qiy|+kX)1F?Npku2v7!3-L)MvOdYEI0uFhiZ#ui|&$itM_mTx%^1npNq868X(oZ(BwsSfT)Y*Mncod~FXv%72P3r}%1l;aq z8EHdLPf11!8+MeZy&p?C+SO8s1|MlKHcF>H6kFoFXIAIs{lEk8KetJh-*&QV+g4iP zo*K^ze7`%M{T%A*t^sZ;EZ1hRhgGPGk)(RSLFJeZIWUtW+ahHe^6uoP9DWPa3^Ugt zQk!$e=g6#(EJH}bQB}jn=Rn2?gPh|4yQP+UKf@3^0}G-wD>7fx=rpR?xpuKQY*+Ic zJG}$nFR@JsTNvro7x(K_o>SzSZT~PQ7hGCw2FJVYGid45uYS93A!BFcZ;J9c-J+xb zt_sbs!b_)NUH>4DpUS*<_2mJ@^sE?eJ`OTrE+gGnc7u40SO8Ry z<@P__)U+^|$s&aQIT-v*H$nft;IfMVsMBM?c3TU%TNna;+jrfSVZO>vkKPWeFr=6C z;jrf>O|3;vZ)OYO-h0Q;DhnEm=|Z`q3{})Is~XPQv57&Jd@Ji`!|GGcnzxn->^?Cw`7P)G~wR7{>Ze1pO2K_5XdUnPjTl1H)vhOoKZFL zGupnnb9RC$p<0Z!jov5F#B>ZAzRVrJu9EpS`ecT*7)H>(n}0;#65o$v?r{o z&?6r3kOVl1I+|^$IU-pDqt`O#8+Y#z5ObEDGV5sx4Rhe2YUyX5YwB5%aYu^~{_QSE zrP<%I1mW+@p?9$#o{*c2o=$H z?`SR*W#Z$!;Hof9cA0zD!Mes(?9nXHc%rj_N|010n>3J)2GvAJ&2~A(pme|DBGp9C z_%3aY`66`J`Ea0;BV451goa8HNc?nzTYCyVQ<)ASxX<5z<8HBCyJ|h1^gBa-X7n^d zS!neY(X&1X&yE;Da2{&|WX5?`5-r+&t8IzW0ByXOp<5L?xw2;+G;zh@HVTD%&A_2l zkiw1pdx~?gfw=`EZE%Ysx`#5BI^C2}Je*?Cw8v)9elZ*O2bpv*80@>Z5Z=F}9w{-< zkxSIDzxjjx=v;?cn+DNqvtoJ7II-n^4oN}_OuLDd^7My$QvyZ~(yZJB$`cLFv0~=; zvzZo$cgiS>flH)OlkTjoLK!>Kv-sU3B^RIO8(4<|Fw(wZL|VK3&KEaL(U$_wNxM~- zc=g5L(8Q&WhDQtP^O~G;w60+y7=9k?wRZERw`jdlQPw|Kb$h*YR#3w)E8;T=G0Q@G zLj$Ubm~F*i__LdOxNey;tF0?VXSv)IVzx4nmeNUV$bToeWK0e4*4qZj`XuysU!31t=I0X9ZzP_Y>%eX{A*|3iagQr zk)EbG!EHoNt$nB>WQDD|<3(+}+ODl(qC?|`=sYcOTYs~%@SzCwtNnm~TO;|s(BV_r z%8#6bnnYI{n}r^udj}B(JZ4OdQ^T~~(KUPDOGLmwov68r?Ap)s&3Zm$+=x?%1p_K? zmeu+ew2*BI>!#-FHW?O|=5Q@^;sjH#I=dywiMnKwB{W`FQ0Q%tAA2_t1|PzxjbL_u z@+P$}r)26QM@I&aaaGpGVu~bos_lGryX{K*xPMaUDkZdej}2(M6N*B;xcjZq^<-tH zHi1@6Hl1+M_0=XOu~bxwZNy>qKL1;>a2JQ##uyJhq`6YVwZa2*qIh%rnVs`e@rE&*RM{hpQ^_;{n=dOUE7VF~M!rb`b}i~l4l-5|2oCk;P8MZ701Z4n zFK>axn#lGqR1R9stOzCx2~;J#D@*ZZOcOBI(?o1)O{;&fgLd&N(8gLHneMTyj)L8; z)*d9-X9!LB4OiTo>Wfme6=^(`Di+(8DZZtQOT-r^mrT$Q+l6QMIg*XEZjEe!TTniS zxByl`CAZzf#w7T~#~(zJkktcV?e~11j5+nAG=FHpv6P^W)M* z6>`{3Ez~~(O05=KX;NWmwWHeVCVoji65n_sjxcO6IQ? z&W6P#6IS9(o0*Cx;hx)%0j9eqb!~6gmk^N50LMpx@|MUWU*HY;h=3KTOd_oKSyPmu zPr&0SY`ZCFog8#7Q!YKla9vhp<1>&y_heanZ+Ch>#FG4(cl*R?>fM7^Tgaq<&kE6;J0BG?h@$$^A{(3@Ib~s zBb4E{Y9H)iM|$AD?nM3m#}y=n4+9elObT+0#XxBR@*np(JT?D0-e`h?oFs(+t()2a zBT>XI$R|TKto=)$NWTe<@dX+6i7);gF@h@cfg-BD@Y7mYua9fU_@+YN&#uuSARq%UT__d@LDjJ`*zPkxmN2_3e?bLqP(vAgBS>=>gg%r#9 z-gT@`TgIaS86u^%oAXh{oBrHGIgP8pda8<={t1${7#F~$M-N@|wK>H{nl#oxDlaht z>!&7~w$|4W$-I%^PS8=r9sPS{{meHNKqfL+VC!bFRBlu(JL{fyj zeIJjpM(uHo4TLZ^fu0Y)EE3Q(&@t}8gzg?W+yHq()4eC*)b!q^>8$@m30vQre+-dR z#E;x`eimtsmIfOF38!;B_INF`%>u^sQE^hm#2PM;zHDDU)G-)zIt~ljX{y5>3_{M~ zchywW+iW)ThviPXkEOTvl5CKrl+=p2+7DjtyDx%t*}IUN*)?@32F~8%sZ$3rCr`gZ zy!J0|H68$fU??BosZ!Bx--OX^F(MTXb!PK|5RODG+?VTC^?qOv`s48PpGDIO17MAV+peI5 z??Y_~OzglcdVjSzJEPc}TYL6TLA&XMXU6Y;rEZDp*pDym@8ckb+Sf7CA8I>B`&gZZ z!sl-ORQ_G*bN0sTu~K9E%85Z_xtN%ZB5&+NL1f#)wgu_X_S%1}c~15mv+XX&W8p!? z0oXMJq7~ybm8OaNB?C{$I=EGbU~2>W%kg%cdhUZ*c*vxb&jDCJK<20fX%= z%QfQ;h*suC&oC9ONKI;%t`0=9u4b(&Yclr(c=|xsoA7o1Aj;&Zx9WgYZ%=xP7h^p> z?#SX{N1#qn57!57TPtJrnSw@mUiqzzih6jNE2O@`^8@xXCp`7tJwmqwI~11vtTL&V zJOg@NwOarZcDHh<9kZ5ymg;2fZx=JWLiV8aJlHjw`}tn$Ag??_iNNjXJBrJg*vvx+ z>FznVtTe;J`{Y#3I#;{@CL_fm|Wq3ns{;~B2pf`LS!wrDob~CTRh?IH0q5ejv^51Olk78*Ml+i=49lg*rF*YE_rIQ_ zySbtO$d{aQ;GFG?aw`0BD}FtXw{``uF8q$ z;p=nfgr!RfsWoEHtPdCGNNw{&QSr*V^imcyBKq_7)a)eWSOhyeL)o-7xU&t+@*1DK*Ekdcg~B#q+A(t&YEcejwGZ&m%Y7Gc`VLqtF8O2RrT` z;os81)7$M=GgbIk+1H%~2lcP3b1t-wVEdZNZ*<~U$+vZf>h`u#IHdMw z$@2vBxWu#zPs{U8u4o?%1>x@i49n8&h1m=|Jggo%A6(S#ymLKTKmK_j`ZCny;iAbi z$ovgUo82YYtVus2`sPKNUVeM(1p+Ter8B|ijKg=>TV(rx?qq1p&Q#%;y^p4%H94tQ znP$?Y-eCc`D&ejND9cKC1wM=6lqpsZRg!QY<6u)mq*iex_bjzt?S1Fk*d44#(j4|%l7+rxCPTlT*LcW5GNk0agR-inO4I_Psl&m?Gv!e+1H7Hj7sh{S6&Zj9P8y^P zN<53%`E9RQGiM-Q#v-RYd1rU`p$N55Xh^A3Mq2XFq45d#rBJ@W@|O!sk)dwWDyUfp zWq}t+qQZwVXU8*FSqlet3HFLkOx{!56tdccL6qMOC@+r`TCAk7xs}((doXrS81z;Qe(sx@ zu(ab%61PSvAu!}KdkDfyZ`t5vVWQ76&Uz^-RM+Tk@KI6m_b?lPk%Fvj@^!ek!W?*I zYet&^h1`>wS~|{_V$-SfaT?fKLo7rh5`EE*5lR=2BMJn5Pjx|>6O2Q_Tx>X}ydND*;6B$oof zTFT4stNyWu$Q?a*3HX%9%hYxuNbO`BJ-@N?Qzrg{hJIQc_{1V{e7h15!|<~>G2q*y z)Y4bNh0faNk&aN`E*cu}*vxa@dCT(oQmJ#*i{GA=H_WA){fzI-etPG`r0duQqg%aD zVyLMI88$po@jkr_j?eL#F9e&_hBwf{k9v-YcL;sgoT#{^%2UjJX<$P@2z+KusyU{| zix6^LXrfIPetNrtaKL$Tb4Dt)>rXb?;mfj9;z}NsI@n{!XkR|BdRXOc=3buR(5p}i zG&*nbDN+(OC|*~sP*i$Wr>r>mVxzUnB6+Qu0BYXt%`0qJXvYDf34VpOBrdai4KZ zq}J*e;h=AnPTv0(QqM91kfFJOM8~EAzK1;^d(D=!vJUDJ$fRs=U7zqHnaMuPw9(1U z9F15se}(op9?$v8Tp#aO zeHu9NV*47wMd);bIK68|l%Hlrc&PA9vZe>s z!%fnY$uyp=QPoz*iP+$g;gMQJlCl0#4n8aCIK~Gi;uuShQ+nUExgd!eS z?oe{aqvg9CKvc@(7%R`wDzKdFqWvRB`zGRYGh9;h8hH(~CTW-mUFP6MR_etP)U9VP zxADq04DC&GhYaZ=g5Uph0<#k!&@u5uRxKPzGU}=jJm%-!zdeY5KNJ6}rXXnBt)lV> z8E1QZ&BlupyNTRj#iS`AF0~Kpj-ldfUTl_1;}C)<$j2c@Xz9)3psDpj}N#+^q6aL1>lo~ZR!Ch2GvQCQU{ z4p?)jNfB-?TCNkGP^5k1Tz&i(^QDlh?}KVWCtelu5Va1kz|lA4V7>AbqL}6Kw=Fry zyXDEOuW)^6&1j8X(&6R_ZnQse4P>_$v^Z)FLAlSL`)#c5g0a!^){-@m`frEq>XcV* zJw!C<=ZV5FT==w`*dCZDIN$lP1h04FQ4hrj!gJ9GV^?iIKK8|t6G)|^j}N@Jhk={t zL-Su&ER6Yn$QXQMLayEEDlnf=C~#gblxLfC>{SRWXVrrxeeQbT`&P1U`X?*NpY_kl zr0?Mt&GCz5k3kjb-t*nkb{A;1asM+W#eK8H?`NX2Pp&9kXHw*iyQ2RxsEqw3lR`J^ zdBKVc87ypBwk)!!NVD&YmhIs>`T8_eh%6c2zqIl3!KF0o2bm7OkYF0KU|LcZ(@%d$gsyVg4I(2}fsmRv8CkenA!o-FKFO&4kevt=d zclj@S*y}*7UQU;um3kbsEg<~tTI;((MFif}thtm$qurVBH70pmoYjRLs_*asDtg7L zdDg0IdN%Y!m927uJr7C}z8rdTO9C>A6O!S|Zu#*mJ44OqeQ}%V-+Vpp3l2TyUT;W? zTTQ$&O6a)<4`r3j|FSig+WT6;8minWmCEkvi$0f=AvC`LAo8iX zJeYOl&iJ;wpPpApyJT$nW%33VXxxj%NI8ioYYkaNaAUT_abdXc&+gLGF{uVmRGpZ< z>}+b6VhZ%QD(z!5)t|SoEXkGq>@a{iJ40nd$f@vt+q)gvkvX9*O&Yz2*?|?(dagRg zILlxkKXykY80TP&N9o8Jjwg^ztzB*kGV^%^S4R%FRaV*nyw2s~-2S)Lw=3#q}A{3Um_+qN%z4m?wmn8j+GN# zfy1tB{+6=!3;eJDac6$lTm)3cC?v)A4_lNhS&>VvwIOVyu%qEPTjo_Ir{7@a-6h6q z19F-NM0%OM?bY%36nYUSYt44F`yHtcrfiK?)sga^3@rF9f^z|neJ_8B%d-)__$_%T zn?6+Mu*~cSfb0ZIBqlGxWEK`qV0663tqq1V&PI#L$Fq)rPdL3B)rC=9PpgQMFJ#Lm zz2VnT8>WV|UL)X@H=l+XqWHPFIBj}N^G5;y#~cgx;>de$?~TxUSTBcc4p*HaR{(gG zvXY_thWTDTRA(kit9=bDF?$FpNpgcuEGP$`yOO3!apV!N$O5I!Y@PW=h5ynxT-MK_ zsULjjs!8W?VzS8auSYv~W`^znE$s||`_q;WK5_?_gy=7Zx793im(U`yDhT_kR|^nnqVq$F^heu5xLq`Ves@x}paYdN$Ihtx1(-2~ z5@|>V&N#4f=-78--7Z;VBN`HiQQjcDxri#A9-@$f*eS06qD}_ydGgsHT1R=ub}15( z%`bOyNnO^#cD~5~isAPBMBmT!`6!_mVGDZ{EQJ8s6|)kl3Z1iWWw_C%a&9v!Z5T~+ z1)vGJIS#xJ=25Eox118@8Etx|-0ZKcxz!$%kVw_pX*cDsgbDLE4Nqyyv#xbnFC?((;&5tS!#pX@(R{l+o528H0097W$4)_5)vLa+z>_ zBSi5{yHtEF5sW4q#PZk_hz`$Xe8e57pQAw8n3qYPi@~AmK7vKF@*ga<4786`X01P; zW#3fFz8e_Wcvwhi+~_|%5PkVp(olrv0iA_hHIQoJUZXW0``H(;%quESaAeCaH2Kx5 zImk=*cWTT!Ojo{o;MTN0;h!k&O_^7=X!Bo2kZezFzxK%%I|%qsJ7 zl1x|SwCKg))z(dY5bFXwG^()v2H)HUGnUqL5J71`^_|_q&i;tqz(V9xg0=}CCW2)IRAF_ z#w=H$JpfS4eqf7umnL351O$Aryt*d^}?lq ztgW#GqfCqHocutr(O>WR>#EC)CAlF_g^wc}M%mlXtDeHR)m@I5S0CNI55x0Lw_@z= z&9k@Vjx3*B0(mriWIm2G7Ezq{TeWkuz=~YC?`hXPhtQLf>%X;#>^91)u~frZPp#`$ z>v^BI>)YuogP)Z1597?={LMbd@sY?1S-T@2=JJR)JnRLkpa}vtar;Rs3Tw&2^9D}I zd|x1Lsd&nRiuz#q>E+kL+0wD=#zEpTdK$7>Z$V76v=_&FzkrC0$`o0G)9dqHo_vyGTXc>JZ@IC zG0M*?xqnY{&7F4hkoeii?-EZBsI(%)%kD#ssN9qLhJ&drn2qr@!KRS@ldiy=ag)|j zb;ne`qJ7w0n^dFw+#R*11ngL?Lxx*V3{T$vZw<-|+iQm!Wf{`trTnux9Bx+{wj3{i zeQEZ0@Whe_Q|KtKS46bo$g`duRTH>EUs@J=>|}K(cw~J=Y0Ai>)f;|2Z6sZD;5PPd z{a5M9FY8t6y0?|*%^x1i0;ITA{eACyV)T%vym28Kd$R0jg!a!lvhGd6O>gx+wq3XE z|I=r8_iVtC#igIs#pUjo?=HP14MYxK5X(P*z<&;QK8ML)_R4B$m+Ci}*W*t^EpCRh208mfn*ow+xu)j@mhD#JoRRi z^3GZ>KZj#+&{NTNrQ?aU4_Qvw(1toA-w`7Z*38wL_tFqtSCVqvnjz?bKQcZuxToCUq3P_BOP%(lz-9rN=BE?tfu%P~KGa;O zos1t}fen?W=caKSq%t(DhztHVE|D+)aK$)K1HvxC9on)m$=@dIWWfeZzATL=sm->! zq5@q8$_yT2WBm^){6FMZYd8&A{rfy-;Tkq`7VBbKJyLLtxpE zKo&pJK!f3kns56mx2XG=ix^ecf}V!Ssu91-*>qo{PU3=X4Rijcj9scBo?Q)UNAu9r zR(Nkum`Kxn^?spn*jXV_n*2tPCJE1R%(cSAzx;nt2tk`0c$@U1TepL?8=By0$J8omQ5HzDGVcQLdNzG`X{u z7D_7$WJ2twaBE^a-;qy{MgwC0(1fLguYd6p&8TNK@-n<*^3_=UM*Y=lkQhJuHFDHI z;jXluqpA7dXpECxn2#Q*O=HTaw}nTW+J1kW#_02~UhpKs=aL_fog&Hk_=iT#YQpT6 z20z+LcwCA{nm7b~9B7ILIm5&JH9^~c3KMsq@H9n3qKXBXCDyH#zx9y*Y*irjQ}3r< zW94>`+(XnaH`1NQD)|*pe<&1HGAxiUOid~_nX_%#SnK7Zw__7aIp$7oszkm9Tv=vc zdo+03)b>Vx-|_hkkXSN9tqXK5^uX)jtZgY*ERrL`B>M@rI^T2ITp{5d`x7?;0D%4( z2|>ShqNUBruFU=vu8TD{`mgh354U#N!(?_l|8D`5M~=1RMcJ9s=2RAR z@iEFZuUxH<(k&nq^f^g-dc%&Ho18Fk(mrQm9`C5K+(!<`>Xc^fwzuc<`n9KfG8O!w zaN|O6-gNsR?ysEfQ@=;$%HDsvh^O@@#Xv&vx@#_N{|P!!liFQ}-4SWnG#gwU5m;u- zpzXr=;lp=s0yS#gB4tl(jy6f?m5t1lpwt6y?MWDN&MuLZzBAcVj=xV=I z$#7U0g!ulYmF4&2?akatrn(H*#!{VDcMF;{bh=Z;Wt`V^QyL>#1$Y?+TQeA|D?U88 z9|tu5_lynuV7mQj^&0T@Qf4CH2{(H4#&=PD2RB2l(r#@0R||FU2licCjGQWH=acG{ z79e6*uOEH~8A4+Z3?tJq1mJX^$gYn8L{PHNclRDr^?v|(K!?9`k`s?_y?(Iqo>oUL z3*zj(5vW)tqw$dakNDZPcz;vhhPY6tS3LClQ8f0rE*9C5oqXQ$)_xEx7=O0!5Dt8D zANr@SGJdbY>m59K``&c?YBf+CBXIb3(D|7oo-roO(R;F2Nr+c)mrXJ8S_9|PsQ%4! z+W+WZdU$ePtRK&=Pj>TYKFPlgMfEo>JSrbgK3uT(guld|a7PaE(CsVf@zIYxarXy* z@QGsRNn($txsHV}F^HZGAAH%8y?5~o-ni8sJqtH{r4|}HwVKblMx*zOy}AVOC1m@r zl$$m>@5!~4I-(w4>>`IAez+Sh!I5!WC+zj<7RJByrLT?d(+i~WjNX08Fqwn({@+6& z>|}O=_TztAj0Ptb&5dmKp3+e89{bJz=1t~Q;<&|$V9xk) z_UGG+F-R7?jCt707gpr~=b>#L>AD^biz6O%U`}I|MG5?=X})aiPKnvq)7$WEyBXfz z5Az&d_#}OR;u{_vVjZ6oH>>%{Mm~n-PjS6#!FX&AUEgew|Mp~C_-9d^olZQ{=iu-Q zf1j8`AAfqep}O}WXV33)QX4JtUVTg^alm)v7faSCq7=;&H<4}Qx09pd5d3_(SaMCk zCiurU=;g}jbxi*{*n(~5(`au_Wqv`}%@bTl21D*X%h_ztXBN-ciEfuH^C^b@C*!em zHc98#O4&{-p;FNA}HK$db&iANl@_moWP@m%m`apc9M5%!%1!PpXrj zEEjz@UoJVoK66{XCFma9h!5YmUZH)Sh{v(XvGK{#nzorAi^FprmOTC2wk*lQPDvz(`#4{puV#h$&-wb@wDFS9xR z=*4e0oQsW%CnNIJ{MT`y*-Z>N$p-u~!&T$ij9+TRgL#iW zEC4?dLdZGn;)#Uo0tTUjltJrca3*JHN(&tAdqPBi)U|K2(M1nsF>}$YZw_j2@lo>a zs{?5E8NJ%z?$P&apa~w|slm7fV%S^Rwz%O;aB5>SMwG}5G$Lg3ttIF-1hp&wY}rp z$AXMzbnSi3j*VGHz+Q!U6B&Y+eU1e&zBcwU?vTaezrY4!vsVo1t6dQVyh&2@79WE= z3n#_|ZP#5;Dzft?CNWrXh^9Lr3Mw0(3sgEN2HwAvowL<*TTsA{E?fAL*B$RGD&d_w z$YVa;kA04R6o#FLZ_i#P0GEBPB1IjOZ2r$&?N4&=CPWR1KN-MXv4f*?1>d#>N6FqX zc{homb2L5KeEE5c)1#lx^<|X44Jr^uG{5}{EM_*4xZBP&P z*qN=*zyjh7K&Op;#Q}YH0U!=WiQP_KZc<(Rf@6EN>An^cENII;#Z#Xe({8%574ddQ zUGZky{=?l9d)!n%y9CN&gnV^T~WnjG0vzQHhn2+TGqZjvpZd6 zVD=x+WH6R`Z|P^h@U^?o^e)Hu_WsvD>j!AmR@-tqSf`Pko#@Rbe5svnzptI1n|L4&atMtT|pWBTV+Si5fkH7n&)wp#gHVb<$82(mL+&Fr*k$-mpRV6(&7XYybI12LSj73{HGAcT zdSZNF$CEoh^!5j52fm5%-7o&;M<&)OJ-UW3rt{0QzF(fL}xT5rDSW-uoB5Q%?S zkKM#Q{lKmM0N4f|#k+1ie4}F>ho2m?`1FRpB7bf3TQFbk>1r{dT2GgBX0zo^jzv>k zyzoWOY4Q0*M-F5o5034~3;v2ZQsXY(w95-{vr)&+YE;7TvCZCM@{!@byGI|so*rKJ{*e8HeN7*X`Udm07S?sNA$1Oq zP0=)Ne50p#{g~XRs}GNT>I-*|ec}tXeQQ4SY6SGiv!_!caF1R+=HA8$I@A3Peqb)T zhvU%@&yR_>{B_B%jqPmghJgLU51k)1TgSaWeO3RHEz)()1M=$L*Ru2fYxuv;(?6i2 z>tN6OKEGNG{9=oQ-e>z*3(8OYSvPOuXDmK*m=h0j{#h1R(n0)t1w?Aav%D-`7XP(< zz4&^;3%vG2-kiAbN(%YV>4c%5xc<@iJd$i|qT}xFw|?uxbHw5&{^yC$@7}%cbzZr0 z@^FARx{k$|aa=BaIX(V7JwE>N&)z-JYXoMMWDIq@?Tyjq`g>R=wq)Eqq`mpxxz=HO z*IDLD2VZS)EC`Zg;zzRJ zdhhsFQ`Fhhb_mkjQ>I|q@c8!FjA1rsZLbD+I#T?g?ZTMMKFgDY9j)Y^@6#c)WIDR< z;SBXjV>qYgxW+lxeJ2jwlzSlgh;wMmSH3$nb2GEX8+aLKHcxJI(2mWk#h_z$#DkV} z?*Ha%HBBIU^FyaLb0gOg?7KN&am=nLxQ+v8F8b_eCtvi%hI&p0cDI@Lc<*>5irrhB zN5i*ekACK1b*jfuI$TW%Pb5(L%;7tB*C?3MJr*ZO$+h`eS}%LD;hmKb)t4kIit$W_`ioOZWM^b7%U=B(ArBd&{HEXOhV)4+fbX_kLOO z$jfX+|2z`<(ZyV6y4ODZdR%99I=d`Rlk?2!&-~js$tUL_f!l)CEe;8Gy=(kh3@4`` z)UGbkQLN0`@kuJdu{a_3;;bgNA%{Hi1g>q1Y}tf=Ht*5a*TnIKhm`HQ83F$(3qa|+ zJWZA>@5r(1n$XPVj1uIy{9@s21lgw7AllCBGqoSt&P{|9`*h@U{&M|5@0~~3O@L6A zGv~%P`H#3{WDor(PsKXliWj)zTP#&C7q`j19I0=6P} zFE-<4zc|d6j@g#H7IM!`1My=_3LM`Kz#pB%O-5THw9(y7B)OGtQ%=4eo!OL%d&nhd zzFYn#E8hFW!-Hkc*bok{8-vWZHpd!nYOF?z)eMx5ENKT_O=Nq%I_oE$Pl-cgYXRb( z4Y7;gD5MU1P1Oi#CCTZHL%Q|i>lnd|M|{)}ROQ6v z${zZ5Q#IO~$92x1fbZ)eo|~y=+u_Q={+(AwL@WTd+Pt}AKDui1;oDr`I6Xy*hO2-n ztdz(jbK1&N9IiW8gc4**1{^kAFf*v)hxd#ZekUim!l&p&gdjMM!A%s7>27%SndI0M z2lRxtU{|#FnuUVJ1-OcApasV{q3$!k!Vkve^t`_j4aN>90FLG81tWd>#G?H%q$e&5 zqa3L?;8SM|@B#x$z;7WY+*1IPBj@4IZWbol1`h#r1qZ%Y&?36vik1NekHEWurO?%v zZ#LM@F9y4F;SuEcFvAwEIR(B?TWoVax$Gs~DF&MilxcLZT~A=#D-;^z??X;DCy(t4 z*cHecB_Q5(IRPtZ@l%|#bpotCTm{qsC&{$Il@vUzxF{?>6u2gFR!WwX(G)#{PA8JP zgU#ax!_#u~UGfGqzlOulOtKgW7C%X=ksOjz@x0)6u~t9%b_XRmHWR-Gh9qr_OR99= z5xo;kO!%rSyD;0)*As5(lAp!7u!1OCE?B~F1kIY?I% zmc7fU{@AXcU&Zm<8;Ru)zS(_dL^omB;QFDC4fya=;wp@C`P%qd2yXz77MD)%+Aa23 zG&_1FQ?@Y?#mk^}-H8>S(~2&&_kVR|gIvV<@_{C|=l!j9vJAPSUwF)hi*Y>+VvpAh zpDxkxgc)Or9Rslo_zj4JIpk(nD60$EP&~60zseDHOsmPBdUEPD>t}=7#iol=3lhqy zC*Hk7m>iz2?X(M;lW)9>7ai27Ss=XGruOTGfNVQ;{nR>Yu&){~rdC(*?X#LnQNnOh zwF}+Z&&wriVirgf@DFeC9FjP@>t+J_QvxqS1Yq%F7rx;9 z`Z$_CY-EuE%<9G3@>jm0%QxYM_sxD3a|;g7ve?X4PxWI@z1OsU;)Xn8>B;8CZl&cVJ$WTZZR2xD_9W?7SFeZ%R@{Kw zSANzQ-w@FKn?Lc$!9`&DjNIKPKJ%sdTg-p6B$%D30WbN)!g-hOf!9taB>w0_Po!G* z-dw==#-E;&J95g$=VJH$0#Iy!@qpKr7oM zz*MP?L?3POYw=dEd@~W>f?+^!edOtdsgXgd?R_79V!8g!K3f{xPoKZBcc;R&9ebSP_y5Tgqc`70>ych>01TCD zBcmTs{Ka4IEB%WK{UfTVOVp8#^}FWs^?i482~`dz>%*>{kYZ`6oa3YqK9& zYV9nJ;X$v?HioX&a?+IW(cZugs4u~E2e`-Pr(etwI%_qIB`OaJ(bc;+bg z-TjTf{iv;{9Qw9t>-a_0iEV4{Pwijp>0zJU@C#<+R$ZBJelste|7v*gEq6wC zx}R4_rT&L4nowvz(K2%@N-0sMz2C$($Sr9`H zEFI;IXoN%lIyUx=Uvq)Tac8y(iEhD*FZklFrqdo?P4PeDFk617xiLF|<3j+8kzmR5 zRCJs_)86A%pYd?lap6oh@aU)R7JtZvcYmi>M{KZ~-IFiG)knw0PyxbL#+PT`f9l!n zIicC)j8nTFs%`lb1GwZHE`4g-ypu4gw0ygaQ|EMv7W*7~$3J1_<7AhEw)=80SoCbW zfxuSkd*}Gk+unTO=#$@z4FId{vz_{W)->*`Xp06p0e&>%vl}9vqh~$|X0P-LUOrw6 zx!1fy-825+vAUX1w~sfS=mzGheOY<&8QHd5Owjo>498f1d|GSo16+P3zrDEEPwz}R z`jk9=JN^g5`=U2*V8)>-w)}+jU`5B-^q#p{G30~U#)S&G8l0vZ}*PmV8!6E9a|+6 zpLcN8iP;WB|2=%O>*9{tMdO~_FD7!;HaaRXk=h@+s@;SWE6d}XZj0OLA41#S*6p^m6&$+_!by4IFik3H0y#ITsk zzC>P5@IgG-c=;Yd{5S6jX0I}cuCLo_AHSR2&Uu?}>CF%5sx@+RwtxVt{jTHNZ*B)R z|5?)*uHR2ehVhM-+K1ZmnjAMfovW*3Yd&TldV^Kp>9#s7_NMd6JNYG+7F*dQGt7W^ zKc^Zt#o~YX1(1{Zb}=9I)tbp1(6(diUY|83(Z@ z=f&Q!@dOKota8LdhnEepVLyD$r*{*_oUnLW9I@~0klo1S-&Pq0n7-9%ePY`57VnKGVcO5Cs{}&P%Rng z+yzR9`Y9ESLkMS->r587u$+aLMlxf3$7dC<$Ak057%$it~uooo?}? z3*FF$hxHto(K>(8CV_}cP9ekg*uar~y0N*NEgJx8A1`i*=oNnk$kmD3Vz+qRq(0f@D%s>4n)Z95nszri zM)PK$EAJMA;m^mDhja~U7W|=_My00-;br@?Kl#JACIA*~;GKc$*fSTbcA=Aa%f(xW zZ&6^;8_=-}xlcSCd!xnIvBy6e_E)V9dbBN8Qy6z~bPaUccB3o5vDGGL9c)0z2KW40 zo579UU3`f#eBiT@TtoXhXG2e$({*}vz9%2Df%rK;K9|+#-UJTrxiC%6+FW32vl#40 zNX~ep2A31!Gu~umV^?l!tT?vGi{)qg#c?Eq+C>Z>`1rvXjbQhI*T>>Y1Sg|&vM*r6 znN8F8szWrM-N{6e8-Euon8=bnHFmQBQrGsGo@9~}Xo*!iZK0uK@~D{`kK*^O-aohc z6u&*a$@cxbvAgr0*R!2`s(X3iqK*C0W-E3-{z&f0?(flCT)PQl9Q%R3VsAUPIW~yo z-D7|HrBm}lVqgB3b7yjKY9jx?qj!LAk?%$Wt!w*mU)5IQwnc}}d>i5^hHMjW5A6rl zc6x;C&;;-=y6|^Fvv|MRRGg^^%gb<2O}@K(!Sh^j9@&rGMN^CCJ;fz&&|t&mXdUV+ zc$@eTH+=B=2VWdi^4>?z>INsw3mSO}9p zY$9&tQNZ(`@s)ktyukm;cX0w9*)vHyv7okz6EfkyIZnr`7qx%zW1kCyC@_z_4u9a$ zSDXoFIPib!FTZj8K+)-+|LPx4jx#Quv2ah9Khr3|q3eg<#9D0Uvzn7LThBOWd{duS zGg9?O-f`YbJzq?t!_|T_=5(>yvzf(Zc?0TrbO$Y}_hWG43{Q1WBK*G7Z7?!MHG5@QOj+3DEj z@CE^njl9A~?YQKud7F23yN=lWJR_ZPR1AgL|K<1v+@2piMLjxfvCom~)V^e?ljzRP zp*L=jrFLYOEA^4hoYQv2T)=mqzs2Kxus^pr$hT<1d%+8fueaY`SrQDn{`D`umw@wg zC1vun5&h3RUt1me+P<;ZF2uh!z9;h@dPymBwL?OTT^D<&*5hT&q&t2i8Str({90T8 zmJbE-9)JlJ9{D$R5<`H4b=;pvywmmuN4{;H`%$w{>yiif96z$zrUmVv_x$IaT94KZ z5#7)AS{ZSBVm|(2EqJn!cMF~=^1K$!)slPLA#(RvPoH1@!kp~*8^2B*ADQ?((fWkg z0Uql58vBDbeyf|cBQM6)f3lI4y|%y_uG)y!??N7N!a3y)ALDi^iXFOkHu}0 zPj_+66KL4PW@Z@O#YQ@i^YYud(WU>?DQc@JbjAxAZR|?!)$xv32kJQbv(2gDtJU#b zJjFN4;fb3TeDgO!&?fhlgQD!zikn4s<($n%x3;z1 z_9AdH6c1$I93gsQVRf-?zSVbfr8!|p* z2`?OSERX7wZ?3Jku^Ia9)w(mssDAcOoSa&5#vk@wY_Yu|!V(@Icc!9rh%z^TJ)t+QNS4<2geU=J1|;Y!!`29{U8#LikwdSGktJ0)`-|b@U8_ zQxP^G5@HTmAYFz({ct1}hgdkVw~)c`6D+!d$rF2$a6Ah-^c+hLiD4nbgxQ6_xd^Vi zeuZmB?vLQGq3a^YQ@Q(;gu9cFVv72du5Uq-E&^y#jZ$p!KtlpulZngd3Y!8zK8dyf z=@?A`0glf0XTsV-1)ckFBnC9wMOX)GL+fTo$%DuB-Y3Tpv`2CQkD0(n$EMGA1wY#O z!95cl7Glejj9>-K77pXf{_{cF?1GXG5@U4nrD1&X>`V@L-}!DAH%$yPO>N=UXz@e* zk}*zwj_vU5|6)KZGqWjQNt|=HRly+xofPT(+xex(Xav7lh!~sG<9x)#iLu!#9wr1^ z%)=u(^pI?`AIavga{<43!%e;kiWZ&XgFl%S;;Yap815+UYk<-BFOd0@o*`upM<>=a z4Yzatkw?qPV6KAd9gpmH@1i4y{J`cYEegm`+}AvQ(;e|P`7mGCXMiFz8=nE_*at6m zBbt1>7AZ_vtC&nA2*Pt+lsuPyo7zlGghc!fr<`H+4+N~b@R@fxlglhWoUVt}2@ zNU(H{@@x{1=kbAf8Q&I3ljAIi9D1I()bD+qkgf^qSs0Hl9ne#A(~I1ARFG>sA2QW4 zo%x9z;%mP&9lSOJ?qa(0Gg&$VFn^MSU&IWbY(kA-pC@~=bj0f4UE=7CIBY}is=CG+agNz`oEY&o3dnQt2g&P++mK$4rkNHdXj0r4ThaysSD!8g1cY1 zChOI{8)3mN7Dwjz30Y4p+SC2YBQ}G(c*=o%BZv4-Z4>+RZ9w8hY}o?2dqrQNwTEku z6a7E=>GM_I>5gOn{UMw8x}(SL|KM-GW4urAKoHsX*r!?uMy&tjf$s(rM%rn7UOzF$ z!-4wwFIn`u$y0+lgh?HoOg8cx4}w|zdAjVjIiIlYJaGv}e0logSWyi;d8kNuLZ4`_ z=rtJ6Z!!4Ne`KO0WzEv;2^s6ZzB zo+9gjAKjcXU>Kil`2DpXd*gUtGHavzpFH;GBRzb$eLNj%+r`^C+TYKWKk${OEk0Ef z1~XpA_ijL*cd8y4>2=Kw@l@;RwuOW2^A=B>A9rncne>Tr!!|w}X`+|yoL@JM^*{Q? z7SzLx^z>MsM&uKp@;=?hvSM*@5wGjQR{V%{I5*ZPwD@U3>co|}_v99RFPmX7myRMy zixGb9dSbeX*}{}RjcKznnKcIMeZlwmkvGC(_%+?+0juwC{q)my591H~@#8(g`_;xh zizYXlrqgn}n3Ny>`M*y)H{^_Gd~?a3NSo788c*kkKeS>kea}4i%yrPcw(FYgvetEN z!nZc@ed54z^umSC?|k-s{lKJnCCmI1jySOJs*OAwYomiEoO4m#t1{kDe6+F6wUO*I zeH+8#zuKTKk)0lJFFUZ;n|o*QGjR{4-dW!w?iOsLwYeO; z^j$nho?Y;|=Gtt$d3(9i;bbtka?PI z1^D$`8{;Xy-Po4XoI~^5;z&fvD`(l6Jm;n-TcYXab#w0JT`j{sIYdq}nzNA)9p@GZ z`Dcu3gToGF2ea$LMBO4^`^9hlr!E~BbGg}pO38I>cx%iyr5z1TOGb3!jMP*=7Q`ydXi@e|k<3Da4;UApl({3}*Ary_Ulc+;Pq z<_moID7xo7IqIXAy099v{qfHg6X!y}wMp_tPcCA+SS%joxZFY8__;;F1fG8aJa#?4 zIeDK1!#}wg>c$BC*?GAVAO4Y7mk-ff4n^}U(w}P){l*k_Id$4c;>2rw$Q4b*HXpBVYbD`}ZJYRE3$jkf`I8pW$%m_5 z8GsG^IeAR(+jW6j7N6M$KY-~6+c@&$SC`38T^?-Y_r!!n&oC$I5CQeZYOOR(jaGbG%kpTqj3P%*sR1|h` zj935BX_hwSmdrO9;4vh*6j5IbGMV0hnJgTG)|G&aGeflBMO}v2B2$LJL$D-%N>In- z@hp;Xw2;_h$`VfSl`wti<%tc+#DFL16^7&rhb%rvdiFWVN_WmbK}r6Tq>_I>4l;Xj zumV*ewSRJhC*JWHP4*9$;oB?*7?kO(_|K`GQ>oLNer!Lp4re~ePTFF{;{lVsHG|kM9w(KZ%#!*adta-Sk*r1n7klwoCePKgDZ44acVVT}451E}7!P z4)otk!o`RRie`O_ff!!?u4%_)I0ftIkT{cTI!sI3^G~uW$CL?JAP9MDXV#gWu>9_-uA;y1Pp;=6A=nwjDmc+Ux5v z%g&Yf{dSm#iejn=emnuSm8CV4y=cYT5K#Jsm_2vZHO$RLzi! zgoW$SVqK@<9XN$U=&E__C6D3zoZ5P5UUBb>F6s(k)`9H`$+8 zz4OcV;Ln0__N{%ojog1;AoY)1D2Nt@bwa_Zz8A1%Mz%UM*A#KX~vXLdjO(9u^}kIxV65a0x} z1^60fU(^KfCI2m8w)lOc_f+wRpJ8wKv;lJ%;qi*XZ``dlxx)!q8V0=N@j_uc)CAAjTdihiwd$D@Au^6JUkuUc;msLf>Fn7yxC zr<<>yTTBxd6N+GMANyp#5Z|%bI{BPV#ijGJ*nP&gwg;Mb zuq!~YYBV{-m%ROnAA0?8jv(-dws#FXWMj0aWF(F1FG>Ej-(Zgn_l5J-8;@c)N1CYf z0GT#7i0>Jrj$UZM73U{^&6k4dbJez~5g+#0JBrD46dLYoO+?gte%cd`jo0_Kn|&VX zDNp_M`x`&;#&B;Po&Vx*d?aw=3R~UAx9EMvSKb4=VCmswv3hMc5_DxxxcsbH|CtB$ zUeH&aMX+_SW;}g<`wu=9Tsfb9K*HEH?^g~Cg>Y{nXTtIKGKV}3t6H?Bw5@q6C=`h!ilKI2s1um1aw%vKuZIla6dqpsmWx@@&E zBmntlUVI*GI8X5+3x9KlTRm89PAB`#HIhTjZhjXHHRg@C_u1mR?Y93&H>ggI=Fe>D z1^~Iuk+u=A?a@cPJNo$JwDh z?A~-a`cy-TmBmZ&^qP;;Nd#D6TAk?}aW;JX@m`65SzE2s&;HfLul`rO{Dm!AzI=UP z#QLxN+6Np?P}48*EKII>O_WdnD2tm@gV0+{biJ{Qzm!{T*bVJ-u?F#shbLwr8}Ha< zbRr<9@nbXoHKrQV%uxWII6HP`Uwp4xBR0k33wjk0IDLom-4>?RAveUA+s~k_Cew?} z-|&!kn@@e>-m~9hz1!DKVZH#Dh}*;4Q(GaKS3dO2_ay@gl1|=F3~w8S+vJ*yU$SaC z@i+G+yS?^!>AVTG*pP4a=^tEn;QQrq4d=Rw-3~q&n=xe92hrOc^tPz&7(I4e9SP1{ zbGDB*xzRAzTu=5<1)lBL`PgdjBTb*LW1BuqwQmtD8zBb&TA0O;eJ}r>h2Ap{!O!L|daGN>hVB&?bh={a=zCPq zj<+#m_}Q7x#*g*YI9o-``4vaT1E^q6+|cpp#ZJer<|5|F>~uaC%&}3nzWI```FQIk z&DqIr!xO&xeO~W%bg}?tyZnQXPn@SSW$-YkU46);N8aklXr4SgJWt)TPN0*WuEp<@ z=h~_x2{qePkJ$K`zMQ;dPET>Bj;ME21mo~mYxoMV{~aH?=~#Y~e{*m9`iwb)3mv!R zm)aKn*zB_WiU&W`cKj{|>Wn9J4~?Am@S`JcE?O6^alrc49)c=v*aWhePn0uG&_9_X zIceDR$ie5S9lY3^tu^%D15n2VY9>D%?6X#-c6oIi{6iaYJooL{xbVAIKhOigy2gJw z5)bxL<8`lZd3I_Ld9FFwCAIp0V)0;H{yYn-hyI>ij~@T=H6B;qT(Lgg<4R4;k9_AC z{fXNjb0l%i2Iv5ftsc4`HedWlysE-tl=y*Z=^iB~q@AHE~s?3FUH~E`BO*fVvQ4=>#@~{Xc(`* z?YcPn%iJZO_52 z-E-KJHJ8KUNvs^I82{AmA-VkepV*P-~x|ltZ@vu+m~@uz*WE54|lDp z80nZU>6_a0r$=%~j98c}QSis8QAT-8M|}XS2^?o-6Z+T25z0@F;)}apCJ~|wt|&sk z6NDV7gTo+b0B$>(U<5v0(jI;72YjIppP;nA=(l}`m$-U2b+&?l(}OFIIkp(WE)pa? z*e_4P364%Iz@XdY7FG<-5)CJ&qa`n%=S6hUI0fQ?j)Tj7C|581ChQgudgz8kZA1rn zmUPI5U;A{=))UC1dwrkC#Mne)>7hOw4HZv#4oLCS&*EF6WjmVG&v6&hL!)e`&LHe= zIW=JU6q|Y^g(TKw5a9Y>aEk$YsPA$A;K1`FyU~YaH@ccQ62n1S9_S7&cv`Xvihkfx zZQF&V^pT`GVTu&>!|(`~_^$6o5oGJ&7?`N8?R446bfO#YAyIfXwqIQbM+Zzs!gFkG zq6)v5UcPN&-rSOQK8JJs(~Wq8y)vYwdJcSl4GWO?-Lsm&aR7yb+c!u!Ag-P31+$o5I~= zc+~FieQRmj(Wg6j$>!vru`J~3&mUl%JM+kxy6|K2Ltg@8WD3m?H5qLjhv9&=&@ueV zGjbJi?v%qJduL!yQ>58-4L^*rf4|d)P(EUrU(cWy9uhYb_d8%<$d9f8Uwo0p*7J*T z%Jy)fz_!Qcq_w^tKFC__rqA+aeuJMrw=T8z@qbM2fJ0~U4`0n4u7PzoXYuD4jrvl? zxX1Fsnx*GBSz-914<2W%3DxKd4YD7dpOO!wHu=MFc*nDDU{<_oua5?%GHT1;Izbbw z+QF|AB>aPQ_h}1;gI_`F`+1Jn`@sOYmk7lPt%J&K~pp7wQ}g{{C0kI@<5 zMXz`d1J<{Khn~sV1?m9t*-k1g{HINhArF4pfsP>~pU{#InsW~7f-ms5cQHAYDf69Y z%<@6}vMm;U@Z^G| z@eR-mawjHv6?n#{vq+SM_B-!;IDHcbv5h$CiDh6s-U5E&;=-RtWWeItp2kJ?sBb5( zT+o$+e(@a_m(I|d-O@`>wC}$E;pQGc%O|UkA_q2>!e?`R2rYl6PjG0@x3+w8MA>rL z+3O{2sRyT^=k8{BYSXk#UWwu03lcU~&d;LtG5bZ8g#g`q?t7$nNq3<>eX73@Ft*W+ zvg+*j1$OB1yKE1BnHHOhqj?VM@JQY@H{$udaU(SF>K7Jp(2mE3DEKK&l_}R`5q5N# z98RRzgulvSSetkcPp9RM@1>N~!{g&|47E)TjG=>n&MA)GACrQPvbuX-E%JR{V7Ba_ zpEwe8oiFEjw7T;fI4AD>%s5dWqa!v5>@b0=IOb&|^#ZTr${t*(M*xlYGJ#oJT2i*o!q7$j60wy2R_`hRi(* zN`{%^sW<;8gFAfjk*dxS;5K%W8=QF;xaOMlIp?goU{d1wA_6IHyKU~0r#m^yIh&Jc zenm&>z@3@}ZZcK&bjG%pd-81c`Sr}uq=B?{T%X09k@wV7j%`a&6p!tF$qR5&NywxO zJ+?CM!8;y$uCw#g^B*UuX{&DWvSY-n{gIn*x*#4{;IVyqMhDRp`KrDxj)v=*V?=)R z>+eZ#g-Jj24mbal)%33plN9}0YqSLG(5JtkZz)|i%=iX}eqE?YL+AQ&ZlY)5`H z^|vK6qVP1AbbtJ%K0^*N0LXv&%GX*Hq!V@(J2Th8*36w!)p~sxZPBM&=zR6pXlbu6 zWUG(DzVglZSo9Ux##!pgBk#CtlnlcnFya6JKmbWZK~&X8?BSfLOv39nSr$SlAGFhccv@-^tmiBJ5Y z8Pttk`opW(RrDi&nF>Dh7xNJIT7AgHkBlD}%VBYVbu2F&oJYzN!8t+>99m%Lp*+?v z`E7E&3ok*~n+>up?Z5_Y>-iS`I;Rf5IR9ui(463vT^VVLofy ziy)DB9u3ln>)f#QVzr(1lb_`%Ig#GXjrqjn9=_bW%>z%~Wd~fZn7~hSd+M}TU+||m zhli7UnuZ&P#WAtnA>KR^-k*6S-@)%LN7}`YGP)3>gA3-4kq5j+H{q=|36A=1l<39> z@i66Zyoo!!;1dNp)K`2VPcAg*nl9*|=S_4_WN8mzngb^m%?XD-+VFOM6j-6fmuf?D zX5YLKVffXXvx}Lpmm^-nh5%j5<6 ziazlXS)+oK#C_mKZt*sGr1l9c9jI%R=Qv%fGk##qqVoDv_@xhX26JfkBy$M{$E=}< znK>79-YG}0#kgqn9hvwG8^J*i`_&b?*{|XO+ z!r#22CBikwWlPuWrNG@hA3Si-O$k*#2F;*U)Pe6nt`|x^ye}upX82o4Ivi3+{u!r>8CA#_&WQzC(p*tzxeibsX>>Cfod?I+!*Ep&r^ zI;AHW;P8=P>g;DM>UrEN}dM107jdBI@!i?^^2c0 z1h@lZbhd(zJvEeWI~wm4#2b?bRQedbgkrfnrmS1t)jUkC?h?hdfi7$%58!=1q;L_i- zhm|AwVvg}WIM^n754zT;&9OM6TlrB*b@3Tjz#Vh+;h(bU+rnq!cg=HqKZuu&?Em*a z{o?UCJft5^boXKYTkiN?IO7K?p(S@a?1YRC)9L(k_P5>ZpJV;>xHfOQXID8F-|Fdy zEtH`#I4v07p9Nzb!6}WaY@Zd`o=iJ`Tw|dNXNxVq0`}R@I%+%lglAQb_D?+;kL9A* zxARC7>{F3R17PcP}#a`pB1RL(9E2ETEdFUq--XT;mwErOYe1+l@F#{H2q z4-X!_mG0OViN*{u@So3|M2y|(Dd4r;Re3oa`JP@hUy!>9FL}XfeYD23=1$MQyRmsk z3>X&zmPI0ZI5dmF3rQM6wMWNgF-?x(C(FN#A$VB7Qc;iQD=*m}r2uiu==igjeYfp! z@)3*2Gj1KRoqS@RWlc`x^1;hPxwrsd{TJ@gHkRt6{^#EI!rq~Zgl=OmM~EAP!Pd-TZ(3U&q;_JGLDb?kPtn}yv z)bN3q758$2{=Hju=L;{&JTJYw?PJeNAkRMQ#OKWC4o0Y zn>*9TO*ME(@A@X3czAxEZC;XTqo>8^jmdxX*Ld6WF`7ptPC7mahP0oM$MPunQuKc~ zkF%lco(u=6eR8&Ro4KNR%g0^7)lnLQu5h>CmOI$t%cnequAEfaf{!lHBU@u79eWB9 zmYj@NpmYcC`RaVbjT-p(Y<_cJ&m*Kay6zMNnv(l>fMGre>=UNfA3W36CGn5-S81|;ivMYt&4v-W=ArGY~?}$Z)6o0 zo!1|nzX6%K-LO4U(kTpJ&69oD4sN=4p-`dkwT98f$Pg`D`cGVXgam#k58*+dxoM|r z8or}zdQDShYc9Y+I^tpV^T+~oGC9_wD;d$L|EDj7vi&U7(ogz_CLZy?#&X-_=aGHk z!dGK2aEq?F7aAc#)5R?Z3_bVb&N(7`FIa^yao735t`BrN&j}9mV>~ym!cRz~ z1b^ztn*SWFcpb`xFaO34>jq?@BYNfY$?Ng|o`=Q<)_l$jzu17j(W$+f@69PjCUkcW z_VaNzOda?Da6pg0^uy&W9er;zf=hIhHNr?~y|;l55cukL2O1F?&@_Pc6ZLS06NcLqXc)uXGz51dyI} zEUggc3zeB&(q44Ig+IPAxaF_8c`)GB54DZY!7+Ltr8*uNR$Rujc7E}ba|pH${=pq$ zjEfgK&Grb&P{*kNGTIW9p_MUDfJ40}(dh`TtJnl5XmC_ffj6ng`z#5o6hYw%>Au?t>iP(@p9P&c3))XY zM!)2(n$xxRN+tWDRXYSP-srfM*%$zoftf{Bv?N|QBp7lwvB#grvt|-R-;?wv`O_btF>qU;1BZXMr!z66kgxg(PvQ}ueQuk0qdUq8UO$5eOFsO~9Sa6#2|Drze%*1{ zJQv>Z00-H~HF=0G#RvXVmt>XQ&!yZhi*KJ=WuE)0i$QRJ&I zIt6IrNFQ$v_w(4nneHu)Eb`fs6m4)2>gdq*}8C&I*7oR=3HhPLG>XUTDj`*cZ zJj@-_6L09U37&h`ShnP=*) zMpL?PH{5c6?+V}#bPfl*RR^Jq&$CWjcW(s%R64qoa>mQa108QNA)ZAMa3#~+CT9oz zc8?bk?e&hysGOC%|JFj>@HV;@gJRKwID5YNmCvp2h@ikriqC!Jmc-leu1)-}{DH=~ z`%Bq&a^-~{ZoBKDj#15x#7doh^a%*|=8?n){Rk`i$$$0Id5?o~A)hAi7&G}|fM>G4 z%bEUs2Oe8v0bf?G$a8U9LRP75vwg`0r*3cUUDRm^Z*=~*U%h$w506Nf)xeUwcZ&es zk74&YF^gJAb?z4)RpPO^A%0Rxqi4E$VV)Pg`loC6-BoqjRkt_qbOM@s{FB$%dvxp$ z|1OShec>IR>YL&zpFUzHaD4Jrmz-5TZt63g(P2p%7ZZoJdmqU2V)IAG_{nZ*{+K+P zKVyg!kdDV>N|A$l2UvrQA0&U(hbE7~(_dHx=OE3d$j3M5By{3U1D??#C+^7N?%A{d zfBtl6yDg87xH@;cD!qUg-u%hecjl#FrKc`(psDRb&*qNf^4A~i^yZ@bJ_evmufe(U zt?_L1p1Dl?2+xj{6LeGr!Z+bF%<-9u$7`M-?v%mfyEFUv%5N#BSlC z`iq@U&t2rYmMvd7;7hmMdjIZQ;XQDCcVZk5qJ84&)K6oQPx_I&t zTc@6W!ho&5Il{|#Z@8!RJx>cPe}p<4BIY=DkNqxr*>ktI{G*p_Z+YuWw~H@HE>Ao8 z@!Q-~U!Hh?us&iAv*)IcQQ7CK`tdusySP6c8gKl^PiL99^QzDx*UV+i7k0set8tMw zeH!oKp|%N#I*SsS%9WO5IdLv8ysGcY+1sq=498U1H1!WA#@RNCkSga1h3wgXS z)uINQSzu+`xtnlwg$}*Iw~&oIITBa-gYQsc4vvYNz@kg0z)U`4bf+=zl7pYpAnoR~aE z&WO;yz)5V}(G&eCI{43Va5y)u|ANUr8MMQ-{D>Tm>7on3fdx17WcsD2xiQFvN52vx z#4H@|b_i0k0%l+Q%H4|oh`RWYqp%glq8FQ?dsG&B?SmP=DA?qI=tzzo{^-iha{L(l zjPWY8H?Bgn_MxC%C64L9*x)>uAL>7gi_{c;(4fQogJoYhmD!{&{p>e(Vz<>^octs> z`53zy!?b(p6J1m{!KDpWa6bC13nT7&#Y_1!ABqk7qSElyd3W+XyusW*er}%Giyzr< z?9z>R3*Mz)Je&KYy>bQn(!tV4dEzhORUJQcUPX8IJBFt}Imm@Zb_XX~IpE9mhHv{n zNiMiQddd20e?HE7C2kAt&u#pmo?9W&D4}USoPM3cr&lP@b4hP$= z_+I|x7jN)5wv``x(^#tMnmzC;)`w*9v3n>t?#U3`)-RV#`Wf5SSVGryW!&mIXAq^T zdM5wabaXO!`R`#Jky~LegsZdgK$p!`(RIWxp2idWY3HBKiRC5ogG(L0z=cHnpc&pF znM#hN(JaFx0Rxy62yBlzh;-!0UEEWdQe^q2PYVkMI*G%62e8n9udB{*q}}m6!-*pg z9Bor5Cn(M&VvHAW1n*CfyN#2lzr>GMC!BNT4{u>8d^I3KOVICZmM^#*r)vkgpbw2y zK_(CcxMzhr4vX2)O=#z@cX$TgmO-Gca|W)?5c=zQ z0%!2o+0x&WC*Ws%tRjOxXJ7oIHZGH$6nw75sKGOdn%>c{sN$rRIQZrCcnR9-po^ig z!km=QYv4m*O={{`A>M&DJfbI=NSKgJdvp<6^oNJBC7y9RiJE?ryQ;6X5W&Im(z`^T zWz2Ot!$;|b40y#cpD5*gk(b^1TZ1?)O$cqXh!@Tl5uNfu>)=kC zAoj8nJlC%g39ewNA0f*|K|{FmT;C2ny46qGETT4Phc|X0i+{A)Z)_6ZPdt?!`1ayh z@}kZ|>>A^^N?KXtFPN?mq}^RM>iMde>A;4M{P9cle4HdHL0f;aWqWp{*Df4}SAJ0+ z7g@v zOMP%O=S0WVb>zyrYo4vNuB2e&4rf-tdA0U4(deoU!P9cV(7A z9kDQdZoDx+H;#_wFZN>(x*}u!I5h0@Kiw_h7bXY2Q!VJmzam@O@%2-0yr6pW)2V>B zPJek^-`;JN1}-drz4K>Yvi!F}J)(;=nmY^(F^pP5CaDSHf}9Y710 zKmWG8)MtmiecS8#Xi2waOk*|}|hxsp0~6!jNhcxq_5)65t#^9!91KoumIIzj)XnFL&dJ!HTmu*kaqS|RE?|04x?h9AkT>kWL z9xN}YP9M7SxP`+-9?Bx_anGtQEPA4+j*m{TK#nn9-90^xg{@X!)JL-*Wq~{k@AX5&aI!|VW21G zImleZ1wXNURu=Gn>z7`$ot~e>)6LKif5GXZ;)Q)FSxL^t7I@Pkc>KR)RED&ur`R;j> z0^&3NxZ_W~zQ(9@pBQlLAVrtPQjXz;53g|Gu?s`{`J;B{g6L}3x3KBUr`T>5b7n4G zIU-vK6nEn-c2?v7e~qQ|tIjk8X?2i(c(iW^E@L-etX_fQH+(o3S{D<*ALc(DQs@_A zJPyC{kJu)fY#ls>gD-YaRH-Lt^`|a9hM(XJKjgw*?U-Y-;LZ3-Z+OzKIA_*(Y!SG< zo>7dY$fC&yp&sp`Nq2|O8wcBbn@^5ThyUs$H0V;y&Db5>(GSeV1$@IdIvLt{qz}4b z7eycXktfI{&!R_%ihSsz0KDe?{q-j@DP#A^uL~a^lOOcK=hWNI+6KHZSHEGwqP043 z_Laf_N{qq<4}Go+A;hc>!nXx1wsh=6!DPpWEqzb!(}!;4sj-i{xRqI?ADbVHuc1*{ zO#V}bKYQsL++7HSAMI8T5C1?u(Bud_9^pP%t4IUiF_)1OyBHWu>fmRi@j>`QuW@35 zH9XT->=MB0h3!`RvbX-^U-P=4EWU~BVGREIWM~qCFDY=539r3~Qoow^@>C0keDEt| zEWgni-Lk{@)%X|wmu+<+p9F-C_@FZvg=YLU4~tv@sXc?=xy|S!1i~wwHwMF3`L8|k z!nc;s?Q}wm?Z^XX&5`~3ZYsom^^m&emK?JQynyRl=`ANY_mW?gInUZ{l;fq}Hs;It zvgQ)>1D+20Yl!eqb~4}%J$}4wb&w;|vA#+dfn#!X>gzd%7Y)8>t^}rhhw;T9n~u%c zEA7NeN9kESk4AjQ@4}OpofSTSehE|yFM~Fzg(z(z#E{u#%Q92vjfKIPyfl&b1bZeT zkhv2p{H9G39R?7r@q=tBMBM%GM@b@qrI;>G&_E~>DkMU4j4=*7C&hEO=FVf~Tn+GS1!TahNVr0-y6E7X z3a~im)cTm*wQu+pp!A1MFy!M!8F@}n_7t>x1vN+|dSLFHu@y-4<-;kC%ySeCr0Q$= z^l$P?KRQv!fQB-6um}n|7&$qHe|K=eVE`eI;I}^~#G|K02Mz7*QdwY`WGBcZWbF;& z$WPYsEdypLP7nqUn!}v|Ew+R=ysrKh9vcv;T{dvcZt(L{e2hLTX1}VV@)&w)AJ`c* z>rWwyCqY5K_0hoDx3I8^!4huxC<<-(=pCnB6ed%7m_eWcmSd7d9Sv-{don-qS|zF_ z`c9W@(DU06vft;*x^E_UgC{j^EO;pVUdV0ixjM!yF7vwXt#UTFpL@`TdWQ zC+H1dy#m~}Ij+rus$LMfOaEk~8sy2;31I5vGPdCnjfL=prhen=!BL2rG?EFQ%^RB1 zmWupaP{!BT$iM^hIz%y4<*ORwdr4O7&SiCE3oL~LuPjJ=hzr^w?$kB)l;_nuDVye^8CikObqazp897i zNAnFQ?!W#o-mty!1*dN>eaV^IX?cDh8-uZsj`y?AoI7!mSw+m;mDR*P)_w-_NhJvAzu?m zbC)l>>!VGvf6E;YMK*AamX2@Q$knndc#Ze`2z#B2q@x(HLkJO-`G4(??{ZCy(CVg>tk87g?C~ zEqS?Jbr2r$+6#u+hu0+4V=7*imvt>Y4Q%dK4!*B`%bmg#r^YR1d@axJJvPrh4Iag2 zZ{D7hSY!=t7USvad3mAOdw=LN zjm_kjU=K|2$B*Tw=BUWhF%8zx#uFLEtmBJv_bXhhExRq(efPfV(?R{6ZNj&)swZtR z+IxQCCwsw;-_RjE`2L$O-q1TyXO5_H@Ut!Yw|9{%I}Y}uFB`q>_0Qi<@r>@2-dxdo zwwyb`*aoGyzW&1PSKoQ*c1jlYf8iZ3tE}+xOTGa0xp{=ZFl7_uh~#tQ%@5Q+*sOCf zV@x`9-hoG*BgnaDANDs@E$M&FwRbfi8Ibs%(nanFz!q>m;7&PRzpVZ@&BW+lya#M(*A{Gmi~81(nk433=f7c;h}qj04IYxdZxu zSP+w?F&y0fj5B}PyKu`{ZEV3%Jeq^XjMKe*%$>c2z#|y@K63e+-t?lW&$szqo5+x3 zeyW^w^0C{$__fz>7hQDv_Tm?vxt-gW{tcbZ6@s%DfP%U{8wS>#*<4Vazolma@!ifR zL(>AE_Lj8K;r)3Q^W>w+oqUFWMy)#>KRL8L_qnIkUn?EvQ((IJ=6l=jh>wuF`6~3X z+cx$-{s4w`6PKK7Vw3&)Q8_*`0ku8V*#QmwN2&&w(8K9XKXF3nSZ%kkABRzG28PN zwDM8vAC5z(c_X+QPtl3~`XIN)sUR<`yFl4^62r?4eH0vg;|aM}BGPLn#e#XGUP*a<`S zI|hZPxLW4M^HY8JI;Lcc&!to2OXY~{Qc&(#L*SnQ=0>7LCR$ zalC5k2uc$Kqk#5Z1&OWV4=x<)(D9*vypC?kM2^H!>)5Pj!q{%Bp|cpkYe*Dc z9a}Z;g(iC{wWVyBe7%*|bZ{RS$ zjd&WblW{b#0t4VdvQLL{yST}b zNdzQ?OO7zX8bV>J#K-Asyz~pY;$U2=s$vCF12)3eK*1NQGZ+EEGWu-cz;qlu{Un2f z1d#m-mVOLOeD2VRWe)Y%PT_09#sCvYz=J!-p1Z1_iMj!#@}!UCY$1WX?8ev((ZLbF zsmuRfqHq=!8Ua`(8Mq4j*B=cOl|~4Fumz4gynz!I654m`xT%7@R?mM*;6e zRA9AR)J=5^Fo~5jl}2Q*!=!2M<{4L|b9g*6(21CdhB`R#q>e0I=?@J9p;Fp`!y94N z^PBXQM3k@-HnjJ!TR7`8Y#Y3lJ9S_c8@gpHI=86PNsxY3^7LcM!lt8%MQO%{!Pp=Q zc#1?lpTuu<#>e$MkTLr-;h5gpKq z88UPdBgn%;V=Vh@BB}CgdMq!+H&?Wp)M8vV8zqrHyXj|uz;Asq{qb2kl>m5r6kb?^ zlMk|+{`%#=@r_UYMmOPoIdl5z=O-BC5KHsM>+uVCJCOf=PWO zay}SMcCklY7sU#veolbt!#*3-S9e~=hX)7Ug;L|L{Fx-D7k&CnzK8@n5B0X}A1CLY}u(kvi{PXj8i065k z5tL!#xmn2hpMU+e&1K+j&d=4qdi9;bf8;?wJNWI-tb?RuL+aRpZk(t@>;fGVzS;L5 zlpK1_>Py@~8$@!AykP&87oWBL&ab^XJiL1Qm%sRv<9q4Mex8YYArInL_=GM;^%PR@nPn}pA#?xIhyn)xAGSkUCB1_D9$EtI$8E}|HtB+ zz56dR$g}vp;_BNgYbbV$cXUcTFqeNLFEh(=(@5Izil+HP=U(Wi{R5x4rnD;pWP5qj zPd;}$K9AloF5Rvc-c8^ zv*=~sv}AwzOV8eZ=Qm%!z4j;1D^)7EJ`2wH6t{}Ut|%6GQ2kQ zn0E1s2n_J>#}l)VuRNVcdGyibW%GCP@q7Fm_YU%9jz9OeHJM}|MI(D zn_ND3_D?Na=dS9!=>2nC0l|wD0bfSxQjkYp*0;>!3K5ZsqZIN*xO6Z($o(nk=r?qM@X2P@LAGjBfqRR~FITB$WPIuoD}02H`({7JZ5TVc;qSVAPTKx^D7Uq zcsUqfqm%L6TQ|2#(AJp`-iu%(>w=% z&uNmE6uKvLpPjs4bSBd?pP6}!I0{ZUnm=|K{i>qa^Tmh26|eDsXFOywuJFs`Ogajj z^B=s=q9(rz->Jht@9{6L*E#sa&6oy#G{DqP)6cnxF+yH7hDEKV1Baa4c~!Q2*MG;i z`1XESUc1>& z(I5{Wt?y@x29$hAH$G6yM=s|g6L09qQ)Q;QsQs&_C4VKa&c|~G7d`6M#m!wN6}59G zDI+&qidnye6ECaaseA=T8I4i2&w2uv+2_RZvBrJ)h6mlwm6NZ@t3(CecSuj#@#?!b zIh3E}XF9Z7TBl$AihhEd9+$7$k`XU_3_ZRo7O8)g@!NTZ{`xhET+i;)XCP~z-5(-O zaV=V1lqG-Yb&W85%$#dvMAO17-r?!`Lt@Rs|D6BIsr+PQClh^<#|JO+^2juDjBMc} z>_t+DD{u9fzK;3h;aoZ~yvC^XXgpN^m3M4x{K4ajH#G5Jt#fW{L@n(IWxI3=o?dF_ z%A11_G0!Nkl#@c=lQYntai_U*r_(%#2O2~y5S*eW+l#Tx`Q zh@`d)gmGLk2qTPBXP-w{ZJeS( z{p}zAEp|M?NmA5Hf)dLtQkeKNaN7GnIyoX47VS`r{+uk%V$z!Ma{$IR(Ip;7n1xDdPa23 zg4*&mu^yh&H~$B=#hX5C#jC1Vl7o8OL*abOYevB;45)J_i}(ca`8en`s&=AXg6ej5CQ5J z*{{6;h8LN>V^Q*&o89HMPkrL++dqBht1w?&<(pzsEH3_cKX>W&XnubFK<)qvik<`> zmxUmjWow=2<0BurVtee-C&mX-=|w5W9eYgamC@-@`Mh0QPE^>E&$(y;owv^X=ukMV zlg@aV_s~V2nM8WA!~)X5|*j@3HNa+TwdI3!Y=x&cz4E-` z{n+QPuS|RamAB_k=GVUb+;Y6+Lf&&^|Lf6oz)C?~DnUQB* zhP+KeN56Z*?P{H;smcRQ!JhE5rD~S@xjK7 zeim&Kn}N}$eDm77D?b8DzX$TB{Ue{bws{IqPD;@4-2qq#9{u?6L*IXF`_^~v>7qA0 zaA>!fYGM7~{qbenJ@MD!DRaqb3*3jMXy-lsIQ>1Q@Cj?EU}s z8{6-^=k+`Ob_s?`Tzo(K))#F*^QMdPLb$|JE_Qg%?C6zU z%EOS}{^}FoY_6>TqL4Vn=gb*L&mB91-cm18)1s8a9K!9K-!|ZM+=dS7B`i(blkL0ln?n2f7_!Exl zVrALTVF&)iC%>6-ZQ`%vVd~K*JHPhnTgu}v#?w9*Fx|l-XDq6U<*3v>JI_3(r}Dk? z1n$yH&)Y7}^Vf&pr!w|k*9nvTKoy~JnpQQG;L7|JqLbDw+oPAtK)yX9;=cR7 z-~3G{<|cEO*zg0fu?>7sR)_c`OXuU}Akk4YTK!O3&`{)@FQugytIdZ}*ZEHRde*J7jMxeJt=c1r1Q6l7jpqT=Ra7CkGYdE%8_elZNdC9_6gd?X=u<%*r_b+#ys+m z*z0-L-d8`rY^!bQi4p<~mYn^ST&nP%^cOw`H$L%W@wT}>u=VBi@4P+4qx#A(7l2`B zIBUz`>0)EHj*&J0g5NKadLEf$`stmJ>F;7~`?6_t|KtzJH8wIICj&m83h(T}4)86# z(jM9Un%10scpAHa!M}diUFZO=gLC}ip194ho z=(#D*u>^U9Uz7%F#`^JBywt{pkB8(~{!5SHF*J^-@6tjD(?(>LKz^Y(Fu(BFt?VQ3Y9*_*YdaQPVdO1;0rHD=6pu%Ik#JSuKy=Tz=KzOh)1^9eRMX6 zI;N%$En~QlP#m*$^N3@5u576bQoY5}vhlPhlkRgqwybXlu8&=-)*RBhmo2-Dudzh_0#8;F1vLBO zfIWgI@N*tCF~VQxd`Y~FjmL&qo-rHW)+Xr3w*DKD@Fq8+=Y}B{y#a}j<&V~8zHA}BnBW@#B4FAe>PsiJjRMd1pMKTo~$wIc;Sa~>L@|Z*kJmz zy(qOPTOWQRc-umcpqxn=2XNIfaz(KXoN6n?Qw&o08s}3pfi=d9tWhpLyVwwZddHiJ z@PW=#M}&{`x7a3-;Bx{-7wc*V1$&M;qlMAvlrwNr37wPA!~&02_O0`9%7m?Xp(kB2XIR46X?-_ME#% z@R0yYvf>XMwvHPefy+P6GGNX`#W7?@CnVV1t{1m}9RK zfA}4vo1vkwwu+V*h4d+aRvJ;$&{*x@&WCmX(>A^FLRxGHaU&S}yJtBiRyDWPk z^b|8bX^@UR0>_8iA^V-gm>9Dob-|N<7Us!anSx9GkI_e{Pi)Vm*5Zid=&j_l5NcrH zKe$Z1rCyHWzY-@{OmzFy+>vVV>d(X@Gpfx2!P`M6H5PE`3T^*kx3ZEE?^+t;e8X{I z={{5{NApPd!Jmr@e7pT1iVw*H^*Q#)#{lwV?#`q20OW7tpG;1fnsG+Pj)$-yi|td#q>gUd?dW* zzx~+=`<;w4q~jE^!nc@PE*L%F15ir9o|2d7CWQ?5F-Qvmd%%nzf#pdti#RdCu$a{mEsWoYAX! z0NVFv0nq~NrTNJ;1)u|u@`hKOyS?J2XKr`oMNo3x*{2_um)gzZBBd?bU%Te6?R|gs z&C0>Y$ir9cH~$7u9I^X)rfdo1iyzX-V~@|IP2?(U$S?f#X?$aNGLiQpLowmm<;Eh6 zpu=zVD?D2ke`v@Dp=~~5;S&y}<5=MJ>mpz9$gT1fJP$tfSoJw}3jO@k={K&syLp}s z*@MTBLr!Q8B`w~QE0jO~tE;zv^FO|^_8m>&%!?PF*#-1_v+#9Seu90{@kjNga(aP4 zmnk00i(LQj_g%i-A6sc?4$3wxmRH9StrKNBdn5~kd|QDBJ|8@KtO6O-D|d(P@Bi6X z_DQolB;@v#oe3M|j*>Y~iHG>Eq>E7H(S>P{;bI`uyKrzg>Opoq=~Da~8fBT8vB%3*Y&V zr{-(Mj>i+rN5x(%ufgPk*(W~zt&S!@{k3GZ;4(mgmTI|Q+TieI75c%8BJ9W)5d34sc%1H*J&z^kM0^|d$8o^kLC@lpL*r4Ji^GFmtMrb{335EVyAwP zI&&F)r(d|}eyk7}^eBMOvaeX+XC!?j<3Jm;UtH*x_hG=dU(7U@CSK(g`VbQe-)!Cs zPDM_2zBT81qpzY29G@0|h6K9DCu*RSZDPw6A( z@okaviQLe{xAC|1;-Up#?u|!*gZn_AsbBNZN}cxR%IIpav(eZ->of5I^kXObX-=gl z=eN;C{?M5lHR2caucVFd(RJ4%LIc12$?+_v%a`CMPj@_ve)t_bn2$sYp&2{s7oE&G z2RiYMpcE@lJu&B}&<)gp(|bp-P9t?5$zn3JrV zG?-zXKa4-mxkk^wVy}+j?2VJq;T^e$Bs}9RJY?V8!=iEf=NK$qgV4_2+`};d06+jq zL_t(X2#JTr2YI4{S^JoI2i>!S`Afv+@*M+=&*DYrak+tkM;sID$1>)#V?~T^_-6SG z9X#t#N2E~56xQ;Rd-P+yBz#te^jNu3UwJC?Zw|*CeF0$FLNbgvp8SB0_#1ysQ_>+?%0Z0g7@S&l zSY;M652XH+e zpI&ofi`obCVg;@zMhafAry*f#N=y^H*EUHXm!>WL!4@r$(T%8*|aK@R` zv_AOo7_i!9JVBr6H2sSsTEo{2a)WoSTw2UB5y0Ji1Q{QLb9^E^C7J1OaDaE|1V3b; zs!m!YdkH4>wPpCWHCXf~_@UDUg0%Z<07*l^t&d~6@ev~{KHz5G4kl<~)2sE>^Pree%_dhp6x5W z>KFX0jb^L6=$_8HP@mkwr%Z|DodB1|4*sEUGI(@yoW692cd&9y#`b}y%Y4|>AWr{m zF%$m`j`Do);tFd9r>Z2!^xK~T2A_*a;~U{6JSjb9pCCT)$NHFfn@NO0tAk%~(}_t% z$Cl`8CPa}ha;%fXgM1QrauJw5?1zo;HulYK85Vn^Lv5)FYkY>jvzNPhzP{ab(>-m| zMQ!`qK5fT7`&Rbs>Y5xCh;LoOEzwXh9-=p0LQCeRA6_ zTifz)c}g(}V~4qeJ3bme`NKcIEQ>Ysj9D=HmtIuDPWD@4N8JGV-v0PQU)w&FXKT_s zTAhFg=lra5d|>WU9X$Fz{S#6tql<@fC-49EAHLYTe%B;s#%C~WGkoF6M?XJr?A@u6 zQEp&cP4@llyUpKt1F9R@Z1cG?cfkE0fAGaFim{Ii7nLc*&~~@+-+lF#p{+yt z7z!?Io`24Xc>&c)S+tnDB?=fYdHGNO@~Z7mKI|^eu_>GRh@YN#gcEiGD~DJx8WM@a z`qwNZgHbQGobd6z+B%hDq;h6s@;AOPa%-D>G-FCo)F;M2#t-B$zS!|F`1v=#sXqii z^e(uV*Wgo(TM+op&3<|vI{o+>TYdPG*Hk7v@@c%6UU0y>;-=$LI(tdl@Bin^x9?{m zYqA8HDpKuaanj={&dkrNO9Y{Qw(UE&Jh1(*zyG=Iw%oy3o27+*+08Nf3LZ>k)qV7{ z*R}5HUn8rU@kx80JNxhc_{-y8yT0$tqG`P+EYM}Ym~!oBdu?7!g$`e|ofA%emE-7^ z4%O2If5+k2b>_U~9bDio(sBc~S8VA>f4@pNFVF40IX%JkF*W1*=bRelJ0|H z4m}p-|NMh5JU)tS$zWB&t%Ljss-zJMUp2diB1$tO9gZ*_9CVw{; z6O2E|MfX4d3wNRC<&6jY2klbkPUGpDfVI%)M?M-kvKURzXi>t%COOB~dIFwyKBfpl&OaWyz?g=5MH<)G3{LJ`e1?tPcSc`z&oEM5=0MJB?o6G0UvqL3C!>qI*udP_`La`33lWOo7G`}1Ac&)EjsT>W!UN1&!!M@ zee%zmi7|I_5W8C3q7#rVCW7xdSSl=JDb>S)4f(+=it3MUu=InsHO4wmqmv)?4qv%s zF2Ds@Wun*WJ$Ts^>{Ic=~MccBa?m4g6b(lVUz=CSTDV`N)(3Pji zwEV2^52Az={iLM(mG~R~j{G^tN2}*-;b-!nyJ~a(6Fv0&C5*3M zPB`!5>r_i8qqiW~&JIY-7D|kG;s${1hgO zJICzIZ{X@VE#*X3zC}(KxaAbKLDyJl%xDgX&^0$9k=N>>PFct0-%;>KyHq zC&imSm38Xay*VH-#Z%bf8B6#aUCme_AE_5dKKQJBfumyG?b|Qkf8qVh>-~DapU=l5_+wRS(dW_o z_T84n0Z)bPY^A@uiU{Z`_m^++{}H5_+9{`$?xZSr_T#HZX#m}@q!No4gV?8S zS%#1@(gjo85W1x7QNo1h4YT|@)Abp^)!9KkOO~(wJHelQo3dwtt!dNDO8ieK(ji&# zULP#B7APyI_U-L!`R4pbPL5M4h?x@)ZLlPKZibStTK4_0nLB5dHV~QC?n%vbe0I0| z3p&4y2kd(D*~x`hfPRz8zn^q{yvMJI9!}&O<^;-bY`w~-W-NSzKb7zdJK8T93XQ0n zQ~!2RP(4zp;xb@PptL`$)OxUDZE~>oy~4;Tp2xTGua=h&a!XAIRiQ%Kw? z6Q9-m>za}|R@j^O!^n%@Um@`lJGZ0tyCUFXugK(SI1Bv-S|rnR6bY)t|b@L2YJs$4a0KfmfvxDT?w8zt)b6$|@j%m5m@yS}sj zIbRvUWs-!Htc1l#$=5;4B}5nC$@o}B2QW=bka0=KM*wN{71R`Xa87Wy!r*Hye?PxG+-vlaa+@k)mQp5O|zI{wzBL)`x zEDIvrWn{Y9hSCclbt#{N*lNsHxxNctb2H+t-Bi15xQW5v zuYF)H8*8foS4rkrHe-wE4?89AYl}@PM`3IIt|aTVez|LX>0c_BzDLRY?HkxL*?2|n zF12IOH!DY3D2lU)j|Kmt6oPhqv)4;2z=?~bWP$}cEy3|^i0NFpzQfOwpDVqRIK-|A zVU{k>7PG6Ka0kGxv;9w)ocyhU!%)T~&`8)Mm@_4#ockij5uIl0w!?O`rWN~1|7)+| zD-5D14$GtJKz~jj|+mY~eFL;rBnnTNqYnlG~pF~ty0WG))dqWsf4oV7H2-pXQ+N=L$&l>7SXw?3gg9k&!ngEbncs>Yi|OI^}r zA15RD@)&G_PGXTE>=<#{kG1RWRuaJksNzUIPRqo?apl`wI$!NL{hx8R)-tJM>f;-q zuqcH6PTKnny*S>k0PfCzmnJn+10Z|@b?6KNasEpKzOB~ioV#nJ;VWL8BIq*$a+?9~ zW=K@jE=Vkmf4L?cDqDBp5Zdqai*rJ$P!QWQekJJT15eL_&#_taJ*CclpYp_)+_t@? zgbyYbPW%npau_Qc+ojn0Y=1cD%CGj;iB(KpS`r|YIyp%>$l33VnDd?P&=0FAjx%F12GM?QtQjk|i0 z(E_ACImsfBOnjd}+WKbq?gRHzqjq1v8*?dd633Z#JDccq0Z&ALCBmCFUO_Mj5I_PJ@FSs zlUzO$5d!bAdGaguBhEK)t`hzyLWhzU?M1rqY!BqwRrt9P)c(~OeEkeVN*U}^9}G-@ zJ}luM-|%F~3)))6f_FoY@g@P$n76J%OP)8UwanAE)~D2_It_LP)Ek?$3d<}8ANJeG z)T@e~gt5{K-Yog0<<8;MV&vaZ4=$*0s)R-n`%$OzvxrnkZc_7vDW;m`l&WqC|kU ztY`H^J5@~gO+?zcS3!I4tP{IN55chhr%yhg z`x06#w5TsATHH?>rw={#OybB3OW6O)`mO&ZL`&|hc;|O_+n-XYY1~~8k327lFYY*m zvWOhKN7abs;H@|}*Zyo+zrS+kjfRi5*8xZS-X)At8B;^z<%kS`=SCdp{c3g0#zbeN z5Hk4j6KjCcq``xAxvAz4!Z({ngqrVT7n2s>iFN};wRK{fo)FG_d7vED?S1Rlf2l=9 z6064#zFz3$9eHbX&`4rc+q#9^{cl#VgY8Lj9GKo(Bk@=^4B4N7{1Mi$)tzSRCvdvp zc+i?0pMGZ3Ui$tb-y+)HTj?|K(%e3lP8MG^sOwC|GV40-1c!Ltmd`K}hRd>s6!(a7 zfv@$4+AHztTKr7YvV<^AU!qak6<=y-gk;b7zaIpkGZwaQJFJ{C&7`dR$I zd#S^Ebj1msbRbTP#TI#MR4@`XTcTeq% z1CW0GKm2p8P!XT``iLf`tBZWzvkFTZ7rw4!wm9&+uRfQ3GQD9!L@vGgSzSAC`8qtLR44R>WV6Q zb>+uNcb&od4_Y2ZO5;k?>L@Mx5Ir_y5|ooc#XJh54a;{fu>mP93&O%(aKGb^!O8V& z(c3gH;|<&GQj*tt;668{Z)tUA_KNXK|G~6H(o5T;9tEB(hN%U@!TX?ldsJPxTfb?i z&+@ExL^W9m9?wVq6y;bRwA31!{Gxv2jpH%rBeqxRSsT|ItS%jv!w3n2y?o-U-e*CI z=&l8?eE|V{`9i*(=>ao+X>H}gD{C-_&DjyNv8)+ULDZy~9UQFrwn!Zx_gaaWI7EM= zO?asK^pwuW#YO6Zw^}N{8fS}@;2)ZhYdtP;l45(gk4DoEnE9am42*h~7_?bi@1Gb* zP61NCATsdc;M)FS8u-`d={S3j^mOo^`3!mB!B_M%%R=n`PtrNYgjCA!>O|KM} zcEgwjOZJlFe8C>v+x(g0+kgaPA>m%g>W6KA|Mi(_M`6Nhe!%%=CVxaref1spSG+UC zdI-F=0t!0pXzz9_ReG7JpkaXVjppEx!$Yj#>#8FYzpJN?aV)|!Zn(w3sa2e(2}Ryv zV=6gP#~9I5rzP$G)+!MmAiQdGb5H%%K{Y4{jcvYqU0bOFgOQGyH(ZWhR={4ZtPeIt z8*t{ZxzG80le24QE$izMQ8$X~OZyh5{@M63l6C3m=}y&8IG+(NwF5==2U~bOx1-5P zbM9Pu9J@1~5`Y^+qz1{iw_ZoLyRCKICaZ3LUaas+6zRPL$XS-Vu=4<=;#)0FX<-g%z4jV&{XRZ+`V-(n0~B>dObb z1iuBle}345wfR?5LilHuOO$MCmO5!BfeEnhH}G)Q$0io`>8zA>FPKy%sgZtJ2$<|h z6E=Yyj>iY?`2Xq~I~26s3!E#Y?z>h*r!7Z*CoK9KrLzsnLH>I{r1&57=0g4Hz9zJl zDgV*KnIDMs!A&Mu5V&7h+cUtE{4EljWS7Hz@-aTA zg4hAs>6z(*uM`|^7W64pP~ev|{IY=!H5p^0KRJwd!ylirTC8qoB+pR&R{8GV=t{1Z z?%u8X<&AJ5(b$agqpjZg!h|7Ayy>xTRb_n@k^Pr|=ZUI12cvboQ$>_Tf5c~u1Qn!=5>CtQa^-9wa%=BHp%=dfoxtSFjUofPot2A8Hc%9W-tWa-zRnzx_qaR2(g)Ii~ zc4NkV!sB0GlK;>fBZcvtv=`n^xXbaAM{uXerOv*Aa;JuXSL$v36i^ohk{^&bRU6|H zDLtbIc|oMzDmopp4Tuy6whrbMt#9%l%WPaQtJ9_^^YU6HT|672OqxXU6>WJA9Dsya#pv?m^yL zT-M|?Qc5)R?Ed(bnmg(3K6CqUcfLR1j3%)j{kK^lW@qrFodG_a7~gkIXQoBsZt*Kh zZ*p~dhtTlYxje>en&iy)Rmj$@o$;3%dln^wY{)%BY?Te^$Roa)?`6CZaAW#-#u2F_fg$TY@o&XD%@*Ukro#`!PnQMPmBSbb3h@4VSd8(3He?_ zbH~m+Qn3?}g#S7wB690;q#4Ux(B0+%FKJoI9OT6z^u~}(Nh4o<aUpekB_oN;u6uV>?gX&quy9j>Pi)+a4+>m+-kdlV7#Ogo`^uZ zb$&1MAT7CZ@3q5s^|LPm{Xo1{Y;@s?Ja-P9m0>|b73|xgK+&@SAOh7=V0#L8CE@O zbEoOU#|?C8b9!An-sipeU%3pTt#zv5jnQ+T+c^K4kH(wv7=3`z0JyX7q2^;!15dch3@x;V z-b>u^&e~))W&V%#D^2VLMRX&Dr{1c`#9{bwwTFHWzB-8M)J$A3I%Y{pF!C=cP-y>U%vhj&r%#4saJLHnvYw z2RDa)FNaq|rJM}~$w#D-4_lqY9s45+91{YrKCro`zwq5V>QUd(7Zm%)g9k{2|Jjh* zkm7)c>GKylO7y)fmT%;y2+)^h`t;;860~F02JI7oI(+2LThh#p3BT2N169Aa3?Dwc zqZZF{5T^cPGAC+6^)iWO{Dj@i{~+v`%9=i8jF-uI$97I|@#hUyx7ladYr(p--FoVq z4HG5*8!7;1g7*^4`#+@bjAFY;soe|EH4466>&k=yR9;@@L6>wKDU32xOc{XeBRd(ejD~aIURu5ov_Tk3yP_mcEm4z2iyWZUaD);H=6z?(Z4(5>SR${0upm~f8Mz~K^e+^u6}(j3emXisYM_^zL56lv-Ex{AXsia zhxi|i(ba&|-?D+NA(sD4RU9)8D>*mTm^m)DKSGXA=iaJPlsx@i=sNg4HvMbE3*uQg z?^i}=518h@;J=>O;I9~r5_q?d8YnO^l6Q0EES? z@d%T2N!7hgnJo0PtC(NxIph!OJI^%_mu2To=e>HqOc2Su7>SCuG^9I|%#7?Oag7qL zYc;$?qt^lAwv)x;yk$PcpA7siq8KtJDAESuc!gq#-GDNlhbg+=KPP0Dq|D!hj&C)4 zA;qO7sM48N%jF?P7deEeToJq&n;0o4!WtR!kn1N`3}?-Y)Q3~8etb#&lP}(OtuFd( zA5xHGs>IS`tIZmJOVH+PXX5b*MjMBCeae|@9HtkfLXP?Z&w6QTtn>HDGiAaof#YL+ zgK=iF0q&Yvvg)#p?akBkpNa+4f_g{zpyrHQW|Bz_x?WI@mP@%={*o*M`L0_o8Fosg zizD9`)f;|*C$SU|!7{CGd=?z+S||l*Uh8o`!n^vXN469l_W5|uw4MaFp@IFsEBVcd zMElgum?Z+bmM^L~At*U;1yTot+(n&%6M|o~3z+l~H&((_jj|a`P3?H&y*86xs8!>+ z1i{zRY)>?(wgf8@@pcqY3DtFaTKY!#`LppN%}xWomz0%CVR4!3uz!w85jE%PAfsYD zaHR{qx|QMOB?&2I^EK;7L$;O#NFG{B1o;53!Vr`dA5iU5oUY z6f|Y(oT2jal1|$~wYDBH<%%#JpOH`7|M~?X+OSSq9BHTgDQJsJcM2)j*520 zuX(actRGBWl{edeRTO-fS=d6|qg(0e0$H|)JZw@*1wuQ#|FsYAfwC{RWbfjF<4W32tu5srYQ}ZLy65|M)58b%6clpZ9 z`u=NyG8aovg6;kMuVs`j3Z-Ndu=+M_e_#!oaor2jyg1xC@$m5^0*hqTo4w5?APSIj z%&EH(N1vuqYEmMPX}5I~E!laTJiWh{TQ&6D^!MypxZP~p*t$)-2z)u_$)Z%Pe&QZg z*{gX*lETx+(>1SI&CX+|a#aqnlsu+KEst5Eb;Bvo&we+5*1+LG3dN<`G953I#KkEI zg-VKy!A%7HT{IN0*s09cP_^5_JKXLzn0U)2~r`+(%uZWGWxa60?5JpQ+mLujFC8Pp0)__R(JgO_UwK35kHAn(&D!t7`W z9>ijk#kcORwyp&9ZtjqU4d@P0>W!2qdnhpQ>KDATw>Rx>yKR$k*XIJfqO!ol9W)Er zpSn_i!COg_eV-RlOTJ&Knii8*YU9BRQ%opg;Rt>HszKG;ZVhfXc}MN?_*QFX9&v-R ztbCR(Sgc$U8#u>Pk1Ehjx2UNi)SP3XExttn#3I@zJ^a>MctFm?om!NA6T)oa32S3Xy$uygMDPwX&R< zYTcV-%zlyxv_0JK_V9fvG0g4L9=<>`tT6m&1_d`4p}&7lEba06BtZXy`0ggtgmG1y z5CC92w^yb*!%>036OG(sgqsZVUC?lw?Hyt7Am5_X7#1JHF>@@c0HRYR0rpy0IU-@p z*S97RdX4)DFxyu&H3Cvh&{i{Wv$ifn=5K40wWS~U7GFCW=o#ADaz^_6%GHL_XI@wN zq7h-s3!b2twi&Qu(E=TDA($mq=ClbyTLhl!H_&QI(O(%ykdp>mdRroyJhvC#G8I3& zGALLzHoCO7_MF?QMIXEJZ|k>#*H@1eQ9BzpW2L9Di%wymxQs@P$XC)^;Tr5%&LwFZ0g&m#+t5I)AlWwF27M76g`IUR?#=4SogY?R9{>of@Q9tP zRT`@k`Y?2ATc`FIRYPg{M%o6{E=@T*o=_fvgZ$HDld*`?CABLo$B0zR6;V_|b-79t zD58%~@p^<1kWnqpT^h)J^Alx{MtO%#z|`=;*8kr;F*jGNo+_Q)+!d!i&k-WmDbPpNu40i&oL9GOy z)*63`h3vfd9}bdnB>ySysq7uu`mfYY-sG_DaO4wo>#DwtYq=69sgq)lNsWO?dj~1) z)4Gk0ztbAVKj(~!ZQ?ek)FXp#yz9co<^{=7{&Z4jVej#0cN#D_GPYsj{BFKspcCJG z={#R*0!E0ka^$3vq<`c%CZn`z>wq{mfFf(dzey#luiT;QI1sjf%k;9h{PQ`sHNrqG zt;Sv7XbV>C4dAcezvL#f*e>(eR^wr^zaj|Zy|bt2`ykJqndxWuI_prK{wI2XqT?+$ z4>Qkbo!QGdqn$rZBU-IE!rQ9NCRS#I`vpYcg|1siqO!o9N@99m`*N;aOsvn(&u)sN zw_Rb(-aSy+Z}1^thm5N0n!RfQ``8S2pDzmMcF(YkN28o}U4w2Q7a9v1TiL zi~90P=<~7*{Q&RKAKp{9eY@LbYWkwMy~U;D7EdJ|M%&Z6m52|E-qGhgPcSpQOsIWwhT`*-MElv1)b;YSc4nFpeQekgRRY1v~x zSlMngx9kTtr#U5lBKB9S zJgfNXe~4=`e6tJs9=0#99!WpW!n@tM;+or>LUlG|$IDr;{Wq@K0}& zt*mN(*9%bhpF37$hTiWs_a+BqzCmjYytIG| z502w8mK0|80bI{>c`)^JbT}Z0l`*2Y@lVaBDJhmU#{2#%ZGxV^xn(r!*Y-mdH%(bu zR8l)WUR)`}O%|o6x4j2EXot9IoI9d`Q>nW+mO?b6J#xJ*Iq!8^?#adcf&BqUk*S^*ceq7G zj=|1usKCz-V~F6sMXXEKxQG0p$N0$Mdm-T+OX+MBW!3{-96MPr;A-dLJZxZ7D7zJM zA`{_T8t){4&c8`oP6lG9YuX*GdK~c~#2d>eG@Q@*qSU*ahu{RUw;eg9?GERXwWUJ# z6ND;t-l%J=BfYRtWxfqQc=`)dDENx_%H-&u-o8~3?5={N{ke_x7) zM^O$c3rd96Gn^&Fq{oQYP-JyY{J;O*N>^%4vvE4b;D}U;(-fV$wq>8jh#puz%Q5wJ zQ7D;B=rB@h!ln6VUt~l`Q<}8pMzg0RW}(f+pACeaaVUCE#hcAuFJDlHFbRa0BXMP8$}HUq)gris zN^(vik@B|qy$5;ZZL#JIdz^tq{ z%!vIjKueniqiwSdc0TJSX=Tl?B(A;)I-}OFWe)uA;y+ zS~OZk>2e=p*dtKrwBAowI^Q8>isFoXBAu6-8uFUM%K`Zfw%-Q3mS=^3AF*s_p&5C$ zBH!k$kAlzy;%NUl2hP7U5uGEO(Gp1NsoC$T{52dqAt=-Qo8~>Agw_xt5Hv*uzIKf8 z(^r!1(sP^g~#)ANXUHprlWbp~O?r8J*wZiBH(i8=rQY;kzHkcO>PSLKdnM9E0ynHqeTK2e|b3Avu z!O@G4lI{dv_ph4#;(|#xZ@d{hwn0oasF8_~9&5cnW#L9cxcgdH3*LaA(+Lb5U;I|T zuGBZK-D_VUgFD!(=Ks^=9keGpMDT|jQma=yp}n694X{!)0*KNtI}6_SJ1kPYdvJSg zr4j#n7NL@-Zff4TWLxwv2R)Bd`(rfdZ-u4&JfGGW68A^(TVwSg=W3rFPP~sE{8Mq%{KTr{P=6RdN{$| zYc(%}Q6R&+wA)7OryxR-gA|scUf5BW+Ij%aGx?7^+s8+fU7D03BP<)FTb9i0lZ*X6 z)8rMFsobCBV-e)-(iTSry$%MNF%6|VqdvT49y?8RA?A5qpDe^OVn_|5Z5YcyA;vrR?q;Q9Cs?z6nOdXvxC^m;Iryz zp7Y{9O^@4o$;OTmN&)=*F)_V@gp1I+9uX@w2N@yge&1K`?h2~R)7wwT*dVsow6}Pf z%Dh04g({)N{15 zjgm7nx_dt8ZN9$^tRBYnW%n9-d$im~I()$r!X;`IRjkEeAm-Q@JuQC)^HMtjNSj6g z{Y@0UP1g^v>V&l*eXr1)ZltUms76Ob#9b9zyz~XpaN+6(daEyaNvcoHP57hXfxBD5 zLzs3ec}7GJ(Zw$qd!%>{@}(aEAyZZTusAI zh^yn_Y27@Om{o4Gk%XS=s?G$krCF;D_W)Nj6-g4xwrofaG>gf<);x7I- zGWO-P%RLlT@fFFgrJSvEB(&s=Swu{;uB#ya4^^CvrntHAWrnI6Jre%(r{4dORwr>CAl0FiekhSD0+*&(j5E&#hFp3lgnGKn4|XLTk*d4qX9Uu|bhuc71VtGJzbYrgn`#Ha!nUK}R3c zs>71m2(QKa#yg}JscQ*c~sl}sKI~sN&bTnl)G;GR3ZB^a5ViJK~MLfb5Dxj(xlX7+U z8gKL_v#c^v@h1~RHA(6fkTBUb&onAg&KxpL6)|MPTK3G#42cg?Dq4yf?`CiL?Js{u zJPqU|;BNwiAb;O_q!_CnY%Vg{361)4Kb=iQMZMCHz3&M7PKbe|xmZkRW?q`=uUl9aqRJnbdWIZ$acU&>mwXdh>Tg?4;%35Hw-z=@ z(5F}u30+n@qrbcEg7D1BW88+>$reSv&QqjO$AT^;AL~sgJKOeHo1M-hK9E_PHuzl~ zGZ?kzNq7*;HrDPtXydyv_U48>-6qwly3Y9IOX1d0qyOGzU4%`&f4_(P5_$bLTTH$9 zx6pV_dS<*}kSSneSLk#@&ZX^|8}7#D%Hxg#Vh@V(=oFb1EF?Uw0ZgE5Xw+ISsviq> zp^ko{!rh{&XNGAHLuFKQ%MG-0r9Wj<4Kxvt3|CnAeJE{5dtgbLxbDtu_#A5*gDe0s za96{o@9m09?kPIBE^t@83rtdB9w)Djuz8YM(bwu(R6vC8wy5Pm>!$tXXY$g}UcRm- zGCs@hF%k_xk1u>${P)>bd->b6oodvQ@UZNltpz+hO==DI~TKX%m%sc3#x%DwQ zuilq_nm>3tu}TnVU-oVjEcSPd`=oB|*v#xht1-l6Ny46sl{XHN$jyx?9vmA^NgK^r zXQ_bAe`DwSNKH4i|GqvMhbJjG)L83ujA2A!FF{XHiX9qf1>pI;!Y@5LY7l0KUr`pw zKVO!nsV^M~PQz@~HU3-;w82%arLCKddOg22h8BNf^;W_fPNL=tWOOb6&8t(783Z^G z|5PM@W(&GmbdvUllWaG&T^Cgj(sqnSUg z?_OQ&=AvXD^_b#sX)lVb`oT3P(+V7n;XmFb`q3=li7cDxC~r=Vi4z5u^_x7;eb`$c zzt%pzE)aei>f<&LW!9IsQ&uK;#z7*~0!N z;K|f*jk60k)6scXMwY|5F0bN!on_B^HQPOzVW$U}21k<;q^_Y+xMn0-ig`Wg5RI#e zIEm?+Il1Z{x)*Y?0kk2RoUWyuUs}-#+6DVxGcBFq&L97?42S-dS#g@vcY+|BaMdB$ zEuFdheLEzdeFu`(VH&eG_Ia$AXuF`6Z1xAx*`8FOA11kM~zc+e+X1GB5PQw`f6k z2D~S+VtR7LRdYnX^f@6?CKeXf52CW9;NM(BAe^&t?``B{p|o zpAz-nNX@tJg|eRGnAQIqnPXE{v_Iwccfryi3xv{TOcakt5H+XMq%PUH?vuh0{sDaq zklq|O(>~c7+xn4C(V}6dF3$%7xQ^mM)3tX)s^rwJlnJVU{r%Y5CLZV`8)!&*mF**h>>4-M_(hTXbeW=@+4%F}5AgX%hMZDqOkTowb?%`gM zM;+yrWV8$?2VS{026;1>)H5OHQ-kU5C$$`s{Bzz03E}=WEl?((A z5MC${kG_D%R|q+kV6+`TDWVoh*6^lR%Z(I1C9he{cr>RzC!F ztZj&eK(AdA&#TCO6p1%MdYNFx@+#; z@&y(HGucgoN|njkINv(4fdE?HJ@~txQouZy2%U;o99^gPZVB(~PZ%r*fiIKL5e0{T z7e{8*D)3JTziTaQH|=lh?!dMdLr?ixuFDZm%5-+ayR>(LZZpZ+_nCI6h%AS$?TG!L z=hh~hR6eUcY$^m>ou>Yp=P^z_)sE_M^rZY`VyII0#3?RbjiO}4gpJbs8R6i@Iz&3K z@T+;?@rq^H0?TiNC%5?TwI#ikw?&esotK1e3jLo2FjrTeg$C4ES-z2Bv`H6?dipjX zUO_Yl`iMjR0_)sp$IUDhVh@dSdOuF(wYoNEBf?C#OPY)VQn-{az1rO2(Ko zx$W$;avYG7y!L-tT9k%v=hq3rw4HI^7d!Z%2eci~8RRy46%L5SaMx)LZ2TeP(Sd0* z;^y1IF36vGq~qU-{xQEY;z0*sXh{%z6t@xcfQJIe@-}h9uqHp*TB%M%y??*M9NT|Q z+{bP`WJ>(@%W$ypQN~T~z)i}4-1E`cP zN^NPvW?O#xTR%-R;SpH_PM90|E@8LjYn`S~S=>ddN0 z^9~eogy(jkr*jqB+c*n>1xhuAq%Bc^wft-XEofiby?47XbKGLh^QibO%1zoo>J8Jw zyn}4`=2JyI;)2WUT|pd^V{c-qhKu{Lq25gauagDuzSBnhhV1rym=I5`Utoiz?Juj=vv90IMyJ#Zpta zAM#p>qk*8T?Dk^p{9$VN_KCye>G@SGezbk7fRB$-^xZCoF)+4j?JSW zlq7Br^&4Zh#!v_(+tK)G_#*hcrx(-qiU8d^{g~^@160T4#38~|u;e=U$TdIOtvuni zY9oX7m7y3&iv;%}w;@ALY@)%sxG4di#_$z!W4l})Z)&3QGXuCTwF26VZP?vgpMj-G z9%+Idnrb6f?BS;iZE~pRU;8gs`cZbm0zp)MUT)19lhK zqqZubX7jC&d;`-9FC05OxcnSDR2d}^alR)>PFoPHmEXYNPdQyQKu*m#Jv_pAqR4-^ilIx7+CSx9^{brY zVmhne9;0J8aZawR!;C3Rc-N#ELo|&r0$a=$6?!*ICGcUb! z;u5m%xc?%f(&MHIr^ix*=~Xg{x(P2Re!*QD=ekH5EPp{Fn+p9t{tx|)!N#}`zTmhM_3X9ik6+ zvU`=#3FB6(<fw1u^LF6;cHJ9i$A)& zi(5rp*m5r{KA=Ms|EGt(usBQEp0;EQ11z#t+@r@)FCj*w%;_xP+;(E}r5sab8cp?2)fU zE}?^m=v)prP8s;ZD{1&uNe@#AWWmk4p%gV`0doAGt$+DOkolQ6`qg3GsrM@_UTH4J zJnclq`3SWFMI{MXmKF$2`6QZ*6;kH)G zZZ?~thP}h#h-yt1)@8*<7{9BwkWh)PL{OrTxQ%X~rA6JA2pk zg+xF$3u+A4Phbk!c<#R&!5~8p78}SXjNNvpQxaMN&s5ixQ?f$ou?GNsz6ITEP*yi+ zEU7=P(!mv&Q973Uwh=Rt4Em>MRmPGvO)&+%r$^1U+%ffILx3p6<7vclYcf>kMeV68 z=*#0NL=;>u((zCvwJl5vck6U$*)V|LT&U1wCl&5^VnB&}?|o8}J7l{0FTyUp+6Q%y zYd}Ir^V*cpf{P2m<2r@uoWy0?2D62Y!#!co@q5M?DL_*3OhdZUk+qEF$$?1+^yG=k zYFVG#=2uj(2&cX43|ehit@Hb-I81rSS@II`pIh59)9pN0t=NcN!HrO^bHG+ zbv3OmjqWRbv+PX|x+l)R+3dW*gz>=Aj5_P8BR^eTyp!o)E{-6YE>S$(1#0VRDelPX zx{#AqmUCi<_Ex9lch>j*(eX{klDdK?L@OVdh@TvVmrUY)Kd^ZCEo(|1-6lO6ACAe* zu<-G%O~y|vAtStwI#?Jh|DBSa*=^=BwywtQXW?lD^{lm+Ms7{i{Qqb=@317>_y1>> z*5jbE(%fcgeNu6xhyyAsD_84D%atQ77w(CWS(;n3$AyY%Y30t`3L1)%1NT-O2yO)& zAP8T7fBgQvkL!>7xR2|&uKPUC_xtt!5P^OP_d88qw}%{1)`Rq<+ViE{&aQ3(QIN`Mh<#*Y2JY!S|RSWmy#9zE_mp=XI*Ofrn8uu+=iVXup6$9 z5ty+F=Vl=D`Dg!97WwbJX5OLpMI8jR;*<5BC%xr4Xvq7d;*Re-m1cN%7h z5Z45lgevd1iz*a1{sB2un4)D{d@{XYf9y&S%boE$JpOV>{KC2~zLF3ZejzZBIDYc2 zk~Qn7sK2^OP(RT!fi;92ny)@|)((rSs0Sw=MHw{PT(Ms0sLJps$F-j~uMB0~uyC@0 z80gz@W2%_RY;QV<8TYSp&;jceO+o&?^r`9Hj{dnyQ9u>^!EPLtaqR%^6QH=J{zvMr zJ-*z_Us_a`aCnN7xChyb;CIcjh_G#YGGKh9b-IYS+hOt8^M8vA9i!F325TqQ6vnil za=*NGwYCVv+o#L5_1twVwuiiJgT)a(=b*>LTUDeftQ5JiFo;L6UowJqFt1U5d(RKi zA&>46^j)UkGOiT^f66G23D1EKKPs`rUi63H5uN-8>N|#+>LHbn60CYNBN_blOxvI( z|GGuHF{U4zK%29G`L7kZbK`^d$_CLJTPXpsPSb7wCN>CCK}DJSUD^l!+)3e%>lxa9 zc!POBeVCM)b9!huFE@O=63&CK@P7cB?*ql}LG8HxIC?nfP7?~ zGyBZOjF~GQlwye5u@8zl>PfAlT+m1(?BvFKsR>z)H zU05iZKA{ePx+R*rkw06mmWH&d5b3I(0< z_*7Ruo841;#Y_y@j)S({8#Ak`_^0dqrohst$k$^BA3SPW0%@0vXyD)9O*hV&ACT1u zST5^}-(mHcO^EHi<<9@TDnIiP^rT!iKPUi3Q zpo>saJ0LQpYc=kg98rAvB{t!InM&fQwtpGD^FQjWJRw7s7Ar@DE&YLj&OQd$?+W|( zqMxxu+p%Wp2p_PBF%T6unk6DtBscBuJ?O_+tpaNM8~pFrOENb60iPE1J=K>&ne0>e zXl`@`f8YB`fCLn?<~Hrg2GTN^2Dxc)if$nK@h(Tr`*G z@vCid{7xe8QnQ&^P8rDOQ@!+eBRR{8tY*X=N-g$3*SV`B+XL0u>W{ho!5H|Y()9-1 zbNE2?ydC8)E28K8MJ%gBUD!<%V35@@vBu-E$f3&}i)KTd8&tQ5RZsKY z=<_nVEQ8aGROARAis_s)(IcQr54;U;5dIz2AvuhNb=xzYiw(yWwKuR0%N@^1a^xU1=%%7wnYy8c0pFFksJQ#ln8+ zDfASQ9Z#Q!d-U3MS|;T??Z$~@zh-_E4R%7A+D(wc$}Egb$_4r7f6!uT^rU!eS^`#j zJE>hs`+1qkk-K zw)~d_+bH$Av!Gzu?AC`|DCdgd8m(N6j&eA(Jsyk1rit_Zph@6PbM80ZIBB0Y$_wJ* zdtpeQz_LWel%jF&d{Bt5`}EQHLZ7CJX@Ss<4B6E)*e30EWl@JYe#oy}FlBsvGduj~ zVj*?dzB)vw1Fpl!@gu17MLLlJFh7%WS?t7Z&Ck-3<88(jd46iLz9USGzI>5my}=7E zaHQZ&RhPnJk_&4w)nGgU=~S$Ea$XrglFUM~qQm`L3NfkB3pjsYF^zcd#~bJ#)}_jj zi|BE`F`_KOG2Q8hc8GtnMU5YN1P!1IRR$OfO{V&|3xw|anDw2%Rug*qx@kgr&20ic z9mU+5G%DZtqnR5#xKQiE-q_|W*+3IeRl^n<4cZuPd_N$WbLfg?%#vF^GpmdLN5Uvv z2$!SWtxe*=U;vns>wo!8-90me<39Bdm7^5SD2X=v7o)h2>r>5NnnGdp+q- zdJ=naKXPMPOv$j_mImF+OK^Wp%XC5q$t2vo z+qpjx`M*NSR)Pe#9|0cR*|m#t#GwY`o*yME3(t6j1jZCVv~S4p^UI(I>%;H=iV9=Q z`WB|h!x;t$5u*PPZ|0@vr$99|Q0?7&T<4iwHVbGJeY|HGx5~G(I8DC{UTf&i956a_ z?7&iM{T*Yn-ru|$0Wjhip-kz0by)0Yef?o^NSONo<9?yXfw8;XEQsA{b+8$#$Ntf} z9*X&`oIowTaF~INs5AEEDemn>wK_hOxgP_Xligq^1KJ5!c|FAC)faMxUzX>46*Uc- zciq)kw1)QcQEqp2PRqksqODZ~(*ucPEa-XJZ9R22KnkBO{ zc@$`j-rQ~tz0URcTk5`h94r&hN(R~lFR-iEJC^9fb>jOS)X=-5?L}4fer!pjM7m4O zu!6;Fj&_Y9>0{8g!=j|>2-?Rn(yPXkI3#bohl+BYbiP})qwIj!F2Hv;r}{#a9?DFh z{8@rMoKf1PnXEaE!+aj9Lp9UJcOB|}It;-Ba3|z)X0JW=yY>F5UJ?4}^)oNunf!Cy`Q&NaO9kNo zu$kuH5xvkc?>L00`|MH1xtRFbu^=48fu@po!Gt7iR*12V*H5B6or)6935;ofgf=R8 zaau_$aRz<+n@e!yxR1`)(d?*l_3i|p6sEEH!e!2rb~Ya062XA zvgcaCQm|gx4L#|1Tl@-_f`f8Xxf?FGff>#)<&TxS&Nj5>;5jieA;IqGDrwSj-ZEA%+A}Y8bsmoV z5c7RiU;nL!=&I_w6G}?fD)bmhHD%Z6?NLovC;ap*dVOtXi=Z7$4*0t~s7?Bi)N9=W z0F1)^D4_t0#||gijUV35_)krJKQewhHelPdFzG>Hf261|WRaH|{RiF{<31-=(9@jw zkAVW`r>d-NDzz0bmHIC_qu*WYPOjtsFk2;Kt^b(XWzIaa7f-$CroI(H#^f^;<=Va$Z)?J}<8yCu~-$dwL;8ZB>X$ z`wP}(=U~2Mc=Y&1<@QnSsyc70R7jSiKvKIW(n;JN7!Ze`zEu^-Q3Kkd7OvvD%Gy5{ zEEhUY85g0D<2NYt;sjru#&hq@)OLdGD^vfJuMo4lw{`l-q;d&yfS>fgq%IKNo$$P0 zu`bGZ6utAZCjdx~t`!1RzgoSU#ybtvfu{>QqMwIJ6eY!5kO=SVtCr1;i-OyqOj&M9 zHHrw>s(&tEpeD@HFUSLjh;stOj}c#h_}vCnZ1jRh|qrXm%fsrMN*2BThp3N zw61V>vny$h%&8j?+d*TfKCT&+Nbb9A>|xNU9sLr?SnQcA?n&<{59~G8s5HV5u`&s% zb2o+GyR8;q4dB?grjh2xBXNn_VXaGid{_txSQy71)@?%8PRJUsj*Bji8IvxvX-$Iv za<+7UZexsM#xO>2X+icE;lqdc@Nc(mFP3ir%^eeKb_s1&Jwi8o3xfVy(iay0wI$*I zvta*Ez~vYMzWo=JF}E-ojgofu2n{>FJzt9U&`<}8O|lNgV?BKr9$D*c{}TrHUvs%^ zUc)%>zphlnp^tPdh8`3xZ9!~){PzON6+?YMUM8;d>1*dS0!RN-3^dd9QuXL?vx;hx1H0sur@p*m##aS>=Tm z&jJ5N{U(+*gXK!KA0NC_f~E-JcJIU}+CxLEyFAL+`-QGG#T_7$?0E_0Yip2mW*w9P zYF8BKFfzGKR_&EER&xu&*E716hq2Lc0bV@6S)HBVSFEv}S;d^0um_z^@U%C-yD<1o zUmzuGjf&l0J}*`ChW+m>$f&MfqV*~UQ!_FY9$+g%gt4-aZO83q$warbom%%{qTPE) zFbN0x{zFOp*~0BLK4)eB`7kH%j~bGU(8IW%bv9@CvheQ*e(NuDEE*dUuZ+pOS$B+c z-IsxyikaRmM~CGGx7nfP+@ShpvNEb5cBur0erkT@oLnCozqCASgs@)M9umq$S1aFA z`ciM`n{h#B?c^5_nDe{g)HH!f>2OX7((J5fgC4IYjgF3_R5a}7ZL4ql1$W2cxD?Td z?fp;uTjc>;CpA|Kc70pxC$=b85LSU^FzP(v_qw7U$*y!^#n{)ODrzz-_HpGTvpCT$XMnQ6a zDoLG3zcO^A@5^Q>Q?^I!SelXKGpsKO#^LJG#I#AEO1cuzz(Ku;T*lfOxvj|wln2*Z zE}X)Y2s|Ub9HtB=79PM476(}p#JRb2R-w-r>jY3^T1lgo4ujZ;ing-Oagb;uT_c%&GU(P7*`9Oa= zz4E>JGPYTFDq7YtHwU|&TA4MIVruZYh0mF^isUZQUBkGt+!J#r@ZNLI#AE(1X%vG@ z?*QQkenR){wdOeo41=T7#lVjXiag3B!GW4u>w0{=B0FEpE~|E?N{W{(4GcSA)DnbB zf@!IeFFm812bWz}Cs$K^Laa&Y$T;@zOrdn%?t7*~AGxe1Kogg1Q3P!+UT{p_h`UU( zL^c!x3?mZ#P3@@oHc#+Wir(J;C=1{vh1^Lx z|8guWL?U7db2(XR^NE*f*pVDkBkTrWWYSAsf0I-mr=nff_U)9eh_{p9w%|MI<0H&} zPH7P4*IY};w6O@Wvp}f`%uU%+M0k8d!qmCi(V+IZ*BWz|*wPb~Ad(DH*T!*T)s?^K2bIWXe?K7>?7cUZV8<3ytPW zzkd}!*iY^8-!I$bz-VwGCDPR$~Iah!q`8+m$dB#03#q9jefYMSIICY_X_RBaY=_7jXZI5oC z<~c9pn##FUohG;-DBQbSglA2D?!j+)5ISw3hn~E*U1(I-fN?j0) zz@417YhGO`fM`K}@+HTywA!B4xzY5z^eUZe>E};P!J(O)?=>sU;CV~4)Cci_^AJb6hiSJpV5y>4AQDj{5F02QSX1U!(Qg zH{nMBW4kvLWy803WfE6k2ZuXP7h^R}?Jy||#KQiEQmG=-CgkF+o*JJPpOk$NR^ z@R%rKdV0zR-|b5ubK;IS43;8V7%cZ^sakt;Znp1S$sLxYGDbheX|xzD9Km)_zBEp0 z3=Iyz2MZ4oALW#X1Exhs=((#)A=N?XKY+L$lmWLM{y&RYnw!_Vo(uIJYL^rcv}TLk zRM5`B4QSJ~0|7Nae1YVQMLNVsac|wpOU?%~)nt;5uZ3s-{o08w-dX#vYf!2b;oH7i z@l|on*M1G&x~=oRZS%4nCCC_<(b;l{=p2=l;W3ePActwZUv;v){TE&wYE9+gcm&>D z2bNjRkpoeuZAxT^lCnL>iS!S`;0D3!esj5!IV`H*>wK{#J^2V%BP#vt;e4Cv#YM~R z=C>;upgL%sSNE5-Yfp7|l#RYgZl>%^jnK^7Xr47JWAGyOw)uHs@BIm*vP6dR2WPo;j?#moL$x%%=gVAG^=oxC2z2o z%%*gmMY!2}((@uz*Txb;o3__x3JSEN&EWZkBLN|XXggKqQ8c9$B)x#G>$DE{-fcE` zS!t8CNEk1|Hr`;YtgvXlZ#l}i1X*x+xor-BAs$yAwg7hnxWcp!M1G-oZI&Awc1m&* z)N2~1L-e?ku5aZq-vJp37KkNxzP>GKuVNN*)pW#{&Zu;6Sqd^2=&&!L-^Ve8e(kfW z2KRda7|-7MQn7N4^~Cu!UD{7iOu%162GfJrRJ}mfsAfc`b0(t`!rl9<#a)dSIKTEE z8sy-vjjDN7jHH-GR_JR(RC=o-OU93$icOqkw8e(6o}1f&*6(I;zMMZ4L_j4vo@5^c zQdz6&ZT;Gc4iGELE;Y-NN;0eo*H^gb709q15@CxhW`qWvcIc zi_K6!g~IP;lvrD*uG)R%ex+aafRTcamF#GTf8hA!a#$toUTCzkROxZcr}>8Qd)Ii| zc)4-`#;%Rpr{x|mB^(UVo3PA4Rl>KV00RXK;%Qd2`B;fe1*eW;wVYe)BUo+M`#g+#KAW{24pZn!wsxB|*ww3?t6O zSJ&qvLv+TXa4_8xe%Zy_EAbnW@eKhE-vjRbKvpoVCgB^Mn?vdo%wK#Pm>StMo~%a- zOl_8(m%U~IlKP#ngA>01jNZ7pJiSnHhu7SH#}&S|Z$==zoxOR z9mZUNu#0Z(Zy&n$m)f=T?<{^|$66Z4-QgAE7I*RJW5F&c2@!p-fJZZ6Vp`dc5Itg0 zkv=ob{=jwBorIbVvoz1O5ClLyedG(AJkVkCr8$$m#0oFy4m=!!jWPi`7^Gm z4la(}c{7hfqCOc?ocSV&!W-R<7SG~F}zeqD)Qv-wjvl~Q>vO(gkpgp!s5-^lEsz^`oZ!a~IC?22hy_vZ!=q5F9fem_9*>fj}mwJenEg^OsQ(9DdDa_`s#j=QB zarvPiRyY*AKS=6W`wB7Q!l_n-c#C>Ig4x2B0XVCh~r!I_qN_= zHx{LYAqRiZ6;=O2Zq^yV-g(}$SkU2dvKx9t=zR>;5|~qzeT(ZgQ=00Ym`nZzY(fNU z;CRb~x~`rfGD#vKbu0dt9Ac5(zBzgN{WbJqrTi*_$fK2!@?oIgrcQSo-{LA@cro>p%d0LiJRhwl)xORGI?koj)Hfg zB~lmVt_ zgL99*wLxrAK4w)|{5Onzv@#ZBFp^fJtaAaRl#Do@nDp`quzkv8Y9qiePGd=j_sI{P zSXUS3M>x9U5kfCh!)>WHs2BN35g+FAma0Uv&1*P;yo^VXF%MGPuiV?3FY1^+v`ZB= z)q)>i_ma?Z4R@0)v3@-c<@?j>7mS=f16P(7l^zQVzt=e$YUzHy%hx@n-HE|m41!Sk z>yL`dy2rK4Bv^ndf>7$awA=rqVDWn=kHQlwPAjc`_TkDKZBksD+?Z|>6aJMr{E>qS z;q>#W&@q|as%aFwQ7(?`klv{Cot!tk z^t-IbLS|SwaQ->BNA+X>zeL_K(ZK0K84+3J=mYM@m|d@z%j0H2Ts_WwOA=M=6N|u4 zVxdXn7Weo^0Ddl&anAlS?a698BYLl-)gCWJbhRUfYyB99IlH(S8l9TXRDtC)llCmS zxdYH`IRgj&qcCA@I!}(b%cFK6SFw9o4y~NGjtmQ?Q}Dt+jp(x@Up%B!_Z<;U2x&UU z&bi?#xrkx%IsS*|!3k*he#vQ%SHyddZ*;6M->}IOZRq%ZI?{h$FMG~M4Wy77w`-nW zOe>7`BJYz=BAfM;sJj(vcIeg1H8lB%#rFvKH&J(w85`fnaqhpEA)2)pGhH3biJNpk-}o-;t3Qx2M$|sKIv|%_Eh~CZDtC8u=mV#cYE`9Uq_I)jRv>%|P^hVpRN5N<$`AZ>w zt@Y}Ws%M+EMVocVHV#damSo$WWxMs-U%f3`IUPMh0_<-DFcSbyCmllkpER<1Eh?K| z{LaqwTzo+%Yk}$PadnLURIc&#Wh1y(B246|T-KR+i#@iO6DLY`s2#_u_X2aD__x!5EIXlgvNJ8vqo4x$47sY9tv){u0Fg`Z* z+4UeR^NeSbiw*VIoof52Uarpu;j*dO4MotF0jVtTa5smA)+$BaB<0<<5NRqSL>_8r zH~CbuFm|e!oLG{?HS@Gkzts&OL_T_JIEqv7YzfD6eyf7q%8wM9PQJtdg*!f3pmf#O z%S(be>Pe2wizwjif?o#9D7U}o_8jHfY8mHMRYZbz9cv^7x-}!LTx)ZWiik|`DtQa` zZ;ke_YBpCV^<6=?GkoJdZij>?SOKJ>3(&ym6L<8bl%mlEu?`{QU>%}Bo7>yM)v&y5 z`yZJiM@C$Xi~~}jWV06(Yp3E$mYdIdXvn`!=DKYC1Ao(^F6R;*MBQOa%BvEfUZd;t zq-nmnx{0x<{npPNdiRfI^iCNOzu4hnfbKNWPUa(0Ahen#c~8z2@Em^-c{d=@;0U?m;HZjkkB=Wz5>cakvq{=p*gG2ShXZF# zODz#aH72I+XGl0^Soo2hN2!>BjIb*`H-#PifNv2xc&)}j6;X!?yV#N?L0w9iRj|A7 zfYR2YJao+<+uy5KKWb;(uey;n0{Qs`one|<1Vh}j^lGA+laG@eL&5yw^$6U57EoPk z$3Dx%_FZOK4=fZCl4_(hq5g}M;SQl`OI|snE*I1QK0`9rGjto^h&OVah4jKx&mC}b zrR$g7iQ0>|>|gI0d@NTk$X>}#a9+cGl(9`!#)KEK_itQ6tB6{4H%6I2h`dCCl|e9t z0c=)QmYVnR5}t-}^P=mdL%#LDb$rP8f*SDsy!TLVQrf}3xT~gE6k^wSL-OuIdR^^}?kMz0 zGXs6ki&vo9mgF(-nktKIogWut!gZJEYM){nPu}2F3|uaQ@2LK?rSYM(jdfHkXES4t z;byd-+y2?{P~VN^?k^zy4wVgs@c!OjosZr&qgyCNHE}HY5gXwRs%KNp0&si(2sSd$ zZhCotYMjRzhqq=(QPRiX*VS-zbkHbqs^teSP+vkNpRCo!pk!@Ko*%5~y1K{QmoSaO zDsxN`Kyy+*&bp|eeyVOPMj>SW*7=;SFTpQcFU_pldku!v5kR1&%LSX$*JUVb@ygqa zwX`k^4BhouvhdK#X-{#qj^^>_3Ac)nwA(1Oi;$BWx$=QXGb>QzX=LX_IU>I*Z&(RR zl89z?ZCGpqr7rlRd%sVOGhCj6tjajt+ycV@e(Lh>5XI!qARMX*=~r=m5>D z@3mtYTs$mMFn9Hx~9S)L;+OLtN5Nl_$035hfn|d@KV3qZfYwktD z#m>a3T*prGdp9gzLcfL;l%#zZA$$1YVzkQ^oiyLSLFEzc@#&-!1F@saB+n|m@lAAY zDQr#`O#Y#$>|Vdyjt0D|pw(Y#D4ldzxCWvXi}ip2Fu8S&Fnok!u(7m!;(UV&vR>DgG;mzmNyTkG=a*NtiA^f085e{WWt4r%wzPvL2J68iHZ z{Lh#Xk?uhq`Jz=eL%>A8bqr%a*qzg=U1XOo(2Yd1eK@Va^afgBxcfjfv{aoD5eRtq z3Ekbp#t%t`d`nZaNHr6DUiY%4Xd139X!J1mRHGgm*yeD4Sa6#2J45ViDzuCj6dD?`v_8j!~dwN~=N9SJyT$CAEO?R>kyC^5X!JBU^qBZbS2L2Hl_Px;J=Uvs4 zgHznK6+TqyW%$hv4!Q-^q3q5SyJFvVUu?AWN&m0#CXFt|(Fw$vj3c&o&aB_^jT@92 zz=O~F%$IZ4pn#)$oT`8yxmIai$Bb$MJ|Z6$xrSXSslLxt+BnRpl6DKgm=GyjuVIK_ z@236ND*7Th(6Ka53$b@x5LNGtfa?^IvKyoZaEh`M+$X`6%te=Tju(P-lGHwg4hz&s zuuGh`caFD33&aaM`O{m#FN|y6fHq?_tp8j^hI}wv3uzELtr1g%^PxFe|FTOc^=p!@ z%8q&E-_QFL=kQQ)i2FIuh{v!4Ul_Tr_l8`)Zj}GZ59dB(RcrC$)JmrG#{z~ja~1?5 zR2)?oDMwt-LOWYa*_KW+gVeZ_aoQCIackcH75k_V2YqUCH+tHcM5^G3MS0kXm5Y;` z-rUs5mYtrvO^J-vyh6n=aXk7qZi5DvB*;FRjP$yjGcA{K&*xcETQK$sZ3k z{{4G;xBHiKwj87}Kir*4E+|lzS$hKQa}Nv7u=AOm(YEe(4JmgS0IR~sx-uZzMwt(# zp3N{a4_Zc=5{gGb<@WJ4_H1}Hw6Ud7eMtLYw=#?$jo%+LP7m+%=bJhLc9wKfevaMM z*6az7u*$QY352-o^}=i`V@RW#ZIAaG2%>gSfV(d;rA8vINiVXY2+ zK<7Ib7PZi4yhjTME0aWM&0o4KLy&vTUCqRz1slVAf3s;{W|J+%A!DT=cXHvZp#fEj zVdb@qo>^=w4e(IjSiDYRsX{b&Qj!8N54PJbz42QvX83=M!QyxnL#fhY%14$7w%Z57 zOuf8&vK$v`l5Qer8$eYEd?&%m~<;5x=8;g@S6CmW885XbkW zkxKN7a_-oT~_H|f|`jfzaUrY;;E@e$K7cs)bnJsnDG zTY^TQ-qZ1qOFEs46Xwobk&O6UxfE3Jc_Z>ul3w)U8IIYF)GObc?f4?!_|9LlKZ=X~ zs8Yw`n8~9e-@MrhCX$N8r6bsm!WLA!^Za_A8?=8nC{?#=|KP;E{FfX7&5S1 z($>#c^tJ7Q>5!(z`?*+MzC`PP>-BrdpLrhr0jPsw{LQR%hD}AF9)^a*O+qs-OxW)M%4X*j#Qd0D3omk2zMwAQS zf~<3sAdTEomyx)!A};(%h6KM}vTbAbemMU@?o@70j=rcOuLBMt7g;)bst>?Oh!{929V84YXO_je51nlUV~+~6g-nr-(HtD>^b40Mo;>N~~8 z`WYs->3%q6g5bN6>OnHd&g(i|j*-^&otPOa~%qg6L>pYHekMwjH8W z;BMoN&g0*~J)n}WKTR0MGS2kjc~VNFn!qS=hML+V7Rq0lZ8AnqmMWK+*$>?Bw=GMQ zpAP>93(%OxyPgc0A4@6UmVGQu!Wi-P9-Bldlx%&$2IKyl(qrCiKDFuKj&w-uqO!`E zRpBAxfvh84yj2p5$31kmP_R1-$o)~?jvVi=Jr8Jst{_< zj_#O062!fPY)Zgd$Shxc{#-iTO1pAWq{8qP1cA2UgjAgsLA9qsJj!cmNf=zFeQ2i| zB6^u3`>G5GQ;<)Z_7yD-0Uo|*Vp68)=yssLCq)IsR8cWP%cqFNh4FW5-+F$%shPi!32Nw>P8hMfRlLHf|`}s85=2wRi2Tx1I+DtTMvi*@Z{F|Jg&8 zY0rayE+1E_O&CYZt}pKSHu>y{O)RQR1Nz%fEH%f7iP%qjTj@vKl-|kdnd=nrOD+?? z<^&WcU*g%Tee$V9uQRCauQEEB@Y}NW@vo#*oNW?5EAKdk%8En-*0y+I%}g5X-L4@v zz#J3!J37vu@SpKV5J|rZJ9k;bFibM(nX1B@(2HZJ3K>Es`bDi}BvY+ox4}a*Dfi%5 z>#x<|+GmIC+!e}{c=WzQ2v%F@(6j~7mAevsX#lxS5zr4J4y34!PK?FJ1n7>E0DkYA zab1X;Nx=*L{y&85xRMAR#Oma9fqnCTLX1_m2$WWm1Y6q~{yT1HkPx1i%S&%`n7uNS zZz44#!@3Z)Cb2nfQD1utb-_JK)VP|;Dx&Qr)9FHm5@SrlJnDBDOq)_=%p0te*tA;4@JUTsSm2AUObh8Fmpbp>$9np0wZcd4h9guQLs3JzB7s+P*U> z2w@XU==f5YW8Sn8(XkzLS`HQ(Cmyz>-`KF>-tcK1k>SDI>I3i=jM%=b-bKLY(y=g! z4c}?s*6u7@!W1mfzd2hr&}ZY7+WY1~U@p1-9fO=DrQUj=Rpw*B%OX0)<;rtM}!ZBy}K^o1ymxpcaGv6#NzhOY_2PJq3@O3#hUys=zq>&Y#3`67F)-8 zsio*y93<|rt+hHcDE0ID`XttkE*ST)aHxic-uF7&q97mtSRdF^cx6G?YJq9uHEQoz z`#gg`>z+v=6YNjN_{H#l*IAHWojv_%K^^e=H_@0}~HC7rg`jAEL#tY}w-t~^L zwXcQN#Jsxev?u@FPH9JTeY@($tzE1h$@!qp1P5Gd{qfBgYQ-# zdnZ%7F8yN0XqC{Fchzm<&%qc=1=fS)xHG z1S;suWaX4Bx{Xe90u6@JpQzh)kHg|gFb7S`Iv0pre9!r(9eJkI`P%!?)~<8(&iT~T zaHrl?Jp+6gA)*;|0Y_GrQbM?h%L>IyhcL-5B~oDxv!9AmlF&BvsjqQe)(;PR-dKCV zG-Wy2CfuOQIO#ubX|!g7nM(s1?|iSjcliP^n;_*$O_IF<`m5e;oR9z+b=Zvw({OSn zL8(x%M@R_W*EfXC$^ik5W9Qa}#72(gpheNypNzk~G_F?7CtIJGnI|_Wq|kL?rfYQY%*7hL3ke#CJ*D>r(s>tjI4Bg$VL$FT^spkD>S`n(rAVIgpSR#S z4)~~k!H(UARhL@qtE4Y{h;)QlPp{D(!w$z06N>=5N^ra~qPk>|0W|5=fxL*H_mPg; z?;F3}BFfKk17*t6H(ZJq$Q21#F&*svz6sci;L(*Z=cg` ziL|0rtbzBtE(v{3k0E5NT=H%Vhc#(~T$Mz7A=<=N{bg&^Rw|Ki`O9iC{Rfd2{9{r#Rq!9>Yuyu^XHByp zQtp%`iqNt-wpZ?*?i$dkEI}D1s}SitM@ckzVlH?vqGQ!L2fBe+ay)uY#m)I?YBQ9O zb|!Sc9{dmSML5IO*e}Ta(Len^N;jXt!a5a*FE4(lP~E!KqfELBGP(QlCYNhefDoAx zxs@Gv>m*53DFJz)J`e!WwQv1j&`WLLEhzfYB^b*>3;&N9$yd10jxK*JRSR^TyC#X$ zyB=~TBzP^1(B_1B9=*y`$AVS>fL=*9owQ^l_Ee7bFy)n9N{4y#?TuRON~-0F;qwOR z(CADeEw?4L9$sueeXEhR7hG^DuGF~pM2~S4#TC*n^x=RkE!HcepieqZ*}84~kL9#p zt|4n!s@{q$hst3n)?=p76*;$cJ}&Gwkw=Xo(3$WD3#G2Fo3A&)zY@fDzc0QhAwj5* z?6DfUV}ziuwBisPqY=0%nI=A2HOEOr?vY{^6z{d0$(kEMmjW@(g0?xxf*hn@THdk2 zhN-1^5w`;b>VKI?PDl6|5UMk!3QnU)?G{ySj8}zPP}GyV@${dfP9x=p9_=W#{c$`D z`$TqfaI3vXBXBm7vpWNS(qSks1M4QdB6<8E&b&9(KvpM8*MMW?rBsiGl){%12JX*_ z+YR;>t-br!%W+v!_jMIl&!zpPKYWeyUe0oM9eEgSH3$m=veSf9#xw^Ov zh6sJiJW`myXp(Tcc1QX3&L!(Wo=$8kQB99+cX034gO|Fba#`1+fIFt*?2o(Z(8rk3 zzL19pZhLeXIAmvr>6m#ssiQxA!PozjBoFRoI;l0VE%aX{iNpPWpqv+R{pX{zR>KEqqiRYJ(qPZwahEh zT`{m7rl2UqD`F@`nh`FXwcc0$-x}=>U@%|32R!B6dqPJA9HjP;V26%DSj}m&#HZS( z%8k$nM}lU}{5hyNUe7*LVs$Ai#Oo_iq48rM*jwG|>9$!CS8Zumkdv;PQ*Z&}KXIG& zyBtfSbM1awxZ9*O=kud8Xw=KMboTDx4Q(1?-V6+Di-#wRB4geW@yBbrPWreIr={mm z2Rq<_`a6c0%&$xyfK6;kG8s&TMv<7nI(#Wmy)ZA%7dy)Ba)Fco2bK|&Spagj0_hk6wCs4g-DoY~QS=>Z2l9?}O$#U}>HNB^IPRaC{`I)uP(}RX;AG0wbH$1GvE(0e=%+@}_Rg#bp=!T6xHoVey-I>p!@^fmVrwha9S(qv@%y_EDV0 z`F7OU_H4aPcFtT{5$(nbx$RGpMzchMXZggZyVeo5;TNqY)n|VKtJ!YBAh&8L7VeQa zYhbGSz>r<+61TKXF3)lGomWT+C*}m%)s;7a##O(c(E0ax0nZp7c*JjTchj zC{n$Z#KT0#B64fP!p>nn@%QuHd$PZ~BK0Z-j-1-CMAywrLEO(TP)7dIj;h_DBlfpi z6=g#ny3P#gi+Ux5R0|XsM0B;(y5@Pp7cAvTI#vGCzp

    `)+etD`I5V!81UE6^yx=m5qkzNs*e!#VhJJY{lcW#PX@ zP1vcga5Z4b$ z>mpzu9jQI~^)owd;aAIe1yE4EU}nH~WYgkH=F6!AcQeNcSo7}=te=lW(BKa~*bk4g zGyFH)x+iSnH=LH>7p5z9muUBI+NQJ?L9$6Z56^;XI+yKj`3As9Om}J{<~7@G_VxgA zqcmkXcb$q3IML$5HUu*3mFHib@|kB+JUgV61L(C4o52}D+ygzhj-_JV(ip!EBZ~U3 zy1iLA^TV;||D);LADPhqKVGR+VoA9)mr7Bm+>*_8OHQdzF5Okea*1Nh+%H2#B)771 zXI;^8CwDfCjTn{dW;Sdl%w@)G%=Y!m_pf-p-tX7*`FNO|1QJyq;%X@xPMCnI2K}<- z<&~XMO;ZKsks>p!0m^mF-`Yd<2RQ!c7%{90FS!rMdG*V~eAN*698orpdy#T1tl?C5 zzkdgEst0}nRMP;hn~J3+7-#jZ{N_4Z`KTWs12ygHg2J2~=M8R;l{5OxY|zM(nFuB= z{DSguX2kLQ=!GA8CCuH3Eq<{KZWAk>Wk`sNidI2XLtM_-E^J$WHFT@>H)7BO`P^rD|L4nN9sE6Ax2Dar z&Uqps|K@2{5&59E{oZY&&)b#c87ayh7DPlVyU9@thI!9qKM2j z|3FOO%YX=sY|=jbS8R4duc)J}f~MTmLLFjIUKYGT>_ zW@QLiDOw)Q&AR59O}-=-U1ocYIO4br>+@}EU$h+s%MYyk?Z)eYey7PC?_qE|J4xN0 z-ols3NjXQ%@5pZn479u*>P|`igendI&4~5Nv?M*g`(zmNb*0Y13ztZ>P7C@^@0i_q z=92^HYP|`SmAMrFkj%Y0h-NF2eugN0rj9n{ya2{*J4_yrZ<;-?cQgCzavfp@4mo`@ z=hdX^Y$z-v-l4Gm;k_DZYUlM!4vwzS2tW9F1=YPE1kyb1x`^G?p?IT#;@S#bIUKoA zQMqe{8y0ZLiT5^Bjp^yLXKU^z!XZZZ^ZBu{%ff4JzF-joi$D2YK0binAO8Xs8FA@Q z-+%v&43XEyJ2B=>zKa5aM0Bw58l+kHJT(cFWA1;AURw{L`J>!~#P55CJNB)U+u66m zQ--eNgoRC=J9YbqW(T$JHVAJ-7xN)LZ?VKQG_8DB55?kUy=t~0pw9GVTThTQv^^}K zPgE!)1-YNNObxgCU(1<9pme;IlHITz_L$wGkb1I)EA|%|UjS70D(>C(hgozy!*d7C z8?xifCMmrVHQ+sVJ|t+MxiwvA-D1jj4Ojz0MjNsv-A87qNwXX4Px4Tzg;8N`SAuoy zI{mg!Y)dd(!t$okyE2~Rwe~dT&OdS?D=ypV(9quaB}~`1|Hv@6a$R5NahRiThxpCq zZ905wk|eP|A2ROKxK_>_hWJK->*k)`LF&oDN%L(xQv1w}b%AHhv2v;KTn3>+9Qv!*cN=aD%^PSo z=t>Er(Voz25+2eYGLgoe+WCkD`?uE-B*Gmt5l3&ae2J|YkYF;yetcmiII??04%;G9 z^FUA7Bug57%{PrN;?kD_^HQUg6?q>|)5FFxZ^V@*oT{!*XYk7RUZ{a>NW)ozx85Me z7O&qt<5G5Yd4Z*ME2rchTuhw}7toFUbw99EdLn1KRTymDwT(?$vgZ1`GT`%-ZPt0ZBp0?`iecT!6SZ zxCUs}M2#J49`;31oLb^eL{HVt!pEP@ADr)7w_v=Ch_|11cP2So&E^k@T`>7Qs z?9`#|kW=g#OxdIF+&M63IR%S^`X)v%bW{4+<;SX12K(R715NoSzIgrJ$^xFL&F>i= zI%#J7*{qs$D;`m#=TH1#5gD*M1%A-~x+GO1+A`S_Y-4PCc%dikrz@xT@!O}HDjSCv zJi3eJ4H^d7yDPiGBS;5+Gd8PzDsvPXLV*m#S-X!5vz&HV&$Vki%WO9om8^d*?%eMO zNDwR;tyur5yH-@Xw70XfAwj zQ`vVlc$Co&%6->7Dj))qB(weh1~%JkcSva*e&$AC8KGw*2K@mt4O6MBFFJoaPgbnY zFNARar!5cRA{1f*WDKw`Unmjd6X~*V2h=jKb+d_#%Q{e`RD25Bn0~3_UM*wdL{s8z zng1v_HrHfGY;QJn7W0%aD*4D@p+!Ejd3k{rd%R!VYTAtJ z5O_`MsMC|@ruwrtn%&Uu%_HnTs~YzkHy#&J)^%G2O^JuEl%hfD?YjKIV`EuK3T{sX zDz3%lkNd3my_uXE5EH$BDPmx6xZFp~icC(;h{dw&WUuTx#4Om#;!b!R8e=>&@gZaOM4X1}io-foT7)za>>csYP)tzNOD-f0ITENjw_Vf%GPUTi~ak3{?)J$z9 zEQ0e*(>i{V*bc-HV{CDsXd8h{TOaPUY-U0U(m?wLgNkfEpI#1`@O8AS_OUp9zjk&s zQT{6Ghoeq2&>6C}5blHz-HF9&_3J)?3!$C{|9wwXvpNQ+6b@J6Ev=|3rL5)l66#;m&;T z&N;^xRa^EeUs1}=gD?D0rx-ytQHG4|0HPV*Xerq$$n~5oW(Zl$AWVyRlas&6QuE?? z=tVkfanb%wkM@)5C;$A&r_{k;3{R^8#TFuJ%~4J z!3Iu|OwRJ9+vI7OWa=rh8R7HRNk%@{S$(~jJ@{wL9Alp3%z4ZFOI{1L*juC;M+Vm9 zXu!Vsh@fg>vpjMS!3kiV)Z)g5pprP`tGu%OnY%ea2F8B ze-3K0(TI~{oeQD8c~??ib4sw9lsEmK`Z&kgB6kVQCmoGwVF}d*DtdD@;FmblKYAL` zCB#~-vC-J^oK5mQ(WxI1n)BUr6q|Mke0}+6=Ar}F%u_=*AR$0O7P$U#P2XWpNX2sd z(!taPhS9Akmku*SgbDQJVC#_l;i2U0L(&g@csIw$T#_LoV`l0GvCu;3HnQ<7=xFB9 zlVCPsdy&7;V=6ss>aA4982;*iAHOl79R`Z<;lG zB}2;ivkUG{+AM&sUT_ho4H=aL-l~RgZt9Ri$l(ji^tgDh6BfaJwbZ_cukT|hr7nWU z*^I9m@VS>&+>4C4w9-7RMuYO+Djz-PmBq8$hj%H2bKl~lXs&0>F-maphZGMeOuzj= zd?gEA?>*ieBS}%RA2o-&C6+9>61l=aI|;-n5+bA$#x{1a|G=~~>;~Bn-MA@y#|G9I zNW*I}$hgNRlDIT2&vvw5+}JuHX5zOQmppLm{)T6d0pEO0mB-4dt%J{CM{N33AAg8( ze<&th^7=y@-nFssSBVc`TKQK#4Knmz1HFIgbPpl_yVjhV38c?6xQIVJ;zk)~)lQip zmX{p%m|dE3ed;%GxlwEs(tJf;sGntgR3qX*tMjgX<&U+jFfa5b)qD?;9rg!R&V_yj zhsvUZKi3$iC@I7mQ(lp@T!vtB%4~s5N z_PGFxVF~ZnJBp5G%*arMF7a{)smGfw0~8v?O{3WYomF18jwy>%2z7KpAYYnb`aHrT z_(KU0J)?G_@1?44KH7exJ}P(=Ei;b#;yh-P9j~`2`&E#Wj7VKa&_8nxv(53mHPk;I zMrY(|72QY=-j6x9dhGM{m;*}oSACP5wCHVmtyP;VZ*RBIhT=}Fh`L|adQK?b@m%nS zl_{Q^p$_$R?wBW>^bqGFZ`;1_N99Mu2N_nc9N$)Id0>|B_NzaP+Mw=v3{wQSZqVx& zMmrO8zS*U@!dH4qj}~?GG#>;5VuWtA~PbX?TL6NfhprgMz8~M-R7fy@o3F@wrOOxi27C zd0e}WZgcCTQ3>S^z`mibxvVCP(o>Gh%`>)WLBiSLS4J@|}Z zEIJ(t${@MYUv>+B*jeWpRC~8mQ%R^^2R>c7Q!gTez@Md_A4*cG#Oj2{7k(i)G1$%S zTNbOyAM|Q-2JZDuM^#>VR5p{d9kGz8mqZ8o2e>|`#va%vyC=m|TSb{1MJ0y@SV5Be zW-6~%Vg?pNU4lR3$S7rC#zLnkR4FD@7{)ESGUC7Hb-cyE(idFkf(OeJFw^U^c^PK> z*|#&>YOxTU{ioR5o0td^YtT@nzmLdmy5II-V5nPQyqT4MK3?7CTh+#37eDYqD8F3Y zZ;f4O@zidKouz)s;MX?T@SJJf&gf8yN-^@~1v%KPSw1gg5(bCta zbo9muJN)?MkMHu$qeWhT_!@5(I}{wp`a%p` zo+Nh7*1%<XrJ^?G2`@aEitJBkzIpTVynb5|0_d-o4o8djY z5L+hG*xqEP(S^Qt&GL<0JlG%?AsR$5`xOUMkOyDSLq6oRu%@%KHd!bBKyznt=<0@z zlBH7N?9J5)gfI`?XjD8u)V;jtrlTIe>;9EQAA^!5!L%bTjtfM31&;JjJ>jv36D?({ z&f*;%D#lQ{>A*<8kstG~B#3gxsKvOS{35WR!wkH;Gh)r1vyGV&!vYjmFn$cSY3txV zbW-5OE#QFH(~={On;Vhe0qOk5zRG=zQ%wYpdXz^w$eiOQnX7i10T-g8yub7-(N3$E zZSn#!5TWaj@nfaN1Te(wj-l(!zvekmhY7Zl+l&5cGr2$S?x^B3PA+@CriXgiUCSx2 z4#If}5o&$AsYyqJ$qmqXnM!w6&mj61FF_Bhzu^4E*e}An_gKKCC$U2*i6>kfZ7fG0 zHEosEpc#l^N(*O-d$iks> z9!uf=50>=sF+)jL*8Ys(Vr=oZaRGpAX7lv^du9GFqs?xQJx~~9u2;~} z5?8gcUV!yQ8U#pdjH`5s=+`I0(8abEP^9|##fSmnBur&wu?`L2${e_~nkF;jRWLx7 z7pI$OApT+}HcaVt^JAsSPo10_sl9chn$ZTxJ^_qj{Hic$WR6+o_!SyO`4P4Gx5?yw{>r)g{rgGtyhb;O#R+3Qr-?kH4?pQQS@t@J>7NNC-OJywTd3IXWtf;gwCjS}G=T=6l1~^Ff1e#k zte~5f!49l}oS!E*nfR?SiEvC)7H9(u1b3@EO+$BZ3QT9xn(ciRo3q-kD1LS_$L#qN z4S*d!bmYWl5j1W0^1Iq=3Ut=MR6&{TamVGOhyHi;>|u~_-|c0;lZVPSDCUyW58)R! z{$B43RB$Mn3&Qh19lxzf$S22s^uhEdrN3U4L3K8S?6v-p*oUf;-gnlgqJmNh>}h%) za@&Y5dyU{`YX0NXS(macop(+T%nFf*hw8d>_WOS?Q3g-QWvC`xksR3gCxkRall>gp zC|GpTkBKRzIR60eFplfppXX|% zV{fzQqn{u7&=|XFIAHt4Cn4`lYAwH}McQzKMg4sGuVXWwHf&Cr{2vk{ihmd-n_?Td z{PULGR*MU%ew^q4!zE6vDD0?8(dN6b`gg>4Iy1T-*qDfI?8HrfTNV7cMWx{FzK0KZ z_^g~+B$vojJW-<;N1a{pFkmn>lxmuewN}zxJ`VS#Nid0^ikx?=l>Mi|%|%D_Izjk2j77k7X4x3MFK(#?wuD zkLlv{$6x}bA<9^lp?tC2^)JYWS#*bM-=LDnu()ad3mR~63_jq_j@hR37+zKUs1VQg zJK&Cc^ed(M*Mc`_LO|6y=m*)>>y3IrlwM{pzMcx+wE&m9lAHJhvJcg8&eW?c?ytLwxSJknh_IY*dFI zbFyrkuEHT#`pqfqy#g9M?c33&EgV0yyrpx$10R1h&*A6vN+{Q!{`iS6XbkR@>qGQa zjV(o&Lfm(F<~f@GxsPY=DWJmaTV9+H05x9D4|&isy(zMDWKDQsybH0yzJQVQfRt?h zi?^dQ7u7iZB^bW>-YHT;2bx=rT)b@+Fl_SB@jszS^X9269;*ZzY^ugh+I}Mx!>xf-3pN4De%M-*+9^5+Il>7|y z(s_MulVE1aVT<$0uXDc?vJPTW_P04VG~n=F+_yR7rW{xhin%BN`?iil%-63|MN09; zlt}P)c~14JLA_;cUhb$5P=>p9Y`KO1{1*wJcCm8PtDUBjgw0kuIK)-eB{fi-^Ngd6 zgdD&oa~pKoM1LYf+!~*a9a^ubz|Zqa4SV;C7F_P_?4rz_rg|9H8V?M-O9{la;V+Q(drw~0scN-ucniQu@9y&f97f- zGl&w%Joqv>nSG!Zq|TP9D@5idN~V9&%!|lMd_-~1&KYov6ST_0&KMEFRQS67J*bjy zh&cy)wh1JoE;m6&$@%@nXkn3=dWyS$(1T>KLEmsl0F^s^?<1T{G{_r* ziD#F;2P2~9)+a(yRutj%`bvxaa>5!$BJ5vCoc6M)9vdZ+$dlN-zGoVGDCf&vvF`I5 zA#zQ}wp7j${AqJzQZ`0X(zvu1?~%?H@QUA&I17%{KQ2LA!(T&lQ>Wz90)P?zukEv5 z?z~Eh_((V++*qhF^FxsTQLN;72XMY&Kh#x90wSe8BAZC-LiP-i090Bwa5sM-1&Fx7 z)Mfft)m+QuHfP^^o|hQH`?oTsZne5rnL-Q4JcUo?m+y|lesLcSUH1@l$O7kt=~?Ju zF}dsF*4hOVe{2;P3ABlvie%>DgWU`!Oj+SM$|d_~*; z!Sw6ou@s(@XU^EVpV5TG$s7r>u*2n+D0bXvs;|hxJB18~`V6Dmu*u;LhN7uJtcNX7 zBd|1~EUL9hl@tCJ7o_G~r@Q*RtezOrm}%C`&WRlZjkqsyOBgjPT>IIT!56AS>r;ah zkVODwd<0yk%89x`o7$%b^uuktbzFp}{_u&3u(u9lj^*3^hP%gs3Q*4cNy!b3S_i|N z3?Eo}G|I>Pod@H?|z;fEsUbQ$4tDIVvnppuA@M8{+foektl&>Kx+Q zatYkF?WTQXO;khBK!=>Dm^>%valuPL@9paW`Y}4P`S@$S1^w+zd)Y!hy3B5QlbySr2cx`>nXL<#%#1GBAkQi?U&gKdxi=>F>DXRplSMWN&n$q}FvWu%eDKWyK~x zV;?*RMypYr5w2TmsrzN~kM2k@Rn)_uOGiv*_L>&gkw!T2ZZa7H7_J(hP!g<6azOE{ zkUo^wS3AdDDx)yx9-A24oYa4pI$}rv+RX_(XQ#k7zMjsWd~)&=U|H)6r7@vng1Xm{ z6E6-=jyt{^p1PINLq7vft0oj ziSCqRKT}`AExbzDc(U!J(R1#c$fNQy&^{5D_V^_GC3+>s>A&6?J*DqCsi_%>Xo^dFD+V3nk z@fMnBFGdvOIp1nr4Tfi&FFi9O)iF(M8MTYl^HD)Pq?K3ajGoR5gc{(p4YLhsry1cM39(9;N(@V3m$nGo8;nN>+?-cW>mie%Q4Zeh zm{rz}^x!7TPdpZ#c9(*1+td-egqdRoX0VT&z5fuc7yPzhhPrRD#>=~Ayvj2tq64N^ zFjY@SwMoiqBjf*$c$B;~NbhP3$rV!SrJEgMnw(oPJ}dr($$B%zpAcC}qmLF8H4mc4n}04&UoVCL z)D{xReeUH~&x2V{)-YdyNI|`KySmM^o1i*mBzq}b-jXvls&&7nG`OZRYz@7#O!150 zGrds%eX>_SzH`0QXARqnDDX@wjpFeH#{=AmXg}VivN2qxmGwa(yv4&lZ!SdYwGtGR z{^yGfW93sYddS`v5I2u+WSNX1hCD^MPChysg){h;jMiEziUFq(y@hP4;Zl{{ihekR znhZCcs?gEve&@+#{{%YdFR2@Mjw_EWf$wyX(!-|N(lxM$l3{wgF*C%8yQJ3CiCwiI_4sv`V&HlCZd zPxqQ{$?&uWT{m9-M>EEDY9+hV{Wc|2atH5kv(CnGDuaA8G{hF}%1{@u-Z743)6FxPI;%GYa3nPx00)`V;9Y^87v>Y^5Lf&NZoUKOpd=8 zqm=oETLFp=ftf_D*J$vm_j|NgF?YB)i46{_(rPy*id9NcLdN$nj@rxBMsmMh^{wxp zp0i)Jn@!5#FsKuPV_-t`jN`ci6y84)ri1LBu#@esZlH-irUcs?HFc`Xp`H55APn=b z1@x_7$pL(z<5Br0Jv%-n%tWben%M)#B{}ilQ%}fz320pHc#_mD^(WIU=6qkjhcFh; zcgP`jmoB6gBj+cm9pP@hnUi`s92N^Am>_rzduPNq7TgGCmc?~49W#X?pg7$BaXY6=o7ST_W;DgA^}`?*PV%20k2QA6_g!2CdB8~ z>;5DR4NS%jy{n88kty}B)3`e&7v4J+aMwZkH#t-s7%=Q7q!{6%1cO;yUZ&V#?yaWa zCx0xNEo^;n8G0ye8@kq$KVRr(yNKFWdOAk%&W6b~5Y3zs zEB(@TtVhkxwX&&d+-S!Yi-Ru|}<51W@2GCh^POO1#0cXyO^xxPNgt z;+dV@R)q{BF$fgxvLjAy{lM5?bv_Ruaf=7kO*YpxKKk7@WVL*=gZyCG^IaxWZpgH z-Pjx4+?~BuQ8~1(_*C&?wVE8JORM#3*&*Ndk+|JbQ}3)j{RSeGn#_GpXjvWz3fEu@ zZLmy>g??$_P2XR$b=Pqxl{12}S*g|M@?DNodkWJfD>KkS=HMQ-ahigZic<179WU*j zehlXQ<7qea9@74~8GNLDc|t!7zj21l@z#!LfcDwz1@sJnUwpF``YL{%@;xGHwC_(4 z>YC@=C9G-n{}plDz)}1iSd+K&(K&vXScK<{^6RHR_7yzPwh44@d8-sd{j%hdg509| zUVb(~>Q+BBqALeI+uA~%yK75hg$9ExJH~yJmIsx5J3c82+@9jhVtYD*Xc}51OmXxZ zwD%3J(8>PtK#aB-LXKHjklN2&_u6Sa)ts|gi1DeKyh$=#$xE%~O!hF!cHuG48K+v~ zW$E0y>gpzVP4h3(i}#}-=g9*j?cn4W)O{>Y7a4#CRy-Etyn& zJf(Q0bN9>qpvob>e&U$&)EJT2BO^ZeuqwuM@fh$rUWWawZJ=ZPRazc+u`cs^mYAOB zh!r=578$L%;SMo~=29i+3pM)m=f_@s!QHd+aftS`BJ(t(flb{HM<+MgF%^+}KGP{5 zE8;2U9`v^e$gW6xt|DA^Q$%LzZi} zzb{{16i`%u7L{&sv?FNExo{Fa@F2gLmnZfhIoah$CF;4*QQ?BpSeO~KOn$PwwQriv2!`{9hOMCM!|VC&MR;^>q| zVm}E8w0SmWc|YKD7?cisMz`}fz*Aw1mjnQrU4x(IN&dPIASeAxndr@;g!~Jas1kt`2lIDUKu#`?PO}?*gP0oYS9Ke zC?VcGp2}MejC6CrU(~N`4r=c!HR~995L7y;Z4C|L3qRuR;X{mdR&sS|Arz5O$on90 zed#u8jHI8G`uEo1hEl7w*yu5f3X?I+!JK(o;J`)6B#zBjQqXn{6RiL8GN|$kAWbqg zJ8{UUVlBwFcx)lLZgU}iU_=+Ns;JPMTXq)lq9N>l*|i=`jb(ZRXs8Z4Fl=Cs>mV!+ z%dp?4oRtW!Ye0!9=$@uc0Iz?}M3~$YSQ1pWAef4ggC;@;9IC;EZK23xRp*q0JkkLR z&qq=+Sb`iK62Sq1;K6g1c$2|-=c=agre9_zFCQR;ROaWECJe;cM|c7C&=b4z>aljr z(gGhP$F&clGRoOSzP#xfX4%!@6SEI*#JE}rMK1}ruxi-wjxG~D*1bzj_ zePD*W<*NR(ldUq*TMFr}YtS;2%wt&w`AI$_1|(6<$l6>#cMX1i8wI77SMmJDSk}H9 z#(_*9Ghz7O{Ox=zWYjJkc|M;@rCguB^=aFSjV-+f=`!b4z;8 zob(>V=E?GZgC)>hwUN}OWP)8%#}JZqxAfWKMpRJbyzY*c-)rkw^F2($clA_n;~&K{ zlTVRycwULOO>1tFUM*$Zs!5*$0*z^458X19>82zfB@OTP|E3P!TWv_8kUh2MF6a7- z>yMmr{s9-))iN&C2qPDBjo<1K-kBQ`xst$& z+yWVK*^}zTx?2I;Bc=wq6<63VdzEi~n&bMZT6#$s`M}AOP8G5hh4+>o{CJ{yC8#}) zmxC$Cszti@_U9s6cEI61E{`sfZ`BT%d*LvnD)(>C2ZprIW0LC)~E;C!-K{aLR z&SgSKtf%M57RwVrBx>&(cOhcP8y`?;t zu0`er6JQ6Yf~g|}oq~v`;ozdC+3r4O7lGWVCO3B8J+@q{d|pj)~|i97wXLrH{w zvUDxwAm(I;fz2lC`;JXW-}D)vhUX2;ll!>fPj)gHh}LWN`LdxkTrcY!7=zV`85v5= zhS~li_bJK+NyM}Npr&XiqaP6J6R+xGod7t4lI6daAR*VF#xD*J?8#{Rrk%xsp8ufMk@aHxQ`K*GMbnQVoAoA-%lzqkZZ8&^WO zPuu^9h*vlEteNEdKXmFK%$<&yoA2J2pAutnhSd7U%gyvV(+(`4H{-WGG6pp9plD8Ubvw zr9>S{k$x@j%m+2h-8|ebv=7SUacT6*-4lPZU3gZfzC%&1{=5+8Ij06nkdDg2%7tTd zJb=>rX+5FGd?d9k1_*A{pNq+}AjKt6sWb-yF(ostvyHntR#On1=EwQn%)`Hw1RjXw7sC(M>@Ni@i``#@4*+ z>n@VgFm6PEyWr%$48hG2*PF7&O7RVyR_gOtDw(NHIR0bJhY>EmobXG6?uyBp4cK|F zSrixb!B*MjVg7(o`u*zV%-lH#0MpdWaloU?Sa|}VSHgjxhnKpC0CrXdt*iL&*(7h@ z#*r(|a^>meSABaK%I=tGrcH$Pq#wb@eP>Ya0=2&DcF0Wt@FA|_M25O9gW+KwW^|i} z=!+lidM^`PCwASG_OMpjlhaI9D>RB&=FbTitMxn)75ZwMtF4J?K43bINA24%X>RmW(eTr zo1K3#B7UkYFmV48$7^71`N$v@%&%qh_tIw3$c<^!(3nUVS8K|+&s7$_RQYb=$f6# zG5)@H#gB%?l$n(EiosBCU;%6Pj;cndv7-hOtk_TTx}t@H)C3xZ7(5P-bnPn0-QqS$ zrtFhy$=@xv3k^mE#UsTAk+;k?3j>+R$|{Uu^Pd-!orPOI?I%xmi;pDcA{S3ogrLV{r6PcFYgUNMc?#%2|+Ak`mh_K60?29 z)V*QBbB(HRU9LMPg><6$8Fl(PWk*Ps5tXB(2HIWYgZ=?VA#SO*Bd(}p%(}&|31a{l zU)8h@F=k}kT;!nl)=9O~&G}QAT7O=bY?*2g$unr}xcZEK%f>{a(+DX7BFvK>cras= z+=hFQ7QcTlq-3Y+Kn>n|UbvlMTe}W>%h-d!<8l-W-;OO9TXVvX~_;Z`SW6(t#KGZrwLLS$i)1!kzNoqQnL4 zzED9Ip{vZwBP$1c@;7BvA3dj}BR)MkUvTYy3Boi3ac+ll+4Da~@7xBDqF2@qES$DI zNMBo#EAMF8W>R@Y`nux;{Nf+Nws?cuwjrTdoS50%PF$b7{x>ld%0Ku|P86^t@bRU+ zIUIA5E6x&Lk}x%^^=5#yG*vd^<>FyF5FHHqmCK*<-7{`^1RL!$y>>pzd>~HKPLAn` z3Tx>k*tC0oeq_mbenhiqeu=dA+eXnX*z!I`hxr(`ob;-BDp&S@kWSZ=&MiT@V($A6 zy+Ji=urqSPWbf2U=V)k&yquGu%7nc+z7H?46Hw1`iY*TMKZ~&nstgH5CcPmK$VV8j zA?INtJ@!zj@?*tn(-A%T>{rkBJBK+X!D%;G9RDxXWM7a6Tw<~|Kv1YG*GVb6K~@>q ze-N2Q0hu7H76zf^pQ9B*q-&4)ema^uQl;7(9L(SUT+cUn@Pjeg7QYg1K4rrRiTO6% zt|rY9Pb_58JMWL*^<3T8qTGoyAAE|JPMQrfCedfB!x~&Qu*Dy!biupf$(>&px|2U{ z^v)N5T0UhQQC+&2<|%zKxcB;MRu$=!%nrO?BGdEBFONxmJ5!LyXjILLvFE~^ARs%* zJS9!_TM#~fAd`hD=YF8|8;hvZol>VBU61)SsWVC!g}SXMYE-M=jYO*68AI(*^wbi( zm`TsV)YzAPyR{Z&&W!oLFx!9{!6fkZ zWTg@Ln%0xOHUp@X#D&gB(q?=%bd!6|0jn{xebO&m^ug;z?HFq>R##@^IEqI7*3`;8 z1eFVW{o>c6b|K~TJ*N=h&xS`x>bp+Yn>@4b#OOeL>L$#syq;7V%R=)NFE;qgN^Me6 zS2*jH-_tXy(TPLki+MmdM(%qx7#t1X(Oql+P6Zk5l-2-=FHuGxCWh%q>@9LC#$fCB zql4x&;A#~K(zTBZ`ssd$5KQ_fRl7zvW8D$bmBPelHMtfmn}LNf-5Pdi=9IU%e&y@} z5gp|u1H#8M(KeB|!E#%PRNAZt1mt0e$V?n-uHWeFuD@0vC3aa~W2=}~tOf9#$*{ie z5w6dA+`(=MIT1Yt01%HvQ#-C;6Ofs4<>0uELsu(dTQIx94*z9JqpHI>R`#8uWUL&^ zu(FyQU%wI|a<-U_1_)BF^V%#fJ{`#pu5B>9REDSu+8}rp>1d|xvvTU5 zmv60ij7s`YuLp6&@XoBd=kQf8^>t7gi#ye2txUJwR9E~4ZZL1VGCXQ@pfiNmPX?ws zEJPUT4jfxdtgaS8#G`BbZ}a^;Q)Kg&Jreu$qfngw@xj`8#f!7L05gc(a`XZ*GR&#;Z_~VJ7}8zQ6cp+N85ash zGwr245iPJ(Liv5Jk@my!W4B-?ucnEKi&GEBrkifoaiwG;>W}>OW8I-gvE?9C-zXE` z428z5$2le9?IC#!xI|7a4;DB&Q}sOax}*+r)TCWY@sF@*lzK>iyf+i9{oi%mP}fSJ zs-!n>k@52Df5f)W^{6(+u*PhRY@O*$z(__G4)S3AAL-SupYf<~kPL0}uRWvn7-X&R zhmwbaoP}T!GQ0h48}?FZgshn=IVsZ*%SXbxEeMo|T$Dn|%HK&&scnFnnt?o+?i-+0 z+m|Tq>p~$;Z!DwmSvz^I*OJ*Q=CfeDT8KT?f;ROA31sjFDitHc#KaY@->J#$CV$Q` z;ZA}yxsDjaBL@{Pl=wJhruft(?qG0t$IrK#fcsD^+dwR>!wGjxO8@ZYD}0S2$1u>m z?CMi=P?1LOkduFtx(92hlp6aRv=6S9<;I`+*9$$8Qg^joZo7_kJfCtSSUi*=rsi$> zD6XB+&E;xAF7TWVfYqCjS>#^K_@gR=pG2N^iqZhlHPSVEe4*TqZD#J@PGX+7%7d3~ z0|%Xrk&vNOg_5S!M=ALF*vLvaxkNp2jTG%4nYskev;fE8N~L;z7H&Cj=ilt2(i45& zDPnS8oS;YKw_du9Ini0pMe|*5kyhz(H&A$y;*_z5w(*v`%dn=jd!$;F_@~nOmh>-6 z1gU;W zYdGNMb9Afjkr6sz|a(H3H<;mu`o*5(! ztd2^v6@%hi(sfoj>ub(P2r6 zwi9c3OT77_s52|i%cJt9?9pb#Lcu=|dsnT6^ypA)&-xF=8YVo7joq>zD68@SO9U^E}sm zpX<6_uQ%T6MaX*T*)lD&kk20=00!-^q1R0#Z+cPExwY%5_rFEU5>zFO5B`G1hF&>V z@QJZ-BXeC(){0+YgoNyzDIuU2d4I-B&72j8ITZ$C-b(+4kcZyjQS2ONodt$?h`(-; zcJsnL45eH>Q&3SCYnpaZh<2CeV|q^W)6~c1&N48C4qkP$)q%SBoKuCg)-w2#SPRLg z6}y6Vd^`lj1nW(U$81nvkQWJjhw~hcBdIY_@$NK2geN2;xvqT2f%O_!!kQICcifW> z?=%Z!F)}OYX5y>O#efm0Xx#fEZ&2x*U0~+;!BJ&i*z9tYI2^J^JYDPjMR&!e{kjf|kz^-ED?R+CX=d{cqoIY7yV0?cjJzSr z4BwGTjH9GdWBL-jTg7?#EG%X2IOgkkrp~Z>=8C?26BSS`y-zd)wrtr9jO8hL<>CSZ z3#yDTi~&4;sI_l<(L=FyfYXMqz-YtOimf35BBk|ktqq)=oXrUj)WJ3sm zo~&(jY8OA80oA`q?Iv(8UWkRtwlw&H3eTeCNQB!PVRznf#~u_UuRcxesp@`#S5;VB zZ5$q<=~>vDLHer->yhv8`ryYcBuAI_S?bgE+;(Kl=3G>|=Ukw=yx4joqr&^fWFlD%0YcXikE!sEL+Y!gYa^jM352W5w@# zU0dz_Z$K!-{Ts#V&$@m4%bB7+%%@9}a$0SV;AV|>0x3@6*$$^_m-B=hP zgWv34p>TDO%~==@<^IXZch18M5w0{DSh3}$B0;v zDi0q%^84su^AS`!qqOTcDReRh#-q;`!w}dTP)kUPjN&;hH*;zK@q%}OD+MwFgeY&e#n7@HUuBXX0QXH#CmcZCJ7EgLhxMd5M;|Pyt$9M;@Vdb#CUL^ZU~o*uSF*1*Ly1UQ~glM(T3c zGkx0(Ru7^tYDOc{ZrqjgX7o&|W+gJ*jXNo6(B^=8X>5^NvjI268Q(*%^}%njH=c@( zq2KlfGBbEh)*gB9O*JLaEMBWZWyN-q2ZFf{io@S&%JNh+VcK2EW^(4w_BJlGsfpf5 z2uPHBG>jG*d3^atx)2KD^?m~?YD=55^kX3nGi?HXOn(qfE0Q34i3+GScaq~pk&R;$ zel8I~HL-CjH0Pjs?`3n%yjb&#EsDbA!cF($Ci~L6pp~BGSrQgk{PtD@NH{a3{(^o+ zorBg1@*@xwc-%5sLTXJF=XSdHojdI4e&B(^L%#j!OuHzL8D|00k zKyoU0z~@e{G3QNfd*yu9jacE);gOP+p$irU7J2Vc>d3N@%7S<{_UOkujUKAMZ18+;Xz~+4jXZtahm$ws% z;?1BCLv9`5gbU{jWWQ^B*(`4${9aF0m&xYTJ9Z9RU(J~9$>=Rw*`b^uPN381e|P>S zwQ#V=Rf1i3~i zs~3DVhi;XTAJn(ai&_FLz?NhHp)J0ZhiE2SYV(1H-Q)kU=k1Zfy{-Fj++BuE?adQF zcDTGEWbl)|dHVaZwmk31tMuTX;KNZ{EM$MqbHSv`y1GVB%T6tzro=MX(N}QgH?=(y zi|w%5;ajz~)rlDtoXe}oD`_~Hlu^^+yZImFKJLrRUEqe;y%jda{EZD#ZY!BuT)vvB zDv(ak;%9eKgL2!h&6#UWTki3HVNIbxIOt^6!je->^Tf#JC}^H4l8-$DdA(k?D6P>1Whjey4<;s3MS z4A}Nm8^rC*Z6XCpHK`<8A&*^KZLuD<4c z+~f$r;4j97_p?k3U$%##PT+eIV!0T9@B)h59>>{m{ z{KNI07&Stm^7o$T5zlhsJ>_NRdcZnhw>gQhT_lx;a%w!Q=bxvsophlP&S)?fuV2`v zx|b559jVsRU{$T1K-ItGp)R84>bxRXLJcvc8C~&(epro9_o&`l%P3LVNsbs>Q1V=& zcb1uVv&)srhOY&>q^36l+-Kg2L!GZiA`1$E8nk_CWnP{ z`q}a5PWVm%YA53FR;$bACjG=QKN5QyL5FK6rRRl!r9ha2l#ak@SJ@dsKv~Wc?moTL zBC1SfH%u`l4+xnqGg6p}&BCF!?;~I&4dFt0J906^K&{dxpx0fZh^M@$6WCRh6#9ci zys-{^h_KmSJjju{l*!&%+-!S-W>Z~OG4W|>^`s#W7@K&FORPxmP3h957PRd|p9~o09`W|L zTxb0)k-poecz$2vY2{$Is?!?N+w9?w8=~yagdp{?aP8=!yKI3q12N$P4#tw=7uC41 zf7Bk9+C>JDmvJ(~Jun(WIviWYD6{Fb`4=frBC15Ipx0hg4$ltcT_mXvzvG(m8_8q( zq)CdO=-(X)XkS`n0}a2eZoXQ$^Fc8{br8TpoIvSq*E3%T&Wxoz6CXxRHK`|cZ5lg8 zeBo2A#+6mOr5^As)YshOAiH_RC#jL;TyT~2MY^gh9kW;;>W7p1C5w(VME^vAUXxqeM zdUEU;(i%@F3|PDk8apt3NH5mdI}Qg*=?VWGlMZwKJhNz3vN~$Ahih$Q4ICX*IUmGX z99j)~a6)hSN`5mZG4r&()w4skacO+_f%=WC@2)R=Ly>F9 z>-yh7DnDQw;)lUvk8+2Px+zPtpNZ~eO-F2p zvn}7A6z%y%({@@$rAPQXtnS5QpBpr;%-(MrYLTCiSLQQ&QUfm=STj-INx57|4)KECKd`TLTxT`PeVG&{jmbNCzAO}s(#%; zIO!Adr5^6D?|i~YBl9MzD!POX&pSM}o0sTbv@`cXEPc25>1nN%-Hvi$SWzI4&Q5UU zO?LGBsEXa}M8!f;5Mz^9E?5${x{G(s|Is#oys8XYxjoY5 zy})K0Hs%`7E|D%B@@%%dn%`z>yhyInvVQ5$&hGkCj4|Ks{9&u^!?`c<-Q=s%Of76E zr+{1YhginqL<`~cxTQ?EziXfVThs(3oq(=(#P@BaYfV%K4~nI^AOzFoM3`!=Axmsr z&;i^jjeV3)2ZpIA!0q%Dkem(Oh3vnnKSo>Im@6|aUOHoh88Ow2LpsldMOEWO>lG+3 zTK&D5Cn2huGXrcPJN zLo50a$0NfIx02>qFPd+m6T{-5m*FUJb!4|d@o&S+Uh7@ARW`e)@;W?Ir@t0x%~dmB zlx#WIOjV|?wvYC{&v@-L%-=2yW#Bppp-%@b>W0ILbeZ%#IdeWY+QXY#f?B_RVGCL9 zgbc&tsga@7QS}jvI{LQ4ib4GX7X4vuXA!14r&hOrXLNAa=9tBt+%tr9)fo*(iwi^Z zMnv3Ve*w=vD zsn-0gR(y~Txl);jX4R;c)vYqoQkmijLb*qXr@$8qGUKA7#m2uW2}Z z^|O!wl`gN>TUZ9Q_(HzcJ=GMku4FVSXmsOG9XkBx)q1rru28P35)GpBpY4KXcgC51 z$@7i!ynpAL>HvNk?Bosa(V6s>YQOqiv%S%8#+S@LdmwH3j5fJN8B$MZ)E^Xzr0Bsm z(jV?~+zZ}64-^w)dVK9#6C4KaE2)7T^$g2%p9D^DZZwH$z2Sc?HX}_WFItuQ0638~nA}(gzK^k)i<~3a$n!JdU38rBzSg`2i#^q$ zdK(*1pHsTmC=zMq<*~Ayh>cgJbh5EW?I>Unt+x(mwCfJ*Fc$gd>2-^t3TZ1=Q`lWb zBkiVo2q+W~vzIN;Gtq2k9w*A~wd(((69=}yjo3D79olJ_mhjqG5*T*-g-&b!g*a{X z!)RXQ^4m^*EkKehPj3sA`a+r_8F&a-6EWJ9wt(ls=yn20b2o(t5u{99;L zJEIufRuo_ZuMBkF{~nyZ;r!2Tr+=h**Rj~fJmIDt`aA3Xu_s=NQ70t^R9UYFJe&0x zi64u>#tty8F6d-e$_^uABp)s?+`8Q}W=hyD-nW<(hTUAXvef4YVv^B+X|DF;B$TG@ z_v{?7Im@wezZC1)oRHXa`8naomd(-;LBMB4tf&GO^Sm;v;O4wVhGQq#2#5fzHPzAi zM*%$5wE`M$Q-`=$qbk5gA@GjlQMHAkdw=o{3c57z3(N;#iuk87HB#ma+gj-1IJ;1E z+8~CBMT}GTAGB0X00f9@A^Dyl4QyJysO12Sf-p%k3N}Q6G_nTR9pgeb9Cl)41H+|49CQM{KL}k>-QLmo<&@ zpPSM!s4ebOswWn1LI7W#ogP)HYFBg1e*(-%O<#YQ(8ZmLIDyU3C1@nwfGdjfo)=US zRNK0{=;>Zk;0oX-Jp}&urK@P*AYdaB zxPfLKW{U^A7-nFUV2Wgvp8GE9MfV4ZEkvPJAZCkzR3^wePIJw zcpZe?aLK!MPeTy?hm=NMv~Vs5+52-PBr$+M5F*zS8C7i;qTv-gM4j?`i}cETI!ms-u<~k?S=P84XAVE!0WR)oDO6s2OwLZ*=g(;Nz{FF`2wL_FIM>tN`==CvJpD&M$o`}EY_wVWW4Q@z;-vhVrt zO1PBiQsLWF=X=ii!--nE#KX!mcj?`34`1La>EpaE;u_DetHRh?>SN_B5ILzhS;)pd zP6*AdsccoYi$<<#I&)_%`R};~w@_6bdWsb7x;lmQ;7VrclLlc+9O{%6+d*Ms)qii? zzccq=EAgfBu58?yWVf;U`wW-lOB&as$cl5w8=n9O}`p8TxBg63@_e& zg|!3LRw}XKSV1O(C(!#ITpk>eCGN+X$`S@MNA}h7s_~{%kP1$xc8{{D8unXr_$dt- z?58FHLaCW@b*xua3XQJR1yOtjt+TR<(ANsin9~^MD+R^Um6`*|MdLmRss6}uxY2mm zkgic-dRbLHU-t>31vr7o?LvJpnxb_v0W06L@h!M=Hqr+*_9`py$TK>xp(Js_-FxJA z$tz`VwP4O$X@6x$^wTigJ=OW#yb52E8-^s(^Or+CHiL_VRC2r@1o|1es$knj#Ha<0 zn=>`aAI$qjyO&4rUR5=pvK%$wNFUqDiQkw>u^9a9v?)t-!JT2bIWXVa!TkQBduqeu zMMTc3yLwK)BF#50ofm~uOs`D&RMROFVFDu)J_gl(r(n8vy=ni3qDFqD%XD>9zKWX! zLt}`9`ijg3IXccHW45fa&><`^XV z9o5n+@O{XEd5kkmUfz!l4wqd}m`dgHI9ASbeirxkws2?7>fse*DA+RzHEoAf;2wc} zN1Yy&TRIv46f^2KB4iYGvu4PUOB#Z&!U3e55}hg=59l8({?52Y-#2{kOfb_c94?E< zDJzf%EhB-^chp2GXYTO(9+!fggoDVLHU>+L#=rU+zWomLW~I2lA~`mvYWv=ndo9?t zf;tpF5{+Lzu-k<>r^UR@Eh-W++SD}liGv<8@}gs$xMV~Ro%a(@EBPL~CqD9tkRMig zBkeSWjmc{np+SeMfPeO4a&)!tqMJS_bRDLGcWyDVp+GA-CM~LmS#Tv~baZL@j%>*3 z{z6QifQUJ((a{(hl5terXdpZLuukpW?rnH1IWti_P>JNk`(-Jdmwz+8+8E{5#FItF z5D(jk?$4;vbb`fRfy+pqCm|>Dn@zl+QN`5QeInO>ji0vckdCG5;`DL+Biz=Ubb$Yw z5VA(q+?5ADelt-3YEW}mX)|T1QBjk5ePh*nN4^byqGCs#Rvu>mwYPj3pA$)3AF{(X z1{PPSwE#p|&_G^Es3(1Yk+w)L=jGINf0_Sws$wK(7h`mQ~$2YIyDLWuIx_M`6pU8JOR7>t24-?e5x$VY}~8%ZOi8R zZ_X-j(tezR|Z^jOibaeZ(luNib5^x&CyrjYJ|pw&VwW#`oRkIwE(8?sGR>mB@) z#B0JydV@DRXRSix>4yuRBv@n8(dY!@PT`$M=1h8P|HX zYvY)K{ksJ%8%(wQ{-^3#kI-*)vN= z-fNjhV2;&r^{=*f8;=4Gw`ZQoWnM6(((P}{c>B@O>q&>I0HUer&Z|3bz6pI2 z`gAkS_Q9p-V2%M(%Q%jb)6MkuXB?8~aPZgns`Ago@lxl`uzeCdlk_g+gha6Y%};;N zzj=2^HD5aH+$VYLlAN>%$kgrpid`aYf)(~2$(o#Kemop;rSY{l{*fS$5g61z()jLs zI)BDkYL7EF4`8#K?Qss?I zRXo79>};a}p|2-Q&N)Wh{6dU;={&Ev!A4^u%s1MOhAgkO&3`PXA<5S$9(d+F#9Q&| z>TegV-W}YRjL&hez6tlwEp0?yGjUD7whVkRz`UHkN;`(hhESLv}0UPU+lhTIc+ApBTu9^lo_Nj8j zc79Lb{nESIsu8d z@Cc^uM-2$i4e~Vgc19qQH*Bj4V;d_rISF91k0w~Ih30QgS0A3hkH*VeO{Exugx3x`8!0W)_A(d811k6Odncx2jMnOi z&7VfG`Zguq0hKX*amKZ2ymmVaA_9|m!$8gzx7()zTviJ|P@QU8e0%0R zJyU*BPtU+4J1;1N(SE+EOm4FF)Rh2A^BS9t3vfpjqN!Iy=U0c3hS^kAgIRS&D-jlf zmX3BY42Px35aoI|?BB!fyLr}_0znQfv-{-*es1g5k7-^mko-2QP1DntAwbWp@zm)U z!10TE(65JQyA%lM;Bl^Q!{7&Dh2@?R4J>tdKg65}2-2}oXFLsIg?)p$9xh?=Q|tVu z+j&95QTSmu3x?VyKe=*9>vn{IHWSclQk3m+^$nyny?Y56Z&1{&1;U z?Z~Eu^*+i+2=}(kdx2PZ94L+SRK`&%h1BnBJ-MA z1@*t9;Q-vl8(ge3I^OENrpbyAdEIZGv6H)Ur22crwUa(}%EoQzXiu^+spR%O;T#*T9f6W1xb8lCGpIVe_$1f7#pO$(MY$|7tQX=C=PSyS^335)?zSiOI|tzKHtKczSw~|3jCM_Y6ltBXRj$ zyVP`XpVJIAwYJT2_pzRaos_9{tj4NIC$GNX3?Oa=K^H#7Imwh*0Wuv!ymZwAIqt9r zJoa)wE`fq$`|08*1uWIq`<#~uo8{~8V6GyfY5__Asp)!fvMtA)v*bF2`c}CmgU4vdZw>$HuC47m$de<*6c6P zB?n?6x0uBdkbuO#Si71FQ6f7{&Zq) z+-)_2cAQSY3k&>2)Ch0jJfGX*VPR;9FnTF5i=o9yUw9DdIu&`;AZ+3~zf2HRkcB-(KEksM4GJ3X(p1EE(V-uxxNj4)o z$bj8R&UTG2w;_|imb8o&5Hi_!9g2S_L)L#SRSpnavcV8|d(wWg8h`^4e#= zpZ_rC9j(F(P;{c!w>2}8K=J(++99Y2*@K`$O`P0g0@Ci(jU`*`_eFZ(lfbGJc7yF- zqEcRRb&@)(VcF_&SIhF)DfzgU^@0sApiU1%6Qv;1De)&IYdja03^FqGF~F30B{qUZ z0|WfJQULN9I{iWReo=6ohld1k+4_ZI=9DjLMQG@(Vn$I*h{Br?VFufpYZ^UtB3l{0 znT&7!g`cTo*w^RP+5Ye{46E*FV=As#5qwQd{7iQ?rhFd1xOw)9bxto#WK@D4ar z-_D`MW=b$V<#Hp#SZG9i1{z6G?gSv)JZ@jqrTIdB)f?3!v z_5hE{>tT0AeMV)I5y z^TcJG^J8aL#6J8BNw`x2YIwP4#zCfxX9lq{ufpFm`Z*W#Cq)bx9*U+YLw`1+zh3e| zpK>%P6vY~7@6cH&klDn|Stz@?KXM2YQ5$_ZBYwwt? zoAJeEr4zb-jjJ%D^_Y$x_FX4?L?>C=B(0U4dxnL=gygkF%B_W#!y*3d8*0NYfm|IA z&g{;jUPUuPU!d5z+I!`6+Ac=`VQij<(SkN1Vrt_P-N#rY;l*y9YO=Uj)S>KuzGjRaUD3=!7ajHAXGzMnZ4#VrqHTJxJDq{nB5vhj-IxkqOOR*LQTAN zx;V|jg{QdAPr$<2p7-F`^mME3gcd|lL*NNVBgbFGP?Bcionh949<*p;e7GeUmO@p6 z=o&M7TgI3d{KP)V>}+B0Rx+8{4%LN4`7b&i*&yDBART}9kQR0BixS@aC_8q%c$uR| zG-fyhPW72{uPC7^NsHBYr39_W?2m?`qZ5h5?DC(9uQLCv{)ab0+s{cGG(Z!y(%s(h zH=apWirRid<531)UI<6iJ5Q~HS@miPpy(cG7<^BUtLBG$-)oCz(S)A+(U30By_8YT#?l;aK#d>VS zkf$o_P(>d?wsj9jY2{N(0%K#B18nJ;$p!oCZJ}DLmby^(&09j7{HJz)#R6-eNA{e$ z=I!v_huy>L^@DC>k+hX8@gC1()H_Gkci|m6REUA({%dn&N&Y9e%Js{0Ha21=Qod(4 zf$hGmJrOGfc51}bU$4DS(*5$TEhBq&{xOM<+vRVpNMhs>KW9V3gGgTUw42Yr;dyo{ zdOu}?Repm@K8B{r3R*^p3k~#!A~q=JCdBvJx-iIVyMxJapVQU8~{aI=hKV+oA>=Kt-iX)WH0!S2@!gL7az z$@UE6�}!f{#e2?zYZYv!>W&2g>+B2aSO5HFdrp9v!(Q;n=MjQ&50V`}D+IyH~(; zgZOmq;F%RUVKe2WC@VM$d~CX&KJA|5-MezD02;oUNyKzP)jxOtOuo*|wp=c|pgb1igQ;x1c{(Du%36W6b1D4OA2)Qg}? z2WiGI3f*r7@DckNQ<0zvx7H3wC>sw-ih8ozSyBQ zLcFaq@AVuew6vUq3hks676o8tz;GTTsk1jwunM&{z>5*4oSTS|zAc?@?1ua_jt@mGM@ zUPCVDin4rRg{L!%w(n@>MITejOsib+pJ?X*(pCY|H!ElJ`TWpq|EDA^g{erj(V<_! z=5IjdEZX`LDK4Zz(Wv}Ue{!{o)Izd?@BHU5YIu?Lrc~8-1>txT^u4*Nt$+q<*AqYd z4=jF^RpY6)q8pI$wBFfdnew1GJ3XN4sg;AAR+~d@TM>r4gq0W7o4RSyIj55joz5&{1yZnTuakx$y@o*D}Il)v#M$$FgL=Vlc$^z4ou;EJIB{Cgz5q)5x)c%geTpDSuFncEm zRs`H<>4;6tr!Gl!S*5$m8sgGn%&*4pY*GbWM~$@j5$a#99}nc!tD+6RJq6I#a$fuz`wg+pVJPBB(~= z{qD4ju()#Joz0blx1oQ}o%{P>e!^KExKo9B%{5yN9s87nM>gf)?(HMb;~m4 zCu%TBi9V2PyU}6-d@3z^0AS!P=#J;;C~qW7P?qat{7z#u`0W5ZN<40?oq8b)P}#eo zjrW?LU-i-w^_yhXkVQJz&pcr6zTS5{`F)WWtujQm!9!j;)&Mm62f5h}ocjkWU_7?^ zc-yf^4a75=62rg;d0)Dmv@_sRAZ-nr^lYhP$lm*@Cmi5>a|klN5lC*T868_(3o%a5 z2hl^b4~W(mlb!k7X=VA@KPqI}eY59yU*d@8T2Tz?ruZsAB1qZ{7l*m%N z%l};fyD|E%dkMTxXty2{?HO&>jfcF11KZHRjklPsaOp|Q zVc6p1o_(Jk3M?S^kGe+_%m)(}V&=hjId!xkn$hO7v5N~mWU8O(Ir42Zlz@D8TMtft zV6E%U*ZB>eA_VSQ$j{oKsb?8-@UDyIW?FSgJuNmwL~8ltp~PBdJLO` zy@yJlo#f4tv^Jitp$c1_ySLa<2+$&fn4XuWmW(N>nZ0nid+A^~(X#X?>vOTQ9}C+{ zE`3xGHrwwGba>EEq8Ajit!q*w^&cg8h6?vmmTN}Xduum6p2fAF*C{zmcD?rf!pqM$ z{t@Fy4@u{4mL>t{o*kprtueilRXW?s31jRCL;WUrD_!)%`sAA3@M_z|jpyi-txy3Y zo^i!WAyrk`!$skz`DaZ9~NBa`SP)ZGg7&FvFoK)TkSmOfyD)Plffg!0Pb@RDVe`PT#1ndBR!-lp@J1izU zk+(ea#&~69JW8N*v;R{@Lx9qCzNQ2J6Y8y0TsU%y(29p^BO<+8H)ll80Y(@Jq92C6 zfydPFsVHW{)@GIpsw5Ofw%hTne& zH`~AQYzI*b^7{em2d^pgf75-FKd*dFriThHwvvi9s5k~W0@P>#<+8(BUiasydkq-I zy~hPX^MxX7jwIj5$oU)%>pQVr)I`&ur)+_Vnus;-!!coXFEdu#z*C;A)Sj{aCfFEb zRj!)xDdS&6Otm!=ONzpNjjm>1XHVA~^WJ!g@v2X!i!{J5#B!?9Z!`wRG~T(}j{;}T zXuHpp3D}(OT4w*SLMr!s#Sw&mG5^(%GrTVWR5!{6m7Z-kcc%FqqE;DaSJJ0kS9P2M zJ|`3{2K@(zuT)LH459?rFSclGj_dB4`<}h~kn_Rptbw+GOb-YW*tVOQclN4Pc&1vs zP04)Fr&zg?Upksy(vDx-DxE3PzL4D;Ccf)s-2B%UN-IeAV9BG7k~D8JO<`CZ{>NPL zU&@<-#k=Kw(Yz`(#$7ti7N;NUza!cZg)>iPgl%-kFVI(gNL{BlMmbPSLe;#+NH&-& zp6I&zIYR0lgEllFVutq3`>tdN>3~%xthMbrm(q=4T)zX{=dwJ1fW`g6LM@-?hCKNN z5?Z4J@52Zvi+%RLzYKR8QsR;e`f5u{)^K%ddTyQ_p-fPY?bsOlfQ4ZY6h+|?0ix_` zVQ5DcwPGa|)y01y*vRNZvtk0&qhtFv(Cm-lYtC-1q($$no0 z%u}2xDvPu=kC%Qgey$RNHco%GX!?3C$hKKaO`uA>Eb^pk$Mr1OjZoTHQLIQ!@Y5&_ zqY-oFObS=^+?|uNR0P?X@_E;B0r|W@V{r&e!E1i;%v188?O8Gq_~pT4sR zuTqO|02encJ`JyKALveh@m@S3_@AHGji#q9uE@tKQ>PQ4feslqUy3KI?TqI&CE~eP z3M_n9l+5g7Df3n#=2dq0MT^@3<(QX_AYu7g$=_>x7f&D9J2`dF6-+Ffd@&h6n7TUH zE4$la86rj7*71#=i99K*F#=B%BQ&>Syv+lpZ) zp6MI5@}cuKOY|;V(1AK=FllR`Pf(5L+*O<<{w!CYQ`-8$@;R&4%`~X%SbedO8!Wef z+&7%X3==b1A1(q0nsW(HC4w4Jv8a&DHu+e+{KLnFuW6U7SmQcJ(cFF(&@d5ip(xoo z^OZiMqn`!nsx^}YJ$gaG)sND(e7`xe>@F~WT|e_?t*5O#6}!p`d&I5l^UUhRqe&?x zDasXM7XiZKfvJ5_qZM=Ep5X-i(xsgUC&y4qM@cjbRn}mN0&dK5G*%co2I^>5P zS^(SFK9V^szP=S7oceZU<30eiF?}^u>!}cCIBm}deD7@!K`0?%i}&T&c^~=q-Abq%roj)faxLp6<6FU-3mfHtFe_4p_Wbii%ye)8 zY^;k;W6ECjD1P$xK+pf+lKQ=hL>&QZU!O*4JTh;s`Zu%1R_p5G@cr60_DUBs=<(I! zi7(>E%w4bfW-1eyqNH3V@q9W7yQM7WyRpcI zEvXra)v2P7u-_!J8<7-s%&uJ+5&-O0yWjU&dsr|`^!)EGb^BpLc=Wc}SXD+Wx*rEo zfcW_x@r7j!9ge2hJoh%Z6ckDPs&eE>^ASF}A!j=~VCY)JM@--YUR&Sz{M{W0irAjl z2!v}n1dVu;EtdNt)Q;18oEqPT?`6>#V9L_v8^6!YJ`P?o_;Ti~CLi{SqvuIJQl+sy z*GcCN*HdW^Jq175zyCtMPtCUkKRSPg+?#5zKjyPEU_KurFZlgd#4rEKYjCIoDBmQsbph3v`(`Bm3*x&~&@HX^a_uK) zwv@phQl?Dh=7M>XQ&HEn!K-(XXP1%GHwM4s8j4~a(~ zK@$}>_j6@pHJ#1&xZpL9k{%niibNVn;_Zl|b|3r4KXsAAPT5nGy#CR%WSb!}YY6qn_mf06fGhX6Me0QEc`%jw3I&A&7GL~5ON zkPGTO18l9ZuKn(&9N_3}c*eR+#>M7??VG6EPo$;kPt2D)M;8>u zi|eH1jP|f)q1M(=WaK$D1;|9VR)b7ox+G8ch(^4jT);tYu9ltfdB#<-fOyfVK5a-) ze>TYAPhJ%@Tp(#UwOmI*z;|Cb(@C=}Y>6B9mGFWhIlDXb0+ z9Z<*Kb~4P@^itSwH_ewu=O<;b{>W)&-sBA;f3Jtgj@JJOvDiTP^KDK$a(%evBy;`l z#)_T19|f_3%M!WWUEXn(Jj!>maD2VlMP~Pgi(J(Hpf**ibSfcMksh$*yMuh1jVvJ0 z4Fudys>{CuI5(UVW>WoaOLE|?3U|=6!VTLsTDOYl!qF~(B$m$-vfdm?X>PUm^j)?x zbIosn1yW`cyP5htpLR(4Q!UcK9`h%8<`M&H0vi^1TjvX93tzNOPUQIgQ_crKO-kwo z<#q(jd=vhB)7GJfC&^0q?o|qV+UC?9fB)}!-|i2eBCoVBhkDu1)T;$odbP#rikohH z3?P-S54`0&-QlD+<^=67H=Sy3NjmmJ+c?Q(#ksoyyVs9? ziVmycgm~YV&#;{yJ6qAP*Q~hwKLB_@hrf}fk?hLfTqz%%Q--_vB6o4!8k8RS(R_#y zavE#AmFds$sxdYqhM6B8W%=#_)|Dcj2*hF`q2|mlI)WoXDdb1l#s&HNQQ@CLM0v!YaS3Gra6?&Lmgi znKXhX-(LQ}QoJ`lv8lOFp7mhyC4M<};k+@h3nMNz*6$nq%fI;WFM2!nQnL`|>xu(I<D^a4JOttY{cC&HFDu!sd27}HLb7;J5lKG@Q} zu~H(0jqx#aN@p?=^_TtpGHk^IAg@qjvtwt@n?DZEJY)>OG{3>g28PZ@@`)V&^a-E4 zY2)|KU%U|=Z1lr+`9fE3XzI(cvF%mz(1aw1Vsm4kecI{jwd3(?bsdc1YTlt6%xAe- zffZ`boV`vvR|H#a%w7$)@d4x6Z#~qu$QLJ|YWHbJLyq{|JZDqYw6=_YM)6JjaK@JL zDAv8v7`bGKyD`+fNdNF2tlSyku3u_rz!>ZFv7xyeu+2rX(w1E|dhzah9cJT%J^e|? z%|Yi8B-l^#*dl-FA;fi<+$xsdvbOjocbmV^K z(rNuwd-*Sod!szq_?ob69g}Q4Ewv%-&F_%1i_Lw-@4InzYtQD;;hzk(zj(tF_F8@Y zFxkNy-}0{!Rlf%ed-+Jtpfg@KW+7cZb?quw!(`ks3r%%KR`r+@GT@AB(P!7j30?9e zPwDFmb8QO_ao6YESascQyZIOq?MI`hcI3F*<;$KQSQU}=^>P?KF=p3|X>tisHaC{x zZvLdnSe)ax~`9o`X+SdE@0%r>mF2#4a@iWkYCKV0X`qpX1m8pbd9zbfP~?``TGK!CL)kZ~lr;cq%9KU7rLK+Q!Dd1at&ra2c-a;}=-d zNL~O1Vr_@Q*7YR*k}TeOo@!p&$$B9m=`@GS8`$r|L5pL!Lf0G?6S{(2OggsGgm3YS zf{Iui@WaWD<q2k{LosIx!tR3aNjGxo z>Y$2@Ekm?ci|$ENN%FSJ#gMmER-dOG+5oIXj`WKZvXf zy^}U61{xhE+0nBvGV|hC1&W5Ro&N-19O>&vdJBY%TR}Po6U+W>LzW3l58>1#bC~7b0JhOzrtd#sK6$!gj7ZjBf7LV z@$}dC@v|ZkD5d2e8e_$91m9%Pu?ZpsM;}uD=T~xa9C`5bz2v=%Ws~y;?c^yE`7LIN zZV;fQmmM!=0Mw4i7SH-OieRQMWT$O~Uf#NqLq->oNEVpl8GS`MJiL(|ykW_?oZL-0 z!lz>Ukhk#1)MC2@&BVwjaY-uQN+iY-sYA~f;@7UNA`$Rjp1Q`6q;jE?40c&n*ZWA}#v0)r6dO4CjRXF3@+ejBI(+N!d8eIs3@oq5blKzm0|Z zjtZ~58^1-0+#0SpJw3})v>T_Wv&AMcAsZ$)Q@B){#@1Jzr>!xJ*X(VV&$$<=Sj8Y@ z&GWOC$)u5SnMOI@+^s+3H?3ik4}Bvba`+QYLMpd8Ejf?OLP}qLZY;>?I6jjYd_>6S z%1I4>J-%-JYajcJr?iC^W*XHNes|oOM`^ZQSVTYC^w-d|i=mHR+M3U`g+1`B?vX{J znC&R+(d~?Q_J-|AX8oInPNXHevBZF7PoT0F9v>t1aXx%_$YK|ts6DNPwZmMnJl{A( z7=h8zTuf|w%Kp3@TZGU zudh1(LK7v;(;U?=&Brh=H?$(+fY_Gr67+JsMjcwHsU&#Y_wQY`tjo$f5 z4)Mp08`&Z4Ry+AI^qq&Id$w*&+%;?0UCAFc?bbH>Vs^L2njUh*1arxrd^~Y-b9Y5%Z zTrB83buN4I{K#V)f5D9vSGu*R_jy=U6@L zSK`1D0<&^flaaSEf(Ldny&J6Lz;7fp$Jvo>eba;2{Rw_%Z+VDGJD%Y(cg}y#mkaoB z9<3(u(R>lz(M1or{An|`JZJ%?mR^^$Cp5;BF>e#!sCimXvTfrujPV!!#?f$)G=FaV z#-7OHWBp{?KYi*gBIIfTOXl z^H|(rTyD@X{|GjV;mdFL?9?x2Hmr+5^yjBMX=9_)*5PAMujxt>xxoVSY%|89Q$9o{ z9nJA5Cwu-%M>-p~fWhDKmc9IF3~R^nS+8-_vSR1x885{y&v*%zhD{0~lCwh_~5*W{IBh*OSP!q-LC(K~0%hA`K@>`LE@ z!Xpm`?fibfQ;0r3hnLS_ZE}ak&ulvjgYcRNyJ!KZyxCVZULN*A}=mL_~dCJ)v!!(w;*-dF3ejOsH#Fd^h0ckL!21WJq@9?BtRY z_QPi1jw6Y^Hh3N3>m=7!=gU{}TW}GC5WPHB{9Blg&15tmpYTr|HjHvCAPS+AZd!GT zV+&*ORYn@M_mw}My6O{GIc^LiKPsD#y~%?%{+Shy_Y(8`?p4X~Spb<_LX$o@%^n*J z9UD1rAtOhGLI*p#`j`zlZZ6NbzVmm_?eXvtlbzB_OUcQr&R}tKFUO)wXX79F&DpfE z;p%V9BS5ZMyz+HxN6u$QFj9aeZRo38O+k|`@+?qoE#ldSy!z}huo2ekU~}61>_+eG zA_o0^Y@)C6PuxIiPuJk?SSdNRa_HNSQmf2Eqy=kou)tASa;s)Rgc_V>c7J}+a zP0zW$+L}7on6!?q1_Vy~{ppR=#9Z5S?#4$k@ImE>NqBf52fg4(2m596>?1Ra`1o0V z@(W*yO~+VuhL*gN@)^Aq+}v_AGe$;Cd>T93m*Ydy^QUnb8T_HI``A2)Q@|FRI@=rA zIj_8_3$~(2JsyUuqq!44wz+t2o;l~o%2O-j@ASc`jl1QtH?z!}>VCQw*HGx&{KkJ< zoU?N^Bp46B@hunb1-9IzRc=jZ`VUZxmtN4vq2y@p*r<0Ksf`VG0GZ9$f~C1vp4FpU zzxk*3A9-xCVCPFTw#{228ohNP{YLKeOxE(4&7~<{FectU`Y%TsvxtPP7cyNOh&dkF zlP!Pzg9bjJgKUe_9Z!e3O5JN7M^@*bGY-PGE%MM=D`{f?YQrH&JDnZJX=?r*n;oNX zEsBgi^|89I4WE6t;Dxb%48NQa6EfJc^~K30hNsPj-;eV{dgP=pbn>YeZ0Uy)p*WT{ zf9&s*u}(@^5l8! zkQ4aGX$*o}JU7nem%il?3nzPd9M3ktiY+q8C5zhnAeiS%*~Q_7vp7Tv+O&3D0KiW# zWxQDw=<7HM&mDVm5IvcdmE+Ezp^>ACyET%r*10w^#2h|bQN*5`yV_b;LqjGXbUYoN z=1p{7`|eE#d@!N6_AfT$o2M zrnCS0uqg7UF-^^}g(P-bjEQ($AkZxamL$ z4_onhV$E^wsy|~(==%M|god36^H;yeUThktjLXw+UBiy%O&CHF+Wf_rW9>KJx}1){ z+87_ycLy(g=Jj4Xom`-zBQ@u6>C=|q>dY?KXbeuTlSj@&UOIRk*Ea#Q^<<<57hiU) z2kBjZ!z({wuWu`C`sA5)n6EeE7dYU$HNIx&&-G_icg&O7`H;-WC?0hA;eRpdc6RtX zHnJxZHaM@*`kL3Fuk6^3mHow+3b1dHQnk(Js5Yrn+_VuAK z^!UQ)ji1d?XHCKWU|bCkZ*AE8zy~m}vDY{0gQ4Og5v~6D=9!L0G99b+p^0AhxPG&B z{iZFAFv%e@*e|&Knll`spFP1GTSy^-JoXqH_P0&zQBm2`w)_z}Iu?t`CWm};YI83A zx9-By+`l%5uC*ik=2GO@VE5`ZyuF|7*SXkm7%X(umq%9dq-e>TG(BPCH+geo*>wWct;y^mFWkz0F%``~f?(rbyFb2Uuui%er{Ek^+@_#(G81$IA`J<^-& z$XqvCe&BwxKgZWbzQar>8|vpUYOlRHHm=EuH$roKm$TnQdzhpaX8o_sf(T*_l9k#{FhFH#A4c06F?`gscPX|)?T3FL*f1QU` zA?g+#CNMWx6xiYnE(M~;A%<7D@Y5Udu{Rfb4K$GJhp|UtY+#FjK_-J=$>>0CF!^E$ z6;V&VXktcE2g}K|4YJWIeA44SWd^6$EqVqI{U%C2+AG-7PMkik4w~Ruo{*gZpjgL7 zi=<8%$9BGIyduw}+{JZe@ZWF^w`k8JcpAfC+u&nkbjNnO<|}=pcS9l~iw!T;>Q>w0 z|Kesj#uE?N#YEFxcs5@sKKOb*!B4W-84;Cbu(m;0?7CDI4j``+!$Ftm8 z-qCIAjh!mlxTsxeCzB0o2K}T7WNobPqU+dgul>fj7v{7yHpyS`ud!;|ggwPqa*cVe};f$L6Sa)hwmptzXRRR2YG z{NPwFG5{S_uw_>{t^0F8`WBmXMgN)K!UKzOOK)w+p6tasauRp_uyw(6>L{h=P<;Gw zeaE46-Lcqw?)-)pve0t6eRf{xYuC}SSY(keXQIC{Vu$pbgy5>qjF$+Y8+JD+$x;vc zRAjVl%&2KOiF|pE*1}aiXg;Bj9eD3TRW9Q7oo8zF{_)f>17VC7drru!-|eYM$9*!9 zA7HJ0Ic~j-p5{>Gr0Gd#nrC2u;(@VaqB7-}8p8HqoAN^wTI0HLjEE5N8F7tY1>?)> zco07w=$>?h-WFFp*yyD`?a$v}+ zZ^CkOtm_GWtm0|eJZa2qjF5=;t^xW)ZS?Y;rzYf!O)Pd1zb6vg2xne$kKebxSk(BA z57_|^DdNbs;){IwyK!pl@SPvq{mVb>n!lSf5`**e;;ZF^+QL`tplkfdY|Y~w^E*7w z=R1B#TtnWPpT4MTY}mgwadgXrMZbJ#=;h1$D|*#ZgZoY?NcElUKK<&kF02^n;agNy;((o@nY(g(C zu{=69AI|>K@$258IO7fev{iO^_@e)KEOKG%_)Xg#yVc1#dC_MdHI>0n_nL(7yx=2) zFmY3a@B9c$y2^{D`JJ^!AC!nZ{o2I7b4}KY;0FV8xT)y_q=s*vL<=TdlV{ z=T~q=*00T-=;fcyCCjhPbzmkR)P`>J35>jf-K{E-v1TsvS8mpFO*>mlw_X)0bWK(M7aAKC+2t z5Sa$=93Vjg@Y`@JD$Q-pVwaXa@TJdag$3{RFsFj%FvkYS-!9)2--Zm zx^9dU_~GhWuBSh|ou}e&ea888Oh*0X(`sRM{VjI<_=-=3#qadGeikF%(%)mcijAD$ z@BN(Rp7Cv*&PT(4A!{S5wK6*SguJdPBFZ-bw6@5NijH@(rwG?w?u;uxm z`0?DtJ&Yv$dmpnD;0&e?$j|_FZz}L8ClqKf7idTb1#XHL%)9VnBnTWv-2EFBb57(H zYDu?Z2zF_5fWu!t@AnC%j~)Yu9v`c$nQ3e+(Bz?R_J?=*CwIboY%8qf>hkp1kbd2r zEMoATye9GSc-vdHU|L><|OK*aC3p@awxb z2jvERR~Opx7;D+WU%PTb-i!Xp2`7h%Uwpg^p_q>x82C1J@xC!8dhd9&h!v0Fj2I3I z!4^1G?X>cZ$u914+VL9NTRW;CShT~!FUA778+*@a`H#J9xY(++ZPRtf`v`-Vu3!zv zv3a(FCV$AIrxQkKLp59U3uHJ=cB^qA&TpEUGcYz6EOJkK7ak#ba~6@>syp=8mOE}I zZDf_HK$Ke&`#EC#Q^`|kM5$ctktx@3a0tfzPS*pV&>a) z-6c?J%~RpRIdxUVohj9*_6D`)%RNq9~shsh{Oz+Ue#4zPUAr zZkx8KUQJn3M66A`-v0I%^AEjVc)Xl{O2A*=_^!7-zVbJ(&PM!U77{lXwu$d>aqhxp z;W$^vgl7OcJiuk^cP3$N?T1xcl{9t`M$a_|H;*NzT+*A zulffQWQC#rj!gP&%NQ}GGuk50=8Xbn?6^2!#O_Ux_q_A1k@sq0zVE$X*RLUB6aL{{ zY+>_BGcuFK^>=f#zF%IG=f(yk9SdRV_$r9RIm+F@A-^$8I~}&#p8z@MYx&UFr(0~9 zLDt*f_F~sC{^6i{43GGcQf#4p+go3JeErwG6uXQg?nd``yeqy#NWX1=mw)t!&`Xa@{*@Wto?v_=hrXhz8ax2W21Ro-^S8p=u~H{^Vs7ns?-al z_UPUG1yJpJ`Kzy%K0S?%c%!AG^F-uWqmk7cfKRrvZSorb_|Q+|85yuU7oYLbu=DyS z$KGUn$2(rCU#mAvcsdrNuU`umwp%BJntW***m^Cw>s!y z6M4p?`OjRcjXoHP80*2MQTjTa+5y?5Y9pST4t`)siJfx!>I-Zidt!b2`> zTeA##*DckZ^YlZDw{uXMP{BBP8LO!mAV4IR`YwpkopF|CJj;cF%xQDy&TsYYiJvyM zptr$s;{n9Yfhs?;!EVmyoUCr_&xW@ftEuu3kjeun8+y4V zPL*-6Hs=!0d45{dYg_*rT>x0uv%{xK*s!sFafdVds0<8d7NPM#wm7Asdo;yX>GMs| z<&SH{9rtfzr>276doxT5pIA4xIa9OYB9p)9_EPBN4NKAD^uP>XcAZ*Tp-CU!$_p_W zd{$YZf!E92DDRpF{MH}zo3q8I*kZE-W390exA5P&7gqJxc4ggqYuz~TM93WW4ZnvA zVTbFE5#y-ikSz4Dhlm)&FQxzHcO|CnIdN>wK*OHZYj(gdkNE9=^+cZ}PDk@gjugb| zuK9d5tm-15D281v%unk~@t78AQPw zzOL)ly{v5lb@ea0J9f-(k#TeC)S671JF)uLlh>2}bOlRieZxRQk_5)-@Lh{W?+22cg1jS&*b3u&>$H=s2b z5+ElLUAd&Cr|g1rb>Y2^bIg4mOgU*#ymOj%$NKv2dUQ1T&pYjWK<5VX0$W^+NPGMl z0i-0*!L6utGD;h{5xay;Kc5S9H!^boYcYkM6f(74AH8N(#Xr&GpRDx;>L@E_$-bg# z(1}Z97~%ZdkEBHA5nVj`=ST5MPyS5jVh*EmUYm+#wkYs7FZ79yMbai&iJ!rkFzWLT zwtWW;|G<+y8Ird?4X(yMq{^f_f+}wQj5z^4dcjPt-M;{wpXvui~n?HPvVFj`| zWGn_29Gf^fJ30ac&mFgNoXvE@W+9GW&UV}#8G7NjXs^Ctip2VZWj2UV&9iOlIA}eH zUb%a79t~QU;5PZ-?BXzf>jhqXgX$@_^~XQeAL_+(`FTWjOnB-z;j8WBie*?^tSye7 z`6RjghVj;z#Si=;|C(EkZJ4#^_`bs%hXq&s9a{KyF%vbR;a@jwv zL?&_5lRRfNKW#9OQ@v@dPt!E|=`M!QR;XR@tAjTBt1HLm1-gt+n|9dilc>1^FU{rr3v!{StP+h&}J z$$45sEOWei8EiTJr~l}?8mBM*`B$P-%p)u9uQpPylH!L0w)S1pE_ z_@>9l|NaLb-|^vZczo(JUwnMWx4rlAqd)MW$8YDji}GM@O{j(J3{ynd)z3%v&0}t} zA>sdynGiQW#4JjCgRB@MBXlsml&=Nhh~>lT0U5n%8)>zb+%%#wmiWVsSYwavHgV!Z z=W=NaI9fn9Z@=mB(?9;v$Jgb?^&kDom(sG_F)pel^63zF{I;%B7@N&sHd05AV>Oa} zaG+>e2>}e9BQS=J{?0RvN#sWnUaxLBXIGIB42a+C$#+htxbOkr%0IdELeBqD?E3rP z^Zv(2zV$ti@BZjFKECliZ-0FDbAM4W<`3ew{+NBn6WRUvd;4Nn^cePPyf>yl`gh;+ z_{0x=OY?yZ|LISD=i@K_>gC5*ax>1hTn2L(t;?2k(G`4jZnK7ok50pKnt(@croQFz zpa0a~d;Ixde)aL?ue{PWHd#~s;P-y>;}bvpt&dNA`i~nEHgEkHKZTdL`8Z=SH2~&+ z@)O_QHzq#&xxajxSKgR2@O;mA{GG=S{|6s<{MNtuLg%%8QtJ7~Klu;8y*I)C@biBa zszj_|m~C>Rvn!i)_|0pWR(H%#Vu%*D=3q^I_ct|?23U${FIl4a9 zs(oW*a#T@yMVaw{wqs5bW;2I$tfx;7HBS%i(?x9PnuEn$;~xL`li&IH%P+nB_{+cg zYHjKK7Jk0&$Ns}(&L&S;HlI3w<5+2adg46ofA<6Le*DM}ee2`56GuF9?9Pe&#HMbJ z$&66Gt!??sHe2g)yx_cJHoi8d%(KRVH$6tjCF#q&-dY?U(fee^$Xnm~!sBzFPi}-) zpFHZCri{B$&~cS>-jHwf!CU`@;X|?K<3I9|$7eqCC%8nQf6>EO8|&xPcNf(mxb>mq zK7^O&wXCiB#v;72y<^mHk0~(Pn!h=0?pMdjo%r@?OmSEc--lB!){ag7U3YDATANPu zo1fpCFSM!8Y8RT`*bOeM&GY!n7)K{}-L&Ut=SO|%;H}@&2p?O>MAux84&${vgik{3 z&pePu*cbbarD8o)42j5W7-7p#WP1a9xO|_fb?(s@S>sVRmyh%sr!X~Ek#YY)R`G_z zSWak)XE@Er1zY_+9)#%M*rIdmZFM=g@*?k!b8=uc-t-X!)4g6r%bwmqIJw*LA0DZV zu6doDS3g|8B?T%kNYfwL8s2c+nw}UF!;!Xy+(y_77 z9vPj>ivH`AD{V8#&ESG(+kMP610{=9ZCZ})hDYsu1tiBiUOpyg-| zKeuO6dEnYFG3D09TlCwoz4bd!_IKS^|AP5RKiKf%3cY1Q3E}9#dv`H`t5|{0( z7dZ47%xFpsWXJbrgvjaIK#M%i=G@TH$Cf3^=1cgz1{uYk`ClTao6Sht?aOh2Yc70bS{uve*-z!uW zhiIw?p>bCKuTXY?pZ-vGV+TJhNjCwBr2^VPAOSltrjIYZ3n{_;z-n>y@++_Q_~kqS zVSac&>- zVB5IDYmm$3Zk&*9ev5yZk+z$w#({JAx40RDC(K9?a(=(|+}!7kPMC5(_z?GoOwRii z6yd`!FSo$iLJKVR!d`+XM+bfVz&3GATRU>ZCL1jE7hh#eRB!t4Q*ne1ij*A`&!v9TU|!hgT(mdybXoEC3qEcM-BwIlwE@GflRMvi-vHqtJBqq?$j z$5t}nK-)2ZFAZXNG0HLdhOcAZgTnm5KWTTI!`fV;@XHUI+>o%vl_t&N+=DO~*Q>h( zMCAE#%x_{r5-j{$y%BO38jZPR2@bIid1yyB`%*99kBstU(V!;WnE&>_`oqU>{>JY= ze(PWT!Q=No`^CpgFTL>i_{Tq5A9RdYY5aZcr^Aa3W60jqhB9I|2!b2l=wx#*vg;c@ z(SGtYeZ~gAsfimC!I=i~N$DICynNF942CY+!_zl_(oUBgxp{3tOwVL4fA|IjzG26F zx`lR{Co@d2prMOgKH|eW*2y5;k8q$P%gZs`E+XsSoD%Vdg9>=^sxWv_kZZ|AOF}#jy;QG4URg#aWPl-g-hPLVI^_cV&9q@EU=P! zFM`s!zS@%7WL&ddE(H{S;`ijNG4*_}8qJl9*^M8%yH4ppqlnshlZLwQDF=*;$yE#G zMJV|($FL2tJ{LaA0gc-0+Z^$`7V-Cz<4parAO4o!nEsXD_`}C9{O_NBeERqPEH`oA z_V}q!e6%{a^@H#K`p18fo28eRe(M$WrWisKk;{V|m{<4>9iE$aA}Wr{t>=@Qd2=j3 zVz@fsjO^rQc-fZw5!v&{Y-W;tXA6tywKcb@k6rDle-ZTwnb0)%;v=}{&&Z&sz6jRP zkXj$-xHlhS8{IH(&R;HVJ>bcvU`dS0Xe=UoYm7ZC0iZm0@$t0&i!6G!P8xPL_TnNr z_~Ak$r!p*Z{&@VC|H=0xUhk}}>?KEX)~7kI@7lIw=W_er zxKM{(jA)}%ZnK?^KyF_oHYVchO?vA9PdUC4EMmO;P-FS#(SMZpv_{4p+L!ZvzrAT+ z*%{-JBX7LwZw6)aw`-FKsvnH2^r>Gq*eGG28X8FDCx`txO)l=5hhDWroZ8_}4x4A8 z;|rMS?;0cfy@4A!Io5y208GaC^etD^q~a-ts7NP18$L&WlPA-^@|BlCdCC)Tdd-za zw!xH)s;thZ_ zMm{IfK!1G|{qi0^I^$z95}VN3cKtQKjVCsW+2OJ8MR#bM$L9QO^mn|eBatf?i$%?g z&ef5PKmOxiu~T#5TfAmV$9l%7HG#3%r^-Xy^-B2o$0j$nnWL<0cC7<9nQ9s@iNWH! z@pb*z*Z`S=UF_i-@0?NlBg0s@YYrLe&2Q)U z8tng%G>U2wOgEzJoUey3~Yz!Y~+Ghvg-Ug#Jg6P`@#(kSz41c#e7HPdoETWAG#8`D80piS!QVB>k9F1Gb1MsHz!SbEM4;efHK*A!wdqXrDL+cXC8N$WOZEBuQ|0 zec$@Q{@Jy9Wi0bWa@8w2;h2l$uRTA=o7USjEEag?OXFJ1wR@?Z?)@x2EP)d~d1DSC zH}iLHw04#WedBc!oKBeTOI<-%3~-UtTC#dt8KJrNOWZ4X_Q1>5qeBoG(Fr5{ z$428O=JzGeYMHg;y$8GGJK+ETKmbWZK~zKj#vA|V6-;67wPMJEYd$MJb9UN{KYOpm zEcp~R4@j&&Zk-sH)IW@#pO=p^YHDCk8-Ur+@Nu0K-&*hUul(rZ8=$k9b9Ue6jth7a z7l0%G#XP71b7dxPCVN>ZUY)B$dFN0%mK(|Sz#&G?)Q?0)wcKicq@Uew%wLYcuT6h( z!Pr3~S?CuKea`Vqy7EMZP2Q(7#%&>0-I3wu zLchZ;-C@g1fP*J8djTGGZtf_&o+MN>eWx!vdl=auIClc9LsdIP#6XRX5DZ(K-KRop z#s#yt<-0bDhwW)cMF1eNYF*0W#T{gZXy9U>9 z$FFH^5z1uIVilwLng98&AL$8x1ID?07zB$w`LSGqk0yP5MyA;CgYQ@AL=)dMZfOI@ zf=0WO#x1<$UEkPmtZeW;pF(S^Es+Hyef2>l$NpgF7x}v}W^pv1BenoCe!||Exj^GP zw!jbbip(wsmvg&V;d}l3;N#KHzhwogR!4?Sk>bY|_y~mGc%u(R^Exv4XK!e1p`i}o zG3H)P5k?nf9YZZ{d3Wd4T!6uNV`}_xobhG?d@V8G0z*D(kH16meDr&Q8ty&`7#aOa zfb3rv+Yl?h&Gi5!HzA5{^#gXu=WnrUY~#lODL$7f@QTjO69)6G1qYuOGarP%{wP2u zYK)&^2i|^MiySgfE|6uTgD$`Pup6}M4ZF3>H(e0qSj(-CY=132F0cH{;hSC|3>TC70LoS7< z@fxgR=mhDVw~zNd@kef&E4Wld4PE95*H=j47ppHfr|;jQt&wr4!(8Drp|AX)0oHC_E>6f&YN4oqyG9D4ECv) z&f)Y1?Q`VwMX<%(VT%$U`Bp!Cg;V8Ie{A!#2pi~0bA5i{zU%AX^7xZK{p-i4fA>#Y zSAOGDpMSh1Z%};T{qK;M*vYP#)se=R z4Iyxh-}twQG3Dw89PBf4ype0ZGEe3(6zaUS02{L%e)e{LV~6(q=?$a9rOo{QYHYgs z*l8{g5rn~VC`Z~I!-h4piEh$#$g z?0lL2&RI2GO~4DwvwTNiU5P)Rz}s5-nmRE*zjB_?r|;ThjqIPZ84utu?}wi)^4rZ^ zm^^()HYeQmD@Z)aZ|03#%go#KcCB%Jf6n3VcnSgE!*Xxh@FkaoJ2k)@i=#{if&K;K@^c>Q{N$8M(F;GjCeB zlI_?}KLf}#uc2=Y!XIJvZ*KyIs5KxM*iD{zc8-jQyOuJ(lR1$UnZe_nkk)kJ=+&L}i?(2^q-#(QA(csafKb2mn3H$29m7>YL@Ca6WEi8H&&agB26 za@y-jwMVSt@$j$i)72bK>vPZhe+jf~e!DqI2VcIK-`dCTiywZTRe#9jKN@VUKRM}~ zl-8~xb1ru~t|D*aL{5bvezh6H*Duy4)vqIAgafXKXl&ZtwZL*TJ?*m=Lcliq`Gy?1 zXDy|j46%ewuapA2njj&aRW#5gCM;dyNS;B#e#q?xXO>#&z+N70=!KTpT3k zyMM!WUX7p(7CBw}()P8St3mZK@R1qT;&N2X2mc*2d>pd*K7Ql|4{MZ`jBIM1b28ve z39gUWq`uIl+$-kbnmluGJS4Jlg0OPpkp;Y$LF~7^1Qt97J5mSaTH~t;twBT z?_l77v^R0;D9Uq#CqNB03z4to#c-RPaU;fpm&OKx;wlijxy4==ESYo_4++b_ujNie^@oOhypjlw{z5t!e3UdkNZ&427p%}kYbUQW zAu)vy1Vkshy#prL5+SFxk*{_WCFd|RDgLM{{K>BcN8;s3!5}ljM#Ko-UALqXaY{>2F@t8<7)P zFGV)HBrZSOiXk#hq<)q+ii4*p(!w{<>ztD#wm#P=0~H!N$$Kfu9`eMXKzq>?j@nOG zALBm(Dn{o0^QK&51J-O{<6)@-4@U2g-ubog+S7HYQ%YSEB1T87eUMsV-3 z1(b08&t4G%T4e<#b6AxF$0on!e{wEygl!(x9z579Pce^wFr^Lt3E)dY)0k}w+??eU zW@E@EpS&qVwz{?nc|67M5+tYc(}hYeoMM|BD*DArouO7|<=xtS6sHyL<$ulPKbByRk3lLW7>3v=b-p6avEp8|Px2ur(J+~*z zhgUwTz2rUBthAd8++53V^>n_7EcjX%BJb9+*K>2j7_Lu3-x?prSMsz}%Te&c=A{m( zm0K#ZUj_cRzmfQ-Ab$|NGvNk7+cW_ahYk zAIC$HgvtkTxTH?V&gPJnT`81tgphIe*_Tw3abzW{jFfd5Wu3FK_sVwm=7x25ZhZan z{U6@HykF1f^YLh2!^0`d#j-J?4L1)(HSv20X*g-E3rU&5Dk$Y5On8}rLz7A<35@6^ zEM|3OqnT)&*JF^{JkxMet$9${wLvE$g)oOOG+Lp1nMNlU!B2^g(Q!Odk)$X@1P*T+ z5?U4V8BbHo!=G7sg1-IzS-OMhI*B=M2Zmeu6ObY+yzsRXAxQV6?w#K^X*$5u^{yB+ zDJMZpoete4^<$|jOxqSAH(m%@yhy8F*H8Q_Fl2BbOU0fsD(rP}ItvG^;Q8BR$RG)RU47 zU?7DUufNM9CPTweYLUxB&Ey>`Avz@kj>WGvN0RXVng>lsBKI^;$1q349QfI33K~f^ ze+~m5=U~IaPixV&yy~5&ylCQD7oF+>ANDvv7U|PXz>l%t)tlDS>Bn&LlNHQ!!5fdb zJqGA!fMx;=LnWe{PiS3G$}z7Hos5a7JZrW%gbp<>Jckn_7vWd?(QV5jz|fNwC(IGL zOY;;%3q-db~pF)+E!{;gl!KxZEyHBAQe8kIJzJ0z=G^RtIyzA2@>_xb+?W zn^Pt`=YFMS>{6>^k(490F*w0h@4%a)~mRkB57MEVA?Gj83Nye#cj1$ZiO|k zM6A^+A1j>C-Mn3^G<6MrATF>vyPBsY4Zi__;k-Fv?2&Sx@!ZCD;iXy6S;tc zb>U6s7qhUm9SCuNaPo4+$j`qtP-cdlgZjrnaYo0P9SAh}{EW%{K-+hq`n-4wVIE-P1J-Rod{`WqmqDP3Z(51R={S;PBUlh@%{-9&mdx9IL;b1N zqt9(&oc{Fv6#Rc#h@SorTwQrw$;ru?i)-9eg99&tYFTY{)V-j8S+kh4nTNSL>c%waGq@s=e$m6)KAS`NydAO?)8?p1AyxdG({ifQo zp$XgCC-ik{;>c&^`oqL`}7_Dw*pAG z7(gOht3RcSji0pc-Fz-}9)YHK=b8gsYE>(~UI~6In*JSAQ#EiQ(6hT+>poK?Dvr-7 zW?_|8xQ6TUo^kvm&A~vY(+F8+aNw$4$~aNX*6rVkoZ>&}$*cD-Ev&~4?_QTcl>n`s zuB6xiQ-u~LiOJ!Mq=vk&vGK`@mxmvG*)t`6plR`nX2!FQaGuU8yz+Y#Ai|=!{x}2j z$}LOah&Q6DV#h8bAv|K{XK^}+`mVe!+~KN$b1NY7pYJ_OfE7|q)b(@ELdl#=s+@Yz zeKA)ucsD&mfUoa3qQrSn)^2vu*RDa@>CvHTP#ZkbGi4`6sjdWRc4shfvc?=!VCqvT z|EyQ&{LiH7_=%Cd-$BQUGONjuZJVYj3CMS;_dceb_LPEy|9(GOy<~Q%s-3Euo%^No zA9~Tqmw!W=+7ytUTsd}63rE<-)rR;2**P~vUex&QC9CW;F7?s=6 z(j=A@{l+pvy}P5>d7ANfmz7-3q-PtLf3$2jO^HA^sCHIWe>Q^A(m)ItTdcP{&~$ zej1J5`pl*wMKPmZcRSY!9>iz(hrAH-C7`IU(8m#e;SY1dm5)Fo9(RMY<)y4Q0^Ljj zuTxce?(YPNM?poi85t`rcdDSpyvm7axpCl4<`9d&19xV}=fx(I8K0c;76AlrnLbh%X$ch|~KDq0#1XoYD zUKrX`VNR5qFo>7{YHTZY@?FRsbi5{+GlDOv9u0uHhxzat#BX`?KKr6O#vJzPgx_uH zLIi_TsZOy_P7zB$pU;fV+M5lB%VoMr`YNJXz^JnR`demC!(iy?s1(m5uM{T^lUy)I z#Ad4 zg!PX6gH|g?areW#k2B{Wtm1En#}WsNb(TG5ea|iWb(I;)h6wVUHLW=Y$O;`(nwHf@GPzq&L&=O2-brDm>zT~hPX|Kel~sP=Aou4*mTde&@-Tg zdF^|H0+A5o8Ti3$nS-5|&D%rnL7pYtF|qQFLgX9@g1#~ zX%zt%L={KBqQ0Z?LewSfE$(UlICrbOwy@pmLov{Fn`NfoTo17qsA;A#hbyW5eYbA9 z|H8m(7M@qIG5EVj5L96Cc0!L?`i$&epVjf^Qya$u)in$$8baCn9V(FB(f)Eo0j*{& zPT52rio=r9{;7ZY&HTs@Gxy{AobE@Xe4WsqXS1K=P^(i3R{#yaGyUKr!VyoT&;1G7 zJYjwW`mZK-yCKcYp{8D(3r^#(uZEwjsd4N{^@#LAUGBHNm9;zd+n(D^opd@nL!kIC zk;6g7;pcZz2XawdbCj2Ky^U3;cg6dO>+=QV^N5>`XBOj%ouCcZ$Jos=9M6= zZdK!HX^c3_!l-IW+s1ybYC0MHZz*-YR*p~L@jUvFBmuL6kfu$Zgx7`L<%&Z#(aaWB zLRf!y1}($5q#EQy+-?%;c`-BdFuJ^5AT9?9u~BJR$n0r}&ioM;S*k=jShJBH3KJh1 zy4CrYJ*uP{XI2r&pcVUK>5IwoT(aSF+0#WQ>D}Cc^M^FHp}7d`&SYwFMfgR3Ug!IS zp3P++&=^BHK2IIYKa^rGHg9 zvPTPabk)5Y;|-JHnytNnsoa1JsYOBD?$I`p98Zfae=nT2_$Oon- zF2_qBY8UTHH4?MujWbu@Emla|jc~?MX|#=A`d*0n9w|Ai19yWXVvztP(4KO|8{|c3 zq@a+8zSYohQptP=Z|>7m0w3_K_YDyWaXfhmN-@2O`Fz3y$ckmIyP}bv7PY~AY=A*Y z0h7J}SUN4h58j(|RTEc~%)!)|eYfyu@Ie;zHAt|uPxI-Re4}e(b0#YZg_TEEwn*Cr z8aE!Z3yboMxWstKN1amGplO;k_=#18=bRfX6r2uo3_mynJz(bP-3MZ@N3x{LgA*|y z;D5m@`p{#a#@P1v&Q`8JSm?ZR+As@{D$54Gcl9?DCEmzQC%W^&aBf!ckx{Jt(Dhlt zLFa~^x#)}>Otub>yRxn6KD(roO#LdkRC;bc=pbryHDSI0Z(5%M{XDKlI4o^s@zc?s zhH-iLodXgcDJV((y#f%Nf*`|}xr)66qsXMZO&_s6ot~q-#;wsO0K~6Aa_Z*R;o^aTHF<-j*kI`3!>MSaja(GRi4y|c97c%c zg>5+dk^8>&xeh8*Yt|2EB(EdYgB@22Brf%rBOKYepIu1 zQ<#L(4{!8V)w~{Wj!oq9l7Hp%dBmW_IJ$D>ihu!2(^rI-UFk0cU~+Yb@e0Ug&*oz0 zz^Y@!i|8c-l`?2!eg04yVyaPyN_ zw@Rh_wBYt`FBOm_vD%1^<*{`kz)Kt?4O$`j4! z(@8zd#d2ZwACUpetmQb+2|;s3GE!s3X|5nff4kjSCe76a=We3`0}`{l4bmj(zeUvK z!ZR>9S%i&*4ucnYTj6nHk1d^*QX-%Hpli2FlTsKGXel%*1e|zvCAvekIbW#(``xQI zOe2Y@hz2tEdoX!rNz^57@KCx^ke@WR@PadJq7JS}vpYPIQ@73$7 zj=Ws~_y4R1d{ucl1g_*&S$w8`kGZ`mVnuW}W4SX!-~nPYK4RLT7XrKkk*scZLSH`mgZOURxo=FXhRGg8F~^OXlOo8nUL0-4Ek?o;7c?K8APa;7TYtIPF1Hm3W+SejtNEf-fD`GwU*8BCm@YkGob6uONF$=#_sBUaQKI?iFrU>m^$REK2gjDn((X4NMup@aoYP%3Gs*c+Z`)_a zw9xiu%sCFmU4P#OLs7@9BT@EmwsY+r457k9EB6OH14OqkHqDp+97_T$?55wm$66wz z>7`Z&@^*V=VSUc)<9hc>_*D5?emPg zJ1=Y@eET2$--stdI@^@&JQd#}MqFPw3Iv%lj{tJMiq_u?S^eDq32?g1ofp6~X*iu? zvmve$_*l&+XYPa9R3^|ge;vSJ#-v&TcOgtSIuK3ORGG4e+oBUK&!u8&7?6Ss_y5cq z-Ek}pcJ;fXI_SP;2oN0;MhupJIsHmO*g6!a@B{Z9ZUg?|GYUE|L(6ALxZ;Os0I@4j)-N6kG1HB zOgux1H6CvW3cw(u$!|h1xi)CFu z@M;72U(T);nuq@-aBJOJa>V>B*pVwYCANR`>Nq!zdxseFV;F2!BYxCc1k@&5h=dv&qcQrb9P{JJy$c}8z>NINBRB|S7gVzSPC}* zM3*jzO=QDwFIX26N1p>op{lEk7X^Q8?|5#g!@(cqz=FDtjA}X&#{;LWW!ccM8dOlP z-Gk5!SQFxdMmb|TA}jBH{Q1M#yhY0{3|n-Ur={?sHpkBj*$VZ&)u*nd^65}g1WVU% z?sOGtBY<;n0j}4K12r0@5mtni!n`f4T}O8h*9CfAxdIRp^Ypx_Z7MiBGHH;BDxp5+ zxHrd)!9|*aU%r$u_~t?H%)$TO1R$18+3E2gj(BrL7<6i8$DsVifR@}K$^hQ>tl`iyF; zhrp7hk1(@#DV#>n9Ep9yzFpz9VU92xOAY%>LnYb+h)|zsiwXZ;!~KJKlh1+?$G_(X zGFJ=Fg9BYG69fm<9%E1Yswc21nOCSgW%ku=!-YI_$6D@FW2|-emLXLFN34L3Nwbrv++S=_>>szY=o_Ha!ld6)81-!F??I9wwgh6y9re z{}-s9_!&H3^00xTW6$b9ICxXG`@1BA)dJNhoZQ2uP zQlXL(0E?(0c>M;xGVsS|w?Wknf!1ndFq%N>lOs`IT3LuUiZ`grbNSL~2VJnCCW>YF zL7_=i^BgR7f#;NhJk6bH5}<(K@I2N7LJFb{zZ6Da=4O`i1osr~8dJk?IDDj5pR>5; zxtLn%`Ed8s7&xmS@bIzg(=|AaX4)wI((iCOY@y74`u!l^%-bWlp~j4-TUu`arHu%9 z$oG}EHZNdYgU)n+klFk>hc3|pYRFVSuEHnOqr1EVMdu-+2MoG6TwRthksI&l*H{MooMHAh*C>{+XhUH_5(tW} zQPS-E6+K8ciyeMGEp|l%a*5kU>!WM%hk*)`r#%3FyssGZ@SKT!%GSCLZ=hf1zR7XB>x<*}WzGhOAsb2fJ+2)k zJJ=)X|L|^?32l8)=Xa-BAx9k~J5t}^%v?IFp3@kdekSl(ygqNOLaW6z%L1z#Jx|6U z>Sh)sz-<5dwnHdkd9*8DGzD02T%1xJ>5my9x0OB3Q;^_bIx zh6?sp)~5Oh=UXS`86w8MQDd7oV70e6+o;HA?>s+^2DPTR>Y}L{@8jY@5$F_F+mvEW z1UsbfmdCJ*Z7ERA9i|7GEI*{LLGz{rPnKGz*72f{De7ip-t4@9-9iTJ3tbkTtB%_M zosZDS3_j59a*4&PNTVxH13@uc%dG~-d+6Z4wP$)eOkP|k*YoqpwX89B3RY56<(U+= zGX{Ivd3<6JsA1n8iF(%intJCAiJhlo_|xcmSz@Nix#kSc13RAFag8q%^~>v{Wi1+C z>Kf=n%ifR>s=g(5Av<=B7tw5qL1I}ILWh81B>9&dCF_rr6#n`+wmX-^U<6>_NLmxQ`o4UBieE~G|H}MmKI&Thind(vBB)$S&-j9B?uVa} z{+A(8hmgo6Xyj?0&YZBvY0T`ELGdo3U`$ zG+?K(MPH;|f5`OBVj&bDRFmmZ{_Vn?a%d;#ZJ;`Ne`I2F_7<+&bMAXWr5wa3ccDmm z%?hQsFecQLNSAeY`s#%p&h#*1!Cn8U`m@~D6nFdhC;Dai*a=R5I9*zQss z(t!Z~v1D)?>f9a&0{?UKPbDu(QLfN;@4TkQtG?7-X#fyRIGLr4TF_<->#)pG4iti5pNb_5tRJ5 zfq#wsnZnB$qa-teV6`wWX{cur&UP>(ZsYzPIJmHJAxU0?;<+`Bq6dywn`-RBMq?8y zz8K$;0oe1fhd2-9;2OEYzd!_p&8OEH<<~4!b~ch@5jZD@+uZ9J^Z@PKGmZ??A8hwN ziIlisXj*d^GM{WKVt3eNVFXf`po-vbwDZlb&X+qs(sFjHN6L9-mbuDp8CM&)2XPah z#^YGKT9s(%p8AnOUR?N(-Hp$7U6|P?F78WLg#r^ca1Vz#EAi#e`U|LHDR&tK*xfhH z5?Iyc2L&#TnDNV)oIh1gsZrzzF#1fo=zITte$n)rS z2@q=|aBV-SX|N#Y?)(K#yX(rv&l!uffr_qAEjgzCLOdtBeBNZ;{cEAGZYc6Y#?n<` zsU?Js_u@u`Ld&_1kjLggpF&ezXw~>tBR~2>l9-wmE70ZhT3nH< z>johIDMt4Fk*>V^ykIk9O$qmjxo>?7VS$Bfp5aEL4`J?2Fsg* zZBn8=2M}JsLemFNMHBPWKaKG0PeUWy%y55WEV~{r=nO5oHkEdY3tf_chv8eA+bn~H z=G$}LnA-EY3bitcMD?=!U3fV&vSzE+-&r`%Z2s7ss|#cxqx|MngSV$uIF@{aE9CEo zgHE4eg&x0a;mIO0hl%E~Rw4JEXQx1}K|gup5O-Bt0%#${(EIMhNkvK`q(yS!`(T04 zV&falnwqZa$4oGrBG#%ki0Ltr!>o&7YVrga1DkQXnAghiESr;)@cckhh^Q;xXY(Ue z-Ky+fq~d=shD4qRKgZS=1c$t`Tq4M;L{xh$f*>67;qg*B8fOy?BDoH)E13eYwLUU@ z)BPxuv02I8SRbXk-suru!Ihu9v4ZMC9` zuLa6Ugb-%-r%fVXZJVQc*;*fl8;cIPRE_9`h={z-8z@ne7;1CCC6)z;t8l#rX?pkk zWm4T?-u~5D(Ks&=h5yK3PY<@tTnM-D2CZv+KV>qn=sF;u7h=u}rj6+gy-a(y;K9G3 zKK;<9QxUX{PBKhwrtY)bHM#1Qvg*^|A@&T~7?58%s?9Gzg8TfAzIe%AX_YAZXGOr}NQbW!as> zP*$!%&~jON%_V+_gFNGPbX%JL>{_OJewL;N#dZk)F_#sy!x8xh8}W`S5&S*3Dc$nF z!~PLGH?0Xn>}{Rz2+^fZmsM0> zn$g_^gcQAx%d$Ek5_#oAg1syshb6punjy&9F&KO`%hEh7TL{rR)vAlFEKBO(wI?;F zbtgo3mtjIgQgrRxTV5t4|7{B+m2$|b5OFKgL5#-@CIMO2hmjLuk*BM+b<8YHW!epZ zZ{GG<0^~;Q!j!t6B~kWh+9bEVl%1oaeP(m-cX!w`%U0SQ3Av%(zq8L-M*$f3p_kGx ztNc6d@RRqfEY%9ZH&?lJQxL-ucaVL!83yuK5nu1M?b~>p$eC zvn>XD-@S>KFIYm^IOCy5!n_@m3*kG_-30s9F;3?Rix>F%)r7vPd>{v9`yg!o>UO}5 zjNTq{%l6$RbuQU@u{7@1@a|(1`z3sl%|U3&)WQzPldMKM?Kd$K8oXp%`sqW_Zm?g5 zmEkS|o|DSmv!S0c)0CO@fVjql{96l8?y(M%S#PVhQqAUrR94YC7Jpr^C71QHpa>#W zaN(4HPkj@&lpD)v8r4+-#)n+M&SMQ~D=}!lpuUK{lAQ8rLWd-&)*f(X4Yh*_MFr3H5xObIt7=NO>~q4wYj5 zx4kIAwL=pMU(B3;YGpUxvk%LUi(9S^CuuFOR`-NBx3+AJFz_U>_*HJ?7yM!L_|1jR zvSGR>l6(lmv!OdHhWiV9rZTE(p87r~qmGlK+$s9l1hvR3Hg0{pxL=iwUb8R*Z_Mfs zNU>0Lxs7rg(KB!L7VGf0>E7#dh=dj`(>Z>C82@#fE~P{n&aH%kEJ8vaKT;WIOg&sAUw_AV|td9Gfi)pC0DY ziilUU4b|XU2=;c8xZHC!pAiH48CuR$f8~iKrhDt}#IQ(QIXLNGeZLtz*UG%5%e&=q zBG0sEfPw+e%m&>7)mVu9QYi=TUVnVPY-h#3w&?o6S~Qn@6sxzB&n=^>^4bgkWfBFa zA77sF*RE;7-3xte;z zb>>7BR97Mry_ayZJi_Z~#OhIgfEY@5eE|*aG(UJX14|S;wBSa+$B+Yh7a#q@J3CnX zeI^co)CT`0_9?RErCu?WYNu$0= z1H_`lD+a|%vh5p`@t9jto`*eXKW(o(rwzAd?nLyL0vBtZX@_>$OPMV|xEB}1^YYt4 zVva9fU$kWN(e`HR^^>OlN0&?7%2s7_Q0aug`5o5G_3Yu67x5Olpc1Ahs={ohYa2su zO2GGBA&*@SuP6OY`OMALI%&)ETYvJf9kzA-Pv=wT+Ljw%eN7{@f;Z&x(&|w#yY1(U zOavJcep=D9-1Jy3(5b+waAe39`UT53-D}}6ZAocoIBN@2_B(b(Z3IyVSKVbQGuecg zFZBc^{kN5EB9IpS@Zkkk@90=i?5^4srYt{Q*1GJg9J6;M_4^b#_;udtzuK1RZMY^8 zKdtXTIe$~RGbH;*U@raJ*zFFLR^FLwiUql!B4&B)t4YGabrOlM$6sGN*R{Lql^Qik zi@L;a*rihBY87!~T_gYSg6MU*2mGq%c7Isx4}CA!*>KuSo;SGX^VNyLLS5x6%+FB3 z;|9o4O4QT!`t)q(%`1f#Jo}HqtwSR?Ztpu@EsPCYGI}8GK38S$7i~a;p`jWyf6k8H$7l|yW z9hcVpp_z8|Ol$GlvqRvE&$xLt_Po~2jKR~1tmD$?mC3{3z3BoSyl$dDlRkmW}6u4$_oeyVCQ{q3Tc=ck0B zLOxna>62}o>d$O`%2JmT*V>IEsVnBAOS)1n%r%RlDcUUWq{_sr@ql7tq3A}MczC6$ zC_kGTis8KufWBE&%y(C;Esnd{yR)0gv(<`dGJE0WZb8$^w9`e2-_P8}%5}{-P}AMt zP{kyroX8oUY|nBDTeld*>whoz1oGRr9SbH=+%?e>Kj@ zYI3?@-7SO_OJw**=#p&wt28e2&x;#AmX=jp-_%DVWlCM97nf}33b@il*Q+?^IGg>Q zwhumd5tY*?+0^rTAhTPUo5xcAvLLWIJwEPI=~VR_ne$r zA9B$Z7s4;UAE48qocp=mBK@weN1tKCkxD7IL44{7+E-HG3wy5~!lJ#yF4K0S}8Kq_4L_j?y&31z&r+Y=(4|PbynSeK=+d$*UMR zzo_smaPuZF-GHz#;!=DMIoM;ZQn1sT6BH5Su=$_jT1wpNTF(w;swL?)cz22{qs+9T zP7~B>$elLW_mI%AW-RCLFLL7L3&gc@rCsdGo=_2dH8x|X zfPmF>Rd@mX&AB%#=YEn0_i;LnvtJ$A`(9u_6;r$|d2ez|GSTX1!d0b2>H1Td)NL%C@^K*)9%cx5)=#J-X6PF$w z&IQ~R>t1j7v@90tDbYjn`Fi@tl?G@=d(2yZj#R$peeV$J_cby*KJdLV zG7k@tl|T^3AeRUI37447FD2vm)haFx$tP;FUCt$5$Z5)i^?Z4-xAWxw%Fr{xING;p z-hdZ;krF>VqHCy7I{D$6s;I-f?QvCKHpe)$bEymsN?6+dwMzzYFP!uP`S9)IJxx0|A>NT{4QXm7@6p-WzWoMb z!fb?Ef2Oxo)8J1`V_sQuN;;}M7om%4?*sc^Pj~N_hgCk&R|1bqT#M^U0b)s{f)L3z zwMI6%SlaJKjy(>+hPs9T?fCV^%(o&4zy)vSTs}v$%)}XXIQ>QoHH%BVj0o7u!_9nvkNZFPPUcM*NQ^I@Btxxl$g2{@fc*k_vZA zW9a`rKXt{Vumkc!pf92Jk`RUA9hYEW6Udm$=7Hj1r+iH0ibHj!o|Ite1*EN({x&Eh zgwbZr>JR1Sxd+uNu5y;xy2}o|9>|s>e1M+HpB~eR$vd^-VoEPP&t`Jq)q{yn>oHqx zU*`1q9JQ$@=hH4&R7|YNs{ot`0FBE(hXb<{23tmZs@@U!PT8gPt^mc5yM3@Ws|PR( z4wlALB)d|B!aN8_+L9N+&+ubs7TLUR9zxY}!{2pJaXBEhALnyO0st-FE<=uDyS;bs z=85y_xYYnJ{@O8DU56}^&i_ne1W=Who}kK`>UZ1{ zqpsm)U{3BmBAXx1-2)vg8{fTQ-u!c~65XCJ95l+TQKH}&PhB5s8IuKnRFVluI2i+T zsf@iIXiceiDr|ve+vYL?txE?yFpE*VOyPs3-|>84C}oe^D!ArCCw*~+%ReXeljVv+ zjRnX2p`8P6Pzhvk$Y1S88uq>Wagqr8z|B6j#wI2%EtqlMIUFMOx1I8{&rwMgH;KBL z$D-75csu5tGt)=;y!*8kn9ltatW&#hl{UZg_1Qb;AuMW1;`ujvKjD7sM9K0Gi)HbG zoIaPY;m5mFL>k#X@$N;{{6+txh4^U>XMm>|< zUePV+Tl}|Fl-Rx)h+h@40Cva-;GN}9N#8`Vx4wG>XZ_;SIGXWYk93idsrJl15Xsgx zGFSOScqH@H@MTr~bw3ViI;h!U#PO?>|43oextbArr#?Ono4Rt9WpKJSUg9wgX7!ExL_sTTwV9X-O#LONYVF7*1-r4`FVe{ z9&k9LG9(-E&#OJ9oU9{_ei%7s`P8MX{JmL7Z~dybk6okEx66qOnVjvGJAlK<3;@(E zW@mst(*7*PX?MKt0V^qRQ}tSS85;zlQRq%8R1z$Z)>h>~cs^F?zF!}SH~%0|M*gN$ znHWjG&n1xaTH#sg&5;y;*-X1j0hhujjGo{UR?rpA@TT1}+56vjd)!lkCQJIT&$8WycIGLFkr9b zp4z;fICyONHq><;N{Gr$q1QlR7GUr?lk9OTxe@506#_ODCPV=abcW_Nc|HhoOu}(;vw1ITLBy z`Cn#ufZ&RwB2)o)LRZ<7ei{YEHFau<9r`=Z^z5qJyONV}`#dXi%Iy^D1eEX&(Prm| zpFX+}X|M9;bTn>g+gUAgOI~jpS}(aF3w!u0LMOk=QUR`pWs1CmWF=bc79>i84{IE* z{htMp^Ry|ZN_9HyeZ*?{O3#x@QDCY(O0jo)GLL%vbMqx3!Enp}Kv*G#=63LYUx+qnwAaKTO0I1Ibf0Y>8V#M{2Ru zi#96J|8Xu%8jC7*+S?@8f-c#kEzRjD^4} zp$fx4r%uR>D}AcQ!LB>^X6;f>dWHH1L=Z)gq?6zsW{-yv&~ui}Q4gh4pNJk4g(C4z z_fsKpNESjU$Cs)Q!8Sg;1QxBgTV#dVHsD{%smzM&PANsU_o$W5V^<`G^fTZG(OC!f zv!yUPWrgMHt{!)2*TI+6J~=*e7b>*H2twt6s3lEI4e9g9Y~=XsFYxA0VC$EBEbTQ# ztY|9uP<5o9a%jXZ{wyoS1WoLJ4-X#rhe$sg znmISE{X?9B=h|bM(zP{d`2FRw+(^-&te&^T2(oV#Ntj8aA)PI@?E~OA4M7a0&eg?g zF}wn%IdB`}3PX}3AiK%R@8 zPf(;?=>@@Y?W4U$PdA9}fka=6*oTMW>Edh}uK?5W2J6oy$^8i1SbLJOhP|!4`&S5C zWpC`eG>AqH%U37#usr_MmlFRhe#Nf1+Ud)#nGrGHDZ36__xEHX0b(NMz@~boz_SPB z{KGct=m|4l%_E4c1><+BiTLybJ0zxMol`(9bkFkOKJN2)&BaT=;!G`e^b_&;U&(pLB9d&7 zX+;7Vpi?x6RvNpNmeg z-y5Qbd{0IsNuUaax6RZr_rJA&B4M6!rJ-K9rPp3|(D#@p(*XGaM(q_ol|-x_?OgU> z&Vs+MCpg}*@vJxm8J;z`vfB(YXexp|NpfyWMKOP;|hG>-$VZFnJvA4r7%C~Hs$q5vcY<9q|XnUCjz zY#!OpWOl!0LLG-q1_fk<;?~Q^hk;j~6jDmfyMDRdxz*SnAsg(U=3wK({aWCKjPm1! z*uF(5@G<`;_frR)f@%@8jwC+=vOH*pAEsZO!wHbyG^z9{n1v3sCh$Pm+SbGCl%0Jq zYop~~T<5%Y6IIAQz-$^3mqVJUQlnPJ%xT1R;?h@!-#7nxBd$4f8M)gEEEt>ms~AFE zCEF`kWH%{dh|CrXV=|N9RQrFuqo32#R!R3Tx7)wN`Z~4V$@-eGy=$Lgir#T{^0~rx zt!P;vXXMyS@t?%p2+=3^YZ(jjE*%Bt-}5Vb$7a>0W+38b1fWumt^EgeGyf#9VNBIEI$U;RSSu>OHWTo&a3{L z8qAIMH>FsfT#AOM)m#YU==v(Ay=3h%1NZB2Y>9C)Juri@Dl9=`?V&8(IM zG`te4s`M(^84p%a(dJAO){fu%&24oFC&p@)FFdP!o3C_bGe#kmjR)uUuxOI_%FKv8M^JcV`w?n#SPS>rQs0_>|fPQ3JMigsy@~8X~ zwpsZJ<^h{1&#L--yqmMiZl^qQ(3MWykT@(}>68}Qd?5Px#jTIF%=d%0&dHc;-UzV1 z^<6$C2>1II?wu)#pi?vQy6?hec)(>ns>&}=RF_n*zfkCy<9T5J&*F_4(W3;u=xmDq z+uolM^i3mfVz(Ttbf^)vJA-;}er4na7yX*r+-5BF-fw6lPSUqL3KzVwn)X#fD)g(` zMjs~CkeK4X$kVuD%rH^a>^HI*zsnrVHnjOYpdB!ev`)>ESx_#gw8!|D15ePQesd7R1zZkwG8xG^U4(4J^6^8bA%ZEC59SpL-A-Wjs*2jXw4AEb z#v)iB4E9;1oMmLFqlXKKur4d;4-qFsgxd8QK;mB$3J1RU_!u!T~&$;Z> zAhHVNMeV1Pbd(aFV$wpCL%}*KOe0Im3z)FdO)G!;$o9iy=9(ceN08M-0&K5=aP$Wi zeYB2h9_^|(k%>61@CbqoNig9o7~+%#-Y1hOb%tKL{+zCi%X20VBjthO4Yv^LS%(zM zL~MW8po}I{Wu>c=x|fg*R$=BcB2XV^WtN65s7miT7Mc zK3P^eNh2+PkiRYh{TZ_BJ|Gr%S~r=ckg{4`x{I6#j*aqieDvZ)dtRmRvu4QLz=R4? z#8vdTXT=T);(!jG8eqwzPpQ|(qD*X;`Q~{EQ>s~^&863mw5!nOGTp#_5h@rR*u_h@ zT5LiNOK5?U{{@ER;afYIp3h9>qX~(kp%atAcCCDsLuaBtmIJW0&9?(+++f@2z&Bz) zytnalg6LYTnKd)#0=TJ?t9d-{jXRpPg(a2?8+$Btrp_eHNicg4#FUeT>rIG1JqArr zx5e)@A+2obN3|8$#!zWffk^tkM=3;QSRZvf_CnnYbxjwuA=qIFI*?aJ)jpfcOs)NN zIOlJ^!~U*u1(;{-`Arh0@p58EA%$}=X?mZ6IvSyn@J)^t;Qi>Q-X@233vdLU+-_~{oq%-9n5xqih7c#FaSJo0&>1@*Kt|ysZ zqhE5@YWU2}(1m@jxtTDt_5(lMC+*!|(OI`9?O=urS&f?Yn}ze=b~ty@*PcWA3#G5C z?mOEb6YL=(UHtW06J3>!&5>sW+pPL8ZJ zvaZhurAo#0FQVt-Bz#A$4d)L}+vTM!HBi4;ZlT_HE!uJ2nF)&Lh9@7)G){6hy;`~?iCZCJ? z?V>a6$TrvH;UOrH zS@No5PyR~2j!!Gs=+(FuQux%f2K|HY1a;~yJH*wd5vSTP)c;44((O$_i2^Eo-*BTzK`XA*nn znzk6@=z)WeFPxg!uAmbvwd0C4zM_JUF*?}s=kaaj^fA6}KfdOv2@{NCnelZ`3Q-rX z;c^HUjlj#c=)!?4oZxDg@-|KJtg-kPbM`hi;&;8l19UrhckK+Gj6Wv zv#NyP!5bdzZFpj@#n)WJhIjo>>+>)55ogvx*EOWlTh7>+E|7aJU9^ zCK(5A2(fu?Y^DA10zcd)hdB)eX)BSUSBEWTbgGKLr_TF(oZ~C?u=o9y;aOX>IU*%+ zE@YZS%NxDxsx%+IJ1J0f!52Mv=S07xmw;kKIO@o4)0TCnV5nZ*mBWcUNbNY<=XjjO z9h146t3Bi51z)%}7-CTTN@8MwanJ_aM3@GvQ!_|fcXrzObKFfY;A^UI!pXX#lrG6% zTzDOR8zkX?4~|2H8)9LO4$ITDT@xGt(mb1gXiUdTkxeuyW^2`af|J%}!O6~kM%$b@ z$ARtR@hP{GxIP23^3?koedW%Lp+)e9t#-gO!8-h4n|`n^IosoP^e(vg?f7diHdTkc z!UYzbz~+OP57zqsM<0go*aA8$_~?lr)UU&b$M9@9>^43h+53*$iJM?*fFf48bii~Q zq$kBUs^{{Y`rxKF0~WA_kAdjcoy3Gbl?Ij0eEiW0Gj})f2u>n#gRU{O*^pF0UEaaH z=Oi0B@Bv4YNXkqCgJH&6FehUPHpElvI9bZ^%8uwtCU_Eq;*SrvgGq8EM?dO^n5N{R zNd1Cu?BFAX^?S6)lGP2T=I*7zwmNo| zAGD(fiM2w7UxVG|kOLpQEM*YV&^SprsUp<7(`wJ)7!Weyf|-WwrlIFgV5 zuZxsr>t!>(?U*}uFh=L(44v*)G3hJWgk{jKXf~J zgpaf}kj4Yy#Ata+E2KlN2ffhXKk5U=rep-$8#u8G`1)uVMh9)VjSk%UPP3HfAe)P^ z_Z2W;HUmkd@NW=kL({vh;VC7y2t%c;V zcK7+zn_#rP{OY^ApXObXcvyWC8v4SC36hSF;Q!&nFLfg4+DvX={MECfh&)Q1$AYb* z6;pJfg{}NW53gl%@t5}=?PTH)GU>xd@N=)pv8)1q_4W6<8EWH6I%Lr~h~~6J&>W-^^rDK#TwIQ?F#g)5nweD}R`G)t;JF z5LUl7j^dXlm>>oIMhs@Gjc_l2w&9?@8UC ziPZ*h{=;QLhHvO!OthJlbUrsbl8Zt>4oOk@gkNm``@Qs=#^zxe%AyE`%oXtLL)Po{_c7v`PKa)+C%*;fA+aocC% zpMU>tK7#hWO#J@OpFY0(ANk1K4>G~eW;XmD$;9M?nJmT&8$Rw`s`=0!xx5+z@AAX1 z^5HWpKR=fhxSvm);`fQX8&(`mo=+?eD~Y!kGeLdv?*GV#;{Kn1ygw_7-`d?1f4TFv zD>JE_8z+GS`-gn2@QKiut15VC8K>S8`+YMvYQ7f#vU&A`RpHu^3p}3ail+GyKK34rPmXC;Cl6MBr`)sW!`fXOr zd-Vh#{p4`hu#_ddSb-JH-7Sq$HMp3yRYPZw8YZxX!PX0ygp`TLisnz z0m|>qs_2U|QT>g(VxRc)FMfS^cXy7jJ-B~&D0$QNQa*h4yFWZteYYV0_}`qK;j|7uy+LiNJ}s8S`}UL*VKI@fA7BA_}_pJ&F2K4(;_zR`OaM?j}mdq3z?N zqtw~htbBwAd<>1=F{;8gX)iRO+r`r5o6w2i#k2CW#f~sQVM6UpRxz9J^qkh z`dNG!|Ekm1SBH^>yyR-1k~$l{{JDMuR~`e?EikUdPdn+<;SE2jA|KxH$aWtiT0Gh1 z5MRB)kYS+L;Lt<;Ep^&5g>RFH6Er)X3@zivPd>@GHo7*!7;^=W@yRxxj20q!3a7k% zNbzJ`6kce8jQpDKkl%*aexoJ<*ET65S9LoewE=oGjmMfh`UuU|V%+g|geu=WeI7@>E0 zXZe4y7U$RoPQ1q7BD1ZNhx~&t>3ed0N&nr@30?9`GjSF@vUOzXM_y~IoCkLD@{C_P z?rO|#nvP&;QrS&PgC(bJ<|MYbh+OnSPbbBu8gI^nZ_R;_6+GVBE_>Go_+%eC;7923zF;lQPJ%j%ysjVFx;GO zMURaS*I{8|^3Ldv9~je<-FwHU5qnSGM%yvFb|PLF2A(jrWq5SnIVu8%H?ZtrOLgm8 zm2+{^YlxWE>xt^qzC5U=qW4H(+Q)GC-3Q#%wXZz6Y!}E67||}HbL1AF-fI_(g3|v z@>nVxbs$v5=y=B|tUM-vgFX0q2Q!+{nd{Wyt+J!^I&v8gx0INl>6~*E9@ICnrcP(z z(E)OuoJkJQ=t$xu7d*Y=nP8s;k>c>Hb3w1c5q#u*FY>r}A(lY|z32b}HUee`-_rdA zS#%h9+V_Y^Fa~PC;dTea4_rCz9)HeV_y=7#dI-rW3&I9n_!4N~yHRpBuAS!94PL-P z!#CAyY_ICPcUrbQ3S_mWEsb_qKh zkK;r9u=Wovi3P8Gya5-))olpEi>Clbe$=Oo{$>DWqI2%F3O42bNl5r(T&tqUcUlJf z1govW)8HL>m9H2>qwyF7WUYe)pz#(Z(W7nYW4$1}_)u>b{R= zUDwEOK)}cFPmRqHC6beDO_){i;&>|y?yl$zj5a{%h)u^obl#Kvb+UcW%!phag6+VH z4x+E6M{S!q<8%gx%y$@BpH&ZPHZ{NyIi@N9GhvhZ(=28=Vwy;G@k0 zYY>M<0tbK9t#}S1JT}*4KY4WUE#B*wshi2sp zZ3Bbv9;Gbp#}oe~*Z6YullC3_1ScDb_v#eBt<8p{{K_ln zPwq*3H%G$9%A4%ad>RMtAU5>EN}n+Cey~*MJh}>U{ODJjivw4B!4Do^Q_qL_WBdX? zu>=17*tG2gZ_nT+lU126WX2Y52;ikFOxSVM)c!#q02Mqa>2o@96DIluK4)X(kGmpQ-~QISvodAnVfmVl z$*{`cFlpd*58lP-V_0C6%Rg2rdWy#*|GrdTTa~NH>B|p%fXfCqyN5%L(2p)zh04I> zmuqNFpGung7yjEY1=+~E_)N`qVK{p11!M3QK7Mdc_%Z>eygm@0UEAOP@a7CUKid7j zc^~oEkdNRif5Cg+Ij6U+N3}o9W2$rUKNq59C;#a7?5s*A3_5ITm69CiooI3E>RekJ z8Nsk8pJfMnSiZzZtseF$`n=B!C*%9=Bc+l2z}Lx~_yD=Mo0Zlk{yo}1a+G9{Z!s1- z(wn%YH-1OI7y5WuUK?OyPoIMqe{{lc4APr7H{MBNVy5H2=!@U8JJn%U-)Sprot;++u)Q(U^gR>D(GW$3mzpK9_chLhr=^76<`o;Ik zm+EG0qkre$yeqGQ%KO{In#s#OKMOAT#0uNL`SuN&+pwgl{v%u3v}wq&uNB)q zzy~)Us1Z}w!~COL%CP#}>l4uKghcTBC?Rziz#stmh10yT>C{fu_f;}e&CHAJN_v22;cXRZgydGdJwaGp1&Di zIi_>6_=w>r;j;=xGsp5Z_h}wTnGGF3#uZjI*=7=Tjf3$W8kxX+&quL>n-9|`{m(?~ zv};bHqwwKx`gb=k=N+Oe&JuAo-i((gm!WH7X!r@+(Lu13-=Nyl4cYP6Z;FHuG^vR$ zn2)2RWYdMb1h4qwhrDy>!O2d>ENs&pH-~|hKS4&HLCP29&*m&TOr?H@&cvfXvij>s zqS9HzZyTO^G`-_nLl5L(s|ry;CP$90V!G&Zax9SOhVBCn7sQ?1gqMA? zmqVJP0!QcCv@c6%_i_BH*A!@{e#R~F|L{g1^xkWS)RmPXQTpV|Z}>$O-i)Q{!+c=q zkckcW?QAKJynWRLIms?A(W~sK-}od{`{cmjdre$|6GQFif`bix*MRNtL=CgBWAui; zT+oF?I{0k-d%dfi?p+VAd6-5d9KoxMEyzL7bf;W=5sY`Pi9q_YsmBXOdW{mOH93d3 z@~L@_i#x~KMjO>NUYB3c{akYdI2*F1ojpM=$iPARD_Hzt8og zvZ2FIdJP%5$vdxN%H(z+^m#Lm!x}y7qJMM6SkN@QD|w@F(8v=~gZuI}R_#({Q{OV0jEIzw5Ou<%U=1blKRB05jH5 z9$!tr&0cVNrC|a_lja@%VLpsa$Trv87)Fr{;XgR&PovZGF=rbY-Z6BLk0+T&F1|kckplu%nHrn%y_3KFwZH#| zCUw%`$zU!Gn&d->!#Y=I&lnh0)IZlcQ39|HnrL205k7?EyoH&}^rd?#g*vpNZSIsw;zDL2@z>>FN5lFsPd1Tp3&8If!1(37Cy6tB#aU2(Pp z2+mp6G_v5Mc);bj|j&_FqSa?`|3opvy$56O3xxz0x zcxQwBjLZuTqf(Z zbgO)2X)uHBdRYd_Yr-3?K-LX;jE_BF?_wpE8 zMCt@Z;tdYD3n$vaRT-28PMx-^oSx8x1b+s^RxkNW^Y(8BoIVzIdmiUEN&CCJj=@B~ z7@muvwAVWD29*Z8awL1L{!0pIehUnmCbHLrX4ok|bb;5^N0Q$r23wY6Jkd8k>BL@{ z_qBqi%jQbQI))U|3Et3yvNlAke8fg6pFV%$LVBDg+HH9?u=1Zx4)fu+>Obe>`{QdJ zPoxY__+K*PSs9yX=eV-+QS#?pS;T3amFJMpZ`;%-gYW%Js&zs>?J8#)b?gCf+XA*1 zdt=YJsFGfqAH-&8)z@;MTXTFOZ%w?_AHx`Yv(02M-H@5i&dVhDC3)}dU0E$l_Md0v ztc$pyub<)DF{?3DAIAi@6X=~-P$svGv2Hgn+xVJE)=p`lhb{K7G>atIzu z-L}e2xiRjtzf-ZG4Qgz&=R4vMF0l~*=oTRU43_*R2l$X1HC;rIGPqaX0Rwl(GI&Wt zZRHaRz+LNuXBKUU-CQgtzO|WdntkxCop>Xo(~-5j2Pt0AGuf;*Xrep+a$2f$h*t>Y z*SE78+Qn@7ih}WN>lh|`V=OvAPkv?ZHLjU_n-8;OqCq`-u72L}(tTQQ7r&#kmFvg{ zuKbtBX@j1>R;HeBu=QN$ghq~2Tz>G1Ck6B}@iuxxe|Vq139V&YG&O>U&ghlQO6wch zm!$xZ*YzXc`m~?YKl~G?<5ToKF$KZId5-G)#t(b#QwAp;c0LPi>YbxIvgRniY%q1> zFSsU~J>G+~6HkEmVgf#ODeHK8qn(1rzqWAN6uufTu=q8}vQFS-99Jx}ABc zY1f#D?ep8M{acR5PubaZm5m>!qO##}bOc^}&}Z#hUgB4w+v|YP#;2{2$$YD*~g?_dHl{?nU+H~yv9HHHJOS( zH1KAk8y>cCbB!X!V*NgZ$kqNli0C1|#arLVQSFoc=r!lj7Z^SdJqp)d5b)%p$<_OAJW^+e67jKecm|@Tfr1DnfO-B}5HFSi)Q|Q5O!>0|ewy6nB z6(PXJ89Rsw&(0~Uu%W5brWo|`m0giK3z_0~+$5`A$bd5_lq>-F8Q#(7(_5m3Dou(9 z-zxLh!A9(=y`l|i^)Q{6pbva%K8_PLDbg>e%SQL=$&UZ}b4~)?2?Ol39ph!Jotd9vnL_pCdzqK5~=Oi}!m07m3m=TX06+ zB};uJrEK1TXpV!T_yRU?<-=f@-)T?5`~$CWE?dDf1IL)Tt9{r3JUGGM_)D3I6g)Ip z;Vk$*y=jwH`P2S{{CoNXoXYv4JzNU5ToB^5X9^YLnGMim%Ti*e;B9A>ef1IOPB`=H z{8^o|66kac!ME{QoWV_3h&!Lvmi#LG(oxFUh(Dl8ns#2nu~vaJ*CjcYr$A{2Cw`TQ z*U?)hJ%ZQPa`icACoM3w*>oyTHa`KdiKX@qV;gZhHldGci>5YVxgAXNQJOY3!-EPx zxDr$CKyoe@V5@dSw+aD1xj-H$7x{-BmgK7~PXY4Uj#MFzLd*F|7*AC{Xp^$Ja2cP_ zqE8uMxV#U|#zD%+<>ICr-t#v%bfzysL+7`b!vaWVOyVa|bfRs_>7K0Y*+DxQ0zqf` z<4)j)snHjkN3P9YWN-n#_*6+xcoh$H>oK2#$ClMcU{*{|z8`xBwEBV5)||E3ZEP9b zX-juxggb2acs(9R=hg9sq+*AD3WG6p0^n!zMDPU%S<$M_S`RXRVfxm*U-8O(>_)+# z|8z9(&wZzZ+QkE&>krX49>q%KNP`a8LKmJsc|z?ur*HN~18rsKkFU_PT&{l$M1H|o zDX?-={W}$8Lrc7Mumd*dto3^-kC)$7BvXei1v7@55u^(*Qs!E1Sdo zHI5=n$d_MXxNJUJP5ursvdYDDUfzO^Z^<2U&=$U>6%0WgUb^;R6lJ$JnB~}PLXEJ7W(+0^Ij~5_nGL7-+&2lb5Kr}U2v(*R2xgo zWNdvlc=SuXQ6J*X1<|Yi3$9d`Cq757@~1M#%SQ0P&+c@ie8#84C!GAH^}!0)n!M+P zX%cMn58ma+%8EDmP%l&g>3`(*%Buc^Ul$Ro*$*r}PUr-V=yZ!Ox>3ic@SorEsGL6C z^jiH};~;|B!;gO#7&h|4i66Yem)+(QU}h{LhRc8cODDBiioX2$%llqx{_vYW9?L4- zd>Ah<^$Go3fS3Q$>~d86miO8WK5|Tq5Wg~YJOwV4W7Fo2QN*fBMr;uszWHc1)o>&C`}%2Y+LV&*WSc zd8^p8!f*X4HV8=d4sQ9_$=gS%=wq&L#zwtnz;)>Lf-^Y5V7k2LX#9M5X!{WEcv62z zM(1KOZB`C0>){=J?ZNeCSSrvWuT4zR%i@)8XhEBG0bMx%f&chx z4^PRxDJ+ixp2_m)Dm46vdHI5_;X)aX`gF?3BF3~2qotebp&MZS&ELe^w4Am8>Pu*A z#~^TIa|o9+a`Yf4^oobdl0rU#A+%@wHNK2*e$W^QefgX``kCgEw3#ud^6-~y@Jn>~~f_nq2i0zl&bkoIMK@ zShj*I)LMsT?HJrEj?hGh-nE6pahi<31TTCcsiJbK#yEV^wCh>ahlveRpnO&aL!}*0MPZ)|JV!f z!yik^|8QzoI{9ae;7Mxb&3!p1d3BZ}$2LCHw)FTZKVA6TEU@7vp*g-2Tw(~p@|Qzj zF)r4WX?s#uTe|LmzkEes%MO#%!4IrGyXnUG2wM!^v17_z|EI7<7pL5ErB zsQl$z8T|%0{20d$?i7?}b7C2kLkR-^v@roppWPDE=!#`!M{pR= z*=s;2+D}XcNB9Vvt)mY_3zIT@vbXc$Cv|v=FY43el}+2KTZew}rA74<9DG%|jUQV9 zORw6%+_5pdId)z@bet0`E#Dh^kU6&5>Y>3;b7_Fl?9;Huf*NPTzg5@$ApqSf_bptoT63#>Y?o=3RgP4+O$!6_OVA{wM}>gJ=c> z4c5RytX+))TV$DJF#DVIzmFo5zrH9z0+Qr#247U~s#@P+q0y zAB8UmE?>c=^XymbAf|}yN@VRv_VUi6ojBWIb$pDuc;pn4TL+|p*_v)VOv0YdA`TON z8Z;rMoi0vY@^FJBn$YOn3jIi8m)lUMjd$O*cMhc_~|t05x+A@8o9#X8tiMrCg|cD zGh)P@FLjd`9nT=AFxv2s0xOqf=$swLAB!(^AyMX#q<+Y9;vzM5r5^;TYjVw=Y;@b! z(LvAa&_S5r>N0z6N5^A-cCgI^)%a555p3wTJP5c@$W(3#x_Z`=*RNqH@s=wik3rko z_(*d}=xa+xZK}dF9Ulsj(CoXQ?W0rn22X!$L$VEvLlbzG@24tlrYgD%J;zHv$D>vF zGpOY^f$wBU(8@2HsP&6QzkF_Z+dgpo1mAEjnb-p@g-ibC-Xg&FVqH$GBHOlkt@;{% z(XCE$IyC4s?Y9jbGFL|_M}uDKXKBl>Y|aAgZIT$g3k!Sriw=MTdSRoqYmNHC%wFJ# z<(37OkJPtwymV0C3KP!ZXuLt3O&R{im&1F0D4O0J;!ljRg95y0xqMK+wfK$*!)IX0 zW`nOs;khVNm%|=cww$B&+;gw)o_ONL-9!00`CA@+Z==cU@Hj`a$P%CYLtjMhsb6{z z6QzOf=vO1?@I)4Pw55j%8JXs0%h(C*>gQIwo`>$lXtmUQ!Or|j?f~l_EmnUyMXR|7 zo2i3G{$Ay6lPWs2`Cnhpxm?Fr)$j)}h$IH0@-#WfxcIfl>++B4Kj&dyO;JLh4_4V4AEw#s3bNx8R@EdgKiZT2*SHKsT#zWc~#N(N6@L*y9T;NjnNXPY+mfs4F;;h<)IUb@=^7TuBy4*_eN88=NE zbr6z)E{$)%PTBY^c#fCfy||t+!04o0Rfp@GpH94WGBr7;F&FxDDJG2z5ow>1qnX4? zeew`G+7}1o=A6IS(!5*orh;FNyyTl7x+uNC)@H%Q_7$sjLyrv5X^)mX)I1m)+cwgv z8#wLh3lHGYMr$U!^lx}h1Fb|>OkTT@wUl6 zWh)ohyXgo2iEAjj8aVo{Zv+Qj(8F9;X;4%x&soQKB~w0d*wXF)pmf4kYH) zN|*!;Cti)aa^}3HbP<^yJKei)rW z4rhHjbOK)fv=eWw3(VpH-!`x3;q%Q`;SK%id(3Bq1}BUVq%DrL(Q@!b{?r!}L30Eg zym)CY-(cyaiphT6ywY&lQ+4Gl5A4YY<@gy3by6@5_>-}kwyO^yBmSpf4w+txrTp7%-QIHpw$_CDJ?u9wUbZzTG(VKK54I#>}{8` zHp-4)O>E>ODAN2yY_VgISH{XE2KW+piUZT6>>; z&gH|^laA+-_Hw~G*|xDL=Uh+rBVW0NUAEQM_D=D!>-Og(GPP|i4V3w!ue9susbf=| zfMJT(+EU&xZ{wFUXl;|-G3?}O6=(IW(}a}ouX{-3?dv7@l)V>E^LubYj?WAAhokx>{<|3+4czoDzdI&ny4#~8_G}oO(bsi8bMHpeBzci23|gcPou!{fuhSM(bk;{=pP zfxAMo?{#58+ZEvsAS!toCDA$8CMb7!$wbEVasq!dBwR~^y7a?L&fcY)F}HXhZ!+&j z!Ue_T_q4m9-bFS2CI4=Y1xC^7&k~6~6Cvk;;s%L=0>d+D+&g2;d3+ae=Kb-#z-~UVq|c@AzJc6j^lW zUph<7#iet}Vz=|Sq8Kg$CUcU+yY}UR_L3?lnD9RF+D+ngyFl8zY~#4(M>8KPB;lI< zFMkDLMd&H4%f%Yyo?^B|G`YoMAGvw?giqxm2(!5Z1w?)fR{gN(qf=fi7s7HsWZp$< zB3@|4O3^H)^&PLgelXslJNjJr4~w>k$7|NP`5VdVn({1f}O z=X>WO&WLg~>7EdGt{=`eOlo$Z7og+}_T>cfPUzt;#QdSQYz*dueYf{Z#_~UU z7?*$XJvX$-fzKAQck$&zFS0jb03C&z_bhOotA+1mB(o{Uv{~VE+rO`lsJmT^oBlUN>JkFX!4VUlrATT(SmZ>f)2= z@g=94jrZtbjV6?=``mtG44)_L#O-7pHvV?Q0M5%dp;aDeCIipvX0b*CguL$0j#ta0 z^J8(d`a?((&F3$_j=tkBlgnZwz2 zwd>Xo=l9v1tc~r6m&>#5{K=1OWYaFnlfO9?O)h=%Swf&QzTP*#Ovbe>?%_~}(XmTD z+0(~v*kqMl@DwthD8LU(`Gq6wJTLBwsE*`DNY44#C-tL$#&z z-Dr*P!BY3=R?}zK#d7^G+%?Z_n!IH2+aw{IY~ghL@k%ak)j9{}1qNVkZvloE*6p|6TWlY&}wzKM$ zcO%T3VZ2&@_AZ~&^nog}igYVAw&mN}p3p{Qp8i%=HGL1u+hA+y;zFfPthS;sG*ulk@vngSG%@(gdJn%VD@1^0B34v8hd5 z`IOAXXdqAY^7Mrp4P5TmXu8;wQ(nAGV-Fnq(QAHaiKS!LQyq}C8UbtV{f4_&Kl;de zY#8mI`s07;2LSw_FYC3rLq0%pKgk6MrHa^HAfFI)OW=gg>4YO>bjNeRlGOQuCTNZv z&4C?Y;OpA}m&7rkdkQpcoI`xO6@cAXhBFIcdn`5{V1I|N#4yR2kQGQy;elGOm-#aYaoNNNww zEeHe}<7m%rj0*AIeWkDMgKTo~Xi%fo%y*PZGKNCnr7*&DP*ur(L`f zT^#9#LV`crBbTh@N?q^u&k0u0LSo8$CgdADN5?Gq_O2j##ZL@35!DW-1v1~cNZSG_ z7DWL$Jp5-+c=83WcD8QOr|9!ZG(2*X#TEW7F0&aeJ(~=~DO%*(H+YlB;uS6Q`r6MI zNwuA?GA89)3|inht;3hQKby8hz4+}dj7)NOA+ns$@9bGILEpyrw}9ez!Tuj+q zW42m&Io@JmZQ^z|iV+_sVR?afxgDK$;a{f*+!#U=KQX((7tQl^CWrF{u$|av);7Mj(Yd+-!}94C6_0(|;N!RX`8f|6 z{p{GnjV%0&mmGX~CceocKiWAhW69Ga=lSm5xVqy`mwV{>11(R?Kk2yI^W=JX8I=$< zi{8~n*utVttUqPvFE$t9WM572Zs)y`Mc?KHHKOWoi;*|rQD7@HxMGU4?ZrmG{awYhaxr?}b zJz#K6w>LsyzVX4!oz6G&J^D3>)A?(R^mM-5mJeQ@u06SY z0#p8qjy-Jk^kI#?PA{xvKHF+=-FHzfCRd;J({b@?A2$C~Lfs@6UfcTHFZW(}4dh`= z?nmO;leo!Zj~sZur)zk(9P5H@b0%DBL_Un33@(AWP`+&DtMkY6aW7ozb*Frg_k38XLDnW;=lFB@SOi2zxqzOn1^rUwqsAekf)}@ zqFw!6?xl^qn%93kH}BUpIs8rc{5`)?(bw;^0JYik52J2flB~}6#$R*{=R3;9mVeA! zV(KE^KSPC?Pv{!y{$BmRu`iF#->^Kn4aZbuny&*g2f8>^1FpWLK0RpUA)WR&AKpLl zV?UW|cd;3<^Jh&)CRq>P0X&@O_NL}bpE$AOe0tbezO_LZ_~Bjco1vHEY_v^Rdw$@z zkgq<|Z~Sk4P#5_%9Zh?f;k&s~-rU^H?o6INWLVRk)M(i4r*`}{{Nh8lF|inhK^vbx zK47!jfeY5jj_0}1jd}gXo0vbbv;HA-Yn7D1w(nJKpQPy^m)&IQzj+d#vqk&lWDJ~S znHxCX@y?^wcX@JgFrVqO8K1@)Eab9;4>s=&-{~V{{rTeTJ#3_qznha0m}|*U4-&oj z7!#4?yJGW-7wojz_D|;G-I|0AlXJA<>_x!!yGF2P%a_HLU9gJ_(;f2(P+Lz%xx5y$ zWS@Ta-^~+G4$c=r5&!+9YqZI<_mNMrgP84J{MK%Dl&twHe)EJk9Y)+a8h!HZnYX>! z2sb;~B$wvIXm4$l?0Ahk8(rwgx($*KF+Df6;MnyAqG(a!OVlu^&HG-#+R=Vx?heDN z9fSCYqhmK8)D9z)Zx_4HlN=^Ky1LnJHty-hR~$hW6F7EVN9wRaceZWJrH8Mlx4j&_ zW8?Q#$D{#VgwoxQb3S|OgwEM!yzz0A@8-v3!ppa~-OT(gUmXbFi*}Orr%O)BU9!>C zyty9lZbZIx&63$PV55U^<1b#HY&;vw8#=44`~e)<`tIhEI6+W5W%~2_S@X#a zI)WQR{??9OKg`}lD2$`=Pa(B$jJ;&tx;M_3 z?;pF=AN+i<`6C?i$N2hSpJ0*4u1#B0iI0uUejs^nqCWMEUSk@5Kxg-I>}(Q$>sj49 zE~z$FYEa9UA03m&k4&alF5LVU7GqB?^zyS9rqi3#8w=?${2 z<2hdXZqB&;;b-}IxvzH6`tW9BKdvX_A(1wASZnM$k}ERg6Q6j0_FQb?H-A<4_&@s1 zwKcv>8*O0-Gl}ODy3H$S-8)$<;@u_z+T6#Q?_yNTZEO-l2;p?E?CiZ-C0Eo*mMyQu z@P!37Yf;<$8!b9FpQk!I%$Kf9*;Dh`A=dEKC+FC6_hbl3dNR$CtG5BTbxm=qH<8=6i*G;4Aj`IRXU`?f zlaJMa>_T(v`}8K@Y;GUF941`u@E@OVO)oC&eC0min}@QGuZ<61v9b9syV!yTzS+Lm zWYW;lNS_>TA1z-;zOg^&jTi*>@Ky%kd#Wd)NK9A& zH@*+se4gB=rUf>da=N_;u#e3o+35F`1^VA@>|tXKr}Oq`p79|swlxmq=N8W6VJj8! z^I?5w>moN)8i>O!)fH^K1veOLb?^j}f82#OA#jhAH5t1j49Yde2x!|Y<~Ynwmf zpWf&;zU$`?a`eE3Wfx7wkc{O+dz-l7n;+TtlJ`2j;UTKxySKQ=@exM)PI{i2E%RzieDtFjnQ3*5q7C(Z*${usi{27aw zP%LjIpNxK_-{L_2OUK=yKFoMvt!o#O=g0awhsV5vLSDRbkNpL$Lg*}Ld^#gyL5nUhH$9A081Ub}e@XA18f z^XrFa7eL8$5wZELdW@8TPY$h?C5zACelD6uzxgemnDnWO{P)b2ll4NxA5Si_+eJIS zG@biDlmGwtE1`0#6f&%Gs<)hy&2j52IjqtvJozJJ4Y-EPP`j6IhIXxi5~M7 z6gc&B9(f=r&91OhZPI)IpsGHidS3yGp+O(TMeuc7QPtLN1_LVYZdz+|8|y4UfwGR% ztMdkjekZnPf)9IC@k6MMM+RgL)gRlas+lE^Y2Wb;YL^#3zZ%X!hSu|Qt&WN5s~onE zE8UzLoXw+LSleHg5zab{79mvq;CmQ4tD47%pjK?z&pTG6XjsS3*nu#Po8HSC?+p(J z!BmY`!v=!f7*794!xPo84AK`8xxjQF#t z49o{MF@Wsd^;c=`^_0rYk;OOc7)6V`tgPIZWr*#u+Yh(hU9Dg7N&pI0l#MTg+U?O^ z_u6aEHz8x9CH(4Ef0c3d0vs;$6H+0qt0%_&8Dye$(B6m0p7RTMz^@Wj;FY~dLZ!Ws|U3`auE58_d@5<9VYUiXdZx9Am{QiR0RiX%Ib^9oh$s0RQVUihfDtu~SA zx3pa1b3ne7Ob@ieepf!rWZQR;1g(wBeNHeUi0Wx^i``q2&@GV{uFo`m!P&i^Kh7A2 z(v2L#c7}{5#^<}KOe<9FF0qi=9#>Yy}l7UW*VXNnC`i3^VW5_$S*&1RFiAn z+~C*-4yn$iF?c7841akI4YYj=8gW>jY3dJF`&YGRRa4fN2CEd3O?w)32}MH=@k@5f z+FevJgO0RM+aQzGh&Q7^B|X5lTYm>u*%&&-?rIu|E$Scc4>ia?JRD1t-*urlxQ&yM z6H|*p2-b3W#x?Up7+D zyn|OV+ieJ)OEA2a#y-VycbAVq+O^NVd^e`&n9uBUn!a@SbeHSTaBPp9l!``E6+ov( zkc`{2LH5-STN^{ zVA7t3>Q|nY^iLywKF1^9Ur|XnnLLR&l`S!dzhJ$y-}oV&Pb=wy1wj?^%;R?9wSIpv z*;pj`?{T?laTX8#j2##0%@lqihVqK%%qm+Ja`*{ZEoty#_?d?r zpeg^uo!iIzc_#N0tb7GcefNH%I|fJ&w?51V{ykN=PRR_=Xj&*gfqM~X@m-IX3qBrB z+YgM)SY}?7&CJ0LJUa1PA_*QQCm{3^+|#!H^-=5W^uY(xy1zvChVs)LO0}ZSK@T*+ z0fxT9s}0J-SS#HaOqjMpIjs4J)}QsB+mSQYR|Oy z$X$=?$uOyyz%@Ux?~-(wg&Ddx_<9KRRsp+)mzPaUhrd6@{EI}yVT(>#eCGo^d@P7 zNjCARvg#Z*{D$VVU1{DMiSpG6POcyY7QpG5VJ&z;@0x4DY%vJU)50v)Bx4{w9oLsOcvIJR1>)DbeRsGu!T1SvEvi|V zSB&945nFklcjC@(SVlVMyy5KZ+B+Q|fYnJ_vMaJKv|CG%y5M&NJ3x0+)oPv?0D`d- zU(yxdBn5eI4w-DL82{D)vQ6-wt`(Fr&4+8qy3KMsY^Y>DXm}B?SiLQ@_pGwa94PU; zuc@rx{M^5rZu<(w%mWFp>ObAM#h+#0Ruj8X<->TG2*NSMuZE)aA|Jujd)UZ14byLh zK|%)kXbbgqui};hTIJM_Q8#|sl_T7K0B5aYeQy-+Kgt`L?cI&5&9{!ykTXv9A-D}E z$IvR=;(9Q~TJBt40*N>Y9eBp0;r(FgWxt1jzSW;L=G21+%1 z#E3kA6#EvjoGOGN|B^9ju*VNyHKH!j7Eax&(mhQ3Eo$A)3=4s^G6s;|Igzf)4Ef~3 zxSCJ8nm%BKo}-q9(SGK132H9uzx=dtO^x5RPmVMYJkQVNLoBg28--_OI z6Hp1NX7hN24w0hJkr0rFR9uwDfHPotT2Azf#mY=;;k?kkwHrMPz$CtDTCwVaGw0`} zzc1Nd3;0_#(J!0)0ygWO8IA$E2qV%0@irE*lnkBrHMc+_@Lef!XtY(cY1kJ#Ew8EW zOk8Q)4N%n;3=F97zPT31i(MaSe0rD`0t^#a>hx!tl}3S8iJA@I_`Hp2Wyi7S!$#s* z-N~oxar+PpO4$Ne*Xm(kOCFuaybUb z!$l}rh(s48tArSBjetc&DwaQ3cdf$}8|xLJRm2&+_`tqwyFJnBneZs<_(&u+I0F_< zIOX0QSZC-y`)X0BOVp>mA^XtS!ED{3ATMq&aADGqb~iIdV5~K!oj{1O#$o3Omv(>U z1$dXB7{bsBE8X%r;8rx1cpsN~yzA_p=2#{zQ*b#Ybi`7g=yMnXT0s?BwT2BAfGf&-KwK)- zzv)l>0t7&*PmvLt&>P&)(o$;RRf9n|IafR&V_Pi)W#oA2yiMqmj6B-ZAGHkSOyJhJ zjK%c+{5jV2reEw-{8$^EF44U!{5N6rgldE=14;a5s*?Cx?ac(a-5@zRMoArf+~?NF z$ORZWF_+kJ@gPb4Exq{?@Azn<{G;TvqP{26wDp)bT6);N25~-@QEx4#eV64ZMk=DG zQo)Z_6hGcNb)KL5L=@h5o;c-({p@x=UFo?>{q^wpl)d-Uy^29dy-KJjHS&eMfjC#n z_@;uHraQxX^+9pd%J+aL_iRTPU*Be{!P`i3{_#JcNpX-y(xgt-#EA<^UYqtrk<<9c z5@~Ha6F;8&3i1@PHKdTfil$KuZphMN-0=`}qQb|l5bUBfWW(IgyY*n->1lTZtS3lR z07M7B?{VDwX&Se$_>}myuv7^wxbAD_M2S*oqyC-gr0ebRKZ`IZT+NEVuC$bnVf=aH z!TsH5pMW2+vlm@{p1M3viLwd=)(@vjosG^lwsYKY%_!Op_om%RD3NsExs%Eh-kCHM zS@r@g7=&{dZ>{w)+OeTlMH{EE_zWRvXb)J^o}`dG{|@6{_wmsku{hi+cB`SflrY_fohd zz9(Tdx}xBU?BG_AjIw7ZOs7Gmr3|Z*L{^1vq-tncLwKj|0f|`vaDi!JiNLDj@1E04 zJ^-Vv4H$y`;~}Aijr<=Jdl|dK_-n4yiQ%V&%RR-n@WfxP2WqB#vKRL$X^ai>_$hn zstuWK5Zp3Q^1p&9>D3I&%j=ce6Uhd@VpYuMh6FPKXYF@XGy5%6>)S@+z=x?l`?8{z z`)BhJno>BeKW8az=2=6Fw-3Ok8_xDsLYMKP`E+ne@4d_t-N1nCOT@)HIvev3%h46g z?ynEzalgyhF%lv_0$6gw5MYyoT2SYd*HLN@(fL-fzo(knS-;ui5H|cE8Lh6jY($?{ zPs&NK*fFUYd*{3q6UR4!P3g2CZ_F;c7)l0qNbU&E2hFc!?Pst``GwLJ?MJB8rF5@PE-HS9V4x&cqv9_4 zjJmM%FABf0;pdxd09O9f#ge^(J1S9l?PFW)Xqw{K05|Jt1f|d;HAg%;pl5s82iqt> zwF6kC-^Y!On=J=Y&{J*O$h(kG67tqyPnP_{(<8w*HC>L?k;ET#IkwZZU0iSTpv9fl zR^8CfETf6e)vAGj6d^t+#BYx<(K-0jQmx}bAe$P9^7g2WI@n;xU@+pH3Vv7g@zreg zWN7dfZ;;>l3;-H+)@`LPTi}3JG4p%{|FV4_k5zGVGn}}qnIU0^s`L+WF^KMtNzQe- zWxn?z`QD3+ACunEx}D?pr9pPbQiqX;vjJ&hq{H2;VAVTY&H2v_m7s~7avYwa=s~9% zY)1ruCNVL^M-&v6vi}Rium2|s6@VB-`MmgWWcf*KK%oO%tHhVqxhl?efF`on>YQU2 z7ZLsJaE*~z5sgjdnKvGQ9Qu(>ZLJfkf}yLF01vH0YOm}`0hP#8amU>`>#;d|PPJlV z^;VXbKi;c}_q;*A+QV|RMh;e_W{C@`u>tMZuS6>Wpg;9N8#@9ZS1;@=Ca#?YhzM+K z@dNK$FGaUqsxFYW&k(%5x|<{f|6R{&JhXWXG%tQVIU7JT{W~t<<>yltbIiB=i?(C| zm0)grIc*${>ciMPgsaW(H5boW4_C)H*b?)~oDRqfh+N-aK5#-qm6v`T^?ia67B0VJS+FI=lUNfxF!K<0fS;>8bXOE*Kv(Lr%mMKZe!J?uB$fMdF4d6`<*>HK1 zST)i%w_s&>XEIu)B`2PN_&KO^qh!@8=>;GASe#aQ2rsNlp7vQGRsdb1X17O>Y$D&S zpgg>)H+lK4;uk%nYAf;fT0N1~`p|Il@j)rvUG>WFaQO(AU3+I_GVaf45U*2zuT25G zbX^O#e=nUA(k$wm-|2<5>e8r+>!QpF?Xl;6?ET6bnR?jC1#)%ODub^PZC5vDWIIit z>v~Zji{rOYKhEK%+VA;Zh2PZXX+)r`;0)D(qet38Qp)3KoKi#uIqD^J|;#uL0FfyUEy;%QN~sM%84{eD_*)}DEdk6JTZa4k>q;$ zhxdxY&n@RPpTsJ_<;_OVmQ#2+*A6XKh5Y|2%KH}nl-b31yiFQ^GnTtvVyw>X&*l6g zuO0f@J2x?cJ3-xNq!UHFEOF+qT$h>b@doIPGb$1##5eB$+u4~ZH!AgV3!k$)2uNB- zsy0wwWZhXBBf95+^jmJX^VmSn!8Xvhb-4kd?SO!)(T+fo1J|Di`l~^z*_g1h*i0NA zCL}HfGE4V+oZlUvvD^CMxXS!L6?pGxYZg>>F$;0dsa}7Tr_U+z!%{*`WFF6IEc|Xw z0muFFQcD8G>KgW@SLGb(rAlQC`+k#3A6WcVt~sg&xWe-sEFF8?KlXdmv}VP58BV(? zK=a+6`}d1)bO>aCB=_@Q!?)VD#27~8f7&_$TH2xIlYyi!akz!f0D>E+G){of z6>82I7`4e=ljSUb@-Yp&?#&h6%|G5AboJ^QR`yXQ!x9Q%wK74enqJZA^J$fPOlc6c-(14EUc&8bKojGIZ2moTh0&#GfQRCKUv?$g*C zAG@5jMZSZ=JiKmDjf++94EaQ?XTA%L%XR;-UJ=)jS#}Nc#b>|VtRoCmItbs3{p(@~~^p)K%F@cF9fNK z>+8<;Nq#nPr;27Gn1~-B-i^3Km^yUp99M?42Iq zXwn{OTYoHI>P__i+-&o`5@1yQG~`m(NL-{~Y#Z9Amd*ZgbdH`H0c{VscUM@#pkE0I zjTa*TdxYs%&p;uS%1UI9{aZ@(+AVq#4*5f%2!w*s*_v{(bWuGFfH0$``Qi4?y%Td4^-*3CDZQmcCKjl1NYuK z#!qFr1C|pB19tD%@UpNtAl#2l=r(D%ltCf3VB=QYcFzRuSJr)F%{O+w8^^lpXW(Sw=U{^wS>*Ji#THR0J$q+fjoeAAXf zr))D@^;a+DYgLiUswyKyp@qf+@bVXU{OFX^@@jqGQ-Jx3$fy{}-R?3qe`$R8!@>A5 zglH%GUHm0UXx1~QYZDzm6>fNbP}G(aem+N3nV=JP;h=;H(8I|Oz(5C5DY?kmcjBG3 z&PI0KYDVF_9A9y~V^|p5es`1_yuOY=p^f7q!5%$MZXY^3c~a*JdWfb5J4A}Tg0;r* z=eKv<`MU<~`{ezr0n*VXfr;d84M&Qm;S{VoT^I&(Z+yTj+F%(XCbv7A#2EKO*>^?`>>!&T4qnJ+19jo~ z?lxO_6Wp4X^8?pdRneF*n3geqovgv@HB)!*M6D1KS@XwM*NNbu_p8Ly)rqi7U0`Fsq~tMm zDPzBerLN(-Cd}ZCsn22US@(m5r{%pyJN$A8!A@JN` zxX`0FoA61}B?+(70fL_36S^NqvQ}Pd6*zAm9~bC$a(ovm`0^&>q~?n3poC>#EIQt7 zV}7FT9do|)bepX(`9sJY&z^g=FEXiH@m6LI7v>waZ9ig7-p)%DvGiB*2; zPd1oMEWObX9#CnJGH>(pW)rgN^ciBOXh?n|P2t2GZTNDwt zOkA83-N}5*g*pD}Tnm5YcM@3L$>L6d(OYKaKSdDltDs}N&~Adt#$aY@DEqWvv~SRg zw5EEgUK!_EL>LvE=4zUf&xvgIsy!W;>8{d6(FC+qo?e>qxN=tBOv=(8!ZnTppA%j% zyJdrWFtgw-?Z3bBW4M?rv8MK+M;gr9AJCdxAQ>0f6E7O&-&IlqW&GJ5`!4TT$@KBM zt~@y^LQ_iB9{w(iYU*H~>j(7Bsrim9oK=&@Kn?@Q`pFC*H@xq#p^2deP5p0Phos^Sg@M@j5+gq9hvAH}rgj*<&w_M`Sr_d#@H$n;D{ zTI_8zXxHXO2Bi>t;&7yYGhd`TnY_GU9?Z5%{L`~0IJ%mQ?h{wR4gE+e_+5wkLWejA|R7Q#uDuaReNoZhvq;)bEi)1(6BVB+aIH`5g(Vk_xr# z+>?wVi7Rf9NwmvZ3lHSK0C1{G?sj7C{esb+IWC4_?S%yI13`-hdq4rE#M(>VwZ6Gx z5-Z=eBlaxR+jZ9=x-9v**0UUr$aDKN=vuf}(9Idoj_W62(C7DWxT|wHAOA`4oQnIw zI;TnH_BcbNNX%T9bV~}cg7&wNFd4-rcIdHH(Bp|77=*~iWl~1pkecBcxw5sqL z=Xsd`pLx$;6y2KxnG{4oo*4Qp>)E?np{0y03g(4h7kUAzaFUbW`7L;@o3Mrw<%8@8Dt9gTgs3XUU%H< zC769Gw^H-Q=iVkXWj)43hohGw=By+#0 z%q!THrH@c_p)_9GI$>y2!2vtBPi;zEscx|u3Y zdip^A{i>7G*@EoURkq>1%{?cNy&>mMYK}L1^zKWyf}JHWx4}{tU^f7*Y41D5|c5fDhba{!(Ax(EK}K$A4c?l`2~@M0i*PbFa?}8$4dB zqq2#K!j^o4auT*;O(vhQRLZp_j_$Ffhjx2_AI|^JBXNPiaIw|86DdG-8itQ{zL9ih z9OM3qxv?`D==~}foY_7Q4DTe+vLuBbZfg z7RG;%jvIssWvMo50imgmN@H6Vh~%ZYnKo;Iz;2JzXE3{&@%AH19F@EZ$#JRWG+R_( z)it1i4lJWdqJbTw1UTq4pCgNdJL{5-gyNc1rESLcB>ED_>*7_^ zLO}WCbJ1Do9T$tP(=O=9=DwNC*mN^g-q9S?pnsq%P$Y?7B>87(_7TE5R!h#`mDL@Z z&#BA5{mrtqXJ~GS$t-O(oY+t8n(-8X9U6kU;1rJlCP}+azjmvGK@Slk@Ze^$yMoV+oH6^By|VLT)sx^i9?vTDOgRe8goEC?s~~o4 z(0>K?r?f2jWuhO8O{LyDlGtJ#S^dm^9yXhaVW3;L6;jfbKgO!Q8voODH&ox{Z{^1n zTJn!auA|(7`-*qLn$+n4(K5W0m1Rh@bdx16pnqd!Uvrdu&Yr6GOzAc=sL@S$zU~{7 z52CXwZe_c+kZC`c&=xVs&auDT9^M~d+mo+PY58%`rn|Hky5B71``By~$;GjW)%!EL zb4p1AR9ji}#&5k`S5+Ie%q5tKQJJkuP#$Xa3uY3h4;JC++Ig&XxUpt3B?54*MVS)^vh54%ksBM0AtD=d+D&lY?D!UmA*Cz6Ob&k2G5QZ7s~A2e)bNSL`gn)1s%x1$E$^9X^+y>aJb zEoZI`<3y>S9fzxIJq%?;poSpPpJN-Dn8@#X)}f`G3m@det!=Ye9o^bOJ}UqZVxsHW zA_UvB4$*Q@Y6aPd{9?_(p%JzSy*>IX`biJK<8er9A;$cx8;FU zEEIp(gjGZ<4@1&sK5*mt`gU$gtyFuimjP|_D+GhO1e0oOJAk*8{^gaFc%NSI)us7? z&F#`ERelYGR9xxGHI}ljnyg0S81MXP%$VG2l*rHIra<~JDx@7ev2i8M)lrmVh4^~B z(-GtrvhcF|eKd*eK6Uwe&ggfmJrOPP$EK9Y43f~0=MZRbOW--^v-}8TBu)`x&xbb2Y zdlX&h+ATBbtextQ=7qos-vM4A9@+ixi1(!Z77jGdXN0I*DaBywi`H~iJ#Z;8_vD=% zJ9|j-%zOTmcW$itXOCzGdl(wA&<|r*je5}sL&$*;5BR_~1vM3M7~!rpb|V~~$;j9Z zat$BZ@u(*IX=0Iv$s_g+j6b45;2R{fK+i-*axz6o0($8!>#1wj*e${*r} z8R%xKe-5va%AD8QNZY!)^N53HO`s^a(z{Q~1|>>5C9>_?uM3xG#d}xI)yxEV?@7M! zUH&1xFrXjgI3DDs$dq5-B`)0>nL-WUSoK__?B2Ml>QLe})%_yaUFW{}1Vt`sVgbUD z#m04u%D1OQ^p>$w`UMZnRnoySle%!oA#RBms}1keW#dY?-ltLjr30b$e*E8{)*>ch?-eAHbbOFs~)v(Cs?4YWxX?2U-@v)9~j3{Z#@af=xncbf5 z#*3B*BZ2ATbFS=D($EQP1d)ygfMKY%#| z+m)P%^HI@`N|tKr*o@jW;mkZ*UYiyC*(ib$Y@PoFEWmUMU~lpi3j9{9s0mC>7U^Rx zJWw+~7*5->594<5p5mPx#Q8=l=YJTo%vKADyRIz3sP@)+hC(hh z)`XSt*3l|IIxa*Q%OVzdsD6TJ8>8Gp{2+UKoupVkCMfZS$&ePl#4jpAzsg%e&);lpJyiI&Tzxv%N(!68#}tc z>P|p><)5D8`e-Lp^44%xGd|+#BcLWexkB>^?!JZ14+*2YgrSp_Cj~gV`s)`qJn`a^ zxhsgYvs#vKeiSJJx&cO=Q~WMlZ8)0eT5=Fgq1)#2rt{L;?1!;%em zfcpz;zWcV$A1Hny1aw~r~vspWR8 z1afvlz8fv}^^h`8SgR&vsg``hZk!w!ak}45R6=+vo8}%xkhYd-e|9HlJRsx%&2vn8 z?c3`lk7w!~9Un2v&wN?j2Qe+};4^YkEv}iXdqOF5S=$XCDX-#Xx&gJ=RlI+-=FK1{ zjXF<+n>}8JRs`Q)CMJj`!yVDz4?n_ijZJ0>uMWQgfjAC!5cw7H-Q#AL#-SZ84*JPa z$a1~>p6Z}+bqg*m{kRa4f%mV~C4N+7q9c+TR3)J4(ZymcD;uQq(>N+mdqr~%Abw@0 zS6ATf)5G^Mg1|mhpa&9UP07bi67h363z|a?`ySb2ssIqEVx=iFaFUlc#o(>a|57OQ z=goA4N1ZVYAv)x?c-68nHcXHaPZv=vVW#@`fiZ?(Cu;Dfo2RHFP*f$n$X7Ff~*z$L@;g+Cok{d?BZa;54^s1;~FT7u-&FCQN&kN zknMJd3ak%7Op(9-D9gXvFZq}4D;l4xV>#W#mU($=&oMa=PK%RI!2&iVpHy&%BHVKp z-bEPAXPTW2s8o5t+@NI+dQ0iPM6GyY6L^oC>HfOrhAdXh$Q7c#GGbX>miZsYtX34J zQJ#!5-7~clzHWWJJPVW9w^lW9B5UNEm#9J2@~^0;K-8f+P7(!y;?fQG+wxQw(sj1{ zcuQ}D-6u3&#X&b%aLxjBofXZQTtn>%aSl9|w;Cp}wCyn3C~#K@%UIFYil&W1_XIpR z&1-uZ9?%V8+}W(!vgUpEZ!T?^32wK)B)O%{QN7Op<*+YDH!w$;V~xc)2ZDM8*EjAL zi$!DB{*8})YCONXjp`i29ps16EvTp+c@$%%g1WI#1Km5|9F9T{7;v*2v2immbzHQ= zc1ZIh9cESqak`5mO5Pg@;_6|9v(D}36y>J955Fu8K1NmNsX`L*ywx4ky36XYOtbgL zhd1}$&QuJqXC079*nAH?90_QKY{^WC-!1(Rn)>0u z&zEi%b`OOlMoHV?)rC;gKIRdZpXTp<+z&FkxLL8AC9#rzf(w`ci`(_VYG(Z$0$8Z+ zD!n9*rm6*5kYx0wT34N5J`-tkDJ>=dzt@w#mzc~!+jQ%oXPK*S(Yq&GcRMo`0qq;g z#dCRAP-ffeBI{Ydo34wG+SZwoNBI;-XG+T$A-EO5#33EXVbuWDdbCa9{s(7mHN6nm zb-zzx{T>OJRHd3w7vl)=3+D{5?H*P(I6z|@*hB78M6s)Tw?miZVX32!g9cdWneMMD z@2oB@O24b-WMf>HP>Fuyl>nw=1ITB0;f;yz=>A~LTJ7g;dT+O0WK&VfPoa|3 zGkbiG%X^YxTwe>I%dDIPulS{0_+erJ5T!kI4kQ!U|GrbPx@l1QTrn!{Oh)6s!Hzj7%zh*2Q#av`kLvtB-zMj*8r zb>DYZn`lw0QA^UE2;(%_q%I$>uf>7SkGcrw7m1#~n&&&HA+I~+^==#xOaI_H(!-r} z=Tn@dg>)%5*>f&=vl!)Az`|H4%RAB()9yz$7M*r&kIq=>GexI+MHnMtoVMEHY5)NJ zbeUj!1mjij4jX5st6(=_psezSvNs~AH*}tBodfz;xA&_We;cKf&0&ARX~UO`GruhWj;&iRr4_-gHUzh$HSWH%W$Y>A2zU|X#20d=6V6V8N*pPdA&(;6G z3&13J9UtkqeYy1(|17V6P_CoEftRHH!PS5o)$pjmFUkw$HO+Io$zuz8UvJzmT1W#!rWm?Is46Dl!96UgDGvWK?oAoz7N+~&ZrPZL9Anw z8oscHYn@TWcTSmNIxz2){EJb=M`GBCpuGnG;kx&6iYdftuB{+VfO=TRIOdDO_J2NL zR-8cAqe(p)0(C8{2siUQT|dcHN7gjmH4bN|+&Dd?#NAfo8i1%!uW!J4mdCCcrbz6% z71)uLw}oN+j?2N`cRg-AyRC-Xt*qU;rqMGq$?`&boXF$MZZe56kp}A@{4|daclI3* z{^mzoxtx1im2faQEdO)rH!1zp_U4mgPs)?~Na_Rp;Xh3YLXsiO0qwD!U@NzU|G@^R z=cktc!pKW{`78Tgw6;(lD?($=}82MqUf&vta6sC;o^Vq3<6i$=K0>8|@B>yA}<0jUD;o2t4t;Pt(E1&OuSe!GNTZuVx+zFCTW4enUMwZ*?MlbFD z%;)yWvwy`D{toER=i||z%*V?{-eJh(=y%vUtUWPwAeQEQHr!MW`=fY8;MF=f#`iV^ zd1lZf^l6LlGWRQ-^?6JQ@)pe7EEe?-x?y{@3zdFB1Z?DSaoPi5)@(gHn( z_JbDcFY`um6R>n9U)ix*Y*eP~?)KkE72=jMk0l7~*^S^9l=EePR zM>FmBkDsAsLj<|3DI}Tai7(D2DFC}IVSn|HN+9x`=1KFK9 z^X%(X%c~>i1TPz|0?$s1zksLbtt==BlFMeQX*IQr&BCqDO45O2hS^ILs`q4XoGfxZvaPW%ES6&Q)niYk(Si-OlK5AGJ0UxSgD}st%#$ ztjxZ-NsC;md+H98JG`r#Cb#rDD{apW8*nf8T(a9$-X|bMUY5JFc&_7;XaQHjXSP4B zK0m7Z>~EMhfUW}ERn43sHK~Hhoot)A*rA8p-X}e7(#4?N&d0$H^7-G3_A(HnnVkkG z)kFJO&2ApFS2hgQ_@4(0^Ek)$cYcX~t_qv3By49voMbMEtc8D!Mwn-SuBi z{TUy(^e^0-V#1ihRP9fueM1_xd^Hv3kP?&(yzv}77JqK?9*g2vb~P+&4lnT_u+dw+ zi*-;qYu~v)hO|4*Y1FK2^Q^26kxvhcaeMmZp$};my^fsF6UF#yKv@&R)enLyqe*5$ zYs-Q@E!aJ62$LlM=MZafEF8xPQY}}P-#atE7_a^a$}~WVnAvu)*zPBo=js;125)fM zvUWl}aGRY+d7kY6zqG+#zJW6z#F7THPvIjfx)3b|2@clzH)w7|8 z)b1dvev8$8tx5auI#QGwPrL~yfEu9Nb;_&PpC4BJYxKHyt#p=D6rqHp_|$!|YO|DD z2Se-Y=;5wDT^ovQ?;9cXx0I8vqcZ{|e8lYjdYNt$WgE%*#3QauQ)F2a%|^#HBAM2X z;O4_SU9&au+sE!8?L{{SQ@hVeeh3fTI8NQm9_N{ugK#!@e;|?r90UF*uh15=yx_Ry zijTtBD28d{XkH|gX3cJg=t2%h$^L_MgNx(nfTlNglLbd{YH$a(bvqc;JiKWismkTI zRJCc@)3Ir4{R2tU5m%MpzErT;S;BnN=yJde?o-(2A5sewtZQTn1teZ6p{HtWqyj#9 z{)}D`$?X6UeyNE5jc!YiriF^)79&TDR}sKj+Pp&j^oOGtTPWqkPZ8diA2HxI+sPAQ zLA9#>Yy+jV{`n53x_1BZ!_4<>BPNf&mZI&J?(M3G-Ahmx!HY)(I&a^HT3UEK9J=$_t8-lCbZ#7h zLO2Yz+cd?Zg&X<}S=L>|K}V&>yU6?%&vx^yIxo$S?sEJj!i!+%7zd%@cU9B{GeBtU zo5|O_X~UNvx_M41WbW^}0nn%A(mei^1Kq`m$mMep0f1rTbNtxHq5vQ8_4t`_v_>*Q z@-A^>!(bEYy|O?GLZor>`d-H3Tn+w=FHd(0amb)O%iIoL$moX5UQ`T5yY^-BtMFg} z)0K}Q(pIZ@86L6O&iEr(VXk0jenf{RH`&0Pf6vp1QzwNj!;K2wDuYdDjP{u|l)N5S z*92B(3Vi${b;?UvNwvcC#+dTutdce-kHN%qx?LNIz_wUR&0j(yLJ!_YXR0{Pob`>MH$8#?Q75 zQef9l@}0{y*nYri+-u1RO?b15+eT93fz!s??uxIqJJ$PL&wPMU*Q&K`*;)?lOCv~L zAjB69zXjjv6_ZLf*l z9b($bQr8n!Xe}&NY-rZRbsxP>RM^XFU^I~3Mk6pbJ}gVFU!zJI(B82H-u4ComH#FA z1c@kfw!iUfA((c1%B&a-K$F``>qzs)eqL2scev2SJ>87MR-=Q<&x!{hBEwS8MaPU= z$jg9#qPu5MyINso@f?GhtR0d^%+nRzL-zLbV@ta@0uPy&fESnyZx%%=%W8c?It^_-ctJugRO?d*$|L(5U z2^qlo_QZ8LF7C`wh5=;qA8yk`)hFI7#^XfO)kw2;Hig`Wg8c8v6#V^YQm4BaS^U+S zJ1Rce@>cNF4Z$guE02u@XQ6zsxm5oo;53gy1s(a1fn@0J)^D=nS z(iW;okrIjR&4Bf*a))kQdW7o{-+^~)plG*Fm>t}&P%S$Rm@UokBoU0-r;n3Ff_A#z zA8GYIV_z02O8MOga}=uYa9!~WGtGJ--C~g?9`i+z^Xk3OuJKgV`8 zw%u8Adq&Drum<vPSjhm~%h5Erwk0qz$`pIGE6^&sq z>}gu_Sp|8NkTOz8E=y&n-(&B04b0!?i}Dxn|Iu`&?@+(*8!r_f*(yo)N~n|xW$cp_ zDNCCz%LqmG-C)dQDLYBB3?@`6yUEUseP_tNjxiWJV=S}J&-cOaA9x@4`?{|O_i>%q z`8qcY7uWcQCI^rpHV=Di6UiI_V3>Ot#u9Z*p9ZHn!In0ij<7fZx`$+f)VZK9MONoA zV{%CYSH<{Kkk%6uKMz{b>Vnp=w@JPhL-XF`$0hh9-6n1rk-n552Ic(POAbu`+#j8iRq_P@>B-qZ81vU`5V(L2ca54{i1Ki^|GO;6yG z>tH<2q4nG&YV7C}wF@!hMyJH$%ld?;hB_Q@o(RfUp@X4k&qhRj6vf8$Zcj5B3# z(9x?T;6L_KDRa0QOiRUGg4P@`bB181WJGOZw%@l#wauMRL!L_DqvZCsDtZtt&cU1h z_{hjrk}^K-4_#=iE?t+G)TWx|oa|+t+zwA3*cg8c3nY~VaQs6tKGwr5vI#buza`!R zRB^uEro{o8>~Ms5jcS*NiIR-D?X7KaT{FaLVEhqRw$@7`gx zW*BvQ&1~OB8oAgpTx?YO=N>Sj4#d(!z0Uy%YFp}zql(_*_-;YtjI5vV*U6fojV06) z*RS5ClRpp=AyaZyOA@DC56fCcBSNGTO)7>ao)CA7$qB#HO3O2GBT4-kt8elhv>_h6 zxw&nO2rzNh>;5*SqlTa8A`idl?Ze$DYKVPdzWTov`kcj_B$J=8cro+++T)Q=`J(g1 zS%Xz#A-h|&dm~kfLoCKGsZX|7t5FKxvP8G?O&Q}I)U>Xy+ZT#n?UaH6DU?oMj zciVAZPLR{#(SY&cK>NyWupf0V=Y4#YgUX2`t=zp@Zs>Cm@+!WREYjk{_hXX+Mhl3k z?P*Np+*+vE$M;I@mw(V5)T}iuQM}MwB2l>wQTb%45d;ub8APTpC6zxB*pJiQ+i0)# z52KLENl){sa~CaaL~%=(Gn}L|QBj~uOR+L5^j80;sjE{A%Mhp5E`Ue32o(Pu}(joavA14NJQpke_CS zl50r8ScBjtb06B5!%CK3GS(W_A8FMct|oo@loFCwpJ*O;3_8S7K~;jma-~2T61Z2t zUk!_ub;$Jj#mZd>xZjcPXN!Q zJj-dUx6GO$PuBfR6WVyQj>gpZ1`(|rn2}z!6?C1|!EulG$o;03IN;5aa?&sPg@^nn z+N@b_OfUj?_P_hB3TpjPE&$$Mc9YFOb}{Of7Q=gG!Qt4wg|Uk}zTW!78H^ZCUJ`Vz z-RAH-VK13DMcCcw7+1z^sv8??`)G*Ht@i&snZk?*uEZC26MEeo;`laq0ybb0)03~2 zqp0UgOa@8#jYM-pjSSpmV0rB;3o^7KPYprwT-wK zE0F>)lNk4y;~pq04+JnyRSi$x@6f(HO&#rx!%;QcQ*Mo|KAIRUiJn%0>$Oy)12O?dLQ#bVQf?}edl_$&TN*u*Rv z10Ko|?govst#^(GN>PQfl&!BM=Aut2+>+Y<4LT-tInna9acy|?RD1NIUvt@q=)h|Z z7Pr@;@NrtnH=fGF*56K?`Y^02o!XtapUNv`ki&E8A(DM{Li|g~DSngE&dVHIo5w#7 z&D9_O^5C4=!Jz52`jEuO74jU7DEA%n=+|E$@(t@6Zoiz8SW7>SH7(!2DKxYjbv53x zPQ2#&x&~i2!7A*;#cky-?dOIUm zrD8H20SZCNH$QNq+vOEfHd{miPhNil*pD@q%?S|*z3wLOV2~5?(=93`7fC}p(N}6` zN;cPyH;a_jNT`?)yV77p-;{kD=ebk-+6aS9d5mYq!0aQiZNg%z#wal0$8>wEe#k3W zZFWw3iiwh>u}Yx>-T8^;-2{~q^F*f(@!-40|C;AxjD%BsGWrrGwO0L>lY>q*kYuZc zy~1tL#bC&Gj5Xo+tLMXO(bI~JFElYBb&tQH)a>K>Xyn4#XwQ z17ooa7ywtQuh8U6eQpy&|Fjgb@U9g|=liGvF(=C@Y-J{R2E7;YFnJYM=%l&~cp(1v z&o8*e=Qmp|sK5zuZRdX=tG%m%JYrr1sm~F2p?)PF%Y`KGI8Vo)s-YQi7IyW0<_|nk zkR>y1@zir-{r-r~yR6!g7=TuxF;Zs1J)NnWeDp%@7Q6dJcWy3R09} zcX-0^o7*f9hFa)c`rzH_Tc=+c%N|2F9wLUjSQxz!s%kY)u00#+`)l= zXu+>6x;vQ6+F*AhsY})Hoh10dW?`K-oycC?MuI`)deHuXFndNSm|n=9PTF$V?@$7f zO?TdsUCfD69UnpayHgUook%to&Ym9s`2@;-2!yb=Kn&r+;xQgD+aEd8NucWTvW!&O zdMclB zfYY0iP!e1spRv;ErucEV((*vX(hBTqINOvSfL zbM>=vyCK?@7h70KFp3inwhLzTlpWPld;g#j$1L`=U#NG4GYVj`ysM4=jg%|INdROo^a+S{D{3I3=oFE z@fb#8HGFWm0K`OLDjL4NU^{rT=xi(|m~IYY7xvPZLMmq47zglev4gu8JXkelOzQ5+ zHY*>Vf$V+ZP*8gqf+j0_;&zRYnV^1dI6I29G;PA#1K`s6BL;&=`(Os@=wc(-^94BA z0g*lHvJnU;0+SAd@{VMkuA}p!AQ&bJ%s$}4FasNzm25(1y*InIAEfY>#X!=So*0TJ zjIg=A_cvf?jzu|y29&Ev!ArJhna%L0C2Ry(zO?^Msdo-)@dwYE$yb40J!9xPFm!g> ziG?sZ`W}WUSO~ZWV@oj)=U|8140qH+-ZttJEt_{K0G!RugxvaW@CK{_2`%>YW?<@IZ_G zjPU2xRTgIKMP`yR{}#_9X33Ce!YMbx7j00K45Q>%_KdI-6PP> zKI&Wa)Lv;X0!P(AR|Ss**C9kelt7q|!`APiQXkFGg{3BoW>0sI8;YIqS_8w95-oMo zMCFTe$Z}v2$qIKOhaZ#WC|dF zVQ1Se;t2g(Rl%yEp8k^-W%-a2d2cuH4cF+Si z(XqV^?g^S*hQN9rPEAdPM4DXzdu)Y&5LejKLp#QX z5qE5!GHyG;F=SjUb9&{ysf}ObQB+m(N|wlhOHQ4%3G}o8yFQAurHb)5=ZMixyB=*O zRp0HkVdTb|anFI?z>M0N)QJi(*ljQB72T$1dImLY_}>Nc^>C^P>^N7b)jnDs*?uc& z38g0|y?Jc{0M+Es&Q0F#H~?x<1;upt8G@(>#)@RMff1(<8*;}bTWWeebiI0 ztBsSvJ5zr%9BhOq2IeFZ`ERkh4FqWImFfqixoagH9fDwZ6{osx0lkAo9ieE0&&M@c zf>3cc9dxp+pZp4ZVCbosV;k_jwK9G4H+W#>i>|%9p-23OWX;V3zZ#W=Ky4>Y%leFq zQuq}WTQMGNgv25_fr*Ma5g8T7OIXv*Ldl4%d>tD` z^(M)=*^p>GF<#{=g26Z4UEgce$%+QP2#5*s$+%nI9li0F2%^TU?%9|!nJV)G)4&OJ zIHwbsNy!ZS`otx8nmqb+S49_`zV^N~wBF9<(YcSw1SaYdH~(#Ek4yKw243ZsI)x5p z|G{gYQno!45aRIuxW(DU$oNAE6>)6zPspRxD>!B*!N1l`u{_XiO$%wdkyqK2 z8xnDpSpgEf)oWWs{e7*Aix)SrS0>xf*ap4B-U`CRApto|Jf_O|N;Xo=b0g2> z2(D7dzt4uhoP9U0ZD~rRY8Wg#eiixrOy}uI@9*Mg9`^c}7XR5AWt!2-1?V64$gsiD z(cY?CuE%n3{&;-m;T;jdb0;&Rt}0)q)2Z3=EQ9t?u=#^56gKBjTh2I3KAd0I8>%MB zM;qKDb;Y(@cdDyH2j#7hk>>SQhM&!?wSGIDCNS_FVvRW#<;Xv>QsS=qq0LWag5B;X{~;JG~8ax6 z6*&GKsj7`JX`DEPm)m=^nz*(~(D9tqx$zA}eQ2+ZlgQU%X z_LT}d71_ z8bwgurww4{nmZW`H2mOaquYvu(P>y7F$?`I<~s<2vl>Qa`7C_G zWKd|E@PlRBJb$+ABhct~AvO3R5PoAyj*S7#GTP#hDJAI1wn@;eR=sdx`xfegA#8|boie&wCL5>2kOwP7SE(bq87;jfP^@nhHZz;SzsV$ z6Jw6*AVU3>>zb0Dqzu{S(a-{ef7m5<{cqp|eaqIyI^CK%BaD&UBHsB;r$Ls}0=xG! zwFs2B$#!WS^b2v;zxp;u%`H!t=|A?=Z6PBS*zODPY}=tL!kRtKX1E7p2UL2{hmBHh zpK1GA%IP^1i-)^vidO@qXno@>ST%O5nW*cXB3aysx9x} zkis6aa${^*o)r^>m$J?}2Os=8Iy~2F|5@uN=E?z04Ns?R2f{Xu2vk=v+d~t!M6qJ+ zk0GIx&`!z&@Rs7)j`s@3@H6*0v{Nkc$4HBL?W4t@qm;?|8BZ? zN092iPaCjr^|$JfKiRkDwjgzSjhl) zH!%s#ohN9NMNxw9wCu^0*%m%Z*(GC@oEZpT6xYE>TA<<_=lDUup`Y*VxN<=N{*RU= z4Y&O2?77=LB`mQ-9-xg#{h4U(=4=wO0xFwvz>~rAu3Zj|o#6YuU%Lr>_vbwkR4xOyb8fi2*A*F0T8q-s;zA^_^!xGq!iMGHBn1auT4yf zj{5Z1ed9xNw*{jb=Dx*nW@w_dlkY2BSRQqjBj<-P6+4+yqWfM;%sQ+l9FMvvsWah%0n=rYtKRbO2# z0m=&L*Iu!PC3LJr65i{Z=buiUzM^QoC+!*GtNCg)WvMB4{6!*K>2<}-`36lV^x~O| zG0iC%uw+Ezl;8=L;P~EDP)+;46~67}+{@G8=+6p%A zrP->ONr)1!*k1QbChT$&mhyuO*~=aiekm8IJ;#yMAJ?AdQ=Yh~oHkzmb104OZr%s> z$;8<~#>z<%&*#9oP6UgOpD}8-p(v8Em`svXCnnO73gSBs2N}$! z2Nywcgvqaox20uo{#m=7PO9E@QR?@3L5zFBFU;`Z=r=nea({exE&NSd`}0<*O{eus zhVwmyy*s}3U*b#{nfETFZImJM@K;adR445X15Rna+fBTeb-nEz`Ca6rqLt?R-{N2R z%w6Wc+F3Ja!8mwcf5yy^${jfcbKoo{Z4|FPfp z$KRi)p`QGm_%tkb11|)~axk`)4&JjDzKweB7PmHeqQ4jp zjqU~q@YY-{N0=xgzqgpLX66vLQv+>K-JEszhwWlZXrSX_0CN3CMYoQ6y4hb{!r-54 z98vt*UvJ*{d}*xvToIqi;+RJaP+Mk^Pqt9llLMSRDxz=(=v>R)Dzy`J1Fv#y)vam` z8q@Fp9PTJHygcZ!$G!hR@OQngS!1NP48~|JYQ5;>xQb*Uas0gfd#;4W`oFA!CP69E z8F8^~1!-!9NaNJErV8d~kkl#NkE{tNLHktqD;lbQPh_$RTA#X=S%~fE3p}`_ySX-> zvl4EB-YI&HRzn!&`YBj`YeiIc8WNY{SKpN%ui3rPrp=<`qNFUAez<|)gcJgkLT22V zAapjDJP|Y@O-O0_Erf6VY^*d#t8_j8#0mLjU+0~va2}VYNFCWT6VaM5T;8qc8=EK^ zIF1ziCUZEn-)(8{Ul=kig;>3fUDOCxUv;g#i9SFX7*=Hqfy_p8_>b7|LIbR|OfF!; zqM+HlOAxs8!SuYej@boFT0h^~mwy6Ut)O_&&l5_mVX194%)M(C*{0>hOszTJ_7mc6 zOHN)X@STD!$IT@}icb&MRNK{d^6Zl58%PWQCJV5iT9XyFmyhFS4&Jz;cewao*xOw` zTS`jnTo&&nH{c8>7Z-9dDQ+Jcbh|m&&A^np;LQ`*8F*P0hT1-82AFj>$*Cig{HN3! zZ)z{R#h7v5yzoaobl8j66Wshcp?`IP6yu=%9FY|@-72Ro>2_+%oE}4pV(lsyzoZY% zb|Pwm0|noL*<*p@a*e2NYqfP8e17{-+_C}65CqrJg}2$O^@00&WuPs^Q=J@vf$YlB zFJNaSp?G8(;$kep>_F>Z&j@iwt2pKxhEa$$QSp;<{=90Uy(6GCd{8g;Aasid=WOZ- zfiIg{S!Uc>UF$9`+gE;=QpmnhC(G0xdTg8GXDhkC@40U{lLUKBwO16^t-t=Yq0@N8 zUen9xV|uQ66>KK9%daKi_u3ZQV_(Y3>K4QEe-l>THr(GER43f-?$pdI6T@EJ4k=mA zudD?$hHei;PPiie(pu6Gm$G2n^&w8d&7JJwo_q52r}WNJ=;78leAPd&G^m}N>E`ZJ zG1{i^w&aqc)(1n#4B+=mJ*3SQU#EWqS1(I+ zMF@m0%O5?_js|fdPK8%N!w<&aAVFAda6DEN*DJP$8;i{3CT;_p;PbU6xV8QyIS_ho z|G=?(oIQ(SFZxCQ?Iz$!o_l*q8wHXXEKB_cQL{9wb&Xufz5d8h105I zY>eyCZ9wFndI9*Nue_D@E$-ouGofkOl5;N8o{Mo(EKelT+Tj~bfVo602n;TFA(|Sk z^>E&uzFNyoNV;R`zJzze?DW@zoK3f}%RET`lq>d0chOk8VK$QaP(Bf}TP(ru#RXX% z1b57`M+wJQCSwUlynFQ4C}3i7Ndrzx?Hxaw2W$Hu?t5yB_6Z=;Ssmrb{2}=H9Ppqe&D-D4G<7{bySOoUd z8)nyE`0l=N<_hysP|OYV^i>)*m7Ftel&W7Gi&^qlW3f8gr#!Nd%)^23osEtFD1I7z zYFK)5pr@$jy=IW6`UeR;TOFj$%Y|&|F`bKun@;A{kkgOB2ae-HJ{`8-%(E*JIQJNe^MBY+*MG)*dDXCsp|uNu0%(wr|~5KzGfQ?xDm5M{XFalp;F zLE&c$R-3ljsc0K%^KNEyOH@e1gyOs%#@zR}dw_HJcy;x_#OX!h9Wi8qZWdxsqhW2h zE7}Pi`(r3~>g%4Iwz}of zE~f2f);T%S8iu7hZ8lHGH@mMTaC!bS=LoVlpGSe?TzpSlER|^GvK#j#H>SWzJQnc# zTw-+7g^aQ@p5cu?!q=Z>k=~-)fd7PRJ|552CUA~FVx(*WSEWkpy(Rj5JZcQ*P$H5; zA39Z?(CMp*p&rn?Rr&N*v|`=*qTiQzijCXJ9?-$fo@1$mY?GHWvI>d(3WwilU3&Dv z$-ADKgGjM^Q~siJ%FB7r3-NAPg>7S`L_O=rc%KsH3;?=Pq$dDYuyaemBDh^ccD~({ zl&ta&c(ANwit7D7K}p$)t)4QC|9v!mu~g_wp3IQ6A!5@6@9};{l*kp#bm@E2S3N6s zH#hvgWNkqAui141kw;+DxUJP^&}>&QFUr6>(etl9F`n(@8t^-Dv6pXka{_x~>&us$ zCA#+|6bcsKaR@?}PJ)7DFz$A;#0-E)15*AYd_49pdRg5?WNagC3wt9J^Xsi(rdIH8 z+FVD#f=Ee<##G=&+AX~|ewc}?aQLETTsQw|pKP#5#S_2hpSf}Q)wHEuMe8;M>|Yr5 zRv9AV$=mT$y>Ok)I#pN~1gh7oO}cY+*mPfQjM*U!%(f+8i1G;T?@&?9+uSH4Jz|VS ziM!8NyVU844Gl2szIvAD!gz75V#B5aob1X8Cw)f!GUCOI&hEz(tlM*Yik}#X{MJ!J z+xU~12Mx;?kv~ffOwKoBpgTG^563b9IMeu96Vb?1_dH(EY1Ci&p7`sW1i3aNv!XGt z^4`OFIpLWqd{R||%2sQAO`#!%`asdk54xu!vNt4AmK^kc72koqo2G;q$+1mJbWP!% z(1|jMZSC*04gX`$5oW`D!D)qXS;#n6B|muuO-`>3Klx1Z+9#=yyyH(hD>51*n__Gn z^EHS9KL*6}%RF1c!k@1};yzZX*A8W#D=aZ=GR_#9`QhW<_1>}m`aQAOsn#Ka@BS)% zfvaDJz4-NSpuWt>lydcf#!Is1kY(ZySA9Iv&AgLG4%U?ypPZ;kl(X}T8%t4}wBY?} z3}q}rV{UV#09Dm(7PutT3?6f2NSn8X{cXhfDC}LdrFm6J?fKIDBV~daU>!rE>G;9Q z@8x0P`qiug;l8jqjM2S1pV^Pq(#Yd&3X$RYo-ukm8~pv=aaKwiiH`$rKQK@ZH1R9% ztnCD;U!F7>&(9a+dKBgOo~>_`^(M7P^qaYzsRMg@B#L7VI${?VX5hu)sK3+n%E_NO z!@I!8e* zQXmsg_`}&wUZJV3!i34Yn*~C-Xd$!EKULx=ECt}V~D+w z&DIN~%3I6vCu))nc=smneJSbg>t3o!Ohc(3dWF_74wlbD~Bmx`CUcfPgRA zs#ddnvg=7ZPzM#+-tuB~rC%E7N!~u38k6((FPuQJiAAtdvKZlHzFgfPYv-XPqwF%y z>$XVH=WT2;6t`o6ZctjJD+XyDC+8q!}LV-rN|dH(0|P^{__CZ zCz6zwdQgSFY-3Rj-yVon-571qH*TTHIE2;lU(YoA1gnopC_Nm81uVeLXbguGb+fs| z;mptby+&txBzEV`{{Um;VXKj`9ahlVUrNb85>ivVROcvpRWQ+n(#*T%Gwsi5uLTwD zf8;x5b5;q^Gs>1;>=h=Zu(!5lO%px}Ye6sS*TgtPAS7)5+6Ldj*ELwkfGb7E|A0>T zfSlymo|WMTyNZ7~3b(@Q0r36lb<7a-O`*){JQFh)i{3b%R;40;9W!%v8F&;?HEq&Z zWLgSv-Q5-G?3i>VNt>Ty1!1=vkK&#>*8|@bIcSsTUBP#>($B+95J~B3%)71$TjCEU2FJ~D{i*8P4mjU z1JXJ5cJp$eL_0CVx3=AiNFQyYoxiayd+(0BtFWp&!jKLVcLe3%?-8^RE`|2%RvC z64OBcNnN6ZU;&ynS{W;1NC50L@an>nEgQ-IThxT82f`s9=$M;XL9f$48;qAZ(?|WH zfaA9pQ%&Y5^G^bl?~8wXYkJ)_ZQ8X|9DD}0DrH0yGdYNkkR+0h_82he`*YfA%XF=U za5vhzRxBYT>5zA6TR~;Q8e@Nd%*B%NDe3*uXi{uAd)OR(2fdqtb2asG-ky})=#5>~ zM=zcg=`3KQQx7pSJ$Un<8dw)tuNb)Q;(p(1HR%WBAo^oMLW>N)l*`u5sJQWpD*Q5QiEmsaGK$BOLVK2Sbx})uEWJ=kbuussykMsTSXTZN=T&!$mn(2TNG$G~W~lXE zv-4J*q1@YlgNyfsC3t+s6ts>0y0^$N)+VB}AgYSrkeY(uM(?}@8obYSzDk&E6KAcP z6e6`+BhUt(1V4XS`zYE+daUAVca0vn>>=nEAyxeDAlFGnnXcb{D73;{dzmkEJJXe5 zpjHKY439{{>*QCF7W`-e@_jdd!CweqN2}fJ?Y|re|IS7i>YBG>_~hrSl~77>F$8~- zYNL^3iOQ8sJvL zeL>boJi)iPb+DwkX|$sxfEE;#(3eS3O2jbsewUY4dGT$cDSX*mG*m=yQot=;PL6vq ze(*5QmQ_({eDin3yp{M9hHb?1KsiV}aQr_n@q}*fgmF}@yY@59Tn^#$6emsfY(9~G zGZMqJ=w}<%Bt8a6oJx4y=@(Mfb3c5$J3b{@gZ18A)8f%GglJ&`c1Gbn^ky~`X(IN) zItVE);;TojOHsmVVOG|Oe7liP=6)qq?RfMdoSjYuUZN0r54ztIkC_<17d@CFxU2Ez z*ey-@O3T0h1i)Pr*kU}E&-6Nw3oPT7h%R3;r+wSpDdx@YarvC!DL0xDgONmJ&y)yQ zY}GbrxJ@g4b?b0hJi9(s_d2>NSYFKmwr7m=uCMyj|3Xa<>;)65L>ya8ob%zG{hrV2 zb;nOh>)m+5lJ8J4P}R}>6YEhC27&(Lkc&8dpA!X@#4g{;xsYTZO4HYCRB4u^JNX8b z@^7wQot-4lld7RjgCzEQDbZH-QA&#$eJ2KV- zURcNn3C-Y3yl8QA`1kEz)4!RC+)dcG*C?%xvKL*X2^XTno&cvLEIs4kUq4kCsJ=}@ zXg%$~R(UN5m{L}~s~Y;9Dmo=|fm2)pHW?>uSeizjK6j*=e+z%lihAH4GO)1n@CL^? z_AelRi2PbpmL||BSlL8)eB4r(6-<9>L<6H<_+uxKlT>9&KOw@%?mE*@$&z%h0cKS1C38 z;}yGiN{nXqSu`>^B=MxI6 z8LT-Qxa_^Q`Xu{I+z4FL3?lSVIccsS*fz> z<%r`F@A>%iI@zTVv5?W?Nwlj=TuIoqVB-!~!8cDcD5bPcx28Y%CO_J|MjH4t68g$Q z!a>ksK~DtyHw^E34z5dBeMA%}hu#McYt`6Ke``8f6$5p&VOUtIY6NP(d6vt}q5RseQU)pT#(!`09Uoadczi;RH7{K6m;sJP@;=m)AMm!f z(*EP7nc$>KmX7Fa2eYKG5K!Is6FchdcAl#3?Hesz!(!TUI3uh~KDEnFqv0$@5lT3z zOaSf`s#7M(ivkjV9Q@jjtGeHaNkV{M`V~LczVP#$x@w?Kl6LqeR=J@mI_UF!;K&t2 zKvlaTZ;z!x+Qk;Okxz|`&X*Z-?u6A)Yc_7%Hh$w*Im-epe9aj7ZVxgn8S&2{3FRb z*rte5e@XE?atc*9$Qv*ccB!~^bo>Yt3T#UZfb6&rYFn8FF03t1QTZsUK@DQ?-m{P1 z2`4!!Q;<`GzxZwacHm~};#ob*k> z{&f3)FZxyR|Ac$W&A|j}UA}n;MKhq;@eHN!-*}9#iW3*4KwCq@()WBif~&QS!RJP^_|KuyV>q$`{k{> zmnPML$9rtx>}r_HiH%YilO70ucdBA$Dd>;N-%dS>08&0jf%3^cxMc3J5(4>exY&or z7zmWY6i*=PK1KlyJ@<6q`JKrvRp}-cP;=OHJHR(z54U&Fhubu!!AW#dx#)S?HK;A) z`3x=Rw7KnUZlGT{aQa8<rc-nXd>0%`RFC}X4f2pw_=^FET1)qU zAU_9b%NbR3{?5AtQY=cItKUi{Y<{AD$m`;|b8BV!8YC!>gE=};x}#xq%waZCOdAa@ z3N~zUd@QiroEH4OMGyqtpS8j<{>`TEKsXD%9OS7kGdXI)}DzSM<8pZRwxM&mZ>i@mVfvQ%_2TZLKdF z1$-l;lMOpaC!Qq7{XYvJvjJkwdex4v-Lek~^-jwfW{SlaR6&jYFG|!XXUYRsm#6pVpQyj!^tfa^ zK~V6<-ytsJq-K`9Pj-?p705cS$$Rx$nB$;pEC_g<~*l$LE;zeTt)KYV_5<9hnzw^39vXeB2P zRt9@ri;yfQ?IN^7+q5g_grsY}!cF0uRiEl>hFts>k3!?O<4P_3exzIb<)2f4Yn1ws z#Z%qw_w*wEmRxTm5tdwhY*fdzDT1A*{_!0#b!Ys7-7fQgT>UD&vi}oB!LviY{(JEQ!kNT;>=f;KJR8p<0HMrmTtiQZ^zOIoRj-NjCZUP^9;eG|6svzGn zn`A2TX!1fR9>;27&mlsv?{@5qwH`;V_7&3I?$PEgfHnweDH-Ku$bZ>~^`bmtCO zY&P1EpsMJp>3W|p+Bc=ePfeTz_o_290(NMTekQQ|)$#)%QCPl@WY*VKK<51Fg)$uwcug3S~cM$DoX#SVH-O4RiCj`cY5AV#~T~rU(=OpwfUh-w^(}c^2e%t zgzMG=68zgk&2GSizZ19Ml|7ak$qC%A2px90f9 z9<^NeuEX+10ee6fm2PcoP&Lfzh*GZ@ei(9xDy-?Z1Lu%y2+R8~MYNytWErc~z8H^Vtt?+vqp7DPD7<{~gy4D`!RwDdfh7@BZtnyw z{1>r@Wv@n{1BV3N%U>VpUEy}#bFI?(OR2ixyn{bZ%?#eWuD+`J$!zR>*M18ML~ z%i-xc^yZXH6{H?xa5(uZIKlw^S9L|4>7-rgbn$aSiS>>>f4=*0|4zklGjz2hTdPjV zSqus-Z~p8+U*%-Gqu?~0W{}dwo6!PgA$Lxf?VMV{+|qQ&EftzB*!HV{KCSQ89NaN= zYVA=UfrQOZTmY+`O~-3S~R9XAyXSF5w?_D`(c zcpxC5jN41+<$YW9D|_p`ym}4<&reNh-z6myFLHyVYSekDZ;V{3#3ey;ovrX)u_2>) zS`4Gs0stJoY)j`MOciO<%ZJsgr}&InTNav`U3YKa^92inG`pYhPeb47(|AAiXc(hi z^Pb*CtE|45T~anLc&wN4y7fILix&07!%v`Ns&hWZ_l;bsA@R8L(Q~DakgqgTlrN5c zH3N;iHTIgTRbZJ%_SV1YHzrv3g=*nMx!x0scR{M5h+*fCDU(a(g64ZaMq^5SNtMIx zIL9-d{&yDi-QtdDmn2CI`n;qBWFH~6QO;gleJXX2>yFN+2x5~HoAbS$Vi$-x;E*!Y zZTDj7z6tWM-3-TcD;&@i9LM%bS8w)b!z;T*L453vY7FjlClOm(B5d8Xz4TbtpTdR| z%4lJ$US5Dl_iIZauI5PrFa8axaq>ggjlP#!b(+92#`1d`p>)3DYoRqljb65b9KA;P zpY>Fo)V-!_`3c5*=Gd|9LL3rO$iBYx%phptUu8|-1(LmkF6&ZK5g;G%C~9MCtJmni zAlMogi=j+l_xP523jNSOXTj}%66OO^Jlq&&@8C^7Tv2FQ;-LFC2R{f$ekWrE4t&b= zUkP>NVEePBQnl3QI|p43+tKQ8JBAy@zh))v^;zGAEwHM!hHLWnLrYy!i@NpyWkV-) z5EEJ3a`aU}&D$OGlMI`2pa-@gU6ro=LO0)zgmK9G*HaB54#|UqVS1QBBKXn`BeX>N{n`yJ)#RA&cWZ40^ zd`glU^;QLPHF$58+K7B)7Sx=+wNyM-)#3*O8@{(>Utr14O)&Ce^wq*_y2DKTZS@X( zzmKaPxTYk9YUBf-R{_ArWfEuz3eTc#}-;iPCE-;gc@hi%;ROC zCMB;vaPQ(-d)Oa+i}^*K;)ztbBKtsxV_J1(J(>NQvG`goxH&?25oG)PBSsjrGTAHT z*Ht?dfpq{Esls8{yswBZTGI*aWUQ6&jvsj}2OC!npN{Jt+&N4s=C4v@`#kPs_zGkB z^>jtzcR8H(O-)s5yllNu2Gu=7mgK1uw&Wg_vlF&jlFI?6Iof#2jR~0Mk)P#k1OAgP zyhi`j>l-=4oo)!$(pZ9Ap_d^$<+c`{@3LkoyWIq`J^kd*I<{5*>kaEryEwREYuGr! z(`DcyLi9!s?{L2zVcO9^`%P;Vi7uP7psRTiQB>M63Vy5(i|Dt%X0~^B9oP2w&Y?NH z2!xz-G5Oew>+<+8H&viU?-oyS3@G*~;U2jAv_ImCSd1~NfTN)z_t0b~Na^!p1xE3| z#{9VD^66xMwUYzRY5}eLmq4_9U2S77NH*UD^^C~p1aFrBkGy4l^#aK4%a9Hw(*T8W z>YGfZyxrOE@Wtb`_=3h(DKz%(ZMa%hi~QL@t+Q}Q{e)r;r@oXI0lb9-zkJ)UA`?G# z?u*TG;O6A){V3+=Vy(uh_xHoD(>`2eD_zybr(>FhjU1Afy4D7ldIvUFA1PRYQ?*At zl_c_};(}`7(Kjy3zcwWw@&{`5RgH&#A%I9Pe*~-U^vz9`QM&~xs&zliEtn@ow|82v zS0`dlXL&Zf(86{2;;Xx*D!}6cPGR@!&JJt)wOzuWDR8_bm}$RR)MvES)D}(U4&B_p zs0Q$sf;&dFHkeHB&9LI*k^pfguv3W&-2BM?Kf`n+DgI2BZ?Lz~$%Bzc6V5;4Gp|vZkDJbWN+27~ zykhBS?k^hJgtT#Rxe9`NL;Z}o1`dTGZ%jNJ!olu$iSPXInQlyDbOpG|JfNduD9L1e zc-UXvqGU)`DEHy-0PTwrfpk=U2UQIR&eBI(Ly>>p@=&^LkK;5&WKMd?iC!G9x4;op zG%zJ^Obpu%H>q42t#1)?9(xmCZzXMX_X8D=m8ip=3CE4%$(<>nBrW}rYvHLH90+aY zp2b2f+139_dxb}13JCIY!gGD5^dbq9lv>W+C7(O*7r%ia1%o@e{;N-IccQxp@Xo|T zBmEP+sC87p$x0FDrz!VxZ}R^}-P>D>{CZJZRgS;sQj8L}d|B#~`TF`Z6*F(cpO2;U zem$0!5+q1bMvl2~WLAuF5@04tzCi7<+;Eg&z521 zHM)sKH;RuJ$DdSjp}C`S2q#J2DEUf|w7uV`K_fhTGcB9Ds*r9J9(C=d`#C~6QoSJ^a?BUX zx4cF=FE#$*_gBW@yP@X>r3=T{5QJf?u|VY$+_}A^G>x3%dm~#{cL;$zV?AFZ^E4(- z4s-W`)fHwgv_Uz<>lYLi?N_gso(dvD8UT{~8>ipucUxK>^G-g4$6?jmjB74NOB(Xe z>zrk)$~Px!cTPKMXnwPCOp>+Q_&=J?{gKK4f8#}{oGRr!tH>&+M2=&LsGRCuPB}~{ z%K1FZ<`7Fx;Ufw|DwQ)iALhIeBgy$Nr)`egFx$-b^~?7UxPQA}_kF#t=k>fEpM-oL zQSKNa6f6~ePb{qdV%fKJ0B1&NBB`?6G%&v>Bw|EVBy*EX4lU|y6jgE^>h`CX7s!aD zH)lRri#ZJfe%^8J8cbE|PScw?IfD1P3cZ$);{L_w%82t&)U$5VRl57VZynU>)@x6O zUM@*_x#@B{#5V2ZDza|$?`9ZQl5`^1NU6`=OZsdM76rjx^nnwJ!aOJ=ddkUKQ+-uC zftdXL`5ztR`l8V6&Wy|Suda-}<%TH(HAm}0<&(7W!tZX6!{TzMR8p@TEC!q5pM7m2 zo&Q}$Vr{x;>rDOW2oeP}f$JdZGtS4=0NOFaTa$_+B>~@ZYTY!t;;Q& z=lealtiP=iAsF-bf~T*+09R~AETeS7`6X@*AuW;OoUN-*=v{safs4IYZoP|@sm*#U zqziJTR`d-?+)8XCewd4edUbtp(!9Yh^Iz=ykpY#TP{dm-BLngE=86YSpV&LjdkjDO zcKqSHxw}8w0wcW$;_A1bATD12QP%QYH;m9d?^aSOFUXePus#T@Imj^&ki!+{(8JA3 z4CZG{Gg&7N43U%%&6xE#mkJ_b48yVa-JE=%YKBF-Uo$=wK<9mEU+pwW3E>uuAg)6Z z!;Gwbku9;A)*t!lIW4LkMJnuB8ErD5?AYF)n>eM&ND(mZu-SbklC_Ni-#Tbo^fuDL zz+1bTD^LR`j!0sw<@YbPQA@TFv(&A8PCf4Hc#d#y;%2q4$!O-yrbm&aP1fl<9qj4Z z(EU*JcWun^`M>=6bANXXBWPZCFgt*Xriea%bOhmx`TPMQL>R5asdL|NtH&y{*b(#9 zeGhK78~`dN2MW#J**!n?Z~5PNPP=?f{y!j8hgBdT_V_v!@nevAA08J~Rz_qOTknJ) zEgR;)Tq(>-3;U2|mBFbZ6viKW|4LYS?y|}2OWIEprmv5h959;25Qhb00}fmX~O|TC;^L>T91QrTE#lfK9LST^$(Y^r-`g4=t5dd z-n1-vSF}ZV*M&KWjLP@T{|StOj?1y~;pD;{wTBWnoZvG_u=@%Ij1zfR-I_D_6X$#1 z_P-xb)Xcc(((%Jtb>qWug>O0)pm#b7%If2jx%^l3zo;+G-XQ?!5+OpXc<;xLe=5k! z5OoTZZ#!Z@CgPa@o3^_~0U*=h(F4x8*KXG9SG0<4wl*ak%&*1yAV*%;A$A-YIska9 zI}dVax_6;h1jGqLP^BWOWH4%J%DA0cTyS74kX-|XN8)PO0V;kk+aU6$$wzKZG}bjLw* z7Mf`ExakhUZ$BkJats~T*q42MMtxrNj{YxP&tU+~%TT`U!q6HL?^uy@sQ;g`-TXBe zQUBP@DPAeQ-jQCP^`ajR9O=?6PZ6$;g4pR+_$xx5JV!!ARH3)xQg>G)tlKrxk@Ym8 zv1vh9Jo2aJzaPK-j|fczA~=thua=YDg8EFb40=zc@V2MINbjAkv%L6w3A)H;0j0)LKUt*a2sTmrUk(b;j9T!ff?d( zrmAak4M=hbSTFe3N6Hmyf-xK9F)hV0bF`fBCz zggn)|A`CI4whN73JJ}det~nbrOqxplnKATxylT7l9;$>Odl3JN__okLafaz2)S=z90dP_3FQf-GG=^xmd8b}Co@IPXOe zuXuvb@7Cz08XsB)-;6Wmzu7TN;jR3nke<;DPtC?GMUdw649TJz=-q6Qi-9ymb)&*_ zjT;1G!GrhXU4uAW=N-hWxgzl#2sj zVGxs_OEcS&Y`UV<$0pRQf%CYbe<8h3sxDseQhVK(#HRjdOsUVhWMy(cc4gV|_G8|- z+38-T8I;{|zjOPigj^PvnsPvw=(htrfTO9~Fx$?P=vTO7iC_t}$rqKx4&3bt@!!e7 zQm=PWb7eKUd2s;_Ka&|LvZftGfY3qt#Km5jME=rOJ9(4>SLhkui)qs6QIow~3qmjN z=<}L0I^ik)Bwohn4?a?hij>7yeb>VM;=OO)bHhcM@;=o)r54e>Ga67$IV-^CVaWrR z@ZiK1a^hCMh$u4s-#LpFY3*;%oZ5@?`^$)8X0eW3FI zLK;$dlsBLCV8*gNoM^I%uYvdAY1&e_gDDgcH&yORawtYz@d!PsRN?D5zUxQ&z2@FH zN}DLlSgy%A_M&LZ=LgMU?o29SU8u&L{MJC<$Z}eKnsWcS&TqH-E&&@ z_Rsw!8Rok;yoNvpty5O03$-6>g@q%a6ziS7auHjzxf3I__QHXeocPG7&E3!8My{y|R|s|9iSfv1Cnh>BmWtjixSs*IgifD`bs;mZD#Hfk`!~8E47RG54$UIU* ziu~t#Z??G@KEwS*)|fjatTw>gJ&U$fR5yBQ&KLaVN{B8cI0*0ru$L+r-~x|4jULEa z95ANs@sL8rX092brOi)w0?}(fakt-bVh4*etXiUbrm42UJA>qcdiO&szA-z7AGJ&V zjW3H&%L$H;`|)C&DCA3LpaQf6|8_O#m=kK?zBeR`6=)m7VjR)n(UqVJ=br~FAV>8Tb^)r2*w<#_J6BiY|ulMe-3 zZTpRKt>uk5R18wNZELITuxxualH4Ucd$^|3M%faZXH0qh$6gQfw0?nT%l|ss9`K?v zH4au~Yj_!Fc`k8C|A@*)GiE{$zKrjmtMom376*yg-)8TMgl>D@F`gXDx1D8-=fmB! zLPu}1{Fph{4O{5EZuh(KC}bb1E_5T9&jW&kQs2elfBAk=1^#Oif7w((4TpT#-oEm zropp3o)#X+3mwsds^<}mN0PC zjNeM)%F?cGz7PQdU-dL!ZIugmiV3b4TRo&8S#ovnec7WZnYB27->{wiwh@49HBx-F(#mKDR`XFUy~BTP@D< za41zrh`1tmi;XWIpkb?^P*ecm7Bg5U-f8h8(h*5o) zJ_tGF%YdnypFkEI4Y=}=o=wyR$MO6kx>uSG*WUIoqmmUWOYSRWj_`jYXmbT%w)0<|OI zJ;Gisi?n#5x38xzaGUG;F*27

    +BFD7}>45hpz>a8($6G_`;5rGC;V2r(VBQ_gd$V(bLpgfobjex_k8zi1(a~ zj$ld6Nx}><2e?I}cchrk*_ETJEi3e-cxa?Qy-Px>vs7=kL4Kw$WgHv7ZZ?c=6GOmr zXM&dJ;`Yr!T56=f3)+C*GqA}o8nDZnj+3dPQ7I+pmIa}d9tuAC6s zTOl3Yd3S^(4R)3m( z-_1L|yDq1fC>(_6yE%96SPOg4>^hpd7kg})$khupLp|v?N#d4-uIK#7ke!H0O?hFy zt%6C5U_XVNAW)rPO6S!iKY2>Er3{5imM<+$4cAMFKYkLVk?@BRG{@-2KQR6o;#9?+ zJbbmndcHJeFC;z|#E)iyY<4hR!b+p0#m%}0zL9~OY26t*`U~+i(bvfrR5O&j^z!CB z3ZSEOt)F!0`|K@Zz|uRG$L1@MAFO4w;Xj(6$Xg$k+pgay6t`yMi~OX<2eLKTXFrqN-?U@K|J$1U1)WAM87mJ+BsS{nTcMxP@-|@7}XvB`L>q zZ(A{Dr1-E3aM#P>R7Hv9R{?0)U`k&YXO!al`z5|-qyVb!EDWTrEf4o#s5$eNmUw`s zYbp?%pFXvfWpv|7eU|_`i$2f z8wU^6V+A~Mmj5#TdNJ?MQ=99CQkCd0t}-QucJaBbz@wEhOG0fCA2u=iql1<@9}+q) zJ?aa$t29K7MrsQvZY5u$1jG52HMFQ5o5C~8R%xXh=Jm(Qa?Y9(qvl-!2jrCcaxMYkP%1XGi}`Au|r zn`tmhV1~rDGxL}CDzcy;bcf$9tK?O#a%y?fxU5Z)p{d@?^8DUCtE;JFoI~URgxZ?z zO0c;-&L9@={9F z@FA~rV{QQEtfu*MPh_4XZX@rV=?GAN;J|1NEF6Uj4h;-HxJ(J;6`^~c`A}PHenFRz zEB$DpwCKxngI4I$iNDXXStg>t-yO&F3G0Z*+q!II%N+OS(s(m^DMlB#!c_p*F9z+a zUT`YA#PAqz6{GvP9uKD z|1_$&dLZpaspAFG8)X6G6n)%6Of2xj?UA#4_w`uOh_9y;szcJJ<;}Sf#uw?`(}8H{heJXf&+y27A8i#nJhKhHoc_H%e3x%lpWnhg2(I1z zj?Yj(zgY7_FZwg=MPFz}LY^;qmMv5E+8%XtZe&cRJt0GAYeb8A%-`*-a0KabCGXY# z{Arx*lsW1rF$Sfij9fI~?PkX}Yw2mqEyuYkoOK?qJmu9d3~VM2Gav}zp$tXwGa4Ze z5%{l=zWcK}pUAoVu}d~KpGHztp00e+1L&3TUjSz{e=YGmR^p}pbsZQ2dJH5%Q4qa%a<_DR*eWX7T_ZI3HCkxLkT3YrdNn_h^s6XD-+TgL6JW0pRRCpE8kDCd8% z0lB;`?f34|Lq3%zsKvrQ;anR&J=!gwQYaWJXVsDm3vBCM1-*$b5oee=LXy{Tgv z)?5FBb4C_hXf-%0;aN=s zY0!FI!@t4U{@nP`Z+aN3OedqC4z{|;--wj}ZY}Wkoek@X&D7Cr0>T{p9PUCaMj1hj zY2huvdB-F)N0!~Mp8b~iUNzau$1Q9lqzamWSUW6b#O3dlbP3xxYQe0J*opJB?5KW~ z2rV??T-1<-j4sW7sNa`vNfb4#(q%H2#Pm7Z5gON;l~FvXuiy@W{_f_@<(8tN{ace8 z?lcYob71?*a!Bg;G3?~5ydH_nr{`i|G1acs7+RR8kDkBoh*-Jes@m|?WAF~;$4RI> zTKCm+YR$)E+iAiSo2REO!F_$lmFK27-HAXCo~`|(SSa`AnLOCDr4`$zh2q-r_vK}h zG+Qp#u#yu!4k^ZE|6LW+umWLO)$?!m>xp)*J=J&i>fmc3ZfYVJ=H@iSWk4S900d7c zdW#;r`{u%+?cF3aBhTSDr&o!T4O|d`__fgQ3eQ9qiARmcjRsS`CpSoXdC!19A=%CP z*RMDw$?}xuXtIQP!9_4uu1K^7a}t6 zr2vX&n4M35*)oUR_eF5rY1Pfh11z$+ZoEf7WWgni?++m2#ymZ-;l2!2O02EGL;+@$ zNP*uS$W*3E=eX5zzH4H61oEU}E1&A$suebV|j$ zZ6{#JQZ&aBO1-U)?~z>Fx%-`T$7;Crxu8eLCy;F?yeK0^!QdMq$ znBcA}hX!x*7a-Hgb zEQh6>Jq&~W9C#y3Sywt&k3GBKfY@X?s>T zKEud`TTtKMTyqWY(MM?QaJunD^_qbX&aNuQu&6A{SMG5KOx54JkX0WRN!Hs-SK?3p zV6bdMiHa^I1Rh8|fkh@iT1ls*G5$9x1Z3jip97cVBcCk(wEG*(a#ZXSgcElYnDuAI z-p&zp@hv_MeLE~S1}H+wI;PF%hezn)(=l;DALC(7Ja;b4Gxb} z#1H`|-a1(R0qN!To1s2}kH+TuVF>*Ml${%4xrm=yc}?#M#m$KGOS-zhu5di0pK<+g zhQ5^z{WBh54fpsGmy?@SMp~`LN?@gdA00;WTWi;l46bwrZloDjHNtPJ3S;bC*U{$J z!X>UR^whC@%2QKu!dyjB)##Be^Wvl}Vo;`T&l}ndQA--#9Lg~1S3FeeNd2alPE<+4^UjO;R zp;nf2hdNs8*=u8A9|f_cHsLnh$m7mMD-bqeDUX6u(|VqfNfAQwZx!!_66}I_+I6tIs5T=PuF&_V0F3g5=_qgYs)%ztFf0$FzPPyy zf(A)eEeVHajRt0olpj?kLWrNul$ZFuTJ9x{p~9oQuAKFMz!E^Mt%3MHyz;snj{$I! zG+QoyE)Agr`iJ(lk}}J}cQahzl<%`?&*PkH?FRhv5kqdlT|0KDJk$zp7I5QiVmeE%XsaAf`EzfB$gAh;bSMl4tqtqyOUyB&S+WmC2 ziMhrA#xo$2zg`(ytbkBj<&l|Qr*Krh;Zs%ex@whD>v$tvD%6Px10z4!pURK7;SsCe7Fknp54f9mL8njAK z#jUbJ!PffV0o=!zp=%cKbBli0-x6wuPN~`d`95)L;T91*RWL`9YJHTg*e4_k?bmJF zweN_ozy}xyPlYWH(MEM6WgqG8R%moot2iuGG*wBHy>!C5B_}EN)8q!&CvNZM4sUXa zF_N#g#L4r_+wRuH){^5|l)Dhvl(X9&5d}j0b!AVSV3UgQoGOQk4PM zARjjR|0T$Tr9uZBCqbgdYV?N}>Irw8hc1M&5OiOS1rc6K7G1K3y4$@^+@7Ns?0lR* zEO7sJeZNXcV0!z1>CEgC)k-p5FCP}qq1&odfa0>bEmCa@!u@LOGyH4vCIJZmkyxg; zjsa5pVoXhQFaE2ihF^b{M$`r1$)6IY4y>*|+PcD$eaiGkZQZy(b1*mCjZIlO?! z!%ypq_`yL#2#`j{a6)bvYh%P`H%hi*^DPhiOVXfKG>B6IrF5d*nTyTi7~0)X=!SNW z@P2k;@fv{f6R(-~v7i@%AWa!vWWH-g=fE9FaKksZAoy8jiK2l?DdM|6q& zT6C@sF&p<0FGULDl;x{Ay=EjDHF@Pvj`umo9X#dD$&z@AcUM-Az=BH7nz6csFWyZI zae0N&rxqEjCHD8QrEQF89dXooWpER>&xLpIeY8LsT=k=WUiJDCi_g5Bb2wswNj!bwEDHdny{_Me?Jeu@llU#mrkL zqw~WXNEXv2gDgBcGO2NyxKNzc+t9PN!LO~pIXT`v-|GO#2g_-s7O!!KbR^e>;KfiH ziq~^0o}>o1RK~D^_IyG6Ty=eugm}OVy;;7teN?z2*I{fawN!&Py=U)VRn^h+IO(@& ztpj>BwIenT$t)|A<^xW+>V|8v-}tgi(b=yraR)2UTf_PSj}d_!n33Rori4Pl*-y#A z!<)X9n=8>PjY2|sudwlvdwm$y+t|frvjFKi%VszJ;)bG^j1>6tLnQp3%*w%JIm<|c zk_^;&lkDwRbgKyvOHqIvyZ!46BHScKd6YDUSn7kno3DDdZ0oZJgJ>I|^$>)oW}N8x zmFV5qCY!w`D^t>Fe?J#XJ(;@T%htJ))4BIk)Q<3AhvwF>yqbPN+_{J$?VLEs3GVDR9pi(! z?y*-Hp-Djju~3fLL+@Bn#geQkc+xs}xncK`&uq3`@Ls@0hz|3V2AWGkrkD=t z=AQe%ZH~-aHEM}2Q#+tIkxhKAj|PwKQ9J*tGRfwcK!uwF+{J?Ip-(0^7FW9)T_5>8 z4jc(ob}tpqb{MhrWX0U9V0$+pV|H`2&=v z$40*W&MmcFjMF+?g8i5!zcbBY7c3l(3Up2QFdI4hh(jd1%YLL^)imr7n_G8E?jCCK zB50;js)HhQ{M|xrE3ZRI(VrY=ab2O_V<>}$6M}kgPmA0kJM@JH*T23kz&o}YkUeU> zu4VOXK9rb&|78Gs%jH>g?}nI)UuNp*cJ~=KW0H6*oBZlX-zL=*plqNfJ{b-?es@6y z(j7rZE>A03w?z{x^f53RE7scC_+BnyP2w?GEn`cZ9a-c)JAU1vJ#&Wqi7Sf;z|s zXoadKX9_kcoK4#8bMlA+R=k@e7IX%SemE}#U0R7h_@+E-b<2Ln@9MaL*BMElpqbm^ zueeY2Racii;GN-&-Iq46#7eXbYih5?dOe9~z%PPo9)W^Hh-t?wE&*EG7OXKhW9qK3 z;ob!w?H0Yg<%Jl2ln=Zs~|Fq>Qv>1>i?eE*~$v z^k^{USzI{Vb2xBx;8&r|?73@NAqiPEH&1M%_}=U9k}W`!lWw;whZ2OWL2jvH(*c&p zEZj@_-%FiP{6K0nY+RKr{q<}VU^WJjJm)QVUBuGO|CLId_9GR`sKo(YKk4YD=?j^O z-$uHQ2<^R+HMeXxC+`fs>%#+v;HMD?!K`Xe=T@PD+GzQk2q83vp$RcmY zvHJwD*xkvCke{#A^ssHD@lCvMRZirEJT{eV=!2wY znde=&A~mdy<0IEkNpkBp{dZ1CmiHeE*l&TcIt$=u^Vz*zo7Sj{*D3+Q5r)M1xam%2)n~XVmo>vvp7S-g^(fssHIu5d} zdeUiP)vg*yPs9ycj_iCVO)ZB0oT|u=FE?+6g5U7~m*?nT5BJjf!vl6ALsHo40G~?v zA{ck}DD7IS&iv<|qv24pWB2(8pHK0SP%}wz16~h(L$ir8UN})S^sxL;x%=3k`*E;* z-1usGpk_^Uk|ZJ(2x0xwtXq5B57F`!1L8AKlOl7juG(_>Z#BR4|Ein`JN7YFS}vM&XwPCr z+Lq7jtePZphW7Zfl>GDoJb`dLF%AkC98r>(-meumIHMF$wz1IATj}>n?Cq$$ZQE}l z{Y&2uQ@$B@xI~(CRC7yMLPNYPdE1ajT(w@)T~em9a#GH1ei;cZ)}ZF~_8oG`>mpo$ z1Ivj@+E))Tj6FV%0X)NQ-_XI-Vo|J3e?PyP=zC|zPnL7;f*L%zJXCLaVUa@*AI*SN z&|P>PQBlXyUQo?hqv6F9(P=)?%#Q}c8T1|AOY85ohE8+|4uz^G4AqaryLEroA6 zyUh-H?9d`zEks$XAb3^@)1zjm?D+9wy9%Nk(Cz2l@+jiD2Suo*;KDGSMd>+HB-Z}$ zoA9ehV=&%Omwh~I&}Z{nQ%$VG1e@Hq_7RLM*N>; zm$bCqSjRd*di=z+;3hp|o=Z41{1-aQ3#H6?grvD&`8g-6ZsB+M|*3#Q|F1r1*6ESkwUfRD`L_h zo00K8)1W%$+Nwf;>$g_RBAzeQjE`Xk5o6rN`|M)=uoq#? zG&V5}>k$4lGHCfx1LZ!s1o^KQlC$s{s&KJLalz|ikeGi}OTtvg{JY~HHuxs`O)yE| zCh_={6D|3QS-|&2LY5#E4_q&mUmtgC2S2$NT&p=rf;nJo8nhU%^N9Q=%OLCsp(;T% zBVVwn27X5Zb{U59D-%9x^NZ@rEUo6WMoFJ(l&EZt(-KwBmG*-zGQDm@)p}mHJ5;Cov7BYVwnf=b1FVBc(VIhY zzYC+c5I$#s%B(YJwNckfUE#^8nII|qrPM9+x2ICnh!1>K&9?Brj=w;`{Aa892c{NX zkDp~T&Y^7(yD;^)5V|l2RlF2yBJgvDu`=az~Px&ZIOG^XBBz{ZtE8h?)^)|u6$=} zLv*x0u75BhHfBL{;r8V}%b!41^``>8CsLHAI!>h^@!m@tlPR1(XJ4*9+vL-E5ntb% zCWR9ljHq+Ql5-P3E-bVJNj`(z)f3|?*3%#_mIH0URjFV#&UYu5^F=j=!9FBK<#uaa ziY``DFQ_e1i5_!9qLO7$On#y-CAS~+U!(iK-`k5vU-D;l_mS%Ujx7tR8_H(y2aeTK zpe8%s@Z+zzi@Y|u$(0DzHNuUoK^1l$G}J3|rF7}kby~Zyc7@K0mx*YAS-D5y_gKKp zBO=~(+RGrSqZjM;kGHvPn3{FmVp5wgbT;{K2x0kC{YIe2=u>jfq+UzM5W0i99}Lq( zZ{+4QyjSbBdA@X%4?%?jB8$ftjw9E+)aO=m#$0V*ry6%YsVt-%)h2aNYU+fmcJN2>GIKAGZ-4csN0C?1TWc<$vp{~2va z{g>ifxtlbE-qgiF!0|6M3Z$@BcMrP1?hFskDSxJ)cuCmV_@lbwp+Gye7L%;9Fveh| zm>+mu6rJgiWe>?6KY~ti>yKkXy}l4sWpY9FQDdA9dGi}tY!hVz5%qD@WlSQ z7)`bJhDGN8CFWK3Wl?Ucx(_P@J3cEKD zulVphQcI)9nI260dCia5p(T`HY?YEtVIQ*VE~?m9OXEBSRXmLdkZFR&@U*BZI;9B9 zy>FUq3#mUGSsxj!qKw4lJ{hee8{>@QGe#M3i4-%dG-TC>l$Pa<$BeyaJfnZf&G4Mi}HSLNuxF$BUK8 zQq^B9Licn)HDO z!ylrXZZLE-ol(}GSm__x6`}7Ax?4j0dx7IxQ7v5w?hBMIADGn^5Wq*58A=HieBWlQ zB8P?UL^PRwPC9xQrmSKKc$E$^D|n;qXvugeh!!SW}+-qdfFYV9*jB`42INpF#FUh)m7 z6ojXGgHLh!I${`C4BF*q7a*$e-sWQ9BKOhx*x3lHxn=jlv!Te4cL}I9Y@I3$_QCUh z%5xQCS-d!lMdjOl)7b##m&vtV%P3clD7errkvIbvO3Hkb#fb)_&{ucH>*`o?5v33z z75$FR$#J(i^D-Ee(@2dyK1b4QTUA)%&o|*KvYV_Wga$P@JnouovUNgiw!FaWYPnl> zj$@aWC+4;Db}uctEYf`>KR9CfBz|^}(F`~SNDbiEudB*jIFf8vNB^JIcoLNBEBe%B3H zmksu!C~YkUB1DM^dQ|-{sgB#-fl>YfmZ+iWi9gu7Y}-kRfiheQ9gcZlAjFYx%BVW$ z6f#0UX6V7Op(&P)PWlNKB`FHNgS;I@kuK}Y^u3Zj&TcW#2C~JZn&S8LcKw%D$Ob9j zV;|IAGf6bSKN8SnPdZA};60nx&is$oyj5{-WA`t`t(4s@6OMvvE$ByTOXlqfZ!rsW zXMaNATo(`U1R3GH3^9n;iTy&GgB(S#*Vt_IwzQvy0MA z(7_f)Em)tL{GTl#`;j-Q_hoFKMV(-C(p+#2VHX61FpQmH~N0 z^K6=$#+8?R_bb!?7f8;zZ8saI(18EEOmFG9dG7hQ$ND{}#FmW4fKaZH;Nla=E&98V zkiiMN6TDwm}sHcv~MAWShub z9_Wjd)F-HV@u4%9;jU(v4_B|KCY?c76e zk~bym=^y`#ZrMreuaLWu7k~NfZJ+$op3vb_z;j!rgR6dcl#fC_Cq%mNipmkte%DG$ z1KRQ$)!Nmt+!M6)C7r=crd9DY@6Kc6(qd)DM*uC>+bN=UFsFU3GZ$ z+6{qPS z@`UJ5A62%zKvW$j)b?})J&Zh7WK%>bGy@=5FezcfLF~U)z;~qoqbpE@_^h*vy~T6N zO{Ej=kVr9+jbNA-LQZdbC`wLicgcS14_UxD70h?eORG!wAZ{|yX~dX7KQV<(UH&dn z*wl4!#8<>?vz6WV#E4@)V6z&(KQA|bi0!yFEC#ndDzS^UAUif^j0-DOO4dMHwD!`i zt5xRZcS(uzQ578{CCv5Cmxlt9nLFkU!%Ndas=7vOSmK0ErPM^x+d;pY53V9JqY=-S z9!>j=3g#w_AZsH(CH6kYWYjO{vVXc0c?NRnPp65tdI=Q@^-C$dQ@2*Nc1v1DmPfP7 zQoTHyvYP`sgWd^FR zn~{K73iS%A+1x$9-6Qq0<{9gq~`H~BHlpk$J zqE1~$0S*7| zAD_mkCHMza-cK=oLH7G^j-@;qI%sv)e&T<=GrTqoZjlfj7#x%^Hq z0tA2#!?a+8 zIBU7&ozJ~BZj6bmQcCQjeoW+FiP!=^_%WnATo36X-Ay1Gk5V$UK>rwa7_S)NDKeg~ zLSvJnE3-zhn0{<3vb+XC3p)j+%+;2BqEc?pA0eq;Dxi)7G!^iZwVGdsEvdgPm@Pw* zLi6=nj`l5DS|V|7&n)5BAywOo|J#KLVKHzEA43Yb#>B_;1LkD^BwB^tQeb?oyBG4eLpc@2UCg-fwiFexWg8_|vWjoO+mdY57exaW^zB{Vvyj@%h z$5!{AfjPelEgjFj9VJ>!4xtu`hzt1n?Z|k=r>*rV@UXwOFEnDxfsFsb$9*B!VB2#Y zh=7~S&HP0!nCEU!G-8J|C|G@OUfRb@CU^b=-RT`lpuAT$w4Bn#;L2}l2A_c(Xtkq2 z9|oq0_x|4NAo6;_jZGek2tAImy$5bL6LkjoiWp<@&z4r5{&pp3 z05ot0GtF9Xt$hXbxinu3oyN zG53<)0k6VZUOV-(J-r3qRnB&};h(I=2l@&b>4Dpb1jU2jB?Hqv zS5HgvFn0$GXw^Zxdl0Y(ZL0@o|9g?smq1|L$0SEwDARA_SW1W- zK8=o``4M*i@eSlxEsDxKHnEr9<_BmRg^>+-qhWN8wfLxRe>NW4+xq;ZL`O zOgjy1Tcok`{!)VmUet?8=;Vm;fPm0gky&;jux|N`Np`Bl@PrE39@_m;wP$~Ao?&>D zY0YOH{2o4#z82^wzEhH_{UQBtPi;dZ1Pyj39)-yl%BG?RDmZ>7MsGEOIye%1J zm=`n(!Z|PdenfM&z`7Z-^%SQTs?E+4b#IZ(D%>Iu%xN2;nUh=d4W`$A-3yROS$V{8 zoxg-}lQhft3%&2Hm(p0y=rFnU1{KElkE-~}MCIP5f!D6rr&K4}ykWgq$xhFj6}(qT zkY555j{?d={;M%-Q+f|%H;GlO2z@-pTok)E0t&Dl3;npFmOBMlVPwgkRhfH6`7+C2 zWP_Zst@tWW9NXC(8TPmEu3i+gK|KH8rH~fs3H_S3EMKwF2>i}<KsXB5LTXjo0Me zf(PM@VE-}8tyPJOq~}1+M^p|3iiw3Ihy#54*`Kkw0rQ=CW*0EcAPb@WZf3Pm%1-Cm6g#@5cMH(T zki8@9X>CX?KH%FsHbS#WE)jF_IK=E-Ey?2B7Yew$J*eQhv-&vRvCR=NXTqC_?Hhqa zP~v=dq`onGk~!lbnLGa`dcH8zocx`~*R1P?kjM!evM_iWND16gs=}|eeXkmSU*!0U zdoxATr_Cev=@yjjFyq)|w7+INq}p~kU7w$HnOH2fb@BgbI`@Aj8~=}2isY0OO01$( zxAXbDN|D>C^0_0YITbmLIooVW83{?DhE+pQpe`4?K#9)@(o4dAfvz&+69b@+VmM$7judjz&FH~jQE&#GQcE@%_h@gP^!~ zyNAL(z_*skkoe;}-yHk(?OQpi;!pPe2~8xEM9k^lS`*E&C^gvbm0AAXsnyS~nE*&LI` zyi+ahyv+WCH;hr1GseVi;jFuSQeR*=w=gWBIRiYqp0ZnGYU|ypz@Obmj`F;F=y-Mv z{jxogYsFvCi;bX$x5$1_9+;?U&IgsmJ32fZ`v_!iondk@4}BNl+^p|z{q}goIC!IZ ze~kWEJUbm`Uzamu$?4Zj4&fIbd%6gZajJ(Ur{}jgnC)drq*A>v{_cc&%75p6mgN@g z>0gjin2eU-F9#l%tCE;Xc{I^o$v(j%@OyyiNaBBBm#e~h>94rc> z3BY1)fj`^x9)z_armMnvv%Q?+fxhy~C*72YoZTtRw%v3@|Boc#x6e&J+KE|yN@zZMtMmKzk*x^(8(1ZQ~d$NY$^R+YIKc{PaK%Eq8z7%V4Npvo#lAiM2 z4>#Vya9e9Tn1#OS_%$QZ>Y1-E6LdQG`4#G`xud+f)`bosESUbmNAHMsMq%Kk09Ojd^MQ5o*1|<^0eJ-J-=lubYcIfM-$_v?m!?RzW4jG11dx82>i52p7r%w{t5*sY zuZHKpc0aQ?m0RgFQKF3CtYO0#NLK?hW22X0jBBuH6P*l2X#KQqQ&C+QM<-`RTaQ0l zcS)`lmBI}@en}QRF1B}@nX-}U1{?n6^Jb`H7m};SzA(V)vMZT)2ur*QUD7fhMADX>z6D>5w#t5gnz7;UBok;Y9k=%* zMQpc?C%rJzaC>H`GL4;uNCc_X9a_sIpU+$k;ASxWmT#T*Jboud8C^RV;QbX}=0_^J z3Wvqf_(Tm8SO)uww}O6^QGX9&PrBz zb8Zimt5?D-$gY|?-7kFT#ymM>F=k_s@Q9s|JzfgxCzWk^f9tPt2q&4kLB~!HhOG-m zsntyg^aa0Ja56)1>+)UY6>0Nu-R%0Ol%)vZx9<|Z?=n~=@hI2z&W9I~YVy=(zt233h%jRa6 zTu{f9_a^*$*_Yr_w0r__Z(~~Fl0yK9$6LWeI4L4f&-!z*;T_#*?cf7Z7s9jKxmQG@7ZOqm|K}*QimAxz6@-~3tD^E{>p@E_NpUzDZ}X;ihF$Sy~vP+{TL}uiIxWj z1BPRmeh6^fl=-pb6koGov#zkn9J#zA)J&8DqWSa?&7o@kbGqowfAb^gOHpSDJBGLd zq4(60Q+q=ic|@{(O(tCLRLbN|6n;Gv0lwDhin zE_>ku&|z}C*6`1|H+m+v2eH)=W*_)TykGkC=O0l8B#4Zs zs0CPX>y{DD=LONqdnrv&64W+jz**kyWy*_3W&%wH9YPDve#0yk)rWlaY`g zOWw=Ntyvk~_xvf~uCxRH5W`DKbgLT+E`5gvw~n+#1tgRGsmd}64Vw>A6OcAcPRq%b zy&t8x%GTsxi#t;^ylPulc<99HPSVmeywZ^8NkVp;8Q-R%T?*8r=%C#csDL@0$kA56 zVp+Z=Sulf2YE5B+fkGDE+`0InjiGcw@cur0ZGwnI1W+3>PT{SFr?%P2RVxPQ zH*_h+LYW<7hI>j(LE@m}>EijNn+w?`2{()VN_WNAn~kMV7T%^~nzI6W^az*2mGTfv z`=x!_p)RwTB&f++F0W{pG!!o7&=k#3ByR03|9m=+ET6ED`7k&K0NFj^FGcAP0Se@g zL@uusw7H(DAncqLJ`GR8bb(nwo;YFPm)zE}M>w79wR2WGb?b5+ZD^KSzSVX=&M0c$ zByO<@v;}f&8Q&7xZvxp4_&e)p=;u#EjH*H*(i*?o6DPKEJ;5+72xGM!6KE-LHl1emN=V=-UyrkXA6zeT7#?wBVEa zhO9P=FNRZ#a%QW3GW11L3fK+Nub##lVe~K7CtX3P+Eb8J$NgvZ4}s+>-+T>=o6tZ+ zqi3R{@kdbW+cUHG;=Kdpr|41ufV*>WD`9lyp^#DK-UNS*fzl4KC2wWK#T-kKd9X6o z6b*C}=FFDd1_QbIFERV+{6+p=-wQ&L$PGndzGzzL4Jp>-6=!DK*56sT?z3SN$GQsl zUv*8h6eWcF3kGh8E1qo;!G#tL%M7(Tss6rVxW1bO9Xvq!B#@I3Q+f-rsc zO<>)HzwEw&nM2J=&@1O0U+cHOI4KUVm%9KTS9)zBS^w1lA^F)axbo}XiRwdc0OR?` z$`=B+j?OMSV{ttwIPm$2KG>=Gw>k@F4yhj-_I(hr)ZT=`4IsFvec0-i&eSZRcE`eq zo>YRUUH~&`20E6dnR3X5=u?vNQFrHRQddrRwy}h@&%~vSc)6e)+L#+?XEhHVuJHX& z*y8#;0cv>|khNm(&b?ACq{Xdv^8WhU(P%6iR=e7Si`DyUXuJm0NRS29e$-fZR-kWB zsEPkmGOv`0b$9h^iAs3+*r=PY_dd`Rs+v!4NgMu%wA;&1h54vn9INN`oo%%ZekPyV zug4W0zoP6mxz4jWXZo_HpzjKOQPEMYTf=l=PV%T|kBoXaL>Y>cPfUFH%<>Y|blCW# zzWpw-%vysp;U9m8j64wpIL^cI8PLJwVmb%!pnz|0UXDrh40(9~ZV-n~lS|*JdW^Vr zN@jnhx@vczNYNA$(P#p*N@t&-k~V}`EseqXO@dWuPpkZ`YCizOVjgUEl)3l zP}mQ>oU%^w>}Q{>1@ouETaeFF@fN6~l0UZt%KYV$2~VQyS11$+m-~G7orXHCqAsI* z7cXqSCE?*6rfyM<1GV_}G`_NKZN#@tR3H0Qai1$`ZkpNTJ#IMH%9v++M*j`dWkPdw zKp(-5yDN1TG-I1CzY^UY|6jq>+^ivg*N181Avt3j+Fv_c3J&sszW|Q0-c+qG^QVE8 zjrn5w$d!?oqh(}s{bP&ba>jW9eZVnXGy_2k4h#Tci}N1!%+mb_KTg6&xNwxGZnAxE z9Mx>LNeK8_oir-L_|NsfBL=^q!N2W*rhrz`j~qf#9w=9CSZ3tFDs*mayoWA7Irm8% zubfA4^o`B0q1FJ(d-L?(PaJlhf|yO z7!QWM9KSj>ptf@j=}gNb;xl0n#VcZKzY6GS7D9bXS2uj+9E_T7E{Aa@nxn2q;Uo20 z$7h-?-;^?EVS6waeR+*ut1nwWM^-$$!!-X5HuYl;{Ub!OH(ejk4Z4>Cawtfsej?x4 zlA{@05~ZB2n!>I!K2}v0+L+`b+B8b-dz(AiXLYJ+Ttqx%E-Gnf?NT-|HN{Z$u#?}z zPVB86FH!)ez-@E#DuF2%XFUU+T z=T;tg`Mj3_;WTyf?_;v#m;+ev`KhVAv!av76MDUyCVx(aY8feKrq2Z{(fdrd)5Y;( zRE^Kck%()fhT{G7!GwPd!}NYzYkBgws#GEHk;EU0XWzdv<({fKbO%ZI!U&1Ebv#Yu z6=1q1jQ)4aW-PPY>a101Du*!zDOaoJ`HSXzZpN~E=c`)IowSf$K?mW|VnaibKaF&c_vcVVc zj+*vgtrb({zd|9-zheF}T_?s}F@CFy?p$px3}6I9>D7a~lw$z$NSayIsL`vs`G8T2 zm|+(E$E-z^DZ&zKiS@Y6rRFE%H<8O`t|UPqZFw!0tl_ssd*nt=F9M#8-of03i2Ief zXRO}g?7zIDRja=d%|7g;MNXlsal`$=JTE9QdQaa!y>0oVwCC3mPoSD8*8`-HcEZ07HAebOxy zindI7zd#YVYY^!ozjGhgNA3r1|IodJB{)WX`BCngn)IDCDFbj3(y1J-Hk~uP*_TnA zj5FRXkye{6^bDc|FaqeA^YA^qw-yo@!)$38hg_;z-}|vAaN|oeAsASNoebI4Is9a9 zI&3@x(6WznR{CKCa3gr}wV#BXy3n|t95lYX>3+d<4vqd^zo&2bm2G-ezQrXhCY#uh z+5)Xg5dq$}Kc5HaA&03ip$TB%bC}_5GR8(5gQ!s_cU*N`^*Kyz=1_az zO4cLM^|}|&at{|_1iy^c=)M&rH;t!sF2;q%7ageg1kCaI6W0Cz6B)gH|Fs)5gzj*= z;L(xWonK7b-ur0N-X^Q0Xb8xZh>mwz$;!#zRySJ>K~ zp@zE*pT{0>d27soki!-ZGW11~#;tb!+90m~t^S89&B!@W7~dn_BVEMa)@XYAzrF4! z$FkQ4x*bE?5wvE-7GH8phvg1Kb4x)>^iIxl+tiEIMPDYgdlXHLlAM6E=0)1OFB^t% zH_CYZnC|ANQ4P^_wpP=^Swv+_K!x{}%NbyCdw9;;gCa_P+0v=$6ic#?o{4+do1`-& z8g@t^B5tACS(3_o4be@oovHTa_YID`-WqC3KYLAjKuFabJTRjxr?bjQ)V82(5Zjr9pIfC-y}1h8@5C6Jf10h(lv!I za}~C-I!sMEl_CX)Tz`lHNV?^kj^hAgf4@n{qZ=NM8Sjy3-Jy|^a!ISJ2Ki;_t@GB2 zCONiw=nXXQY+m!kDf6*TYkd`;s7j$!zmA(S-ihd2=T8ro_58ArV(ynmP#&yol0*=d zd(VX_BROfMj(jGxe7+q_#^czJBTiM({QW~a%kcKZbGqmk-jPL!$U*Hm;|X)MaKcbTxk;5UcT2wk_H-5c4Paqk(+qkbN*d;`9%7Sqe4K!Tucj9(@mzil9)7$dEMckb5NoC^CaGirxdL3BBSvj~kf33-(3dtrJ@*8c8B&}}w}eG}7= z+Y1vHa_~E|yIul@i6trLrbouaf8O!EQ{KbxK`O?V?VO)*@pT>=nir7)r8b$-^(#Z8 z-;Q0q>qB3h2fkKnZAQw;!-))$*|U+fQJ`@ljS03ZLQaP&GwJlD3p2dsOaj`mb9r+$ zYC7=@kNF6FVr)Iz1?HvrgzA$Q`;b9!5t_hCLm~x?LAj!|=V398EU`6>&c^f0#rt2c zpKC4XbAR=?r#bWVC>}7rt^J*Gr`?dfO_?W>$8f>9uF`FtHIDlD_g{6d)XHCxQjhiK zv+M3evTKE$QcZzV2(Ya;)M!OZ-Tp3e>5&Y3WV~;1epWYEaY}vBt7l-@))F2ENC>CZ zI}4yqh_DoJ=y$@jj^(NnIHp56uPR33-rs9iOjLGjHva2%MTgFs0Br`=MM%o#v-@I) zR3{Fi5(6^m{=UzQ#mrDmQdH}8Y34g`7m)Pla2-Km-W15SU;R0|k~Xy09X`Hh{m%8P zLhCpJW+$`OT@1Qiuki5X7vxg|saCd?Rjp+2u7c~YJH-I8Sf{b`jXe*@3eP`Cm3o>1 z+8j+@F*Xv^dw_dYPT=6Y|22EP$T$0md%%#-7LuGf7m`zw2k|p38A$QQgazt-MW-*! zG%JC_ZY`-l9DT@ZnuKt+rni;wpsF*o%&H*x3CaxS-rdJ$Yb=LMl*G!G!Gav3(Q4;V zRLoi8j?G}(;-9iFm%R zj@NPRZHv>1G5^J7Hr>(erTIKfQmk(FvWZx>V$ngf(cF6rX25!enYVr&Dd8T>g$z68 z{O!!g<2C z$`GkPxap`24z`&sLWfRKoE&ThtQxq98x9qVYxJ%>`*E7W+F&UjWM{_ao$!bi{y9Hk zG_>5LKZdPyEMwixkJ+sj+LakvZiBG{HUkGaKE~CYi1hwc=?}yCmxn|D7mND z!dQ6g-ihmASO#{KF=LT_z|6euwNUn*TEv)(qqWw*656jCWBadVYj^2!MvweX#5bb} z9b;^s*JbB`ob!t)OA!Hu-AI)7Za@Ut)OhQ{*+k#Wf}QfSOLC#!48)J8lAW!F|ATeq zG`D;orLiT`$@0F+hF>K}%uT#&YG} zI_E$8(37S?A*U^e94T@{j1Rvu_cL)5am8+hwJ2>qD zoThJtSn6Fi`c?z&19hR@V<>;ZD?gGR)V^ePxZWH?Oml= z;cj!T0HOM@;S+)>R71PZTM~8FGC2Fshm&dH5=wRy42V4?6h zO}hUGsY>x`^PO*B-rqyLSQaJg3vy}H%pF`)C|N8>v6i+Zb!5hqaK~w#6MnCg$tiI>K zQ|R4XF`GP4>$3`iar=1RMlv_VJc{WHUep9b`|J6YwSp=m226bt)WB1 z`+EL9^0lZ7(KsLKY>W5BWQ)VkiQ~4iw^(?=Dul_K)2RFK@^LpQ6zX)sDXM~OzYt`R zaYs4D1?L8S+wqq0phZx>VM{5v!t`fiRVF;94N&(ZrSu~8p*x%mU@PhcYdqI%ChaZ< z7JdTH1*a88(q+Xg3oFWPJ5*I-e3(rixKnJzo$I*{!_>M9Yo{2W>~{5{i3au?PmY(; z)pZNRoS2Xs!H;w(1RyiB%JxMw3xBswm9V!~VTtv^LBpJ))5w;eJmLZmR-l>m& zL1!E^ELr%TXnjfBl3hFh-)zX@5Ei{E93?(6?bLE}%mDg&BR&@9;_AS0Fj(C{UFA8O z^<0p4*?P;cKWXcJNjaaMd@mlgPosCZx0Ze>_@IzvGwfLs_c?q@#}W)oV<37zrbj! z(b_BJRKbquAiA8QH_v8APiE<>BibSzxy;=cMx#?d$1EnM&n=Ym*4uXp2wqs|8?aBI z4oo3QpmqH6!5;3-6Gn8|!pq(aXZV-Qr6rr;c`qP}b~!?;Dd#?of-N?F<1?cyp=H~3|l{D!rvu!t$c)|J|Z z&5tTEkeUzR&2#d=ANHh)Q9ms*Ml)67O1QAB-PpM%9rYzQ_qYZHcti|p?w$JRDw1lN zM7}hh?Kt?oleZKbx_<2QU9zvf1N2^PTIU|dtG1dp=7MrEY&yU9C_lOHtlaMfx*OWE zzm9^E92&cu152y_c;p2ktCcWG5OOO{xb(GQCtDa*0Q(@SuYOpLNV4+U*;3kH=rz+K zF@XKp`dV~6JRoAsJv?8Y=C@#1i2Rvs%=aZi-waPYZ%QY5=tB>lC33o{jRM3JN#Mx; z)U$>T0u!U3H-riXdm9=VY`s`WE%1UL=WY|+1X@v|bQq-27gG@vu(|dh#|f(^i%&;E z*ZO~@qcSCvjX(YZ{-`$0S2%Sw{!ChF-8C?*rnPiJ1`oMllUWcs5Z67hVExVWmaus5|r?~La`rG4?7Y!Ot55W1u#I!AL93@6vcb?P*) zm#R-PW+%K`C9L1zBW&{r8FItvh9^KgrI1>Rh6RcuSN; zcZRU>c4X~5BuRq4+}^GD0q3&ftwSUu*OFyoHO&q879B)-ujC|071;Lmvy9B`&jKPK z2wiL`)!uXYWUSZUr#!n`f?3)#z764v|7c z*_JqN4Vcjc`D?obZVI;L;fqYD`ftHE`RNK9Yp2j1LrGgXpeTHlc3i#Y=FLaZ6HT0+ z&7=|x`Qn4&Om5MCeAj}D0Y+>sR|fC{+k3BNKn76zGKekexF4cQuGi%NchhrNv)B=w zXQbU>6*oG{X^>&RXYZ>_#TUi@+p&f&U@aw%4~(+1$nzIcZ9)yG7ykwwfMT=w$YK-S zaONtHX&lT~)&KK0+io9L1vAJP0-_qt*gL1AFxL@tp2Q(S(awRbVtx_0)0Pmh_Kdt1 zmq2?pw&dg&?H_cz`f)FR3Br@qTB-7{o7Z zk3sPNx3bg@(W+ZZ^Fe{u^Y_`CL+=`UmP%sw=Pld;kMxP_j_i{7iA-Q8`GI$F3WB>2 zUY3D+$n5s~5eg2w^0`FuJe8Z7yCL&s?~Hy#(7VCu=42R)h2UMjVCaQ)v@~^aRxk0T zSGv;~@9QT)l3EiiWu^5(N;jBKlKB@IpKsO5YeekTA@+AME4T25?;>jeH;w2<{?=a| zSH3X1;!qU>+1$g`gD3CZ(4l9|8DpNEoiC}IaL}+ze-X3*34De{_1|9SDBO-1-1Rf? zHJYamk6^)E)ziqMg!ai7uOm||m{kp$J66v6(J0w+?K^+(9X>9fChT(f3ORNReCtWq z>PH|r`357OIdt=sJyjc>dnce14smcsVZ52jDeCP~`$z-bQr;<8Ofp8M*54 z6RPu|=V>za|4S({c-7e96Z$4f`kz)EJ(=49LzPI$s@o7OL5-E@Mm&@4XdwNIJ=_!I zflNs1YsryA=ZAwYjYS|PJwuyZp9e*{-^;RmwP<=8nWwIL2(2DidiAM5)ulJNXJ+wh z14xH)vu{O&Zz3(~Y{UPC zy?@Shu2kJDrN?XLyYWt2+hmL6{q=1IEi`vbv7q%T>frVbgGZ+Ko=S~96)6JwD=;M5 zmZg;JOBpUYGIeh9?lIM^;RGQGnXF0G@7YnX?yQ;VZ-mrOlgE3jXzb;1Om0BwgQJS3 z%CXx5USoZkY3shCARB4LfD{LB2B(L@U231Zk`ySxW5dFP%a(oy(dNkmU;*;&bqq`Q z)(#AL(QWEk_-~=zN5kt%d!17mb`fXYjr4O$R)6rhs)Xa+C#`ZW5n5BWZEQ9*EObGC zo+`lL-X*fYW{s1iXFY=drufKx#9gXK&r3DAHsz-DJvqWy0|L6DlPp4j36G6 zRG6+_GQ@C@NAi36<$2}7?SZy=)_*(G#P>vsx{dOt-o;Ui^)x*>x@W%bo$n0Tgn;d`oIj5702RDj+N@6a%N#l-jlOG&%@(eS@1JPkd_t z(A-_qk4sw{$C-IRa$*_b34g5@_a`+$odgQ|&2_&@@KrBe*QfXsSUsHfCb_dO(cQCJCgq_n(k5qZ~Wv0S}2EpYGVY{MSt4KpD zV9ZzftWJpm4@+e|x=m@YY4L&M`2^WK1%G^wU~y+S;X8vcpQLg@$0?J^1Kt%@_fnfc(Qr28TH0-Uz4M)~ zYs(U11B6rH~Yhv==Y)QAA&&!toL8c@rq3qt3lmS1b#k?t=#h@&a?^uGF`x z_1@cUX9V|mD^IljsT4X9Vlmg9xp9mhPwC4Je=N{ULMK{?oieTsymndBjP}8fK9PH# zheCV_osKqV&9^woOGEv}*37u)Vyk%|`~g@*#O}dm$BJS5SV*QNI(|Jr@yk>4pJ=u;j_m=J|QKZ{3>Npig|;;Kk~ErcAK=R^=IBk zi=xNn%*{0-d1q%!nVpGz&;KEZ8Jb-Mh=$jIuW2h*i&G=djOuo}i>dVUE4|gb3%dDg zmYs%fhOcLxRD3#*BXzp_o>wV)J5m#RMj9E#9v>zWw;=7;o1N+`cYlP1Nqiz zqeoJ>-Q|uEFUqw%f{eZ+%fT!IGcGhNQnQxU^3MlrbwN019ukXqNiq3Yn!$=tKk8N* z)KccMc!$0cvzODoTntry_Obj)8@+51c8!0+2;NNZH&g(v!x|u#RVN9n3ZUw(X`p3G z^CJZ%`=FbBg4~5FCGR2SPScj5U&L@Z|LFqrc)( zI9Ny)EB7M zLyU>DK90S?53~zw6A^T_s}?4;o%tmyOFXrAf^N9*diVNf8&>(|v3u>4#daa0V~+i< zM-wwuzLNK3SX0yO5`>xaIZ1m8?zoz$))$Ydhpe+a+M~KnXYY7Cw3pzc2$<(P$4c)b zp0`Gsel^$1r>cE;uFn(iT#JP~2(h|ezlzU}mcWuz{OT&?2CSdC`HE5yZ(*U<77)@< zn8P^&Nx$NWiw*;9$!%*uyK3FRI3}J&Z=&Yzs;%07&DLJOZvwiw++?~$xZ!<^beMR> zS0=nw=m_e@an5YYxq$#u+f>dUZQ0cJxLAfIIYoa5?lGw(3L#R4(%r@LUsp}Af=-_a zD%(_Op|_zwuM1B7uA#Dh8sm#cT1fM=5Tkf6yhW-+P+_g%@$A_Hx5E*KZvEPZt=rYS zNLyBpR2AIr?6*KU=D0D=e%uQy0C!jyPWs5$dpFL0u|VPn^rFSyn6q)%JNBq1bgCR6 z*M|3J{F2(@$YB^T;@1r6N5D~zW%SOeJ7xe{UE}k78xh?zD^$U`CDq{D5jX_vVjNvr z+XZ*-?}2+JSmjirCI&aNuj^({P7LG^-QcN4(xu8$>BR!4n~`7xj}P;>s=4*~LbFt} z{bfO3e4k!DJ1TM&Ss^U+R?~FF4P#i}UB*KW&iM`QE>21c(iNzsRg0d64dpvhl5)yW z(Tx4MW(Fv_^68bY*?a?)eB26)^GB+NEgEdH{vq0EY}>yjWs6cmyX>k^+xC*YT@?gm z$i#R_-6V4GF=7C@ICie_A|r0BS5ZF4n5+&rZdv$=cqUBgaJG<FRNk40UP6{>rbd0kBbKf?BlKVh5HbedE{7q*T|Lj}S7xE(l^oHV^w9YdOonwuvS9oiBYC z5y@fu?gZI@e-C}@2~yLg-h-}ayEMH8ol2ZZ%N%U@>pA%Yxz0S|T`*PM>MS(1AZu6i zM1NYy_et`xigWy}mli@OR*Xqg?dCUqLr0MKR3M;MwzFF3n-o)JuE3#D#g@dTY$wM@ z++1Jl%ZhSnfAR%+867B}OfrzWvDpaFsZvf{_8fzms~K=h+kuFvQlu)2*4$vf`Pu%V z&W;=kx{{eWK1j!x$I0II;CvbCtpfa6zb2jiZeU=G?IkkdE1;le0Idbs2)*t@^_0k? zL~t<`%DxgNf7{1=GH8LsShTpr!16sGkmz{kK5Z|J1{=Fy^`zen))`$P2OlSE^C|#_ zv&H+R#AbUtkfXYlsmmC)!Q_TpJrfUFtwayctilJB*<=RZV1lhdN$O@J$mm;RYR< zj)|PzR(5dvh?!qV_p8OeI(3EC5TjBg$Wq>hK>(hoL@OR%p_^=^$R9DGD;_Q6#SSQHrom%mzVe}h59|eBNp7q3O{B|{1q=_nKLSbj!U;lujT3yogG(OP`#bZ zt+r?=9#$-f{b{d|DT0xGm418%&+O8NV|P71n%z|gNC?F2IEjf#99w#o0+2W{q3Z5P zJp4voId``E{ik$7Txn?SLCgV6|kbSz@acXoI4((*)OlG-nL)FLk#LA-aO|LL0F*E_PfKV%;!v5nzpmlAZnq+=|+Dn;~Q) z-M&AHIn@U@u1ov7&0LjA!6R{ouKw+K)ldVM-k5q~>l)2DV18=shfN`@7|kn_u)y>7 zjLO_iZq)IX0eX9zD~5;TMoaqY`YMRt9tEKPX94igdM`3e&QPCD#*1ncTZ$3$uX}SMTXP-p80;_MGX~GpMS7Er;}X!;a|Zixb(jn zcTYWfJ_pGP?}%=W8hWRZk8r&+tP# zEkNVV_WJat(`JYxRl-9JsMde}eS4W_IxP& zLKA$}_E*mitu8&whAjk3qFp#OJ_??Q>yH<4*+P6~!OJfNw{-?5Zj<-Y+r5%cq;j=B zsGRb;$=5qAYFo++I&r!(VJ9JMj5A8=Mr+PMo|hFVH+Tf3SXr`fV-iWLHQzsqo?x)O zmG)jfF=*n@y0PhV_+*+dVpOHpZ%DeE-Di>9$;}=s9!AcGj}pgK=g|G@TkPZ|*1~Q} z=7+!OI}<-TZ_(B@Fr;)<3%a`S1C2&~u!`N1=)=Z-A~9Au4Y(L@{=4+XSG4P5$eZSd z4*=Z4QY$qle|gd0e7w&}Cy_18i|XuFV6EyS4p$$B$Du@6zw_`f)B4^=*RoU7g*EN? z(waMeWLR~6(_$j~-_x_=(i2;kT?-_nj2>MF9Vedumt=;NavNY6`s*EuJ~Us9|D0w| zD9`cT{vlB%Y?{8_#;a-=sLI>q9#+RFxPEX{Rs_SR>X_o(2fX#7|aIbvmeJ;W3^|kucC0uUVYvrigPTAB5SGm^G zxK=>ay_(Ny>*c{sxN^%+dxF^5fPt~)mo^N1>~~W@MPB!$%aFR@=vJ{vPcGHM_)won zz;9%Riiy_|Z1AbSeMK@woro>Ey*F5303L9CN-w(!#(UAnh0^1)F6=FDp2Y43-&jWW z2x{s3Hi~zA46X0Zf*D$=+4#(yHx2|cS~V%%^lrnBw6Ep+^GDWFKbsn>19GquyGMi{ zA$nyJb>LomGx}VVkf?mA@qn^$lWd<1^i?NDCeO=ab$)jW_!D0#`H(WWV19X>hN3RH zi}&zxF0T%`cP>&&+z)oI5cGSop-tmMs$&F@sRywMBILnS%#_IT9@LUh9fSn1-@s{C ztR03XSPlS>e+AbGfR!hPNy3@Po^I0GSD92 zk~G`1t9m_JJ6bpw9Z@EBu1U`Kd$e9qF}y|5N7c4#&ZYvH8LRQT<+`Q z`-8&~VUXL5DYMe$8>#6cz0KQ()5PX7D0l5rOJCg1*Tukk#J=l^K|U_Sd%a2g=NduVerB4gr>dmM&??Q znk3CVXsKYtn`RMC9GWPj&2R)?MjEXj&ZXkrmPSfPw8~~t=M$9SeBWQc#mU}ZRPVLaO4@^~bh29Duqn zFN_R%UJ1HDu+zPHUXNUfKeuzvXmkN&QwSusjgD_BqTOMu^7e5`dMt@qhpF7l}7n2DXfcB1?cM{_YQ$D$$%1||c$|}umJ-xkMaIgRV;!PwY z;M&BMtwHdS+b0=T7@zj?=YNE;X&4aqu_lPPgq^HULI<64^Vq%+RHMnEAwH2B|3% zipHYuZztQYJ(1e{pIC`m=>KFA8lJab$wVK3Q)lR(tJ0V*_fE5dYIl9paA^|icXr7x zd1JTs<~ChVJGYLfaU2OOIVTK6%1?h%C7nhO~NGIDhdOtLm!RI6< zn&wW91WJ$h48LfRd%v>3CAFWe9bv2H8YYPRPK2REv)74Ua?jWWLT-p%wG1mRM3Z+? z35D>wBmvA?JFYL+aQSP`+GjRLp6bP$nTARK6|!7pnh}F&LH)i6d}4TM`?$o}k1+&k^dnq) zU}yPxYxlG6uNfrEbl)de2xPi$NaPqo=S`h^mW#W2BW%+L!qDS)E1NOYCF6eFKPScqu11X?gqcUxf#et+0fK&{&qciybpXm1&bm@mq0+)>8^*Zt{xpvD{|H#666R zHvcgi^IoPg(W-fim{^YV=*Fe|P!fg545*1+GXwcfj$~MQV7arBP^}i1icZqjmv_0- z59Hc=W_i!RkDBGmkG2f}yfEjS7*T)sd*lSCVGD|1QogH|aGDM7RkJ6_o2V>X?)FpDw z)mTOv}sEc1epv`wOzSTt6)M>J7&WlOK?WpqBdQ472j7W7o)e{DjQ7@?l zgP)_%zY1%g=q9>m13aP#{sc8-J?#St{!CM(F1WA z`+qc@`y&(n`~E9MDpYdFv2v<+G3T?b67q6bXO+WpDCIQg<7UZW$zh?8VU?nCrkt5G zi&=8cVGcVu&y3k-wvX=*-+$uyyzlF}?#E?x;qi_-$=hHIoT!&wR}l+di)g>D(wH+%%8USj?^J?dphrXr?2?#sIo@C*&h|b0#%r_{h08h>&VJ z38!YIZ(LT&H&Lf%j;UNYvDN;|v~zN7z5pP(5*Ofaz+sAQY;9BYh`k7?pDg$UWr1lS z?+JZn>6un`Hms1gvwZOi8sRKE2^)CUg9l&z%jUX)D#OR*ZJ42dIWKu@Qfwc6UJT$b z(0&fFFS1`*a?kq=p1WlC@ijDg_IU#{B+0k%_-Jm>OGE!Nm|VLlW&awjn6RmB@`Hhn zsF;(pD%WFl&gxp)LT)W`g!@lukR{_l$|Guum~Q9C({$rwEEU=`NA6j6A!zk=-oi7~ z5u}{6m&9gscAi%8J`7+{-H@KLD*1EO$x7H|9rt6 zE3pN(Z(Jd0THj zAIp|ZIaSpexvc$qEhjNKA6i&zm)!j3tP_N%=Z3?pr5y*KXV>Gv#!yF3akd~uQUJR$NPghCEz__*i z^`i@FQP&GRw}I5rTd-9DTsc|@xl3tdON;y?2Yor|o7&^*Wqsn- zbi1&azCq}bZ=rR#c5O_j1_UqE>9Va9_^VKyL-~?GY>bDLx!8ZvJni8(@K+OCO6dv` zYY?5>&=t)vnpj%Z7JK4QV3~1hca^xvIw85>H8c?pe2FK}txRGbF3OgK;63|xG=}E3 zeCmYKcyT*kx{w25m4+b1Lu(XmdHv~c*j=t~WdFhFuamd!^K)ZEei=8m+h`2^*^j>v zxvmh;z1$@=DC1ON%OanBVWm%GYuEea216aKTUB%Z8-J;wZ>*aPNYw1nL3dN7cm?J< zL^W<;e1y3XCclpKTBxMs+9eEK469bmo=Z4Eogbx7?C1^_WOl?_K3=6PI1*Vt$D;*k zZ4)H%x3d$OC!|%Qrd_LCt!JteU#w1R&6~|;4>~wxXg00J@91Bd&q&z2;aP1%K!djX zO225-R63gv?*zZ^;ZLL}cbA$6_UOta=;wB2U)r(%TbW`nH=#iCFV?En_bY`o^(oaY z6OYH>9>S9dCaam=Ay@o@^?6<^Bd1$-19i^s$L8q=2g+Jd{NoQ?RGz;1>u)4kx1u;X z`kPS=!qr-RGMQjisJ0~{>#y+JPRpCb{&AW2|E|@|PU$DRS%p?ikGo}blF#Rijxj?S zW_Gn{EzPk`XBD!k2>lL~Zg#|L(FJ|-(%_`OguqKUU~KcP}Escvp?@ zpJ&ev`8%C8?n^6#elCY*HKgNQ>NxANE-K8LBBT zgCG>8nT;1BKc|_>X9Tv)Pnttk=an45$c{$wv5GTO&nX!Lb(zG~2FBnij{-;e6S<}?d#_It*GyPHqzlEAjh>(u<@9wK#gWCR#|fjPJY)*w zsEi@@V`D%R(g&=#3)yF@%*&-s;f_y1Oro~yGj$vRM^|%_i}O5EVBwkI6!E!(>QSx{ z0b95CRajzB&V;M;dw~|#;k_BTx6Q1C%Q5$2-3dmfzQ;q875K%)_ukM--}h#uI3i_XOQk=@)Aoa3D9pXXanud1)s6K+dlLylM z%TTpmd~5bh(o8TRi=IYi@ZN@JKY>R^>*>FXw(H#2RA*oXjL|5LRmT1zSD6cOm@sZwLQ9Df1iXhZ1wa0}%c{ zDzkgxV4K%}*|?W`3Nrq818(Xou6^=r)yRBNr1Ti#5GJZaZHoqw=9>36y~O?UO#Fj( z6ETz#`OM&?0baqV@mIL{%}V>7=J2+GzE5yb-?}mt&~#wCoUQ>mHLAljU0&P4?yHn! zP-(b<@A}-%es4gb+EESLB6?9LCM`U-%0+WulSM#h<$brHzE66S z*dw!y=G4wbREp4-EZV?u>WfIXZ3jfqgcRJ%{%g~l5YL4U(7l{(MzGpsJ?lI z3xJlbgAMnpS79Zh)kZ^q!-C$3MhF|5UU|u$UH-UBo+X#It>sM&ja5q#$>G;!l*CHw z4>mH_k2gIz)DyUTw}~S+?P`=a{}Q9Awcj9vn1*-Z;B0UY&cmCU;EpMu8E@!y>ZzE+ z5LW)_#FH9l&|m+4r%R|xk1rpr4gV0fbGAO^#=Hv}C>;H(ugNg#0Sy>2+UA-Ueg_P6 z`lvTf?{jB*vKCX!mXG#~)t&wgsF;RH7CohV$Sa&3%>AC4C|vUMQ;!W)Ns2L2t2u%L zH3F;&>tBbhse>gou`?(EH6M-H;#BpX&rxtf;gVyEdzw+8$f2Oc)igkojW(ei$5Z4} z5!@q#gaZpoe{2PB8!%P>*Xo=bu*j*8_rEpYzI#@u;7mfJC4s}*=l~a;pN&_(8VzC#;pXeoMYTPtfhBprzmAWJp1*btv*cpE3nV{et*Y^ zR1>=vVElw$Q1M^Yeq>qEBxlk2V!Eb|b1CCk-IrhW=RryjSb0_N>#J+sBDyj_WvCP7 z4~Oa#@6=v+c76i3$Wg6`yJ3PKs*Z0Nkid0!ju{eOAKd%bXC+UKt$?8VUn_Q zWi4+ui72&&K_0zp6;oZ*h{A|Nhpg<%Gv) zy8rl=)h8mw*|h7<7*9EC{dI30-XbX~IEs4i^)?6smNcPc2=0Roa>kK<^`QabZf;q#}Agn|4Gnq>1-yFS;sK=WAroiK_Z*8sS zF~>h||1LbY##&Ow|bGqRwjCvJfU-2KlA`il8Bo{?Fc%Rkc@oRB^}3EA&K&CDF)#nhM^PN2=>#NR8CvhS&K)xX1#b}>h z?X#%wM8g+7sVw8jy6cQ9P#-aPkxsYq$d&tl9*dAim08t~Vo?BU@#5fgEWX-$jj=9T z7xPFx2^wNB!_M)ge}39`6IyQqE%D}7o z2=n&B;*nEZ@W0jHbv9h%vP2hrLK;?{%T50gbKml-!cD@^ip90kUh`FGPAY7N>$Ya- zc#B@VfMcSrxo9lLe%&AlF>kXH0H6<`#%sGAa=M_>(e4Xqm?=vPnQQouN~1bznPPuL z^q8Dgl!Rvi*u^c4XV;#q@VHwrk?jet{8FyBp9pjP*u_6i_EY)Zri1NA0s6_%wa{jn zyXA6ij@h9t+dz}rmb0i)0RryC?5bD?<%RodSjN*9+7ZytwUHWCk6EsK^J6bD5gJiu&hx9!fnF?){nI*3DdX9(yN2M>Iw2WN0nJGnqKIw; zDXf`}qOD$*yrk^_rez&RWJ67Flpu5OCV))1*-De(!)~GaH4Te}x~jS{`KV5NMUytc z;Vh{4Yd8-)$x2us^Ev9?pA;3ynx3T$_4F1-X^zI$yt{=(rqCIKQ%B4}_gHD}9_msn zW8+m}Jlb;ij@0GvBt}=8^k!W4LiMk{;#y}b15ENv)0xKIn2wxvtIKwolZV?oB{s*5 zBmzYNQ5T(NY$egrC*mMP1AgeYC5{P zCf<7tqTQW!`eEhkBB`%sSi=%Ng>?$}sSof(;TgQ}+`&@s7Nkuhd$X&|e)9yb3&W(R zEzjiBi00U9j@>FIUywn3rb^0Y~k+KvwoC$YtT0sZ0av{ozSp%nFvZcZ3|x2msS zlA@V}5Z97huJry|-Wl`1&l}~p&0zM!xD7Ae`%R(1SY<4i=MLe{zPr(p-W|!uCSA^yVMP8> z+NkH!9u6cR&HsE0qh8&jl!dzx@u)@4g?-4<#33b27tMM5&Q0G|Y((~n|6Mz97Q`w2 zwVl={*zjWSyQ@c8(duutMV3|5IFBM5&SF_Q+Wxhg8MU46@{Sn&E|lQr@z2*e4w|e+ zrG{mfiGDeEjCo2Aaa9tty+*#&jGz&+T}MqE&pn*~iQp}7 z>9hI^3400(oipP`@y?CwS;}*0y1)%j`P0^p?ZIB>1xsjp3nctUl5fT@RQ$K{738&B z8yj=S?zj&(&HpETf|Ge=D=f7K5O|$YP5<0uKBi(B2fLPegsBR-G-7yyC85KdiwNx9 z*_cZ&!grBiTB)?@cXL^1-iVp>IyqE1wSPQnatCMSKXn)mWUXerwywLtQ9rPBKY4C0 zsLJ6$!mlKmdN&P(X+?olvjq)iPGNh>c2>w>v?T{v++m|f^Doqm%#d(#wL)32hAn-t z^13YG1j!|L0o=9_C3fTwZ>)R4&0qho8BzJ@S1pSm?XYd{YpepXOO`eu$WR|jK_))5 z-b)Vku8E!@Hsn{LRA+HP;njR&o!(pX2e9-;*^~x-#m^1#M9aBd@xcfn(L8k8{RCfxL0|Gw2w@P4K* zC22Bnnm9eW!8yOpy~gapM*k2)y()WenSor9{JgE9VEuv%>w_f?9|*dhg0K~i-pA)- z;7V&pg+{^^ftC4j*=jmD)avaW8+(=|Ti>z*V@3r7C%a=r|D-n>oh2lx*GJvDk(;gc zQ!r`jZXff2>6K0KHY@Fh-HeZn!9WuaPXc@Yz~rO7KD-+2dbB4{!F;W2FyPl0KmFUi zs0=-j^Hg&4zhHg27A@V(ksz+`a9ratHN#MWSk-yS6fNdxqdmrCR31A+B++MM%7yRxya+nf%9knW1o{*zx| zVwO6}kJ<=7>IusAuxMgcDfz-^TW-IJ+!1g=+~@ZM2Z+6x3>!Pe?zXr34Jsd>1+2@f z#Wu;f1iehnL%xUU)7u7&w0zL!iCg}Hy;8N7qV6@|9)q!O`hsZIMtogci`?Z}Q3X)a z3$Kmj_0(z!MD+ZT04|%Ah4M6>zz1+UDwYN`#Nsix7KZX>UauF1=eY0QN3q-vrbZ^tNyT(ss;QUz-P z8y-RsuUaU_V_0n;7Zgx4B~l?xC!TadMBaD|QZcad%k_w~Cd(SsjnWta)0!pDQ-A&@ zzW7zDCB^{;t)!Ms{k?&Pa(U zu#Q`xQ-K?Iq2Vn#*s5#OQ)q#7Y~`7C5!FKvP#jlyUVoYEL{42mRY#6o%Rhnj@fxc; zo`0lii#^9B1D%R@IlyGk(2z1ID+eK+Q0{Z9AVXCl#!kmN10^?$>J#8i{(@jm1eg8k zZwT&W`JZ?qgP#k+k@RVsGoVcxWdM^fgQc; z*_)0^6>HJAN=U-DFu;&bnYDP29d+qYsC0^vKU;**^~C7ism;}qD4hq6>jyE(WHVi~ zp{#HuyVYhoiKZtMQ9MK6s%;w0o=SY;+v#d2U|ts(VSpdKA|a z)ZD44zrDE*Nfi>EA6L!=(~=S&SNyA#t7w69G@s99Prqwt4k4<>JEU@QmJafJjIg*< z@DJhAJr%1-N)VNyq=DVLVGXc&a;bcUNR)BE4U4L@$(a+lFi8o?S4z&*Nvw}ji zR(LrpOi)|e60$mp*C!7`E*#Alu^084Ul)9`=~{o-9}%k%X!A-2Plj&};#tT@NtANC#r zEC!nILJ{qD0iUibFLArh&HyANd*IPtwj9KY4vZBLEj6^!+!esZ+- zims^4BOk$vfc=a0hp)0Xj8M5hF?>oRgSeC-#Pz3FUR4MDE&8MUoMS4Az8~}x*Y-Tx z&{W@ZUh~7thIbe;3AII_9m3q9%~JmA7kwNJ|v@LLUpA^lC1c#+qEv@(Lm$GRpL0N3JHzBmp^AkjajqX z+d2b_5H2DF>!-TBx`LWpcdMb_X{drRrTJyQaUF+HQtD3YT}cxrLsS!en$FV;Q*KwE zfha(E#$9d8u|dldE-g&~4FF=1he_7tnIDfR@`(TP)x-fS5D1)hdcp;0)Et6xu^YP4ppIH!VHOHE~A+{gDIc<2$!gp|g49wr zW{`T5tMK**wPWI!UWcdF3qQ9|#xA~t$gvUT;#)008Bb<4j%50BJ-vaNIjLr*c$C|- z(hmxCPwlRRj+NP$OGM;ij6K_e##n+ zq#;hPCIA$Du#*Aaem8HGc)>- z87iui@2-JWoz6)u-uc_3-2ccWZFZMT;6!_KLj*=GU#)nYMj2wX^V zv_%-`_$6kedKU`Mq5usELXyS{o)%!QWh^wKWnm0$( zL*y&|CbRe5-7f=c8LmuJl;2*Qf~q3_dc(GB1Moch?x&4b^XO_~($VthZ;t=wM~>`W zEf-~^G_5QG?yk3Olb4oZuto^FY%BC9#Ek)yQ^BU;1I7>YM~LAQTBd}A zheO!h!lE}g+jsay$;>^&IjG!$voHR=i&L7^!o1)%ou9mny3tLk?UV90`b3e6s@W$VOoi{h z2QR@I_pS$yd?-cC$6>I)rSM#$oDc7<>^C-omxr{h3AYQ|42~)o9N0+4lu?F`{iOSz=|FS0b!j*)86CX2p{IY+slFu ze)P@7x;;9vSVUvS$gkABuZfUITj|Rvhzfm3OhEGI2=)=P_@i2?Lbgvi$`Iz5P1Z( z?`bqj>wL!5?KapMYVisH(Lb~hW;?vu8+3@-rhUJ{8#XKPUhALsRi zZF1HWqm1WjukWS>|2<+NRrHPs+*$4<2|fFzxl6*G{J4{0Gwcx%pOMtn+B7>kNt`i_ zjIM+f|H4=6W)cCJVMr)m=8x z)$Y0Ku@ENVoey-Z*-tIZlS;4xTx z+r1)KH_XMvq^@(ET#lSIRmtSOfwD{*fP4h6&yS}Eg#_Xtx_w6?FQNBvXA`*1+tkqj z_=1&`mb`xsGSDx)rzgSxdu__6+g6KS2j)X)M%ThMuy5`L#Vghn{U%aQ2T+7^I?vc_ zZ?BslHCmgJS;^ZQmc!!$&F3`(w&&BXCi?rh0 zR%k^H!?%@5jcW?T01#nS)$kusgYSdw^|N28Z*Z<1*H;y7Dtzr59?s1s3m&oOiJDt$ z;s*Uwto2P#lpy7Jua@RMD1sc1>@)kc=UX#q=-{1JyH{Pu5#?&-LxT#m6p@)NyX^`q z-MwJ`CxDca0I!t*xIz&)LaJ?f=xtn~Z0j^&S-eXl>&}oBt6dGOG{e+y*B*4_ZKcvY zhkO)gRpme-qQ&e%3xK$e>0HkL%Tq-BI%y?E_wO*5QtPBloLqf##mM2M*zs2w6x)DF z%D#$V$lrs>;3Xvtz5MNit%5hRV3@kA7bufl!*X*cd(oLK0BT^L@A=>TatwWEg|tf$ zI`f+WIaptx2KV1w@#AcSq^>WC*TB^r8X)V0tctF3x{wdYV4_287vFOdD8iU7k2^wuvtdDT0}`^P6klFAhnd*e?HRST%h=J#93xq-%pEyo>ULcW z@_KhBfajmq!pR6IR$FSxHRD@JrUv(T=F&!4pB01N{E#4)w^rR<<+COk3_8l+zTc&X zg^Ld`UUAQ8@m0XG1CQOkUR3GAkQHtmu;e|ol~K#VZ;TKCeWjYs`j<)9jUfZ^9)V7d z{-NC9RdFnCs1U^Fa(q~WdlS0G?BhKfvwgK9{SzktHR)wp=fiuuJ6^(j1LXPnL^Vi3o;~mq(yv86+NgA$v9_G;@g^tB z0oBkHLfyKOpa=veK%>{EUL9k@Kq;O=Mx!MYZy_}X*Q}LWHappFiI`hGn}O(=)p`Ts zqA>)Y>d`C48g{!C%5|Dta^b?<18u5rbuI@eHF&6fG(IOPc&X?x68(ixRVwt=L|0&^-s&92)=l^ zfUO&%ytl7fhN$mHoKgqpM#Z#;GmGOno?!TLqez`>>c}!Dq15l$e(uY3a=>2SC%Q(z z5f`l$yLiQ>Ol>zXq2+mX zU)X6tk8?*_D)}aQxJ&N?*Bzl&rYZVJn;2G<@5kya?VzqWTVc)Kv3t8+6APL1y7M4xhz_`uz1 zhZ9;|%kOQO9v|N&VZN7uBU}H|cj0Y(lm{X5Lblb=@}m+!ea!5`ly^4=1Lgbu9z$ip4% zaNapkv^$tE{}^D@i9vt~9bt^bvdx#+J0GC|f=}7+XD*E@Ifi1?pg^pRG zCV2{>fAscn(b8Ra{L(*(MFy{ju_h3O%7Xt!9*Bi~E<($xezVbI2V~~SjcF3TTK*+d zy{tW9GW=0K@_UjM)+upz6v}=Vcm01l(7NT zz~_D|*QkOUjgB+4CK%UliU&kxLhY(R?gTRYFdbvDj({2HW*|$AGNFKR)9Zus8aP?9CaG(o%KE$k=CL z43RalFyW0ZZ6F(u1i1J_g!+Kf4w`Brp2kuSA{pFtiHttQ>g^1>)Ug#==RgV(Rz-gf zrQJXTE>n<5E8w5n$3&xldn0j%c&nvs?BH7*G)wJ9^IkE$V|Q7e4$)}uuF4;CQa6iY zamansic{MZPic>r`XTabQDf;=hlrKFz{tvC45H^<@{-O2IZwv~wqIbR#WB8{y(9B^ zBWjt2;@3s#F?UZP#C~94FfR#bbQU|P)i@_hW;aAb-#$f!U?zTi&Svq|`pn6>@bNz& zoTf0H4f1DhhXSWJ*=|*;YA2RphLQ`L^a;U6qt>8s%C+zwN6W3*ntNbjJv?0MQ@RJd6r;RxF+8nG9=?JjCwB}RSw{v}>QErrX3^0yItU+0Vv zqO#~ChjQXz*2{8v1$PhViHS>t)WcVpsl8@DuPWXK%x(nz^Q*I3X|vP~y3ugGMtI5! zVwiOKNdE#L@UqdpR1ELP^Mo(+eZ7WWrCCsJ+JT!6F6SqZM`!q-=g%eM_5; zNjqpkP4BpF>Ef*Ub91BmvyCWc`i8HXHJ2Tc(RBH-P0`@Ln;VRC_Fd;|v)h6UF0a;& z-<*m%8Dc~SGqZYkgYU(!n0=XQT*f^W-$@cmUVU3~4A`V;h86Nft6`E;xUkno7c5SF zvYwL{(TeE_lT3XJPl*b9*0Z%LFXhwR8~edQjyZA^9^86JkK@sd&jCxc+w`bvV3v*_ zcUjxKET0!e7vFDpF;LJ#%odo>Ej-n(F`Azw2>HB|;=1ShZk6Bu!;1Rom1|m6=0ALj z20Qbe-hpi7osH1emoASWC?=}-Y?9=GRsA2($lI-ePasn?IK(Q#Q2DkLpnT$OFZ*!H z=ia+q&Bl!-f+8hg816OJcn>LX_%P~0%RYQ6Apy+;1OBmpv{6?iZiG){npHRUu^k3V z_@rrAu}wf~Leq8^Kb%H*HlPYm!WjLlU%8eT5%A$4>GiG9tyb@lM4vbx(O4Px{ASa< zE5GSh1ub4a#B{8BsWdoME$JQ1_%T)BE5I1*0M6%~#^FhuBopl8h>(nEZEn}gsl2AG0Wd7h zlx?UGf$I#ZK9BfA2+Z5dkaaW_e%6>E7`>lg%Va1j=Atq$FLHKb#7$Ts#Vzw3{cMXzS!x_1^c6R05}zfl_Ox)zMnlvJwi!*-LSOk1 z5a8*Ty|_wLG>#nmXZ}Q1&)s7%h^GWiSo_C;d1u{BaE+g3On3ap3w|8yBMJbRovSXa zNFj_rHQOvWvco&E#h9Qt?)k_t_ZfY8MNxs$*NE&(f9F(A`GhR29U1>bw7anPA-ra! zNFn23Y|44y&$7IYMB;Zj)b>FXQ*G0@T}i+1J#p@jTK7i(p-zb?1K}0$!TOG&L{6aW zBn4i?y;{hCze;YJ|HUskZdM}BV;j|bl&VOLqA`9>)r|)cXSD@RRR%Bwx~p&RP|V%k ze&!xGv+2sxSjiV41~HWu0;H-s~0OjN-5(`imxr;k5acU_S(**ZZqb-|djfYUdi z@NU-Y+!If?@bMhtj*VE9u7gdt!~7uFaaBz85fEZjaWv;H`$5)tvzA^XD2)MNO!*yzVZ-gQ5-=%92B z_ko?nx#wgrpKAK$iNQSiVxb8Q00q;j&U1z+=n5jnkaMsb1l-2P|C&DzAm{H6JVcCT z5pryxicbfo@x`}m=;pgw8tm49WZAXr2r8G&Y%vI13xEQQKOe9|uoP>m_PFnE!IQie zC^45Ytz@WJd%P>d8L=?XC6q6^J&k_AaB!!hb%Rqgoi{CXpcXin2&31kJ!)?y92wr4*M{l0v1IqG_sn*+xyFWjdH)p|AaqvewO%N zaoe4lKwlO7#j+}3Lh-Ky0`hZVGYW(E*flzR)`G-*Tc6y%lL79sd-K}0>Zr~@y3b97 zpQlUY=kjMh&bHl}7FV~euOW!_QK1mq5=9^2ny~V{l?^7Ede{9z03(_{0Nhk;Ewu_? z(J4}`<<@9)Fs)rQrW&kOcax{SF~}BUtE6I+-(MkcFhEM3pt{^mkNuVVpD2Aus}KO} zej!3s$hO;KbAk7x^sk&3E`}r72Q{y z%Ks395i7K;S`x{jYM4DSY!p*%6fNxwd2)^lyk9bd5$k5;-Bsg_s&0#Suvu9{_vWzPqQN4F^Hq;HCf4t|dZW4H=u z;33WIkSR;kY&|M8x!)m(l?7cYkQG7KLXTVwjjqoL0#-z~YDO9>&7)mcy|nBL&6uME z57oS!a_4^TSD|`VnW_cLTnREAnKDHMf5Djos;U*p(tQ^yVAV5FPi% zuf=E8%d+b4-iwl2Z`Y6;7l*7UsWFXBu~>$tNZ8(=WfPn6NbOK! z#OJ?3bt8*ifMv6aeeL2t*R=r9X1@GIpZy5$>-DB!{Oyaq>(BPyBYPb8SQ!2ee^)A1 zfTu64)yeYn;};}Gs@`ginEGv&+~Vl-SN-|UBzcJW`!#-R|PJ0G}{&f4>_B@ew%`~E8^oegS{rEO9(*HL+X^d(Wx+!M% zh9)5gn>b7K{rz>}@-P)GVNjP&m5UMZImX$mS4>j>AGO-|!Vq%YHNMIjzggWG(?Q|z zJdWU(LNY4QWu({TN2uyQL*Sc7SAR+&!m}kfp8uZ(kT|Kyj{hC!2Lqb@Wk02@8-yND zwBY#<5uiSgMOAXA8mhqb$QJXAmN@h(bX|Q;dHOq4VdH-X6!(U+i%C4}4-JI52tP{w zx!nFUTLdfD@SvpvP@^93<{RM8A-hx%!$ z2*Eq2W)_`)O8*dPefpWWtAJ-mZ+dN0$NQEgtqs>adAbwmoqvv}n?EmK9V0R@k!Y!& z=Zw~&ntKbPb+v5n(hp5G{kUxg*NA4nh@CjtGZHtS#%-pbB6RIN=$>PH%%RI!N1TIf z)fdY5Ml7|tuK}-Wt=}4C;6MW1VaR|M!Qk-az0``3YYds_62Biqb&;{52$y?KvvVDy z3~O^tS$H}b9BX{u6-l;on6&LAb105_25R;Y?OYJzhX4s0wEfj53$&8`@F4)Rp0uN@ ziVgXBP?u2T_P-jyK$1{N#p|^|P;$Mi_a*0vH>s&)Fr2k_@t*%et*e9RqZ0kT_u zn@Dhd;O(bfW*rWVP6;rDNuiRAoXTz<+szsk}fE*HtBWC<;Mfaf1}#wK6N zX=+!*I|4K^JvRF2`OuONKoKND3-!!EC=k@h3Kb)Fyxw<2DB!GE@OQrnm8W97`3 zcZ4S=J++^1aV2pI`hx~%t#pX4s4Th9tp6DI9UeO_v-_taqRDsh#*yPy#SII&eo&v> zCI!{+7K2c@&A}wYBcph9piF7EYSG4OPRyxBx1=Dm0g89BNLh3!w@40mFg(*SCFLj3 zNFqo-Wn{_zNd&V^c6I6MfTvGr8Djjd`hyN*>6glvWsc$^`Roye3qo>ca?B%)AZn5; ztnYoy*&WISZh7X6TGF7EEdTa*0QCq>3N2RbbX zeeX5ACx%h%MixpJ`)7NpVC0fKlI}lil%7PU5mM}oZ7H+BquYtLLXG+O<;JNCPg}&c zm4APVYXu1X+~vbM=a}$N6OTmxyk>pB9S_!ij+5N6(v`{j9P_s?R%;gy97lA<@rSI- zd5_**;kx`=%VKRkmvf%t4CmyXc(6!Rz-DxO%!e`UKaP8NZ^y{Pf}sDq{jD3}ZU2*0 z0X7NQZT9Z0iFh_Ve;)wvi=j>F@jCkpv&3}1YZ<<#ZCQ1bM^-@50a0s%ePQElo0Mjm zV7)MJzr9UYda`rskl2bNf6Q99+Dn0j&FvP#UW;Bm%%5m z-Bpf@AHH1i#4rFd9P3CGBPcA>4z9=1c)b0@E)L4y!*a{9O*blyj`R!Md+zq(({5_V zC&OC}2H&5Q@~Mf@FsYA|XY8dnjP7a$!EyhLHY#moy4RfZas`jWPmAoS`eT~rpNpPH ziYC%GVrsxAGA7~;9vhJ)CMK1g0y=f07E>t)>p||Zmm7x!9Bw|isNQmO+xL*ncW6y# z6}ajTS^#p6S#)`Vp7C-H5q?Kz+HUrSUFyqfcZ+WfiNvjlqc&r!9MS^ec84&w-OzD! zK~)87v3ZO%L9pWHn$k#L#>z1Zl$kDv^cO+k9EY*C11=-;{_ zi6YX)N@tgX@@q*+$j5z+sy~DdA(k(uvQ+XN55h}cNWSZ6Zv(A5%s|4taJ*{lp z{2PD?jP70&Ia3DZZttDpayRbGWnLV=sAE9j)1n%?(HMB(nL_#p^VOB>pQg-{Sz*;D zC1o=%|FK4G1ZqtbTtgT<^jr{r>gfp&^A9NwH-l{tN8#~^QTtOax6ve(&qh|$W9=d(CTxr}m!f2+CJen`_6J3xn{xSEuOkW0a|E~kP* zT)nG&{{Cc>hN6J14K<;ui|GM8l8_YXZ|%9!t};hr``sp~Bqe!;2u=L>ntgH% z9eFLk=#Vc^G5&CUnU#(Cb@p5A2q?rir>LMn9InhP&q+N{&U1E0|k zoyUnS@G^cYiy{tR^JA^Xd9v^2F3uHaAv&<@3_95}yjt9u-;#S18t4b#-PBcqoqloS z)FH|+`%$e^bM?~ELC5!}GMvae?zv57#{6Yb@$G8he)lx&Ya{zW zM)>9=CTgQA;rwoR7=7-nJwpQ+P(v|%b^R=xqYu{hSW%gr2VFL?yzBzjfP?-s@x-#~ z27f{#R(NDKz-TptR)1+%V}O)gCMV^s?~73ZvT@_Xda5U+bRynD#67ScxklXH{D$S% z=0|6nt z1O0xLGPXU6_X@yTid|Id;@Z83-D)hPfMj4bT6On(7NM{FP})S_c^*D)aRAd&4O_A1 zFfWD2?oIOYZj;I=hs$^)(*V%NN~nYIY&hmvf=xer_lkkS45`FLd3jFCx-#=6#7nn78&54RaMt&YPlsC|KQSw93=A!_L%534W9H*Xb7o&2pBef{dpkU4eq z?QpE}f0O*DJFtxAm82aqsBO!qW$^uG;<}Vs^%vgBlc45eo1uWcp%-ue{#z$*3h*~m zf_0$^(=@6{{iJy788b3ku@g>B%t@|o`Q9^niZQ?~2>U@5Gu)@t%1JutdR$56CMAfq zge&%yrA!BD2Iwjd6mdhMp+JqR!X=NuGLKq@Y}WC$oGPlpTq7_5HGNs%PC6mRgBqYQuAO&1-#3ER}Jxd%PY+|T0lFkEo{KwDCavK z%b)iABe3EY8F0b9-bwD6SZ?OA&!3xju{Zufz6#LHrX;c$9pB9$&CQR`YM%G7yEjHH z_o7K-IeATM?!SfB@;#?zyj))I5Sl2hT+Jw^T*)pOv0KjH1q7>q0v$>%DH1sur;;>r z97WGKl`U71dDmEbH3g;SiO)95H1a%fD(IXVn0N4VP{IxDp({_KPW2j6!(PM$X+9(LLst(|R4GdDQ6@aX02f3?w~8An&2Vo=(Q_ei-;o10>m z?4!|tUQWImKayX)z%`tCzHeQc@Mcp2SFQIuU&rXUY|_z$q)eF4tF{&q`??FnM!{(JDdV2_3%$NV8>AWA3Z2z}kS(y#V z+fq}L%vGOqWr-6sODb30R#pyjl$HbcM93`3%t_@I%~HF~U2Y-8MWkr%95@hER0JG= zfREoFp8w&x&hvb~kK=e9IcDx{HJ%TaURV@%?b)dcX?Rf(b3u-!rofy9Q}Tcn_3hdH z>LJSzoa#pyR2rpIB!0~G*{zQG{ZBX}+>YlZZ42g~yhCT^3M9CxKkSSyQ55`SZ_c6n(X1+j%GWacQg7`{s#} zvcaz5x)%l`ez;s9a{kKpWMyN4>CS3Y2my}(K^p$^){08_eB{z_7i#%vDP!o6NP}MgXT4e!XX$x^Y)iGTL?2pPHy9gOL)0xuhfuB zI$UsYaDU>?x)Y#*WVa8^^0BDNis8hz+&;@dFE2(vWl^@Antq zo~n6^ev@~_U~ZW3*__}y>3wXtNQ{wHcd-*|pqx4qE(nForaF{n7rPUmNi$)4P=CR%+MXp}h<*&!_ZA zn`$O`R6R9pEBU)SWhoq+jD24PA4nGen(=zi5sS303J`YH+?~xRoKa2m=Xiz~&(0)t z3f47(1+IF8F0Wc}*(!xnZLRTPQ4jE)_^CL(`F2pzP@{)vW6oP~4OeS)T=?95uCsmg zn7C-s6~%r$mgpUf*xC-=P(4Z|kSP5DJ5$t`Pd1?77~j)Pg3HW`+VC3)zeisIe<=Z#K0WS!(UjY}PgMY&yhA^)~Ue%f;?Pq8hHw z+mn2oRhfw@K$54*Sb5kxz{ZmK;WajKQU{w8T^1W7>ggn-9b_NpuW-X3PE|R8`|$OE z{b#>pVMcQfD>}tz&8e*I&uuqDDtbV2I1|-0B~c;eh<5au@~P|JoxWm^vohd8bYNwvKm4CjCKZPK8_O>#&udP&3f%d&GG0;g;2;lJyNsZ9r4z6$L zm3{6nAj(y0xvVq^rxxb`!NEpjc{-BdpHMAjulB=2qM_0ck^f&Pk~hd2oKiYFtUaaS zFqPY)^n5K9w5Bc6)-F0;yNJt}P`YSPV`yz5*Xgw|2iW8k7H)3t_L{!?&rH5Se3bY` zQnZ2&Z)%NH7gOWRoX%7G%X4L{S-RhN@xa!zx_x2O0qxnq?rEy?1Z?m^&+L8qFmHh0 zGfr&Db}%?Q)^e)=(wOw`38Z#pFH%_NGHniaJgbkg_MqI95Zj*rffyGTpT!g+79xR< zGg4H8b5MU?1M(MbR)_T-Kezf~9fNKe?e`6CR#DIj?}@@T=42DEPt5d)y^DGvJa&hp zR9_(~P7rAv;VcC|7yS+U1Uvn|kAj+r5L^L)kBi7~Tu_c$nkkt?xIe$7@HkuNMv z!BDl?cFYs_|DJTs$~Ht%R^VV&&ON%Px6@d}19Kfc@X0ZKd^D23h$dVZUugUq#Loz+ z&9?C1HFOU5bZB8GR$jZ>OqU)Rz)U!JtItRu-L5fq#S}VWlLj^!CYkF0jJ1>xgH)*B zD%5k1t-Bx!UJIH)$6x4Q^mUynDe0L!%rzEhqpT-0Z=>Su!zmfblx$?dGx+ zr{Uj6y|Texf$co%R>JS0uM5AWd?VE_lr`?rIxnb?i)KskvYID%t0OkgkOl@`(|uHp zk9K@bA_kz;>!yT&_?rI>O(T?_uYN~Icxh0Ydo~ovWyObL|G_S!XLOhYfiPr|yo3pIj`&o89bG>usE~t&lJ(LTcanR3KIg zi!$@n-FfeFW{=LPtbE7OBecl0)SokLJ4PG7W&b&k@;UR8%ajJ@DN%mR9kvUsB(Emz zD-vV+N+yeDoG!&3C^|V90DDQXxdO9!!qRxXQWu|-*IRckSou!*n=b~9b{lT5o+{th z^;YjoJC97X*7u2-XD)vsmxSfkda1=aA3l$Ats3=d{f{!*RM0F@(M=H94iM1zL#9L zU@Si#?jAOk$Ov=)ejrRv!D>^1GO_r!{^U+@0uf^dc$7B}wRK7@hbe`Nz1ra-59s{E z+V*-nGeeHTBkpFT{RbU7Xy9S$0(si>vs#x2KM@a(H7_N{Ne@B%L}8 z91ZL&3f&jCg$RH9bk`9CeAYi5&GRjIz4h3jL7}?CFJ0-}WK$1f;px*Cx^j@U`P!Y1 zM@NdWvtCOqddesG(YpcJfF)i2Uj%Tn^nwqov!AB9D2zhUe(*ku7A5{c*~L!$iEA;; zewR=)_oIh0TZNYJzoMhq>ka6NGW!bG^%ZQeUOT_BAbb@p73j@j86Y!kg7UlcC z5ej1Z^Y_q?-YnewnBkn*qD&yobdJ3`@@J$@@XHf>rtQyAg^Qb&(uBa&es;K5>qn(% z7W`3LGK!mU(S(M+q_GM8;8cmZIe60w+y$M@72tokPHOx-`wFh`h7FH6L|QhXWFPQ% zMyB4kX4Ko|esJW>EmrZaS1B&O0zDn?RVdjQYUMFyO~>+A%){n-?HnE`e8-UsZ7zYz z3zJu)|Nc`pvK@RFl|KVOD#JqxF;Qzu(fV0%a#!j*N$%Lx4}FyC+Hfnup6NErtu$^k z!x|k7bDpzk9|?Z};#fy52?^hj&U2xD3R)*UOve;>!>iJkL;c%@jIoqd64L< zt{i0vK_7lz1y6LX-+WOO({Ts#$-^)D^)e%<89j!sFDMN8H#Tv%T&v087;5%iRlLvT ztXTBEZN{tK8s!S!+U075GVVcHK`nnB zt>@)LvKCQaw;sPihBhPq>Iw%nWjpP_M~MgKu7JxL%%RLyK;l-9|L5d52g5;n7s1Y_5eatF#cSt}$>PF!%|*5Y?#@=8rQcbuY*NdkzWa+VJnJ1W|Bl+)|N z={4rd4s#&j#Jq66Z1}se^!lWK-VmoNc0e*920Qyew)+f1!YD!x^Nh znRkSB3*^C#826SxLkAx6*Bqf`$xDZw)5Fv^Wk)LD42Xno&D@k+a84hwJ?a#AM}znTFYI1?cVnLq^3{>mIVomB%!GWJ#(1-bW!H?2myZzK!e%TR z2z@jXPSBsvC+$$l<_c#5nj(Ds)UP-WzNq_12xQ4)*@C-#Y8i z0a1A!V!6VeF$kV}@-%8;WbMO)UE28cSmO=5Ln5NX#+hh%-=FJp%b!!{)oQB%5Xzk< zo)cCDmXkAJ#p7(z0{={hgNx}s{Txm|!BF0y5C*QHW0gmt6-}KPpQb^>vATU_?evYA*Xgjs2Zsp{PU*4Hb!sDXP zR6BIijQLq2-GAmeMw6&Ih69^`I{8N_QKOpzyhfCJS!|v{mItJ zeaGKrj$Y_}wzg=W`@Q9+@UY2FKcKX|i{ZW*oP+O8N|5+Q96e&!PWiKS*!pc+zyY$; zc#(GFyxm~k3l;&mmG92U58$=fTqz>jz{71RC&K_I^AM^{QcSOZn3I{J!6%q#m!71+ z=e3&f_8n5kzGAG+4NcXlo|u5^d!4zzf#A`ns&TwCIhpn1cNQp$O;^w9r>pRNl|JFZ zZa2}i=YpFfv%*>78(O8<9y) z8twcar1XwgPfS!7gL44ezcm9@359^O?y~K$dOzlzX9;>28NbhQm-Mgz=DcDQRF+2q zJZN!~+X_rZv7lkNfW%kUNdFcLF)Bpta3H*@17+Y^ANhRlMA28{)9P=+O^ki^aZ|MF z{ah39IN}YNi^VFh7ux4-J;hvBXb&U#hFLJ&LwNAHj_~iL3dORJCD&F!G1fEe9Zh0c zsqz{2Z?GZxprFFVdSrfMwvCPnd%#-TaAOSsTD2Xu^&`tsRW_?_#hpDcH{^-R)*TfE z$8~OPdB|=EUVgKn7!42}*qb@Jz9JpLGk0`BL{wMEdLfWh;M`b?oF!QFd(t9%X=P)) z@AStq&0wM<-OOWhE}so#=v()ho#_O5@&Us)hH{*$iY z@l!87gGvhx8%EXOtoWaNYn&yv#uET*no6|q;x#J1c!DcWE|ZN7FPPE{kQZ&@lIuL*9o(xQJ}ivFFLga@pycADRR;4TvR14 zGV({vq@X48kIo)X{icFMpba#liD#6h06Jsq$>}(juumB+7XpiYLFxrGUfk|CwYc)utrspTYv(Rk?3} z;nUO8{+Xn`Eo_m>Ub|MwY;TuU5y{rj6})5YM&Fz~>S#YpK~^&;bcpCm20!(P*+p^V zma2hLtjR?t?M_Z@g)%;dB$Ptdx@h+8JfCNWHV}Zk2sy1)owY90zSuFPuI97^9kBJD z>{eqk&L zc+T(ESHLRb;}x7Hpa?v+8+Pe!cQYK~t+yb|uxEAocgg);UFk}Er`DBj@vMoaJde=c zIz$ynQ9dU9ciDz*+A{_$8=lwDg4J~?MDPAH4gpfBbMJ&qgd?IQ%*7WU{^T& zMM!x`uciVvh1+o)xzh7ta_d)2O(n(TA&IzDw#W6MZP;f|USmWszau| z(CQ$*JTC<(GZEOH^<5v)Dkwu77~yJ2U$W=9Ui0-oH;s9!6w|Qp&P%A# z`|jN(Xhr=J-Qb7feZO{jL4i+%d)|0&-{b@Zm|)8xYE%Ujnf#H%ni|nk1;)jWKdcf& zeEd!lW}&FPgQr=6s^WsA5dA6Bm;A?{KWgp@GLPwqwVA(2X0}-vIF5K?+tucsAiQHi z@Q?G{R>25Wd}ZjTEI`Bt)(^BqMPC#O2236R_6gEUwSk*Aog~OJ;z@;*Tr6>46SLmr z;(0f(^&|T>eCQ%7L$(r&J_UuY9zSb)amnVeP_Zxh=E^%)hjSM%`=#7d3j9ddGn@5t zypi?(hC1XMC=*9)xp^2ays_Wm-*e0I4Ql!Al=(HpfwV&Y(yKE)O8Qf?3IH6Bp$PGp z2$yJ9*x;ch*{jA+_IFUTzS*VkoIcghyBzj8J*S41CU4vP^lVGEhx;6wIdlc&^x#vF za~CBjspG(hu^UMlN#)*=L`rAA$coD;4Cm@?YRZlB;BJ0Wv8i^C^R4!+PU??7-|25U zk6MnQI{FlAC@ooR`C3xe|FB_%$$XZ_E~ zGH(Ak03kjtP)0gF=73OM+e!b)ZPGfRklaLK|M;2RauepfI5nN#p@G}>t22-5Gm;+XLb z8r=Q%GR=0f8#t@C>ZSi^$1YaINub!y8_{^c4GR&+8x8jXXHKAzyZycX$HwWD6LDLj zASugGL!~2nJHE&z?4_s2KM!r?{vt74M?f-??1e794WYi|j=pqicTKeCz51sX(7EyH z>&?xEsbi6c=~&y?#?3R6&FQcu17Vfw&XOh>6ww$H{|m<1mNvy2F=bx^q{clQF=y~JG{656T3 ze98JNBe@rMhRSpb%2XCRt~5-zADD>T;$;gQV7yVA%Z-ZqN}^O_e+C^t**CKzm{vZ! zJ$Ut`JE){Q%0E1y$uQ2z>817^@4;bRypM@ETe*c+!P?RZ2EU3QIy%z3H`l3I zi&<6?@U)oAR&IXPVzUq)P{8wW&O1J47d@-}ab3BA|0QVys8S1V%_g2EW0^&VH-=HH zl(7ER0$K_h$*_TneoxGInP#*EZA386zx$3d_*k(v*rBE0@FIBy=l1ddm7mmHrSFF< zY^q2xFkusVG9i-cVIlhFaBW@Z#F_zx`#v%X0Xm_KZ0^=AETgfwt9i7Z6xvP7@@4EfB((1Br0ln2D9$=|_kiNqK zHta&>Q!lN9;5A3y&ZuSrmo*>|8n&Z>)uZ5L|3c*ZZvJ2k6~D2^*I6-5X&r=8M~U)B zbaLvn1CD7<3;;WZG83vE+*lxy7t(4%F7rAch}cd@*7gcaG=SpQpcO*mt2VuH{Sv^Q z2b)oW!$2-(d`N%@?~ii7A$WQN%4HclI#tIS;dei%!s8XCDt9v>bh1F)Lfe4SvpPQq ziNgx!BfA{z`taF4+=VUA!CXmn-Rfw8pP{lt&h#8zX|Eq5a_{1E!_$WV3uEF;ECL;H zwFelbu$?z_S~stp7JbPRHIm?H;dZ13kr5rSd#YDO?D5iO?2JXSr}*Fb+wkd z!b4pGrS|zJT6ML%OXe9^0v5RBGTDgte-D~*)joSUO|`nin3sDJewqKrDGvizYOSou z-=psm&NTkJQdd~0CG>0OrAI6rm8-)lqYO8i0)paAYw#wYG%P2GH|!AEaOWP}ekMfl zj_RhU70DO3sFY<$rzZNZzSQ9DAim4nX!B;2raF5Xoh};^AQ7x` z?uwx(hDJ13e(M=>L*}rEwlj(P)CRMsi~%UC+i54ahaCdH2CmepL}Bs9&Une-EHUD& zt6(Tf=zxm$48N3S32I0nvo~M8fk4(+%Wqa?ahWZAP}EzxcVYSkYH<_~lPhR3wSVPN z(OSpQ2|kOX^|N2IJp={bESKi)gyZQ9kqsbyz)B;6iR}2n+pK~3tS=g)H0+?kgAWW-IuWEE5Uz7{hhwSh=9L`qoS5qPoYz0ztU1z>YFF&5`xqn%G5;5X&f9 z>lq-G*6jI>iN_)XUbSo7#lpjvS3MPUjD%x~%*7Voov(5g0F!0aMu>1#lftiy2e+d?@Sngro| z`{_TrIVY%XQGl@-=@f|Q?fPoKQ2I9B?ULyj9le+X>j89NMUupZ#-MY*>&AiaWu+#N zXJ%fd4ojIfZ8=@!4>6PI&@DjSt_#i{drIl(oN%2=NrcWK#bnsK{q?Tz$`=b8Rk+{&F}p>r@-PJzOOsOCDz2HYhxA@+nV+&ojK3{{da%;MX$TF zmz82)r6TMzCeqE`Zu?bwqQuA`oA)K?pjvm$u=_gE>)|Uk*{d_h+=Vq?7*XQcKt}NC zNxySk8`k4)YW2*vZF+ySf(!wSo9chHm8%_oqL!EX;4Z3b)u#S^`%{D3TU|@L)slW5NVA<(tGxZ$4 zt-PdcsNz)Ji>X(}O{0}SxtM0u>9mu{2adHgA19x@F)ROjxkF)cR*4M5?{tiA__s3* zU>)L{0~SoSL+h$v&D%3OFO7YWdJe$w6P%JHG^~y zJT~fY;=ECP#RV!Fr|GEG-8A`mA^5GvBv45O6uC*9uh}8RDmW!+gmY=0{8M+w+vYz< z=1&uvUmHcfZ8uvqC%7nG1<72Pj_3M;H8F|ClJ3qD`IB(mBG5a z>Uaq5SO>x$_%Kl$VkAnlNJfQuBsZ$W4jQQ->T@zZ0-EK(_!Sbb&{6T!11k$W#%RYz ze&hS+@nYRi;~~ho3;(*CCwl=ND`-5yeY5MWpnW2rDz0!JnN40D8kMk{3AXh9%{cxF z5<${yWPk7u=g!Z3^Rxl-)~~S%Xn)Q}B_X?{Hu4WIxbj;-7SjeB4E@%7B`tUUb-&l| z(jSVhLoZK0{Sm?~R1V^JhcCQi-zaoB@hq!CvKPcnoUs`-{aIGqT>t5BT>9|-rLB}X z8fzvyb~Fw0P5Z2kN|bDG_k939Y_OEDxah7C^-dF3 z?au5Sk^TImEW+7ISXZ9=bL*gbb;mv=pt7(d7Mn}me!V)RT^;Q6jRnl}dI@m>WcrbV z^!>oqH6xQ}N?>oKE7!sJv=B~JmHbAQ-0Am(g9N4Nef@$*Ej)j}vOTF%_0_Rcus?%e z905dq<~I$uLpwbA7L)%;{vphd^ueNY6_(~v5f@gM`5whsQ{-mxYOVsRESMtrsle!6 zRCt{g5)m;?G zb`E#H_slXuu!jzRrlvRkNa(l24T|aIjXlp1yn(j}Dm$aREi|Z=(yxdl1qrF3AO^x3 z@QLu$&qe8hyOvTX_bE~%bj1DH0(U6z81mR^x8>2G1<9Qe$PP^$X{^Yy+v*4awI^2oFI^9o;@y}zDp|Wef?RATX2qzDIC97+YovCzxed9y1EJ2l~>+;qF2sq zorlT2fJDbv!)fV}4kY0#(IXByluc~2=FgCtM(tT_g+NJIu!`u28C z+g#^?evft82EH+ob`6FcO0Ey{@i7$eB(?h&VnLKXxK&_ODamT9t8*x%C-0u3i}1$4 zW>J&IW1p+C=(aXyJa!VPiNu_ZqaA8kY(=3~)IC*TigsI5-G>?3DrlH(5uyFojfZ!RY6GVSTDTfJ zlXh=(cZ!kxk6{}PTLw{)FUEfaz#ktC##hWIQ`u^o%Pyi&r-?SRP1-HixD(MUpm3x) z&-rljz9d`(hc>gRTchj4)<_$A^eb8S5rfdNcZUrzI%c}#yVED7`bC9zr$V`zIcA_^0O$VS8$5b$Nf+ln}fKw&>Zxb|H% zG;?Q>C?lHhS`cXg$BZtH2_ZYX#Frx_<>$`;kMGwrX^8Sv-cLTB{qOpPj6rtJi_8}n z{(zK0#M!N+V=8inoeSdCjFTFdvrke!jf!2Tr9k4iD4D_+V{cZB2aURzkXtD!YXw_p zUhQc(B8FJz-Jx7TXO@K3nD-h$LY8?sIqjzT{i#081xHmh+R(>ykP5Wb361URK77Y) zbC1+V4ak+ z^n_E!ofcN=fT|eZdXy_>f{TTn2#y}8IY8G*AdY7QD%@r>MpUi5*AdY4tNYQoXHcvt z7oc~PC%SQ4exlwUaJ!D{LC|zr4(9xOv^r)gI#O0ayt9FO`wv8a1{h}~3IdklooY)m zFMR)r;vAL>-M)5Ip}T2Rbp{hLk`CFXzI8hne@+T7zvE~77B$k^JiO7wW z!Ulz+5)H`JVisCcDM)IIBpn-O`Y9VG_&cweA;n~O9$P-BC(r8Lt8(Uv?rbS?RN66m zYP!+zlRL*yzcxE+OR`Lqz>;YW=$w#xe_^`3BXJT6;mw=7Es>3knko&PjA3MF;l6Z} zz|+lxfJ<99x!jH*4)|0}e6-ZB51KDO=+EH2YIz`V?^zgNt+TUl9BLAb-!4vA@AI&#djN~%s?N?xw zw8R*DS|*D&!@Cd8!)VoIR3B5Gxc4t&?S{RaQ_c0$K8DX01b{!$k5&=SCZhx5U%vm_ z5qsQp>AXJ~rSCy)HyEFO5sf%%Ua?Ckh0M#)X)ENtVS!;UnW9K3mZ@EErPxM5c{==FY)m&wzY0Ef3 z=IlWC2zpxF)`mRU;sh}gZX#iB@u?WL58|wo$>{K`U%WwFv4Ed;96L-V9og6izEN&D zDSF!7J*lupKNh@XxW__bkcQ^@2Z>Ym=%4K>pE9+YJN&IerygD1uZ8N)?CdPt!v9@9 zw9XNCk9fP%EF1?iF|p;#YSY4p1bI4~vAe86`is4@7 z<@}oT#t^B?pn}b9?cw5v7`Daa>u0QmnLUsG))#w_^_18%;HZ$I znX%c0ou*L%&n>S{nuzK>ua?^9fhimLb{DKiucN;U)jV!K>l-Wz&k_jPpL!c4+Zvo-Mxu zxuTunHX51c1h8R+-%$yhb{$x0mCvpjOwPd;y7kjto$zx zPtD%)ftgCVkGj>@PZ;JnNOkdIv#B-a(aego(r+EGEsq^YWu}6PCadE_`%9vmSUYVa7Z(^l#?#oG762q)6%rteOQ8+PJTuLbcohXGObqiJZ+M`XlG zkA(`*RMFz{tlhzb&$(L)lq`7wKVyW%n7wSA;hg;)Ffx=@>S<3*2kyMlSY<5cBo1$< zUelozyElm2Uq0indw=tRy%Q61r)yv%@$Ftp^-QA|49oZ{sI#-p_Mii|zx50qIR3$; zdE=I%Eah(BO_>=&I*{hRt!GgK8OkXtco^z4JNKF7WMYN3)!ce-pkM))Bdl}^wYS#w`e$=0?hs3VF z=X&96#1~(DyV9=PB|d#1$CdwOG3`pKVnM#n8>f}xl*SS`=w{4oPR>lY=kT_vZ6Ilm9lubt=#!+GfD{BN+zVtF2_Fw-H0gM1T6vQcSeLBMw_(0fRFn84Jin;Ns}dJEI2%K!>BwGwCg z<$=RZ{Po>>&fWPaj+&Avpgn8!p(&ya(w6}R7@BVCqc<{*9H$GiNk;_#qOzqzz5eH@7@MkihBLtwg(Lxih2663`#5+#VRR4i+53@;WO*oTFo2OS$BSnHrOr z8c`s7;K#A^l1CC8<6mfj;nUxxLmYdy04Lf z;Q!B@y?JGyW7ue}GfYz@-3G;&oGMfB_%8y{$D7#O_Z0%ejBNNi)stcyl+F!WbvAu9 zEb@Xxg0o@Nw)mW!LG4wCfybqV>F8r*O6d_Pqp7%5=DyJX&jQ%l-+lh-rVagM(=j##srxbx$TU(ZhpS4sy0labH$0oDD@&7dRrtbhDJuFlwhKYonaRb%oF&N*uiUrD&EW#F%P zH1v-8)a>JTWYHAO=hCx(p+#yBiP4SR9)~aH94_%enJoYhU%g|UB(dnjR{+FC)<(AX z?w^Wv3ejm;=ytb)hE#i7}-VlZq04Z>4%ksCXgj&F%oG5Ihh~NyO?bg(E9i1 zJkfHtG#i)1PM#vZeUKG!uxSLikE{bixm`x`PSU7pAzX>X%359=UQ2`sz-mL`nyz-u zdOlyj^CGvb5Mi}d=v8zooGkM|t_x?3E$Kb&DSn<+dOm6GcX`eMy@qU{+&`c16Plc8 z_AQFp7409KrETfE{VCSSyGFG#AG6sauWnO?JfK%$?4yu-xsBq%=`{z}*fs=jO}Me= z$f5zl*~30p#bo^Cz40G{^p=TcwXzc5*=m3(RFB z51v7!cteTO0ke&T_#`n?6;-fXXKEDF#IU>iAqL_9~rtBT2=C z{pSFLqmakDs-=JV)Ok<)bfCysV}#o&4=W2gt-Q?kCENb1#asoiu#>b_XxaSbW(Q${ zMVEPD)cf=cvpvPx$s6PDDNQExTg&VM&A|1FJjPKmXA$pLh<@=kwgEM78lo;i+1y@x;_16%9K?$0LZLgB~1mb1K@|Hj3$HCeuKmzJj#j z>pK9GW3TayC3Gj$J0=e}vqF_*sfIO%7|X6EIY>v@zK5Z|fV)=UqYI7t!iP-){)wt* z?k`lgo*smJoSSL(RKByDlcN2Pi8MM`&Y+LS->jSX?78)Mb^yX?ThmxIwTRv(niwfP zpfj{_D5pC%F+`f>(*)>;gs^mu>Y@WbYQJ=xy{3zl}XvTj_gtkgTwdDO)++HLVFw)E4i)iB*6$>Nhm16VC3- z%nr4bg!grv?4>kEyI@Wi0_Za9KGhHFnO=ey?`Y#^+DXM14iWdY9y<{oQIGYO(UOb; zAiCe{acU->`Ir#ryycL7m(^$aF6Q>@@%zcIsOcK;BW{AVgn1mGB)N-20W#HXcHjn*)T+%_yJkDt25sY?2Mt!Cxp_lFs`U?EXXOYM8D`s~|0Y zduBsft*wBiHgCF~zEWp*c}N@dQhouET8hb4N}yZL7B=aM9#`-#nPRT_zkg3ywex7U0Mv(AsQ|}7%PvznC!g%i|PGR#|^f!?3E?tdQ+VxGJ48i(v`XJ9@N-ivV|fYk8>CkW0tR*lC#-%`I6X!<=A3Ho0>qA`+L-${Pi>hgtD4Sc z`#jy^bo?W26|pCsx&O*7@{;1C&fp2ecA#L%6!Z3;BHXmllT{j4wbDKE@7352d9yrz zVrL)wjuLk)quC^qtzmDH3m6~D=2@ZI{kQ9m-81r8f5)i-1g9A1Eb1yeg;k$z_;I|Y z**1><^q3jQgoUguCRKP+qV~uu43~Ymw@)%dROfmbHIuoz5Vs5a&HnK~vBE_|Jnkwk z^0el~zZ1Fpuk7kFJMm~E-{?_!d&P9nTvNnJ;)8{UqF~i9>}qDTY}kDm5{rzAE!!DW zm9@^rr{^p6R*B(rW1B~_iIeJ3CP_*sY$cA$}Kp$JEFLLsh`RVY3tp0It#(3l` zFWA~8dUula-R}ohe^=K2Q_ZiYK8Qb$mN&QhuZFj2*A(&Jh=Iwi<6x{#o$MLTFv#%v zO6u<8dKT1pu0EtU5|igeO?A4%^$@e85K0!R+UrLx+omieMi$K~!rT)9Ft$GG>F0^Y z$hDE@a?T>VR{?6VUj&VR|7?gZr^#eIUy}Z@Mf`IV!Vlg)Ci&E_~t7g@sL z;-ZgH#Hfvz@Il`E{!dxF?LgJ@5Js=yZ+jFYl+;6|fEBf|L+W^hRqdnZM|&*RxGw>> z9S!TB>}b3?l53PxX{f|i?C^}ba$xZg^lcV?sxe_Au+}>?xM1^A8D)S-!4ES5LD6s| z2JluzRJ@ZsTvtBUE+f+MRO|qs8Tb)7$g_U#qyKZv#J!7*ec#zs(NbvbqRxS@j1Rut z`(^|X0irzq?>hcLaAV_j2=wxrcW(3cc_DvcQl$3qK8A;CJ>GK>M=ki7L%uVSKsl<_#V+1e0JC7dHZ9@ z86npHr?#F$2P6l~$pEBk(2tSM#pl@q-#@af|cpEh;hg$eI`!_3$ z8eOK&E*u~W#^2-=TeYB*Plo~1YrE?_V>Fz&n_vGTzA04>G+sLDPtv_|4m*nV`DUUo znk{)87-VJ?n&v~s(&zwe)?N&0Xvu5qCT)325BreE`vB)&GV!4TqmDEq`>TF0A@qv_ z$x43$%&5a)dqo>ywv`iwdmM{TL!np>;V{%HKMM$m>& zW79T>TVK~alcRsLbCc0Go&T+vCv*gIF(=Q`6i@%uT3CL(rUAqk49RX)_Mh<|#hp(< z{%#$+>+(Dh^UV|+e76ojuR`pVldxjBS{A!Wf8J5`>asjl5It6};U<%+nEBPxFh@KL^zf4Yw?KYHW3@^qYT= z6dk}WpLi=)vlzNs-xjA#DZF=XVag`Z$l54{Rd$b8al9+auzoecn_I|f(*S3gWZ=Uh zUbb7MIiB;WbnVdCUu@NC*Lge7Iy;Xt@-!{c`knzZ4`=`UbvfThm8vwzLhSoPTaua>NZd^NKO_kO=WyF5eTGUSkXP0kJF zhlmPOyaFDQ+SGh~7pGK+r9(&UVWl8L?edxmo|vNrgx9=pE~|ineLb^i=|>Fs({8Ig zu}?vN?PE=cWu?nZs&=-*Ky=XQNm9(D$rVfBWOjCO%UZCkhhbn>Iuzy2K^B1oH`=4B_GKqbgD$ozYF(>8RZA%CRjtFdLx ziCEo#!EP}he8lJpgpQxt8vcow#{A36rEkY3YA$2pcqG!y7z^!6pU~bUtpt#mq(a|} zyk(Qsy?q_v9{Z5+&Fn%sn6 zNBEg}s*%P0i(xfA7p>zFY4;x#@E(s-xcZ9M?VI#^!Jg ze@M)H6W_u{i$|=FKgK1ZltvTl_x%9b5<$>U*0Zueme3^2>5T~j0npQOp-YEoh2>f&qML*#6`L(-73eGW8K%AYST>FX3P8Xk zM^l?Vp;uPAQ%J%I{5rGxe;Xf{D~jnAoIyaQ z)||%c%T@TsaGCK!PjqX0&3E(RTFG7XlUGFSaLyJgI+C*W^j{eGeN4+{47321ynA6n zZ(+*cU|&ZE_D>`gnSZLn8`k3Au-YQ^<|L2kapVQHWLtqpOYiESteu&3uV;NKXEEE@ z+Fgf1B&@p`?A3dB_mGc2CRyS}8#@O($m8~`h`pkOAh6%<7UnlSsDouZ6*Zp+`PffP z$opP!dyz2SKD_L!ira=CnZNgR&!)wDjbFsrnuUC?Pkrx9nKwx54$}H>YqH!dkw!iG+1kk%Wl70 z!MJHbq&c+v*)C-ud((!qUXkc*4^N+lKdxB7Tof?fJseD+vm^Z zgZ2HOzjO?n>fuXPK@+S{?H!^HvTT6JGh*DC14n0z?)mRsK&(=FBeQw03?%W)N6 z32fkpXv4{<$B{L9j#0So-IMX%QQs!|WP=JHB12-03O9s@X%}jYjzdK`=~w|J6Yh+h ztKy1Ix}g^KFKrc>=DmbdswWm&Ur#w0%vk2TWg5nPH*#{BxUymSWTyUhQ`YEdpYV*y z&av+sbL?MUo)A{slMBlDl_$t9sLVvC?4nT5SbgaBvy3^G<9Of~&|0$|8D0o++>N_4 zZEp@h{!y%V%FaJ^aLT;P%xIal4gv$C8q-{p7DF~nYfJY*OgCI`llA%fx|Ge__>GEA z$7pe(teSI@|9(3}w&0(KK2-)srUT>RMfP$8_S)s27;MvH+-rZ(M&}0*C74}VJ~%Oc zf`XkiC?q?B9+3NOt0>x^3<}}vhIUcsg%y1bHv25Oarg7iF}IL}+e-DtGh~Gv;7W`~ zL`~PyC4>wt1#>Op=V+=vsQzErrha-!N05{b!(NP9NllZ8%Gw9Pn4eYK^`wiX;eLna zGc)S7ei(9gleTH+aPigqY8VNV$V% zYdRXww{?O5y>|Hf`e56+K;r>+@^4`LvzEpTPgW)_V~d535!zaw*tP5@_D>&JT-Kol zS6@?Oz_krgB`8b%a&)DUDp7&jC9M#lEjKl}Sm32mov_7x#c%?{J)0yGysEU(x1;<= z*sDQimmyG(3_5Ma4*E~iAV18@_Mv0sjp=bcU+@p-FQI^S=^3;}RBx$SjpjKZI`X=X zT`V=;wq0Erai4vQJG7lN(-3q?cJ&OzUFG(@g6ts-qiZoq;VnxR!>Q-7d7LO=?Skrk zQ^)8DYxaVVecPer9c)R0Y8p2jLgvl?8T8eAk^69f8>wj^xWEA=AhO z-x%ZQ=i<^)N69UR#_!86FBIm}rnSc3A1c500Pm7_o^oM*M@i4hYGE0v1C+zCP5CS) z5|~}h#TiBeMOMYkU!fnWcddR)TpAk3_VkUZ2797!Eou5?>GvFBN0z_kKu zP4$+rf4jarOr<1jKEMrZdy2Amy0=ZQ;g)<)Nz%gkUrDZOFR}c8-VT+qTxt%L1~KZc ze6B&k*qWG*x1X)L4gQ-<^K3i?fac;}e_+)!?}Th3kf=1ZXE#r`E7br_kMG%hc~oC_ zi|cg=ipr>&w*Mnxlt}Fq*kHewEyWK?0Ac@NwGOU(A?&14+J{RgMaRp4o)460f^+5W z(hyS&7tp@FoWOJrwuf0dMXJw5uK!bOW=5&o;+IKt@13Id@R9s*tzPKEG>{97E5469 z_ZZlSZkJX`vw_cp=(KrlbJ6xNm53Btpgn3y$Cn-ln7UlWv{YgqNO7c@Ny^}bZQL3F z-%NYu1Sp&*076$DtZx;QYTmzjoA5)%zf5JL*(n1ZCXIB>#;%9UD+KWE{r3_;cmj1g zgHV%9xoVYG7v!P$BZOhu5Qaj5r~F43;$1Nroyi91r0J}H*UM|mxNR%~8K>14Ic5wU zsaYJgrA?N4&c28JEUGVdO!^R_?RUD`wYU~WS!N3T#zaN5c%g?~P%x^KdJaq@8M)D^ zU{FU48l!zaszdde^T}vrW@dIVodXp0s1*&J&0(5skWx1Ku{yB$e=`ZvJ%R@S^1&wV zQjL27#vi;=1S;Xrai%B(I)-kS0(63_^xX}wgCMLMZ`Swr5>7&7cZT;iQ*o9F>TR zx=i{&7H%8nZ`MtA3DkU3We5-y!Oh7VchEu zNTDrAV6ymUm9j+F&&U$jqXzkt#w(s7+9KPuJ+&e1OLKjek{s{f@Ynaivr;~u9#@|l zhK4e&`i=$%1Zep10wzQyG?g-9k~@nu=b}QDCIgDVU(n(aHBGe66H!0opuk5oi{K8m z!E5N=imqk6>1|aywnRik*FDH6&@a(3^!VDu+E0%Pq8&N;JK1x>(awIQGzBUi-zC~j z88r&)z%c7%`Xnh$;cB2{GVOnKMZy+tF*a_%e1^$Pv-(%>rho2jM>TuvchJW6sz}8< zmGE$8hVF#+-v z+3R}Me;eIgm-T6+D8K*ztaWUxfRSNNo#co$egZ?SK%HowcS;8> zFpjK7{t1{=hnMii2tmo*by{cfl($h}7TH8(qbZewEAs{&_!KLJ3Xn59r*M$=-2*jQ@Yn6Q zOeBRS#g;etaay4WI7pb)Ja4{A83u?*QH*~(u=*vT|N!qxn;bGM5h7UFKXeZ z=5R8Ad*czQ!)s^(SrPKf8|su-MVEr|KdxMQDxJl6@U`{SjoCv>iC`kmAP>53OFbT9Y$efLCWeMq1PV=>4n5>X}?G1gl?)-V*ElFm;j7 zV(7ndiRVhe4DM8S_i8ib$NVt=Yw98paQ!e50#jEXLScOuL^XHC4}IvRX9h&1gmKKfO+W#(pGM@k5* zknAV(_SC4XF@}b-2oMe$kPx{}PaWalbSeWqjRS{p*PpQ0o{=Wtl_%M1!0*S0Lzp$` z+Ina12L}ra*>jZP?Te1b#|W%}NSePu#r;cfFDhCfqxZ0BMNbc#16vk^djo@D9# z-eP1(YP$WTq@-j;dlC)7tF(eIW-N|3o)5D&G_=NNAA4^P%MtW!Y_%lkiZ=|<03tf5 zc7MQ-%at>B*Dkn_5|(#%#oV3WUvuQHvyKL#Wd?mhy`=1GZ0M>Bxv1QerRHuS-@jt^ zPU&1=E~PErB3m=41T|A+5^@@6f3tY{mLU={ctCK;M@l<4Y$Zvo+wG~c%Huv;hE_Gq znY?w5*;>)XPqQN7UFDgh-8Hq!s8G%*RK2_KA1&jepw z^K=iq9(I)oK09+G%74Y}ed`ZllAM{}_9xvA)!w9)zfRs!OIx^@eVr0nB=~Cejt{ivnGbU2TAC&x7 zsLsmv_L|p!&-lB8_4oxR#SetOv#SX69S^MBVIR`dL!=DA76xHD<(z{8Kg2+9{C`#& zjuy`3ez9<7qE7{^HEs*d`)uS+-qzN&Q;_44vin^lzP%rX!a@Vgm@-`#2?U|POHH(= zr!8zgm+q|+Bfybb#FeoxE21MOEyTlUKLTG6lbgUd!A72D0hBifKM3;8Ru9prj*Oz< zYA@=gH;9USRm_{s+@W=YKKkJ_M7P?T-R_2S?!A1hwf1GF-#}c)ZF*m-bYPV;;J9_U z&k22$D^e>DB4wqwVOJq$Dz406gwW3(dwf6S_}Cd@(fjhJ!Y{smO^MH2iR1Lj?*Hq2 z3Xfg5CvHHD9WZ$Ejl5H45vd-=@eiIqoZvk!YSNtC<6q0MaNQ9R@7tKldmZWVOxUs1 zWc2{-4U9GR_8e}3Z^2>QfzOB3p~|+KWjoS$A`cj2WDrulfByDxuZ|<;+WkB`{?q! z_%U|MSY9Ocw5l*?nyKAalqLNIMHcK*;_daz^~vs14kxYwq2=I8W<38xPEuo5t1*sf z9p!(ntT6)Cl(&#VADl6oG8%NNm(tx^?qE7cekcHfr=4nEl-+*u>L*M#gVW0&_jS}2 zbF6r5ccjwnocEYc9oxyrH7v>>3t>@Loedy{G7I&(aGHvuBz$*PH+tvWm?K~2LQiHy zeA^tu0F8_$1OWHgzf!W5bNzN z)f{oJAxZI;T%6awjB*hK_)>r6opgN532(!+yU|_6P~owzY1`P9Vuk96xktUWo3c<( zdmq?4SM;E_r@r9%@9hE#tEWNb*_>LGw^5VKm$$H{5&KBD`Ac^r;rkfwIFCfG*8g|B z;-uB;(Uf}i)>jLo?ys5;UA(MTepZS%DexNfMO?EL^ddUv;f0|+j#{jOS=j0$&4qxK&tCwBK+Cz70`Teel2Ryb0} zVnETufA+C=5qs5D2!8w`H|#W{k<6CZjxv3A)8Vj75;pAc)Z2t{rQb5_WhX4y@8Ofr zI)Y3W5Mjc&`HA`O*^;3OcGFBg?ycB>I2CCpV+R+v+A#ku5*S z<56aJZ#EbEP)M}prY;ceKK#( z;Lq}F!HCX{d+%5sA^eC>?G@N^L}h|i+9Ex|U86u%V7osnA4{lUDmQv2t+T}nCJ*@p zQd8Ks_~|Z%r>r3-qCGiYmrQhrxbM_YGVh^kv^e6EXQ2SIAG| z4Js_@15MAk)Hh1TkuhEN(X;&th~vA^|2c68C&tDcSQ#~;XX|Yh`QW^`TZy6-XvyA7 zTpG6b@3=1xe4zS{-QL~xZe4SVdYxzAK9EwMlL8AqJKEKxjP~r=nu1+)pEbz52ISP7 z?Qfe13(AH|ru~V~^+f3j8szw>_k#}qt8ZM2nHyj@&MfD)z$jB8-md`m@8{Q9-cn7D z!i@7zk*!4jc0voIArk_!B0_)kG`B0n4fXAKnxk2F`uyu?qund-o^ei;GzQ4-(Rb#@ zDBPIW(27fn-9;c+PL=DGBuqg7CFLfI5*Pd*%P+=FbMG%w#1nPb}97TtmX z0>N%=`WG{rt8RSPlu7N$C(Ia@P)lQ{o~YR>pzPP1;QKky&iJTaJ^u>r@VQj0RD*#5W?1rjet1*I4smf=U@g&Nh7h~hd4{taT!+#7g>B71 z#m5I}7351@-bG!aqCc9#YW|mW`zYX`3W9v%jDNxg763x6EHBfZQWCVU&z+2YgO9Js ztZnle<*R<#He*6z6+H0C z2VShDKDdK)GoXZR8g$VP@b7TKzLNU9@w&v^^1U#1{owavQ@h5+{iKM1hPwT0v@c9E zc2)>UKz|9>-x=X_kL$nK3;aZEpG!=TjH8ZsniO~_t+A0RY>njSy)BI;O+RkIzNP(g zoP#RnvE!axBNl~j`|vt!+~Q(OJ5%0J4PI$0(RW_R*5X;({+l;c;BjppI6rUeEEF zsJ~f+Jq!qaG(@OpWV|~uP$+mO+(xWC;+v{_72#7+uY7RQfMLVbg%mmw7?nhk!1v(F zd;}%E@LuS>CPT-gr)%{-!!$0t@QD4ybH7LseG+D18fQkH8>(U|(DLkg{qYIBso{{O zj@@qV+bQ7tPqn%1D5Y=`6RaHLF8gVGVGltLO)fBsBLpFX0oS2kx(>UZ@IOBAMBcuZgMn z48$k)jI0t9CgYnd*NedaWY}uFo!)qNiX!B6Af!QkMQEHByF$4{w&J8v!M0c2#^Nu( z-GXpxc!zS0*tMif?1wW1OX@}mpljJHaJt@0%eTyIWw2$UU3l34Z)mtT?;?DIWQhER z1Pt#(xpW>kq&4`EE&iy+1Nxy6ayb5+abfK6;kAFnlP`ltFQ4rH0t>n*bKakJ0n~Qs z?+ts3Rx8Et__KIC;(W`0#~ybpKEe9N4dpDp@nPKAokzRbrE4j^pT7U+-}e5uQzX@M z?LlH{3s*31Z=mt`WMCv#8qM;A-F|cV@(L2V+FkP}^=!|z`ygi<$--!hm9u`qmyg#d zDEr5}eCKgBot_ivrx2{$m^b^KVT5Sf6|@mR(*}F7Y zsIu^6yU0hXj;>n=F4lC~2~ZEKs_-&C4@aj=-gHXqEWz|H$wGjI?IE-ka#NfI%7q`u z_KhO;(KlF|`yG8algo*ejC;sqZ^SH#*#9D21*t}HHO=!gN)uoVQuBp$e&w(2Kk6bU z9-+;_n3Y8VNU}S!@lZ-#8=18;(UQ_YnADyN&x`1{c?k7Xp>>_{RTRbe4QxnS9UY$5 zg@0YeV}YZj_GNq7p)c{yib;?V%pcw*y+$_pYB`lbc8hta=y6?I&50126g{ z+=#Nf@llVtq<>%5FI*0C$j;f)m74tUY@n@Hy6L5cm16%0_l$G&ZbcX$^C>uC{lfcR6 zZT0FkbXY_&3HM6Ysb;R+Dfvd?Sy|tkOMir1XU)nhvaIMAaxtq3PA>xW@cI>G7p-XI z;J&D0?cUn0o0hMS^w{2C?u$GRiCTDd*s8zmO7ASgcS|wuNFOrU20v(!shZ?a9u;&o zVh@7Z5Nn)ln^V5sqB$*V*`Ye%Z@`ftXY8~3HGfa>?i}{9G{tyF-BEqIwxlEz81Wgv zy+6r1!^0+l!h=gi))G8GfNe727?KiJy_`k)->J5Be7I|6RfuPlP~z%*f7)o2Mj-;& zG%=GLy#yTVGMb;x1yhz4b4@XMiV1L8_gMRyxP8%J3J#+#8M|WS8&>tAXBi&O)JI3r zUvmH%i0!6#uP1t9`~rTWjqH~sI9Vr<89v@a2D4+(K*CU+afny@h6vRT_wk!vHHAtZ z`zblko&-MMeeL58h_st`06IhF6e@(}V&~nJ;>le?0w-Q2G7lCZ5Yh*m3v!?nUK8!UDO@ zhEcC8C?SR$6=kAcv&Yq1y3B)6O_@gQDRfAo#L(O-y2h;vaxcq8I01)WLQ?lr zd{1+U@+|BfHzC9gw8pP=}m_1aW?+l4$?W)31=Ro<(4|v3gISCMKi$6 z_V423egVV<>E7{>o#VxPM=Tpd^U>4rNR59cyiL98dXGlYnnj|uMAhk0OxOMu0Z(gK znda-N*5RR1(VYT^x720dTX8ewh(mBcop@QF0WfO7hPM>Q4CXaX(H;*`B`m8QHVM`r zqb|h>toQbU3FJLO$9SJ+DODUJ-vSpoyYgngW0KR7& zUEAJtj*tZblS)5erO2CB!5Fm&wdB41OR7x7n4@Rjrpv(iWVZ6YS*TMEXQ*41 zz+MKI{6!^YqNSlrmCI%=RKqZZ(ZJNG%jG&z$-@aAZb*3Np`jA=JufYn`SY1R6Q(+P z8MXScF=azP+TVNh?h6jh_%Yi6StWEE6XF-XN!S9&EKWmap)pJfI7C%wGae&ARby9H zy-vcq*BbhL7I(RQ@uxl1|NbuvL7}X!>_7}W$Pmu`f$50E1F3SvA!&|Pa%5d6{}VF_ z4gy7d%U#(I(LKdsIR0wSw_5J%N3_G4;glPe3>RXPXzfdPTaB|_$O-M@6ic*0`1&;A zA5n~g0752f>S5vYA&zCNz@6R%*URZRWIesbs8=-~p@}`&yJ{|wzp?f^PebCsvGQ1^ z+>J-Wb8$R68It_rq*wz~WRvTZzVXw`w{PAgH+y$v>}|2VZtVg?ztM?=qog_x0*61Sd zel3T@vzuYgyKKq!oIph0KRIR8H~6=4iK{%1{bEH7n@m)FqNdx{EYKQq?$&RYK_T33 z`!gVWSK-1U!J>0x(&WD`O->dt=iz?xx7!=f?^5eck_%%ZsHo)W%T;9Q_22rb+S94( zS7A-0YsSn4?;)7|OhZfPZlE@d`Pw9vc6@Ag;4avjl3=0dwC~x zOIqo3BqbF9{@|k7%HJ7E z`M{w;flF92GjvYk-n|)yE0Fq5LU*b1I<6GFIZ%7*_6dk^T>N#V@CiULtFj-5osj8V zG;4v+%+!^rr9ny=w1af9mt!hsPQA#jMI1T9UXQSLOlc7T_yjCe(}a!}JiNeLhPrF*yj&N@ zw_@0?i!!y0fz|o{g4ozoQxB`;!J7&H)il^6k~TEaR{jhvTM<|oO^!Ee9?BHLdoPIn z-oBW!-0Ja*jeoZuK2%8>?o~aUKevD8W>6JvD?go6BXB2+osYX>KEM_-Jj9uP7=f?) zQ5qJ=tx;+sl#=+F@iAm!yV-WNJgyYhHgd_wsx9rP`ZM~Z@s1LD>*ed2{xi7<)k^C1 zY5I%eioI3qdASE4K$jkZ!Ff791=*3h) z6BF`+8Y!pVCS-Gew^z@kGQ$hsM7~k_6@}?qy{qC?wi50yutlu3VjmPE*X4BWA9MSL zMD2_|iS@1Wz4$a>w?giz`!2vP_@C_EB@P<)sm(_kj6ffqrJd+Qu_0ix$LdGE z5Ff7BY>Ic(OaGo(v&dcM%ZjdDyak?lTAPWuM|J0%8MXQxUaz>f&fhd7+;s9!K=47- zZ7%6WXq*uID7!M~2S{7Y$N<~gETFyTrwNy$&&J<4$8@Z0O4I&}$B%wom8egr zN8*Fp2IT7g{HT~yaGY*B2-@6z>dM9`ZO=oYdK$u%qOz=S10ma`6;D!od*AVIp%-h) zxW&E#4r8YyYP3u6%k5c(l{1K!fkVB#uI8DiEwa9I@-OODv&{VZ3ntHsfFl?-Jc=je ze-LJ+H|NB-o%@l5{(@)_}Fz|0>BfH6?9TnPjnms9k$#oJKT&*B+4ni|CT*0jd$lAO4IZl?Rrb7 zul)>dSi<(>F7};GfqB|NC&CyiPWUpwtOlf~FdD_OoQf|(yhJCM-Mh`HT%p7Ju z_sJ|=$|E9zOry%L3%sz(&Zj% zLAn~JrfqC4mAf}PpOuhUZMT-4*4O{azUl3XRReSKefss_|DKl{A-50zUQqHTu1~Qv zJgEq$O$OthW0{dbN|yh+hJm@^x!19Ve_|yzDXJya5?`yZ!)jn}6DZtoF@%C=(K_Tl8+~zWo`e<42jwEYcIP-*vOSZH%_hS4M55I({(;C?P+ZSeE&AUbw zWVWCH7$$TIVf#17=9l3Y7F)xBuA1`)e-QqA#Jwd8;%-o3=Ir~#ioG4EZ8-f> z$(il`HXu=`Trvpt?P;6U#8Ud~af0lsvU;{5t&tb` zN67FN28n@@FH|PrZ5kHZx(C87VZVP9pp;+H#ItI!D7`nnaN3O*S`Z-<4JRctN8J}t z_g%#j_JpY=YAYei0_kS_vM|~q9aNyt!yG^rowYLd z`HmjVKhFJnlv_puZD(^zxamVwFhxNw*Y3lEcU;^ej1>0e$gcCHaXeyn)=>)P7+8%=HiC)_lFs3`;L+I^8Z!Hm!P6E z4>fIia8VFK%qx6Q@5XV0bxQwP?nJIpr73bY(zJUeAM9%D*LYAbKxv1Z4C)(mGuStV zHx=GNHzsD{^Y)lW|D*N~ANFF?KDzWANBe~ZTzVGi`JLK7UZ!~pJnj1xHbZzbvLQ{%48wWp`o6)1)=QT%xm6srW>AS0VH5eHtW@W)dSWT6+{vAzfn5u4 z5)x}tT2y^@`rSq|`TRG2=_WD~sUn=_Eko!E?T4!=QD79AmZjm!AS62O_7}w~F z`Y+=SqOmJ#qGl?yp}&5>-Jg?|8}mU%nsv}dUof7V?1LPs%s-d2@f00sWZ~vy#qCu( z__tx*KZmmFP5U4UDOPevmkQ-tJywUn2cB?-+f(TL<#{bU8I7=P{iU_$%J%>70>Ca0 zPIfyry2?HbxM2qeBVWIT!8zvF#SpK8%IKo23MM zn1xRAVfe=VKiF>)o@50)8UM9B?d;|I-z7Qy9+Smvo73hx*tNb_C-W6dG(CrA#uGn&%Oa1@hbXxY*sU=;5=J2Y?yeYYDH!XkeR*PPKF!=s5Av81u-6fBjD6lbabmcnz zNjy%jC;Pz(EFL_yA^c?fm>ED(!JtA*YRfN(Mz}K0CdZUF27-05j6wUplpdK06W;31 z`peFd^~of1bxng7g!12}O*dFw5S#4=fg0MpL|&xm}Z+|xZ3vdn`svd)@}wDX>77z{OLaNy;Se*ePeoT6pQkOLQ|>b}tE{ZU-xXAYM<>p#c0!M!7`P+>Tzu6W^Njy=C;H>uah zzQrk2M-)>F+L0hrieUi|^zs@wKZtoeRy|A)i+JU)s2?zv9ejrerfs8`Tv=CL%J_i zp&mr~yV$}Wer%-d3*|P$s-&%G=X1DBz7u}U4GHfSt#M YZ9 z-XW_Tf{JfaZm6KxGE}|1l zNb1&=U9BSIfkc2$mykXfGHLlLBWEZ?7x_?AC3dz)g&8^Z)9pj(H=AsG7$dP{9k=gx zCvY{xR_BUtWctl2WbEt3asFPnhLFMm@a=&rLDQ5cL(bH@;qJS`76XZf@KAvq_?%l? zw@)K6um3HR=Bvb3Jo@U0)RaV})26`_D?`YzA3~38|3x+E|1e&G)?5eAja-cLo&Bz% zO;_%oC*QlcL{)z8>Io~$E9x7yitd28Ma&m4=XOQIh$c@n*!(IDOSpIM<;B zI*gwANIz}uIe;-qwOHVFy{HjfJUdJ9HZ-XJx}33VceHb`I68{K^eLvu8pL0I2KJf> z(~y1!E(r?Ju7iA)uPf0+;-a&d@{!6+ym z3%K^9sGsmXO*tG%82?a zUUFENs*McDuCV*w4{un*SP9oL%GP#9f*90|D-7Pj){OtJNT~x+nn|CueDHi z5Ei4$OZh2~MrSnQl0Rg>+j4NZ-!oHnYL(xlpbz33B>apNW#i*cTaykxW+Ws2h&=xR zuhYLGISHXPE|EJc;}rYS;vt-YNFb5m!=7WG=hH@+;o#nN}Jt; z90Ux-Mpeh*%o?(sWw4e`?(Tjoh%aN0_(w-|*AyH@um@LJR*w)fm?9SbON-ZYJ8Q;? z&t0zy8cY)Y2q?&9Ib6zs{BuY7a&Px77p2j=OF3%;Z{KA+4HfU*m6xl~MD~%_S}UxC zKTOYFTr#;V=Hgv7-eU7iuukp=U;%}3TWx~3L+-CE*clqQ-()TP4ck#5!FQK~A~Pq3 zGDM*H5%XO!4Ct)C2##%(;dwb*yel+BA)a5d1-n3{t4%zM8S8~`<+>gM`ThSyla!!4 zc;8i}CfAlBn0%frzYn_c?%#NmdkDzqi`*8%QZdPWQ3p!{s4R^y6NtjyiqC_jxuTm%Yn^(T3l+&hD^OJvOe~Lq_fNf$@e<6^>j1O{q|jB{h{EIg;icSEvi7=b^eKCshrry`O)a?{P6nM|>ri&Rd?rxCDu*J`JNsa??;8%2 zPvvb1O?-Y(2pqtQ(*3XLxsZ}pM^k!6r!RKEnTh1rO@=?AG6p^c-57!M8`sF#;vsl= zDDx9!-S)ndnpFOt?S}J%lyXjI?3?8N(t%y_NnV~GKyqd826LxEI2+ISKgPRVzZ$bE zIlK3vfaxCwZ?g#q_&1i>71gFRRw`7Bq8vAXw2{R=x9@c#smt}8KWy85rId-O6vhWl zXalaDjDEj$CeblUZTm+f^IFyr{Tb}%6;z+3#xEaLU?AgSA;uJ|u&1O7%WQ6854SYf z){74}^%O&XAgp>#PUsK*u&zfou%F3(5Vu_)Gh*$bNp2(^}P&r*bso*`C6x6)ui{CG`>Hwye!XC z6>YzEH$Fbm)Pg(r_zz0}-`e+K@M+3QZ|eJzjr|Tq)U>KLdOzkstP>D7kx>P>6ctKQ z#fceROhDS&rtn!G#C6k3p&rzI<6}Rvd)JMTK4jR+?yA{RpUkeCay*0$KKh(n=~s8F znb8KBstH;5cAX1t+GFgzpj%OHND3>y*f0&k8sWrVa;0FAH!}w*21-yOi~ZS{2tdeMd3fEKP~yx6lbd$Y>GL zpq%Xxji^#dh+>z!HS$K8PWXAc1KksumcKG#1HfVpxn3M27 zMjVProL2JjyCbT>eV#^vu-qvI>Qo`<^^zheY$Vgb#&zW9lGdxGJ_K-~lKG_ix?KJ! zb?5^wT@74qPxomdR4MAu*W3;oV%Vs9q$^n^`XmnnTw6+$9BPIo8xtKIP9WvArg_`8 zfe`LYxWaqHJF3AnJtKQE?GIpXW7c+Owmp|hJGYWk2gBgO!&TP9(R$DEp+Y%z8q0B^x-E7pD?artw8?(<8Qn5HaVLHC>sUnP0qbyTzB#F#bjL~G zvtdF%LiYh(JA*90NicE!$JVz;UhiVKAxg_FymweAH$sWcFM6e(6j%-|rYS5TkS!4X z-c9EE!)uo5(RZ)|X%>prpzRa3R--f^bMJk#eMVU-*4~;3QEU5y1@1Ft% zf6NaY1Hl8;d7WOGz7!)zN;Dkw%VWMR1S7S|qGJ3;((d1`9>8~N`nvA_uOV?T%<$v% z*;iX|P?MZSrAhLYa>Nn^yNPA*qAuL-lDlKkHQAGZP`Z8^C-C9U)+8FSHN|cTAq>}$ z&)g;JoH!K35GhUAKU(B=FFdAPH;;Gxc743A1GT%imjVwbbupH=(Jr9sYeeWnD;^QL z2&(U2_ElW^$gxSi>717j&bja+!7iG%HSMNY3V;6xDeTU4`Z~eqEh~CnAz0ygK^t!e zek6TcJd{&^YCe7`2an9FEz!*FaEyMdaYQyDYTRz4#J|N8T$#o&?R`DNjCt99SMr{t zVZP1FbAl13K7`IiwE-=fCt7|KXf(5Mum}b_<=#(R|C;cE^Y+~Ssk?GKS&O1(9e0&r zXA7s5US zgA#(O@${cNpxn{zRa_m`2-)tkk-QXWTp#qJR^{3H3Tb55^b}{UGGLQ=l^3CVn4cHI zVxLR``;R0){`#X!695h~|0~EiGBv5B>^AS5sK5|9#R-)Ak#ne-Wic7 zX2dH~B|^?h=;#*Ue=H&rhAxwo!dqngsb!zpxR9=ksxQHI#*i)=aelh5l@cQuPa%D9!#Jq2fr?I6z_9F<4Hu`Y z&#b$Ua*YvHv8pg$VV2O&vC}PiRrZzw{m7p~${q(%u8ETth9D>e-Q}ZNNOag(b?Ktr zUBm&bpINL{98Fxcytz}JoLc3|SQ3V<3);g%Znr@hWn|>Khfa96i=1dzIaxZ}&@hFe zo@x~C%Aex2{-Dgr@JsVL{PE)81p{9D4uSdURFH?HISp#l8;6l&j2Kho*CS0?o%fQH z74;sGx+^7jOKYZki^rcG>h%rb)*?Ts;%6rG%vE$ZC|LFSq#7*OQ*Sp3wJ()DsSrr~ z$!NFlAf|OF-(J!S_RhPSJyIf}x;Y&S5-+niG?H>Bf`w3MO&xNu2X8veLqi! z2D4A+*E*S2)pedslD>9Lc182}Zykl<-781K(!D;9P0~!cPKZvg zV1^9V0@9WTvn&!Tt%vdyfaD~GF66RML$MMpD;PG+SVx$NuAet6coWDsOT96cPkxw zJxXV)ri1MYWAU!wdhY0W7Oz3!6EG+wlgquy;Lj&rM>r3Ejo3aXhUp< zzIJ*P?w*kp{{4c6$PZV4@T6#*#Y>&n21Cl%7g+e>u+ecI@>GVib%2AfUsF#WYDR_GhizFrz=;7&BlJD!`ugyeiCaX<}g07S532@u0(v<>o7vi zsK0hVCtqbue{taJnp_mgZyLy(RIeDRNHN8=>Pa?S%1C1CP(^n){)5tmvnLPcCLMYg z!U|=EoDUuA%@TF>UnuKWIVjF5tpc_f;WgA?@+C8pCnbC5WmHD>0_5{B zyNK+zI@wI+&#gBo%4;tBmRBQI^#TJ#7^0f)CX5#c=&Ar$Uw=;)z8w_b+eTd~OUsJ7 zXDpdM!+;BOqIn2Q=K|Uen5k$k6u5uoR#NFI`;cHazG94|4-bg+(?$1kHDCh#L5zh7 zekVM2ipr!_3FzW3s5zVsdGXK?Ch)B6+pFR;CFt~nrE^oSmV0K4ZFkn;s(j>G`5i(r zk59dAwaXo>lqYwB(}3v726r|g&F?Ht1P)|X|1+cMrYzqnd3A)5xp-;(Ep zX2RH?hh&dYe7U#RfpHsCkzypD5B#i<7+omvYE4BlN3kJ+C(5#*iKy_d3n|h)^@= zL`j9r8~zAWhanmbk5kMTPE42VXny8KJl!5~exnX^5gUOBtInIR^`w#J+&RJMdfFtl zkpsP$-r=$@fBZ;6Bj*f;fY^m2x*<^-1_oo;j?}Q;^c3hWVd~ZgOs|C-gq|x!BOE|D zbP`2He7?h3VD@pECta*eHh5LvDV)ZlKh<4)0?0}+^jr+BzJYLLlDrx4m79+G9M_AS z6pHAQbsn9 zT?xhLPe(q4J_et_FUVv$0eII66IEJYY7k3O08_3lRL9{ zdQ2F^h;umjZxXm#Fm`19c1#ut*uRi(aI_H#M9|e$DKA<_)17B8T;))>I4!SpFzWun z8^y)fa1()kab|WL(%QYw9T`piV&$|BLyt88#16weJzC(g?Z_HI=_BE{JNm%3gfF(U z=$4Op?GU>3zq+Z}kl+K$(f*X74vK1%_6lG#u(P@es!u5soUw-`cOdr?jy7-KT~et( zeUX)Gy#RAwhweqyWAA)(+m(ckGb2te-Cj3s_5tq3Lwz3E1ZQqA8+qJzIhR<)`0SMR zV3XoI?9KHm-71{Zl-j-gp*K}2o6!V&O9QBs)L^w}s$3c!fiH`$R8kDIL4Bw_ zK#RrkBUvg^&wUJ(0n|mok#5$Sgx;W|fz>l7@jVs!V$vaJy)Xx&vj52KST(@Y1X-7_ zQoFwl$G6?)FX}gqq;<_KRIN07d2ALuY=S#D^`;Ty>$JjZNV*CT#*sk?kZ?JYr~-IS zHgP$CMW-%|bPP4E&vCfxi0frW)<74K5z552DFI6&^ zjPf>SS-JfP!baeTEpvdwkk~fl#Khsfx{DjPgWrmhVVs&W>&vZ8nfg3W87b;AqUDxy zmM{9cSY{@u3bixM#(RNcJa znFq?Qm~}7FSUxW)F#a~5f2YTl%A#vGgp+QZYf|`Fj%Zl!(mvOA2`5jFCsp|(|4Qw? z6Z5U9JM8a!P;^lF<}Z|n`xRCb+|xa7dsFPM6yfHjq-EB`tj>UV(%6;z@rZD`hT^%h z{U7#>iFs?A?Pim3+xf$&*>G#tEhz&eGI^-!)eVRaDV#aKGFEW40wm`2DLBtkOTy1E z*8s5z-0UP`tw9zC86tT@j_4|rrY=PwWd17t>F3mu|a0dRy2Ry#<<`KtsnbW5H(N#et z!bK}DKlWqLp$6Ue?@4+VlJ~*gKf)8~j*@=3zhr+BH`D_cbs>WXUO?j5l@umlFL^|CLB-zi z(s&3W;J_}-5R%ZUE;EIBFrk&y_GQ`6snX+nKP05|D-11AJP|q-JEH8-NbXBMQSwRv zT>xln$cz7Es1_5TVo3UnI`ikc02)a@Y3W)rmg!S-o>EkBg1|Do5`);pr;GNa?|zEv zTxuPg)a{0Q_o3U)ekVy=<%JF&EWIw6{70iN_9)eS7d|RCQUN|Y+z){j%rF;YcfL0N z@jdjTaLd8f;+1lWU+mf=L!VC!{MucWFlDN~zJu8-)2Hw3Zr-Bx4!ES1(Z>aw5eS)a z?TSUNHc5}7<>=@ayTQX)L%Wc>DxA^vwlw~riEhER={85pfQO|C8Nc$)awTJUEZM^1RC7<717KV=Y;lU3qSM}yNb^-wq1 zR7l(li!M`*5O;?e1YB+X6rE6*@XXsey0rV+UsRV?fh7-p7%qj%pWA4t5a;<;_wadV zPv+A5J!CI3u-ga>{An}#xfYNnyLSw%wJZ2dr#YO^pAj8c<8g-^gUvAyZZ}Mw(J-~u+lT`si%c= zMCjqYJopE*wg>_yd8uu0AxYFu5)s6eG`Lci)?XT=!#p7K-r{0bH2>#F4gYxOv>%)y zJstf(T>`Fgdfo9Fr4Q7Zz>{)twZIdV++PeqzU4h(hb6Fv7u)<;c+ z*>KtibEZuZfT%iJ8~q4>Z{~6CMlpzg?5bA3ck)U&Rj>i`+|8dS#{;)iPUe!%=}SI% zp2=LY)%ge<&=aw*{9uJ;gsB5(x7Ig=ciz7wR;hfG#g@}WmpwDriz6CTmVc9z@uU64 zY92+=qJ3>bv&BUOjrXTJ#XX7)ETKJy3|yC5$= zwVE`*HEhvkcSh2DyQ7u^zlCfa1 za^q;D_Q$We=#g88Oz1>jjN`@eTQ~84o_F5(W)yh&-T4|ra?m_f&hcR_5*xYFH>f21$BIX6gauveD+wj z&GU=zm`oiyH18>l$|R}2c%uS*Eah%-aqA=`YN9#k%rEg!YRs-kf=zipbh}`dFqmb+ zs#Ad2|0eat42;Ej*nIJ`6e;wirV^t zG_=rgFj7(RQEb9sx_Crit_`Cg8Uj6abUGs%%`TTh&bVesQDSB&w<0@V7G;0wY+2T1 z4nbLO%~tbz84!b>^$Y%KJsc*$D)p+go&@DCS=MGehGAzX>7$4ihc;0B&Vy;H*g2WgG0u_q9`P9)&*c{eb`|TN9vtU>nM;tllLRZ zM;i=SZe{$DF;m72VEn_)t0Z0{!I#~icEZqA4FPPcGe5h>_Xdg4!^udWi*Dydh;+;g z;d3=#T4aUf$Xt-H>YB^mLtL_mE1)8HBO?qk4+*)K{PDT|xm*>vx{16c+~ZnS*_d#> zon*mI_GjFaXkG<-x84luyO7;co($)lGM79}V2%5R=iN6V<0Mm`imvlE#LtX!Wo6C% z=ZkekFy;_Pf!$NwST7TQLG${xi742+r#R}S?dt;eBzr5#Q9pM3lCAOcp(}g zLEKlDS(h3#XCcgF=DBUb>*(I-rL(lWunaKMA-z2wruw#h-|*;lwwD8wiJp=8c%uMG zwa;4W+q(mmhCdER1um2k2F)_FNIN2swRZel2l4j4M$aWJDS9Af$-PPc6+Q4pw5nvk zFrUrND(#vg5G)p*zi6^fsnFR2ZeN?Z_QB_Avp8*(%xi6^bBO|om3T4P^i7*?h2b@X zwtBgL3v=pPCqi8Jv*hzJbm0`CDm(=!rtR zyy04jQ~15qp>5vdZ9qxRr`gyuL~FI&!IcTS0qh^T#UpJ|)Ie&LZ04Uv9Tk9z6!$2Y ziCO%G7UN6~U@r@7-*q9yB{_JIr{LDiwOrtuQD{ay4~{uxht?zH^H5jj5guBbBj}q_ z2KofYIe1NxO5(0#RHzv-R*6u8>OHaTsMlJ(V1P6cAB!uB*MDk`3_g@_tctP2!OKwodiBUKqg#jRE^}U%}oRWpKxMv4^K2St~#<&`D zxrte0=xAr5+|u!&XEoc8Uh;%fZ8z&SU+SK|z-Gzxa`$ zNO0LvFEqJzi3cJl9g$QFrp(Jz^#)+@&sPu8503WZUv>+uj2jJtHg6qZ6PMFHcyRrk z9;*Oi{GL0bY9XA&$Esdx>pQHfT!oL4?M{2ghnUPo;3F&75Ss9Vr|suuQb~H~$sn=} z&@y6s!=tu_wo_Qsyau;Ut?_2p9Z&|BfNbaSo1#F>><}%Nhnb74 z7Ew~N`Y)@%V846L2KC*k|8-V``XBN50c}<%lC?28H17aX8P<&E->{hau-3`kA0lf+ z8a5q(DcO)eeJ8@ji$uRQ=hyogroI$lubG^1jqH5#J4K4B?pSl_v^mu$K z=(+cXn1w@2U{?@Z$8MM^Epz9{M+v_Yp$R)@$z%28W2@DWt9P{M>E~He9}=%b#<^dM zkFGN-LY|_AREi&MeyP;DJBoI`@}a0p?hodeP@B?eVbzk-Vx|1s6CkmcIUu6YNmgcp@sa zC?#2okDA=@qDLT@c&F0kDGsMUNT2J7K_0K8O!j6bae?flpT%7A9y#uP+WBOA=`Kj` z_|+DBINEkg_iV{&bi>NXfE4G{i7?a~J(bKMA3>umcCj#s>wR7S4ZGm+_$Tb1(9UJUkH8;W2mkDU z15eOg3NZBVdtQS1lZOrJ>4ZJP$R>*H=t&iR)TykO-m|A8C#3>)tdtF;+Gc_^J}~6s<$N28xv;xVq!FqxZb7FP7hQbsYd|4U5_K+7>w~(6Ib#DI zp!f+|rJilTqEKqOOV9vMPrHu{$x!DW5^-p>Y?vHUF+>I#%Gg_Z9G46RwQ0v0zmmz* zc~alriThA!aJgGLihpD1dhM>*+|*iDfEsX`_4AISzNFmCz3oz5p2xXI>!vm+ctdTX zYg8pL^I2jX02_ybeeTq6Y&>RG9oKWg7ha{GQz{*`Kr)X-FC-=bK4VnYU+wGnfBNiormOsH>irB3E)>7N>5SSCZ+V}yG zt`DBTT;HgK9!AgT>Ap@jQKgwJNtua@+iRVZ=E$fDZWWOwQG>OQO%@NL-VcOP&1#!n zDhCD4zv)jH9`!#hiIshO$G`8}?sc~fT7K84{e)>T0BtuC!oiZ@@x=&kLu?;uDocgP zQ@1iZll*jNXLV6*Uqzob@(G^V=<(!Kji=Z)*JI3p?TuFu59h`qA@ z0g#}y_yGOEevcJbFsrw=bU=?f?wRLEO;OLCXfE4PpQ(WR9G0M54$&*adW%Krju1_k z?6T!@fYb#n?%W8iO@<>O8U|CuA#Ow8eMDcZ&LV+3;ljq%A=e&9Zs#Y>F+v0BYb@Bl z*))l5;RoM|cRKT?sx4cjQM71k47_i?2vW8ISaMbh>%((!UWWI4IOptjY4pAbe2;MC z{fLStoy13pH`*Xzgzz(E20=yiupOZHFU_C(!+&UI^SV8#y9df0I+K{{_U45X4M8wX z?@p3QDemb$Gwqbc6=pDfGVjc_mmObbE24_AI5?8>PqnEKNGbx5Qky_~JFEU*IM(F7 zWp~|Bt<0I9Ek4fHvQYEVg5tJyt#`bG+x%>geR1GE(ffr_Qh!+8PD@oP^uC@&x}dBR zbs4+!WnLMuxIZ8AFV?R=&%C+U%)?W=K{~#Pj$r#(^^HT^%9|q-DOgL==)0J?X;JJrSkNJ3Sue7Z@d=i^opN>pOWvXz z_dO-M!}9+^u@gyKzj8-%G~zIyZY7KU((%`My^zI`ovxT!St|&7Yd6QowbLV0y@KVJ z>6Eg=61AwO7xV)dkNP-&HMik4>yj>_4h7w1){5_QxeZxxu}}7kgFhj=AyG zz#&|W5n5WJ8MI!s|JvcLn~ZkD%fR2sqVbMlEZcPrznwAz1^~LD3muxt8Qt}DdD&;h zE76!qP2QBbQ5qYs!<@f$AW>TtgH=gR^i_9h{u0P<8)^Uhk^j4Tj`XJzSJLDFdaBvC z@zyc0^Ql?Wz|HjNQ+bv(aY=@>{nBYh*ZUPy{Ehb*2_(5&i7g8*LHGzoH%O0lb9s@B z$96Cg%0r(;RRRaqUgtFnU(0rziiC;$ne;`?Ii6a#6I$ zlxCQ$;4JG|aX>DqrBK|EV-Mz#6_D9Jvc;Q@P_!~;U3#u+JEY;XgL>dJZZ`CoGMtrn~Yp)%RPh3=I;5XoBJRs1DG_S`#! z8a5(l=<5lU*Fi)qx$T9%=0Qhh2Lx@fvcA#i(q4_!JA1Z1@fpSE*!M=Q-qZAJU+0(4 z*e_XzD_lj!qnO(*H~ze~*a^I0p}lJG@AR=puV(afrv{!k%ZhSJ&i@`!!I9I-C9JmA zESx<pa*xq10CXCm8}w_v^v_rR^$t?{$f^{dyV(wH6J*sbjOrioyN%^6)ZOH7 z>v$G)64mq;)$+G0B|@%Ymanuid~XpPnpmcv%M5wkQYFiTkmRrfo}opq0iU-F0c^7O<7eD-{Ix-<4!Fe2<-ix*8PU6MA1gCDj$}Z8AIppW_ffdjAe1H$+5GF zn0NMezRB#;=Duq)Y5y+S)|~p0EQ(uFed51n4cr;o7x0%nxSE1tE|n=0fi;yL5<4;M zORwP{iLbu*UrM8lj%!mc*t6e4v%NbX!r765OC3E{hepaI!O#*!;Y|&CyC^X6A#3C~ zsxLXdT`Hjj@dP}3P@G}c$ald2;xA|cr)zm%egyg~$}u(ukj7Oo4I+=_XP90kHPDs) zB5X&f_j&uz_Dovhlj`J4S0dHwNn(1A(M2VovtAv8AqESNnX@^Z3mwq$ly2{hWy6w{ z=eKQQ=)&aaz+JY(U#{ykgWnGQZxe;sKIS($VYVNp5c8tD0Nb8Nv;iBvfmUH(JE}%y-|z$pm8gp3vDqA z!ZK`Fs0$gZ0v&Fbr7jQMLEf%~8ay>_>#zyTkwU48x-mMq&o=YL;-c#vQis%YGJv|BvkdM<5wA18u4|`~8S_gz|EeM{^dGFX)@M#nE z+ljOEggZ89(e7yy&>T05$!_ThkUuJuWj1R6T$$zfYlTyn0ei2U4?f&tIbq@?iRBs9o--WJJzOP<<$yK=U3Dv?x+ z5(1%LTTT6PJJh}Llv1L?kq4{OAkv!whV|l{h}j-lQ<)Cin(RZFHh0qak@V|k$i&M>T(WZri(NFfWw(%||e3i3oQnwE;z)#)b1S`j+16e;X&o87aXbzOP zZ715Yd<{DUBtyN`C%km6o^}uprZdr56>y&_xKy6$EU+zvY z%Tw`<%7Hj&QShHIfcDGk$?b)Y7ThDqaU8Wcz)5RpM1??TteDRpcDTUyABQ;d8t0-z zHan_uj|~{UeQ5e>mv#s4v0Sg|l?GM9m7>~bLJY)z8`4i0i{Ir^REeAl9@po_?Da^#TlXI3zrZ?6{P&C$p@dx%AGZeV^lNMu z{i|aSxAj{wime>RvUUfsRS)7CB}CFaufc>rWC+zVIuE@K8zcvXn`sFGIynAZSG+eQ zXN6MV`dZ>H3stwm6LDESKYsW(`ec#fPpXR67R0!m>EfsCp5)|y$j*>j+gf(r^|I)k-TVy4ptg|s2t>XQ(w~hFijHk@0vL#uSUX`|g{Z5_l zFOR*vUH^wujjIbQcqE=?Ywn$|jMOK*GtehKAio1xAtgl<7RKqyJa3&VIgHMySE}xf zeL5DV!hKZEaMJZM7V$xp71=bkcFpsipX;bS7kWd@xy<*F41bwFqD9D}ocnX!?RW15 zS|U{Ie`i?f7=J#0w9}+lS4!vBk>Fcmqp@9VBWOT|OpG}kT?HndbxWOV7R z*tNBMTbj+*VvqmctU(m@=u*gbm!3}gdikL9a0$QmtB4LQ+nm&${=K0jK!?SBM*VKo zFxS?UOQpu?iZqnF{kFMzaq6lc!-P*yS@Fw#EmE+|kYR$Y|3Y8Rf}Q#3b#hEWz;r}R z#?0$2gQ39^AJtyR{K5-j9~0U|D|GS{KTfXK#dgFQU@m&xBzo6&g|NE|P}H49?T74k zmC%^GK?KVe&VSEC*ol(nO?sJeqj`{eqn;!|!6&>VOJ)~wf?3qUdF<19VlUCxq_iA0J#$>rW9bo$HynA1ZmTJVh8pG;cK7o1a2@7dU73iq0o z+nK0+YgJ_cLnUtiL_#ug>3q{&V+EM((j;pB*6+4RNv$O`cD;#-&C7uxY}qt4DEk_Dft7iq+ZDlJhFc0 z&F{?`QMVSyU?(U)f&sTPr_7-NkG$5_$@Tb)A-h*YMx8-o_`gj(V%|L9NOCeXpk$^n zchbA5vT%fVEF)hpPCS2N94o4}8s=+K3l6xsj?Mjry;`}6`yJ9`Hpbt&%hC>ppD2qE zr!#IEs!`fF{b>pZtY(yqv`7yx7@MqCX~3bNWe|Ns7h}NnY?X?xKP9BrTQa^$Kk9ZI z9d%ar|7{*qBcBxT*4pgO*y?!cr{?WVe4{37rFBrVpdNMadx2J2O2vOjk8U3*$S3QIuF)|J6Si_D4HpHFeI!XTUa&YbxzxSho=BYaJ!wt|GUx-~LVv+Xux5 z4%V^WmVK1@s^m3W>mS^KOTMk0pU&mrQ*XZoLMzk)y^g{+f~%5*&^QxBEjK=neN8Frmr~9H0C~EnA}Yb56gdlTdU+% zx0Z+unnu1fG5L&$%5k{P@c8g-#L0OtB{i8B{rGX}ez|0=vNmD77C*xf^Ja~v!kE)G z#=Nkkm_b-ZCf5nKA0rWgO$4%ab7xyuv=glwc&54bQ3oYuX} z^mtA_kfWc?S*(12TWo}A|MGSy`TK=t<~5+dh5wSX8tt313K28+mT!%b%%WR9l9-Oa zrL9X>@)#ejwgNob?r!^yAtueO{FFh*|C6{PYBqcNv}}z)?X+=6MC+LM@2<+LHl@+o z`KiwFGTP{=HCX+hBBRG!NymNA^1z}ggmeoiYMqu0{)-<90xbDtStpx1^)`?D?ST105R;-i01)8@xU`H~Q8a9Qc10z-#DOrywQQa1ySHJZT2mbPV!eJgE%)Q}#PQort7MI;p3g$jOaQDhmf? zCYp?&S2$=@t7_y{uu-KM8e&m5SD;-^IAcf%h#DG?_j$0UIfWp5N^M&d1FKBxb)&}X)&d< zDb5={=wH8@nz6R+04(jHZb(_g%aV$KknUO)q10vQ0~*`5I2CVflRHyv?Ak=>QLV03 zQZJvNZy*^Y&NxJ&DBR}xbzJ{`qPfF@_aS`a=SU31tnimXB#Ur5;`!%<=#1Rwf@i)9 z>4RP73r}Ml%@Am!w&RfSxN296CchQ0erVOmaclRjmt}Zb#mCEKZeCY?XL~QxzP7DY zj5}H0T~)8keWw7K(SA2?f&jyJ6lP9+yK$*ZEyH#%_aye5)0L#8Eb-&jvQ^nV6}Qfq zLUL|DdFBqqw59TcZ)z=k%innUx2J{dSS)0Yq*{MnQ6k9uojL_N^`7RbA)>z1qd6i}jOUP?s~FfF(gz?T%bBVo7z}*@lFz;Z$IN9HSuHwKE3}> zH)^*{x&OkeP7otMuL=acGHQ=J?_s!E!fCyM30=JG2rk0HD1YQP0!R)=lk!>~JWSlD z{E~cEiGK7f0QNRC4X9p>LNjj&;aHRcMawsOfq^&gpS)eOj1+idUk~n_S3!2e__)QN zs%imSv!%-W3W=spX=!IY<5HU4pn1Nc@h8O@?+n5NzB79?8ETHxdi5kM_tvx!zW>>S zwoAJuDF@hT1G~tJndWxK)A^*>H?ITVdo3;lO*Neo_w!TD526DfLVf^l>u{IQu2Ay_4PQ;}aoKwY*!nAG8<+%W0ulz|Vltc$t` z(N_L^8h;`!(J)s&N#6ALj}Cj>1Eo$>4Czl5ebgZb(mbDHdY}=wvt`eEi@9Z88!k4| z$x&=ML}$1WVtcS60bi^;xAyDn-^I{B>9{S3ATg}HY5fZSm(&|S60cv6fUr&U%#`t zRj6f@0#3^3t7Sg}L1JD7{WqFw)%xSCRDv;@-Cpo281~cz&EC-rTqDE=dm@j!aI*XP z-_8DBOMd8|Cb^Ml^J_srngY%{qG>6UB`)+ShcU~vd(-{_xJ`Y*S@Y{%QEAxB^(Wah z%h4x2!q97llat9fT2OcbV1pPZR=*;?gn-Xu=XZ{_w@GwD30mx$6fbAz{$7K=Mg;IOT>VmM{>RUs_vGZ71AuH3`~Bsgq@dkGiN zW|>!@#E%oBd&1Jpl(~XqOG(+<1$iv$m=<)bUsw$`H{a(cu@Zg?6iETGL~^lNyD8)e z2H{41Ld29V@O7g89jC={$oQC*|B}T9J+Xc*R4M_!-sXrRalIrzvC6f<-$Mq%m*4#5 zK|!rJ5(rj{;S5zT)`wn^`hJ;zrmrZ;B+pNrqXkq-!QMPOjbhf}`{&f!8Ryuwj(P3C zT0NwgG|nUMbB7j**5Y@de6DZyUm}LKxK0Rx{T`<5yf>$=N4cGm>VD#o8&<&Q*Yp%g zF`J@{lpFWg7edks+fo_|h>vU8S{0sikzqOAMWtm6Uv~3uz95X#MdX!4Htc)F?TA(g z^Rb4O$liu4UZeOVhF1;0sI*JEz-@}p&+j=86U@p$LH`MyFbo{}zLu$#t5v_gAg;8c z3>?OO`nQL@z8C#dDeC8LQoVIt@0gUaS6I!!bjXX=YFo9IIPE>Acz(ga8iww++apY2 zF9x6j+fFGVu2~LgIF;P_mAqY{yeIm6O+3B}@8N@QRpxFU7XNoN=910U1uL9pXqt~b zA*|qdW=$i44@Xb%pr%p8m3jXSm2qkjJfAc+B(}I%>YlmON+a7F+ zejrzx1nY}zf}}Swc+cfulg78F?eUi^Kdz!yUYtdKS%XRqU+jEe8h~F(21xF;S1Swu z4G3s1s^oj<7_{&L7r0YhR6~A?Fu%(jRhIfUQOsEQnhz0ZCcj5Kx!>XGmhHOw<;m|c z+zxik;gpCSxezcOa%24GkNGSvcp1)dze+SaW#FVQLYJK6<0ht;J0NjrH$`bjr|oh| zKMjZOWaRlqcqkb-3dpHX9$(s)DISm&cB z?oA7@^}MXdx~?}JB>vgRY30Tz0-eMT17NDhmaSQF9x%nCe{kI;3eDo@X=(#~Iy2)uhgT8nq2; zznF&V!*_bkEoZT+n3t(9tI+u=ke!N+3JdpUG*=Yy*V2}hK@>{2iV@o*d%*`wAdY+Xe!ad@M zlrA;zxiVz$!iMsefKb8Atz4^`>Lg*&+V7E)Nj{2NXZT-Cn2w>!LXLDm_kN#3y%M@w zpzoOv#zfS=peXF(mOtOrd81KoVVra3rqs(@+xAI4zw5H8?~fiBKg7ESREweQcdvB< zI1|Tj>;)Sl9sV-{-+i4{0~-cT&7L`P)z|)x*(3PMHA}mHrf3J@tK@47+6&QMeCAKt z+>n6NDm0PfB7Y;dJcd?dwx}xSCyrVfq{w4;!OKT4o4Sc1(RWJFUC9sXPWGb9Rb((;dbA(&(NJm8?JAdjYE39_k3z_5Q< zMo9E-{2i5IYb-32e$WRKFNfA`#@vKbgR|=XrZXHNiyjP7mAH;63qfW_i)*Tt7s6{} zC5vFaM89}8LIYHH#W(s`F=-~l9V&MUTS$QKWeg9~P&Jp8Au$6^zIdf)7aOgusN3aVw-jl5!dD~^W3r{k-@uLtUA9 zv(~UEVkuiLy({8^)LPtZ|7KTSBW22eMG;3xpmBbK=RUj%*W81@TVE8^k3O&7Tp`v1)a^`K^@;Yv z=$YHYw~|dHJ1llub09gCb}cP>Q^#Y1Tff+(zBoP4OqFIxW^WeZ;LPP>%mHl&%o*IN z#j&;A_N?7!Tkc@cXgVM!a035>O?1T`V>c!n!qmPDfouynOU@A7Rt3C`0ZsC{@KjhOm!0k;r~N+uNI8Epma@@(GouW zUbttUV)Ss|XiuwZ%!n0zrt2>}qTB_>0ynQ&5)z#%ii0ntWJ|Kcpn}Z%M>$(IR`+K! z4&L9RXKYahkPz=}9EZk2?wJ80oDK|=<^g3MnkgMLsBqDI61p(g2GQ{mm@PNxHPG!% zjQ=+i^h<2_9l`wZQhH_eK`H)cb3Hgi%ajW3PhObt&ba*K(%^1q^XivmUPs|&eJ`dq zW=`il-kwNkxU{aG{-i?Iqcqsjqj~W1%R)-UlUE`9rp^7Y)BU8_g8*}pJEwhN%o_R4 z4|)v8uxzgO*awKjklErAU9G%*Ydi6uCpUp^rhmQ^yn0@(GuO{kn(91i`8xRE#U1Lu zko<{;ncffsM?Ys_Ov!j;A9oQLQEAC_0j9DQRFMfd_f5+VFTmchJ`dsO03J z*)+tt=F(@wm{Ntm*3khq{a?jt%g;4a5&mwT<11tL?Le2#8v1+oF2?VYZR~i|dJDWK z|DFTi=eAbHITOQx!E&i3gV$gNS~=S9*>ly`y9sqJ36fDrFP!*Bcf@(OSvSHF;`&cBLwmZo(A&BualL<^3_iNH`vvh|uHgvJqD@Xvp5s~ofAP*O342Rr zX}_LQtAe751}p$@@4Vm7hD6n0QJeR0|9y3v0qZ2xL*CB)M=KU}RAPp0RDND3ZFii* zmf~)Iy`B7-;k;hEhOP0o44AiOaf^MLN-Sw!KUuL7hBGbYNUQAn%ZmZ2K{2x2Tjvri z)TkAwzVlaoS_rg}1V_8wj7T!#c-*4G%!703YvOp&687@x@WZPA3q?zJ7-zo2B^v0E zTrmRJTFDQmUe&%RYsz}tYMXKqc+tsO3vSWnFc*DBtrazU*qo9bpJQFu{E!d1iBQkI zN>d)#Rx6l>R`B48$NUrTlZxe#4=J+4#ip<0DNiCxGG*hd-N9h9~UnR(i5h zZskLpRv$<+HhyZUSlnsqh4fVP7b}?k42lhM18_ahqD9Vsq~BPZX!&D>M>PbtDuggF z1z+dFRm-@)MGL06W~+2hUa(@xrn)kNOc|1V0b|ZfFL*6?n!ETsK`GaMayEiuAM+^t zUy{0R5C1-Q?A3pNaNkP=XV)_lhyO>@dH+-4zJI(z8lqB0NFhQ<#j#ICMpiQ4*0Cjf zuQQU$Udbqq(?T+iWA9@hTlSs@2M5Q&Ih^C1-j`Q48`2xRQjB~ z)%_s(=s@{IPbkoz(?tQVCg6J8thRru_U(f;0C8W))xUhYAO9UE>M7w6jE`21!Pmbd z%7)XH9mG7L|LV6BYo@Jr0=Yj_dcS|1Jd!!io=&Y**-8}&J`**FqvVLir9ocid9P(K z>Qp0s5pF-Z<49ioSw<`1_%>`-KZj9bP$<%Vo0YCkVtF(&yh*h1K+!nh+hdRJ?v<$} zH=2$+r4SJhfL!jqPdg$9^x#J+ zYJ%}2>;Kqoxy4A%srCXFKAehsvr;vvH2l^{J&xSk`Hc*Ef#@KwR1t(RPO|J#VkataiW}<#brx%uKukJ5Nvse)0Chbzf|8%NR1cU zx7!V$zav=N?>!wk!Kgqh-b5$#(!LcQBtcg(UX!u9Tpj}~V!)|3EB@ogkFpLCe_g4#tKWGow5ecwQwy8k+R52Q%xf^Ib#>-TdQE$@#`T3RyF5HkBP8v$g*(V}# za#9LP&Ff#SP{<3hFt4w&69gn}uj?E2%EDunTtEq9h{KtH{iU_Z`hRIgtZ4jLdWZ5& zxm&xDu>F0%8W+s=ox=FP+o}Xne>xATXKZK;8=~mR@y9GSc!3@4JOhCLHgG2zC~DfP z-S64VStDUgyrio0%~8K-Yi5N=Ua0s2U2eRl+EdNwtxXZgCh$m+W3CuH)nHZXemp8( zXeUEZRtWd(C~39AE6=B0>^e&3Oclxx#Kbr6)wPxF$)Mf_sC=%Kf4zPM9|gJ#@-Dz( z=j^V-7vjP_Z`1ecmP;1`qEM7#4IuPN0gixRjJXP;55s{cM{OV)J_$&p2;w?-WP%Ke zu4l&+rZ0pHXiYF6yUPOr0aithdV>n-b){cn;}5U{XD4_{7IuuILoQr0!a*^AxBqR(-ZrmYn*k%Lcn)28K}q0$<33Wl%Er&5%0T3US$>V*J-DIsU{| ze|l`MjqaO6Rn+cVj=^=J@j}SMd_aWyydfkeg&}9}+g2%%K7JH+*ofLh-anoYYS}-N z5;#0wPL#E_;el}Fj3Y`2bva21#R$%X#l!l$9rC|-LX&Ovwr|c;b0-#4xRG}%yn{-b zl}JmK_y6gE{p{dx8z)KHiQ$ez)B-3@!F`RAj&HK%e0r6i_$lMgr_=K}@WPSv+}Atn zaq|zI0T@~184&Kg^a9PoI|vdw-q!FRwBH+JQ{5>@pKn<9cZATsXi>ydR~)d2U$#D< z5LAn#q?AizYc~=OB1w&`<2zxGe#d=`MAVG%#3~O2&;tu=HZs<71AmZdJc34!PV}!N zr`QCoW672FF%qad+8-JQd}QHJOcx-pd)Kuvxj=Kj~Pg01qbvhzbO$bYm(O7>Vh4fd)}zPS1qn|LonTu z)gPLCECi5lH->FuY-Kcr@{TpxLC6jsz=T$(_L=v=NaJ=8a|U{xUXS^X$eM6FQ3IV7 zjq*Jm95oW2m4yrZ0v(0cZ=DO&*n5;fO=J$INC5%!yPTl{lgOMQp6m6zz?rS< zDe9j`15=J3#b?bAbM*J#j!L50BY_?xAIl+jO12wq*D~e^$@TjMupgZFP+PRT5%Ikj zHl1fmfZA1N{el7g+Y%EeWEwkRG;cC$t-Za_v5dx_;bhnGGW+{Ib8CR&)ku$$-q8%0 zv^HeaWEAN3oea2K z{C0Wg%%*m91Ic;KZo2k->Bx zXD73?tC9`Fomw3KR z$hR*krdYGhea?G7<@~PnIJIFO7$bLwGRhpEsSr5|5-6GqzVrLKm*9|L__4gKD-BvF z#sxqf4CWiwEY;SKQs;tP_=i9_w(%D-9=&k7!w>-o1*!i5_$`-y2=q5$uQU{n=e8CL zp*O`yK)MVb-uih|Z!aq7C_N*Ptnk=laT*^^clq&abENufw0{x8@Twz>cp2<%FwgSe zw%8ku5z}Y>#&6Dh57a%g%HH)-i~63qz}Juvx_Mx}HlEG1`1IDG!DpofF5A-yYQ=t5 zHXk|uWYc~(HLfusQu<7CqD)u$NL+b) zHQ;^tUZxC5=Czw$lS+W_nDi^3u0q_$qlF_mO~iFvGCN0H3W!cc0vXE$#unDwpUHe{ z-6FcqZl=SUnoqg5u;r+0S?TV;WsHr<2{Sp8Jgo54yYCsEHb5LISWby}CY|F9d(zdo zG%#Rv1fLsvv%QM7!!F&6M@p5hmK61%q~;l2E|QInl3zmhjGF9w34ZVcDZwsNTc#q@ zAgHa{!;%;Zf9lW|8E!PuFgGka>R0k|%a#TDQ#qijn_Y}0uwXsTp~}H|u;~at)8QFf zMcr5=m;BPhRCNUG32CgpE1oU)E@{6$Rr&jM1hH#;K3luv+ZHBA+iCf-g@b?=bJPU(z9#&ReiE5 zxT$9!Uj&lYc0!`J<|c>H3fzU`cA&YQ2exCXYWTF?xt!L{nq|{;Zbh}3i~30tMvm2i z;r=7CzKuEHFH^OnF8)f}Nf?*S#97P3M9j_F1{uT*IT3<=VbyrWhE_6vIjP$mVW!|c z!Ttf$sm$?cK=mtE-&m(QHf#ksw**JM`qehVh&}lI1U*6gr7|3^?5cFdG}v=2einZD z@5swNWRtm^O1OSLY=JFk{*KmI9Cj)v9xr9{5C40sqvh7iodYFlMsr=Ls}16pkB+l;5bsT8 zWsZHZeyV!kO-|jNT+9sMfOt3BJtJwU6$CXAF9uiM`|XyjK@F!vu@=@Llqt@7Dtn@W zH~r#j4sM;#yQ#iW#W(&rT^CYx@M*;G(fm;^$2JLuG}07TDqw4O$X0+e^KqZ;Miba zWxXEx1f^^Evf2A&DV+9N()&0<&xC10AI`HQ*x4DhXI4~MZ;L-l2T_)OYPe6?D;#Y= zs+nbTFJuQX3yA}iWwe?AXMZ9QoHx*@$iiB=y9pPTcN6Gqu8DM0Ff!QSBqoX$Oy5ft zm6z^j;du1b|J=C0HiYx4uWv#)^{xx`j^);qS6ePwb9I@UlX{PpmwV!A<~W(20^7Mx zVd#v{@H!M?QDvZ0bmZ^#;X%_yKSJp5oJLv@KLM&ujYBPV=62)GKd7&7!oqI1KE@>X zf>68l#CVn1MtcFqyBHIhW8T+YlD;z`Bdkkzk({^zvDB`{zkSAcQTY-13^jIPE)k2D z-E**GZw4K)e)X=KSnfYg6Ea+5`2GFX9FOO@V#z#9qoRJl??ttLo_)d55?HDvqG+b2 z@b&c!_8sBXEK7C7ef?j-?^|>b5D_@|LVB4;>JNs`PVXGdaV*Tt! zU!Y&CVo6%3eba;U=d8Q@#LVZptv);9b<}m0+v#b$%`t<_uTV&cGwO2nsJBsSVwW#H z?%@RA;3BgqlNxb|Rq>(Q?hi4(hPI9mr8=5hs{v;PL9w=6Wo>T+|pTw|_!3nXqk+*5kHauMii z%t%gfdRX;+5mf(ouV0z}=S&t4ae*1D9Lk3#gKkx_R$oqKR$Mb^XpKusai7;rR6Wsq zW=+*GnC?wUc_J-no{kK0^S)4a*gXyTY^fp@FwMQ%zi^bwqfv3pJ*b^OaM6j@}M|MEU)@x%4!}3x~@8oGg(nQfewG1 z6IGGLr=EdNw#fhmgi$m3UmbId$neZqL3rX7iE)RA1Ic*eVoU9EpZydQTC~Ow`wMzA`3|FbeyzI>UIB)ovo$t%* z7^W0_CVP_njf@j98H4csM@NCVHF1$oZR!(P1t+7h0N)fbeC1-^!nZh7CuqdK-FB}V zJ{=7?9ypn*MjDUsEgB7rc}!-6z1mT^NMP*Wj67Zj7B?8P zFHNVOO&DWpt9mP7C(jyw!{jhvYT4{ul*Ydgy!@oqRINVUmtW>5rD z2KYVnR-Gi!+_lqFk<)c-raWRzVk@WHS_yAbms<)0Rh*~aPKCm*jSU~MH({)d`!}gR z)&yEUy@MAj-9Ch#lun{B9G6rB~{?o8w*n81n3oR!zt-p zz3OQ)*uaA~2tRg%naaqjvS58F|c;zEbCPnAPeGotw&kNvbFVO ziu;KZ?0C_^i{{iMvI0PIy*>Q$`ah~$J=V)W-*%=WU-jzKF=`6EvrInGVl}E)EiS5u z-4vcMSmmpdHZ_)?DUoCzm@9}*oDVs_(I`?dSUp=3`RSwN>Y-$-WUx=9RFTU{> zXv7t_8(3t6SRb^Jd7xGew~;*%!GOLU-1=k{rL;XBbR<1L2i_29`LlQ&*&lhuYAjLi+jT|bGx==!}uPE6dfX$ z5tnOE`3alScAx1!psF@Z*)+Kdp74l6Hw$KoYiC?B^j)EFurz_{i+wJ0g=RA_c(TSM zgz|RJ`RMO`-vzPAb>a#-+L?~-$Y~NasLB@Rs%R)&2z1~O4hSs-s zD>f4kyMK(zCAEH6fJhu3$yfKX&eLL5s+Mw3dTxF?vo@x}zHnn1RKn`uNO=myQt97r z8z6nv6A?!>P($skB<(^%pasogP`COoK@D?`H?CrTTIEN7zbWOs%%#xYJhdR=jQP1d zY3ja_zmJeVP7E4+dw?{tVxfYIQ`^k%$tafw9f9{a}o>& z1v=y;V@Aiu3}^jHYrQDMY}oVS!|h8~@6kmluW5aVk0X(T&(gLI6pnc|KosnXm}jH8 zMdDB#a3ou>P=WZ5Cc%DXxiW>CoEXS{TfYC%(K4A+$66Q%wwUwilA^7!H0mR4d%_-(+?&Kq05S=&JQm%a zQp8b$rqA^`od1*LR-s$hCC@blqR;co@o+A(aF(!VHpF;_J+EMQH9tdi)oo@%8|V$s z>}cGn*}e)E#v9)hjzxIPGXH3U$$C1ZN5-hZdkjV!vj0pir(O>1Uk33Nq*r)so#&VA zZ*w^3vxO)N5Mt(0N%>2NRj8V8?G>x_`mP}p+BeSWEq^XAfz6JmW+UG$gd2aMOxa4R zVuzfnsnGP;9JE&($z_p9f+whEy}JEZ?(xFd2iJ$}^wn<``4^c|?sHXIOiTNv@FBmSRK4y z4$U!Kv+>NmElrwu<}?Q2a=x#2?8J}D;n`g^w_X>K2&o!%WGk#X(BC{7p++wTU=}>i zr3z===}`Rh&T`@$aNt7`Z_<>$dyGrKi@Z7#3oCdT6zb)HeLj%aD7JrQp1?Ic%sF)J zjT-iap-oj9R^R7Ab{Ic9T-ev(2WH z?j|7}i}tF(4k!W~0y0-zr8vV=Af4kUjwO4&lWZfpo% znL)d$&`EOM7df65O2Vhb(fMzG2`+I!STF7`W!l6n`c-qy?3(%4G_7>*zwDzH4pJU+ zE%G%|{lD5Y@*y%PR<~MxbY-)XxIn@|e7xIc$8Al5nYymGHU| zpVcE@2>6g7WYW;u(w32C*1Dhoi%*+fnp`6q6?q-}i5+9Q{*WGWcZTb$l{saksfy{` zW4_eEpmSDm6R!}dsP2{c9nVpO5LZGfWZ=Z+WiwKXdHKqFcg$@dAzwr;8?a)YbA_pU`T$x&q`4s*FKbO0$u}uUM+@KkI6IGVjZ* z`xa9<>6+98=J%S|9{SfAKG}Ar6Bx2PaT~S9W+0c=h-dPx;lTbQP!(8$_QGpeqd`-l zlX2N5_4NBYRgJ8G+_lqkt|@U6RY}n~Sw341%>_~4>29{`(3HeFE|zslX9YgOu$jt) z{x%r9Z4w9d>WeXcEOuorll;QT_<wnq@%`k3-!ASKj$dw`*8jN)|{IsCUB$B2@o%0X|WhHKYshG$siQ-1{d@ zJ*UBw5yQzV5GIdJ;HZ=wkOlkpMDd5GWQ}iK&^wmz&()VXx9pDrcvYsUJ|4qCq3wV9 zzTUUpa@hQ?_o~zb?jMH+uY=RV!m8FDu_2Gv@Hf&9?~IpPjG5_tM2Tt9d=V=tnP_iwL9%%X8b++E?X{i_ReV6u$hjP1 zyV%j`cN$2s;VsqvQBKe9PVTykwt(NSckbx0=t(t|f1K@)gXF&qnS4#Shw>?cGT8FE zkwR#i+iRA-dCm$^0fCXTY3TlOQ-k5H(3m+o&SrX%be!W5R|4dyF^r9kfxi8zv9k{q zb9`D>yRLOk&U?i;b`#vC z4qADpe|&Yn*#5#nFXc+tWDJC!`keK-I`2*L>PN#SOM`{HtACcV6rRnWO@8g4d}R-^ zrNU1YNCPL$ZT&0<&m?fJuIPnyEzzfpsXvJ~gl~m4tMOdK*=+In%x!}B`)pzJsaKAb z3q&+&N#Hjx9zewf(H(IR&*gW5s%j69bCMvR6@N&8MAe&tS$M8crN#`ixhnyPr-!*Ru~W4W*X$u(I6d5(nlzSD*e9WQ@> zNRkR8)85O%CXKecyLaUhw;d-GrdiK|<)PF_`}q{;!j*&j zCIHb`4B^Q@$Cs&yqFZQXfH{&lblB;*cb|3(|2&rg_Hk(-DTlrWZP^W>S}G~*_teOo zVZMs;>USjU?|4VTNLERqr%$+?#~lEL41co;NQ`)Fux#Y}O(q^ATECjoHXyh(&WMHr zQK|}f%qYu9NPw(scChpcM-BM1o7a7g+Kfl+aj@l7)V8El55new{YPX&I)H!}U@fCA zP&PBYdU2iJ_Le1^n8`LzNA94iwV^dPoCd`+d(wZpcH?-La@qk$C7lq^j0Hh7eX}qL z3EdyVAYpW8M(8Y{<3eM{y}bm^_;&zvOItc$+myX9W2n}%c$l@|oqPERl-*cu*r*|J z#lus_`RCPH9rnVsq#vh3Ee({h8SWzo1f9{oN#cad1*&MeC_Z_>FX0o+iX?R~Q>#{Y zovXLpt7Kcy)+MxQ!ZqdTv(}@Vx%(w69ip$MjQ@ZGIllSXj`d~@$=Wb?hdd72d&wT# z_O`RjCehncGKu zSvL4~K~KdZeynTwL8O17Yw#n|ME6bBNvO~TEyW?Lk&AtC`*Ft3alXa3YfeL$Dm*Ol z(XdGh9)uHghko5R&S7V)f*2bZ5Q7B!qc6A^tO~z82Os3p(koW&zvdG*&>o!Vgk}vV z8$ybHY(AqCO`U>OcfdLm)Hc2AjyQfk6WnehhSCLmgrM3)Z)u52SUF~B&R2QbJXGt% zj#XAoa)RF$rR}v_jstx{KA|V65r~D+Tv_zpQTP5eQ}*JlDmWg1@4g>1LBb&VEVa^} zg3AY3tK=R+uYU4Y^`9|RUm|XVJ_^UGWh1a z!~0y?IzK-z$MtB~{yk!7$`+l~J zGIqlJQD4|~4q|4)y3rNEsIy6Ptl*BVa8v0{z7 z3*l{c`%jyC>=_&8uONGmk2hGv)Aj~PpQDi{#29+2w}7|ePKYje{ZeBBYdlBNTtDnj zK$C7nlRli7s0Haog$p!d+VYZ4j!!^Pn3tsyjFOzkw(}%Gju`&(&~ZFG{pS+3UzuydF+G4QUuDgE=n=|K|FN= zm2SFz|8mAwxXv!Yscw(Wgr_``c}Af*IK`{{v2P;nocfN}=j?O*j|`)R_20?YO0P?4 zKcI@dJ_FaAyT4)9xBiReK=Z+i(Bz(=Amu-r!Y!=m zRolGI3cRU+$&Si*U3Mv30z<6+N;m}ZSp-;VftJBK&vNAiP$nICP zsU$fofqy9xU++KJfgepNGkJ=g^W_r{b^3lZA_$FiWa^|>)DEl^SB+?z3W!6j-7o@M zn->?epa~7o7Ub9zO8vbc9Bj zs9?>`&~NB>$F6BiD2hHJiPaf=SDg~^p}Fmpb!qd2ArT(2zF4=2B^~^O5Apf&ake#6 z-d8!aeul}Z@rAR>*PX4(o$BPs=9dwTE2K`xKgW0HU+3O)cx&^os?BhU2mdp7Evh$< zGW#NCn;gk`Q0m^`xvQ!(+TpuPi(XJ>)u4*W!7t12D0LFME?Q2xOf=k#@`#Ar-crnh z;K(ae)fBa5Lqrqh$na$Kgm#379qrFH)2UcMZ3O;j$)#&0w=Lw~O=Tb=J@*9a4kb!W z?JKJ)&RWW9IYkA(O_Cm}v>}Q&&LhF@=h$%%vl4`x=VNhmzOkx3R*p;S*HwpugVzyl zZ&gKZgGxY#`(v@|RzwL~gNfe|Qx5ZOPuy?bFURu;d}c`?EN@(zqVFwX1AGw z+T3B7k$EDw71?3N_xcbqoRq6_MmN7ELhkntkyMRY)uVbUM}b{*=gTG!wD6JCaPu4{h%+SZe*`579rSdSX`m!(4ecz$AL)mY7V^SKqS@f158-o9aDQJXNt9g?r);gN5 zy8ib>xuXtOkkM~++VKs|wIt222G9MouE+e_LV~)6r)uKhIT@dfiWcsM%3coKcHzj6 znm1^C^9M5F=0D%Q>NTdS;x%{L=N_vH>OtQ@6rK~0q7j~i)LLJ2^sQWvBh!hNgw7$4 zNQJGiL<{WGQ7&a@c0Dy&o4M(j0iaM3APB96aMIh|{w**}JOzkTXB;*N2)Jt&)oEmI zYz7n?cXX|R=NNB*B7@}v7CZkku;mmi&%#2p^0g?R~yhz2O-ltdLdLPZC zaC8l6>+K>wQfegqh^@>jLsq!6e&Ckoi;;KO!&*hm;UWLoMNGn{xDnR>-iJ>ddBlXD z#?NxETpH?d=V)p+m0MVt_(T%a4p5rk)d!K+KwnnI=(;*B5-X3YWwN?XO4$Z-ux8#+pTH6Gx+UHCALu1h1Qodel0*>16vq|#5 zL~lL^3Zuv_9G>^%Wl{EoejAZBX<8Ks4d^kyT{k{@GAn|6I4oW>kbxoR-}Q^5cOX?1 z9(^ctS3A?^?f4Di*lhoL7aLbMINRXJ@&175u3KCmrP_&9*E zy>dU`J(o#Lzozo(KCeJKGk)^szb-<%!0i4YN@3xS%L1qOj^7P+$c2Ehy^HT<%!QACWoUzuUr(5ViK0cbsikcIgd{0l=mz=lF+NnO8NBfl=Gf z#NMU`t&j-Zp`UB%(s>2=pE3&6OHSC~J@Dokb_aCb85o2&8=7yjqMS@zZ@(*(Url&r z02SFWNM4p048I=NAhij>@BqK5J!=)@RnwMPFx3*a7Nlii0inQ=?<5t8`sR45gu(bIbo1*4`nGVC*! zpyzJy@YN3`a2&}SI-X06`Agv%M1WnzWbv(5!`2XOX+qi8oNKv{lr^Ag4OM4rjR6{xrSbH7W~f&doCZU@rdr2 z<7FL^1fE_}gxmy>4(p>obiU|b1|P>PcsN_Hsa!y=H5A-9nfwoNC*mUE=1=#c7|8PT z*5F8OMsDjX;WLLVeKB{nrYAPINeK|du5R!fb4ntm{K70t#IuvjAWym z;i3tDt%I5<%n8XFGKcsDv~najNHY6v$VpcxBn3C!I+?j0a}f?_LSi}UQB%_m#ZRaM zOM%G<+3%iM`EaESeEXpCRbO5x>03s=V)AHN_{<$G+op0~p9N+Y<*?4$;-i8}QX}m( zd*^a8SaM)V{}9pq;)5!2qzLS3?HdS$j(Mz}eu-x1`98eIXz7pG)b7nYToqIdukJR0 zPP^AO5L@?aY-XpfHg>FCDcOFZkoMDKreS<}e;j%#BDlmH`aDK=toyepaxZD=(6Q{{ zEbT{-x|A(#-i;F9-!weOBzS-f>)k!Ay3&j*Wu&* z#J>VeqsWCMHQyQ8u>C_fASnQOH7Ct`mAUI=nY+ngsj#APQ+h{ZwRND7py*2vTjtd@ zXCDsX@c(4aFruSkoU8fEBQhvkS>9@L13=oYeh&yr8xmyrwh!+ItA1(BdT#^MYQoL6 zd*Wt_z5S`hl#+S_tp#gWjDF)DJE{aYHJGGQJ--v=XXkhApf{y~dSlX;6Bi@xG9F+4 zv5gov&zU}%#IZM|U#0ey>v%kq`b8E0;kf;KU367~05pTiL!%rvz{D)yb$z#zAP~)!l5-~t|%*JILSyf{Lf$dTGh9mrZM_bCzjnnYy z#mG``e~FF2oOp$g&_9UIwWdrh0f;P0R~WS49G7V#kTz zAr4(m&e`}D?(xADMx4frJQpde?sU<-3DfAeWuNq+x6-dX&o^8zM&MwM?fEP4kR4=Y z7n?e;`_L926@`ZfX*uyB$X3(D&ei*M0}T_HhwZ=d-Cd^gfxX)mEwQz0PNWHfQt|`k z<;d5#|r@>t;)0PA{&ip$dfIILlt9Gdp4=?l} zAF=+%FPwkj|1o;#_DNy{zdYG(gL)r&9S%eu4Y!jLk4ak7gPCJy*I(e&FZ1@c?Zc5y z9sO)Cvk_5dha#A6(#?UJF9iz?(W{v%szl=;_z)g@KY$UJkXT(2IJYqK_*IykYGJ=t&$g* zN~j~PWjt+t0t`R|F}Q&w+Pew!#7fH9iEt@QrdZU-Z@lY*+VfuJz#0}AFjb>Wl?6S8 zKb&>-L`NSc%7Q3gxZRiI?c=d)tWC2)972t^b`bBdrT1U_ETf;fgZ%?4 zzG}m-JXo!&`96VFkv^g_o`R7sdq{~!=hM7x2MOyem(k1F7H0Acpw+I&(P5j&>SzId z3q}zs@e|M z$)=hs<)3ql?0c^GLFG8OwCLBkBKOzX@Zm*Pe;^;fliu#k`y4XGUP#xI=43H^u(DdJ z;UEb-kGn3J=HT$}pZEw9pCV^oSQ*3*VEyeX@z=$hX}yC_qneZ3TYWh%wr#q$A(Wq_ zs2|KP=GA=sc>BUVI<&MmRf#@X?b@4HOj_!Wji^_#09O=vuO?mssf5sc^0s`Q&a6tSCb{RP$h0Z5NURuyp9 ztlmFal>iTIUJ;ruaDCq(3o&Hh8V_(HRuT)2y8`)5HG%xU+_rR7Ne2aXr#lbz@45b{|TP0`jXA+qC!pr~MibROI1TV3{HqRv|L9qC|h`(hCLEOCyI@-ZXh zVv*vdLiyK7ap!EnGc6EhG4By-(l~LIx5Je!y1K?yuXp3kO+CFXC}E?k)1Id6eKjVB zGut!uZQPRV>+LKhdD}G+rQW49{mHZ>0}9U@ZLxf6##t#2?kE={r~hN#d0ay$j+2j& ziC&3~*q^G%oDkzE7_ReIaILv?*y^nOnMZzaI{z7%EhV!QSrTklzPa~I*~#Z~|Lx?N z>qmR6i-lTjr_0XUt9Y@EH9HIYu{R1duBq=%oUAOqkPmlU9cbxL30kxOkHdVXx^!68 zKT5fIfJ(REEADFbUQ-LQ(FVuK=iqkR^`oK<{-1!#ba}%?hG1jFap7z;$*_0LFkro3 zBX(c?WnYu#%&slH&?V4v0WZL06Mpb`uzKz3kOOXNbF0tIJ^Y(a#jymn>;+-k>g3Ah z_=n1GzuKM6uV?6>0b+7q%4^*F_f=*WUwjCWC2^!R>6_PD&nF;6>wmt;3pJ{+mln;x zdxtt7R69F4I7(f4V=$oX$GrEApKcX~6mHNz7A`AQkrgHmt6kcBEj}=o&`uBiATv~HqkJsr9xDp921sNc)ck#w)v?A2ggv@<{1^Do^KYZXp6f8xg;hMeu8Ni@ z5a_o=yt~SZt#Uqjf8Xb=ha@18#i(Qc>80>3Q(D7V^?Ix#8zxwiz&~5JU<%`efBj{V z+QRp%*W;Mf@+^$0#tf_c1iBWy|jvtgKO zuUvl55nJWzWltF89m|s=&Nwpzo=#xp9Cc6BXJu`WJ#6Q~S$;;r_CQ=3nX4suKuY;; zfbw~VKUE8VZ(_2cE9B$peEMF|&Y40}K2^2an{yB`FR$esPc`^H-dlmd`9y9jO~X? zQ^pO6tk_IM%2pA}fFIKRI^g5if+l=j-!J%lg$#RvsJJ zrB|EwZ!oFxp6)+!pAWaX zygayjQ}9zJ9-eSNC;sp@XMo;tjvv0zIB!g9VclapKc%px8w$8(7(EJp|Qo=U)-oue$g} z3?3?jHlnYajy57q?X_6Ih>0@0;>VAXFj9&O0A(M8fu-wsn7<(mz>s z1sQUyJX`8rnr0X@1r-`IKmR&-8ZWoAala|mBd7jqss(ELg`@Tb)I#xrC~VRTlxx>F zoBhW*;l;Xfuqb?ehi-SNw=>(tM#-$jy;HeS%4Tq_RDj zE(DuS8mi%+hCV!~&pbsM{9ZccqN7>LAz^2_gBWZR1MUTw0$6v}sVWq;aqH?1=^9#@ zW_u$mfc3Jm?4s7Cn*1%X`_BJ@a_w4fatChpgtG??yheQLjGg-;sWsk6j)eWR;QL_l zcUAy>rE{z0wo4+@9qv*jYj)QD=L9)Tri_@GJJBKCZg?HB*s7d{?|D!s!gsbd6Tmy( z>^GJB&%63(z?rW?X6KPZWj%yP4{#}dQ!^SH zI;?-EvaLN4gyt9)xg+86pgW_qc{hKC(3OzLH>j5OSx>q9fvp$Y4YR!3)1!I;e7#u5 zNPgcg^*{)_l+UEb0c?Q8{%0y+(FlHf!|JRMT;3VcwPv%+57()^c#DrFBJ*H^uoumr zX0TJ!uDQ*!C4GmwA|klQ!8T1ufr;W4V<>yedQa_>q7DHOEfc%IzrX1O`9nP0k;5FheSU`uJlDmdp=?VJXp&zJ zULF%;8(DLdcTBYQbn%W*p40CnX{d&;hl*u`QuV|(<$mi!33h5%?^$&0bYY9G1D?Vk z5ZgufJRv}K(QfMJ&)v2URy2u@)%hqkaNOP5w@+RkCD+PGRm0xx;SFL%)iCDdM8IBJ zEycdCG(tVnb=HFunYd8F+ctX`(6XmRIk;?FfZ_NM`Vu(D;k3pi>}JT2JG0!TH^1`n zeQNPLId=WOT_WclNE93p&$GeVe0O|O%up$0L>kFAGHNQ9Ej*g-f`l0au$9d!#`jH) z!xW>7GD3I}jo0`wGyOyE(LG=7YCid6{jeKno|2V$`6LUJ_cynbEbf~*-VS}UT%eYl zP`zf(UVg9Q?_sBA;>-g4@rrar^lwkdL&R4z`;y0m=#j#O_PN^bQ$Nq~QQvJ!|FxEQ zeh(XGT1k?qxl#cjD#j7_A4++tV`Mz;A}Jy5+oC%AcSCP9UH)WS*>I^Y;ur*_2m%>P zy=cnO7!o~w#d`P}r19bV?_R5ZZ;Ju)u7?G0D;Y|3?Q@}+)z5q1|Gu8AxVai(xs(b1 zE^w-4uDw*AU!pSAOZHK~$l>+N>jb;c!v6j-NB?xQAU7<(ihv!+-){Ii|M1LVKDmNf zOFEZO0$lyu)bi|up5(WTk?SLE8Z136Tar=YCdjMqW(Cd^Cm62KYQgMvYM}={y;}bh zKbm@S-^qN39rSngH)1c`tzr&EG-j~>J@7J}Yf+*5`EHv3yOl@<1~~lmt-bkuvLI=; zjl-*@Q6R$6@sZ`2EAU?rhxr1BVV27gI^Nji=5*`dK z(Z<`Jw++LD1SOo(muaKUT({AMH=3>5BlX63UM_7V%7)Va7GCN3PzP`A_#XgSK&HQ_ z(c7$Td2*_U{m2fX_#lI;-_Gf6x_K|Z=ybb#l4+P9QEvUo$wO%hKRP%NHCCOjV#x7*Iqb{d{ME-_{PIupRPO%&h&5DmDd)ou%;=ee+Rw*G z&(r)*W%Gr?352*vdl0tr_@at>iEJT;~a# zV}9e7!-(X%z>T2n`GbRZ*S`+qMeBD>$CIq9;ibj3Tc3=h5#c@{l69|}3Z4}EBCoCo z*%hOx^*SlX--ZKwmj^CnEo0T|Biq*3DeDhzq#cW>Cl2EcWgw zR`JtDcYh@*E-cP&*LMMHzeQdjh)j8s3Jz$09lA9$&5r)OZ*xpuKJ6MhoUh)Vc_y}qF$G?V{6Y%q*zw6aq)3&{GsgD>@*Bu=LEvGR$`duG-%DCS@8e4w& z!O!pVzkRmZ?*_0uYwp+ANJm#6_4|U;rte^{ZxZ|X*|7~MIviM=ST2vrx+M%8jIGb1&FM5qObB{}^s`x0J{n6#m?unE}-_Rqclg)vh2L*CQ6^aEf z&F$jZGfuZP&jKOtYRTE$hdR*fr_}Xka$*X9mukw(rxZ5c66>KS8tEG`={C_)yHCZ+ zlk`O7^cVREg=^=d9Ip@3U*QHuv$@EJl6aP?w;WXWSa#hn_VZg?MDmth`c4*|?bK-) z*7~zweG(D!-sMr?vej63#{O=~Z@#+Yg-govxBA)ZJ9*a}&M}zJ{_Vf{-~ObSaI;-u zjT_(+ZY@m+dI9Pn1{y}NB#s*#l2kjT+Bov+S`F+N{7F9XLeBtJ>V#ap$oS=OJx;69 zVqgWd1J&f4A=&^3m@UEY0IcCq$|LYP|NHZ&tcO557YFjN1hMwAv)vmy12ynXnwgr@ z-Wws&@nb-%lxVQ*#pTAQ-$hhj(OXE`0gWTQCZ3KB%xMqIL$foDGfvEuQ-x}>_SodV zPZu?z6Y1lN0pRA(_>kof+x`Bg$|WJ{gSvAgEA>s>#FQ@v^9fJ6-*};mDA*H*R9IY? z?3ZXgp`=U}796sTPZZ7J9r%%uH{}jC-5lulzj_CaYmw$d`!0a}2W6S`gbA05R5^ZB z6_+%?Fn}Ylg;2QX$QwNzdz^h2DB1JXR^BQ1Kih(sk;aZM?T6I4p#z)$y|Kqu9Hz2* zf7&D`XHaYv(KAJn+4qn}Ar1FtDsxU89Vbr6@IuNWrny9)9WoIPY+ms<drh7tiDa zIeiYZ#&S%iho@g|!>xm^+#FrFM6kHxB69X#UG%^#{QTTGC^5{O%@+K63)HbekTRZI z)R9q69N@?coFnG@z}p(2K9!z!_3Mv{_pMy0L{2ZkW!2LG-(>;$x4-)Hk3avL|J46H z{@bs9`(Uw7(&UwI3@%-~+b?I2 zKJ0XVx9g|5&eq+5Yh2r}YkOoFVPLgweX^6g$M$!d zt@XvNdl^hAP{t7;V^e$|%pA_IMTmYa_wAH#|6r>xnZFq3tobGXBNcm|UV z>x5n=)%MQgi;Xq$Vs~TZTI+_e>x;(LncAAq1wD|Bv#tkXnEd9Y)W_gmPo);^aEs0G ztqpD=8=s!@$skkD&x?;cxncL_<_>GGnAT;)VO<_EWStIa>tFg?d%v%{L3e$VHs>?k zu01P%c&&qb)@j#Y{@-={9&iapWP05g`Fnk&f4Y9c@x*L>zy8;kyKW7?5OTe*qu61; zUyqS0Wj4DLkjSjx#MgC^_-?+a;}LIvoVZw07vro~#l_al3+O%1!uN^+Z@r;2SxfatBu&@3l<1rT)@$eEU$DJ;ydX zdHBv#y|K`^;KEk$>9~H-4^sQuxrWF!n}RRSy(xD1y3v;EVu{mi>;WBM?ax&9S}E=K zI;HnYih+~sh~*mm*}r``Ou5s`BI^=-@T^^Vlj}+2AR9jLmdAAS$}c~gr@^s_!~aj$ zyLMZYTxWTwyVVl1CEHlOV{BtE@lD2<7_b2`Ml$>{$soVT|10?rCwxc(B*@?kHs)@S ztqazzb!oLa&-1)hd!H6$owN5^RW;{3-#Kemty*iZvyX@R6;?4gda8KCmmCqRYc^%+ zJY^d*v}@mOxw;s{$$$bbPyJk;Y8O2HV_&Yj_hz%0$SQIBLmfFj+Th=H40h|&$X^Ec zS`_*2m)NI^=Ot&FP^s=nI$?2*6ul0VvV zW1lWE`e+%+VxzBj9=v%V|LdJGT6Dx#ZF#Hy`dfWog9LNu4(;uFble>B&0o&Rv~`0O zUmv+i-!#_DY1)&At9-|OeP531l0U}}`E@NVYq_w~gYI=9qg=A=I!VgnB)!Vp0Pfg; z+kOJ28%KT}hqOJ}jSB*Tx(U}4X*8+pCtW%4z%~#P0TcN;fGl<|Pq~qr1;tNH9Rvni zvj%vbts*xl{cnY|8;1NlHkt@&cZv|vcDY=Coe<@4pDYwZJh4605j18CP9-emzFgcJ zVenA`7RdU>2ES~9Q@f4S?GrM52zWC2Nz&QLJ1!jIncyDyXTG}Q054X6ZIIj14hZ-d zYh|rrfBU3Qx>S>bejPazu}b`O;9vbtK;j_VV8y3!DcdiFNBh(}!PRfaroGjVen)~D z1e_o&B9=`#x@p4-$ANt82Ta(KQ9s<-&6@Sm>>K1Wc|xK|HNJM0wlt&&Hre%wnKr5- zp4c%Ltnr4e{pmpMMy$CdSK9k76|nA??iVlnzlnkybp)cg(J4TzZ`C9Jx9E`z6>ybz zsBj`;jR8M-wBO|GoEUH0%_#sk(STu~3CC{KuH4Cpx;XQlPnuEx=BvKDb)r?j&GBM? zOfP>p7GHiE83t(lIzAi&jj>wg;7C9c`RDinliXEF9*Z|66N9a%IZhp zhgkW`et9}S$ItxRcX*x9g`saK4U|L6j(_vAz8YxQ#^0ZYxLt(o9siUb{>4ii!pOdpjIo?bXc+{^bXVXUN$_3-8&&ZmW*4JP1?REUKud;az&*T25dS9*p>+nin*~$>m_$-XI3sxX7*eh(%dHZVc2bPXTU$t1jC&zWKG6KjtaiuYaBI zzEawFS8ipHW>s;`vP-lTTYa+h-?Jr^)v6 zbbwl7o38kO_0oV-5qm{WCFmeuimY`gi@c?~;0jp>@v3;L_8eV2}| zQ@hzWO4Lo)m~H(BWAJph_;M_ko1S=XcD-C#8TC7#+N!SW#_d~21LV26n_k4tzTSHB zoG;N2Hy^z2G;fX#NwIZffW2JR)sOtD_1YcYy-C`QAMDw0@^#&&qZTUwkRspu9d>)<64L-*$fH>0JIPwK7{DnlI*xKD_cy}q3vzfd)|=tCak#Ti}3fF(qoOrhvVACL9Uy$w)3(#ioaz_xH#KfN83w1 zghsv#E{pXaqD#;4OkCsbCdcK0zHL0**!u9#{pv~c*S@S@MMix$+I%orLQ1Zs9;;OTh?JLJdo_8@Y{@T-j^Co}5@%q^D z<^7O*oo{ZK&%xz4`HgK4d&;*usi-3#%wo;0Ct-<^+xlk5n8{D=i`)3a?#70+Z@`Z( zxcPg4_dl36KRND<&($gZasu4C{_+khQuBXmTps!_4;zfNKV5rKWegl+>NFQC$7|zl z{Zd@9VUApX_Vp0jGJp7hfOhwft@_o}BOE#ov|+zBz7W1SM9VlBQDm)e+%<2QHxg8r zokloT=9J2h%g+a0YRhRw<%m3e>vfkoGiLLzb}FoIoPo{zGnFYs{u)j26| zez*U_&=z)#f8+cTgv*_moevy4j$OS{&v`Na`iC9Ik0F(3d^zx*QS)cxZSxUP?t0n! zxBk1o{XhMtj=Nd08;^7lgbJi2J@L|x4Q)rXNmXlnfIMu~H6H$!W6J{N!$8EN;IS&d^wVd5-;?Rz6Kv29lal}#Hy|%(d@5-sJ zZUaO?447O_f)!~D9v#bW=I_IIT6aTsesuCYyqui2=%DY>(--5{KqAiCt^Q1iaxw=V z@khrGTJsCc;v@k!sU*jd6THXb%FT2!r=?L&semE-Tqle{1M!rNd+|Z2PeM@?zy8p! z%JMifn7Wt||i5)v>Sb;#}xeDIY@e@Ym!cYr5 z`+&*;hGaYzW4T}^-LgTWC*I|xWnXOh`O0STG``x)=5A;|PL9H6e>be_Q?YIw+0V1Q z%f`rzZj*)>=*Ym6hcWM%^7?4GQ^)1w=r)cKOa=|Px5%^Z;DK0J7B7RevE?M|;!&!X zS$UP=Ghxf3b};m(7`(>T<|zvl_VL!dbkaTstUc6`TgQB?2DZV`d4YEO!ui8Z-59A?4R3NpT|6txFZ%v5 zw^JupK4fNcf(z@sG!E06v)7W=Z>u$5h9?!b_;*n8`9}NA5i!?a%B$qB`L@@UyBr2`3?%o2y`EgVN?pb` zu2pE`ysmaUj{Nnfwqt4>X}N$j4r4s6Pw&>ZU;jSqjo~(7^;50A-}*6GyFwmqyRj%G zsLDS3i@6+JJk=Qf6XMBtN<*HubA&N^S_|L_{;;CV^+WDxsB~W(Zo8~js!vYUYa8ol z%+PlIyDlq!8LdrCYOlbcPx>QCb2)m%PDSHh(W_QpE?66Hmk|37Px)3C7ux{1o{MFB zeZj$TZH$uLq4kd0X+Gn1xnBP!@zn7sUslEYQ?jazuhBWx?d(>#<+!{Oww~f*JE8P? zo9cX9#g)4{*NSC9YJa7Bk%vJEftq<6241PeR!;1&wsY9-;;WqA(XsJ$`89Si2K%-ur|+PVMO2NZh&a`g@^n`)efI_MN!z%pUK><`Sx`Z{#&Rp5yY_ko<{< zAiAlXc51V1gB!=ijYIjwah0cetzxM3q%j2F{mLMp-g}G1|3^OZeY?I;+eUTJ?K?*M zhrYvb-5w->^I_r|2($A&N1m6}=XI}PT&v&nu)OB429fc6PvgCw70>pqGq*mp{D{Lj zud^&TJhZ-b5<)`m+^>B(*}Cer9lounY3%&3OM7^82Sc_Vv^TO9husjkYm;HC1JB8I%%xfd}UEg3xTW+q4J@lLz zQ5ssiC#dTOh0P@Z91N}MlMkm2^|ZmkIAjm7 zI|s?lS6{JVJml*27;5^VpO0%j!8N3<0maXF^`viYr#;zWBud%6krX@6t&md{a-z)Z zj{oAQ4xHL-<4`e$Z>}A6IE`=d6Bps5Iej$mIJUyJB69HcX?5(;cTTCF50>LgyIyyz zX*_SASC&X3Yb(YVlQ>?ycp@8biLlWeR=J9fbEw#Eo@?TLCW?C>2ZZ8bXVkZe8y)9i z?z_mBwv87WHRzncp%}rNRBkoPX?BGwzO?sMgR0VIy)u44;aHKIwmrTvC{Hcj`fImn zD@TrDJYOjqk0*9i3}bw?<=C7}>ug8Ac6*G?q8&xg>}f(ino`IF=+jV+HP$C!2FnRf zJtM$DCnpR&>X3JRQN!|rgOpn0QMJf8;kQ-_{_LYYvd=NV`n#iU})!IuQ)~D zAUIT|Fs^-9ipTJ`&6Pkha8}=A1EI$TT&yLICs!t<;sGMEPV9ZUkOAb&hvxujkQ`j* z+|vo;;&4Cj$|pOwB6$ghjjZa?tvOvb;FrXNiPz$!1_|E988a&Aln>K~c4MUirzC>Lj~*+-Y3ek=d{1WX&7u=^xNc^7c}$31UG8c)wD z4u$w*)Wp7ndrzt%g>1eR7mncWCyn;QwpvfFFfgceQh%H85Y2{zg)+U_-T~GNzIx=K zw6(l64z#;)Y@pbV{xKR$2l_z{mAYUY!q z*vxwyHlJ)Vj4NPwpCEWnrf!XIIa!B)eIb8&Wh)D`48h-EN=oYmjJ$`p^NarZj||KY z?KHn3*#ZT%`zQ4+@{oOuKjY0$bJOu*^XK?DNNs;^_AqVs8}jn73;}@{dwj5DLc~b{ z#~*P}#(MV65&23pfz$T#gjV9vhhW&f`PY1gUcAnDkynd@8+ee5NnDt(0TfgJ<>h#F z6H^u(lr!e@^26~}B-$Htb1+O5(nm)>(ajZX#hvEHkoD;GfuS}j7uSWReyOY;{I`i| z9HL2IA3x!3Kfd)Ae}Q2vj3;>JyZdtX|O1an}X)?o%T$EDvF4t0;yqxB2bSsgaxV=cjldJvsQJ z{~-+y&C^d8nEIhj)^@k$&RU8ghgU^^9>>Zb?D1AN2vJVKio>PGm6fu;<4FDW+w$G6 z4_AM&JUSQi5H3Iks0qV+H+o+rNi1j{^c+U*6rdfWAhJ|3Uf zk9xLvbiE)ZHH``O#fyFC()`t$=QCq|u5UShn`^tS2VDPv(N{`2(M~$Qv}^x(vt?@^ z@s&4@>qBFukGDVc-&faGg-kAH0R?{7KQIAE9oJYXDADzXYr2yU0}k`lq@-qfL#*Wrw&PD(nTlci<1egfN{RMe zf5@Ro!_79X`{8L0is!u*{W1^4F?Qy;>v7}q@ZUVM9zFA}977idyzt2sj^5NBScUl}>*ul`nE&z9RqREhqa~zWUQwDR#&+u>&(6_c zKX`ppPH4wEK_^&@y1u0DE&h^S-Q?kwNE+(V7xZIuV)_S3d3e{i!Ad~7vOG8I#G6QU;VV4^1=%5Z4R7b!13j5eaWS+xM8Ef?;RNO z9oAD{8{@|Q=v|#|PH6M^nKj}g{;)Rrls?ogxt}=sp+U&?AI~}J&k5LT!%lOYHn^!U z0iAT@p>BU#qd&xAH%@bZc*+~cGjNqR24dO2m8mLLG%$vo!}Ttb^L@!;_{$2UH#Xu$EFPOIe7M| zA)=I3`syY|lNZP4e>SL-e|d^*CygAN-7NKnkHt@!@#iQTikm~>@OH%UNxPJ#NBwfx z{?Ojj52b9&FDFU;MdyBSWPCv9<>ryw@~hZtyS}md=yND$r0%>S5%lf{4q|m(*qci0bEURjy>yPgab>nXeQ@KmoEp!eD}MQp)hQ!X8|`9cQ(1mo3GH|LXPbPq zIbDSgoho+h`xs0*m8zb419<9A$Mo{)Q-SIb^Yv;yLQexdryI0?OpTvFV zov&#uU#_0Eo2S@cJIY&seY#`DD(kPV2YGG%!?4FI1@S=nVBKv?Z6Pm*E{uDh+WYX^ z-Y|Lp<)a_{MD6>)RA%5|Up}5=wV4HuTRVwa`w(3Q=x2M*ySouJU*ytCSY6fy-dr-z z-0nGsCYK~(vSetx`1>>N7_FhmN00OS_#B1B6@M<*MG!lHo@gF$*Tq~+^W)}PN2S&) z)VXGs6D?F@gA4CsN?kWdsWmqFcH-cgRDaZM4Ko+P+4>1{>D={r*Kgb$X#IS692M3w z8s~L5?7C8YVyVw3R`m;&_L0KAms^zkLDsf=BSn7d?>fjelQt$htf4%w3!XP@V#^%Nc*5CN4v(~pJ z$EW&_H{*HbhijRPL!^5ctuwKSPWo`Ov85q(x9@CEzeu91fkXlF*hY`wdSBJ>X6}B7 zdPQ8*>hfYa091F=750H&?1`?B%e!@iUHcHCArLM8^)de4@M?^Ruhmz3w%? zC%PD8r2cZPBu_c`H7VNJ`iXkc^^sBRSnxXR`emE>edt)I->4 zvcB}|$P7b2pZP1#UH>9&r=qD|@xfRzp={pBvD{Z+qSYbPeA7I5=6B~ANul09A z;823Z9iGRwpAvMULbpUJF4!>W>hUtL+DD{M|MCaDh*(*@+?~8YuI+RvZMN@wVl7P0 zO8qvrXv^ydB$#t*vKBm_CKf8WVu(z{=6Ch9ds6cs6F51!IVRWVPhT5*j%9v|2R^A^{L#q|>KX%? z z%suBY+tTG=Cx__JKiV|@#tj|@5tUA$@r;?R{mRwx-zO|;foJ~o1Odm66aAYHMLc}{ zDF)J{HP)=iqbd0h_JPuJb1Oy8@$_bO zYUtgz$3C^F4?&yeuUOQa%ETe@ka^X15ZYNS*Tw4aK4k@7$3U$3Sb6j^V8f~7sLiUY z9e#orO&psk`)ZqphuYXsqwciVdPHwbwE2NP2y}JIKM^x~x8eSq_-p6_7ZF{_RHQsBR)CxzExj1o$(sMTJDU^Lt| zrm>M@XJvk=o4`F#$?fFQExPA*iz9j>a|}G%4z@88Tf4Sp$Ai;v9JN(^g`tQsxiNm) zodvBP@dI`G2fYjZdSB~N2=if!mLu4nV~aPwYnx1cWcwJOJwU6N9&JxvH2CX)XS?`M zY-=a&`-2Bc%2eh+ZLLm59kvSc^k6Z*@>NlL%g4k6Uv;-@F9hD^nWdYLVIc6tb4@iRr{eS^jTI6yNXaiLjE28S?5>2`Z@mc@13rt?ms^Byoo^K7vI9xInEt# zas!w(D8yRFxoiTr>jio6dW? zqN@8hmX&91a@WDuY|Sgy*1xTD!1NkL09(2)oT1qTQ$JjNv@X2moje#%TCz=^9k$-r zN1J?*xj0ZLUarlKpz9vjaIJZWn|&ynSgz;2dBZAYF%ue5*Fkc0+jov40Vmf_!*yMV zjA+;ilQpCoUGH*aU$ho1Ufz7855V>ML(Yq$|JnX-mx*EIL~LGCIegZ-|@ zr?%;j=aWa{ht!xz#SEQ;XNf7W43fA4r37vuhnnKsN7c8K!> zh}hZ}Ha8`6FfnCQYVIeX%`C*z9`rya3Pu06+jqL_t&sd^a)VlmAqCP38k_i-*MgHLmI} zUwD*!Ur&+mJdq5xebC&Y4`=T1uQ@SJoYpVpfOSYWF1#MAL*|Qo>U{eXd&=3*JPVU= zax)~(FCc)szVLciZ)}UN{ZnkRRLpF0T-@)xHSW{lU7EgDGrQQ5={8%={7Nj#4b-~6 zN2vb3l952#F|XE%ZShCeyva6xncKdyL)mdrZot#{J16N!IC3)w`Puw2J#)}Bdh0j- z&Oi9g#TEf<=$xK8St(%W*={G8cp5gi+vDt!iH$P6^kq2OMj#IC2mRRXX(pN#KFuD_ zj&&3co*3SsQ!Fm8*3}0B~?`f|#yCABas8%(&i@r|rprC#w4TZ(S3Iwqd24S$nVr69TA{|tQ9#cARIdIAnz*8_k?K%y&VqXx(%9OV9+dLS1zpqHV!b}m zFLBIe4vM|#GvYjBj%G0BPD0>VZx5^Hv4iE#BL?Gg6Q3z34%X?*e9{JL&Qfl`$`QLIOa*G zCA-S_A)b#Me~bUvt=%n(zy0#LKl@{z!u`U_SH5z-<51a~N1BPhb>pJlnqSpl`Rq(` zHZM+f=MBK}R6Fvpy0_D(53wrq|Mj>y&D$YToG=`1%4&@VHQ6}uI&#Vic#&o>E8Mvd2`N!&A1x`pLdlSKz{&)^zThb)w!j_Z^=GAy1a-X{&teY&gf)R`bg1 zc0}f@qVro~uSL>TPTMuC^&YNoFK25{tT>#cy2e8N?`+rRkxTf*=~TYXIi=)(#55Ck z)Wco<>vlohu0IDf!PK8vNM(yQrS&FT+N17%CvN=nA>j3w(%00g(-Fz-nFCM0HN4_q zzf|el6YTZTVn_4ge`!=ykOPmOI@}=QY1}{ek&kep{5B8Oe0=MG1n`e_fSz`v)x>wx zU+Tj4JW4_t7nclPUu`{!OzUsf#;pg`wa>lTx%04v%de9;g>DGd;5@Z0yetdqHWmjF@${U76}~u9)>w>uKU_*2Ti}IaIfuq;qN-%I_)bU7j*}t z>{&n4>^SQ>h(_bJT+t^>l#vnF58B-hm9Xs-vE$$#Ve!&s{n8wcj@Lu3wYRR8hwCNX zRcCf3s$6R}iTjcR{Zmn%XB}S%!R;DNf^72IT2B1c$xSP>zZ+w>t(!B*bzLtLY`g6m z%-Bs==WJ5X*mPq9^4_T3H5zru-kXZHYqJ=qEZ#7dP@0ft!D%6 zUF)YVFXLi}%%js!+VbKE*?ws&b`***)rly^fx7cCIP7k{t}PqZ?q= zt~!D?PhiJBH18TG81Gt0z635V<&befSYE!4E$0jID8ivP^u|qbdEN7ZGOL?>dW~ZQ zjf;LEw3oR0Kt6-9xQiJIG=LyZHV`((;&dHcJGg%RPz!S9Y2)Y4g&Qx-bHDNH|KK;ZdWYqb^aLM0gHQ(r z!5ifUIK=LasCi((rf0hjn*=#$0FRB4^v?FV5n(9C&)7>*RrK^qa|WItopZn=6z)-? znwvCC0DfnS^0dp>6Z&*GJh)L z@cJje+b)C)5@YVBy*lIASF1d*8Qb}LO(U(mPfUtufB8Aqn#X6PrpMosBMlJ0o*ee1 zI5F{QT6Cd?IB$qOCoFuXd^FROtEb?7FrYQD4m3QBQIk9}jW=>?@ki1p3IHoCwWFu1 z{STCS&S|4LeHEPC-E8WFp+NecP>3JxXFZW_f&gjDxY*z3;gz+Mtj{<4rxPc6RzIjC zfJDH}G~o9}xq8*Zps`X;i8mgb#~S?cl0^9~9=~qx#MRDS;ICh3&>!MtS0EKnreB`xYKKv#rGmn^nUC_=hW{SgzwR76D64Nj z_MJrup12#YTU$42d;s4zT_Ue{-Xw_4Gkq;T_MkQr3dhBoot?%sI4 zYPKaiuQW8Aj)LE5&z2!RF>f9`^rAFg0zHo8&Fh04ZtM2rd8|Bm96Ife{CC7no<>EL z2O?qQd_7fY@qXG0?@>H)LauT1s5eTdA8%bGWWm~~ms^Sl_R@*$Te z2gPP5JL}ZnUcYWUE^qxoFnK(iJaX3d0zYKl^uulM#=)cMw-^5*VZ9rcobPJ5`z-P{ z{i`+k`##*_9V+Dq{=udG@_%Z{cPv(Sc)pHTT9f1KyYoZBSCc&usyw&hEWd8UhTjdCF&Mwb^H#| z4YSLKJ@b)k4|~KP*8^wC#WH;B`0Jl}W^T_kY*6qfmn-D0r8Uj;D|H`s5 z{JjwXICibslVk4tDm>-o368n#Q*znS44c;*-SE>LaZo}xYWD%F`Jo2Ej*k{?m!Df9p=_kB@qr=Z(_f|? z-0(1BJYdsa;jW*N_n#1|tsU1Lx8JDLSkd!ZZGRn$)X6(6sSyeDf7j})gByR-wO(FY z@V$_^*Y2&;H}b&{S^GXu?#bhRm{WgWm!qmaXiXf(ef~3Ydcs|M1?Sq^oZ@d24Zok}lpmC{RG<4mhjXp40-1BptH*P{w)_c=SoZ^PwGC;G80~5i1 zQ3!wTy6?u#z4p}Sz|KHzz3q6bT|4M^ZA5-K{sV}oNKkWx#%GLQP$ha4JIzej1 zw`iX81#!-Q+c8r7&R)Fw+5Scjs`=yjQ@`{t4px^3h^gZ(1KJ+n_GRlM>`M&QZ;YX#=o}(rhi(M76RI4cWr3DjuJZ@Wq9!>AN~Kp zjWzk`uRq7GJ{n6}mN2p*m?jcuP2`1hLI)2W7ZMz{x8Ba#bRmgNKvL+jblY%=Xl|er zcQ+GLy9`N6o4(|vU!K?;2qk4U`A_M_<5Y3 z|2kB^S*87aSzlYD>sh8=dj%i>^(iw^-y5yAn@6XCL45LwhCay$qxMEKncPXFL`&k!0Xz zpW;`9a3{sNht5@w4$8Ak5ExIWI{@*<&1EbnRoCA59o9f7NO1>l_s=aHGC5 zg7o7Fl=k6ozp86aHXmW%n}v4m=2P|>@nudUSHZH!G`ipswj6l~2RPuA5tWziVW3NA zYd1XOZvYzee31z9cr?Kbr58%{7JxS2CpcpQ}) z?}JFigKypzm~=iXdOJS--FIK#)VZ;p^7?s7NpA?fJyyB2Fr?9DW$K4vc$J4K7Rs$O zO*GDmYY;wusd?NIE~hqGMcQZ{=}LXcPx-v)6)ICB(*gXcbn&C%^~eJbj~7sSGmWE4 zmfOsVz~rd@ZQ(&ScU5svhHnZcWvW2U6+&4MbKj zq~SeYdiUTN$qkxaNg0=a{QQi9Z0Ck`b0fc3#v~|KfvNjI}eB(M#~>F0Mu2+j${JfzSS+A@F!B zoI){1Em9ZUT042<-RFLfQk`Mt=Qf`^-p#f_*Qs@%HZX*>{_LQ6-I+g;nUn`_*LFQG z)xdw7hf zFG7v^)X)7KcdxedOAE9E9WT|II!|E}QVr5Z^+P)mS^m@TFro+IIrFj7)1VCE`*I2A zhQ<~2=jzBD{DFm~-VZ+Pl~fSVhB-?omu_~eorsw|Tacs)F?Z&&*#&QN+(``h4Bv@wW59VKqm~InPOMiWKSZ02*b^yAsW))7W+e+}Jn;-3(IS zsf7r=);nt@H&%D*nPar+@n7XX-R>QeQQF5m0^4s}pvY?}%d$zw{ms=!`2KPBv5WV? z<63W*jQU@n^&%+t_+qwvN0s0cgWz1Bg*$tRno*(b0$vk{Z53)%bSGof zdixlBo)n;>RSx5-2HD4nHjR#3g|Q8dioDMQC5n%evWgEZMkKg=LtI0ow^6asIk`m2 z-E^=EepySTy(l1gN49^a+cAGix2}wPLme;K-pd#LmUg(evA9EUz9eXhry~)1aofFL zr@Tt!`>!42BN{`Hmp2<6Qe`)~7i7l5S3p9&J2%}1AXic@P4KUM?o2D}_7o=rsdt31y8tHZweWN9C@Y|ndo zW)P4xW!;eU^>$v%V+VsYL0<)`JSwqU_QJ2$?jYAV9Sq>!ulQ%{UP2gHjeEONXH>*N`oj|nru7;+u6g_qTDa-qYG|lHFVO;}IS`PRESaG<3K>vV z($+uup?mGJ1o0BCIXoy(t9J8BKLAlzd_1Cv^D&Bo(@NfsYw7Tps~Jl}@1%tG2bL(5 zJ46{o#Sp{JwQa|xr41TuE(ZcX?fY6*`sl@jjN7TbAkuL;`!YzO3D&pr_KA@;4d)pd zzxyO%iMk^d@^|-5Y@bqJXO}kGylIROrwW_gnOGN|OnQKk%*eJetyjHCBJW>=YfePY z{wp9uJOf?ssWvcnMt?T0LVlgDoiF40mwhZahYyd?p)5}1$w-YUT*mV``8>w{NPcR= zQwy}0(5uj;P``fbC9xC2!g15rCk56G{-Y-|qEm4x@$TR!l&j`p$BGm(r|ulrvslU7 z%e=o1!rV<$Vs>OhZrYkj13Dti%O>o6vUDvpEMHckQ_{N4E5<~wa}iGP;HX3tb;xJ3 zO=HyWM}O5VU551qSjB79H7Upd&5fm$(b8T5d6R_Z=7FfRPt9ur4U^oyGcIS~(75Qf zzZzSv1xJGyCF28=2+y=pYA4~)u?v1mzUg_jb3YE{GSp&ir>MV*cA=#D!0YY87cWd4hcvJxR1cCwP5h(x$t(}Y zSB~viX(g-H`TaIt^uJ!XVc}AZytzM$-e2waDNGNi@}HCN@Y9k@19TbP^$iQx_V*pz z1sC6Cw!JniL}jQVV|^Qr9I?n)`AXjQYZ%CmKP(5~UQ`%<-;b3!SqTVkI<@DfIS)lL zvL5B3hWmv`Z@wMi_Veb-QOLY!4udL@8PG@5W52u{r#nqgTR(mu%vgN)bkPgqz+$>GwOkFtV8j8aILzJZ7kf3&#Pzi`tC`O^n?@?Jcn;eCPr&Z!{g zGuVT4?2daqCC@yG^X-OwFZc8zQ6D$ZF6*;A;=hkKCSRb9TFZf!2V54MA1QU|@;`!R z$N9S!PLqE|MBcvlxqqja%syi;P_@f=St=eLn;2HCQ8^o;Y1psVEwt~K;7ior>+>-y|YrFq=M$r{dT~e2nGI5`vizWy-2epP!SBxLt zE!uv}wiR-%!)!bo2ysYn*5sPv4L%>p zDgQA|emCS%`}E>g#jZWa;%6dqJLie}C8?!|KMk28Rap%&c)8F#&(y%3C+L2kQ_l^# z4m?|06XFUW=Q}kIqLzqD+obq|Lf+?@_Xn)y=%0nB7zFzbq4axA z2IZdvPtlHBpQ#$q!D=hn`AcelR#`1R?s!(RL3~mjh^;#QyIWTDOK^NdMdA?c*cb%L)U2wCzeeh_nNoIgEIJ5KJjgpf##yZmw2P24|`Lm9C(*@ z^pRE53P!zAguu$5fiX%7@3@VhjtADTfP68?4i&-!;3!lAuS*qX+|ICMi=eh7L1@-6 zhRT`*0iPj%Kg?AtMs2kTy`wK!F88)od(~=AW)qoPXnz8@HfB=DPyuc(($!g+J&!n- zyYi@S+3A%@Vr4jY;ox{c>-;#!fAqvey+_E(bFI_o$TT4X>Wfl$qa2B6iscuipS~_b z*x_o^MDOVS?92S|M8AO$aBqdRXgGNusiy~>_ISvxpK%9bny4W~B~OmX)=$H9+wI|S zGb;n)!MCY|C!>rQe?QG3zq1ajdxZ(FJenG|LF#DxcI44$I}1Kl=_}-q*B?FZG4a$x z;w^iflM@#)Ry9hG%Ak4|i*eme+HpOXvK??+^$f)ZmJ*it9E@H4n z!%{#Z6*>Hk#&g~nkXu!PB{nmBxY|ykY+NI6GyuSk%|T2d$hU7N80tuU&-p73!^)@N zdDN}e+s~iI#ZF#R$1tB~argD6SKGs5AM;jen%kIz?}bd+RzOhhGa?ux8~14>8@f%~ z^nGfd-17B#+>c)u=yVkR^MnoW*R!4g>qWo!jb~|jnX}f$U38qcS{|fvW$f0bqADdT`s%dJxyoepsTXX2CcOwh|9IF7+gvIRImb_JjiOdv#d- zjs&g&J{pXQTzVHlYoW?HFlNIPO9MKXy}|9r%gn>Z*`HHNJtHD^PtZp)yxZH1tF#Rl zIaRi@+xq|C-WXOv_+zhouvTB|INL>D`#FI+!o;3pXLtn}rN0J6Ik zjN{`Q_KH1Gs#c}vztT+o917{BsT?P@9cLg?0gl+XMpAv>d^F=r%gnC}D>)ITEkC|V zhwQxZkHM0HjPKt@^w<0}%LH?=-s{uehz)pkJAk_&6xe=^-Oyn#8y4jGuV&Z6t{Y~& z*-~FN(Uz^!0DE4kH-~ibsA^3AZ3f(bKI%~kbZk9iVKQUdf7l~$I~nTp@8$M}TBImA@ra?Wik&pG z^UL9?=hhti6bmWq!10B69g*LpBF<7eE70? z)nOw5VI(~ab?)XD> zK%7}mk;lnTT=i`D zwuxVXqlG}Qc{ys~boL4TlWDTIH-qgEi_iz&+4ng2e_5f=lzS2h%zW3s75QQDV>+(2{@V(GKGRyXF&Jk*YUV_T)s#DYW~y zG>7qzs2i-<=c^|W} zT1Wr0BVIe+;1&^iyFsMZfkznd7KewwkM=+_^DN@2gi;65`o;XllJq9BtXw zg*MX-=7@ldV!n#&cv1dqKhc^f@bxr?tEBQ!@gn9wmp2Sm)ZB^#kF$#+2J!g5z*=6O%wtAyOrTSzax4-H&K)}%$b;n(NAsiBz=^PdO* z-JS>Wx1m^0E0pstolmOf^>diRdA!jz^7zXJY|D@fnwi{><*-qF^oOL8*BaQgKxOXB z+;1fmS5KWt&qtF;|EC+m&)WNhY^?0{ zk9ZVw1%_p`ff_k8WZs+jSqWO7vIvh+{^{(mLd&Iqjhp#jgRjeXQ4cS4UeF2J`WMPy zasjd#-5@>{)WFF>Z9`)g@Wt|TZp04^CYoI^&g$SZh5*Lj&^y7Qo*vfSn}#oZQY2tq zG~WedJ=$7V-r@!&CDe=9RWRG&%eLh@e^=@nlJ@M#bNwk1<_^7lf>~{=N@5<|{TB*^xT<(uvd}2598TSqxEp+9b z|Hd`~2)L2Epd{P6V3*mxTDft_yyM}PDgf}X=g(DiSkjM+u9h#i7f^GiFkT;qPfv%i ztoXd8AvCWMJG%0O-3maU{D%nqVFH2)H?;$P|5mkO|i7e_{L<@)zbg6l`?WxTyuN3#zSthX{xZB-#duc zk1M~DJoD!G?#X6O%*9?B(QiiK?vzLpa^?2?c_h9y@4=<}&K3-{`x?KO`~S+*{xj;L zTDGAU@BZxKjPH!zSdI?ho(+gv{&9?D+UUh$TrMAJ@2O#2F#$LAI315m+?ml3l{y@fzVK(&ujo zar(Iz>eLKm)Xqzpgo)r86Q^!nc9|-6q z!c9Ts0@iN!2B8Y<=()7N&&Tyku3-;bjk;WW9g^3?HWIeuE>FGwke?6~GJVc!y^+kw z&B~J%b*~d0s~;B`X~fEnc`F4d&mTTwt}onV{;*xI#bEbIf3aG**Q-C6JBn`!E^i|f zeOnK;hf4t8JI9v0M0DqA&KTuAoJo{VJK!S2niD@5p$?=Nrr|9cpfOos*L2e+nANF5ssW z&;9I~D^sW^xKirV>{m!vnFWbJ$iPVYoA7)s9XQf$mi!hp+eKw zs1?orA1(WyiTn&CxPCV{b^MpU�)^y-WdkxtU1wX(>85#3^{8{|;w9Ylj|%K!h|H zew}9gRjxX8?TSr(M?(M%_i`4intI7GP-EUa1?j9opo+^+SF{7pF^=JodcGv+f#Hs{ zUg!FxO0&+ixO&y}_}B&Mo7=?bJQu>>`YFxzyfB4MtGB6mUZbE#_N{yJjl)BA3%!5E zf-B6C>O9};GevrD!9LD`5gA9?7Z``1%Y2wn;;7spvFlH+bT% z>_lL=6Se?oN#>;Jt;dl~EFBF@G9S16{k}vovz$C+4YEoc*TC#FEWyDQ9(}OM_XaYq zfeYp~r1?Cp3gf7E#*`AiyHv`Z`M%A27V+;gq9z`pw#`u^G0Ta*V|mNVIV_`Z$?icY}=Cz6?P}=d$y9bBq$(anla(;bKGti z#g*r!d%qcY4C_z&j1pd~9r$kTLvhHrp7zsw6J3Ve@jxvsv1{M3Yx~3Ime5=pib6G* zI?3suQsc}4nQziz%v4xrmS%Qf*&9mG(=MHbOFgZ6#X8ya*~PO(CyO9WZF~Z^9+kYX z68Ocu?MjLzZ~nF&j3Ya^;r0OWv-<9G>>l#Bo6Oq;VmUlAf1rB>!he^o%R7%^<~bne zR`}~C8ur_*p^U4|ev#7_e!K<}3l_Ss06mu9c;=VghL=&Rif*BmIg~c`^L}!f0!(+e z8U#!Y4jG7|#z2n{aJ$uIw^fXr1sVgt`w}F)84TGW5qp4?PaB3e1oAjA#v83qgoh^X zKKZFO;oI8xfz6iuNUb{8RX}-a^Y6EZS>(JBj%h1UZHiE|waDUX7gUQ29aLYQ{STqj zfte)MB|S{g+5}J&cWMLUe*T?ouPUoe?kV+!i@4G;209N`F>Awhq((}F-Pgy-_>?ngz)|(mtf);ZLcM@Y|+&_cf zME?a`Y?Q!6A-=3;vP1?&x}cj@8rn17Org+&)@dDE?M8fqxUnZN8Z*KC6M9xtnj@Z# zr3-IDn5z83jEeHSZ|Uj%G{GSs?kN8!5riUPxC+R=&22!sRp9rR3LkDajM)-cF?Tvr zh}&=+on9oC8rAXR-<)RfLKjq;+-EaY;TONSR)(_96%L<>kvV{}E2t-n>h(7s6})}F zsw4S>qkf$a5)*&X&%y1WacWM`im0Zohg(opoXraS>hQ?w03qH@{oBfyI;PlBJfV$s zL{fwQkPzbfvg=g;U1q4z@&|e0ohP=HN&)5%ti4G8+7E>Jf^rM|wHBVVXQ&@?BZxif zn!aZiN}>K^+T8PZ^mv@W8~}px&xq{{={#k!QE`336g_KdXCi($uK^pQ{F%p)h*&Uv zr|;2~XPZz%*KcygNn0&;*Ge7)n)}t0i%*#RxJH;+M+)1ShY=y`@fiwsyYj!iWwMF; zd^}%NV=kScd~vDp;4a;*H=IGxOelf&>#kVFc0M$-%St|S5JG|#J~(a{wri?#Y|SFz zWotPWQ}q;J}b75&hS zxMWPS#V8yX{`LjQMgAofN8Mxassmah@+GJ8*H5ApBFf2hU%RdMk~rfU1`hZ(RsEo9AUU2MC_ zNfl#E(r{7%)`p~eVnCnCYU*>zDMS2rrtj((P>Ko}yv|s{=FlEtbHfW7z?$&wMio5Y zxaq#zuV?w%YWIYf)Qb0Cq4>nhCzW@aD{+NUBHod(85uyWtm!&^QtzDIqsCJNqg!74 ze}YFrsMZFpOFnf*0VOJlTa7u>_8yl+OoXZN>{ejFK3T_VGfwvXgC+DSf&10Bnoqo0 ztkVp1Rz6u#wkD|9k#rea_$%KOls zzX!q<{er;{UjHYpii9|w)14(+Sikxa=31NQHBNK`CpP)b{%!qx@34#2;g?M=TAb}5uTwd6aa5sGg1!lEiiCBIC!i*ViYMh|>Iof%Pl4VK`fC*p zBu-|ZY)T{4djcAq`rJg!KVHAln!WnNVb*+6=GA>UNyu$0+u#M_^>WoK_8aQt_uvM) zG^J*DQ5bmwvX%KkF6E#>(x4j^1Xj^$XJUgdM5Ar!q+kFKDk(r^?KL$LZ|(l+&Xp@Z@zpCl_3?QM^UHNB^4Gy za2L13JykX-B4M5iFV3FXbGf}|G{lHclB&0$L}w4c_t0&6C}PT|KCR4ShEO9JyS1uJ zftyfXDB3T|)6$b#OPo9_n~FKNSdLTjvtg`F!`D{{q`N}T8ncMH5my2geSFFeNn?5U z#cIb-xl)Uhrh83jX+>kA2QbTDyZcpN#F{>Ao7NkB^E-jl-MjrO=TGfaj5DpJeX=?W zx8y&6`SRNXTk){q_EeX>&>nr`_%eUS{IB@sXL8&8_UU(DgK=7Emk=TvpUjPCYnX30 z>&an42}spXldP{MZ%)wTTXaacVzgu6jY42y&Q>~a5QboC5_n;?jp7!C>Vyb&zSHX3_4(0Av>sgeWe2}_7gd@^b^ zI=USBjfB{c333GXwClRgn<%ae&D~1Oh|&$b84Vu(ANoZQ6KM15J4teF_-kFT5iyEqNU{e>Ombf?3(BYUZ)UW?eZ8 zF&E5$w6zY?Ob_VQ{jKI7vQ`>)XJ{(LD{Dndt#{hAL8#i`PX(3!S}Vc*WZU%GUlXvC zf4|FXTfa1`Qk9Ak(pfyBB2s+Qt~;prVc-3g)%A&1omW`}Ur?93CjJ1H?IUVr$BPV- zOsdbuF)BhGbcFv7NC9i!tBR5;``YkS3&TZnNGJ0jWs=pTcik{BfwWfSM%EYUoKrjG zM9B!<5R*TLbMU}dbK5c^y>?j6JXNBcL}j)*UEtfZk5JmC9C?#0nY@7TR>?+ zt0yo{gTe6jB2(OAM`=9{KmBpO5D%QAS#CKi+i9*x=e&!OTcVd)6X8>FIpgnZ1Qk z_Euoy`6kw9dcB8xN7KZw7OdT~Gt%JT5K^&*PwR-`R^33&g*ypW?w#P^g!sX%-R*JR z5a5qIofED!r5pY@t*dyR7M3nXTDknm{%EY&WrcLPjeI}iz#8UyQCgLqnSkbsAf1&M zW+vZXDPR__<(aT<{Lc{H(74x!UDL}AbyUkqVJ5lYJN7QZapaWhaD4LW8~<#K z^P-2tM`>&S0Oau@L52eX{Qk&A)iZ?+;A#cQ-bvQqDn0ex4-e9O0~Zm|z1UmTVDe*M zY4_DE&j0&>o_NtOvHO;6B``+OuPo`wRncENC*c6L zIjRX1dy5+I&lQ^_zS1OwN#j~g`)fPHb;9aKng_prE&5?(xP5z4g(h!U=G`Ng^5H`i z+R;lzHw%#P$-X299!8O@$2MhNafeOb>Q&J(lCv>_%Oc;;Dw{5z}so8spv}*S`GnpeNe~KCha21IbOz{(~NuyjKd;ei#(T zzIjxUw-}$Kv$WV$3G2CmY6XKr2JMXYeTR)3=udC^%-Hl8&Sgj@0C5Lr8nv|BK|WsJ zzFcsUn6^!eLZAFiZoQ`kITcmt`$p1w7i!?y`gq>ebK40k9194$bE9zqp3LVAm7t_t z%txzdudk@+{{(0k1Dc=A`P@t3mq#hRzi#dpn?a#HovATzLHNrqSQTeZoyWNU*zGBo zdT}p%V)*-Ig=Z|Bj8ikOy(*B@GBZXFRVyO&8m?SaH9mLMnc3n?XnsZQzk8_K>_gYM zO-i#4R?1K%Jfp)7@_Gax`JA&I6?Oqc^9GyZ@yqr64`#d!eB6;wtxecbLXjAN$DY-_ z>4W%@m>E_e-`D&%2XFWlHaxj*xE|zguKd!-w?tsD3lP3jTIT7L87;c0egpj~m+s#2SOTp^K zDevFBeGlJ$h2y~~v~2#pg{?>Tq&=;C7T$H~*g|ou-;kEt882!`+@+-s6sN-h%Nl_P z3W1x4!e_`^k2X7uccwuwW|vh9BNRpU!6BI4dnrp}9eYdNN=#S;B#-}!)(;A!t~g*< zLX8u8$bvC`?`Jj<%E@nb{dVw9P zcpgW`kqab?-2gsGl|D<~W}GW)*Z7fq0+S94W0nG$&FLV@5AV5)_6G&OgK&&k$mH(8 z7XTSan@;C%b)e^n(!8L3Cz0<}?UpzcvX&AIwb#xvs)y*yThchjiEIuxVguRVfy=-E z8ExqhPCB2p1mUXkm;fdv8A4eAK`7Fw?Ik`VivKHkIT_8dab}c8vjAZ{G=CS)QVkq1 zmcqMtw;X)PcY&~4KoF+IR5X8UvR4Gf%0q`Tg>d_XcxcX9?CAwI7LdOS+o%UoUeWU) zW{B~P^F&CWl`@9|;*7L?{tx$i4$a>oYp1;zVzO?tcNeNrI3^VsV^XW|&=CZ=#^*gU zG@jDig7C-DXNL}j&+<1=v>^~-VRw~EOG-p8E)DUw;pOz4EwXSDXH5+^e~kw>SpZ$d9y^ zqP))KWx&@=)LX?Lrcv+wH+w@8BzjUC!4EMoo$9Lj*%#w^>+#D&S8A_C*eQ|r-Fs;_ zoO~QtH2osd;*g}4v_zZ zQ0fE1(WdY3ODns&<~!D|J-t*KG@6#(M)`Yy?fUf6(H&8le3{4MA&j{FHyK$nEXQcs zrkRAZODezOi70jyV|@sJFaw(z(Lve9hxlIn^*jWt*jO>Mg8mf7??xkc#Cma2!mrG+ zmRg1@oiJ_&ZksB~E8Cl6-6-;C)_wKI3Nd)8hW72AQ^IU{7GgGY_kvUy)sqx=hjk3_Ze0SJ7=hRaCQ@ms>I;g#)rcUk6QA}w3rwbwqI$TL#Ot~Vu@9K-Oe+J>j|2CpV zO$$}eWzr9O`AM}Ou*iVM{f7%#xP8*EkSMXQ9R)#c-8VOJt|*SeNEIwj?-Z|Sw=T0s ztsK}_<@y6mUK`%%V>D8*)vxX01D54R4|R{4eGBSS;RO{r)>CqAiosSXzTBnVVQ)oM ztAAV1h_^{!<1;D9#E=UWD(}8CUno`ajuU`S7ZkhO8kqw`ee7WD-2{e!B=ALzH}}3F z5E|{$N>ul+mQQ#|T`nb##=;=VEue#L4Sw5FQ1*+~9r*}4Xyj3##Rinc{+HKU z;Q>D4^QA`TGGVE#%vZPl?0wW!M$WC&!^@qcY&&JWJ<6c4%J1d7!n4JEpG&wJ`dngQ zoyI`=k|Uls+}%unpB|d~oLLaYP&b=OT%eDS1&2-2b=IBKe3V|GYeGq1(epZxPi_^V zw!h?KDrE79`<xY-r70O#)IMdM`a;wX=9UuN>hsDZv?fhK$gQR>iatA%E z%a7JqZ`Rxyjs z)BlP~6srV1^X|hJE52pU=YM*o058QHbzpEleb`vdQuF$*s8G8StN0glYr3S>RuxGn zn+=Bp(kGLi_#ahWBhkhKrjougUoBvMJ?~gdp_-q!|L#Wod z6Ir!CBeA{Wdd^Mb_HLbBaXI^lvFgS*qN38W)6vP+#@0Smi;6fPIFdCe+M@!_imfa9 ze-^;oMe^?1b1S2w!ftU^H6s!RN~*iaxAfz1(~BlHhxRgZEnzT0uqhXFGc7ABmZp zzk810wm~++Z2ZOlQ;BrOD-Fabveqx>Y(-G!+?A(9TlMNd^ zPH#N4WjiXRMP7zEOf|?qvf&m==-H`z=E`d-sP`l%Y2`Oc2`OJy9MtG3M|zqdkNqaG zQga|3^w&EJ&JMMsXZ0t*c{@%DcRl)>y+XU+XkwFpeW@L^L-_T2Z;L&adrv<1@kIKeM zr+EB`_J>0=F&R3c;NUIiONXd2WM$Md7Wi}R#lw1=*Qg#aHb6OZxcP1L!XlyMmh8Ei z%#1#o6)U-;7P1>1C}!!x947dkJiuQ1q&Z>eKc4Y3QCN!YGVH2SPeMMm{3(q618Lv4ZIY?{47E~i%-lvwowgh1 zOu6yD*Kt-&Q9FO%b!{h=7vb1Os!A`dGvRnLo4{APP{v(di-6E9Dro@3>$Y1LDCAOl zexDD26jOSO)t3iCt`W-bb8a9IsTd8^_qv{v{70v#og!*)aWo+vl; z^7&qrSs`kEZ2?D(o#UN=E7@B8=8VK+te-x|!w~#<3oA5xN;(_cHH{x7gHRml_T*gx zuLy<;!6)uXF7VhLdL9VTd|(4;6tLhp+4Ub1=I`i zppKF=U}331y-*LyyV6f^lz1OQ?isi!e;yRJcz}LcB2{ zRjKYg>iaUCWZKF@k@Dw=0lLvr)rZW3Im6$#7Blp_EbwX8%WMe%Ox3CH+~+3?tlnC` zTShB6p~G!QxbMZS8vZ`LD<;~rId*TkStwXfP7)UHo@8t-_rf+Tu4&5<*}lt})oDm) zEDi2NfpF61(MJ<_Z^zheF^BYWekiS=IoU?v{+uOTtUi@}e4o6VH*+rU__G#*ZziC+ z8z%#_3&tbw!8Z~X?jD=;8xOQz1;wdY__0XT_p!9u3KikDAH^+9Sezk(&YUGLWPYVz8nA=A2u;Q$0EpgQ5oq?CbAK^nJe?f#MuU5TWRLS#dbG*FjF8~>s+=lKy_DF zQ2O__3;kJGP}o_VfldKhX?EEFH`GUhQ!n?~Hl3Io#~Qv%hhtr5$J1!(d%+`=%{?;1 zk{{2*z__Xj(okR+I=hBaXnVRRTYno^W;%ngB#$pQnZY0ukPEMgG`|kKj<0hLPGP;A z7fq~ktL=gZa_={fc_g+tpN5@du_fwxUyQE5Fc1`tvQPbEX&NC?jhN2~D?b-~72hpW z;xK4}+S&i3_`_c8Dprh{+lw)BL-~r{3vQy@t4mA7b2%ec%h=&Wir3*;)-9NHtir0b z*zUx&;?V*f`>$14Z%=zoNel08+xiE~)FH^f(HYte&*07^m+p8mLvp}f`XNk_t=@-d zGSfZKlTdl%RdTcHq`B{T!vx>u+oblWKm}OGK9`dqvqZvT(~Y$%$mGWF`w6Z69>HuO z-D;z*-v6|+n*G(|=U*-@IUOG79L{|yCv@Pp3}BafkYG3|QM*}*;kT`=Zs^A%=1)OO zJvY04)lm9s6tO8zr({oUmunkS6;KbaS;jF{6SPVlI>-shxklhlVtax9Kw86z>Q8=@ zsaRZquFWcegC#n%+=G3;Z>;}@drkRjT@KrB@|*l+H(O^nm}f@+oc=b5e&H0}Kmx1Z zcGNXdxAhzp+Ie>sUi5p&hP^}#(Nkn-pcGJMf$DrtY8WHNT`jJrYd`Wg9O zY8#fXM7Fli!X7``jCoyfAmk0)_*)0eBx*q=M_*0yz?Rx6vhL*vbB>O050P673 zQM{hTzc!Di)2ogxG|V8goNz^Csx z9Qvm*O%SuqR6O4Klnw7L z$a_AzF7R{cUcq9{*JjcvX;wvBNE;J=mZDWu7w-&wDQn|!#cWsg8~G0Mbx zj6X#H6uET*mX;fz9ze1m_L&>{w)yY+sAN4{R84hMN3)ZhB$j6!mxnfOW>agFx zo>Zjxo)j8cw_mt&+?8|d)?=L=z+~c5n3?IR@aexJ$zUogxH>!LTA3eBOJ$mM?%EE> zpvi{p6MFYU%v?SGPvNWP4&uRq@&2FAliv zMbZ5ch=!(~s^2U!dS@P#ERa+>U25^!u)f$r1FtwbTIB(M}1<-~(tEyfE6+PiAB)0l;-1~z}+5eDe=VX}e zu^GsQEoej<-BtU1T6Ot3vHII)fzoBArFc`ybyI`o4}vNr7n7L{TT~RpN&Ma&jgPVC zQNCYhPv%9FI(nfDR;uMic15BmbooSqwPD=Q{BP90C*-WL_aZiypFN`?A6v(a12}^x z^*s#6%8_26z+>-pmoLbozacvAvfoke!-HO$-UEbxh_DM9SMfX;8-X<&t+9d7;6Xd@ z+Ea}ilN3}+9yhjiEKq`!rAtQeHb11vTE?>#xS$CWq87o5xV49dRc2Bvk>k~nxX()@ zz57^8b=Gvs?O#+sA367=k#!-!jz)MLmyYKPGvD8pFL7dJN7{Jp&0+8%-o;Ev+v)kq zTFISVem^9Lr5{`2#~y_7Muy0gID0gh&EGma0Yxo~K?#d{Wo=#zb&iQtCz1J^K3lQN zYbZf^HMa`F;<)$MkIdKITBW^c}jyi&l2a=hCu(H>?1zg8*G@t2~Oy9I7 z3p=#NwNS_>d(TD#H^G7O&{5u=n9B#!m{lL|BajkIV9(ID6X00xT0d{Q9Ex_C8{~06 z_ak|0)z<$wwP>zmYYFly=1ssSLM0t;ffko$^y)y@Ct?u4<1&}~r|NLZ9^G&jQsH8~U- z^fpoj;ZQ1u`QPv-gf%G54_nfh;r9{vy?NExrN=?5BuV%^KEj&64&x$8{VFQ}MP`E& z_}NqsAJ1p;SHHJycS!J2VyK_Ic@WP?tP>c4gL^@Y8W$8}@p;Dd@y%Df^HQH7_v|)s zn1(un4dbrVZ~n)?MWQs4vSM?cb0j!@HE1oE{r*$>U*|ZNjrd@l>8N)b2IX4 z=z#wug=(XCw;>)yh$}7qwHFCEKvLJD45|$|IWQEw(%qO3iAd z{!Q}mL1{ep^9>q@e8XGSFj?n#HLve(o#n+(_R15MGXP4faHVFYQRkrb zwqZSmcew6$*85owZS2QrRWG59QXz6ELshMn*oCY3$%#+b^}UbfQ1&Qn&5ZGxu|EcO z_fCH;9`ly2zSs43N=GUic08VZ4tiW^sG_pR-SYJTpuAu zbs>M{#!$hHQ0Vf?m7(4c>cdC! zeWu<9sXP}YSDqf)<4-TkZ)2R3S+0Zl&0g*nJp&ig;2RKzzXYa`i${yGnzx=HPBok> z4FwVc8ug=0`)`QGC(5JoVtA{q^&{Fd^gj?hvj}ofP=bXJ72J)vL z{46@)NC+I*cQT~+z|`G-BIxDffcAyZ$@G3>q$J*~E)^m1;X`5&XDuJDHNh`T#)kCI z=vtXZgN{X?c2TTXI(aDFZ=W>5lz$AWuoa)prQp@5EL zu2|@p7J)+QMV#DKRx*jGZtcsYU!7cGtxPmhj*SyP+jscb=j|NI-r1Ia$s6#!XW61o zvY44rH2j@6(afRMjrvHcrhGi)p*nry(0Kc0MlkpA^k9K4DeLm51fL&+)l(;BaZEA3 zKiB=ngeBbGEpu4QZ*oFj`RUFnK*#+|+#h*hht#^&%dHpkKiE~o1MdOz092Dj7S8E| z=B;k0yh|H>x=!*l;?@&d4y+Z|ICrZ&hxg^aKkW3TzvWV4$at6_$lx=L6LjHK~ST+C*7PmL{kB;Mwi zn#WJ+^FMWqXUK~B9nc;0gOx8?U|%jnz_Js z6|1B~|4}Dnuyouc7KSs_mIAm>DlLZlyz8mE8q3&@7Cu&OVha^W1V?<96t~9|+38(G zc#3@JtTjPLnEC0*1bp;G%=WW%Bn;mCA5CZe$n^gQ@S;*5MN%YpD$13VYiy20B}dM3 z%#kGbeQzXGu0&LhRpiJq_ncehm|Joi8)j~1o3YJ~uV23Z!uyxk`}ul3o{vX>!YQLv z6t2iDW`NL zvO=+RwO^-9?a7rDd>v(>f|maGfb-dfhfJ zAE3skeE-5ILSXo0-Q_pi;>t$C>Q zdF!_-#uXFMo-xxm(3lR@529L6Lzyq7C-!`x-<@^~Phra744zs9%PkcZF!Op$UxkqL z;a8jDp6lb&!VB+`qEyenP7D8U8d851ib>nsrhW0joF&}p$~cXnx!Qv3qP#OpS?_WX z6Ls2~{xd^L0V+R`p6mv9QIbK?40I{uOW;Ab*T1OXgaN`bjmM8*;#Oif=R7WJ+=*cf zCxuIWR#sUO;E#T%s2ZG->~5+(X&ahGiqBijiYX#gXe;Aad2APPT{wF`E`anoaB%7p zq9x#m`ipd}vVs)E7Pq!66dU4`f)|~7|Hp#g%IeSftF{@PU=wSMV#;TRijc5libL|# z&vf61$1i3L_ob>|C#sDvqM>VU{DAd~Ji-bpz2YB~eg=dog=M!$(UvLKlfmMG9+1*I zCu5>MwyL$)g(0h!HozSFY9x-onni~}uPFg*=dXIy1W&dx@_-cE0za{RCjj^~jxmAQ zD}DW+%@kLi<0=JAa}7ZK#8$5VSpwLt?h2gu1xIw^HIIQ8j3C}PNycBE4^at5$C)Ha z=(|>HP#@P?>##n0baZ8?P=uY`>JI9jtCS=V@X{@-XT>^(pjw?dGX~dPP5N5#DdWUi zIa8@jXuo~vq51#xy`ggak*_`TJyX9Y*$lthjaNv!M$+V)x-KH;?Y=b#T%=TAb!II( zuBpkG_&g6Bht9Ek1}#7|H?hW3p=($Bj#IqSk2{>{lyoFkBcpf0X~gIiK-6w0+D>Y3 zL67`|So zqphMu46a3WF|Kyc^6^*kPDf+>IL#UI)uUv!tbAxoqpqfp$sT{<#e~MiP)7N!sx<>m zPLc*V48Fv6U1&jiH@covrqh>GH6;HjRxPv>Fx7Dm{XxY}jQ{JuJ{MH@`^LHFs)GFW zJSzZS+vr{De&Bt#>dB?MlBbt?a33w=j*=4pur!?59%dZ{r~kWwnit`0L?7YL1emvN zNi?C+FVPgF4SFvx5TDTGVDpp<{Fhsbw|D6CRVQS)Yc)<+yY)wa#Ok z(O*m{2Dj&3qsOd==mn7l_)ND=Wspzt&;Q8lTKJxgI?9*Q@VcWSY3(T4(5nqvLIJXU>>l-d8Ps;A@OvDvE3PuJDew`Vx6K?D*P`?eiH)NSJv0r)j zS+y(=3;u5^mGTxqDUb13qn!~nY-f|m{i1-|Q#_qZVRiTR)ctPXqY$S2ky3gZ8Y{CQ z<(@0<6+)dH1zilEgp*05*G=-%ro6({Kc{%AIQ#ebpg*=2rzJw};##^7E8UGDhv}xv zu_?GyPNW~Po6MV0la~We!1unU*E;uq9R1JyG4@S_;!6vkOzxG%;t-duGp$8g=nX1!wWw9AT@wOL>5a?*2b5NAh4VGYQ`m^2m)my4@CkgLGcj zO!}>e3iP!W{M850sVnj(lp9=lD;$&Y1Uyqyq zqcqvNC^Q+o1$F)9c46+%^-Cn;y?fNm->)V)Jt3K&wco-+uLP>3zYJ80{UcS?*J-Aq zdC?xDG8~q!Y9-XsAPc)A!J#c8bi+E}F9?Xwjo_QV?d`R<#?GyGC2qsw)4a3~gt(%Q zd^BReCAuKBh!d{>OhdR^(^yqC{<(dq{IxyxnjXx|(I_20Bh5J5Vrfrzuw-X|J~3Q3 z#Xd<2`4@R2CTDPdz?U|WV)vOphWEVN=AWwljjkd|GPRDmx4M}Q(e$Qs zH+1b;wm{7dn~qy<#C3qC%b^2}?|rBVk1q^b=<}ki$9F1_B)A52|JL&#$@Wgv8x_wE z-;}w2T;x=cSV-iBQbnJz60xar8eaLTqE*kN-mAcfaPRigm+e-lo-ZS(FnhZ3)z^D_ zhp?~TkvDt5VuXl8$L5>b>#dnr4g+C(4L*!$auqV#y4NgB&5D#5#iNdiul=R=SF4$n zv|s`k;MM;U1|r?YZg)Lu)YiN%Eu7Y?I`Q(K-Mb`0_cS9w7h%pJ!`i&d>|@efHC)^D z0V?MkB^81l27X7S9SR`>-5u*R207DS3)SI~B|9{9()~p4N8qg!X8v32Y4Pu(tyG-| zGKD?}*Oc~uJyu}XS;eSjW#U9hNI9w>1~(=_U4xfIdET9gZ5Zwft+_|67iVoA%TUm` zmujMkfxdh=Rs&wZNQKD8cKqcpW1PbHBxfzzQcuAeWNWBh?ZKq{S^#ZE!YAIftK>hs zsJi7%FC;lR-gL@&PB5-937v4i=990>v2s8k>vm=etz}XflbLr|A&8Bx?YJ3($9@WN zE!N%INJ;wH8qVj6Y=MrIxbrQouKwGCuJ5O;2ERydut^YbEl*v~WSO#)R)V75@4Na& z89%btT)VfG;^w;0i~a7($KU*UBC#oL`liWn6PAQupKY3&Pz=gM!9V;LSOJCmbJ_kO zktPgO?)}{>{L^*QG{3yZQaH6~F2R*5$$Es{^9z{wa*Q9-$k*%hJNW&82?&m7wnVrehRf9(g|BI z_1hRhJ1{$-G=R9en)CjI(QkeB?=zs3B2QLb8$~tgS=B%X8g@Jr)qKMd>|1%o(sywI zv?TnWULSPA@WB7m#7Kw-keoi~M&1LeX^r$W<>PaJMkb73MswH+ZJ)wiRot{kMmA3*#K_>PY5URU%+H~x0|xA(KYnX> zImI7#7$&9;^514V!#i;sEMZ?_<5WNN@yvRn8-mck&SYcYDVZM-02k zJkXVg1L6*+YfM8O2MeYW+YVE^?Lmg2N*CC7thbjxC+c~}kQo;m7F|qw zA3PTG(^5&3kngY%)5^>Q^F^(=xQ;*Vv6%?y-z5l^(vkC#!+zc0ytwz29;4rC5RxP2 zv4NBnON+`a@1d#Lv$Kw7$w}_J-n^e)Qbgbq#K`av4E1=U5RZFh;UIn~3{yUNzT1lw zjEwKNHmy+J?kOwYck0a~k$vI~yY&fYpMjIILi5~pYBXTgr5@wkXC)f1(<`9a*Gnq9 za_fzfU^N#w3`xJfT?PY8lU-cgtIOq zvQ)|AJ_1O+C4wTg81^r8jc$yt`$UGWeyl}6jQd9ik4GMWqkAY?hWzamO_8m#K_`fK zG8jm8=M>E|3g=kML%}~K`x-tISE)P|he=AfxpRg zi10v7$VTM`!p$B)bz!}Sld`i;lo2t=u92jeSUs^)&=w-?ibh{pmCL5ZX?Q@I+nP0m zA$7@nK6aX_be&={X;XvBy<3T{Oq$mXcyiNpE_ra7nobg^+q(iy3mX+N8j~)wv~9W9 z?E41|Y1F6#QQ=kURt>+nYi4pH#FBASE|>Dge?&a=+squDiPg%U%YihWcmuqY>x2z121vEm4Ne_Z@j<}X3lsw?Rz6}hM0R15WBBp)HG(Qm&v>7 zb+C5D>kan7)CHqM6_?Bz<6Hll?WtxK%+w2NR*M_~gXVstJD<};jZQWolk-C=tbPhp zJ$xb?W%1*-jdIcSwSAyoUHi7+eNe;o%bgh7EIjAUlI~rh^;5nr{4 z$D|luvU5gB`nr9sS%$frH>pU#!}zwHe4KNbIrp=a#3uGPL~^;$OhOVXGSKIr-TO6< z(wLM(s<_g-0=tqOYkNdxV>-i0A5&Se zfV&k*-K3kspp*poqturyU!B6Kao5I2Svoh!C%^cKOGwra+BT@!!3=0Ye_>Yh=v z0qp-JI*j!dsma0$T9{P%Z~o>+PHXnBDp*+dylwLCaI2c`!(nEFEy#GDr|mEL#*bmr z?3mSb+fo$u@xe-H4h#{I=Ab z_bySqVQ(2HxoWsh`uKH~POamYtW$3Ijc=Xf=bYbUpLw1%MBF=wFL}haS-zyB15IM;czxZ>|r9ZtC%=L49Rp2#Kwc7A{lrRi=IxC z@r4Vu!j@}zVFVRn7-v?POh-UhCR-2al-ZixL9E{~)7w`T%DrX!z$#9mZ+Ei*$K`Hg zXPMXemz;H^473dy-bW)odaZhQs6M)XtIYx{-8`X(pEf{$D1?%Ib>=qjn{@AE;2L=> znHNaS6ty-GBEtwI;wfMiv#B)rnzW}x39bOu@r#a;X?2QedRY29jiJ#4Mr7b64AU*LwcuY1wQzVSd8TdajrNLp zKLx$Z%_< zx~wO{&x;IwoSU%GI9YG8I3FLINAV=?RM6gKfKW;DNQ@95Pf%Q9rDY$H{MQgKrDRh5^ZL zdZ%^@c-kRekOEDM)J%8dv{!PZLoMi`*@jS+d?DEPO%cU_cnzx$`_kyq^W@2*T>rP; zu`DSG1U&qV!=^wJu*}0-Lf!S^*f)1Go>xgs(XM}4go#r{RH74Vny)0ag6}$yK>DBg z`6?9+kG&=}yUla=Y(Nu0%~F=?|iveex zqkA#WTR)VLG($~4*H9u`AjhlovIsgzvdoj1FJAdiB)}Uk50VDr;-})<@)?`(yNyX#J{_nxv-^55N(s;rBZy;o1pElcN5hMs($;Lr(%%` z*hxX4S-s7e(Caz2ea6+ur8C=39ZEN=<4`_Dev(G*>N8R?siJENmdGIG=#**xvh>EU zQTSz?^&k*0aKj)gted}as<3Qng0nC7#eB#4OCy)Q+cNSx$0!)5Rz53?qv{zP|&#VF{>iemu zRHpH<@bVG=x}oUR)Zu5bAEAx%8pUoh_m&3_?L&Uc?DoV90HHEUH`f%;RH!b>2}Xc^P#-TFlp6<1BGUF1c)&cvD+TPNBU0*YCu3 z_Eyg)MSg5mS90F*b4x*)pV3y5I}N6pK2O8O`c^;r@z{#8{*1dS;8ymhlFT(eh$oLV z?vfoJGI{L8g%N*6c!!)3+fnKPIOJDrl!tTVhxC@OaJyx{Hq{bsS)7KsQX1yp&UeSp zg-Gqru<9zs)!67wlUR(CZ&GE!?Tb#2?Ed!7TJs}-PZug|Chsl% zaNHx4J9Bh)9JI+I#!BQTu+~)=YuW$RmojG{uBK5vBjvr-A?vV*27Uevw@YYf2ECcW-?LF zjzVlXyMT@UVo&9#AT?hPy`fJUPStS7uO8MDl2X#U43Q`vhXa*p9SaRUW5=C?>%tOM zF<%}5r7L5`o}X1y2HXzCsKq{A1?P>!)}|hZ?##=kvyT}f0`yPIZv6Z-9G3^UUjs*W zuDCNXv-m&HAD-mCX)3V}9Q4NG0+upTqfZXLR%Sy7!&Gk)cK zxbU#bGxDS0w9gDtLjKorjlCa#pX1+X?Dcpl9P3}4Ss-~(pQrxn%DhfpDO9a;6q$rv zFF7?J8BiH^aP;6>wa|>xEz_p1%OQ8)rbA*C&C&>7jwwWPSdA2Tt1gULt)uDPvH!}; z089UN0q@!FIuN>U8=7t7PcYrBd6m+*JO1fiq2*3}Uj2%kCPVuDVqgeU71(`Aks+En zqQwq&icn2%VsIpVriL!W-Bv~QY1c9qmyzU@53%uK-Hgpq@N&jUVC#5-gC@;keBVE5 zTOCQNEb$|?jZL~0^}#^%T!QRUgILJ_%5$b~gHhq2K$UpRZ8F036kE_vgCDU9r#q=E+0qhe|eTM%soMKhqU z?zR%-5+UoDM>#SqJla9Oi~)!e=3z-IQnCFqXR!T_wSnZ3(_lgd*If%K?z^Xv!qKXk0t={Ou=WbM{~X~w)ob6v^Xwn*lM?eFZJ zQ9mXF4s8C)PDQb$g-hlI#Y_>7Rj6G(y$HbtR|G*8Oyss>6^Zzb8NRy;YcfnkK z=Sbc*AQf=DJ$yMtN%pC*laN~e3*G<}ni9?Vw4w}6J^nJEKV2Q2gSMHm`r#h+jB`8N z)(W(=XxFxHlb_y?cZAT%`BY{3)rUYjfjrN5%OV60C5M-bUAA43xus5lG6si+)YA ziK)!l0BxX;L-)f#^j!dmQ6%kkFcjt##elI_IF%czW)QON<5tPp>;4g`L{CXemKjRY z0dJpVtT=X%qWytW2tF z2$-LYS+P&$mCYAK<}+`)!1GF;!@jMBq*?w}%KqJ@&-8WZs`H)w2}{bKqZ`&nbcyn% z-E!hLfdwRL4xbG^7QGa9ritFn_TtRcxXY^poosI(d=-OIAF44rU@DE#o?+RoirXa( z9}82%OZnK{!wWtIEx<@T&#Rlg5n&aS(xm}(d$Io1hV~^<`02+ZdcQvTMNEFvt|`e} z_p@+4RE@NWNMT+{CQb^SwXO=kf+F23?jB5dZ=XJdYpbp2o1Mv^9gXx&`>VL!`%R&+ z`?Aifxe80MPm+H|>8_NfU+24(2#o;zi_M=g6ZM74JZMp4#`E(Ld+K!` z1xo=lz3MNzyZ208n1O>==z}=|qi~Jiq4&vS*WtS|PIU%h?fTbF`&KsX_OQpM^4Hsi7+3$ zR7vUgo2*>#^ta56V+IdAh1Jv?v>sh z#R`dC-9bpa1RuATN(q&*6p-o-neH%qx0OS^8tf%Z^Nexe^!N&@19uS<@(XUD!gpjx z>8)@?^q$Wu*8lY=XbMaj8RjKg=i&~l=xM9AFM*S>34F_}@8t!$je zFGkDV(Q6a~ciPYc-VIv7frz$0t=>vs$jb(sUFk+97iwAnSuw)D*pR z@6zqtHpIIUfNmq)*#5}rx`&Sc9Z3UvvG_D}ct2Ilbk!JGA1g~eaf#ZwYYi{Fs#`Xt z5g;%kh_cCO23ynyozG;-VoRxO;(>EN)+1vA@AZqbA06*?gU@1M4$Dfk(0 zW}1`vyWP0ndCSTzseSrcai%xO`=Sp_*0g1ntz_gYswQTJLqM!r`2{8=sF>K`=drCl*8Fa&Z3$pRPk=Gz*^PocAQ33P8^RE4A2alc6+|VH&od#J=2`vkWr3FJSj#kE{yYH*gNUOr; zgo+sa>s)e=S>>O?w~{w~A?vGiHR}^fZO+wL<8%=EzjL^2Qdce^mMSCm`W|RRZ9W8$ zM*U{MvZwXtrJqK73+me;8assdYVEaiB-{4J%Al3R>$aaiSzP4V;`I3O&4zwIvvJH( zE|n+Z%Zpdl+_M%Z0B^%>$>KqZ8N_ubiLg50k7e}>RbVebPg0>k_ucKg(A|tIv8harwo0UP2)GZ9H`_^v zhfY8AVD~MUMS!IANs1*4`a!!~mn8#)pS>(1LKsSIP|g~3CFv(*Lmj%cHrcdsI~dzm zM^#n0(Grv0dc|@6V3=N`ia^nGQSLPv#}SP&^1oI{5LySQL*_VyyawYWLp!)ughhEE z+aA#6wM^8WeDiAhCpxzij-4GAy6)cE?mm@*f0B^=Dj+y0V>st~nk?DA zJ2;ly3<4MUupes6Ork*-OBQ~`H?DE*M%nd*9PA-bl+HjE%-dm4?e6WfFBUX)s@w3G zTB5};bce{61F|n-?8EPE8-d6RCFwP#+spd9UY%yJHvFCe=s<6q3j%hByxB1<81(W! zT-+hgVcB~KiWuH+k_SxSnZ}ZZm>qUj=k?i*f~x%`vs3Bt%O!)yUmmZ{cVzT0#6)gU z=oZyT2Kl`p&3ZpxzP%8j?L{J=yJNQJ|+i>?M|XdL2aSY>0GTl ze7{oNMvp3#s;79l+DJm2SeDAdgE38QZx;{Zm3eZB=B_M9SNb#QMQ?p9y^kAW2#4A_ z%?WF~S_-;iay83oNBE}9Qr>PiOI~?fWgHUd>PSsq$C5hHpO|3IisW8&Ak=y1&>VK? zIE-cq@Qy%OlfX1E^F<-3wDfXYvOvVlaJpBl_FT*TtK!62ra-ZJJ83+=@+(ELzcKb~ zRqc_@wjpWHjUiHR#FBW4Z_I6&m4rk?wW=gZpF3B<0+JP%eqB~BY#4kQkL$fn&9nh{%%DI-t^$B zeJ^+ohL^t9mMi<*D=w7ntR0$P<%uWEPC%9#gVM|~%W!mGm!7=1YO@e!4g%d$X#g_AO{f#guM#5b9i?i&J>VfFJ6BUt}x5@XgE^?+n zJHc44v+9IW9(8w#mE^Wl6^)7|2M3pgD$R^8026rtLMP=Vn?Lcx(NufF9;Pz$bHy3S zR_w239vSX$n<;LLW-YFb`HiMw(MFCJu}1o)#L|5n7r!R5i7I(Z&FMq3xGh)oR9sD6 z{?O1&4XF%j3Hu`_v+bDE3p_5WC+9pnQGk3qx)?Uu({Z6=!;8?>EE&Fg#$+RYKtd&Q zCc>`bXsKKJEg^xC^Va*_l!5J;3x8OixX3$dUB)14l1@=5aQu8;o05m+FcdG%gZIPE zyz6!#esPG&RA0dDfSCIne7b{Ft?JZ#d!fnXOUOmyE1~{$Yqv`AQn9VOo-!%=S1;oP zlm49xYcHm)3XVWi6UMDmUReF7F>|5Uqa=7TdoLh7_23>CeMjI*Dfai&t4o24cfwz0 zZSetTF2r1jzaV;4yBnIn(mFq8QF+X*dE&F=a+23Cxy*ES#HKyDz}QZgTrSz6juX@h z>=8BNaT(M2r=}O1B>SJtd!Gj_g~P|oXd}*3lhqjcvKSTb*R&VFScJ>gw%U$2i20=I z6ectB<@4ldmF3CQxgBOvzx_J3-0(cJNtP?3>+(t}X~)qV{U|u}G3Kr=N{A<0`(4sZ zW8ET`5@%Y)cRvZ+sbXnqZ=O-7jQ6XuS)t0oyqtFz3>uWF1~=@>F_z z7U6AVf~faIT1qli4OH_wfAi;$E#ao_{w6p(K_4g*u7Qm;*p4?!o-fX*yL+wg;JMB? zUkW_IyU_(?T#N0{BrhuQWxj>&O4aey9js=JmuG)SFKM%Z?r)o6a%hY@W)0f1V?IY) zL+?kwkejF@ggJQro%CzMhNma_@cQ5M<_~j)V$kCC>E)3V&-yi1t9;4?)2$Q?M%c=J zBq~^3^W6_HZe_?D^O>C5+K4)oNE-%(eV?~;-c$l%rWrZhL#dMtd65={+foy~Un;4F zz~haI-+a`6h%gD7T~^7q_@m7eLEmbQzwrAuY_gS=xMsVZ62EfFCkp5}+xfS!J&rKZ zG+&qVJEVeY!S8f8SU72Gn$|OS(SLL9Y~(^#fOQd3!}5KF5t^4hPbm5J>(xFtgS4L+ zm3oTch2vmHagfZF0SIdthWwM>SCQIxFNRuQv(=dV@o{$?@(J>gK|@uYxZ`y+Hv$qf z7bv_SLBBvwobB@SLyFS(#GzU1xw9jlqO)q{6C41R#CH=lry(a&)3Fl%xFdW}GOgO= zh(C6(5n&+=4`JU_L`?d~DxZFLEB}ojH{#tN45s5?+}jZRyzR#INCK*-Jcm7RJU?O(MJT!-nQ#<) z#-%*ruxV<{dbMy=R14TaB=ua|U6My20!!*BJTYzAB}FL#hwO@Fax3n;W1GZ&r#Vor zJ@xn~ksOV6lzPW8F&bD2Rp0F5)>)rE{yj?A-}(GgUl3J5;E=V{RI`=DU8nHjw~>!6 zuI{IqY3_dLVyb{qvmdT^jFEVj5mkfZnJxk0CZ!T&Ua8SOMJRealab{UmGL%)gYcvxt`EU)J3OJ9|=^3Ia>Nrh6 ztIrt>QGVdgMG#v--S}Wgo-k;p=gNqv0(SSFjYp{dplNh3kvV{*ORwOQap&V+JE_CD zaP5&~MO>3PDOVU!a*6+;4zwRbCSU*A{^919cA@BtPTs+YG>WshiY03hFbax%W7CCo z`y!6{5RR35-M1{bnbArOIOxqcDzlwE_We%qzyG@c+%iLnVxM5`bvbD(f-9nA%Px9S z6yc4j=l=5<)B3uN97_;7jW7ft5FnG59e3FI2)WZjR!NFP(&^j?~ty|mflv0&%(HfCez;HjeExka?m*9 z8Qli?+5w{03BbKwLP$>S`Yv~8&sIw=Ep)CUo#JKR|ZEf^6{@1@;hs-OO6B{ZSIcj>ad4jlJRP@{Au-cET%k!tYz zq>)~o1cCSvG(MRUwPDMQim^kSqh-~VZ#T4t-p(BY_y|&=i_TWJ&u)+G#~ZDUbDIJ4fz)^9HyAr>4%Ka6bqkJ)3daxPHt z+ljYUys?2&qgobV1s>;`N4Zd+=^cr9m|8HOCU~z+?}Z*9JccPa{3mMBU)fjuf+l?c z6iRv$xo4PBOL8PnH?%*&7&VN{1F89V`eh+?ciK-*dX99n+Yh*E&kLHb>QGwN5R}KhdlDeS9=G!ep0Y6D!5j z7B3MA`xREFv7sgHQJd_LmWlkSC0wIk<%hhqh;?ltEzODIh`l@LbDBcPOfz$1fT_l` zIpo$Ffz$Vq_lzdyf*k!^$C$?BL|Rh11M_$En7Y_5%Iw6#0<5Y1{qXL6FxV#B{aw-z z{*5q0PyITNuF#1u!TynT~Ni5_`7Sfnv^_`_b~-q&w{WCYQz zh%^~E{hNa5cd}p!Xp_ap`|+kym8OXsbto}gB!%Ti<~GNrtFT(n z8B#JL&}OR0;qL*wF=89sCYhOU?IXm#h(73|z2e6jYJT=m9POsG;tqVbn(9mAbyfwR zaz39S)X#JIk~H_+b|2@^`k`&zwWt1OG`E$b%Fb?0k>F|42>EwUwt7+7aFcFEQ$+asV_mb5aQcN$( z^7mG|0NwZ6jXs|E2-O9zFj0H6^4y$rMlP1k=46D>}1K+7vj`a%&%Zx8r>kXq*#<(#ggt)DhUS$tQ|fcB#* zEBTajJZhqL2dq7*`SMN5J`%ZNCd263NY%&F)tk>Y(B%4nAlQ~pls=X_ETl1r^01vd zvc>>%Z}3A%{^#k7B>~w_l-`zp8*df(SAn)`LQ3S?S8tM&%*rM z6sm3HGE-?QKP30<+Uo~Jl3WRz1xo;0YzM!GwuBH}Y_N(b2J3ql|B66L%kRx^GXK6h zBl1?*e#>f3P!Q#~5Hx~+J=7JUb8SFT*M~5prr8QdlGjJm+bMHqeo<7N=pzJ~3ysww znAEM$zNj-&9j>|cPn-bT#91xC^h4)tIown`DPXwg*>*{_`}s?Kk^G)se`=ZlNAB|r zYK}Z0Mh|;@@o0PW`Ol!NkHJuTRO5BthBUwR3G5h%a+LdVWoFp0qLXk)m=L+5quzMB z*+M6Rgr!Msil_tp?7nIzbhmCu?Jbr=Nz|}NhJNrP89ejeXGRpCebs%OQdQtip~IXI z`(GHcE2QFMU@*(S6;-Cp2~emA)zjk5ow-SL4c8W7re5q@9uZ2Z40wQS`#AmF--Rtx z0{h`|IWa&bMmS)19JMID&wBV{Fxuzmn7$7UKNW2qL$#_;I}XZiR0zU_%zKIsqj+kf zLt5i)Bvx4@TzY3j&iVl8c-)`Jv ztFWPqqZpa=o7&enM(A8O^U=JAn!dxk^+o7IZ9u$yi<2qVPR^tC6oz(<^FjFBbY{mp zf|u@Cjmc>o!LvQv@H4rQzkhVW_zlLi%IV_jH>apWJRZ>??E`OD7~aXq;R~Gk_6z9d zBzEpDAJ@KS@pI3OxRBi?Pci$4pQin@K(8O#pSNAKibAhb>E!VwrfCk@XfuU3p;*yv zBT;70`~*5u%!y$%?Df6NYJNne67JjBzwC0pMM404WWaLh#QWiopF^EIPd|&MHB2I% znU-oO)e#a?tzi9POj-nrRj}#9)mno%L^bMrz2iQS-UTnx8k_9*Guv+locOuX_RAKr zT<#`5gd5BZIw@-WQQ3?&X{&is1vcjfi}s=SH5xH-TH#8R7mO}LI?rJez9`JG{Zq#>Zq%7=T+*$uyT6^8wmq-^eahXR7p`MzKofkS zFK}w$E;jeKji$qgC!L=yLqPNw<_7Q-E<1;Jx_i%3|Gp~A?tOHQnbjdC|848;X7QFY z|4P7=hww}+E6e*r%&zb55z>;BNWAZ9Dp>4P56@O#M6yv}Rx{C3;4bsqw=Tto-5?9l zYggEX-C3_&tKp@E`Cfivt`8vM@l8%KMaNP;LNHTf4QaQ!P1(=)*Cao%Z+$z~ipeA| z3cL;Zp1&v{kVIa5i)3x6oXxu@1p_J?^tHnmV+%~j!}-%dc^*#(lvb~Y;U;Z=ZC4R9 zP3M~GDkc8@F#~)?v0oO1c+L9GI!=Ft4cGg8)ptU*i_U(sZJ56xin)Y7GeoL?{!#t= zt91nIJbL2p#qLVJN8K^m$y4^X=kE4ie1YRn|61E3Z7`&`JH`Ih9_o7#@GUuIp;gV1R{mLG@K<2W$JRZ44QdhC<($VgM%S0f zF@ri6J14N?_rK)DE{K{9bRwGGt@G4tvcuq_7$&)=yDT^$HxDun_jNE{se4AygOGq! zznB-p`e6*ubpgNXuJSecgxWxzEb&dN{{75|ja2R4mtodtCZdHWquIX|Zq@Phgg?1v z5#h_MVOf50!aoWqjtTIn{Jxj4U0`8kNYkO@JC1gb0}TIMt%P;|h97^L_B{^n;4p0D z#wAPJ2ovP{?_;B86giL6A)9+^_f6c23`&jDh-gc0&2akh>_uO2DFpg_YA6QePMB49 z`+l%#*1VP*{u%zYs=_g$xO*WyWZ>rhGVh7Z%#x4u@OF`>+q~_EGaMVt$~aD5Rd3|J zXhx8qVN2Mq^f+Jxbk$_bVC7M7GL#FbNzVcwJbzYu>RNV+kp=2g(fC~Ge$fe%zCA!X z%D)qVf_#qHuweJuX73)?)_$mEYA%PJlaCsGcBuK1FR1Zho(ifBbFi|bFTSscJi_1k z!6o-$MBqX=v%(glyAxD*_I*xTS_7p7_$}oo`O?^J zn%ZZzmPhg&AXzO}hokV3-vz)A*Kw0okneMpxi?`xiiTrrqq4;}>SMMd$-e zQin^V{KM_IKuR$b^JC>`NLD*FXxR3|Muzfk%`k z;g|lGmvh5FPh94TMxGh8Gx?XfMk7-WsWcm0IkD9Gjs4v5yN`mU$;hb+v*DnaB z{JzPukqQ|Km`=+T3v=ZDLXnHWLLMJzFs{FL`4kEnEe>-Qd9{4q^;AA5O9Gi4rE{e! zufd~DXXyT77LNzEu#Fpcw$%jx}geLtTHe|i;+e~!j3@~ygl_#Owf^+?yCFOo!7|&{-YOzR4-$NIIx`mkX ztfKGsN7br^gm4?VZ{)MO)1j&2ODXA~Kdk4=?dwtPqDbrx=-@=8#saT@_^MehL82CM z=wcS`@Q&|Z&T9!ZdGckk#}a>|2F_NHeF!-r8?)EQzcD-*5x8d}V-J{sW}?mD<(;Z# zKJN8i2dnX?XFjqjH#XhOln&>}P@-#X7*ic#FwFK9_uOS%C~acYedw@voH-pW#y`9G z)+$`<{@&pm*+2T06Fth&<38p$_(0IIYUkTu_K$=FLUX&fML_6}zpgU0Dp@&6k40|` zmC@1!26YI=FsSO+gTDRK;4%GAF2qRo;#z;E2IKVdhB^-wKYoYpCb`~q|HmR3*$VY0oeMlaV7+3u`V^Pm{$fz|Wn!H+ru>Y_53!RFgKX27_8x5O*33W)MSu ztGPC|9C4ADyVLSxdZMW*0;b`Pa9c zzqsKm&6+hTE@#9UB)i`UJ{xq!V0BG_abobl@aeMyaDhU%(b4@UGQYFidtO?#w(VL> zcy~RJc9#o2{p5$Oc0rb=6z$Yz*-yc#h3Vc7>n>e!g-rTyCn#Y~_ionLK&@?=hq3W_KG7 z&0a@Zj%_j)dhA1(Ll4fjE^$;gFgNL9yGs7z*$U$y8T4<%ZVn6UGy#b;X_dU zDv>03#=eR@$Mz4f)KhXe7r5=~dgecw6X-fr{k7){|D);5ADQs~I9@3#MWrHl7s?f4 z?$t*n6)P&qvE0frH)DpBdz0j-F_loRkz?3gIp&sg?rY|nnQb;U%(q{@|HS)vzFv># zL-O&9-TCy+!^!5)QRNu?7yP^ij$888XCxeuJ5;7zJu?riIe&DOKaEeN)yeOXIJaf| zgeU5G+mHBH=C`@plFo@7ez#?8T<)f46qae1h%&=tTaC#bv#OGrMX@>e9a9B9l$CrO z^h9)0kB;=-pDF4$gryyD(q8v^PBqIg`>+;u&XwmXdU+U=xSJHCTOKq~wvrW#5VS$0 zA9j~e@GY8}H{#5@OI8MS4lh(6Lj`;>@zGwWW`A7n(k|8q|1r_enHxV?;LNSxPt}R#te3GBUZoq4 zDld8K-M0wA%UgLwCk_d&DY6IFDe)$s&`oRqCf}j&O4=5YES=>c49i!) z3pIVDM*=17mFiA~zb353Zz3FfdIycfiiof#(I*PWRt`<|}yx3H~CrVi-ePDJ$J63?XfHnHF%P8j(CtBZ&jtIz1 zD)Zs5U&=y*+xt)qPqe|rM$$Y&O!UblP{YDp5O94xEK4~HHENh>JhHmn4?G0q{;4|V z>mjL8NCa$%p|D#~DV76u&hw^w%b)wQ>8A@aqBK7j8mM3mrha$C2YEMZ=Z=T8?2J~S z`|^+ztUgC7t}a1F6}Dp?{#MW&KEy;|^i}?5>FHXoZX$WT9Y(%x0L zW%kx!1A!rm^s0I(S%TCJ+3&lA*E&+(mNbt7cks|Wv9uM}r^z#!Z^+7P2lCNQA45m0 z5CXnbQ9R7DHo$T;|>knGQ9J6 zWDc2S@A*L8qe`G9NhtGx`OJKE@K?9jSLHDu@sSdsh=mL!?`n+lCPm~xu+-YFufptd zY@@v0mout@)YPjfK|9H)?fOfxiHs_f)}X99imoiPxhl6huLPYr1fW&beg0MTy+Z3N z*_EeN$;Gt&6>Y<|NqV{^s3%Z&9CIH#kT|hD3=!HP=Zn57 zHl3Con>yFC<6p>#%GgBZVMKaL3=>>;ihIt2hR;2Dt7?xf&BdEbdG~T5m`#fgt_lR9F%-fnZ@^Gk6YLUoE;y3*}WlK=<_s0-(8KQezFtA#6?g+FPV7CKE+SW`~CRcg8~;tuU?_b zyQ*)d&rI%rfbd^e&9gbZG|K1Sj+OpuzBIBgA=`y~!8OFc2v;-bOLmn{%elN?eg37V zWYh`2u@x2dV7lwL-pwUd`T)qgKb3vO-(o_nIdjvy66|q9MvlRZ* zmG-w0y&Ebdv{@u@d46`W{O%uLqKtk!ZP3Dhv**2?&t}eSPw3EyP>XfZHTiXJ@lWcX zjL}P4oJ%K>Eiaw)&lT6v#^8@%3M}1N8?JeAtxU8}xA9U&TRNs?^Mv>f1U85!JtOt_ zU;Ro2NT$TLqSzXeKukU9Pza_jcOB`k>Ik;T3#01vCu6s{myxX3F(p}{U#?=b@;?4J z<&QOf+@0Hj{}u9A<}Trw#5R+EXQiVY54x6Qp!3Z2(?oCE=l||oH_%58A_inVwpx+; z)a87iv(pT&I#2uF=C{Lds3zGiKbt(~eQb)<%QnqI;=9q*5Nh!6G!8!npp0 za1~1Vj6^j#^m_#Qfp<-Yp=>yrtGN?2^A0TH(MCLm-B~5Q8ojp`<8ZTtp{+{_^t?FY zG9wn0Qc*VuM`Rx{{rE6QqNF^hd(yTs&6p+|g-X9@6l6{?aHrF9{9OO3S9lL>ErcIFH^0 z7uOX~Vq_x^yJYRKcI%xTa&qsZo3A2@`WBd}(x)KC5{?^j`*RbyJCkm;OTz@xx`C$%FX5tXoj(a;PK zp(-+@?6b|j2CvFU&_dTdCA{h(ciUd|Bd%RfeE+plkWK!e&pEx=+^F`EDDn9LZBzTj zcYn=zZ<0>%LZN`SgsYQ48QUx}dh02X?W$2R|6JVR57ba6ALS@|^Wd1iE856O!;ZI6 zy8kEIqjSqNzb{XfS65VKo%Sa+S0?wtw=^`>U?OY!!Iw|c?&I52if;XyOxWu~mb)r;l$d#J z#dGLpd1PIx3|tJ)@VWP-Cc*tdJY!t4Evh57f-5u9+RtwN7#d70Q~WW-H;I27<*HW~ z9Jnk$94Y1d%E#jAPx=?cxt~<%=dgg*WJ#6YvIh2ste;Y|e@R7l4B991nfX1__pl2-$i(s`RV0KbR2g?iEZ^;jyHU(W;5_rAfDO^?fgv+x zsZ1J7Cd`%*)5-P{^_lNua&1l5JTEQYhA`!l!Cp-B{mJQ$^2!+=dyBE#fSsekV@q`& zi>6FR${|(Ox?hFj53)vU*}G#_q6Ef!M@)71}etd8B5^iZWI+<2h)6F2G@iOAQc?yng9zwVlP3wlZi}+=Y($k^eBf z1?%VY{+PP>*4O#$S9_W~w4SHxurSQ4F38r5mnAB$AJzv-L~e0EGu;N2*Cp+OV2|@d zs+=jQY)Nb7({8OX4`a6SO(w|}EJ zJeZ2_JxF%Xy6tSeixTvhkjf7VYs?X$y1}-l;OPyA7k7Bo<%bjXPrjJ=NAiyMzaR@loWgK!p(YbL#(QHRe;=^O zLQN{85ITUV+JFf0X&qK;Hc6x{KYk+hUKQ`Pr} z7;sZ9v48b$cF@UbZWdKa55g#c-|)`?2(9Hae%sWxS;N9^dWL?ADGT-(FPr{kVio4x zJ2jJLiC@A8p;O*g9Z@UE6IQilH^-jN$yBFp22Ns2h6ekBzrEP~1$_J=b!&C9o|_lG z8M?on-I95y=+*Q5O98Zuq9TVQ$H9Ys79wDJcW^~GJujWC}bG6$Gl$dj4|J|rc$;FE$r&-g>+lDF5=nP{tpG11L z{->C=H_p`w0ER=6`X99u0Y#b78a1t_PqqGSw^93EB%;U4f^a?8e!QEc&K6XB1#$Mu zrv$Em5_M&3bPfdnQBznPEf~1~k(%%+##C7H-_vcMNIp*_PaQ)_jlwF|ROerUAuti> zXNmI1bFxPyLDL6HgpwLu^t$^${~1(u^2l+ij8%r*f@zxQuowD&e5{xtOBq5F)HDOC zzciS<Q-mTe#2x2P|WJMNmk=g*oi0-;#lC_2k5GmK%d+z80!XK zOK{O}6k&w2u%@4vuosu*+j>!Auue?aV5nzsnmwwfiY(`xA^g`BW^Mfsj6Zm5uX$;M zn5s{@CAE`FFO%NYh#tqWnVKi3H@X5bcAl5B)suCWo)NuB!i;f^Jl)C{r_V7#29Gm) z9dMnvrKFV~x@x2YNbt2#1=mrsRr_>A9U4G9wXN+t9Ksw3tZQE@n&!6q^ zOpvtRL@dqF+ANs}-=xBWJpvx`qc|@m?!~3}C0+Je`1EgI-NRM?;oLiyodUq&?{{7< z7_gi>eFehIT=VZHh#msdxP&pg{~N%ZR_@os6DxCZ6>evhteYV1&xp+lgngz$htptj^pkwEL9i&u#DDq@x_cH+O`6lbrsHp&m-*xzKy zL?@_XFV{T!3|1NqJ?SUzL#8$A_NAq~U~Y7@a}; zq!38`%!(bpls1%F13aqDX*5@mHl?F z=1szGB(%V9Ig4p2P*p?V^oYq)SSe-Cd-s@C_};eGF7<%Km3dj-VpQ|-$EaDu-Ma*x z$<^jVP9_OuoHHh(2k^4MiA~!(B1@|neH%tM@!6L3?u4Y~qlfK5)4wVFYdS$r>pzs8 zyJb|pSuwyRTgJyCzgJTM=pRKpUg`&R4LmMSW!IZRLLEJR1^)02wD-3y?xd*@y68L- zMw~hCn<*4JVda?y+fu%BEXItmmReVZ0JS#B^3|(>XKp2E!Iwzi@4IkcekobujdleQ zquNhvbR|xZ=j$oLUr*TA%XE)x+~4AQR)`9k1}Q_Gi-j{|1uw1ISdUk#7iu_3hOWQN z(B=+SKg%*qzg@X~!Lhp=sE$a*(*i=@e{%nqpx*IKzI=Ot0%AS-(I*5GZM>$8fg4#R zw1{uLFJ)J4B!J|jSD!wxBKGko6&o%zmCZo=emF1G1eL26Sb8`(PZbsUUKt!lGw{zb z(%Uo?HRo+B2&K4aDpZKj)c885TRr>y zj8%U>P}MYdc>jyWE8#e1>d-@*H-_<;`id>X2xF)7|N4^we-1{Cl{xZjORmoW)?WwB z9ENYayHU0pY*d-=(XCAVvUyhi8E{Vld^`z%>4AdFhgx5~B;-lzd?%ZB`x@C& z#Vid;h}*mA5ZD=Ze7&>Me4lY6A0YE~g|N#xHttn9y6*H<^@b{_An>*?40^-!%)Ou2 zT{_op`8|m~d)>EB?h_$FJ4<1}7>-1t@1%caw|W@_m$Icf|YD3g0VY;kIq7930sEksOna5)4 zZ+K^yNIrLIQOZoR-zx}SRB}|0DMxE7jdL2DVK}s=?WU5y_-D>F)Hj7WF3rG^&ayX_|znrOEJ9q3mv;>&C1mBYsSoO{5^+s3_ zrzeRe^3EH>+s*Bq8fCOj1cBbbukWe!QZu`;mDwrynO?*PY#jnQh8;Q9YEsuOrl`P+ z0_HJ#`Hq+}D*@6;&5S&t$9UsQV9nMcU(!=OXh32$M)>5ma+bNiV6 zgJkDRyoBtsY%P0I7@G^NvWnrVypQG&i*m z^@hD#=R|2>*k`r{iGzMZP9rfrq}vwoJoU+yN4Gf}X`bUJ)^%O~WfL!_vxJo~cUi{! z5z}h*Rh8Byz1E@B-siSp?8OFm8%g|S+-}$Vp3dM(d-okdCu*fss=fZ|SbCq;n~j#- z=c7I~2g<`>b~CYru)W&fO|OCiPMN7&k+bwa(}L`_b=Bte%Y;l@W;_WN;vi)FLc#Rp z7mT7G=&GGNCcNBQdcguHBRysp$|le0rYjwn5VbI`Xi=DXeqKKbyhjQzW^gv47z_RXYEh-uOMAv1$EH8%`bkvM9v6Ho*-%pyty^1B2zy9UUB0vF~p?~57 zBF|eBg3&$((Vv5F#x5bMM}&_zTEiFR!#}VYg+6zLY{9_>i<&VnSf_n4@`rn*VKu5M zunXEK_lMM?DwR0-bE(7f$dRO{>bKz-!lomR@^w>9BfMk>t3vFVHzj`R7g93p5qJi( zejzi4-#LOa^KebCAKqPKOI;9azr_tOFz~Bgpf_R7T*VZ z{NHdND z`snIZ&Oj2u3XVt5$)0-Xq>{#*{i{pt|#{KE+Gi9~{Z-)4zJ)bE| zD2Yy|KYegEbT|*GPJfWbUzL<_4$`TN#t|f_1r%bjZw4JJ3N9oV=<*62&88+P`94Q~a{L};UG(2Q z!3@K@c}|kfKIJ@;)ft~A5VE$0KK-ltV^y&G0jhmI>am*-J_IBt`c=n>lpR(m{p!(n z87p4V-*?6$lRvARtv|p);v4;IeGNPb@YIHdV-PYVTtaa<{E78WYnjXOmp?M&CCA;`t0bk8 zohLk_+FQ+9u@lIF!SnWU!Z};{kL()~^ty9Ig&%u_r&AWkWhRt_e3lX&LP>E@s@Gg@_|WdS7!hYBqoZ7_04;uXdnza`AJc)Zl=j7++$XbkEI zGhM1z9V{R}yozN@2t50x3dWkQj3I@CP=j90Q-W31z5P$324HW3nNys5Tf6#*U-_YK zi0S@g@m9oKV37?4SWpFva98>cC%`l(9S5aE3Y}bRK?^T>0z$Eh~OYKXK=kV&!r0s5|n2 zbxjh6`<%g%J{`bOs_`8=C<7VWP^TY*_LJw?3QqMfZ!ZZF zwGJ38g@?tqP6vRs#ijyM*yJ+`m?O9P?6Ltqyz+0sm;Q5RTvMU}IOD4kwIRJb)}fwt z!H%quhl`aRsl<^KyQH;yap4c7pVE&ewjQ(8anSN0Glv&LUi(5P6ASk2z*bWXIeu8* zYpwMrY2ZpF`z4y}$XW~_Lhj9jWxXKNwySrZcpR@Y<1FSd9bdTTLpjzT`fsR?x1|Pl z74K|DMrv`bz!qh_U8YmP)t3FD;XC3?34m)Pl=Blkl!Tc7&T?)-dR*u3)$VDp6WMi!-v5%Ys6PvpB}8H08(i79qzSl}F8?h(Ghcy+@51SqQQ zx-Pci!KF@HY)&BE4IOEC1Mt{wSTc^62Et|bjX{uz$wfl*Vwg6 zUzG#$4SbgJ)x)B+BL15Hhts)@yMv}>^nX71Njo;g_k(EQIB-uWDXHD*bt&WfknCJ@ zZm$5^}dF-dAqaHeudK4$fsTV_>Foa2+cAoUwSgus@( zSAeP=pI|de)ZBktxGw}YU-`{Xpiuq*aBfvZW?G+K0Gair`%rOXE@ryke^V0#j+L&w z{GgXsp%XFcI2dH|E7UD|z+2EM>}b-0I2E|32Z51x-$^TXiG);HXZxQV@Gl4M2z`~1k6)aMfP{+z zkM`x$7MtrG&1^P&QxkN9)gZV0zu#5KmIFhVle7r=)y`kz)!%$N+2cvYwR_hG7}}w> z6>RUu_tuS|8dg=27oKgrnijZ^GjdxSD8{)Q2MKQ9eWC4Yv%j``|L1&H9sY4W^jtHZ zKmbvS|2eh|DBv!tvQ=6-l(PHBE>llvSj{d5=6e`^h(e!*E&thUeCwTAe zaMS8>-(*1F3Jy_~o?vO>TjfT9U9#QL9A6v8pAxt>Wm6WhvFnqJ!aWWluTCY66i(EO zEp4T$K1KHFREC`p-PG@puc?jss*H%V=$n|7YM?#QKPg`=y8bPrr-E@WtoJSOQn5ivw#cSgRv zu!vf6`eh{}OG_A>9rDx5aVHzot1dm?O6UQ*P}?ki4WGhz828Lt2-^QHb+m|Z8sQQ$)S`q%CA#~{=VnzyP;E- zt4PNx8_t~@U_RfynuiD();d;2W2 zC6u?7)fggY$64l^SX896;4%`eRqM`SPuij05QE5n2;1B@Y8O_LBC{IW5KxCFe0{}* zkm*@!z||&A*VR+5ja6H-Yug{Lb}ZMT*#`a^K$d}vfn?4_3>Rbsw@r92FK10Lxl+5T z`++wWbc*5#A1a?p-*ebK6f_wdJ!u(0%E^|u>rN0kt?OG>vvW%BL}~qlq)~B@7{gOW zIFGj-KOzj&^y&?e(W>>xg2|uQT%cLXiS2yX4->oK&@bb><2>W3101#nth;=lHJr-l zGN|-<%|j=5L&973QfshwcKY@ApXR)%k^VJ82_HL$d0%Wzr2w*#ri^+&kFghhH83>kI5+ z47w5_w>S9zu0MRNyEkeFw%5+ij92?kV);1^@iq>)6ov-p5WRmYhrKd1Lpc&S%a(7w z8#u<(66ryiMBwL~1Q`M~otcKfkK*l)f`yh@4Y!2^^d$`lWor92yWACfZB!XE7$Fhd zHnmMy`A3hsc`2_n*9!NqJgftUv&Ef=8f^=Uc9}=5wgjw%FKUj_?5y?88pIs^5x4(g zl=eOvLii`RP{+jy$%ILS=ne!Vn&f#bq2Px`Y!PugLdbKxBg~MBLR)u!@YRkA5AhBQkBLroBa3V ze8&2ne(d$%j4NOdxf#>9=!o9_mm?_KHH*Y!&#aw|wfC|D zhSWMMhjm=5**}t%I}$cTEs*dNJAxc2_HISkd!-R4TQmCG&9B;Fhkv zxC*{*Zg=*ZGA*0xv^ynY$9ylf{I!D!n=$!MhRoXFe6D+)j@p^No~bVj;00*uE(#|) z9f0OU88z6noI4sev3{$fVZP0dAQbF)An)M$^K908U2cw7sDNMqi*_>K(DQ~&`x=;< z5ck{XJ!JAe?G7Ax*E@4cvLFJGK@DoVIao6kl5N9O)z%q=hEdI&Vl-?EM(f2?Xf z49wJRc)8`;?5c(x{bph}UpeP0P^cbOLWRqG&0nfnknq#&7wt5dP7CsQ{kAz)+S z^;mY$e!OT@7(3nsinn-Wr|b7kZ9C3*Z>d`mx&m#Z}`4}L>2+}o2tNsv`(SKfWIpowI; z#oQ!d_;$lSbtVM}agda9PH-*mxLn-(>?Ja>VAs95Ys8_X&Q{lt6mJipny zrKT{-VDTe*^77Bxk3PP3fw(GTa&369^i^NAFe=&KJ!t=^hjB)FjHN=#;EfVh>9+H` z{i?zllNlbNlS!uz3D%#Kw^O(Z{~|prvV?10ODm)#2QtK?e~eFFHVWQhE{fi+1=Wob zW*1oz`nr*&&y6SU`mek>Y&4Nn#5-*BXttUDG3;~iYU~W?+L4uOtvjuVTqA!@bwV{Q1Hr~cN`&b6?oQgHKtq{kPht@(!< zZ#tf0TWf7R?yKYHzt%6m`J&RgSTs~I2&d9$bPCnm%txGA0qfTKuGto24w~on?SO8a zUM7hlCvbz!`-fuur$1b+-}zelEck|d_%Hb?E;^-)(x3Zky1Nz3TUXsRD&Ox0ZtQA^ zPG;8x^IBkpyFY;ye$Szk7cgSTbgz~#b7r;e{hnD1<0qh$$lY$ad*XcGA>orYmYah| z)UK|U#MsaZCPp*wxu@XH({2m(4sxfq<&%~&23_0%&QSZ4rOfbpePUq_$iwFHilP$d zpOw@0ND4$QRldxk;T#R8Zx$78bcHj!Qre#xpzfeQI0+HKL<`oZI!6 za=swzSd9u>DVOZp1&r`f zMeA-mRRyojCX1PbCpB+~>6DSlcWQ91B>}*k@8anTIvsynN*N!o4)ZpWT9{WaEjn)u zXsfs-S3;kVzGt@ZC&S4`ff+sP5ZVgfmpUPlAQ-^R0fp%Vwj`-us}ai}Td&Q3o!*ap z(sa@~fgz$A(sEuxKz?>B_+g*!gO`0Vxf%ja0k=FsOAG^^+8d9^oVx9>^gy*>)!RC> z4LZTpEG;u-6?0iZdO`)XU>N(uu?!bEQB4m%B5S+Xam)bh@rMJ(7n0$j@XK z=sT*0?iJivA6kqO+g29tweNLLAl4C!3F*4$r2D!Q&_q=b4zhMImQE8XwQ ze9Z6Jn|_ zm(0;N>j+l}dhPkr0r`Z@o>Z#WT2Df@oZi>H-s?Lxpg+!>*+!6b#m?)OfW(z$P7J_T zpbV-hP1O=3zZs>(kT0Oy;wIrcaeM`@&GxS+-2RugO#iw)h=*uMJIfh2tYW|?TzwGX zrrUNnC?iG8hCp9W)w}mDH67kczp^O*@TuC1?$+q<T1)u(UZ^BkgyQ9OodZ6%6ufD%uT3cIY){hgv8NRTPNAL4x;e*OcZ$}cP z=)rT}FN#yFIUm!J7GaM8Uc$eXnlvE2Mz%M8l9J%atO$l%&Q!`nLeznl3rD8E{B8Oi zoGq@q{CsH&W}yLg$Oji{ClK#(rto@Ry93*8NpZ0R)<2p<7H5;Gp90uaH6sa3%*3CA zLhX3Ja$OCBcwfC5bP1O%RFJQ6_;iVdS#7UXFz%JT^b|QJXgP~V-@V8CqWVVG>!Y4t z)L^>TSWK(*FQ$F*toD~c{aoC}X;=NRO)9go<#NM>n8k_XAI`fUe)RYT|R_MNzpOy&E(+-lp5Oe<=CRd4U2W7d!#B@CEB?wuGkHa5Y=&sfT zoTyI6R;4#kPiLV06|)K|^Tqz+-YPp>!!aDgi#7+hAA%xq-ym!G*9SyV!H@~Yw}@bl z)rnP`y7KS>Nm9OPSok3S*1AC&B)r`yofI_*H3|}LE9CuCNV!Q(iXLSM&}OBlUJ>SJ zB}613p~nfG-V>HL`;6fo1+3@`MwH!J={JsG9wcmlsK@aA)qkx)T>0eEy>QClFZuba z(ap=P#<)sQkbb;H6PaWrY{-R z97>NX8Mh2NaM_okk(HiJfe<7Z%}ZU?5}ygoT?74+v)Q`ipw?D~9I#+b3%$Ra4`kcY zvg|j1(PLuYMy!2UHz?YO_?CS>i<7SN|QJn~;Afe1XGs}kQ-{C~7ent%V z0vZq4%d?^!FV*hbYH=rm2i=R&`?jFbV_7LA9m~bOGNt$Z8$e=|KuPFCU1Z?W9{t0Y zzzsb0Rp2ABl+Wt*=Kq*!tBlce0ADr_lGuB>L_^k_2%6slm6qnL%#rvk5GLc;>}>K8 zwC=F#BuoC7k8R%-ehlR$YjVi3e5O{#5RYh(Z?plf%m5_Uuf0Cedr}yBd``S;8`mFU z=aU&6PL6X;?Z&_tY{8U_TFwWNd9LL>def^KT_WFHe+YX%*!Bl}?-_a-xM70{NEy}Y z>_ATUU=3+OwC_h^{}h@43u8^iX8<20X(J~m&*+dj1XB*{sV+1a6_Gsbq= zjSO@g2r6z2{iNYS5fBz9iIoJ~M&(=1iJV?7XJ817M$w%1Blgj*n1M#s{Pt)O0t|{xD z*SA~HD_QP3W@9kAuASn_j2%5BnF(`Ht+*HzHoqsDgmugb^LrZ@6GObjez5nh+g*;9 zO;r8E7l?tJJQZ6!^LJ|RGhNlSf-0x0YYfrR-Yc|bC?bVre_5!!`nz|2Z?J)N!Do2M z4R=9fwO#V;+T4mZ4Swu4AgQy%?XZi6W*@%4sa@N1H`qgHsS1_k+2Xj`bh;5*dR{g) zX!^-56!7Nd>~+aJ1BL0Gvy>rT&rTyhg1K!^O#=N_MT6>z@Y_eX^p?^?sR{X_< z4gP}xez9rPGq~{jPZuG7+Mm=)!}wpBicxnCBOdS#ygE2`EIjh(RBN^F%VD3R0#EDA zR?Xh(;v28IZg*nw$U4G?oZ*Xzix2>$=*Q&)*1BuWj;fxHu`-fbj}XLTqpk0=*&XE) zezW6&ejlaSk^Nt@C%lAytjmjDkDWm{!!CU1_(*mc3F&220JX12mc8hFoDjjEY4&^0 z)Mi^5zoI8AcDbXwVYN!HgYrm*rAJ;gRA6_Uit2(vnSHzBQQ7V15^}=U-xL}&m3})Q zH<*eHZcUkI#5H)wN=S0FZ)}qC5H8mK_r0MrR~%rtZ;B8J=I#Dtvz$8`nNniDO!5fA zVy);+KEcd){mJ!)n?F?Zw6IZ?b64%RSP19qZO&-aD^e)zQi^l-newgbe%H(?$0efh zQ{#Sk-~8}q7iNX_MTD*iY&%kIN(D+zhPC~4^-=+bWP=>AQuX`xE@Ej7+@%~uK zBJ4#2&*C$t?If>N3;M0BPgJdAYasoydXSCpryX=#Plp@04sc|K9T zb2pu~D}kz}!4`MM!Pz60d3)csya3_g)z4*@3FG()J86&-qxvNYu!r#LGNGVV{qkrN zhNuZc&Lh?R*NLVsM^&)LkEZ5BvR!BC8eJ9Cc5BPIQ6==4olw$n2aWonQifD`*q+Qu z-=&9N89ujDJE8Zs0&SY5Dqf7qo^D+go*Af`YtYeY6>MM+hX7CZ##t^k)xKB7PvWJ+ z*SrkZ>(4iN2NDW?tH_Rl0_$>v84f~_M=kDJ*^i$?G6mc6)_a2mDF3Rv5 zKY=!3$R=+`$F-+1^}n~S7|;vapW{NG%)s>N*Gpu;wdERKCo1}5Caz&tade0v_0wbk{~^Z4Uj7>x$w20!lNwhDRX227U@5DtiXDF|Y-e;AEXpX;@i}VQF8qC#U41 z+4yx4UR$AXR+3mtwbEwt{0CT#0g_A+FIU*L5Sz zGlI1IvSh6|y%Hv7ZwPE8Xx1C!VR2Nb+ zUQ&mt=RXk2gy6VRz&5w6cRDsDs=^?wuRtSv`#-EZ{8Ou1_*zvY*s5KG;Q4zULwGHD zph9&M3gMk@3toBT3~)3gF?|PPFa`mpIBsID9%K~59nAnk-FZ<#M=5>vD)HsCJ~9q% zhm!0P;jBy_U^#I=T?$`$hgQyI~r!QuA#_JX_G9df6JwP-+&^#L$QdsghSShzx1?sLC;=? zHOaIjf)=v5aHc5;Ct)qq^8_6GWnnw@8~&QY zzY9T&uNXW{2eH}+!Ban_QNv%))r*CVANneS0M*c{|F&sY`ggklY~mCuwev@^E|HOcpptM_k!b*Dq8Xy z=h_}a2`WU`&^lOn;W`-nVG$cV9W|kxB+NylC+o8ME_|fn;k3b8&p*P(PSU`R(@%&b z8oj>M!+ZYo*UrYnwH}tk^+rA=R|QSKkOj5Z7Fo|_uI~6+OI-Sw1T; z{OBgxS~9x7KoAZy)-zQJm^suEVy;vcP779E<+lJ`KQfuoF@G$~Ki$qG8^i6QKabnh ziT}PGuNq_+2#lV1`10rQ{mj4PCDRP^uZ6lA+@zF260_U2T#P?_$DF9(KB|7+vO6r% zfRhsQNPr3Vd9~!Fi}c&WbXq_64S1p!L@cz3eyFA%OwjIxtx3OWLu|8c8cMELODeprHLovUlw7lIBwF*6}?qmL(w@ zEI7^LWe)@e3nO&%j$k#$O`vgrF74Xg+7=J5FI_#tRVIk(65%E z(VzLscendvGj_2ZhW;uU6eqkWd<+Ip7O?mAXQBx>iAH$!g`qiX%`uNL;pIk(a7LOe zI_S&D@E4@pLleT7smflYe)el12m(Iu2br%#wDN{Me(2kab0)NM14JJ->vwm zptvcd0Xr?-NUl2#%|16TN!vG}gty2K*ph!X1>CNh1F6? zDDMwXa5;thaw8~Y5uN`-N;5cetF{hzD#N%5{%5mMvTpLFG_bR6@1-Aee$sIq-I}|` zlMuFolC;HOKbpYpE#!iVW*d|&zKi>W`r30U!M6*!JW2M`z9wt8_ezGD`i3=jk;%Z5 zo4#XiJ?OMcWBy&nHMb`qgt<=NaCPEb;9uYGepvQc1(x^W#nMA#Mh9H0t4ckdu+Ps;M6r3 zi{tuDT&S5qVDht-j&zcfGb(KEGHRRTofbQdeiOI3c2K&P?09`r3)hT{rFL+T@3w&ABZ#cp60t7ok35{r3-oP?XEKB%^FazD0MKMC;PCh#OUtyq4~Pqb@t*(C!NFKh zlCjaIsjBN_gZ?hUPDDShWw^!v+=y~pBI^Q~Z|rTRch=P$GvK>d%QUL$$&C2oJfIh< zIN&8`3TWT*GaJzAuf!{L>}+JAF&b>SAgOT(#o3OLFrH$X<1<=s20Wep+IJo(WWL)_ zdp);a6)u9yT+WeAnOZkCC>hKzEmm+$4U5-JAP|vChCDWFK1@*!m;&bouV{c#Np6$L z0HKce1cDM1@8!38|2#o?1ClDrxAXG`q~|1enJBO{-&lZOIAL|em?

    %%<8T=KjqHb z*ZW&`t6sq=Gh#nwmbu6g0ks8$GtBMR1Hpf;;$)=s{$4qzQ71IH@%suog*7oS?1zHR*fhvnS_<-3pI>h zT(rXmtrq^oq0DDqb8lJURr@Pln_AR{Xry8%&pDN@x0B9e`HNAh!S9_J?=LtK1ALHb zRQ(zx!z>Ldp64m>PYApQYwta6aw^6f?LL3G=hnsHY(SsRa@f$8Bz6IaG6-`5?7 zY;=0Dr^H1Ryxx0wv}S87;&Hc35=ro~9 zlN3;sNA^Q zy%W+<-?^Z2%v>gKQE5~WbAD_q;zcqUm-jvAU?c%iR?2fI0MKv?^72@F8w<$^^CYUi z!|q2NPIj-{F{`)SWTkWT-NEnWnaS`zxmxyh4=!(#+g`Iu_0^b`*r#X}oUMu{%9@Jx zQf0;5;EYm6AXg5rKhlK7o-DzvG~!as7U*q-wgnsSrkmi-x3h9z_}*zy5<(-33DT`t z@IQgxC?mE2Ws=Fpqmp|x#>2deA)fJ&>|Yh}T?J*XGH;fW)U;qyH_&$uyrli9)L%`q zFgy|9@I%5;7U7J(CB=r)&dT&D7s)n)GbA z^|1YK2Tnl_PN!YogV$nqHre=!;hJ3 zWSh0Pn|3qq8r}r4)3&MItIF$rJW_O%|! zspMYLf3HG!L9bGjSV4_QG%3Db!ZjxFw}$se5yEXVa{VB-6rCE=Cr(;*ksm8Gn8_}6 z2TISa1keKnZ=5YbA|ZYxF3^Bh zp=%%9U4~p5l-r|wJRL!NYWYe)qYkd=V7}IJTo5k7kB&v+ZAy+D2XD;ABy_-*LaR^I zv8Q8;O#89dciSG}gU{rMsyv*nsw1^`CrX`G@s>4mv3WH4>vtSl=;rF=Uo_dN!IvIj z&~iM76)??8I|u2M?Qd7CSVP#_N#%HZe-#%kCmoCv{GjziCzd@lczN_*klngp+F~mk zojs1~ecNBAh)VQ9ttP?lD9MwRy_!?r={F>HVw$1_C-HxjPAv`}bd+EIz0glwdw&U| z(*4DM!DWJ3eQX#v7SuO^KP^D?X;5kiP>o$s=%iM?l5o7((~)#<-M5Z!sAxKFDj+Ra zwi*?<*uP)WwNM&0$hFRW(hikN12{Woxv&Rs$Q&;9_e_80x;JB0T`Io&RMg@OL36pK zj|-|A8um)UV?pi?Xv_O?;ycf44Me%;GeQ+ygq?J=QF$)9@zr##=?U2K41LE-(h-|z zu0G@1u=F`jg;H_&;P=c%1MhhNKb)aJt)V>q(81Cj_>kL|eB-p|M00lTv5~i33SLw_ z8~iHi($GNgqorwwnk2V~7vD0a;C~S6Rw1hG4K*{dnBM<2d?@0qd;s1N6FUJ2M-G9oBrFw$3Y=dgheh> z2Q2Gh@x8L4EoQh8nkpv9=&+5sYpdv38MF_%?|Q$e4aM=g?zGP0jmN^~E#i7@VEF0Q zk;hMUP5*eCFXuICms@9N-}e{79BMkZ=WR_n{{!m-rab;?UX;yyf(V^&r8y?ttUa6r=*AoDyb*cdsv$;mvVKtMmmcfG zx)5xO^yE+6Y_1U(e&=-JLB`xoh}$Q2e&+TXIn+(qPpJd*YjE@wjsEv3HsAK4Ay=k# zqO4ws{1Pko-XSYqIR4=mi}m6Do-_5c|f;;sostbE{vzlxRbcZQ1H z&t$5I-1Rb&-x(}Nw8S*UwXeXTlW+_W1+evy-_bl`S5%UJoVju!eCY_ zlm*NHVqDdIuQz9va#{wr>89|dxy8@=OUlN}+WFsC_!`?qwh^hOIakD-q{FrEYZN_Q zmPaqF(SP|b-D;R!26J4g0CzuC;}vEn8^FRcgC*qo7>;jcd^Yw~UjoETMueB*Z~kUY zK0u#SUUy0_tB~S9p4BfnV~6q|2KB z>of9?$B;FJF51^BQQ$CnzRgNCR{UgDX{+;C9>HwpiNCcu&^e=yW2z;-=gn<{PW*7m z?D7Ia=$)yMhL9krKQqRVsj7L(_VSy7uT?0j-H3qJN36I6HZr4H8VcYv&G()xT#h-> zAbLFBUU>Xcg2$+*iMB+wVSB{Rddb+NLq_h(;_`eh>d+o=ct++YBdD#wzy504{hP0M z_C0+lUnAwkxsAkLUa9DxIg>QKM!8^ztNjb?&Lbp1&fcC8nvojpw;fOhj?4kOWG<1U-j{Cl6?5Xmz$x z3{oQuVXwe$d&K1XJKl}`JJMVkbtB^98>POM(JriD44#yU341H7l9?j3L=&1NdJF0< zZ;p5F_kE0Y6%rSjW;B{CyC`juHOh`jWA4Q_k%Avh1<(x#2jnfb;Qw|hO zDlFfL%LmwZgRR8adCiJb;_PiA7iMuTQk=z~|7WYNgr0E(=aamIChq!|N_)H*EC4B30hhTVZw7(n6cG z7JkdB_{}&Hd}BiA2N(-6FMRl$Rd1OCmrHvFE5s@guF1KqZocw90L>@;<`FP@I55Cf zG;WZh%Q)X~RW0eDm1+v!Dw`<-@6OeOrEtb22_0trnpCIZF{~xK`vG&w;iR$}#Cj_Z z%tV<0`Lr3%TayIKP5(QV#MH@toC`9ORP*jjYnWlAaK7-ssW2P31C)PEo`;-QVmrU7mri()BbvUq#g=_9U;PNxC*|Dg2;K2n* zT#(R0-pU3D!|xYXdEv&{`UYLk1fbcv{jibirTV?kd}&bjWfZZpL~FvIUWW4VJ_K8S zsG6~cy7w94h`g6nZ1RgR%FSTVxwg~=Xs+E~ydBK$7^kBAxG+t`H1eS| zu6kdhuK zwQQJ6Xy?BoUYdTmw+;#)YLZ5T} z{L`7p)lKX%4>eAmR%@OP8w!uIm^xMj;VtP}Ys1hp>neG;~EFTiatkPcRqv|F* z>^2<8JF~UfX%u6GD2VspwCnw~*1^JR*2Gcx~KK^zl>{X8Xtd)N(1tD64A-g zN^9C&wR@}X=9j;eWgqpy;iK$Tg!PF}UnsT8#|OWZA&d(ssis@S%7t#+r3THXw2_wv zJ>`*|A_j49cZt7y9q!^X$>ZP9ZY!#=(R(4$i|yI=N1+7s?UJd=!x^P#cu>#Ns9CCK7l3|o zVfcUfUsUz~va>Q@<+nhsC^QGIapi}Q=rWfp8%A|_$4Vbv{}U_Pa|;XqY+(B^WMlB{ zxw8i$HRYv(f?q7phG1PKy zwtET;|F0D?)qRCfRi)Xtpc{bA-U+*0Bhc{7FWSs)i}YxzZ+bocT~&vf-}PO;D&BwJ zfd!%(c(;aN4pkkTQP#Xu^EJiNvlCbLyCG=AsicXj1}2obYiKnfT>B^5U1P8MswxYu=3@t=CH z0--x!QU74a_rmao+qlwbQS3%jBXPCE>uTsDkx0Gq>wR5XGc$zto}nuBXKbh;>2qCh z$z)e2v1P9;JN%#A;fKr+8rnjCfaQO|r8K*LQSjz7HqY7^4vLI4DuwfRNl(>u^GDjA zpiAbyBQEqMT&zK2%$_#ZgoRk#9>E$Q7_rYcz{G38xQ)w>;P!fkJ2NRL8}ZbL9_Og) zg4vt7$27+98%Mfs9mf1vXI9M`Y<+8tlV!wsg|sBiw>zDC`Lw5Ihg>FH0}uI|$?EMh zL$mkrP&9j+E)VqFg3Xp|d5D&ZXSQ9&nhG?f40Hu9y?OuDm%|?YuA`H>Nt&E|#m4%r zx%a1!yQk~#DLa}r?F~$2p9?0rcejpJEv)9-V}uh+aLz8w2i^{_QokkG$%#pK&>BGl zZcb=#W3FZ#x(%c7arvr#)j=92ZSz0Y#q1ax5y#g~uC~LUsOZ6(QlaIK4@)jPKjHkL zx`-6VnFj`ZTcETz(RDs<*LX8YE0*|@r@S>|O`&o5zo-pmIs7S>RW&kF&{S79pu}Db z{iVa<+JU!VO+w{*>V*E0z*tSP-4|1m>HO{)b%au~STzw>+kD^@6^+Kmbqj+xYApF< z{Ku@9O>sud2_@DSQGL>+ri;k3cF}h!%=W`3UwRaMQNXiyQ_TIKE=(ZbrsYIavZF86 zFg?ZHZdkyRTHmF#TjnX^?AE&@!+EKV^6d#y!8h27VxE5?OaiSacFf5lep)i`Yg3tw zzR5TLbnD=i|6u2ycZnF9h-#87KplchE7P@|*x|5_-y5m92+OCxy9KxqPYcOs-%n-Lg8y7tWYYpl88bwszRJKCA z4xeH?<2eOfZSZ^s2Yip;ReZe~e^9k?HeX`t!!+i+qe#A(x@!C#${q0s)yDcIPG%TY zzjzd}hEdr29KA7G1Bd@QW9o{toDh9Ze<^TrvZ|{qAQoOWu$u~7DAhDa@0y(*{H8K~ zy2Dy-WZ*<*Xg2bE8CCsSX7I2TqLyxXRHDYQWyztmcn6rbOB_!H+nxn;HFA>1agpV% zJYrN-U~~ZWyigFuTBQ9(Xse2*%@|;`{EKV?Z{K$v6_T`>#7@H0%OK$;t^loo>(^}V zcwmSvTnU?JJlXHN7oK#7_2};mXN0`oPKJ$;?T;N$k`s7R=@7?&p#ED^%{s5ufP8}& z-(;x`w#f~#IIijzc`ELDFWC93>0ugKkgNBOn>;dW5k$%Ogwi)i=sIRaPF3Twpibv8_)Y{wWt6ZN^zE~Dxe(F9M~Ve{6pDQ%ZM#>O_tbSDm@u$5cFxGj6;_YYu)YVohP_b z{ZyM{ZE|>7d26_Kd6?7rki4R{QvTiXDm7hs`FDOMIp@@O>|=f&wA%4M`)#Zkm3b`t zO2e7nb58SmX4o|K@aQ)TG^u&B`r=bOVz3CfycEYlj^&ZJNsOW=Cr|w{SpK8lXmKpi zw&-@OZ&bEB--`Lf{O;4eCAFhZAOdW9VDXfA2Qhyi99iy_q>~X7!4kCuOCnLDZeOK; z*Y`T!KStXwZ^T(*bfiFLIbfu;OW&c9Ld5Go`az2dveau zY!`>;|Eg%F8=s~Gp|MjImd-bu)Ma3_`#g%_+$ZyXWWxdz7wf7>JV`7!TnE*n!S$t^RShvKf- z1hd-hs+C;u{*MyqO+k0!$fKKgfww1&8Drp%1{G_j#3$-}9XUpFp=Cq)JRcsd9hJA; z!_mE)AUHR!lPgfxaXXe^?>?0-u+U<)%81aXe>^P3z*lM33i6ut{Ch`}^qedxnDu{= zdDa|)g=f>}plntRAL0-XR=>lR-}Ec_1Dq1WkRN9mQ07XQ{!>D4)(EK~29WD}m%(AD zpH&+#{Spg!r!rSeAj*F)&YIr)QUKwCC8*=#*Bakqjv3t5+As!tUax1dmUnF@$pH+_SWV*oCIsLB5bMG(C zZOT8EY=>--}xH z7tlLu{#X-n9OMeuS`0a|e|4SelD@xD@WzY%&%g-zq7im(o}i8>n)mEE@xl-hrV-9N zL-RssG0AM9EHwcUZ1K`QN@%LWxggKf3?4<;1@9;Sy?iy zY7%LZPv4zLza^;7WJB49Y;t+fvxL#?sz6Sh-eqfW#uuR7W9GZ$Exkr~Li7?59Gpb^ zzE#Vd3(_=U%x%4=iH$-JxEu&Or~lOuJZ9!4FWs8=)dDsR-bZKn+ql)Z06YP@k2F1U zE@B$UF`vU~@_Wriq9f;7=fo|Z(6yGtMzW$U)B{|$0=|A&S{lo?Ed7fa<}9~RR>OFv zElyJ8)~-{B@PR|NCYXLMHC`t7E!^W`B}?MG|0}D;$*ych#)I47wT{u@KXXaW*rT;_a_2f9N!6->`R;A7jM|zuhKo+D z@vz2^4?8gFQ5-E4k$YCJIeUZQuipa?@ly?3G!@3MwsGATKZJE%r~?+|rM}sefi^g^ zCg*#wdQo}#N-;ls+h>z{9bu_|*zuD*hJ%yU(rsV+sI-Ths1V~GP8P1g6R;GAO52fr7b8;B)`x7&5n6gE}@h)8+CUBHBn zX6vHEpVXRbW4^M=UhA^ohOVep@(W8d?-mlSeV>lf#c)=MxbT%C7^Q4xCbYRa@-A;_ z_j)SL2aeEs_rZ>E{9l%b)tb%98(`pixi>`3=1=}}m8Rs=lfEd>*@3t-dOEjbUlkt8 zU9w64ml^W@Giq4-hL}X%#f~4E!0Hz}L$_C&>xN``Zih@q4f8k3?LJ%Uc=x0YqWdn0 z(?j)~LXwOhe98c6Fs@v#5nuTfWl>+PrsevjCeRSbVO<(gcT3>6Gv*=HG(r8bN9^Iu zx7sqN8|*_n7glGX7x>cLF{>G!%@@5!JrwQ0fZTW221oA(g}jvkKAAFu@e|cJ(K!n% zlOFSmGH`eHxRjWMfT&#T+H)q=8h8ZPZ2b99{NanO*SKEKVIIA1-h40Kn)#pTMpKZV zkbJRJil&$1AlD0OR~7;{4<5>}fF#auImOwlf==qQc#UMIHGd@lXn zxm@yr_oaSYd+9NFyzmt+n0l=Bo7;bnH^-U%p6$+;yJ;NU^)whCZ&>!_rqCLjl5J#>`l%`*Mzp z%zykDS)j6_rAiWp7Z&o>lT(O`5cwC ztiUO!Nh7>;W|P%`pst^Q_m(E_umERCNhY`VKC(Mz;d3yCZ0WEfrj2bwYL4pqiCU1f z6w0q%KtMEkr{?lCOn;{{3RO1d_-5Z{OdHk)+8l{4p3g;Rk?}vdvp$mWs`L#3GXzG@ z@pfy-idxBbd^eJK`HSve$EM3&?8JAYmh-xEeN%JDh1;3a^VRnm6UF3~p{Z#46YBs0 z&<8K`l}eY)p$W4A#1TOT=KXdQ%$S2-qA$~GTpSxB#!Is%5VcKGPVhn>^x(XtJ9KnA0>SLl z62+#OZ5jthKAW#&o3Snp^9h3xi;TZLfcNa(e9+E8Pb7#z+b=p~w@qPt-);Rr8@(LmcM4Wt(UTbY{wW49lPeF(RaWTbGO7PcQENk)~D=b*?VS)j1Dp= zm-DAf?v!`a(gS9veb+@{Op$HS?5X|9#uDeT8JgBs$$kfS#@-LF!7p_%VZP^pvXl|L zvp>0IiIwKet>$wg=c6Asid>h{q8@x9s4hb@1~sNTmz|p&&<%GDk_^9l_^k-%Ln|_a|pPka7t5QQCB1X)IW?hHpJ7 zI_zEMKH*WlnOaQLGb{bq>Y*pSRiTo?eAj4UEF!GcHk7#$*oe~_V@%|jKxUJsykgwz ztijjuSTM6`tvDmq00408%K%Z{T-W?s(A~m%YrYQCl|Ad%5aQxG^J7PKr0jI4vWdCc z;h(0IIi0(K?V%a915~^e1uC`Jj6VM=*vDmRZi;LkzK>KN!434&b8M_2M81(uY(iOjILJ8nRh4A)kJH0UBVb&2%6+@|fb8pQYm0fe00-r_An$si^WZ3CRZ;IccGp?>>3#J9I=n z>djL9WA|w!_UAyc=(zfhj>q;l2&31w!cfD%ULtWW~JJ_j#OuH-|@6_L3zf6%x^a6 zyseEzdVO))U(v^)IL@DRU5{-L4*bQ8o;uihfm%x%`HIhWkrhbYw*W7q&h8!W=4j!q zCArari-ZN23{LEf#l`J_PG_6?pD~7mEi9k--5ulrb=U$_o0YGB2LZ6_7hHzo#E7bC zjAxRd(G~s|S4=+~OsnsqeyLf7JRDYc0<#Cvq4D(rP9knr!v=KnLJ=X3Na{lT9fYMd z7jWn}q8B;`G|$Mf;gL9rTSQne;mf;xG~L+J5OgVn!!+1`FG_GnPxHDSm%?%YL;@5q zOI<_C>*vSG!bNT2_woMGysj<2j03jN7lSuLMKa>sK$u=MSpn2z3@{N?(Z%MDAr~%Ix1d7SM^=v)agO0LR{cj;|Zv7gd}8zNKY7s{9$KG!yH) z{)*a>=P&J~62Fc`53eqAhOF3L|8F)9g1GoQyXi5ug3<|%1rQ%33U(IKf0v;B^4W3+ zam~HOXL-}Ry$Xv!>bZpE?*5x%OY!2a>%&PYka+Ps+ZPGUZO##LNe07tpC5kMd*KHZ zcxa}f(2ZI;KL7<3YZQ}vWP=@L?*Fo@ZtV#6dKH`gBvTX5qPK!UY_)*>7-VfR3rg>?Itl5UiE#(fq{1vLOLl?pTU_m5<3U&lFgvEH{KpS zg0m!k3I1UDw^~-5g|U6&+*pPPeu3Y2MhlH06fR{J zZ{d}HQ4Tj2HWbVu!aS6V3C|@@nF(zE4B8N?xOLRPY@vy>1Pv_~2iF;Y>XWM%e3r0d zoiX1AX@a0Q6f43U|3e;R*{QEY)~9ISKs-}OpYiqisV$tmW_75;h}ySX7Gk?2q#-;4 znN4)t{I-1*dnfk?r>&}rwvy&5Vei>!6=owFn+O^*KW4qoe?_h`c^6|cXqw&g5I7Bn(Bjt)0^C$eIJiJ!? zP&8_QrgVf@HND*!|Xk}x9vxe)Y@0|P&4AhVy=Z@twc#8X|j zvgtYBe#;Pt6m0nkYr-*fXX1 zySEmeR{3&oq=67*HI9kHKM_k$aTWjGO-D~r2XtAHpO)72|AsU-<#V(?1hQzJOsVV= zg8AY6fVUgdSATIae@)jm<>t#VrhcmumE6#F=lB5i!GHbLOSR{az_s~DlcH3Mt!w$r zo548!T+beDM4P<%F7tuI?`j9#$GF9j-Qmsq`F-J;`OtRHrg%GH*1e+H+{Lm zbR`o43k{$8%KL8iH^#;77Nc5bB!jj;-5eX)aq7L7hu$jRtiwagdG>l{bN$M<#%~bz ziQkR6DA2-=)c&u6CF%oOy{!0^5i^31fdu>X=bHFleb!Pv7Bf+)m${AiZ{v6F`nk80 zBU(JUfnAN>$W(*JT+nE}S1hx&O{8W%sC8XGX!j@x3iATT#1kxxWp($y>wX7HcijOE zD{3xm%R$8Ou;2rM1YQmK2;2e!UOj|{5w zN*6v{P^X=^2|Xv&pvv%>vU04}+!3h3?0`Ng!Q=c6yd4Zd>-q>7W7ctB_RCr%@@Z=( zuGyVof5utf>DZv`>)tn|Cz*An`cMAvwRurzisi@K8efB*MjQa}AKhG+-6yfJj8$XSS`g+1|Ug@*5iCApwMf}``7I^?G z8~G<19K`n`HlW>*%XO1c;fgA%n*DRyi)kSzJD?Z7lh{Agi(EPfy|Jo$u1@C>qLR>M z@WW>t7iY3MGfr=7+bTdMhX1X*;38FtINA8mDg3{PFYUfIrQlyR*L#3tE7{}Uu39=aez%J3mN|GLCis=ki!&>=1Bf zowT^`y!S>_FXOaBP;nO3Oa1=nS_>dW z>hxd@qE~~{ zY2JA`6Kc-sn;Uw{FCtY4gybwK|BGb8!6WnQkLt!haEy@EEQN9R z<8rTh%0KV{4qkNT~#N_5g}qxhTT^jbvS)QkO(at31CQ0Hcy2eETL>uaL~ zV5ub37Qel>8@?KFZm7aH{=pz<Vr?<`D039`e zom6A=k+JC-r~)dMw+{Qv>==Fp|1bIn6*$>r&x)N(w>u{za5w+0MX{RL$yOZ`Qrwxn z6{TyjT8pf-2!ra)%$cV5aieHWtCcOcvG^`(G3~&cTU^BZu8^~nRPk0)FD!Tv6L!tT zTlE%7(scAi#_4uQ-(I`T^iEtc-*cJklR}gc(hY}No4aaoOUef)U4c`rVA%qmLNni~ z9;e1HwEYwk{Wo9GcIK7ooNr#q` z4hAytM$sN`|M)w?hkEDzuCCAU0Oo7h8lCLc15&NN0_!tgn$1CA z9_kv{4sH5gkH>^}k|vH@1>mn4Hw5+zlh^cw7lSrtbMh)1K0g>U7tT|1T+gN~_&az@ zWZ>JgXUe2zT0b4R7Mv^J)nT=;zc%is594X>C5DX?0=yaA;6{!M!lx26&ox@Da%rcb~3*kD?4M)jJg4+(OHC8#p7NQblviWyAWv`VL$9VRhb2 zV(JNv59e{!c=x66-#a*MY^nB{Q8?vCV#fE>6Ta8%$m%YBw?JrJTetq4(OxLIzEjYo z9&q(tKy^-hHCF76@}N7+C8kl>MzBB#>5^+>^+!VU&<#9l-C^@9pu2YTZH}BWikTl` z7y3&4Xtu+6-}H1-PHO-Ai+o+e%x}F96*4!q2BvV_?K`zj8Vr1G-o0qi>t%7(;*o~c z$pj0;?1qf-TUm#>8v}9vyF`N$Qi=cIF@kqRJti>BgjZr%)h$I;Un;lKw!_HB`xv0( zu|+N~CrW<(Tz9AIIbBpTkg2NF)^$bG{$71Dlo3@!b`PRp$*AI9(m5Cvm_U4u$rFB{??h1dzURXH<4$&|EiXtS%~oiywpVKE$*Hs!%^SJlQAHVtz#zl&I@w% zJ^2QhHf%q1O?J%S`~uMSf>pTTHK+c2e4BX7m_6S=aA4#(Q*`NkTBAE0_PLHyNF>`Y z$$xQEu7;q33v&-+wR0}-89V-28;?=bWz0+=D8pPFQ|;E(29swaAWRV7$%wz3VCkW* z?;p?Bl^~90V$G)_n6CsA4NC6Y0Q}l-{|x#-rJbK0F^`` zmlo;}*1tBkdvSLl?0bQUj-aQ~GCoR?VltVF9dV^_Vi|A@5LC5IyH-(p!45Y7MD%AC zzJ*JRxys5Muc~3X_;y%-{EQKGcLOU)B+Di4T^9OY{c-ZS3DZ(93fFGWj)J{Y5bn2> zMV<8hH79$U=6W+%UyV?Z9R%h$GX=JL-nMY2HAR3dr?0;OLBlrho1)~E*XvzF5(I(} zVud3ovww2&ZBhGvAWhC6AFuY_K<@fdDiCak7V4enVVKg$1V5=lWFpam}q2v|?-%nzI;iV#Qe#u}L{QV)Jx_wmFc<<87wK zYx(jl>;pwDasz_0NZMnBa1;L7KKK^bT6Q{C33EV}sL20vq4s5=%&pZ1gv-W>%wX*l zk)X%OPP>W5Tz|h{Zlh{3w!aqj!^Q21!m=B&x^%J4j{CEZs%bvGvg!pT2zYmC22nov ziuI@q^Aaebn9Vx#@FwThPu%eSbi(|+-hi|S`My`cWZHKOn=x>}--fl3HJ#65rfVN2 z7u(S;zxPitR^6|dj-i``dbw$+of)*%R(?d1KPO9i{eXzZl%zd(qwjS5FzWZR2;ce|Q7ogaun2f9q z#9`XEdWfs)*U4cpe5{C$==>S0M%70DL>Y{J@3uf_1xasMx?^LaiDr-aVIJ#@-dKH_ zzItT1dtDDqJ=&iH)S?F(jujw$qapaMr(Z?=vCpP$Lp)c0+4z&04O`KA{lp(1xw?0r zz>{;WcPJcZE#b5$jT?Y5(HJUAA-Bas;d7w*x0U_%8eoUB7JNfZA(B4*C$r}@s? zimC9KLaH_I4LZb)tJ)-bU1&`EvPAzF=KH{%!DYXnzB2RGLOS|^ojaOLdd)eU+>7Rh zmEC@t!F5GmJp?d}3A|`5#yXgGGC?+#_3+@mbUr*BY3pGfw6`AUyq;=HGgsdjpYy=G zWTwRrk3z*v>yZ0L7Lrj=CKOGNZ^2us>VKQ&MJ#bNd_14=(k}B0dDQB#?`G=4MK2yN z?_+s{$RGxI;3YF+Qh$CghUrTfmuOw1ZKJ1$iKr5ywB_pdcAL>5t8)9?hql&g3p!zq@qcX%1}pQ z6P*?(yG5-4YG$%!p~}N$?lF8n%(iC1YaUCTmi>fSy?t;aEm{p_Q%=5CJ!A0r-?-Gg znOJgzd&`rXUe1S{ zaevJoY9a_=iPw)|tyK^UtNcO0Q%gsn4{Ookx8@Zp-uN|)`Db!odk7bkYLJX9#&;1+ z)xTPL)HWuf{kIJyt%=7Qx5n*8QuD=0TMEAoAx&`=zO|0XQ;kLdZ@(m>>}?>3Z*BA@ z>ahEhEMYO1uZ$pE(6D)WQIIp?Mf(S~9QN=aphorZk5yr292Tj55EBz9>F8gyIVJGM zF==Pj!}8}6xQ|}%tE>`pYrRi{S$_q2U}5%AMU0BR_lfdOvMIUijrnH%X7IO!xER6! z^A!DDb7&9SSYQZ@Ijm7mCNNJ55Z5jLMgY_)|7hcXT?9+kydeKMS?ox7*d*_VHUA@KloZ?g6i3&XUmYk^gM`rZn392tNO$U*N{03^smctxoBj?1D^I@AA7Q<{acHYPLhwp!I|8(E?bv>`^@kpI0!i|M3unQLy62>zlrE!sGxTEms-caOe!PDx+cO^;VZq1qI@#;C^Aiz{~!u50pf`KApS5A%<0rL32m9W9xErB%Z1 zZXAIT=;6P>{^?cHB>Skz@@?hC9Pq3nfq6w@^XfJklAKVr-)N8#>j6V(HPdtFZLFbsw z$KJ{mN0(b#l*w%svg($H&=ipBVb61V1F&wnQFm}b3vYIjI$AmVi? zTN4Mu#y-CwKC^dQ=9)*uW@P<76ZaNq2strQcEvi_Wo3HlHAaaUpx4AFJiG^@DMUD z8|)4X4y8Sl^X@215#Ow4`-?VuA~%((#pPXtTh|<3S&(%?_G@mEKo@z2Po0QkkmERi zqfaQsn*+?XfrR)V{H`$R z%IL^N^((7pAIrksBh5yKAvS*#^~vDCr!2Fu;Z$O;Dp8lPV~?h zUGkL$?iB$qti~I#>W|xWq9dP_G`em5c!uSlrzzS-pk)n0^Tcg{S`PBBePlUwA82(D zyBG$es&5)XtMDJ6Mpioh}nlAf}a8FYPjn*oE+ald5$3 z*GKc59R9@um#N>U`#h|g)v@eAz1nm~t*pxBTIf$c(i%Qmn=ObIZTR>fFvb}N7&@jk z|79?8_^{>E=VoNiSJ$kufp|^{fSuc!>T0|bYkD!R_ru@J`LHSL~SZ%8+vh_)C-zPC{TgCCXBdm08?{P&VvEj6S{i| z|9C6Kx+~5sNK^ixozUK?mZr+|3fYnPAPWGMuk<)zlNRoDjOig`ySAjH*c$X>nmjV> zw-6t$2g6ztEnGoFkyRGd>nN;ESQ4=MU?FV*L=RkDbWBjwY1G9AvnA%Lz_p@_m$0J! z!Ti4-!7e_hY%Cl=VD)>V%G$-rG`u1ESKn@Rd4O>kkqt(#KOog;i~aCa;^NAZ&=T6H zQ)HLpPOKMY77)TjrD3;2ipEz4W&hYmTsR`HOP;{%(YcCiimWXD46}#TO+UIU17uQQ zs^!30!0aZh^yN82fyW6#9vkds-cY}s8O!GQQT4$fe`6xo~WCJ^D^SImbUL?|_c|PrpQT`Bd z@bufcJI6W&=Swf5hDFIysdGMoi(~kI(xu;wdlOLhy_A)gkbAj}iObE=)to8f91NrThKeD`v1N7H9rMdyHpjFr9&#Ta%L}VQPcCL>n!)4 zM~z(6M4Nw@KS+ig@gv!r$A?8O+z_1oF@*zSrGD57k;iJYeTC-;Ww;q|IROeI&%#x= zEB}p!)P_r3$A9}x2g%Uq#gThxM0lX-^D0@*Dg@3)@f&LAtUM7%pfQ3u43{2r#lm=N zO+@lD$%~HMvLx`ue`_KKSYp^U2r}@VY;9n^?a5Q~DKKric}d3s-7@h}$>H-r@mA!b zT^3l79HNZ0&&)5EjjX72iE2unRpuL91|goT)=I&W%}ZHne`Lrn5Y+_7X6VE4E>=Y7mZqM4CV0459;}{rm&H(lPj8>RF{{k zaiS239V;l>Gs)uDKVK*AGO}mTFSJ@bHKbC>TSLG3@x2V| zJ%8ITeK6yWRhp#TK0@N3!)H+&<}xqjY--WBk(#6EbFrN_m-WDgMX5uI(H@cPsOgTb zfwIO)l~;FWRp0ET*d1!M+s|9Wf9m-e=ycmFxrY=v^;#-@x;r7fpYG-Ro!S;qqjTY` z{-tmz@89ejAx})bt2`5t|MY4yQ&e0{cQb!}#6XymQ0>6U=?Azp?qkFRd#mlTkQp-7 zZyNYx*+(BMzyB4~Y|lCSoRlm-tI3B_7edl3$wKpib~2EQ5yz=oimtE7 z-olGBxG`0sox1cG>)`_Fqkia00PNd6jobY`yb9C|0H;s4BeEyayr~8d%r06m)I`%g z2+4UhMo9o~TX4Fr`Sy;u*f3g-zIpy2@!Q6f0`+I23e@7H(AU{q`c3s_W2*X(aF;`c zmx9N)qH0=OQ5tLeq_dRyPh;CxXPKxSUm_{-&7TRCHw6FoG^RdQw?v(r_S}-ixoj!* zHIE9?>6xy%(cu^K!^4}XO6bX-e*cYRB0_K3jLGtAn<7>E6?PBH5?y6er)dvUl@%g_ zxpzCts<~a)dtmItfwu9j12-eH;-?S&cH+b7qS{qH07TLZewzXwT z?-G6ub0@iLc|VI-;QiY%+(30!_L*mD&#cA@+C$}|(J@-HDxIMhR?r_W>%jM7xIat$ zu{Nn|1xC)c+^noduOz-zhOOB9GWx}r=KZG&MVDsr;Wk@4Rb0krinOEqL(#q#_LSQ^ zXCTiXG)n0j>>EgSdj-I3^Q1AoMROMJw2;9zc^aZf9%kVnBob!2=k**4YTg#Y0Mc-U! zYU`%Vz3{(YjNIRYfz%UxZPota<3jom>WB5eb^Mp!7nQ*?IP>t@#i?Vo{BqIe%hnOi zcNGn1zN|o$(1@vZevi)=I!&=;)6uU13YSlD{y|uGviSxugL8O&Y-<6Np$|u6bLr6M zM>>m>1(j=M{zt#{oHzT~F`Gwvl#^;K559r15fx*rNGO$Ciyg2YM$Ey^_O`(*S9^Z~ zI6~U4OVj`@lv-jEZNE?t@Qv2XjrE3CDREc^0@Otq}N$=GHIUzBwHnXg|Ahqof_K-2~ z9xuUK+T2S{1yFZ>^WdOW>Pv=8~F9cT-V_%(iUkZjQjj@$=p|*ydW8`+f?=XGOvgbh7Rvo`Sko?zgfvb znf(y1zfEfxLejk}fu353{Jvoc^@nQ#!0IZ)q9T_aRigLA+b&)`IK)1M%K`R-l*$5F zw)}Inu`G_WvRUUsn^%({;Lcf)E-T>^GWQdKOmd<$*5+393b`DEwGtcta%9uB6riO0 z80u9Sws)%g(d;UDf{lDMT(>g)?g3d|S;>^@dbyg++lAA8ob_nQkO>l)5HjrXR+d9R zwy6wTAhSEJt4%5zYwL`hh8c$CDGfAYB*!w0 zKk^~O<5E8a*3~>sSbb4Xb;pQ*nUM~fbD6JxcRcXSGEmXS+{0e-3%NCZLqDR{p}{jb z`fNzR_yy)W>^#mA-BHAyX1vmR-=+)59-ue*L9RHA+OQX1j&Tk3JNq&p$QB}s^_`Y; zlKDkT?)*Hg59NS+oSDTbTg#W}qI->z@_lp-+&6z0y+aXD_|e2B;kMEM0k@4++`Rvo zaRl14=LajF*0~dPf@-5hoPk8GTK_d^z*kPX3`?#W?a#u^xn!U3m(5U8-)VU4bi1Pw zM@2Rrp_TRaV6&)0g5~B~t=}Lx>CJuN(E!=DwFQgImuasH`LyET$kmmMID$8$yX>v- zokRM@MDJ|1I5gFN!RnE0#?Ez$Aco+(lZcBjuJ0+o?ZRsnB~DkAfwU!!UquT6_D1@7 ziA=*;N9{`0wFcP3NReD=oLWw7NC%b@2s{&j9kOc?u}uU=s~VCvU(;P6F%JCR2czO#|PTPX=E z?@W;7w;7`=vMNUbTYDD#U7$QieMdto#puCJ-2yO>qL@3(v3ld^Hk()fQ(g-3V;-|# z%R9HKc&9!{=SYh<^q4(sdwy1Q!Taz}*pW#D&|a;ot_wA$rmrqM<(P)H8$Z}FrwrDQ zP`V#m@t1mztnt5Bo7dun+X$|YQdC~H1Tmk(>-XIPUx`e-aH1{G5ghPm`jX=ZxPk(> ztMTe3ENy>;6KHLH`Ah4l*V>_!v!RPqjht`)O#{!oeo%bS_?ypx=BLhUJjsjLUp1)O z)~Efdv##1_jc+G5r3br4w+UcBV*yP@dqDN3haX7KeH*M1;!nWHCg2)aDwlu1?)sLc z@;O5DA&InqO*75z-B#`_)NqXhud z{4Hot#+qv3W_dMjKMz@!;MYa>adP{g$^AK)v(M^|gc4OAoErHNpd#sNxbZ~^<4q#E zy4X&pl}#U>-vWj?e-#XVsk9)k1`QMVgAlXDg$!0+7=}DX)PdnUn`-P*Mmxz-(e>uL zq(b-@*C;cyT_jz_cS`9`GLwx|y{sn5*2IbH(2Qzeu6_Dc)nh2i-U{>Uv@lW-?%BbL z=c@FdvjhZvu=!N36|0U@zeG6@^rwcZI}-0n;%o|4qo)rS9k3mMT@=o2&=NVGpSl)q zadJ7JU*zkBGzXl!f2go>)sY;eE?;*~?Y~qYk2q^Gvf0$aGFXIIG)fUPlh!j>-^p6} zOIY@FyH(Bs0k1C${Vd${H*HH-ZlwNe&gX;wSy?GipibAg_zw9{+6H96o3G4E<0Cy6 z*(Abk<_-UdJjq}aHo9=l$F;yfzhqnn+LTqvXr7Kk+-z-&YBId-f&69Ri|p0Os%$r2 zEdXEw==4>*@$=gTJKb`}WFw~#hz0upDs|P(quN`>tjj*jQdAqmmbeW`xXSwz-gQAt zUaYH68M0)|S{&VT_FWJrlT!VMRoI9yAGcbFtc#Mt<$_~RVAB}~#QEx;?$;j}EGm`w z`Bi6W^UBODC)$m726m-RXfAa@Ga&K%krK6Em99R&!8SgNQeDUqHUCiElftkUeVJs} z)bX*{0le(tLvY7E0QO+2#EbDdC~y}ppqlEU|4!_)(jvJapRlvv-Dhj?Ynb5Ibhp8) z5aIu_+Bqf6yhb)MCmi|`h7Y_ult~{cl-#i(Z+gw^DO+U`;#zJv&iCk|hnYxdGw3&G&kAL2)qeS)HJJ*qgY=2t8X zvKrwj=t)-CzJ&UV-W&^x4xdi%;xqYdKXyWVhcm#^IzAknu(=m6CPkfRh1{>+e4q8D ztUu6fa8#2XV^ypUr*$q z_?`xs#m8N4bV4f(5KQVOzaFuBo!pcn$j|9rW6vgb-Hco`>T< zBK_8NBQH8vr4>*4qY@q5l*cZEiDHrDs_Gg%iDt1n$Ah=RWq+kk2<{E1(*k$we0yzn4u_bgqSZJwRt9vKfsWGi$@FdPHrGsooa_9)1$&Y7p^yrs=Oas`(gzPUi8gz-&N;*O2w z_20I3>7N{Kn%_Ny4;i&!q^7iqG{%|){r_o|Q`wE$gaO$A?p!|-TF`kS#E%?vq?*4l z0-~~WlBQn|%_^c}9`>hot$ddVw(VAQST^z@on2L~3jyUgm_nXTBMkdG^y-$OP}0)5&p ze!6%>K{!%Sm8eTbC-`5{h@EgIO1qxHS#k;xnlx#g%3E!2pkHA7G zzrX<(GWJ78uT1_<8brCk?Dfb}?W<_)xf9sdo7VrfTqMq~qd#~d`e z#H*7&{Z{q9QVm5Y*2p#gn#R54M=tLdnA>afRPnO5_j*AiU$r{As#_Wuc&Fd-|C2YY zmb4+~*QicfWWR2Qa3TI-c?V*B19D0To&IprdAl(b2u2gMdE|h5qgV7RiYcT!2h7;t z5EA1*KgYM*zdz{gcBXH4Ow>f8Nk@3ITH#q{BnKuhQo%Q7JfkP>yryW0#j?*T3vgs5 zbDXDXRp86a=p#1{`D+2ory{r~%yd!9Lw%+hQJuory=x6unjRhxN`4E1(R&IMk6Og% zXO}yht{S?{cBZIoXh_1PPs z2T9zh*zplI;}a8B)w{E%OQC(LiQqmAiylYF_5px-y}gf6YK|a@81*NR_Upk{EEV)q zhze@QjV};H_6I{E*gB2stjmmlJ1pu_i)$8^p8T(o@q2FMuF8M9S|H`S0wn31Bm4Zh zLyJK{$$ko# zBa^K+vP5b(0w%%*q+NsePWGzTvd0yJNnI!&3xo*4sV2)?9Pc0E z7iYEG-DTB^#QlD;H+T(tU1 z6NhE@Y!vVz`0TaqmLkUe2Ns3Zs~e3G9I?AV7oP*WWJFH2QkB+z^xy-zu$pRN#;Zs- zy$5eJ)vG~>?t!X{VgE}Ga*LcWM}$(8?c`2Ms_uq1+_Ymnz~rj+$*+%zfkll8U8+bA?o;> zk{JF0EN@l1{g_zez)>q^U1MytL-FxaS($QA&28d# zfw5tWan0h{rP@QzF@leewVkjh0%A^nlI321VKR8ex5MEv@1dk!vuw~gd#{^bcTmCt zl3F>eo?7Pdn`X#TXin&qcNe-$KK{Mk2RL!$``GudHjQ%W~0 z?P+nyP+tOhTgV%7zs|^Lj6)zruZBl0YDhVPZSg^ja2XO_2A3T#F}gaMm?dZb^ldR| zmaev3|2=k3FRvrq)$t7iu(IOPVRbM>uswp^+727HdsD=yjA3g<4=S#r)o9WpIF%~9 zF05{&qC&7opi>p~EwC6Nd*QU(G>PpT+ymxi0r_laT)`XY{ue84%23_Krl<}@TitHK z4_&v*+H`?;_S_xyVvev9&@ki2ia%se5l~0D(THl6xE2+GHZ$(G`Q`YkewH(T)GF)& z4r1+P7#bDLR_0i^I~{mlCOV<-3n z;e37xe%r+QPJkjZgFWZgzAH%n6XUPxnEetHtYv=u=S8S2O23g)jz(@OvWs4)8f!Mz z^k>bC){SQ_zhU4u??H@{;*#?B7Bi+yF|mR6FMuS~@23@%fvFB3c}cFEpqNp79W`Sd z)BmvZ-qDdw5eCY&rY8U}lU+Nm-V2|CyNbU!b5(YB?v8WBKRLfOx8ilV-}$jg{hrx- zHN-wsebp`{`7!#Q$i$drd+!!D!%s`Dk`E z0w}83KKyu7y)G*IFLnni)EsO1hirbI4mj-Ln+3NLyDk6SW$Zg#n9uA^xO*UIo%4TO zc5KXOSC9nd6`>;P-~{Px%l@|Z-RY}JSVSFUYwATCgFi(<<~83>yz26f8=3dg-m0#n z5Dc$Aqd`aWRw}>MS?$ijC^hFS!jD9Gj*oQ@xBb~NGJ5)1MV%*B1l9WQcGjs%ms$tdk+&orWPG8jRXR#&0J3BWHXKKb`tvTRAq4* zw4IrjK^hIu4x;L0J5Nxl1JfKNKFu2yyL|Hz)k169BdK%@R&%_jZ`}F~-IRimoru%xKVZ zOmKX>WnxZ9KTO`eJI{T1n9S;aS>7*9jXB*zn`#=~=wPIUX;u9oho_t#kE}sRVH0eH zy?C3y#Qa;`)YhO^)g^1KtFtWsXIXY^%K(=WIrw_<&*N0r650A>>T6*g}D+_3{T(mg~&lFN8kr2ASQl zoQ6bn^;6`5PRrWU7n65V+n&)ezUn%eN+Qw6N7lVd&-#bo@Vox#8753FFu zsI2kyHr%7J00YYyAim|It@2B)m>vq{j*Sg8Xf+5VSia0$LzKAsw>ePt)yoK%*t=2$ zYu{_J|3(CADJvPQ>-tdKi~2VT5&+qwg)-k}%({Ar9P}lE6uey-fKKSm_~SbXD0E-o z&808+ryCf)>D#z3(RM@a?o$X%uWW-rl_9imx#r0<&-ZbT8O}3U=`slL~sw$?aJZd%R(nbbHdR6(SPE?SZy603ENEqB6_VB z?|xlx_w{wDM{;!0)%my{kHPvPl<2ff)OWM_1P)DrIe!}HgKmSr6=@|VDRr-?EruM) za|XTdyP(-&@aYxAHrGg=!G9JI!mT_B5El-rVnwgV1YO52g;}Tco=oyh7dKk)YI+>l zF5)!F$BIKkv1hEd_X}b$5;0_(PU^xtbz7vqe`8@uYL1>^L$+#`JvZPbt$m+wR#jRi zip0n0$r?s}H}HAvnCcJc*+~RVc}GOEwGuxy*)Ju|uypm@(a<3t7|oQF8qM`2Qy?T^ zo(;J$tL^PQz<83xE3(~smxIu267P3!*9THW zN}XQ>vorCnMWEX8U|mJj9-Nv+ecthjW(ekHJ)@1SF-XD9{dkatUBnHyt(%v}p5qm| zcE!`(r;DCw6g9WrA*-%71fFyA%n>Q2^LcEE}- zpPRk<4%0#X>ptn_oC|Y9)!|hIJYF)rE0C0YEv#@qTj3+z|M!P%of*eHSxY)I`D-$`MEmovP<_nMD+L~VA{NcGJVsBwv_L6jLD!J}ZcvsC5}ix|x^|5w1lSvb`vpVU2C zh7SEZ9*%!U9GYi1|MPcTQ$2gE=6y2#YccNNBHyU49e&|`X)b)1rVV?st0y7SzvSR% zKcf8`QqS?)m^82>U0iPJbYt;(QR2DNv?RQUn85i|CVbR1y6DE!tjiTVYWaL+{4(#2osZ+{!cW{5DfJQNA2W<~%3zyA4#G7@-iAL}R1oJ% z)y6lz{MsOC{R=$+2`VjZaa#r`jBibc3^cBMD{y34E9TE9(o`IF0``i%89 zNuSfA?BV-*gJa?CV|EdeU9Eb!X!s%LG$JFlz2Q}c&gp%hl$IjVZN;9TToy(8`Ih3k z)$#ONUA*o?7hMXpE@c+xSsnY%gU8S?qJc9Vc z0TSFqpOLgdu$|%xS8J$^X;kF-tNV4+DYUnpo$BPtA4(Tatn+%cH9L_pY$X64nR5bhq(U-MBKWuJRF?>wNiDQ^Xfa^|HLDsVM$4&jrlv51S?*b7)tqxKj?&sp2pp&0d&xdG@ zJA<~q`z;DH-yUjWW2$c(b{E#L;mw*!QNoTAx-$oElm)T>)t^ov6?|5$iYv*-r;DY0 z>4~J^W>MS1w2v9|$Y-5jYo~4+`Sn_IW05+a$Rm5ykXmE&gro(CT z*D)pZnqx=B;^^H4`vM%@5~$L6=gV zu&vOU9H^gxRJ{-_7(8$@%4*`7uEzGs5O=ZG*JgW+xJ3=IWfIf8Lz2qmtZii`W5c&R zK{YrkI7;U~0rrvc)!PwrrcMo?;RRZHW zdq4hhu{~6B?S;;U8+4kTB!u*On7rk%gS$8nl7EDX`kw1VCoTPcoSTLNE*=XM_pXEX zF~_{F7)~skFSgnaxcKjMu`C_Gv`!>gyVQQ-rh*b?JyG6zuTFcmO<9;;ji+sH3CxNz z=Z(mpYn#B{l#WN8g?1S(J1F4c!v_IZ6(O^wprEU?`e|ae1~2TOmaP!!rU&isQv07g z>_uJr^8%d-fw0t8y7yH@zcgcf;`jaIG0yaC$DhLs@t_cocdb4g;UZY&w(VdHUpmNs z^yEypr4L$uxzwI?Iq)THn!9*$2PlLC8rbqFwglm2-hG4ULdU~AZ(~IC`9=9+5v!%BBa6EwprRj!n$BnFk%>Z|L4V3(VHohS`u|7i^W zhv>*Ez{?slAo&aZE&N)m-WQI!JjJ^GYzx>Pox{T1qHi!a+$SKV*@>Xx8;B$Jn~ z=>S%nznjy94%-&twGhB}O#iX{foYuMn{;BBoz-dU!3d@0(i)w9J)DT!cHev;oPj^X zvw|ccgjUG5(TO`Y?GYSEJ3`7mSebs`UldN;$uB+s@-PIej>V+dulM5YOpc6pAiNv5 zlk4wJl&urz$ck00e2sPJdN7{x9S8#%D(!?7sGF>4G2fKw$)W-&56u z_TbbP9(Vu!Hq60S$hn+NRqd*&C!jaKpPuy*CL;C#F8G|4+WWr=#+*K5vk~iyO@!&Q zS`sKt+XEq~bLE0(OF5w!x9pLpd5!l~H|s5~7@yL+KFiRZjjI+i6C3Olnzt?K+MC3U z%OdU_tr)?v;w}xzR4uCM^V-Hq_A)3OFE`)nMfXSbxq7hm98b7(`gxhpU_&L1qu+cnhN~12;QJG%J~& z*KLTX-W^c!f+X(~EkQI0Q?q}fMfbjzvachF7@&dfIv8_&rKjU*T`>IOCwRc!HIHBM z9n$R_Ba@eZ{UBM!s0Xx7=naAKFDM_jgv*J8S&JEdEHKW^yV?S-F$0$4W-qt$H zd2)E1sr;48JiB^XIye5oJ^Qa0U6-0*XD_|psoYk>jTwOl8EDb1ZqXg%d|>*LD2!~1 zQES=#+v5)^3bSPQ+@Cx#RS^XT5%K)9mxTT?l9vBRhpdcG-Wjv!_*uL?{dc};3xzfj6_QlpFXAFSfxjpk_fqQw&A+weDaG*x zAmdnn7rjG~+b$N5`S*b$NI@kF9E z=ZKHCim94EecMnLy5|DW>+VQ^FS@8tT|=4MP|?!LK}l){^c`a&dE=%h2}7^Q7Cisu z#IjzcB)Eu=O>%Oa_7N=!)5ZtKtdEhr{^F^^``x2~-11d#WYBvjW-#8Rw-<;QeRMA?!WYpZLH^;(l4?{D-q=(?1F39x@`NPP`gb#>F(LmS$aa( zpZf{dZM$gJIfjeeNW<{lX0^l%?f1bED2(A};#-FGjfbbn(&r8YT#)-!D;egnqZ!2UXrG8C16{idS1{F-aR) z|IL9ykhfBVy!igC{$)nMwF@yWL35Gm|Hwyf=WEdfflh9WB`wE}f{0;fx|5C=vIhOt z6PtpiAj$RS3u$iF>V&Pi9>uT??`LDIi}Uu4jNnSS`H@5@ed}vp@IxY#s&a@N;}-Vx z{7+#8en$ALHh(ga_FA@XUC4NU$^aKOZ}brU&;JY^#}J)imoIw_P&8~Mt|EZrc4k% zZ)W$F0Hh1tmb$&b>bzQLk67pONO}v5|G!JJ{Vi@DesQ@!JL=l45L4C3k4*XeS=Lg+ zv)w69n~w!{C!772vGrelTzo^jQ5!t@MR5;%sMO@V(u!ta@UcSO4lI0=$(|IBJMW4# zXGN#@g>}a3tw|v(cJGT*y0*kVz0k5$u4m>J!GN*mhO?+^SAKGhp9-$E>hI98&*ZDL zCu9M!oOA8xjGuKBlx_Pf*$FSm7 z4QuF?(EYSAdtJYNWDN4tx%wx;?hmJ@afYFwqe^XcZTp)>un$_ zQyVkv{KsqXhDd4AKJ=00GG>yB0fm}o^2aXhF{UxcC z-IHe5vLN3tPXU#u_0X$r50fe@#1xORHkEZq@3A`}ce0la8>9YvzTE8hzoVt3iEV%J z#MJXl4Rd2S-t8Rzo6nlp^M1d~*08+E(KWAdXu;C+LOK#o%y0}}5J!<5(*UTkYQ_+@Jk!1TLX6jqrW{Z0! z^A~i%K0+*4Sc5btC^#KWgcr&sPJ3y`*FIp#lFBP5LC=U;Gwkb zd+|sVr11Fka4tzio8DQvV29H)9gU{OnhRMMbyYb%HR^om7J(tBEW5y>@u=m$$7&X2 zjQ*13lRU=H@vjtP63^s|>(itI_O^%hx6qG3C575tk?p!VX#V|gFOG&|R72K|u%Kws zK8QoOK#kC2iKW%F4`P5jOkb!!S!*m`byQzl`Cc(K;&~6NIxwt%+`bp^$SNXA$B|}T zT`y$NC#A=)JA=nqbK-M|4}{#*e*L=*W}^S#($`?NB-hD*QZ)K^g{G6bmKPbKa}JD` zb%&tl1q1bqql@1kj|Y@21b)|kdFm6>6U#aptmPnHw!f4c7-%0B86&Q(Pj`7Ct;;+D z&M$hxqI5C2%7ocxG zUoFiV%jbdV26F{t;^sXOavjdS!x*E?g%Z}x~I&s0WgTv5}?l(A+MH*v#j z%h51Q3>zq5?Daow3WJU^Tht!KEowx|C#)YX`aalW^_AO0|G1hDN>hyfIO?_nfzMWX zmgE*zrF`OP4J)_3YHL$M40X^y)tbxt9T>TP;g5n6HlLLAj873D$>hr={|b` zRD=N|wQy8iE0Wdte4(Hw%$0_w%=&Mx!uyM2k21-MwKI(;ow2b@TzG>hOmN56tT=1- z$50W6c%5cg0K6`KG>~L*3n{o@fBjb$i0rFP59MB6!8dj~JO?JO{Leq=1bC_bkM#1> zg=Md-63eu=S%j0DeN4^VDF387>(3!dxDG}lcoDZfR>?(s z6VolC`;EltDMa#+N+ec}*IP)M62qdT0}Gd)G}Q0bNnYu0xjR%Hy*`VyES*`BO--fG zii~jjUKqc9kde5c)2_DP*H=}~lx*qB+*i=WN9ZqTAddSwX_a3JVR0hAS6;so%9B=? z80%;O+s4^?>L;_Om$_*-!1OC#$71nDWtYzE{P%C9_w$to^{~*YQ6pH_GU07?;ts3i zj%E#7%n8?q*c`}rg5vG_oXs78n$?xE-s&@IrpC44FS|t|m{p-l(>HiZO0uj$IapU8 z_NGC3_nSgEk+5X{a5Q_N)bWQCgjNEJkQF;1Sw3OI4Cy+s3#4$H5#eUyR%nCHx~T{;P57pEB6W~`i|M%QBbLR`5lV{z%w4Nn-l+0q7~g4(*z*0;b!c!L z(+{pp4_Fla+xkV(Pi@ZG{3cjB+VFHo?>9bw?rC}N+9gBS?D$J=Bjb^GnarI*h;0n~ zmz}XZIyr0@ECk;^wX*vpNmhxF2=M&DtK01Xk8r5*JxR#$N1t^{{< zy6VS;EnAs(#mp}6mc;a0(Erp6uHozqa9|s5?a1{wrxSDNlcCvu#~gkZIPddWaL#wX1<0ci_8zGC@Ny$6Xz+V^$r^J$Qm}6b>Ed$1WrFzn)Q|Dx2|{|MC`)Tqbl443 zCLarXa86N~b%BYaOo;8}Awv;s4GvYbP>W z5EXURS_Fhbc+UZ3#e0%ZPjOUIgVlwZeMK~>0SrtZ4%e7UF7H%s*V2$LG+ zl8Vk=@L`1x2mC0JC%jq+a&kSi%&XI#;it!D+#2r(-cs+gpJ{CwLsuEL+{liS)4EAHq)_b_Du_OfVT!yq=cIKFcZ% zaoZXCXwVa|cX!X04f)hFg9;w8e9c3#u*Ljka@!n5QZ)=R|nVVTCIAS)5` z6b)ZnV9~1{nanQGSlZxQPL{hl;=`K4?4=*C`2~~f$DEHQFLcDW@c>mLF4XYcN5o@f zwhw!BiL5n&N6T@HonxsNVS3DmxtE^59;UM!~klZ zHCne=dTAEnj2;OLg|j)YF!vkfl+B-}$ItGk@2-Oc;u3auELR%}yNoW0$CiXu?ndDo z`J5o^O$+PQl*YT|HoaQcw6HxYp2}9a`29m{;O&Fwg#x}G!o&W zpb)P{VEPXatcE&8g@h|LTJQUk0A~#tZv_(CYD`Zwlp2`zMFp$=GXIynUPQ9}z$r)P z48rB7c1rz}YNHBpZ^Hr`{*R`!erxi58?eY%_$Vc!G)xRokrL^chyp61qSA~KkQ&|F zR0Nb1hXN8a5LCK*Lt>++A{_%pk1;mbVEyvT`!77l@!ZexT-SY`XYXRheA$bv^#;VL z_85)!>FC*=bhz=~`bMkF+1Rdp7D=#K%QvMA+ppx+>$J6sP2cq)5Jw0JYqM`tr`xBT zFBDx>m3b;QvZgdV*z2xa(!OZW&V&57p}*8QGxtz-eu|wYVq-l|1;&tLbuO?RCpQrQ zbOI6Ae6Gn*DoTWwt_IJrZG6IVP8P|e1$w-nBt40%+toY=MoYj+2dks*uhTVvB>lw~ z8|IOXn9)8TgN_aFG*!J1!i1bZ!wKM#&hvHD?!|uM9lWrbF)HktPI*6yOuj6#TCBG- z&L0=~DURBc-K?@r1&n9_fVDDQ^@rD!E47n$=#dR|oP$Lo#Wcb(GD3Q5Dfak1@CkpMF9<|7wfg12P*F^u-zgri6qti8q)j{7`N0eW63TvSO9-* zBYgZ9b~41;JF^NAY@(&MiET|u*veBqYR1nNd4 zq8@r8;`z#{Pa(3Ma#cxiQJhOuqIuG0W5VQOv?1V~&md{(eUamtxqM|lW-0LV%2zz1 z{l4V~h)9<+yXX(|%F)_n^U!$xPOI5S6?o7PFo@Mo=%4Zo)Bfv_UQpp+_0$j*<=PVt zXw6WT8FT+$$Lw%@DhK0RNu3`_@C=SwGU!-QQ~tUm1##AJeY1$tII?H9l|euNsM}Tz z4Vj~38$FjQGo&t}h%;}*9Dr!?I{2ps-Ac6PJ?au<7A@M}dn*7KMBAZCB;@~A(_PuXW;s0l-4Gjp?c89MsW*g_H*doyAH?iT$wOy zBcrPsSlUiQRSkQ!n;>&t93dZu;6tn?ZZ_sIo@zZ&bRjO|b5 zfai5q(yqzEa znh}EeMQVc?SYuq}%9G^xqfspnpB6y-8prz7DhLTPahiiOx+l~60b~QUZLPzc#4kq< zh-metxiZp?3{uLA+$D_0k#4KuJl=gG19kMP*AP5-GP{ZCC)E4*3+poS<=k*6@AG7d zlvF;W6wH2_>pPw{_3P+=D`Vik|%W+WvwitJqjv^9`iV>&*@~r&m=c&zK~4 zZ$!+}ywU|ycjA4v(!705tmeg@#hr6U$X?FyiVN+8LzLe>uvBHU?>L>@qJ$L#Q43e1 zUp!i7_C%<{l#W7nm)~6ulKJrM(?P&)|32*C;9Q)6o>sJ>H8=$MR`6_1U}UtzmR&*g z`lw=-+{79j2R{MltF8F^utp`^r=f-ODjOHHsnP1ODj4e*~s4jglLC>)0)B7|n#Y2QQdCi?)@l zhjTVV8ysZ@Hsf?0^>)Wy@K7v$lkMMahdt6y9{d&jt_X?`l8!%leOvTG zq{Q9UAZTo;C*mQWS$H(l>-`6%k_-vYy*z4R(7i8xH;ruh>YrdSqE{s7inCdo4SBF=O=f z^>?$&h8j%>K^MdNLHU^AAk}l*`mkLi(%0Bc`HWTFAw-ovJgLZh= zoBuGNA;=Mt?&)B}G6A7RwgYr4BLm(}iHWV9`yJ?y{(8aE&Nwn*aOaR-f6d>5MKAmP z%o8lQj_YZNolgwtD1qOcB?b&c8$ND3 zDAt|-*q`@g#9$OgsqTa6u9Aw!JgH&I z^X=Z)Mm{(POcCmK>Xd{36ZvLO@;OP^x6^f7`9u2=6|RTNk4krfRn%eS4;s3^4J75b zketgVM9%*kcEr;gqBAeW6%X}a)j^WZh9MvGv!macu{&Zi5TL}pO@}boC$MB#jC4`f z*vhl*1cxWxxTyJQpD2y{2JHM5dM~F!BxiT?(qeua<%=uN=~UMzn)T*8_>JZe&#iV{ ztY!OF4vtpoId7<^L||^-jXyM(R{)5A=2|{?9Q@R=siqto8424$zkm>CncFQLqE*OR z|F64)uQ>gK+*i^tP{KL!O17TjiSFFo^W+xJCD!^oZNMTYAR;BX#>ca}==Cy~Ah?Sz z!71P(%3&$Z+PF>7#Z_Q3>CS~+<$~+muvToccy1YL8Fl-GRXc5N@V6YvM)KuHghhc3 z)34ca8iP;u&*)1I%8O>aQ@xqPHJjys8WnK~Fpi>qw`cB8!1XYIN>!VkWh#KYWYg6K zwE(Xb?hH#9>(4sB5o|Ny5?|KfgW2B`_KN}MD|x^FlzNef3cJg`x)BELu>UuvD9x#W z4JcF*7&hw%=Ne-DT=~yn+xW(SN{h|%7SFUcEriF#CSI%f^b_@)pn=F)S_L=uZ};Ha zgSqw&>9cJ}8yo915>Uz!(b}>*_ZrF=y^Lx?9SlE5t;gmreK6b&JD|TVF}B$5;Dv@}lqXwe%V}pP{L*lq>Y)%8xAH zZQl-Aivz~(j*+)ywg7DfkEMlY@FJvbpbZ}j^4_DsIm+Sfg|)IA>0j$@&8P_K9I8fR z_Sv_6;(k&jvS>~Hrfv=%jvfCqjUVgWoO`*@n&|d1IWiV+i(Ov$Qcq2W)VN+4C;31B zC!c>K5~1z6F#(-`r;^hO7Uruq-ck)R#WhXqa+KV+VxdE|6Y&Q@r?J*wG@_)Wyl zPzMZdKJv*IGEj?>NRcq>5%E(%{$~j2e$CMqsl=*i@QCZbSet}*?n8|^8vu-W=5G7vk zE!3?rxamy{_dkl?iK~c%vA)ADD_VSUNVrLKx! z2P`AhWQ*(vrAYi2QepNaZrK^6AGl<{U8(LWs6 z)V&H8H2EILp?}~#yG$-M+zOXwR0Sd0GDTFjUi$~$Twx*j8umu*2-iuEs zTxBD>`fy}Sizlk7ANncapkj@>O zqN^Y%+wC3;xX|so+sb@Vu=U%cnuftRUFYOkoe5mzvvTk7_K>v?>P;njvUIOgOO%a; zJ*I)7#0@V(lWlSxC=6rUyx0+=fTa#Mg*VdpT}iszLS1Q`>3;s%>5^SpN6ZES^57sK zGF*1^51qX!_EqnFFUDjdy-;Yx50^+kRnsUbEOE6wL_c1O);53Yc?5k-?Owqb{Epw} zx9_)I>L;2MGMX066dzZxcWWCOi|j_LMYywHbiNTs=3PF?k8Fu3UDcNSG>Yn7HE49= z!Y?XWZ!=}$-Rn!+o12Y&hpJi~xc*f%pv>C8<{Xpsn>lTLBMSpd5QQq<9ZT9evG8W#jSFgNE*4J*oW+_wgp&PMVr) z^YD0wL&&i+zWDsobkI-+zpB^zwqf>cye3W~aYke&Isk<8Tb;2%dQ#WZKkIng8(#e! zmkl#azY}VJD*Of5fv5Cdu7X z{Ll6nF?w;cTR61&%+2jjH4nlpM(%ObQpsJmGD=8$yqi6ISwCzh0pfW!qdyt`GE4>6 zPZav-bud2iuWj1eI$)vu`BFNgt+J|)Xa8F2GfXPzW!%l{&qCEhO4}y?INa)Ir8{4HOoLMcxgbq5VKFi2mn2osPQN& zRo7_yAPp1zH&JDFDzxxZq~8!appv_Et?9lbc&)VBJ8A=0vpY5KoQYZP-)<_uqNt)D zTm~pjsW?M4HNd6d8A~8X-6tKa@ zt;K<3fG(8X_UPB4x7N#&To4dh>(#C5u|JuvCi7&qWb~=$BBq}EvWxf{!mJIq^6TdY zGH+HisX%=s;Lo#i+{zP~C(WszNjq&K6^cU3x>n4wE9+&6Q_r@>^GMP&le#6yvjZ6O z%QLHR8lX_dIY8Qes|04a!s`=Dd5UU;QnaE#)s6?@(o6Vl(B}T)^77w(*8xcGJ#M^q zv*a#3{@A&rtKXQS80`u546y5jM3o#&<1u2(@{of8$5I1?9BO0{!)%6o-)QJxay|Do zDRC#X#Zcj^9=v>OcwFmMQkpQ+j`a`{>2RQqnX7e;f->{&E|W%|_o zqPF=YC?nNA3`P{{fX0T%vZ{sjjM)`pbrsa@YKHE`C{iA4v)d5(cepaHeen2D~|DTxP&b3$PsWH&DvJPRk{QL2Lsq$%6`2wLz>TjeNNV?jm4y z8A@YSiC9Cl37M148L=c@XQl@u^d)oY?R@HRzK##Cee?gi38?(JfV+cls-tjcdaeVN z;O$4-BUc%!Q_K1ag80#>fUx0}mqSW#m|qz0J{Q?vKei7!DK%eu+akzA|3%oa94 z|F9vD(xltjK^ou9h@k~n=}xlEb&j5pOoHZ%Uc!&^1k7wy+W-MqGFHC#qGO_T&Wm3# zzJkSZ&gChAJ38&n zQ_^r)AgyESm+MZd$jO#wvygCm+(9Gwp)4xAvdE2L-8={=TJz+W;@UN2fGgr&AXwA8 zO@`ZV3>&x6hFL~6)k=NPGZ^-YC)Mxsq>>W?8*o3#TJ2iu#Byk}alsnki&p@GTlD0# z;%<~uvDda(V8NKl@FS*w9ZZ{N|DWX`-Ub^^n%ud3~Z&{x{i^66YI^{&xD8M%A zOaYf$gM;fQ=5FY39@LeVy%`N_ThkGmhBkE9e_l}>U33OUcQF(kse0qsKQHod@J1@C=(4038uStPh92NFraYwv@bf;<{q@ir32&kturXdI;= z=F0A|E#?lkCZ_pCmJ)V!(U)AOow!S6MBGt@jvd7$b9S=0#S937d2&!Bct#^XIz3r9 zJl7&>W=KxSRXkB0BDx;96PTa8n5KV{tF0Ja8>)f3HTh|BB4>8IOSs(M-`wqQ`qcdg znID@~jq#2m4}WJFS7TrN&lS3$z1{CP6Z&W;`^ou#$t@pW*EMe&{+&<%K#H2x&#z>( z(RIFec$FM19w#oPoN%CPf>e=pjr_Naf6$Zm<4nB?16%T$-BP{e$KcHFLYy={Ze*c` zoK4$1wW5uGSfg|Ezt_yeL8W%%`qEW1I&1Si@}PV~T4t%U?`g6yJ0QSi7o~t0a77dn z4CzhtL?HoDCu=5WJ^rK*8Br)aUSb$l6L6!jxzU4!<8b=%S*$e*WzAl8J63#72IZ{p z-CJyw){$k5+l~)HV(05J{qc1u_R3tmM;slXX!PpgP|5e24lZ!XIS;fsugH%GreqKj z-rSomg8u9H2dUm73e}g>9wQGUg4tcYfoqBG*<6vRfS+p>y-OyeC^?_y?tR$P`wBQW z{{EwjnU#yDfPzH_kNKIw4Wc49FB*ejMaAx2!*eFW)2R(dwo#1Ee%at-Jv0#BuZ`aI zJreJf_DJO_K`Lc}WEe}mM_aC_+Kr*Cs2mHKrg}ZhM}3mUfda;S!k)PozTRGGqOltm z7WJ!AQmJ5qLnywWfEulr0+=-bg=b%Z-XAMv9-la7P96W|A`)kMrG;JM3EegM#x{ys z3$fWbmNcsaZLU_gY=M$3Us={_Ih4G^Rf;5>bwcc3F=%W20YggVOdKgsUDin^!qZnU z+>zVilB9?T!_T6vy0dy(FD|TuRNB1Vl3}H#wKvWrk(&tsPp1lT%!bGh4)ovb#tf*u zH!g(mT!lQH9+{EGZJjk(c&B4<_JbT`5!d>fYsXKe@cuG@X+0+`_u}gu!a1MK`m~MT zlb#W+dk?2;O5cZ{=SZj8x=?Px90UcbT%=&_Tw7OZm-)>$RAj5ZbWAI|%LnA_nxT!M zET#ibjq`>&eSH`^!Cd0umC0wORm8cIT)#oMeg!pCcOMnjiue%3}LH`8; zhXcIQ)9W6)1dm6x0qsE*9U&KO7ndh>OTjN%cJp&nK%RT#GEbB_gzc15etGHM3o`@r zk8Ou`I`Vk(BG3B5XSL2Va5W$49dMeY-+^*=I!EF}eymrOI^4v#2z z3v8H&rokS*dal>D(A@`fY|B6eV(5= z^x*wDQU9p2C~YC1)x14ySvisURnkCs5VWEj%iXt1NB7*jN@DYomD+SHMoovK5EG-B z`UFnJp`5!U;Kyq+jr0SEF8J&4n%=UrD;jSRE!$L8`Xt5;n<) zRG98`Dq$P9jXd=@#{PbFES;g++EnuW8lMhe`DJt*dQySnb+NjgN@67C%79msN9cR z{iAsZEgzh9NVQQX7DWX?BNL=61C_>Jo=FE7CW~KaF}uTJaX?;$&puwb6Dp@+%UkrC z)dxDFdgHD6$2e@b&h6zqGp~dqsl~?c#*o(B7R*D3F;lql$`M4 zd*$sa$mO$!MWdQe#!jE;5G_VMAGQfg&v4rub2k28exNxx=&OXO|M{=$Hg+>A!4F|J(aBtLR?dxF~4j52MA@0FrOKRo@-BX963}6ComO2r}k6A{uM^Q@EzQr^a&K zIRRwJl0#Z~J>{I2vwr=LDjOSz%sSw;K1`s_t)^do=5#W3Nqi^tnB|;A_fE{mtMKc4 zCQ{B*`v8DG%hi*BR03 zGsrPziGAKXD#GswiI;*a0;}799F{bp311luBV^&qf4$vdfW_Zfc&*$bznhBM(@=|8 zpSF}!&T3tD{tU$=4cqwP&9QRASdxA+1W@k1f$$_>NI-H0EAb zdX}`Wc!Vg14`^Th_yKR&wX(PS-Sz!>?bZS*tkMPHLQPzY?zPIImp=Tz7y|}@{l+eO z$(hlfg|MD`dYJH=@bGL>^ug-*uh~drdF^bwnUh!G_R$$X8et0LN|C;6J>6@V7qoe2 zJKfh~rrPOiPteyJm7u!k5Y!^qp+&MI04V!LAe2}^ar>m&pkiv@x1>UOf=p#txFQonSW7rs&0ewR{) zE_oUhPOSCRL`N06TV0yafAqv%NPm^Fyw#3pkWNu1Cr4!7&9u|Du-l?`@SDO;g}u%N z$Zx#4f8|b@>9*B(7l&y`Nxz$F4q0B77^(aEU#tu1cq5ZY&pobk4%`>}xypn{36>=W zXyyijE)DkTJY_aR~uo!#%k`|74^;eK%7-s(G_6QR0>npN}ilryeQbr9{; zW4Ba+baI-*{?Mz-wPA;fSI2j1*a06mnxooKC(UEih@4*| z%OA~0awFtyErtRz5X5+LN15LQgclOf0Q;`qu-6KUgU)lr0d)6!*Vd9J$(+gmZHD|O z?#%8(7Ub>v?3cXzJaG_jG)J~`4V!jxav_4x5~)(2C6HeyNHRDZ9YLiPTouE{RW9yW z54uds;c%t&zZa=%Q+9XM`7nRtm>U5qdQrv~wGAlo`acbFZ8TMUWm6KUhC53{<9AcH z##Ke!=3C>lzeH+*GJcERWvABogf+1<@-Tp`_!g%3uf2_GHC+E!HR#h3Tjn)SF^^bnSs-yK%SZPKE^;AyCCc+=%O#f1 zkN-X)bpIk1wKCsq3_fEvJhw?sl3a=<_DA@wp-(f*<)-B|I?VuEEm>(DFRjoaH}VHA zYdv1F1Llzy)!Su98`^M>U0~b8G|TIKx8i6lma`p#vw-FX^bdwdhgU3?+nCKw`ZPV) zrZ`9pVB4k&ROp(EZ;jWlv0ZEmc5;CN|I8}48}4tO+p`GK7u4W2kI^4_A+y)}tVX(4 zEGy4Bp$Z)2o8lQEa2^?mtq@&yX_SA0TfSyi-dtOj>e1TQ#}58U)u{pU>wc=xG1M}q zpKon+0WSLUYg{=GPy-M6@L+$(gC_{zX~-Gl3F8<^g1w=pT z-LWA@GY?q8I;KJ)mH)8%2=jGbWgJ$p@Ze-SEY1 z$f~Tiw|uIM5c|6;hP&isbwT-Hi8mVYu2+l!J3wiE2{OtRf@S7}&=Y}`{By%+z6CT_ zN(R)edt82f>9OXuf#J&6n^(7`ZiLg%G{F=f%GaG5Swd2$^3w<0zvwKxkK*S4LVtB{ zx@pzhXKwjnBNB}8-t#P4&s2_+#O?F%Stx3CyZQ#W-D^<@X?DFOLh8Y4`s0%B+u27RA&$KW>^jg`!2L%6|Ne+M z0VW@YDfTOsp>ck=X0$Cb3;bY<&y7{SHvg#yOZ&1^3m)SnR&|*qhXhRDh>8fH=o&7X zCWn;qz#tQLip*t%O$pqyfb?O3Ln-|l+Cr$!Qa{sN#3CX{0>(}f;f^A`D^sWDZ-13f zdW8Zbw-~=~Ma&AE=vh$X@Dij}Pj&1Xp<>XGa?G_-V5xIjsu`D{U6h5k1#!{6>(%0nf@6)x)UJ zgr@D>oXiOu$jFV5-goF*4Pbvz>Ho0CaGQ4Dx!mqkhl|-HE~Iw&71Jopx|A852G2Lm zZ+}&t2!km1G!CvJsTCd+%Bk0;l3Qx};i5IxEDBxj6IzBzKTKS~v18Au z#eB_enO{6vE6S3g+TUnQpk#GAV(jJa-VgmEGYjd5p_`cno+*-16;J}9#xzC=IkQ5{pyiRk;K)jnZdoq z+%oWopD5%BC$%Hb5Q~qxZUap5_vGvmqIQo=kZ4!P|k=HJoMVtf1 zgbegoIp3Yez^XW>E`j>~lml{S&7KeT7kCP->I>n7dHyYp|g^^rkWF5``n1LzAkZhcAcR$Wd(*%a~Swbw2S!9QnCj$68>R8z4pj+9vHN5 ztkoZ6qHOT9gPdB0pE8*M2SGV!9_21SvGk~j2kx{nQEez&FWmt#%|I_da;On;_~e16 zPeI`XXfzPl`blbJ{=k{DXU=j>)j+7YXW@_|pK2_v&-FcO>aMCfWe)WK+qy7C(B3<1&xCU#BSzZW%kH4t zM`D!&wIa9*b{Td4SXn79VtaMDCSg!LPs2+O9_Ys+1y!n8RT)1+~4O#!1*KU zCMQ|DZ|6{J63!iJv*?G0$Ld_Uj4GJ&He(cWWo>0F_A{s4-_1xQC1lB2u+ZFf688cV zN`K#!zsU~VY_m}{$2PS*R}p*i_cw%-n?@^X3fjs?Y>MYC3Yk$n^Bm zNo<@1-UX+1(b`C(h4(j%kYD4yo|6-;AO$9>0MK_^D1QGt2n6kc7+yZKp~6YZRX+e1 zi)3}KG1i%Y?J;8qkq*~egE)_iZJnJ<-hC67R~26L#NU*VB1MecBsjg@GfIH$-qiPy zpQl%?oZ*ar>y}pVcEzQf)MuxMLlV~dLO!4*8Gr&~)H8BN_4BVMPq}q>e?Xm=64_T5 zN&eq=&M`F7R9I1SY*qOtF&6H7vP_Kq2tobdDvh7}xLq%KrW>_?@6zwR0YrQuf98|+ zNl~dU$uisK3=g^HeaX^s5jN1J>CAb+wJPn6sOMF3J)=zz%3~fPP;ZzB*hFxuqRql7>TT(AoGNw8I$4*VF5v7R@k?FSkz zQ*AjcMsd{un8%>8k?d#LRWBh%_2QGy;O#Z3qW5;@e>b=_4xf8vHF2nxoU2v}luhTJ zU1@n~>LRwAddK{|7)H9OdgX#07ILmnc6fPNT-DPh`n0AUn&)Tl1Tyr7OOdcm{nyYv1Cr7mgU;;px-Wi#QvJ`n^C$sL}PVmtnMJ{#dxx| z`epKO90B3d;fw|i$rrJDrwbUnWwR;Y4AA$aRwaL`n8U&*6iwu)AyLj_Yi6^@(M#6t zUES4dLE%S6OE@vCayxoI9Ii=U$Dtog6`&tOS&~iK`pdWPD)rG(%~$yv61`mISDWy3 zW$W|f$5s68oNRtZ;zt$(TFgoWKJ!@Ej18B4my7865xKsBFsJ(ce#JwG3viipUtJK}8Ub)DYbC&90UcZ)1pbCVW~ zQ~8teW%_~jT*rNT!B@=(GI?;Y%UOTHF)5q`=trYGg>TD;Nj53)G%k&Upj#c_37#Zp zK<#k z@xw_k&+TIsv9EE_A+{Kek(CH*{l7wmOjCjW5c#`@4+m-N6<_zeJP`|*RYQl|ZYtoZ zYxp)YVLn5~IPdnUEZCSW=vro^RFU4|%lIcUn6Hp^|L+2bd8+1FPWTWjI~aSGj)N{7 zz-MGa;LeuEitZFLmUA^)fCjrxMv18`?;c~H)9f*P>tU^TdRYlu^|D7}e9_InBuC3`)t|$PhWp9?Q zkBsG|$Ws<2IWo8I7^6Ltuf-J;7Vw|JQSrM&siL4)ue*!wQw5&5rln6*WV&`e_bkdD z{YO)aNZu^~>uolfGhGJZOmTuKWQ3t=(JCV^Vz%lLs1syWHM+nTaSQyalBXC zdJ^jjS~*5R!gK6&2W9i3h#MgpZ2*axNP4Nu)z+fdE%7G|VCBOY+mqy1dq!8Mep zdp`UUZn@$E1HzB@twf`AENM#`{AU07k8jySbbjJV&_0KR^V8e_&3%432yrx(dh9 ztNq0jdL2YpZtflDs*9Emf+sxJ-rBmNGD?Y4QaO~|;r@54%~ZxOf~xVOdm?4g$lMe; zbH*C8G4Y19rkUr6lr`mTd$W8$z|~K0%=m&`;k^%y(gPq!|Lxpyz^7d&h;T&Vqc`3x zS^v8oO^W#4@Lafm?dCZEciL%GJI=1$%s20n^`;MLYD)3fI%Diwpl5Zo5#s(s8*8|W z&{hOo;fAoB&&o2ry1ZdrptVEo>02p*GJS;g{*miiHS8r9{$<*7*$kGG+~IStuwzXN zxO_jLKnH-d4u^HhcTi?!+K|Rl8#$&WdV($H4av|ovz|6)f9XJU+%^3U`RIYwS;?Xx zErmbJM-wn@)|2n`DG0}FMa$-CHrqWVqzCbcHZ&CZrp7#^*yV|?lajj(tou`^!88a_ z1bcXSe&}%387*7;Vm|(aUf8zCz#ZZy$oJy3UGKSMd5=g=pP1X;7(5Fav%R=_U4S}c zlZO@YsmHXaaV|7PgHhw+QT@vY;1jXx?0Q|#2TyhG0)^^`b!$OKtggqlRiAW2gGVnz z2S$A@b(yEGNfp%58A0*KZl25_9Xl&MIn(2M>#P&ayH1C{bL+-X?xnz!jMJHVEZH!{ zhmR+3cmKVru(01hn~ybqS>&Xv_MQ1JQ$U__Q3S$moG8c#g|;VxWqVW>LW@5=jYXJE zj%w+J^Io}fbc4B(QfnlGS>sR8Y0TfFmyJ$W-Z)ZoeITE*QF&xIM?3p~AMA`PsXO*v zoZp#Qc0o;^a?q<}Mwv+OhN%9sGhFHtuvOd2Hjv(l@O%MhT0|V(OgSox-eXf5Ub;DJ zrVW-|8XR+etM;Jx&-{G*eV9ggaE&F;TQ$y#DZU3Dz<|nO%u{*E zuXG$P>F7)^F{j0eKX}8b)2(^r1F+13(=^ZWlD6p_Kd-d>*p)o07t{M*wyFP;V%2h| z26q)t4w&1>H7jXnys*J7+(#UzPd@bK4pz1QsN?XZ6NViwf>?lJT3W|0CF?6wXmwQN z$y`cGo#J|`t+C`z{=K%5H`ft`6Pc6?qS@u2kI0rjgPaDGR7gx+yeX$!x~(L|q%1?q^swIxcB56r*_` zI&5cw=8+ZXN7}U{pZ}4riEUG3gfeLrgV!96tVnmBK^g-&?-4L(^GJd{64AZnjU|mjS#y!duDsB*u@rJq=aRfaOh;231qv zAjUGo#5;!b0DIWK8LiO4R;r;}e z(fKGD*>c{_eDyq&@79VHJ!Gd?wNb$C&#UChL7!@eEW7(@Y$5kC>OZi;nW5xej4N3J zuv;@*2sqpKX7b=|Rg#tjN_~AuIebNDa0;#z2Ezw%Sf^IU!@OR1FDZ2O;+hW$6pN8% z0_rHm*U)DU1^}4J?aRnQ4SvP?8R`9m&;(Ok4Q)vngAdU2w-)*o{I?@&OsW#b%O+zD zL5#NSXD`Z%wAWKh?I%n%FKFfz2}c8G(IE^_9D_n+nS~kBi=A$$(}Zp}l94H6vVj17^4Wpl)6x zIV#;B*vMfS!D#ug%t_zf;eP=^nQmmq{={dQ;7;Ua3qRsYfQb8Bl{<&_0RT(!<@ay#p6>OE;Hn8}kbXUkDM`4#>WPG{?D@)<{7jD%dRIwf>>KH%d zg>xSedZH8gtLSE+fuXoUX*(28pv!L`e3LLb5gAG5G8bPnd0sA`f4FIparOrZ`B(l# zH7zZKX~{vN{=8lULwXLEQ%rpNfJ)czNYR61H-#NI0h9H;Lcv_Ls` zW+tSZ%&&aqRoZ<_JXiJcM(&mE)xtYnkcJZVh?D$@qrM$nvD>>LfY4Wi?d^`>pCz>) zBWAhxlz58jsY6e}a<3Kw3kfNVfoxdn)91Yt)MEbeMJ0JY`9zu;`V4s3x4>F{be^pR z33X!2D6POvPjrTUIz=8YJ9r)_SoLHH3;hJypO}~J$tLeR<*m+81LHjhk&ipnQTiEw zwl0>9imF%-MEio`MJ5I}!&+T%^+u$3+xmiOxD(?X+WpT&P<*L^{FfmIaAftH%RUh| zlwGjj(7uk9O0nn`LLE8w-2csk9vxM;B-N#X<=GEAeha)!V589N#|47a&ReK;YE9V&)+Iy)#{vm*M4E3h%I+`aIh-i zx6@p7qxFJ$8jL-|J;0(4f4fxTDEB}A@6lO;#CM4_`;ESy(S~QD@%$PWHUQBvIwp&` zaIa@q6hV14GJ(R55P==4x>{t=dR9G;MQOb>w6R*pXd z_`uk7aVGJZ81>uDqLYzi+mXwu<8)4oj8*1R>T?bx-pe^=E#9}>D$zR|&fe5l3uXXj zo7@&5%|Q!CZ^29a46L5XzDGbj+phxeKQero1!wh${b%6*Cu-hP;-<7~OJZjy9nb11 zU~-8)Qvy<>cng+)m5Tuzn^G zph{dOeGFV5PZdL?!=bfl3XSPj#%o{ghkji2(#p>o>Y=JyTz$g=0^b8w178d4dJoM- z`R0fvPxPyvT8ySi=1Aj35oGQ8@&5KxSOL9|V6n*b)3=8Gw(jJC%xjO2C?6r};ziX6 ziHJ8+fUwZWA8iu%LT;Xh{XV>-kwQcd8KKS(?XPCG}M$`#Qx>>n93|&Yt(lV48LVJt)#n_x%jWHa|p!sQTr<&k>I(i*I_5FVe(%NfYV{72u zk&%jw4fHpo@q%Sb9p_Y^;JNCgvq+R-s9Xqn8dUcc8HQDjRw_evt(giP6N^&6FZFFk zop@kr{-^R@AMK`d`A!b5dg(D0x_QNSUt;B$=$ceyjP3<<5z_fRQsKvNhclq3{~=lb zHptVP`d{XSL-YxI+G}pw?-xW(oAeCxY4ZGw+`rnW>vHNF*1Zj9<^r|2P|FI^`j_bi}l zJ)=AagcT=rm9Qe7$K^pxM^m zMd#mMgjMFaIja`Ht@o+nA8=|)&jw4U?_?@rkq1w=mpU&h$}(%~NuMhZD9Zmc)KkOS z%;u$_Vy}dRyWrbru|SQA+8JD%`H@*8Kf|O7&f(oo9{x-hfmK8{GWn=XR(|om;#ub( zi-V?w3Pw?TB*pGAB(?!@`1bnXI+g#!cF~Q`6#XGc53|gLjqr^ON^4{6L3_;?m7X@6 znqThF-mTa3UoHdNjLU-|pUp`KY6aywEf+2;ryen_G}!sIkz9v-EOww|c4xt>{9md-LZgUJ#gvB4 z=E)`Zl&Xs3Hn^BxXn_k*er1x+h288Jd`Y$F{w(y!_7LBtmm;Jb!-1&UxY2X+X#{`9 zkX~f-)L**rnz#QPwT_2QyRJCGqLd-VUrVB2OXEKqv8ftCJOcBR@zB8ZpY9aBRnv6F zW>21Lgv7t`{GY4NapJF?_ginM$`2O+dcZ`j|Fxw0sw z{hh%)iPW5YqD`(2CfG&(Lk|9YIX>27%TT&Zb=p}YOus)B-blPX-V_K2X^3#B;i zw2VN2>J#=z<>a>1QXSgRzj*d}zO{c*UXIS1XOXInns8Cx!$H>aRF} zwFJub5uSPAW@~HhOvk>&&CNJ{>uRSwAhYEdeyKoG#)3%EPfeh5oUxMeJ}LA`(x*H- zvT-xzD=F8UZWH9Gl=;@fu#r~L-JJT=__t9SeUZI5K9k@o_fg_$YNB{lE*4ApabZX$ z>=I%)dNA--Zgy{!jZs`1FlHijQNvfINoT#g%(gTMr6J^JTNn3REfQWNlz`or~vHs_l>gz+W7 z#P{qEMaofbh_(N=ZGW`s?w8~5YK+E+1q}b~s7d{+C|M-E9D5hBH0}ku6XoRDIJdu4 z=tiZy!Ng`y#*qqnRiC>U5G!P@F3GM{MyGl8PIA8hFTNx@sc$ro*O>!EnTF%rKidM_ z)Ey>e!bh@Py|!nGQ{7h|kD0-Hh;AMc=7c35Nt>1lm;}G@+w+Tv5OMx%@bA@S6HK7|3suO{8FcqQ06)EQe^Ua6fse*r*yxUR58kY|S{Q5y-~~1B-GsvB zW!xt|A4AFtv?qIMHv~9$;j!(hS;RX38m2EOX^Cypa5*~Z-cqw4LM=!tZ)PE~ficiO z&aKATB6ghzcV2s-Eh{Xk8=YIo`B{QlNCSGcCGV6RPlWbWge$Oei823DhdA#_)Pi3~ zaGzLYwDe71V9_frA@j)j59u7Wt-x@Fb0+*}kVViF7AR_@U@#pRu$;91LelEFpYN2* z*RhUguOHgAlw-Gy0+v?KMB8SK3d>nxXQ}0eX4{P;HRNFa}XWHp&zPcE9 z^nIvHqG<#Z6XbjQWUg4g40zD=E*kkWDqy|!V1KU#)83}XL*U#JU5M-@c(`v`Z)!ipW*qU}_0E9|u1Yd_ zpoF4eVKpR2Wu|_~7OLHkge~S9$&@yCipW`aD8Xsypq0c?`;?QPt&h$Iz8-TL0UEZN zu{cI?OAsCHeYeIS;sbej_H}IjS1i{decKZ`P&zQzF)se&j`i>9lv@>}j&#R)S(4YE zE-1$HKn2=&=K_8HJYRs#FMqR^s+M7S_;r#I`#}>o?%MW`CHl+}5&Za9kjPOYZ;8t= zmU#U2>-(15rK>f`xE-KtLQ>oOmvma|_vAoytAoD#Cbx(_7PooR+sfNLH^(|XhVYXS zs}T85KNpr(pj%}*=^0cSS4=*m_vpXal2*;+AwziEgIQNM^X0XG{jRlqOtVeEt8;_s z8mEwaP<;O|iFax2)01$8%&-xGOUo-mAMg(GDWEpWn@lhCTUJ4Q;wP^My ziT~h4xW#`f*5)@)GjrtrkZnD*N@dWxQPAStew~ZopqCWfmrN`c+cudBzLprbf0-%i zmK!t$%q2|YJm%O2a2rc|Zw7~HPeA5s{OwQN3)Z`Vl|Rle@spDe+})-Qg#G@L8K~vz zyPXbq6;Y5n`u8WDQtliTPrvcg_U&KlsQ}sEy~Q^hd=oSx!0~8Syr{p+nbQDB1VO8-PBi|Kn(jy3`}GMfDp(`=Gww zT<2e%4y7l*CsJdw$6`hygtoR;?5W9O=M?2o@sU1S+!0c4!}_GwUL+wMrI%6(v2qxJ z*IeGoY<@*QzjC@L_?O{}SNLq);s#>$DkN;ZW8Nh=rVZaRib4pE-Ym|Lz;ir~yNcP2CQQzMv{-)v`lb2vHoRXQKazBuQqI}(^9rV!M64`z zlW!rn!|5^)2QJ`QIufV!L#kGlRvJ_zOIeLf!*xjFDhu6C?htQjQ|_m8G5>{~V7gnP zsr{_CnWSR=Ztbdn*2sKm-tKT+vFsWuV|u$ss464s5Tp0sZ>j4=2nY^q57<&0BAydP zMjDopZm^l}`MnV=nr9|WG>MxKc;|Eqr-fe)BS=F#AuF3l@1oLTDBZ95)rrENj7ZHJlH}n7h;NfFPI_3d!(`Nn+aU- z-Lt#ME{Up*XS+L_R%g*sU#Y!-uz64Z>zo=W$|^V_a$Vvwr8_HvwpUmP2-4G?6KCBYc9q~dnmO!;O#+f%=M0Yj-WvEaNU*+Z zZnTngmc{v?z|CN!p;op6RW~?`cMz41qOIq{;A^jYtPi$`t&x@Y=8m`>$>bk|brE%TQxPhfc`&Yz^J?4wY7+>EtR9wpuDRyhA zRg8t)V^zdPirs8Ccn$n{d6@B02)oa>QTw4;i?8dt5l_>(ZS~)gZdc=AW8khCEjN-o zPb+yUTy1l}#CW5x?!J&lj@)!q|2xa={`8pv|D!+9D1T594k(h8E6lZoE4}e~#WH=s zLN5A2rZqSnnk5F^kGb7Dax_vC9W5BbqCie-@BVbl1N-N**kNEdWUI)s-qWD!Athoc zS*daCQpisD3>xtk=j=h9D-?ZYTyCxhGmgQx8U6iZ%H6%ZA?j_nvNIR;w&CobrC~qi z@oGg!nPX!y<Bd#4eqd&1pwVn)aFoT;cdyW-8=C<^~$ zr9d7l79{}$;`5?r5%u(b#aZ@*YMmjgaBs&Li(Bw}r$6>c@2>yRQ9~m)*Q|e1>&Qa} zLGrq8{iA(v?p3f$Qdb0t$6UngV!jzdcrF(gPk3C%t@>rz6u_KW&n^Cys5v^_2@ylN ze#zx~Gx6B$Boz89v_f6Y+B8pCbF=Habz8v~tl3Wihd&dNGj%Se)5QYRZfG@M)b@%- z=FL)HK)OT##N4&_E@eJ{DfkYmXEn{U$2xCAlOU!7g@%=fh%+m-AHtck?)^0|y0?}D z=+YwT0|X$qo}+bx@=rk_$jcU%Vd-$aLePx?W+x9O89_^&Mvh$IvN!T6X!ciF+LfTR zKQ^2*n7Y(;kutp(HuqtDD2}`qkS9_&$?C1muM@M z4pUW@Xb)rmLxXs0llcJMoQ?A1%V#?cXA2Fb?S=*3_8eMPOw{^-;3XHg0eo*clvF8zrY zLOSzVSpN|#Xr{(l{?_ZAQgQ*&m$k zZi^q{%%}990v_;e-c2b4!r(T{cUD?c-LKOz!e@EJj@t{FylS+?d+5QJM2C@-m+T99 zxb>yN+;Mo7`qz9*Jk+w{k%Tu0dLd6FmMH8p;~ji(!TJGJ!NN`$%ZaE?p73n6G`LlE zW3ove1snJ>uM?!wRq+RkxMOSJXnkYPY!U(hSpvw5ZN}-t765!osA-R7gph#s&KK{^ z!mR5u`F(LhS0pZ(IHIJY_*q@u&oCR4hJ9S5SyR?m&+7IU^D*Jgi~Kq(~gvDMhlD zsV_7`f577d%`Ekt4Rg|zn#IDauk;8>Pl^M#lGT=V>ClTGnCQX$jPsj*YK`i6<71mZ zi=>zR9Cr11P?w=dPP}Ng$$KJ0t^I`PvZkc5uT#CG#KgbRURX`7=UnPM-hV9{PYEG{Zcm#JI=` z+MY&rcHo9)T)jlz=FE*`FLZw)RbryQ*;kS1AB+}J zP;M#D#U%KDj#B0*zZPF&$JZko8nXrlU+*hu3g6qPtGRai_y_sR|6G~xl=MD&U~R3l z46DorYEP%zvws%1y4Fd3wfAWF6(~@EISvU6MKz@JR-9ErU;kExOxh4r0Cl=H%Sj^6 zZu-siCZ#~5LQlrKuR>sdwybi_qU4&-SwG95eEQ5s3Lii#)NU@+4U!F9{_BxJT(8J!?q3I9o2DyR)>a z1@H8p>oN;iN%9O#QQJ>?c9NWyvi1d`bgzI(+c<0^zb4J{UOT9hb-?=k7T4(ji@(G{ z5o-OZwa}=*X4%7hbao>wHkDK-WleH?&g0U9fdlh7GR^@PGZ;vxk6+#fahB#M7cSmHRk1TWyVJDSJE6&TuypQ^1b zg70J;3p>8Fs+B1{f=K=1da!O zywUu)F1OjJxT3iPwiaja!Ag4@4Iy6kuWBqob*HP}@oqaI2bL|ydKtxpqx`##sHl-~ zi`(*EvtjsbsNA32aHF!sc)&yl)N>2yz2hQM&0(IrFx6Gdc!#a|$V!h7=zaP$=AMm! z1DedMtIllD#o_*YvYBi`KgRDf{BLq^V^LbU&JQ-?VAc-=i3@h3=NN7e~@tWL(O`Nvt)|Y z^U0RZ`j>k;?>1(4e<;!lU{Ed|WP`EXS0%16E)ebpr**V z1~rtGH-FX3?>|4}T>fj#IQ6oBG=aK@g%vn2Yp*ZMU;JyVxj}v!MAz-Y0a3BC{pYW~ zC&Ms1h`&<%e(i<_UH8~m)y=^jw~}NRW2&cm^ax;l1NP>zpX~U=G#{kGC01JO^hKI!!o5!UxS}K^nYRwdK)S66);0c)d_`2fKjngXGrIj| z#o&S}n9Nl=z`L7WG9l11pt(ohqQ1P|v9`JNdPwhiYjrM~Wh8tiC0w`Q#QS_WO1|Uy-s&jj_c+5tYFqtTDvt1yAX*JId*1w&1e1MUHB6d zWMvccFxWMkCY?%6p&52ga3Zxyki)~|AB{yC{iSZ6A1d;k9{N}=0zFtk2&j{4S-913 z93f`OgEMh6XAid@9}8fs*q%_YI1Fq!ivbBCN~;j>%tJ9d_qnEIm}>Nd&;F&zEibL1 z@*=v`QRP;`*cS=T8f1}n?RYvt239rGPAVd?gpU;Q^Q1!PAiMaJ93?p`W_AZW4ZW9q zFm0WzKrv`QE=T9u`8KHKD`2S;wE9_x7U#nZe`PQO=)d)&J- z;27nI#nH_}{!u>;2B&a@fw7}op40m$rQ2V;F9I*Oyc;mx>h;}f$w+b~wI~)@%KTHn z{_cmAHd&u|&y@+rhEi3bJlbDt_xQaBZEDxPpe7r*e+su zWKG9-dVG`FWN56emBWu~-~Ssph&}{gbzEs67|mm4-&R3VUj@`!Gkb}J4kHYui}jbJ z`&qXyJ_(;F_~FCa9$AU0jqd~-jUF4;zBz1r^;<6*cEKiin&K93T~>nWk7 z(>YXyI`up9l_hz=p=ZKbaxzD(HyF$J^AA-HmRV2K%%E$2aJ`v20+HEMDVdAdH>Z46MnjVFmUE4g>6{=GI)s#IV3OhYQ`B*rN?*h7;r% zfLh;}sx;>kj;3ta^ov$_Hp6Sb%JKJiguuOC(;(huxY@4Lq9Yac@&6vLy#2?=jzoKL z-Dwu{R5XZm)&JhF#H-ra+XDlre=7mcWIlLz@rwD-FH~oNh*gGKh4lg60@$cvB_A`F z585*Pjqlj|`#$Sjj(Wl8vw{J8qWb^co}XELH>FPe%x=p3j%iNiQ5w#gUA$?0L(Ifl zOvwMcPwZF&IY`G={~e&h?OeN(gnePz(M&9Cnznj!)`NX$3;HPJyr5n`CyHrqRHu51 zV8Sq_ivceg7Yx2EnBk}LcD(^Ppsi28(H z?E7Na(gRVy_MTf^Apx-aw0|1X;?|!l(ja$xSQ4lg5wGWOygOB|qaxoY=7)G$%!RIr zO1%}mGlFKLVeQ>0YDg3~wLB<5!-8O_@K^V&KuUG&dYHW$Vy&{av+Z;rWA9%Ap??{D zROc5l&;+H6%P{TXCu)aQfiF~3;dk6>dew8llTC*J;1`Fh{&^24l(El~@;xPAnow*S zcuPu*fK}Ff;FK|_hD*oHc)lEMO)9DL3>2|Bvv|Rdp}#y~?QV2WZfibUJ*kCLls*$?kHY*H>#NJcku87vHqRC zQ0+r8ov%s?*b}RPEDK>#Wyuof{fpnkQyQpOA@uQkG2$lz!hxDy8=z=wZCk3Ao2+L3Itc3r}Htt#&R})^Sr4 z6`dBj)sEjBkt%L*TND@R9ec>+1AdulZ1Qu+?b5hjh}plu^BpGt=Rzg$w3`((;} zVX56D8@KDWJlBKh*G7&vEyh0?ui70x<8k)g~yqfDFqLS12 zTE5s?pDS6TUWv3E>wfRMQ~bli{kn$_xuI}Sdoan46?e2F1<8lW$D_vo&7HkxzSE|| zGf$nz1-6`|Am0GG=-K%8x$*N+wd4+eglFPPHm8rQXUYOERSXe7R5tIeO-l5(q&7MK z#NvGi(nA}(ti!5ud0D^3p?{yh{NAabUi=XkSt|H z*RA+2(>LoMWR__uf`5)JY=1r#aL}2G2r~^*0}e}WIFd6V8Q?8)A1h*bxz04)S&y1-=SUwW^`DrUl=zp+Ud;kIt7|R zSDH5}HoTVZ+j}FQ=KvVb&(EM9s~zH}+c;m?sUg@2kRA;3_2) z`x#q)Ww(=pj~R`*db}&3`zH6_ZP5G^%yu$2fBbm4_BP7Ag(t6wmqw((8y*BPzjw*s z7&i}gT{A!FpSLfrury`};+lj=rnEtFlXNlR0cs>42CHM`vq=9*19QrYD9Qfz;NW0U zRreMt{>G1yzwEqhEA=Pga{3c#Z_x5YCwquGX}2`nW=Cz_&E!Dz?snVK4pB|HQ|_c~ zXK}OEg-Nyis}UTfpRvuL+>L<>N%w?tcB|=o!&1p;P03<~i=Li+9dTI-D1WDWFVn#U5RadMTvk+?LhWIM zz=2}!8jISRT6EZ?AU#<_fb1?}E0wp0+x_*Gb!TC>vqxV#ZV0^9Xd!i%pDFbW=6liv z`49x_*1Cp4_SH+VdOu05s79}nnm><8k|{NioUUv8SgFrePqr-IpPhhwHXie@@Obc& zl`NY%rRLExLfrNDJDN0RMPZ)y#Q4koe&1CKbPW&jHc_NI4|S|@2Q#kPVfuOz82J?f z$!kZch`b4%_mtm4!|?!du;^g=*niY<-{(BUV2g-&VBIOB8=OP6V9Kqtj=04aYM*EE zC78XP!6dQPe$yFS;GynQ@W{w1Jlbo|nT-+KhS`_yt^VDaCKsQ^me`lKjY;?1`jncoB%n?L^9k+_L& ztU;~P#TS9d1@1-y_inEHwk%uf|NG!a18_&y!F&WaMdCu`!Go>_13)mG z`Jh}_zI`Y;rC2`a{Oe~96NvBlap*U>t)7nlz@Psne!Uz-E{My_p+jbWQytR1TuEe{ z&x!1f+anXr*E7gFv~bUR=fY*Dd}h>wKM z@|RN9tzhPV7%R0KHL*z;(wvA+{4m{R@lkSf#_3YSDp`` za}jv!W>o%ykB#yjM#>8emvF6CXf12DL=_@=idk_2^WGJvbM@f1GohKYbPbz^J0r@q zro*Ym_$B&L(kV97%lz@e!t9+IoZEUPbRe(Y9nZtD&d7YsD27ZvyDN9j{&|XHF}wa? zuv${)Qx5C9M5M=zG6KhZ-)TFB8BtDFFhtb*qF98z#qG%VXQzv}$xo;1#_16~c#BHT z>v_2-pZ@AcRnd&Eb;y~M^<*BevUvvYE4mxC9&v-V_PbK1$bWB@JuaZf%4b};=@hWb z%)#YdIjKl-ABd1$t!ueS86C+Na0KuN$jTxq_S!_TXpj^P0(_9e(xFRtCTVF9M zW=pI;Y5UiQTHy6}S2d3qe;SV6-%M-&=7EJizMw!l6Go%r?t&e49KPvXkEn^uZ()p| z`!-F;+&&!5cx@wBu~Y4Ke@>-~=j`H1UgGj1I?9bL}h%ySH3zm+B zfQi&5LqveDxb(f@DusqqpDllhF!EZr_}11E`1f2i&B<+uiUb1@oP9^us2K}Y zg+Utbx8bI5_K#k{f@(&&NQh^@f%qfpGc(WD9RoXpGR+Fp00eWNzH#7{g}MH1&&8FL z+{ILo8-5`fem&i*-@8NY1hWq=jndje1QO`omIp@lJ~!17-ErsijP(Pwrp!^y-B(@6 zJE7v5oc_)BY3N0+uUn(_XE+^DYN>i{G(W+>K1iZDpcv9#2tR$^JZa7O8^|DFqfW(e zZ4+5}GI}3R07@b~;6qqd=JnfMWMw1G`?_e;c~sDYuP;v_>6_;8OGWF$)LY^Hj8Cgx z+D#WJ?cq<*vC@6*optBy4nmH|C*-Y1zzcl38$xCr)gtq_QbB~0Net^zrhoEtNU$9& z*h&`2cOT`WCi&+ikHh;uD~@T(m8NuRJ@n?C&k|VM-8sUm z;c5ELXRn54O0~-R)j%>uHhhk8TQ_upY6iX6*q|shx~E^H!f$Auqs+f%`zn=jIY~IL zkTq>^$(0_m(ZPjl^gBv5a)jwU>iKjwYG;t&a)34}1$&$fyT0i7NJSelgt4ATv0@S9 zOd#W)*CI{^Ci1Ji#a2$niD-OL(D;U)f4@?W=(>gI*@n7Z`u9phdL)|Glf6!4to76= zTFEbXlZvD%-_@H-LVmCwwUa)gp$(b1)GsouwBobv<9nHA`i+2=i=j;891Vjz{o~X$ zK-VZiveMa_GM{WwA9Eo$=;Km}-ocj4h}iBzYtmLbrg-roaw&Jm3nMtR*KNQk&*hN2 z8L;zytax@K-)+cZwAwW4<0nxdUFGW@$p^YF0OBZGX**4pRL?|glk*QOqYpdO$L>e@ zVJ?9^BEp$Lc7B{aPRG`EX-FLvgp3lqo6butUs{F;B>y0`Vglw(3v2@V=A|z$B zuEA+21bDYm;RP>=+@^sOD*1W0w;M25A(2Y| z4S8;Bt1XqxfKh3dCQHY7Y>%&XqLp4*a4LTg=&Ae_z_ zjP8Ny?`i)|Lu%E=1RwiTUNx>Aeyk@U>nLA5!n zmwia|FxY+69d3Sw>pkReY7&2gi%ZB!+$|3kwF|F9@7)5j-7Zvrtem@3o5lxAs&?di ze1YrAHKFmg`vpJK9pqivFXdWP!o(gr!DoJm5j!htLA)-_>SqaF{BCMnLt=hE&Sre# zvu!XP@aDSdV!dB8f!s+9iP4Vn!G7@vfzj=1=_qJ!jfcBMn$@{$@CK)EIN*a(_m^@B z^CeCiAVV%vwEeJvJy}(vUgK43cEcj({3(wH#b$#g(w2XnN1N&FV$)Yj67Mz5wE-t( z+qwoV5E#mX-+ukM#*AkmSFtX$bADVc3ikLU{KGfF)`Ymv0jCbewHq2&2KBB3vRZ5$1kqih7!`jTxE^i@OQN_|!9QjQsC^*ssx{?XOOZw544?ApQXmwD}~ z*Iui4wCN_;Htp5EU_12Xlx>Cdt@dB&RUuhMa1S@A9HHk7FA6M~E0pIpFD4u1MEos! z$h-@8zzayWOC!uFWX}w5&XkDg9lO{i$8BM0_oxsr#+G=2V2eq4pa1|PI&#WQG%x~l zdohsmHDLX!e22QPN0e~){6P&@jw{NI9+vKPSld|b){A;!c4_5@0g(SY8^Urc??rgoX za9hcnVx?>>&G_iR*8z2wNu^*oCM9UE1d-f>>9viR>V^=84R3#iy*ZwSFLu-+Z)F~g$7iD5SN*dQgl}0f(VkRux->Jk! z8#}C3QifpYkd*8>V8Y(ClgwbOz}EF z{!HUwi$w)~AWD~TXS342g*`0hvy`T3bBpJF@;^c8|2*>a-|#E~RpXGVKbh?-r@p4E zQo+G46GuFzkng3NJ;Wc4R?W>-Gy9)Rh)Mg+Yji5HX42LUXbCL}Rh_BQVne?T`>xx~ zAbX4A7j5-%c2yD-fh2(1T1J6ai!rUx~ zzW133b&e7yht{v9lwdM_%_S~E=vWbi$X{}3Lee|I>xH)NMm5<`hOJI>9>`dvmypcZ zoz^_TZsKtwVB=1PBW5ime`eQlQq6_3<{#{fyBb4%DgPKNm)@^hHSE=+MO=5HY-d?e zf8lllrxs#H*H$;gT-LkqY|eyK1&xf3Z#ByewB5s?&ig&_?r>I*wE*Y_x%1#k(?DgE zp>y)><4aWXwDktZG5yg&x2C1ii}~H=@1Lq#-}BR$E&Visc8b`S`!*5C8{zmCpSb=r zvfN|a@aLeQHc8Qd_qrXF|7Hi1hLMe-9lgUHn>06SqMzF;u|%u-k$AQsHl&S6vF}#D zs-Wloar$YCi$)PJGQ80kKJ#Txv?)}?Wwb5M@SbDK2o*K zDd}}8vu$5q{IInNX~$oREiMaJO6NgqXib0{>A@oC37oUYBxPiR<`m6sx)Gibuz@el zEYyBfrry|lDl_M$s@Y+<8bvc{-=aR@V5!FYKfJaj+Jq4M&iuQJ*Yoh6pEqt>xy@N4 zWXbF}YuF1}V)DHee?29!TutQBL&0{&LAyUYw^+Z};nCNk9U*is-(uCL1vgMTH#n@V z?Tv6EcxfcaUsb_sDeLt94|w|B8%v;5*V-#G4#IGC91CC}*P=SKaSkKG`IY-ab-}SE zq%?f)XJK;^)UGKya3V1`$SJ$cW(RmcD&U=*B@fU?5RX6&$Jnj0mP+6Oiui9Q?Ew0- zohsEb#K{>m33X!>cx_q~P!7p*vZ@K#1H zAu502q@qh%=>gkKa!Z^^6vR&V#ym_oY1+s7YODrhUAbsu@WBm~KC?tRG!u6A-4zy_ z9FqqfipooS=YEke0cY={KZRy@z% zbXS&{FvFrnY4`3pj;S7)FDH$iIvE&&<61D_~vDuu6LXbB=vt z@Ha3C$Jh?!NaYzEg6`Mm#41A83^d;Qg;pn*{Fblynn5~T1w(?k@0b&nji;Ov0gVB# zp!+KJWg-g5m(UEu=O8AjGk`SyUpyDwC4G7Eo3b4uCYaBl0>ZKYHtSQ-7?`#JaJg6J}7_e#N zpyoFhm&Ok87q|_fwgF72Cj_eNY^`de5tX?EqY%gC^5xvN?rLl<3c>x6KKZio6tynq zASrqdz9xGjKwds+`H3?D%2w>}uf{fp&MFiCx@hr`I2%Jy_-eH7V#_`kM3fR|M>m4n zEfj8UNKeX)Gj3Ip^2=w=Jttx|6s3%HKG&Dt;q!doRX4-2pW3~plA`P`S^f;LLzW5k zsGm!YCikNSnJ>~4bH_X7;<{wX{!{j(H>Mc?W5qYVH$mvx2L$FFFqvZQUK6ENCrT<9 z-gS1&)zO5FrH!{p@=E`XphSQVbbk=xbD;@qdqvT}Ece9lm^rrdJ_K9Fsh(f9o${pJ z1e0R_5CKf5E4)CS{UZu`o=u=$Pe-xeAkz;)y)=!;a9c=hc#+_(8E(R0c~jrj+6>U+>Y10Wx?ksBUS)4xsrk{3=ET%=2k(l(+!F*QHY5V3tqZw#I;64R9oP;6M z)$E1kKeLu{9rQ|@)+b4h>Gaw=A3Hz^%eAH!QM7|^IruTE1Q}SRjzw5-m zuTKTFYnl&DRkkskRd-w)g`yY1P78$}3uSCvTSPN9l;S~->k7Ei1g)}mB!2C}T(p&3 zYZpH{D~nCLMLEhBl`OMAgkmXkScQ;u%%n(TeE-7iefGfqI{f_sX7OFCa3?c2U5h63svlXMUhd~MBoujBlEHB zRezLKPnc(+V|$3xi!d;JxdrLS8>rpDc1CJdgGLUi5)mj0%?-*O|0sLVETSRFPCR9! zO7d{%E)pX3s5T7&3j);xj%R}SmyJ<*9nI8RQ;YDLo6i0IZ?@q&ugZ(DLHqKf-=*$> zY0v|UbO-2+F9xc8th-di7suCklt*hvum!5HB>a8u@*V8M5ZM4}L8$HLgTDOi&!oQa z<@EiLnYDfLEW_hx@k}?$<5avtiB>Lm!}3mA!=r7EF~u-k5J26VyPD!BN!&^z0g-&x z5qt~zVj5d+Y2431oMgxJyVy(Xfmu?LkJJKK9m@cXYRPX9k+8UUr_5^xgTcl`*uj_G zE$&b6+*P{>bNMi8rzz|Z3)9NzZ9uW&3Og^~0!xmDz`Bb!q^VDvVFVJ9Eo}Jj4anHU z`*S3eb+m5TI>6~WW34;*ZHSUm0slU4@nBwa+lsW^972>V;UMn#f!U*x3TOEzCo$etK6wBX|=3dh;R9c<&C%`>9ZBzhJ~E;?zN z45=ep99++CYvx9jp+-`i99)k?UvBUGV^dWkB`!&eCk$gLeaz5pzM3Axf!+l4~ZE;%!s%MCqZc(z&CE91&+INs`j;wZupUg1sf4ubjU4>_d6?D?}jI z)sqYn3{;5$k*XT_tY}QOlq}ozX!|YOQH~5mkG!4*1(c*+jok2z3JH$J9M!^l8akoy zKS6bF-=3WLryW&%i2|F7bkWkL>_tMf5|j>hmNtUZmbjN$A^noH#d$_c_pREYD3w0Zj6!(YBu4ZQF~qO1X8YT=P|cl4vZLdvy81G~ zx?`SZuIOmyKeaP^Ujz2)`I3NcE>@FlQ@<$l?Yb8sae7o&Ic2fu8l>o|tI3*xR|G=9 zD@QGH0llDfKf7OKKFf`C^DP)YYNGM!kV8ygpH1V76WWH7N!!;Za z1g{}t?iO8dm*>8*8d5!h^#`+sC+*vgJsXmg!F{A4uTZ>17#9@$t@GNx9w%SCU@5KA z1Ej^-k;}tv^B58OJ1=PSw0UU*uhrDA{Cj`=SH4{y5$dHm;}>S5y=c#$8w0AibAQiT zi432)X*eQ5i%6>DD{|kBbPrIt;uICpKUzYaU_R(Gt+AG{UcUt@5tV=X)@*y;1!(s9 z`>+Te_M9l-$8$K5nky&k`;D3SxEPkK8ZhT%TcU50M>xw+pDQbpn+40}P}^@Wc+~xl z%=+K!{RY{vniRfNXtNW)9y7Etkr3jm)nit$GEpSodb6m$Z^`8^NGf^FtRm5>$9mS1 zc`JAPG1W1yO2PjkcdcWQ|Bb|=r*4VpO%JW${WJr(1z)e3PmD;!u{Q;8ShQv1?k8#G z_5S@Q0hbwuCj|SP?UIA+%9K8qtMgSmh-A-LJW}{`CS<T1HuX%l_FpSAhS)^OeUaWiTbr~(MByb zjndeB)4h^B|5WSs5Yk7xSEj$XQKwl*7KmCM05zo){lJ2Fvi*3dBRXGg@fum1;KGXq z6Hf0St53e@syGA<2v3&&X&q|I4m!qs^Sr%9Jq=^pK$}B)*%vlB^nJ<#3<)WYE`2~H zdv@yiXl>kZ#Qan(XDL2>3Spn-J2?Hu9b^0G?I;GgCu)BEIaLgz1){>G=YT8G4Jy^0vFs33C67#pTv{4dYKv zc)hitA7UWiE|iy5J87QOCA9eXpE=K}c zdOpcuNJ)+>Qq@*-$=Zzs5igs&Thl&r=8b8|YVjTv?3d{i){yn07o{#+2^B($ur$hfs1Rb7PBA9H#N_%17lBpKE54y z>+5==5*_+ne=uMMCJEjZSN-6%M&ZM?tFdJ^>$x;p%a;QY@4sp98@VIZgo3U=_$2Nr z)QQuXBQBLpA4o#OTi5b~>F;b@2W?16F=hJ&ro!NpS!71q#R5IMT(YG`LWVdz0Pb$>y>UezMcI&X0+ zziGKeLFxJ%PJCzL+w1*DebBi=l4NoE*ATaLTTCnO&HApENeFcdDRCFQf7^Cn33153 zrJlabAgx(MzBzkERG3lsIA_&o%-;%KCjC(}X8h#U_|gY>ncWD#*!!X0a45UaTCr%$ zc<9u-sjqWqUe~B4wf4zt^J}z@1nA9wJ+?ONH-Y+lx4pe8?}}@|m!r)aTH=h!B#29Q z<$Uy5anY_hjwgdOx;vqY0p{$+*W)RBIHXr#i_sO0 zhebxGCHzQ}Y)mxH!V;jxbn(KIFJFRc1yw)!aMr#BvWrEs5 zeZ8rT=499sh{d=)@W7QDrW0ccr`E@&l2NwVYMf3eQrBRWvAVZx{&J!%U@myijZVzF zEj=ePriJPr$4L>G7n8I1x$o`di~u9d0e@9O)tXA>-ry>7^6MOB0?N>ns7)8{kF-y@ zwJ#D96?F75Duuy8JY_>Ra0E>Y(j_0~bM8ZZwI!e4w1d#e@rze&Qt%u%nDhTK$pN~<& z33lJAmY@5MYJm;wifJDWhKhYtfmfDxgTNuclMODFvhKKZ?SOViAc;|b)n&$EqpJ79 z+>L8zgqL!1NbKz?yon1RLn7a7D)3!YCDG@j%l9XJ6*mT!_2quT2^S76Khs(hg9!>E zfe^R8%7Qy3<>Kj(b$v4oTYd(&zj-jtYdh9gEiQ~Z<)O^m437zjRv7uA$*INFvWEYhV@W^qm2c-zR4ZlODon^`s zw{m-O1BSQG@ve?QI@^bRCg4JKfxc(7d0@dsTdP4~4t()`ALf{=jI_=>(YANqK@Wh( z-0+0G0G3{Wl)D55eUlK5PY8uCKh&3li|B zmNHKYE|0QEd1u%CF(tS$Q6-tqt2#sI?9D0fo}KpVcZnlO&95C(mUF*rh%*}5d9d#6 zRt5L{u?#e5YI}xfGqA}ibF9UVP88UiMDAF|nKUd;Hh@@k%XC9u)iEYBdfoJCys`fK zZvmgXDd-!<_0FXzIl=GzjMHK#35w;jd!uE=l2Jg9yJtr~rOfhAU)vcKiX0njGhN{p zqkk&@_qy_dLHAtqHF6nj209Qy?e3dU+Muh`k9y;eBz8dQJkIeF{FuT-v(_J7 z`}LWo1EQ?m@a8ycKoX9O**nyv2QC_>UmCmNxL}>XO*E_Yhg{N^c3DO|11-g|-0+v> z16GXe#;|zSJ5Ta4K76f_LNx=avBFozjn(8+=U)I8x*@se#pfaeQo;2OL~=0AU`}+i zL62jHJBJc=n>Vz9^`=OM4HPTb8RPYqx*JVFVUsv(}W2ns({up)FL4?ts)p?Dfpr&o| zcOkP%9CTd$s^A50ozxkPr^%Xw)N07ddunW_(5530CqlYV=j`A2VofSG*E(AC{n?;L zs@XIDt=37rD}g);uWYsG)v`_Skhwpi4!=-UQeuE;tJtEsC?Hyc)4qHo#%m|7G#MMo zE66wBn0**Ms)KHx4~ANQ+12uj!AKG*9WTW+oW=#+W$^2=8?9!{@JPGd-n?=`$0W4= zo9c?6svv9mz`br=drlvdHgMLDprcnjjX1fFT#EeCbyNx1+ao_J@y85tXwq{o%(8V$ zBIhN$+u{L3eX+Vf4n{boVxPZ}DXaclV*KMo`ti&uvvJFq0BxDH_sRy27QaXCxVdx? zN@mCE2i;tdsNIMZ1xDkgTCU$YgA`7EV1LTRm+P&H7#Yh5Qynulh+O$N*f786VbXv4 zyQB>2@*@$i8hcwYQ(dIdHs);w6a+?x9}qsUQ8~=A4>;&Ck-+Jm)%%3{)rYjr6@D?_ zEa^&B)i@|99<_7vKxVjvyIGn`<%Nbe%FVRd$r1VYRc5&jEvU-_36__@=P!H_I}=5P zPFjPTmm?p2EP;e4xXq;X1nQNL4jONCT&kjd__H4aeIJY!1()N1Z@~is4=&`l$mOJv zu!l|llA%emeZ`yi}c|#oE0h1Y0u$mb`obm7ds}KZY;0 zi^hf4o2@aPE)yS|BBD64@5+DY2{nJgvh1GplgFx>e(Fknzcx(`YfL}MZ>MJUJH&y& zv{wN8Cik@$e_tF6*0YZ|x3GFU^d7jpLoVa^EqURw^Lj}M&Z=#aEUqZIdiPkav*!Ec za7I?SG58!oo#)c(hGoA<;5yi$o5J~|iZC&`@91UJy)rZY|`#niQp-(Z-ct6{o-Vfz|Jrn&Dv zmWpmbE$nNe1lxk6CoSunC6nHI!)$u~s>;(#%jcp_Vc8bt8bIFV zzD*|lO}S=6ERsssJ{z4&CurXBduDA@W$EmHsc!^p;*~5>^8EaXW2X)50Whbt;KTkJ z>F)o4={5F!o12K*P2DXDr|SlE()K3^j}CqDDA*+4W{H#r{+S<^_hLCskrEOMi9!XSs~!Gf&ouN5uJQ*)Lb?k9 zFTqWJT{H$g5V|Pq%;mQs*ChUfQ17JzkrQsVaoC~xeudHUSZEhUGIc%9@A4$;%dp32 zsSx*e_%D3jw}aaJsnVDWJUjmK*k zYsslndX&FJPmp?dIz0TfJ^CQ^(n~mcJax)Yrt@wQII%|$e6_{Og+p!xJvMbbSljSczoNQ~j6F0aXoxmimD$=q9qV<+S&Q69?K%*U@C-4J}!J@NblM5AnKuO@9SpZS!Rkj)bZ( zbGFSF^Z35|R|7#;#@EU>UK^4?vHEIlC9hIy!F#PXtUKbT;D2lB;(VePEN0YpcG!5Y zquAWp9n044G)6aAnK#+FxE4y=zMLw=g$aX4b=}?+?g<(LHP#^VmG|&MOp`mb6ke$1 zNr*IFGM-K+iX36ov3_Y-BMm?0U-U?zC?Xxl364Bvy`s+6yHEIqBA79oqPtgp^NXu$ z8eY@yo+I1mEB*)QF_W3bp}n~*D5KDRw?h}%=8(&NnIC-x%E+vSLMv+1X?e|c9qZXA zh#8GnDxVJ#126eL%<}MeeU7G-S)TEIiU3!e z4Ap&}7Is7Y22*xNtj#TS{5~uI_Ue}{7+MZ~!Je0yB!XB@{?MlFBL6@I^teQAbdn?K z=?^n!L&EsCJ)NF17y9wJZM&1z0g52QP6M>4_j>ko{F=d({a2vpKSk8U4w{`^HI z{VQI#zurn86XHC9XIL<$T(8!`%0dJb?0M)GRv` zl0iFylxd8j^ds~drMFx}hf{=Q5~{}P*zmz13bd;$SUt=-FX(2-Yf+HzrvXcE4~vcE zZi`Q{pyX1`7$d9eIjG=2T5?0(lD9>`aDUkbS9v1dcs;Kk<6_*@5hH&E0d2bz8kMuW z-cfsaFCeQU2ETU8t~1ezJ_S{?VC#KIXt=znN1}38!adRLzxYM6Rl$3KcY8lYrCr3;X%bvgYX!DT3?Qq^l&;|p@A?c!Vpc-ue9Jo-@8bBj~`&U*dhTv zr)_+z^t@l?G;}B7ZeX3?B_lg4Fbu-h7p34E){HF=MI=5`b0ZJ&rE7f>LD$}H(naju zPb4IvwT*E0se!XlBhVpdz8#c{FUTNthJ}-v{nqjp-!uk&XSZjU&$R{P6!Q0wGggpX zw@mPMqtuOm6|$6!gF-s3o7l-r`7~AK;C$HRW8R~4rB9Da$yG1H49f_d3S*m2AI3$XY$ZN_p;-EY4|m>BIr( z?25xH4Uxf#rLXY~V+nr(2~KSX9YOn2b0l6grUZ2se82=JR;YS(<$*e3ymgjQiz~1N z13yjs^LNmxtIdGuLE}X>qjg zP2)8vPwrgV1F%}NpqBkePH=N7cC^ujy5PwB89C5#->^>Nm*mfb3Vl&5Rq;e_!l$*D zjwg?eu}rHOtEE*-wZ>Ym5C1bW;@@n**Qfcv_hkx9^`v?CYYnO#keozlM61bf5fKRr z0R4$3m|1G=+?zuw`l$&&(8hSB9tFYXKj{#Yghtj2xaXGQ5OPT=z{kY9~PjM70Zy!Z=UIVyRnuJc+uTJU~X$E2Az{Z~p1c-Z62IGnQSw1$E zb*`k8D*A~1b^ol_$Io(3zD90~qd?p%|FKbroQQhiN-XMZ<8!G%?2-oE^IGHi434Q9OwS@K#BxH6;%?D=PgK+%px>_+12 zj^F*zNV$v;1E#2;&;lc#4wH~(DJ*NzGZ{@j?M3I9ztnU1&DYvwwCh2k3zfzNyX7Et z_2zG&u2J15+bP6@h}b^6_bp*eRYO%?_=28nC;QNa){mu{x&K5rk%ZvI=7Zn5eWqmY z9uH@hBEn|>F%!bBzu@+si4Hi|J4wFe{b@5Y^&+-(p>zJZ?Miq@;7j@ZJyVcVRC^mR zH|T9e%%TFnV((%4=l2Q&6YH!uO-rjYEq`J}x7WpEY;wt$kJvIhOQ_ld(cik6z%lXI z=}$4C9?5QdoJh0IzIb@F_0g;QUa9@g`2`ze{iH|+dV5Op^E%cr_5sQ78;H)hZw{6J-41E7oz$uU-ZMq zVaOHKOQsH9>-k3wxKumQyxQ7FWtxPOo(x5ei=!y|zJ_rHco0IHyT-|l!?4_56Le3~ z<`Pmm)2{pdzI1O9&9y1lEnqb8Dlb_ zAc(`zlzMhs9+0wp@930-_}!J0QCEXp|KVeW3oyGm5hzWDX3lB@*o$|yy8K*6$gUp$ zlkY`8gnND-cCA^i>)xA&3J1LbYcW(Bmhg}?oUBQz)|(r>gvuALL4O3G{*iLzuu}*h zhh|q`w&miH4~Q(|sZFtjqW1-$at(df^tsAW(3nWbY~&;XV;HrXpz_LOQ4>H?(BQYP zEJOH(eJs{@l&!cuJtBL^I5bw&*nGK$Mee^mFvYT&`T3`uATr~M=k^Y96$6V`awO!%*A1yNSPP+-rk(6bc4q~6`U7iR)E=ShnP z+W{CV*BX4@z0q@q@yF2b%yP33sY<_E<>1j~4G2ta6Tz$H6A+w|7RZUi^9xy;0WU&L zEL&erE?pQaIge8e3-O|_s70!IAMlj(i8#{Rf`RE3UchWUMZIasR#(1r1|Xirldo~> z$26dT;Byw2Wlbh8OFc54X;=D_l98NP-4DRfzq5|w3T5FE`kno6^u3+(f%dwuk(BIm zi|vHiORV^tb2Le2hdodI4Sk`bOgNdh^x~iSMGcixg}o`d6;?;AlCg}&cV2%IvJKDM zh(y7)<@7!zN=VC*f>v*jqx06ja(;Ba!LWIYI+PWgUA>)woCKEcS(16ShhpuYV^6k+ zO|7$+FV~VD)JHm9w=(Yhs`O=v+_{!EAic9W9^wJd+L3cCb}y?fmb`djHF`K}=v8qg zs8{>i(NHV=n)3w-iDD9QRl)}_>S$hXrlR22ZF+3BQA2@}clwxwkRd?}#~qacX4_

    ASdB}gNuOH4+LDfS5wQ1|U!;EF>K=nrM_s}sH zi5_<~buCocXms0N zMkh2uT_}a~t^&5@6z;tgw6EI);2_?fmn zSx5R22kL$oOfS^)__(_01+r?YL+f>|$%XaeUoV=e2B-1MrOiB(#7ltD-Zm>_&C)`p z-tlV}IvZcO<0}viYi~VMFy;a`ypfn=sEr~ZqIq5IM`XaP3o82N z*d06_Xw~V74`Bp^tbjFN`!?LGXqM3*V0Vw1IO?TMg^Dmud|v=yimLUO=UD`}@Dst0 znqH;Hd@My>d{5x}M>fafUx!TS;}g8HXeXbD;8HxG%eL9d?=lj4a^O`T!Y)+R;zOX8 z*fEup%OoS5S&9!QL;_-TW&( zg2rv$lN+)-=&Lwjha`KO!@MlrX1{?NJr*3x2Q0Fk2g3K8D)2Vqu-lrd%QZ3+M+kC$48v+qm02qt3*$Y*5#P_ADpvh?8b9i_vDh6kJhwR@{L zAeNpNU^uOMbxQnlC?&r@>d=LtW&Om8+cxIhx1|FejUk;6a;ZnqLYCow(!xfq1Jyn? zToSu);_NDy<tx>+{6hd23hgwaFL~M(P;jM1Yu80m_8E(fEKq-= z22RPA?$mpCsmtAF560514mgv|&CrJ$p+9>6m@?yYAG!p3+}y1K_BE8@rQEu*#s?nE zjpY|2>Z>vbnxf-9m-*@U!xw(EU1F5DnRr`(#A??t7?3aeQj zL4l(luneU3I|vj5^{BP@8y*UD@rIaUpf;ydYfjy8c$7Y_I+|0~#bwJ9odE^7Yj z%zVHuPZFiU`}GR{Uv1+a@awR-Ae!_Vea!uLZrdFyHZ0X)MdATKJNTFu}LP_>l2Ui{1MD#hU1q z=jg|DpB^u7*rsfY?{QyLV2gsoUN4gfYK*@rLZfylo(N!+7c<-C*wc5$0-sN2V5WY* z?wbxtLc*xD4#An9**T0^p&I2_>dk=~mjOjXd_`w8A zD*{r#uZOjj1KZGX2r|@Q7~2dN*Ak=Y!+ZBPNzLHi7hk!iIkjOrl~a}CRyHHNmqfnv z-pI3u!7!0Ia4^|D^Xa6RorgvCH1<-8p%0&`QziA1_Zi z7+%B~ndh1Ay%RzSJ}9=%eRjRGbPyJUWW2G6Y+i)m75UQs2cn(-&ANbtY6c(f$GI5p zRX@>M)BGdS83@?AELjug%%2EakSFHJK35)PDs@s`$*sG49q zwMY%uZ(lZVX}<;}CE%$ZGun8nJ8>m8O0XWCs>1i*eUu_a=ME`BsI2a zt&y+L2|008@n+bwc2~wdMX$wK=t!riHe%7v2=R}!TLO{)5Vjd-ax2&4PmrRH3R=1N z04BfvEy?FKa&TtB8nLJ+v-SZ?@FA;m`~BDccuNeoiho5&L4OUdz4B(T_oA zB!buhKS9cI%887hCO}x`Nl~uGtuW+l4nz%t8Nt!!8~VdE3RmDYj2aecKB#aG?}K z%~tsbGoz+qIhxP7uinvDf@jNpj|j z0-HeI$Q<}O#-cWsdC#Fa`;@re#Kn6;{11mdmPv7fN>@IIu!F(3@QkXLmG;3VbjB6> zw6Nl*c4^)Uxis)4x(tye6&q=^pp-9)O{faZmGdh3tLVjfCk!0xpjBApJy*7NLB^*m ztU=IE?qoXag%QU=TB+9JUU^HeTukv{4ykxsW!lf{qjq|`b1$_I-;~Jb`;~LvC7OR& zwyD3~xe~W)!J>n9H1c$IXrF*ox@vyi_e3E%La^QTrTBOA9-s5@U)^DYUU(O~OG9|X zKm5>GHMyVswE&0tCOee}^Bs}6!SlnHeCtEXE>{$>I?J0vfNg0a7ObE0v1UX5N6Xn_ zw-6hOxp~Nq(Yb?tVB{MMIi*gI3$|j2e-;=6rM7FB>Sb&SRZA0|{*6I^Ww3G8a4)2z z|83w|4#%#sWH1|WWP^Y4x)u^ru6t{Icdm4T$5y~qJ-~L*>>X4{ zJ=%B2OdqJIl#Fzzu0yx)8B-7qJX}g3ho0)47rWmBZRnwozCz7PVWE=qAUHGo&?e6A>=& z6PJ{EXjk_|PlOjTae@k|N*>(G)8qcZ?5_0MW7v8UL~Mgo(0!A^l}Hl0lc8wD(k_R` z?Q?-HV=3u1CQFM`D$kMm;$lST#hjG@KjdcV;hcJdCuWU$Wq?lM%~f0;>J;Wd6Xo+A zJmvZh7B&%L^t3j=<8>}reu>p}Lp8d*lnvP*&YWIcyWyog+#a!(0oVL7oTG(o#Da&6WO%OPI$v)Fu z;btoACVOhq9v@mXig|ihb?AT>=#|1H!0)gK`+T@c`JXuD7N*ehwXBK$82Q@IB_8d{ z4o-LDWkg6`@Iz_28R7zuGFm2HBb+D6rnB+GYSM+Un7CoIm#_OE(ahMFnQU-O%%_R< z_~GPHZ-OcBkM+2z2|ug_tRTQ#PZa>_>TX^yJf0`M_!sl!n_c6aW4D9gI`fPQZ3FAu;8w9IvaRDwwBGZmNI#W0zS#G30L z%^I*+*751Iq)91jLQnTQK<5ijo}Wi)=i-%4a)RPuUi_2Qwfh&ZTA%#)ELbYs+5AQv z!z%rF>jS~J^lgQ6PuX7gR&m>*p6wLlD?4evSyLXBh{Pwtt6M7mOqL>E zW4_#zpcvRGmJa6Ao3GKtwJftkJD0fO!+E#dVyMCUTU)1MGXQC0K~2Y=v7k^oLK0c5 zC!4g|Hq&sTclw6BbiRTSYu^)x&|r~$MluQi$;`J|c~ri{`|)DfBgkPuS{s)9l-h zy>^%zo3pUbjzHJ34|jna1+3vgwh7hEDVA_XEiiB*N7h&&tv{t9nX)^2Yg*WpKP%Ge z`|Lq7z8?a=cDXq48;Cn8_QFEubo>=DYH{heCcm2IoJ5vQo+O?)B`s=SE%o|CQw26d zhr0~jp*juLy@!!YB^E!H`rhoK>UTefS$q=Oo3^$(xGm``UMO(g0BC3Vx|{W8Ng<~6 zdxaF3z<>mr_nkSwART)FI(|ck4~z-gXJ@-%nLcXg-am%2J^usplXv1Yf`CuD;M^!R zlyKHh`tuB@BqfsU!TB3}F-AJ@Y1?nv>Smu3=N!f4WfQww%Qx4TBG-ERaHQ!61oyVz;JN2(txhF-9>v<;CYueTGpqqy>KST{!{pk zOPCRcW#jBYDg5=NXXO!DVCPTB7*&4m>IgaG!Yt}aDtWovw^kkJxa9xAoZeZMHq9R* z9~LteC1an}IU9>;j(+Y0C7DnQZa6G=*Nr9tT{>rLb2FEYmlnUzNsKMusB79@VyIf4 zOHMd6ES2w9A(xyWcGLYJT-|4BPCm~ZFvvJ^#LD;LOF@TAGi?icl#; zVcN0{}?Rx;|vBxU)vNPR8paLlvyDogr-i!wT6hgk&^hViGtb z$`=I2Qb77S7r*9+qoSr2eir~l&1}qQCH2j@qTc?|ww_`$=Sx;&L4_uJlGsML!EGlu z5|W{&b~l34h=@LPrcKMD58W_D&swx8Pk@Df(PuB4?>QmC;0Yad_gK4}M|CpL;>2YE<#Gt%h!0E;AyuLWZxd0d zhuC{j&ZRG&RtU^s$r&VpA>Sk=up>ia7=}%xHXu^O*n2drLlo%$M!EV&q3z*T$!o~H z-e>+PyOr4}Jz(U!cbk+wTq+J&+;N`r_`kQ#Zo&>(qLK=jDkjHM7U4&FzTY(cLy3~m zZdtso^5mRxF}6h$Msc*p^u|1K0ib8x#j^aDvWne3n;l1TP5Ao65JoMd)CkscB(fj8 zBNB^E!SwVyYPt^3Rc8W1Oz_EBen^szWE!b9RTI^DbghHuS0s*tuv#biY|XT&a7Ly# z`KLobrzZNrFDZG=Lm8JyuChir_A?mPbE7zv5bc=TS$>_{+Q2|eEuS4PLRMZ#!4mI3 zlJSBm@z<5Fh}s;S1FceAFdMD37v|Q7wEwE^OgOJXbQ|=^r9Jvj?3!co0CP3LXU9_c z>ULGX!W%jo(Z?h8#m?UZavb{W*mFkyD_`Eu)#7?bZdA|7I_^Q}TC2Q{pB!7$&CIL_ zHw2W(>~}6tJvR4(o_f#IkYp(`<`QBYpiuVX;{kkk8dWJ@1_TcoMG-hAy#5<^+2BVc zgrRmmVJSyPF*miWc~vH=VoLb}>0MCx^-$e^I+?|X_i@%e3xvwyhv7j{3GOiF8}0^ z)@jJ@iiB!Bw>(I;S13&0?^%HuAuXXl2OsBg;Pm3I0<7?ck4i_26ljOS{d_LkYyM^G zB;dwi>}#~myy^;^HdModUBB=|e((1Y_1Rs}`WJ7%&e27`#~Q-ak;i%J7Z|x~fbQ>z z-H;n&AQ^R9XwxBnvRPY(hl=hHe_O!e7Q7@QCkJ1#T$iG{P7Q40bI+L4x0&HCqqfBq z)y}QtO$Y zBlFR_(AW7%R?xtPU;4@Te63f)2wPTMF>m$Dg_v=fFYPg*yN_w1@W7|EEO9O4E2iE} zL^@2!oWE_EH}Zt49cZ)0O^*O&WUhmN#a zIda10O3`N?O>?XY=NstEc^&+qYvQ@Y)K1Ne3^p3r`*TDmi9?;fHT1M zv#mW5&!1#9cl`h}Q?`co8a}QN$j$4?BO3FQD)sEi?>qHMupT@l((Q?y+t~P2v7Onu|M?gcuM2e;7y}5 z_VvOmTe2`@11ew22d2DXR?_fORFXQZxh%oFt33$M@uiK4@xWY9WMkbw$w-0=Rjev| z*p#k{p*c#OZiLSJP(Rh$A!0Yv)qu6GjH;LzGgwRHCDQywRn~67=ba-Lc0#Wu`z-xw zvT+%eX($I(5vW&|zxe@u7lY3nz4V(tk R7CnE6huu@V=X-Gy@X$o(>xNCA8}I4J zJ!t>I9!|DGj2ehMTcmRTsI3I!wpBMLObtV;3aYHt;$m+Ep?9P96-_~0r17E0RBX36 z5@*U3?r|B|4j}SokerU-g1_t7$8M8~>(}w1v1)!O@adg)(*wcf(b6NtClAZ75llUs zg=f&;5MpwQ5~IPy#?3d1_wiDbGm!iliGW4t&_MY#YyUT&bRRsLYlLG`w7pY&&*W-u zmCGcyc3|JSX ztW9&|MDBkEFBMx)U@R0Y=1^gVq8m(D(ZCaadUTa+CPyN3w^a4emEy#fw7GW?UD@k%X#`$gFmp6-S`t^={h zHz7F$2w(hjv#U^0PS;v5%NlQTGu$){TdP@vZ%NOZGV2z5d1(^7Lg6L&?p~yX(@yzy z;Skyd?Y@L6%5Uw*3ewEHinW%#$vMO0_qdqd@})JQdZL%`Sl(R;Q-ZGrnsEZO%bv}k z*4Qt_gE9V~y@j+BjIgQ)FkclYuMby_x0UDyF)?h@3Y9nCgp0Fx7Vq))9^GK1GGhB! z6D3eNT>x-_r1IfgQLqEpB$N>BNjSnB(2vhdj+o@ev(n=|0{2MM{12*Rv4bYH@a{OI zxu?R2c%%uk0cs7oa9t`$dU$7oGk+|;)9ao0e!-Z>@bYv@&-yJn*+Enw)dr)c~cWi*A7O6kgEJxrRObT>n*5gL-KkZt!wOuq3-V zA9vjxM7`q>)QmnNBrxE5;E=i5^PjiHuy}gew$upnqFMq+6@qt{{aLyZ;>cehPneps z{x$B2dHv0yH#+FSa$iQ^2}!JJ__;*5UhVQ}{tk&ki_8oGoe;o&&k2Wbfhc-rZVVK~ z&$%pJmb}k~C2D40ZshZE)a=a6^3WHni~+IZv%oWNYh*Vab9Zj)+d0v|lus#RU)8r@ zhe=LXI`ydozW-+dGu?_*x*x%}DX1$6vg~NswCU?wUBRW=LvYBG2 z@kKSH`$#b2sy)iTtX4Vls(pucI15|EuR56Tsy3JP{?^F8zO;t0FAzA|u$k?XCz%+C zZb;I|3eyI4Di>eKC?DGP6JcoOYEvn4L} z0m>*o7`x4QwINM_v%0GvS=jVgK`C-S?k*2tKI*?(G+&!>L&mFpW%i-#U-JM&yky>5AQ=$ zNg;txxhG4#d&JqjC7nL&pN=7>ZCm~_ryc~m9U?DSOC_pqZI8Ls?QT^c;pf}_+Q1o- z!rB7auq(Cv-ggoXc$wQ{LYKQNy}%#wo7Qgzkb6$YZr^a%fx~Kd5qu0Ei|DjfM@am` z39e**!M6*9ggsP?K1u!MplKiG`suEfm5a{Pk7{Sz1FHEbUR*8r^iP7|mK+#=1G?Ns z|D`T#5NBe9JZo+(vV7fqpu3w25x|~18_XLqt%$6EEF5mDK-^J9P1X-1u;pI&w)z$p zeLhQkKyB1H{nu)BZng2^YwLn+6oGUsM#;mjR6iOkX}eUiyuPeT`{fF)2T}Up3iRTp zEmT|Dj+=@2E2V?bG$~Ay$uwH$oC;k};dh&)FlkQNDz>M}C|<-+#oP94M}@Y>Pj%7x z+2^7w%@&_OvYoDJ?p8jUeFu~ceZuma7Vq}@we#=^bdaU>wUgReVm6~8&^i6r)j(sr z%}qm2V%x~uUgnC2thDbpCcAUe_F8@&V?j3HpSGd7-q&-x`S>(#aQw$+f1bf$%H{If zKlQ%#1AQ@?o&VKi>DHSTTGA=Et3%%h6ai#SWO}iS>K|2r=3LY%tG0ikrS5&dKjMr< zjI-K8>XT17vlS&5pFFV9hWim+wY#z((b}#^^>9|B4tPlkKY;Bw$WXUgJ+fGLJSirp zxQL|{EhR%iHJ#YX)Fi{4SPUZXgMon@Rmy662L znsZ$E(V~{pRyAB{GzuK$eK%1YOt@us+NX=dncIr1tqXee4Rip}Ctvc%khwCPcE_WkaCjx@QZCX$=~V(!fJ%Rt8%hVi>&uiZ zdD}k?0wlAH^M8}t4Q%>Qol9RI{7ZNAVVbaRWH-M%vJXE;kdh3f)hjD7fE}BD^#nzRvH*1JMu!c zu!g1bPqyG2L>UfBRF>cpYRv5tlE%D2bFhO#ANJ^f_memUd%GHF1MqmP<54Rk%b zxFK}lhln7&FSODG26@k*?&NJYC*wd{4F^c;3=h(>LAJ7&`M~LzH6kV`Wm0vz#{z(v z^(j>;4%}Ad&2~92=W1DxNGpWu!TmW@cdxTKSrhObSL{`~k3zYfG0~4Z3;bk#N{YTc z298e6CEu>hRwyB=pO^ooGv2W;_L?THG-Fn!Jo<4=8*XNL^W{+1=hT8@B4x|J8-9Tk zX?igUdO^6LweFx}ry%<1`Ex}1=x5eyujF!40yN-uw9tp>NdCe5I zF7LrNxIF^rp0Y5w4o1wDEYe4R0`f9x*2nZ)_q)(#nMEiu(oh?9EUn@mJD|P7NRHgL zs~1BwZze)4i;R|efiJDdHcY~|xcbwXKx*Fy3ua+Sh~bIL623;84obRRA!kx*(vKQ^ z>u8CU>>e;1WBXbvl8;J0R@(V6 zT#2hvg;!IF;zCnN_%W|gkv?u((-n)nf>LB~bAnC9(fX{2sfgK(Oa%QvFI2}pQjc(6jSl%8d^kr&Sxm$3jziH|P z1+B1;l{U`wWww(Zh&sKLSWy7`H?#isa2@Urv^~vN@XCqLD|;K#s9BFdqmbbYC;L;! zDE2=stJ|ulZty#JU}&J&Jz&(#Q^*`ST4`Q-@@Yb%u4nG;=)B`A&C;@Gxzk1Y`EYAo zF9NddFi!u5J@{F2*`@lFJQsFMiKIRT)v#6jYvvoCYUfp*`%|Z9!{%^yY@pjg7p2oOkV5eW>%z?iN*mU_U)Qvg}U;YhcbbmbtWj<|6eSmZgbKHLic8Z=MUC zD}Hp#Fad0wRNcJ^#&}d20#G(XN1Dq2aLz$}mEOBkToNx4P)K-EqwFS1!|wjpo)3Yl_LiFIjRh>3 zx(>whrn|~)&W@n7HQ2n(PE>jdJ}XQ|F7Eb#oQ+MDq~R0mtYKYB5!_#5A;tV!uRrF9SIC@Ka+q#T)r5}VL5Brf9@-qS++Lx6*uXcus*%xI|?HA z*AD2@6cF~VEtoY(0xN&_$7L`;agaB1C^5Lc;oOhcVa6{rC9`WUI?&fF0T+4@N4C(W zszq*R@cEx@XPem6Bm!yQ%-q!j*dL=He@m*`%I@GT_8$zRSd|Q;E6e?!uY*RMKXgwm zrPD)DD&TqD&iki_lxlOYp-AKlEG$5$`xN+|;JCu`rSboaJQNg=d85Jbwh`j4J9SO` z!=komNqgX0NqWF)R_Aic4zU&8K15nl8L)5uv56--(tMsVRRmttg!EwTzYS-X|DBAo z;QQ@~dd?~|59}&DewuRp*XyV6OopqqyfO;$%cForjspdKI+~rN zs+U3((&hZNHvpMKVI>z0J9P9OEi^j5Ps!$#fA?%{Gu@Y5z9pR!V%T>VSF}*t9HTg)`e{1`oU|!u)S@C zD;qx4a6pdOdYKWzxIuIU^Gx&Lxj5I%L+^Wx-XtOz!kCR*F za}6Q8n-KT#i#muMW}Hp=>VTPYrq@ zm!QG?)~2C$T;vFdsR?(QoJ5T4k!qnJ5N9(}LyS1a$->QwH9p#{X<*wb8#IEuD5EiZ zDctn6d*+n5W13K*RehB$El-{FBV2}LU#;Qy;-ZI|vaC;9Ez1{O4%V!OdCqa(X@@ev zeH-kLF&R2fSh`61=$xQfqq3@i;gZq=pQNv#?Q9Y)h~8Ppg$d0}0%a2m?|$C9Ar-mj zvQ005hF6{~&!Ct6c*KIy!82RKcPwQMtRZ9cvlA(UzIH9j{E4TKWH9Hm>x98w^y56GgH`)y`!?Eg|N`v7{GKL$?-rljU4_U-87Jv=DO`(Nn8a2fQjRjy) z*}IbwUKc8uDMF{7y++$X)||%^gd+XE2&W)^c_+r;f6X8pn2xl+*}#fdt@rrls_SqH zh&?Ub)OPUdBat(jRzv^PlMX%fOa8C6yJgGpoTbVvR~R$n#EGu?jeWljX9MwEN7h1O ze9aFNv~_$3mZ);viTiwS%ds$5nVx#dFvn<x6IIivnNfC5i$?#l~%} z!sbUf3I7OQ?-`D-2C(dWE2iO70RtDt+pW+Xi&af#Pf3$6)8$2&_u3yl1-VXC#n%3c zeEnL0J_I&sX3x{d1U{eGVVKG3QS20&H2uA))^G_heShkBEf$1{&Lo%Vs_E#%SULez}qFbd_W}l9#C&xT2alwj8dxrmjF~XylqVMy#`BI5N#E6iG5oz16tEf*P!|5qO(|YX!ICd*Yv!r02zRFRu z0%s(K^vNbC?TbC#zlvdzjeOFsf@#)rz`?^Hc_O7$rJedv)XKNz!R_wL+w3EWdPq7;N@D!x$%JURXVs*q5#z%pi|5;K{>HS03~V0rJ#+u-Y|CW9 z13Y#2p_=JSVvlD$NTJDo#u#z<@*&~t7WCyie-E4$*{IgFlK8dT8dm6?Zr9Kn+)a_( z+{K|dYO?-?{nwJgVV}>$bTDL>Z}K@EmL;;jD~jkI*nUU>@mm1ltH5#-5hJv2V*NJ( z)CFi5*o`?M#Jv-gyIm9>bCq@?2RQ7w#ij~jWNviEie&34c~txOEM2IYE-dK(Iy0#G z!P|R^c%i9T_$T^#i4NzHW!C-OOo7}qCXQL^i(%7q7|QQqeksB z-{aOtKzO4So&UXEhps{BZzxwq#k8;qlm7lit69Z8yXcFvU;2>X^zu%f(Y}aINvPHi zfpYB7Tbo*YHSEp3js0eSZi=1a&7PkL3(P8-*l)+Z(z2^DHy?q2Xz_XE8G`JuORJQ@RsVa!$^BiPqhajK7 z(yQ%|vshJ-U$nE(JzXCi_-FKFWgBC?Yv(4x9&UAPcc#>%?eDj+iKvb#_U`ayP;&h} z1>WlrG;~In@N+PH&r!PFmOmbLl1K>l`~9g_{ZV#dLAnr!9kX$v=2q2Q!<6Eck_T2B z+d8n2WCuw8;B2~{LeiNqw7t)fzf7Z;JC2M)_S76^4v@4D?1wNT^J!csc3g+;;dsQr zHQkL?jYkIs?e_JWgz7LxRZ^x+^^nP;uh?x@A4yti5#M-+m0EAa#3cGIcao5wie7Pg z!OHX8bqF@+mAP4sOZc_&$!;s44Xz^fNDR9aj~t?g{!0+w=}-29sN{Zp-f_cp z&&18QkGuZMLhh*HR-S@){=iVDC?xJC<-cg1in2K?(3vRiLWp{B$zZ5*1EeCQ$-%!M?wj(>OAe4Vq6NrkQiPjj*>}b+niKS#z)pRh`RQ+7R0b+;}Tw z5&esyq~JxukNI83JeBf2Hi)%9v!jqt?g$a&F5!mhonaaK^ZnG|sUNW{*XDh5;zDJu zum+KN3}^Bdj>VW!)Qq>E+jLCur&FCa1rq49oXmK_nSre{2{)S+QTN)Z5!Q^tS(EO9 zWvhAd{k~#HZ&P1GOgc;x<9&9@N21=$Z?`!NhONNm`tm7%HuBE!^P=X>LU20WV zg|7W!I_)Q$iP?as#TJ!?Jm2qdzSb1HFm1C2)mKcwsRlnE>eKplQpQp)I8i-#(}>j- z46BhrrAPMAzGh=H|3}lg|1;tKZ@eQNsTAe3N}jUueA*m0=aHNb!?_KE6ME|AqVUxbORQxUS~~WFEW&c<0x8$C(&6 z?$V$~s+3BZTx*+yb3dn|C<3n!x#@)3qMqfG3iOv6vWKuK?U+hMxmEGyeBWbIi5Gnv zgHjvla*qJ%#9xPIQVN6=EG^Mn;~~HWYv6PCdmR=Cx9m@I5R`m)D;}{U;EtCS-w&7} z@w(2g2QtMXSYP#IY#+Q*3eUR`D=K?dU3*9#wOnIRYZ;F5v%$_Rn9;o}U+0a!wXC|B zdYk#J>gSi8-_+%CzbYQqZ*Ot{lE0Pz_xwJ*t&&u`Z<0Ph$hWkq(1AKbS5G%+5{?Us z1IE#V=~YvoX~*NLrtX)BQ=&{3+A+cOU&nHri3hEt1k(pI|FDMQhhc882}*+|Jfx?} zgz;thS%N9oeQNG!Z+T)BemtQf=d0`ToO$%4KTiX47 z7?|thkGwM-t3>>aS}FY>`NAKjY_**Cn}0vlUc;W3ZS7sv_!}ExMzZ-p2sv^=LMs?GJ~O@)ZCK0O@U;{}tit&;E}(pIHA87h4dyGDdP z;YbUfl&bBolo>4I4UddjPi%jFVF58t%AZrK(xjxy>*6b!hW8RPKPadWY0`5v`hy}# z!p@$hAt6ModXipqF#8Q;ZzuD-g<3XuhyAYU+(#%_1Zd>mv2bH`Q;1ILvhGCgv>cp0 z`ggMW$N5hkjee3!@~OJJlg)yayswX@!u{hyZgN7u9{ZBY)spY|!c;lzp!+mVUmmXh zDdZEa=gc1mwY@hN@JC(p&?zs<|M~vQ9l&5DHKQKP|0GAt9=4tk|8*XFtFii9{oWIw zqyw+kN2nab`q2d8Zfem32XA|755Pe2l$jOg!cEX!@LU181;N)s|q$0Y2v>P52-kf{elW~c8wIIy8M#Xp9hVMG#2y}H|HLq z_nZ;bEQ%dy=RNCQzF}MT)^(-syn}U5>#hpn-qQX?k57Gr&4I1s0UJf0D?rjKiK?&M zNaDznp5xc!quI1c)kX)Hdj_BlJYDs%Yc%Lv;+9hJOc(CZ0dCXo-4uOKmenEENmebS5bpHvOJ?UAw02xM z?)`003E$p;O?d5D{b*Q6X;qesk-B=T8b{xk#i{8}FRmUuz4ew>YXzaEBe2o3( zd&FH1>L>KyQ=-|^&vGH%G9zMynJX=vYDyr$KqL@F@dw~g$2QeWNf5b z7Q{slg|1h#Z+;04q&?AtMGx10PG#B0*12y3hyT#TSooB+Hg%W;yc#*l>@%d=F$`oX z@_j!b-%s8vA?QDK^B3=jSk>r~s^wUSPW&J@-;PT$gCTi^w45Up42!+wy4+6LJ8^zm z{m{>R6JiQZu*w633Lu@+0mr#v$dwQDuE$iVqimj7GQY03xxXI%L^#C0u3k4h6!<1c zOG>D5RL+Lb5H|)$-L$542XAW>Da5Vi_gzOgD4pA!1U6qco868)=6dcHJ8LXHtZ2BB z@HpTPd<&nTKz(rEc6}iv$W3|12qIz|(k0~+UT}RF7oz1^+WtGYbywI!R9AUDVmzB2 zk`H+sAb96AzqY`6H|l%%nIUWL<+e^<4up?io{@OHDO0srXKD+y|MYZaWb@7ot!_TZ z@6z9MB0BQnikS-b7woRW1ZR>klHXFi55_<-=qDIzqCn2?%Jt&xg`=kgn@E_@{rY3` z5wWHoQO+JbwN|vsRQlU$+FvuFKR!c3vwn-pF_IdPM75gq+*c6K>Swg77@o2 zruMLXaZ|!Co%UbyX#M4FP{;qAU1S+kL$mZ;Ztr*_@l=5L+#$rk504_{-q-S8@0soTA8=UIX=sGuVxP^ zEO3W~QDwf5CSMU-m<|W=%SU7l?4~79qwpbs5rfJ%+NGMSta`O$MN@D)9fT_IIh4+$ z#4<>nwHa7Eb&DSX*;r+_7S^nkmU`6Nse^LjFrVkfCBG&Q>!XI!9>n&U!}Qg8N=H02jl2ymMcp%&d7v>TwIC;>cXPwt~{&B+;7RL0Hx-grkYg#e=iVzWmpSxneO?Y3n;vq{u(DY zcV~R4;7R)-Bw)$@vYIbCnmcn4v>H4V>BCNKrkA+;rAAz?TsS#Wj((IyHkZ{`E=okw zTa_=?kg)c>X{4gV?8|!T=X{Zyh;G-JBB`vnL%2jISNz_6IpHnFYw=G@mk8aQs50o$w(K`= z?66phu012Wn4w`oR)cW43>*(5AR?oF8Hp)R)h~G=<+Gb#-7wjgOG(o0FaIL9_n^d3i(kj&Uc&i#u z`!`fNL9Ha{*JQCM=UK?X+%%~#zmIU-@A*o0q0sROq9FML0bmh-cS4hhp_EC86ikI^ zSWhW-&JN(%D+WW|>a?JwaI2TqEoDgeu2>#RlSX;k>JfG5{Ez2aIT@YXqcX}l07vT@JVp1RqrbYcrQZdBKtaUVE>f&6QfoS^TSQ;ql@J1JEmq`_1C5b zL_6W!NVOGpzMW$?Vc@8?RL{+4MXM}wY-or|@u2F&x$gMmp3gR&PApyh>mtm3B2L^T zc01$Bf|_fH^N^?84Nl1aK#0$F^>Cuchc#U-Bu4af_<})Q$YGqs2c|}zog+AZwrSK4NT|0-M`WSl7C`qcaVotS=ND{5S!Q!G;SN?|HV(xB92 zRQlt#SDB#njDN^O)#?Dpx(wBkZ7{;+ze@*43wt7K{xDuQ-K+A3lP=RpRAMbWut-=9 z902Qt!=KHWOTE#~lR_TO;0;*=6%!#sI?X2%6|RnfyYJ6v+OVI;w+2>jm`Y^X=L*pd zzVFI^JBAD01XWIKTH0V>lF|WsVPT`L+gl3ro(TPD`pgg7$lCF?bd-IP=SOL29PcNkPYZm zI}ggLHZJfC14AoP_0~7Pz{X}1cLRNISeG!j9YyL{TN4P~4G)jAE3y}ClFvzN$uHUa ztjyooy_OVne%|W{7yy%N*!cB)b#8Lk>~G2nPKUO*%UFl8Lki7icR?h3xnU`rfh zT-WKR?#KGlMOtCv>oQ%nM69ZcOWdY^ns+@~&&Kw5e^`JOzA(Wh&*6Mr;80=~nrEH9 zfTQ|f1y7%cF8bS^{o9m#X-+ktJSQT%mA0Dy9V-(zQ}js7rv@|r#x7tNcskT&J&{0J z>q$KshiaKGea0l0?lg9v6^NvA@05o5Ka!o|#gIR~zUi`}8#z@~h@ytA#^f#g@IJ0J z`uYyL)QZrzS0$`${>myI(EG)1T7c5AZ~A6Ua^8WtY3(}x=cc%YjH z6Q}_Zt_y<&{2nv@=`518ULc}yXJO#{l$19xeU#hk^l-)jXu&w#OjfT8?lz0MY8K%e z(Xyt8jvc53S4>P?Gw!S?3Ga+h8x9EJjM}J7M8hFlfY85nASrM4K_Oe!hJdE2*pxF#uZ|Z~wk=sfwpB3kKVM>6UsPw6lF4s-nH-k)TJ4Wx zyNcn1wi92U%`Xdgz)ws~w0nZ*v$48#qlXQ(9pa#^_E1n)RSERiGN?hLJ0ByxG(9Ku z0?Um$R8Rugc7kv)1WT(bAk^i;MQD@5psh7ENd8hPlc(L;of?v;5+_RJCRTAQp@wq&ev-yl*DH z$+3OD2^k1jZrd-MS_$)kysKn3aS#9UEM)o7*KXgnWci=c0Y44qR2$*UGcv&F0rhiG zMUsNsb#oM43j*U3iaD3e5WDRYOd=iyCIwLDfa%(BzggW_G12ssg-s5gUv$d3TBeQe zZoA6WMx*OcawX}>0sHg*kgKyXi?D{bPa{>{v7 z=hoqO_=4>liyLJ#&<~!ny~55I(TbM+!w$h8CMuq-1P#FE3uJFk!Q4o7W)b(>1jZk@xnq!^Rph7zxCKUcJ3u&>t_2bJJJlwF%i}e4e;_W`VL9U z65CHXkW8Kowpx+)Rr@?BB*%RYybu)~8_LcByxLEVU<07Qb!O3iVzEDkh7HpZx%9-1 z!Fe3?$Fbb(^3wjIBET7inKw;A$V2BA{z71AtNS_A0-9&~`TUNphrWOK)}Fs^2+JoJ z!9|uV%r?`+P%e$@MNU0cbGdSG3s_s2NMLi3MNdr$8ggwIazs1@$E^vNi|_@9oLJZZ z*DvW}B_3T4m&voGbz5?V+ScEwhtRUmSqenh6;5`5L#QE#^3PVV@N(+dsQnbLb;k87 zr3m9Mc?B?kCX~^y9RxRNQ~$)BN2l*!j-^?9{vOeVgK^b=EC9#IwPq<%Rx#@|+1p&N zP(yp|KYhhJkr!$Dj%7UCBle2f56~L{2ohGs5f=Iuy7Rd9;_Cq9mA$?6q0~TGju>!Z zvUJgxuvT@${zj;ILW+mqX2y;C#>-?iY>!wqpQPKHMSr5OOSBz|I4?aGV`|!%4Y6!X zl{DBajzG^xF!5sQ-rd=`))UUN*_SUUJlLcn9!~L|RB{e&wCso5>PrIH0gC0L(MrG! z*%~KWwaMdvAm+zm)CL!gdOz?MM+6>O&vj&Ssd81xa{m8GyDrTy%nXAp<~CA}dZQCz zU`jb_3VZ$QmkZk+2m^n=~0c7~l(G3+Q#PZ!L^7Y_RSx z>ze~xh^1N*w-gid^N$geF1c#~nqCwkZ^g#HHbJC8f&8p_N zL*kc(sC#Xi)t>k}U-bKs+@|PSF3#EK^~tIJqRy<4CYt@gr*@2nZ`AO5`0_zt$FFIV z1mmFYO9GFHi?%ucH!42(7uFwE;7!m_|FX^2P%2%(HA0G+`o(+dw^w?M(Lz>5r%yYbZ`p4H!SDB z83+uo*>zx92fPV_wklNi06_Gm8cV#kax~bl$=^FGdlliONa{ew`N8PkpmLrbEMBJ9#YJw&>1oT}z?{y~fzgcmqnlL1)gcBDh!-K0 z>5K>+4iGvO8J(^u;&xxfCp|Q{ZAmKmd484mkVY_GVqs;_mlyrAa64E1Mj=YeN(&XS z4UcP~jGb$|hWt8Ommow~KXKBv1-v2jlBCPlOQ=ZsALj{Ple=f{`ApRToev!4!9t?Ey| zT)Qtq`;qhbc6zML9Nm73Q2eFk90b4sp1xZd&^JPp#*6;4;Y@SE{bopI)%@~FXJgh1 zG|kneVNONbn!NPDNW$53|FuGR3&uwn!F4(Fidm8}dX}C=dpD@g&d~rUYE?~#x}HG~ zHkf@#N;P`+Grs3`lZl5mtAAT=((lL-hYMyefdqVUt4S}uKJ`7hy!N3-&qu?Rnc<_? z)@OiQzXAQf7OleRp6t&~gl9=Dj7K?Jv(a&@Q|o_e=ywnS2J&V$s-LXR)vpP-UtjoZ z_4ISccwhrp_o2Mpap#55(Xv52(@7wHF({Sx1{j!!qR-bU6i>H`T>esFiHvja#_YUj zb$;D73_N3=K2#a#7CFi7`0lvrXMFYw=wj$Ila0rGFS8?STnn9r;tRuqXPH-lRJ+usBo&Xwm=w8JZs%=JosC276Q+v= zj8R~Cyt}D&UCftnZEb;c62!VnM10oUP*bXRBT{TSLq53cu5{d{8`!o%VK1RVu_%<# zR*B;zxCSe6>QLrum?`l#H>d4USB1HW#xI0-)yj3sH`h{A**H`FeZn9!9hXN-0K5ePC_hydZ<95i3D- zE7uF=!fvdB{5tv3Bc;>-p%slCGoAEz#Q9ioZk|cD*7WmGk zT&*__vYzCYF&G*+A3_dISzTuH~ERE5w_ zqr3_Ub$y|p&jbeWE)`R1iAt%bCUZC`RSeGjTRuJ5rwnf)^jn@W%+0s_nkJwhmk(jD z9?V zCT7kfj_1@z-=B6*7eCRNn9x_zG^YmDfDX}AxcGKq)$-!HqngKTG-DufyA)i+!s)x+ zLTA(e4)DuS{~TiwW%2t&XL@^oGb{Y=NTC%ZR6_{h#q5RAB4&4gt!!3VJqeM@03VMe5xEVrncQhcddkOmKYa^70EybnPp-947mmB7Xr*DUg5>Ua% zk^}avI| z3@Ufcu|`iQh%oVfmFwNRB&l!0uNM-A)-0Fyr{f%yFl|Onk~tzH+Z_&>MY2BE4~VXh z$FJN>=hI_fk}m=Y>WKc<)FNbAPl=!)?nAMFYkoSFKUh|KVi*S%Y7ikS5pup08`rtq zZ_{U--85Z}$%y)vxSsZ%I=;CaFSRk~5VTt1kwyYjWx&0mGi~g8vxXXg8+T_e<21)x z_S1~r)SGtedO{2K5)O+zt*J*fM(i;r(|=R|i`2G2EikB9N-CQ}il5I;V;Okxdrf7> zkyV)8GU{+qs?az~NAEVPh1N5yGQDghj>)3lOCOo>y{n^4jKzH>yVNo}Q_T(6KBgB1 z4n+gw6|rnRKIPYh0jft#QNT#A&P&5l-%9zoT`_Te!M`bL9Ub_d%yH#KfjcWW)@R7f zIDbO|)mFk@@$)aSGLAhN^rBE|b2hb$(iGTftQXvwCN5j2a_#Zx-G8;bE9NWzl)nG` z<~EseI@b%}70N1{kgzyD&s_?7yF#-OUG)?+KS9`&F6qt9eo_+b>x1vyzi=W#G-CMy zOh0yd(x%SfRHGdj^quWWFkEcwJ6W)N$a6Sfs3{rGhr_9~{WD z$xmNHuWCA#ymXbR1epRc%UP)NAxdJsp@ZNMABSs@(JAc3+bq1&GhVOW0Fu1GER=iL zG;cQE=C!kH!#r8-{SYz@lHTA;AVWr$qg5dB2fpxx@}TQ^C+mkuz2OTVv67Iwpak2yVRt9h zRasB3q?n=g>y2+-GV!*N9HN=YPp880662l<`ADi&(sEZM;_7y@icEA?#Dmm}bhV8) zlB={Nb(t0QkrCwZ1*SF};=t>y+H0P3%M8#b^;~)%ZsE&u)9d%wj~WUKd61hqVZ%k9 z-BOg#$gC3WaQU}XR~&oV;B5m&LnzZ5=KNarXmH56w*8}GzNc2T)SeDG1g3lgDD0em zmh~s-N=xOA&b}Z_|IyP^M6Uu$oUqo&^Zl-AaS_Xpw=L`O_wSc`d4XlFQwOwX6!udY zYh^sCnhikuIhD9%|1^9CCv#CUfc;8A)UoBo;Y-7;#>x(}-X9L5JD$VM3BNK&5-d-MI^0D5h*pz(p z%3Li0L~qW&HFm? z#2*+BZ>hxXuYq#EbX}4H#CJnhtahqBKd>CV!{|jA54q_4T&LcME{w;Hx>j>sw!GKr z4T|(v%49atv2=b(G3oC>z@%I_yY=W}=D5i>iJLduDrhyX{{>^s`gN_%5#l?y_S)Uu50YWx+dMdZ&ht3yP z`2Lc-S>&s8tL+RWNak`j!{K4|un`H73x&Lg<2qa-Mm!F7!5msCMf#9lBsCK&dSnR| zMBazA85*X2HNVH_jdeoQ))l(91%x$nWmNS zsdtBy>wQWQTK@O)Z(y>s89R*-kO@V^yPH<`={%^2AT(_!qv8X1yu}dDtETl4v)cYE z0G+J(GS1-H%cr15()H_CR^^^J;kL?dxKI{9ddQXdR$f`ea*pguC;?DSrRCZ7?KUFm zgtT{yrRTy*Z+I!zTS2r@dyhV@Qw0+a?{{CAp2aWH^Ou3V4Kkesa@i~Q17+D71i`Vv;42I>t)FY6B3`%qhiMt?Y_0I z%p;rz`ui!PvI%8|p!p?a(zhnNE1~2yHf3-SBvo)PuzNEh!q3017aFFXg8TXAIUlvX z`?`2|yp{!GM~uI;$8>pK|JZ51?p}PaqYdGZa9Fe}RP)JD%1y-rtS4UsptTq9MyJA6 zT9`Nfl#XDJ)ut1of}G2Kq+bSly2l0i^d{`0;Hdd&?i9A&%UUq_>Mqv`)i(bDTT4$h z`(ur=mhhGQt#xs+R*k-L&+uha;K(-0$dqx?5(&JekukWuvk%=Mu`WzGYhRK&+{J`f7pUgs&pSohm^3OaDoeGqDHq6vlcrBy4=ZNbbCq7<$<+oDveJ0z*kd#kih?EHLx@r0u+}^O`v*K zQh}8tL+Yd6*F+Y^af|vF&j+puc|F?-HO$lrAm^~Ja;TBX*VUqLF(#trI_W<>c@_@V zqOO?`Eg$`YwzD3(oAbWssMN|ZI6+Fmz4c)ctX{fIfCjUo zbTRg2%cO|i7?-gWlMS`aQYs3|WgYk%4u%n=@p)I}{R4?A(P` zA#D(qW^i2*{qQ$;n*vNV@b-sMbuFz{hvMs1nNrQ1r|}<_3f^kje-KZqEVI%_tbhOo zEw6oFwHW7s%VGR9gGR%Kw~%+6_Ivz^xh8x6Qfq_Jk(ak;L%7ml8|Ya~BNq$OEci#M zn)*F6cwnBg?v?U6=_#-$Hqr>T&uW`IbEvgN^X+eVtf>mVjFw1W**O3Vao3i~9tZeb z{2t}yx_;vghO@%{oUcV zt4=*7UG*u%)m5n+oRJiAOSQDL_3%CEV_QGJF{D~TW;de43|}G*?4R!cPiuLO&evoW$y1ooRzUSbD1* zul0-kA|7$Nh39k3k+Xb9;8ZU)Pr>L;@|HOGvgHmfi0CVaIP;9nrM<5QQUA{Zn487) zJGLC%-{cB-x%b=QJ|@a{*orVCs}b&WkIJoCss;PqfSL-LF3aXg2&MMX$De&7Bl^6x zINBn#+VWKgzbK&p%*iL?uhRF46t2|CmOcIcn&)+LF``2jYmur@e9c=Cc!rf!S7dN) zYl>A+85y|}dgdq2rh=Fjv2Qm?;3MInz7!oP(3aTDf3+MF3awaX!PzMeRHM3^Dx~EP zF#548C%`=&64m;7(!7BCuX{r}fbYmSwgyHa@zq{2XO39Be&jPw)%W?X;q{80`K}sP zg0YgDjM>35%PMWMFZ)%-q$fBSul!ynuJlO2TV&e6b994qtd2r*=S#yZRSkfCUuj2d z@oB>L&2KG?gm=}P11m0IWRIG$>9&e0=sJvhWEgyHlk|ya{-DC})6bd0u1Hk`h;&MArv8UOjdEBVm+xs#o+!8}g^$ z6c|yH6fw5!^x_W5uGl7qz^>Z%;RlC|c>tH@aHU;We-d)sqpf zplQ9b1ZS)qAq$~ArS^D?6VLt!&D8o2qHDSNNJ)?R-v7cL`=hV6=&eskNdBFS_9u1j z_uGN*Jev%)i`ooblJuZ4B=BZpugJ!WJuAhF(^BL0tr>D4p1{W$_2ZF?ARqYITR92K z>yv=#ks69kJ4G~td*_=1_?_QZxSNHdq-7V0(YhJuETXeNra_h4TJ`+gb}VLr`#D>z zGxZ=YyqNsn?U9$qaB+3AT;*s^QhmoOFk>(-O9H-`l|RKXxKG+dOsut@pINH&4o`R+ zP(SwXRY?8uw`rIhSxiL_fkaQkU}I;sgIlS3w%4kuiEA4pTzni>=WNk>`5$%I1JrFB zwAmH4mG~NE)|3AZtb3jID0)HS`l9!4*mBbk=$N%Bc$jIF8^I<{EDmgG*s|Na5pE)) zFb|*I_VCX}39Eij@8ko{EM_ugHWjrtbu3cpolnvHofC7^0X$>&&CKu!z3GPZY78)j zRu5MPR{rRi|CP3NHrKb^#)#uQSGTe}^?abyTNUX}$=6Q{^&DvvK?zid+O&>TR&?0a z2DRE8D9H?Ue)-@T_VAYoI6C(1R@ycSbSz@vcRr6uH18sDIke_6Izvz31Nx*@KKeIk zZJ!6C&!zAL=1|$Z8e*(deRnUv?;ZH!1I*Y{oMQy4C~4y+upGYZV6$_})Wnl~lUlP} z9KP;`kP|a&2>i2TgVD=vsD3UEYcOcb>PW;&ovl={@`Hl%N`o9T_3#u@2E@mvxy-%j z=l1*6j;qcMHYP1<7;*}5VaUvv-2P76)1WgeB}*{707CZ+^dv?Akg`*VG97StEQ$PJ zrCOuzQ^%(hFtjJ4B0X`D`~Vfg)fR)aE{VzdYzs${pN0?JC_19^Ckp`Z{W*fC=@u3u zxX&tvpPS&ucIunaX_fkL(LnEiyfm|6RwRY~UO|vC%I?p;o8VIf5N-J?!II^qI$&cu z@OFL{d8pr%1-p1=hrTBdV}K^c?Q*k@nZaaks3KgWny&0-Z>j*dot#SUs7?oNn^WEE zWqel;{=vR_bv$@)qOb1+6BNIR|9S0osA9HMYrL6*8|pc_HRG!cbVuJa#Cb3>pMVIw zb>h8`>7NH$X%6-Dbd+X4KcM%BY>`^M=M@NJ*_GWj&-T?#PxvUzjS@`?F7W&FYS7Ay zttP$&3whbrGUe;Q$#_7mG#ha~KYCK5(!mY{{%o_53cGIqTN>*_AOHxH3OYk&+O=WU z>Go&CFqHwO5boU9WQ<+appOtXL`%NB_vlJY>ap<~!C*aNzf`{85lf?Tc`yWgw9fB- ze&|O9EjTN37JWi)$^2b4KA=7||FudSPV?ec+@FyK3m<#5X|(13P{^jQ@|y)P`da!q zhuC*~|5!_zLgBnMfoxd*0zsjr=Re4oEWw78dmZM=r=Hj|@*RFZjUC~{VV?wwW@_kcAX!r7NNB@I%46R>Xpo2xvyU_{|DDlM zjh1W(k-T=Bb{Ifgd)Jq5A`@Pf?8Ine>$amKD% z1{~k^hQN`hAfqsIX~(WJM!kh0=gtu~TPa=!R*xAho*a&@sY@9mfWKid+!)fc4AIBZ zrgyIJeF_RFukK@aGL}>==M#%3Hn+2l>K!)(GoSCNCG72}Dcnif@)?}M*pi%ehS%s% zTzX{@QFOp05a<0jW{gXypE!m$hq8FlaJS=IU=g(~pucpkr|TocNLOd^(2-EVGABO^ zvl&{QUSt9JbD;BSf67As%Tnp1J;ACqJ;2qS?COPVvEP?}N@i9ZvJxzFWE`v+((*y?`Uk4L*L4)B@mPs69>;ac)IK zFjN>wx!emf&{o{lDsRUZBSU11H}pO5be4p`D1+KNlZ0c zoB46})}r%HmJJ;bdCkbFfvAcV}kDYR^~X(T#bRI$e=V!Ag&BGpJ9!*-8?eS#SvL z%C%`uOZ35trNcg^o@Bj0x>o}BfJ0gO{h=}-#g;geEx0mp{t;dDVEazPkH5zUW^fYE z>*zYNC?`KZ`-I`Ibu%_mtz+KtwP$Yri@9|C6qlqx|7vz|_1=07@cP;S@*xQO(~bzkqvh#OOjAE-?cqNhz0EAad+PXd^3Vr~0)GDX z>@lKLJc-v>&Rtg8w%q)@#Q^6@pnAwg&sBTcKuQ`BSI6%^Liir}}(lzkvdavEwF@3CyvrTu!{CSs#5xV+VQ~N6K2e zS<%%biUB)jWXHk-4c}y0G+xly6%$z9W!{}sKnimAF_J2*9)Z64HVD6;>oN=AwQvfD z1r)g;oD;|kKQ*yTgwae4oC#LG}_WI4PW*;rZ-icIDxZ+uFMBb}I{u%1N z==douYcV#RodUbPIKFVVhc0xQt5W-{;1WYUj`O++dljnP9+3|{0%3ke{YghJlMrZg ze_NbtyIE_hSrKv@hhYk>Eoqv1xFSLYmnK6rf7e?axRa2$dauFH2{3`3-)(o>Q`rd^ zh7poLH2x9Gd4ImF_!(_b!SLClDbzKT-Fujw&!7@dORsR4kA~lQCu2BWL&FIb@tum? z7$XLrLvYYOH*6yP-gOi?(m!|Q&CVf2!^j1#X-XOAIPnFAr|+#QS}-MbPhZE-Q(p`C zWS|LHUzUiX2ZT0w>p@YZRFeFaR`LJ>$+imn);|*XOkr^MAI30pQfs1V53d$iV6|Vo z6U{EiE19yb>1B|-dxvxBK-jp)CF9R~LJ7B9d&JVL9q)eiT(K;kUxP?zG+hTz} zi1f=bh^pv5pT&*Y8Tv(Cb&~n9=dnT2@P>j5!{6pIcT0&Jq zl{)CR6Md-5$n@fDjYS_R^w)@^ah<~DUMbkLk=xSsXEL*?74+#pxgm>PI9*V0w9S+; z3>y452;Atr7U8#(we(#0WqBNJwmG_9#tB&ggpLF%5}d)Ol8fQo`pgRVO@3_*|F%*t*>X7Kw%BA7P-dib5N>=2q=waT&A zaA1ZaT73gzAc4G~QtHa=isYK_et6U+z)cWf>3f7Pc`l_r0(&5JVXXLcc~@D8XK2R` zlRiDMvp4@jaog(0dk#gRKQH&b59PpLxx()BaEDtGUZEb+XBjicVcmQ z!2M*0;}pCRsj!8O3!J|b@%JU{3scNE%RGmMsPP^THM^^!EJC&`h9Y`o&|$p6s}G+a zZUbG#7wxPoFB|5aG3&pN96UU~mA0oGEJyfOM4-DsFEH9pco(2hp3q=Yt=|vnSUwuz z?JJ4(ECLH+R?ZQM(=Cak9GryG+-UvtbyOnXNDAOB9dW{~Ye(1;db9i9{hE#Q3hfj^ z7IU+$wrc7-u7F+3%Vb)Vz#F)2pqtLePMP0|iK(`R)rrEZ<8T#jp)SkQ%fshIN!Xo1 zYs;HKfM*)-J4rBO1l>J$oE0yZVcQ%qc@}u=73vRM!5KQ2i_3tQn0vt3qD0)*Qwy_# z9^@IRIK(rBg!_WPuOYKf(?>LW1Fu}G7}blL6odn>znF2y<&+uo=;?#>CLn|RU$gFp z=84`$B-?Kb5OjxwO23={;Pps7Ux;OhW9hFjuXho~6y{p~ky2qJn3_Z8QP>!1bbVfi z92PBB!P{QS|2mBlB68wT-p!CYuN*?1ti^#SG>7$#mao)(Tj;Vy_wDBxi7<`+ zN0}o22me0h|Cy*yD;YL<^>GG0j?_fNAFD~xkJ2n5)N$3k@=o6$-zVy+sZ-y6-{6rH zr1Z#@552uc^y|j1sT10ZN4`tUE|FOET2A-m7+s|E76qPM1gh-j_POmL;#%7~vtdu0 zI>Z>^e%*Gs+fF81hvxiIr;{2+0zb*Q73wwz94V68jXH?YJC-dOzO zKER7VUpGQ^?EE%2#pwgupUQB+MXogNtHhZrsD+3>ji%f&{udi*ZP@o_+Vb?+dhzP> z_qTB>2y}2fSuE;{eb$AC-WZ!k28put_G3!D!u5z@l7W%&Vb7(%cIUf?vvBNkjh2UN z2V9(cKoEJQ!jpaYe4g=!#|H(}d+}C(`++%H*3uKD*!4PibhlJTrbp@It*a0o+hrG5 z;>>&)-uxAoU6C`6D)m_>&-HqJx?7(Ox*iN4fy{__g=Bb%O{ z%{k6xEyMIOXv2xwVvXeDP^(CX$KFLKQO~4r5u&_8ReG%GNz;Im6Ro8HAd$V{Mf2*Z zRoiJ&h38#C%1Pa&&uEcOy-EmiD)u~c+PcTqtH)BH{08$(^BehG{QMQsV-hHJUdT;z zUV_$C=jey&hX(xq-{LJ47x=6zf2VjonwmX{@2gGOT<-svse2Uo+d_KTrS|jV{X6%9 zeF(WY_bgLQ^rk?;zlZ?I%_f&_s?ri%>7@kx^4i#Y7syA(3h2b?~9%$&!J<3_J0m^ zvE-DI0{@~DGur8K@mmI;%p5|Pk+&M?%4WyhO0T9n9elVL&`G}rSf=tzL+12e4b_Dn zOoKD8rov}{_0+lJoz@YzHxEZL{%CU|&35A?-z>spzALi+LPU+6mi39?gc*YWt2x4k;_jc83WMhao=9hSW<7pG;Zc9>*%5 z!|!W3K0Zrz`nT}~7q`jzb_L%F64}4<_)oj%6|pkhN++pL8cJ0>!1+HuLhQYwicO`9 zZ3P}Tsz@#-K0)o)@|JGsC9!h)K|*RyQK}OTENj_QA*zTTB+u?H2Jy@_OFp>Zs1Z9=XFf3=L$ov|bAmEvTHqeH>w7|IQCM;=)c#9W@eRbW zyn9?x$c2JKHN){ksr=3SDrLnXGrN=jTvO3n4mX@9NdbV36(=YDm}PJb)-TrD<=zRo z`Hg^(t$n$3*QN^1;96#1P!9^X_s{O|=AfjgdwUpV9=AH=JHaFN3FCE%z6K4tIcKWI z>)$EIk)w(;x2#q_hf;e&)K1{2XAek%7L+S@#+_OA=gqR5i@^|HN7BnAEZ-t1ntx;B=vaNpP*J<}YhHJ#-D9g52Y|LZ6F4)^bZJ$EW zw0{pik{ce%+b#j;bT{anYXIn2J5>KxM8s&FnKxewD0ugyj`@2c1RAP2w~nR2CKS#R zYPUe=VI|NR&}#U#8DlK*aKoMQhxS!h8&7N^6ZhZQfHg{g(m&m%`*VOD&>+o*^hP^O# zbsn!Bz`JP}$oB^ugcPb+@47GQMbZ-1O9p$rW*F;Rn2&nFbCfdnJBi@mjQiPx8PoSg zVhW_Hi{ustqXp|nDQ=d;&@j#DYws`@FY9uPIdCWExO_d3M8k``kU)J#JNyRFPM50G_!*Wl>f79uF| zr0yy7e0V+5`hPT?`y8Gc)Y|^~?7kc>VT%J>SpQIp=XK6&_76#d?$%(J#_&S-&m- zfT(xn@GS|&dKmD=qLaCujMHOLeg0Oe*3_({FgWgcPg(5UVzU;n2 z@Ylu2G@W?nmDi}^O75DFjiR$1VWn1!@Jgv0uTkt{do`#@e1hU9!dVlzXHPFMBS}N; z5|)eKN*!1ES+kN@_VvQ5;fMEnAZPJ34BT_5dal1WS0?=@ zR0$C<<29+XFomxmdt03EWdt9NO%T_HHMkdH{ju%cikz2(e75JAJ))3Rq;?Ad?8MaP zq3sgq%eW_)oMVpf+jo(MziATr{ ze67iqz+@~FD?Lu9pc&FQDr{P688^G#GJcTYk{y;JoC=M0Y`B#L5e;mRU|n9FX<(m* zWSB>`ygQl0nGq`IR2#7(-f9>;w>&UA61sBC(iP>@lAORyM{&;zN>T_DVG;#E%=fSU z)p2UQL%Qe?iho~HeHDlH@6K-{8;AU1fXae#{t+o{-^q#u;q0icQ^fD4(1Zrzxq_Mhf| zd1AM|ktB@t%E>Q)i1}p|+?1?i_q;Yi+TN(JAK4ETll18pQjsmKH$x88cPjP$ms@r2 zxXATM=QZzsd`;Emk4dHS4Ozwp?z|;wjsKd;%VghfJf)f-4I^5>iB7VLF46B|lxF!1 zk>1fIKyc4D;I|lGNfPb69EA3a~IKYgyiuG;_oUDo1()6o08g^?u9 zZ@ETWSDo&))SFOllgkI#t#ivg@5;W7xmQXwrNhd0H+{y;f`#q84ciBQv?LW(8A$ht zajCyzk`ccTg;Eb!HmBwJG;V~x_hklVpT^tQWn*iyysF%ScN_yG*0Z}e6TkY95-Ayx zxRB%yo8X8hd+z4tqf3AMohz(keJI^W4cNB3^nXev#k`!QahDovak?SufF2V^)SUZPTk*W@V%G&ksTheAD*te z+!Po#a+fvgU~_xjAF86=4|%?fAve-|V>cU?Vq7jq0MN!Q4%VBizwbV*)YEF)_5>6x z7Bb&1?)jj_*Oz^#-oDCDn)nUAGxVgBC9~Lp34T zWoMbDW``xBKXpEFtuGU^19c@TjogPmtCF&mgsI+eF?O>#&|@jtYo$mmRh7q2x)|(X z?Uzg$6V7>}sA4FD(KRW17xnfyOY`T|4TqGm%T0aBs-|=1+^XNx@;)oa!-0;Y?OvMl z;ZL9jQs|Fz8tAghiy)O%b%Vv8GQs%w*yx73fam70A&Cr74!4>%ry*D_(?0VDHKKp$ z67*eemWuIUEXZ zuezdI>ZRuW#HUx?;%Rh?rixq__s0As#jT;MCmD6PLP}q8qw$61bivx0;W68H`Vs}4 zPTEG!+D}#$5B$5Jg=lX7&hO;7xO>?A3Aa~KCCTW;g1|-t>kqY%Ncp!?Dw0Dz3L+BC zk+dwY^1*lot~|C*q$1_6s?(X&$fB(?POrQq^9c;Q<;MEsCU;i^r?MZncW{r9IpxS= zD^2ps50msN)KGnL(NJtQKH!4L?=~2+oQ|vmNXB=c_1gViY^BRbKYj1ZG+ktvhw*ez zrU@ey%tJD&MhxjrPvJ)g9>@o_1kH2CG! zeY3igb8DSqlE#i`p56&YNcJ{TEp-^um ztLyt{^Rf+Z-@K~bZOy7u0u14Yb9z0FJVfbpPhRWM zIs^3=+lx%ifaU`!+V?yK;hzxNMek7O(lS!s&lvfM&c^a{6nnzp4Pjv}l6K8YIYv^H zdh_UR%_|Ye^q>T**ySpLa&uC`3fVd2QJh%wT%Ls_(qMH=&B>?7?qtN@j^@(rfYnoF z@fnu>x_>k-_|S*udPTy0O5Et_JZX-_2gG0%k|F_eE<3wrVHDjm>=@@$ zrN`+u73*QbI>v?SQ|xKl~X!^HVAK zjQJ;G{hRhMx0&5ryRXJ|1Am#+9+kR6zPaQaIc+3PVi7HC`_cKOuf=KS@2~Kl>1giW zzfc?$;1IaH8Hz_zr7I2mNa+>FvWUk2y-5kf*%&f@pNc$ zGF0QSQhHly*^3(BW6IQa|MbG!=rT4%3(6B_?5~SE++h^LA3Q%S-7ww%6MNl+@Us<< zfAI>#T8Go^$EsDbCJ8OMuyko~_|w}#4z>cvH9UKGDD+n89)J`2(%r+NaLTMvX!vI@ zT`g;IX9)ENGI2m^b6%r!Zn#KtrT$?=N$^_E8Ep_geMtAA)I3)&yLb z4L!U5vo?B~b1oD$Sr>PthQ!OdeVkvO?$)-^OMEfXQ!5)1@+fRlAIIy2z9Yjy?~d7_ z8ueYhmu66RoISWh7E{G3ua&s4O0z?Sh6ysN)JulsN4a7>5xWVx&r?3Px1GK|61dK=JjBOofG^8%dl0;)b|HFWArUoGbxtM{*A?ywZx9CYWm9c1E7 zkjbY9P?h*NdRU-}AZl2NW24q-K)q0@8|Ir0w<6 zUn|+GMHqDZpmAXEoH_3kHA*Cx;u&G9nN01tZ)7qg^3iua7N~6U=eh9Fcj(Ze=kVcP z{yD{!Ud(`%Hk1ZK5xRlluUb4Jv@y^)0iOmF)~ha6gT)UW37WUMzSGlKMuOEdpIqtM z7`JqXO5)^yIJ>^qvZnZNb}6%27du~T5Are-1SLP4S8UF8i|m~MmHY_}eX{qp|GS6Tn;P!3b|0ggD`FIt_$9RZ z+>nR^2WlDR1JQHsBC?_@xG4mzvBkadF_ABf?(3-;p7^w5@>*IzWOqw<(jnsWYSZ+ zQq}$()nFyE-!-w-r7t@=<$1kaD=Sb*uGxd{_pj^r`+}>EgE~1mlptW?A zY&f+5skVUBlp8sJUG_C@Ehq5O>Wibl;8ZH?a%nCMw}cRbGZo&~?(<%mhU4Ky8mQ#B z(a|^01SZ8QON>yQiuDdTEv$K~6h`V8NNpNwE?`+i?2I_I;@nmx{8CcVbErV{q84M- z@Hvm+sxkxU4aFGWq5WdSr!!y10S@Z8w}M97&elF*+AVy1j2wK=o)K{JH_Cra=T7Qx zeo?MlhB@`lXF+efWq+v3qPl5Z^rD(pU@1?Y*j-6(=M%Pv%V>_=KLqOH?R?rV zRxn=9(r=E=_SLmic2Ckf_HLj{ct809*d)wb@HHxig=ntw+M~b!=lcRNpMqpDWabv7 zB&Wf=Dv3O)KR>7OfNLxWc<;fg<@eQ|0^97n4MmM_m4~7oa-3CL%S}@7H5*%$n~$-A z_W8)RddW-}`}%HlTR9u5lFqQ_Da_f8Q@#pTr1p`|g;FhOKB#0!WyQWopk6lCcN~+W zorIUrWvdEVXkM>ylhCes`2ETEmnzjLq*}3L^RZ}HL|kRZL%F{SW##(T%GgDaND3OAbQr}xI@rovBN$xbqpEpO|PsN|o9xauinCkm@w`e{&< z;>NtX(6iF;T_#c=_3tfg|4{(0Tx$m{H}Xo1N-bB-eZ)lj=$4plLj^<=2j!RJW?{>z zFr17I zv(#58ppyEw3~-~ncPVR%lGQKKkIPe9zNfMO`45NK;^2nxv>V}~meA+4v8?|rS!rAn zUq~Gw#nHB9#hsXIkfPWh5UvG(7LO!TmEOETFs5!NJqoZqP8nUk+h_a`h%W(;x~xp7H49g^d|Q>jWbtVn02Pg$k~@zBrgr@36|Dpww|^Yan`0KP^yY&gT{4 z7qh0wcpu$=vuNbT@M00>uIbfbi2^DXH@}O8aj{eU^VJf z=0W|*VG0x4LW*kP_9STMWoDZ~&wEvY-g4Y*zMLxip+ZtABM8>;EhChsP_I=9bV20c zK|y$)%f2?BOJvtmcl`I1SAj>4k&)X#Sjz>ssXjbgb8vn55yD}FaznCHy+ulDs$c{v zfeEnv7f5Tq7c&txSGE?NBsMJm;E5!!8^2=H*{j;PHHGTMSS6Et(zZn z>BmHm&6-DqC|~Kg0hl~W*T4*CrROOmT7fjB(##{mzvhm=P644EB8uavK{Z2A6xKAF@?d)llvjItz%-V(0K2C~ZsGct|mqmnf#P(sYx<}6^uBf6n z>Hx{Kk2Jx6~4mK(E`}d z<)Ql1Ll)R?k&GBGoXR{F+JIPlg`u-G^qzo>Ac-ebQa&YOIEn6r@DUox9yopR>HEc( zf0kUb$uG1JUd+W-v0DvoVDxb%yoedth zUTZ#}Nk;{RkqvYC9_AD?uT&CObdJm*(dcEYmbl=cT08=zo>A&ow&D z0kj`$2?}GxF)2okG_RWx15l8axiZ1+&guvl?K;YlH+UW98qR2bmySw@t^VZ{G>m&S z|3@dtnI_sC?5!aU#=6~Kk+uU98ue3>_yc(M3GgeVV%vMow#}O0Iu&(W^fo70Kw1iF zh&Cs343W3+dA!951*kJ9v6pveTEidsP}e=^<(pCBiF*98XPpzrHM5c)3l zH@t`mKS_aql<^1;xvu{odqUCl2dOR8X$ikyEnKYS%Tzz{RP*<`(pMrHuPwH6Y+!%c z)|$eleIatk=Vx|+s{{X*A3gHBQmBgZRIz^W=pbFsa0gV{hqI$W1s|$V%3x@Q&gcH%(=t;Pq!-FB;uH-;_|EaH2_`;w)mPI|r_lZu&+1(trc?S%$cy_Qe#C<)Ee zLva<2Pf`{8lP8*|MDHE|f|FCCJ{_td7j)15H_zKZ-OFwK@T#_f)Qt#s1T1~%|bpr@z1GPfSKDXW}Og<1~{?|I35BOo-N>@f8vo+D% zz#rMCHgrQl>gRg|r~7|*(~{DGhQcqg1md;#U4AUFUVkN(zCE2__k2zqno$V8#68XQ z^>Y+T`|r!7{#=KNZtmZ^>`2VB9vmu$oO^r{Ra|W2X5TKtBQ42cybJ&U%ufsJmSgO> zJV?;~MIzj6(%~8&zxP(i?Qh-n85n=#LIB6*CxZNK$EK3{HxwOyBaQhln3CoCtWSir z&6#0Crsh3VjX%Jqg&nUD!M%|&BPkikwZQC*)A#(#Y4>lFN9%vd%e8&^SZ(|gr>GR6 zXvuH=(}Rn08whh%3(b?1J>3Chg&5m6bXhj01rciQt!yM1bT$05Oe$M{-M0OFYq&&k zwG#R!h!DX$jFMvt`Y5l}yo>@79Jff~tcfh^!4zj|~*kJIXTwTk}xo;!j#*^o@Y;=&+sC zP@wYRP6n+m4jWitB`kY~MHIq}V-@4(zfV#Fk#dvlyJv3_IKB8RP2~ItX9juMyt$z$ zr?=?NvEaSh4j;GP+5uUVMjmDz)v9`JT@pzb4|z#QUk*Gx~#sPN~Qex4GCmehA$Lp-+4>C>g}|4E~p z9A!0&m`QS%xXUM>=3tAMLmm3B`ZNQA66^6Vig=V`Zm4l0xHg}EdurWL=q8w(XNh3g z%-H^&ohLGu9GuRt-Uhi7k2ihe6#}SMq#v)vKH;NXeU!yOaw#|__4Z+QBmTrfwroCr z==R}G78AHX+lqVYt3G~B%MVn^Ti5#+o$9cYj(3KTUf@wN>8ez^yUPwKJMtnBec8%H zrD_HJsezA=&&06qOZBbVEWI=19(7<6f`S_aWTFg&pWv$5bC;Wa{wp2+Ze+ING`@zs zHUG5{Oga%{Qr~NUjP;s738VV6^nRa=`#V75OJ$p%gB0fa_2%Jd54J_5NKQfJbUyZC ziis8^1YE21K#uYFN_iFIE3wYV`BAGc6zM`1i`I$r@~ zfzZvjK_+eS=Dz%+v%45^BU5(oH3FJi+NifBOF#__fSd_4#Y6J zrP4t0iT>;p9(#_wiKNj~FV^^fRPFC`Y@&9*ryXl@DS&J~& zt1VdnKnM##&+*#6L3W#6X$)Ru!=Cmvck!=o%f zRMI|AyIQaEkSPA?U(qZJ?voF<08WLZGY{MJ{>lMgUtZI`njWm6xhq(6_tHAIA+da0 zuQ94E?(hn(fhKj+&SzejA@UK`S%eAGa@elwjRDEJO(*xuR!pmSJv*f9;L~zn2H+sv z#);nc1DMo#(mo)*8H1he-775&jC#uvNRJgJb6p{qd_aYlU{sx0|Kh3%uP-_3xV8P- zUv54ry2Ff>cK#X(ekS2hYrE_iCB5XZL(;SH>g`8QmqBIku{dwp&^)ay;BbvgV(XC} z5Nhtl6W5DUhRbe5xan`e#l(l!3JDReHdCa~;va3;nM3reupG_({&VZCNz>~`91&p9 zQ!Bg(7>{G=-BShnY7R_rNp4I#0UZu2Tw)Z{Y*u;vGoL-WfkD#?Yl zAH^D#(saR(lG+nK@6m8fm;wk`zUU%)*l-%l&_Tv^@5&`AYlt=~k^?Cic-GC!~0Du(E0& zWc9}#=j!;SB%R%oTjyBuieh7D;NYbkjbtgG51HY!T-Nn`FM{l)sMlRO(dD0w zV#28fa$Dv}9#gHUHW;;Exidn_8MkAan%OzmhvcCK`CxBuE>3B`yRf{L30+-0L~c~m@+OUQ;)ZB z32nXI+uf_Qw4R&u1fQBp_;s-)f%oG zsE-b6(-F2?CtAYlpmyw6dG@9mMAk0(3I2hq`N~k0%B(8X0^5^S@bRGHXtqXO8#xBe z>k<8-bN*SlnJJ2LCGzl4M$xs#%Z0aHCAa*vFZssW{NcjIZXchhpID^!h6BPp*d zj~jGPtcAw14HIk+YL(p{_lr;~}OSWk$ooF%BY(V@F7Y4POf}eW*(w`P_*8pxo zy#@`9K#QyvBTbT{rEA%>w3Tt76SaI#n2Py?!AzH_dW?RzPY>DCN~PVK{CSG)MP@sS zH~v0j`7+B@cPLkc5tCPsh*;6wKh~jP9Z4hCgsaXWg2~0<6!N0tQmf30ILlBICc^c*rnyR(%j-{E7&D;|$7 z{&n8cEel21O58-vJ^!mbOv~~0ZSep8{>R)!%uvs%&i}w~+Yd`AP;Ua!J}{*97I*Zn@9ayr(jA zD;FQh+KrN&ZntWy^lI}CZ~5=EZf-qcvWtK%WP8=L(Jr^J?m>3B)0_qPPXHXG(|MX7 zkX0G{D01Wnt}nJ=GeGOPXnSiFEu{{aYnJUap}%aqsl^Oc(Oqc%+V&V3#Z1q=T>oU- z{gy);zjZiBuPWhaiV|uW$~R};QNGRq0Y&dItf5Lh%)Jv;?3mt(wmWSPO*r#(P_3e1 zSlgmV^br4qQZMo~)uTeYe;Tp=#>RyqMP6yOzG$%+7?PXWr4?_bVY^tLqBuy#Min#)fV@Xx3-N zcpBurLOV%k@_%%6w{Fko0p!K=4V+SSTTy|Qf--ZWQ;ScUIN0QRc3nsBDnq88zxt#h zVtYX9+rM{F0v^&5v=}F}%I@C%{M?H2AEX+@230&Zol_rmTqIsbKVnD!84iBj0J-? zGQA1Iy*e96KTUJ7!c>C~m;4dh(+i4s{L9?#dQKQ6kCQgO>z#eOXnMzM)9=vZn1+hP zy_UCc-*CY)fBV6+!tlP28aoOaejYpjU(K<|biw`ONW_wjDwu`3^i6+b{+HcS+mEoW zD2VEtarpGMPH6zi(TEvur+=WL+5oo@A@)ZjfCG0Y-cD_?w(nMy=f^PpvgBlMqG{J% zQNmPJjpRREMSX65oA0*M9ll)CRkDTC=d4|yypeGu>Zg{G@Wm4WY)wZFj0nOo>zw?peGwGxSgYX*Ynor06)MOlIG$yhZTnP%E72 zmiYUENicG9;~xw!i)ScV%;$biHzJ}7^!WVmPk(ei7WlO*`4-0zRPmG_%!4^vD$SS0 z2(R!m!H)|a(Sd{G?sTL4QEv4nlG^jjp?pom{Ndj#Th=Cg-=+<~^!m@~5=-h)Hl9UC z2BYW7kd9KTkZqWQH*#A1IQc7{NvDLek9~+VJSI1}dD~M{ir7I*ClFu@Ixih>T!g4A zplR0l;tjb>Ljnde5jg?&iA60X!6yo?6?R2)C&uH_TvUd zyZPMN(8KpRP7yyZRGc4}oox8s_Syamr7E+tNP~K=A)!bZF2MtI{Iji%{LBF(G z_^rF!uH_(wRhI8^0>jI-|&s6KeJHp zVJ+(!6S(JJFiN@5h!a_0)H*)LzUJFIQztNe0Qzp7@&-Y`E7)5I6eIkrO%itOs38B% z0{*+IY#$b2;!+P~VQs&7o^%Xk7Y7mREBGi?^R7Jn%OuE!-!cHLSVEFVI0JxhTh}~8 z)_$4z$}2tpLcH`wiN6K(!x-ajNu14eB|_`GXBk8?ckU)h4{GtzlcEz*Ung$UkpJbnG_Kx`_pER5z3>_$$b%>)TS4I9;Sb z^&!s*Mvx(g8s#dAwNVqWIm&)=b~@Df)9ash?>MtrfhtEJ5xNf6nS~7dMjwmRwxxU; zhy1*k4liT}PlrVn{Gz1OBq9kJ@&rk*<@D;2$2O>S_1uBABs-Jcq{VIfuEu@!w1VI} zUMc~@JqTqL>P;lPMjI~aU>U~x^}eW962|lBa%0q^%^psbLHR57SpIr~RZu3~y$-!$ zaudbKH<=<1naKhuBI}b6HxxHpe;nMUtIA$@$K6CRkA@!%CFWtd8Dz17NAv20q=dl8 zN5jJr&e<;~;LrWu4vmX$Q{Dg10)P)Ta>*NmvwlkT`ZD##dmPCJQvx?&D!S6GcbCKR zB=wKsX%a}NL_J_b5bRf(y;Hu+o5@=-xnZgD%}#)FxVK91`=wpl8AoNtNV4P1Mqc~K z7Z0VR&k_6uf0u_mK1Y`!uS1|U1S>qA)e(?g`4bRZt1r7wAg*hggkKHZzq|?XW)2d@ zld}Fffli?3H-TH;Zg{GWV>N+JxK_XWQZ711t|syVxb{cEgHjv(MtM*!2iZo39dVUj zI9+SGegg0ew({eQr6aRI_ZIEr`@$32{~1-3F8*GDJSX1^FbO55l|-It$XFU|)0QL- zrt*}!^4KvL=1fU2Q&H7ePqhjf3B0?$HgCFXWYfXpcLKxHTOu||U<{sf$|QXklDzH< zR~#3p4gx;mC~HBGoN1_%1bBoRLranrTL@y*>aEANWD@4U*VC()>6~js-mI1U68F4t zSJYsmKUWTj2T1l=D<2$m8hiJ| zmr#Y#5MrWWDq|yaZzp9U`(_W~U5YPTOn#N{j0Va4bU;}ysvS0qXcm9v;3ud)vH{o2(-e@Mv$l4)6=P@d zd!?B-Fa28ocrjw>C``pM`-~4b0r02!tI9;`gA}`~_F2&fk0r!+u-B!*Mz{1#(($47 zm0nl1VuvA5VH$cB8~;sVPxjK=v5}&KS00zzh58jk$jasyem_)%m*29J8(iM&VOoDf zH&rp^-huMtA1>x18vPfV7GE}1Lx>$#Mvmz_6UG0ncOf~jp-?K|Snv@yf$4m;p*_&w zIkBjyc29g_6uq;SyIichp#L! znJmV&?74oZ7AGAdcmKZ%P%UOm%I`lJZsXK9?4>FE}q!%6d&ofRdN zy@ziexY(L-)0oqPwNo{F3IXk;q8QVt5k+y;+<-%D|I*_^LTdy8ZAgKyJ)5xTx*uov ztW>hwW~%Z&rV*4;z)Gw}6#!xU3mr@KVWjxf7z$XL%Y@k)*aRyKSK0q? zs&n`_VI?h{;X9e6A<1ZSWpHDzi{{uce?tE>^xur`a?Hrqen0v2-KlMkGT8r_G?eYc zdvgiKI_8b=@zL+;EZfN*uI(|a@SV&LYf!fI=Q_G&#}~x6`DFvLhtRakC)eg}RbKzg z-FkMFy(p?`+)qq(&H%z#%Qts8#nc~bZ$3C5eDH#8tl zCa*8!5w(2Igqs4swOW!C-R1h(6Jw&~J*=AEO(s~?68B88JeW;}AeAo(T#k4ESpvpR zn5ctkJpi1_R|ktm=|5DKviV8hUc%E3T-tC2xqLX@oIF#Xt7iGF5lMkXJQw;Ak#9r& zQ`~^d`-Z}W>bhqiSgOx#Uwu6@1x?MkY?h$w)yk?H=I6h%rkl)gk9IZ9j6(oW^3dr} zG)7RMJ3bap@Hnm3nJ~=8@&H?k?TX-Wo__$Suz(z>&-QpZO}i0revhik-Jcj+^TahK zhn0K3O0tZ3&lYv+@^lu4QLld$K6(z#Zsb{L)o{!Gg^zHRE^A|g{OM%!@i%So&ijIH z@%BM9!W9a}Keh*d)!C{+Wb88XNB0)E!~!;*!IQ<=;IYS8{}}zdwJO(1X(RMHTwR5L zES8~&DRYRJZjc!`(lx;fg44rxw3%w|z3n&+@YdK%fWa*bk-s(BRZ_xCaN)0?D|?P? z;IUxEEpi~7a*Ws|Cj~Vczq=l8x;8a(hO_Rcq6&Fvr^=SWb6P|1d^`081u#Lb-5+Lnm^)@S(NS%Mal=@{B4D+2?t)> z)t@ye)#ortv0|ec&>9o@guJl!bepH83rmO1mm?MFY7Qx1qso676lXb=K=!r$xO;QF_mIIBDa9pz}b95d=t986^LLYl&xkE-- z^J`Gt+N?J)@-?QP?|sG~b(3bt0+HuPw@|F|OQy`e4aVmw@mM%VlhE4#rOwi?VNWoR z6PcY1bk22@d!m5mb~$SNbaC>VEa-W9C1_m3SKtk1<{a5L=4@d^MzH5u! zHK8_Ch3O6mo14}s1gUh8XUE9(civG*oda(x{^7$~Jz31&XJ5#F-Z$g-lapTUUByf- zoVgM*iDX=D4$X_2l<*KgzqK1Feg&NE2ms8Ew<1J>bN3~Mi!{|@D%_)_cPX7UCx=fO zy`8m}Fa7R(yfl&$>`}7!x#EjM>gW|lh2?KAS#0#zoB&(d!K8soKh(T%-AI7dbm$#= zpCz#rc4$3xzy&R$c9wYPI%1m>{s(rlwN66vBl)tlRxE6)j6?d^h#3#(HJlhd^;?R2 zrYi;Od&WE+!}@l#U3&Wa_Z@H5R~Hk+z=)n6rw{GTK5pl z$3WM1?NSHBj^;Q2QCyz+%(Dp9alQu*=;p!2KOQ|VgnUE;nB~MVzTe2(Lv>tChf9H=< z3gc*nxYmaq3RjK1nUWMU80E>J#Doyar<+GQIrRkggkz~4C4m;mlDqyfw)vu3!HUMX zh`=|9JD3`>{unyFxOAvDOOd)|#-jGx4Y?wF6dt%~q$T4eBL#9c>aD z@!-C4ei!E-!))V?WJ0q?mYS$S5n%KTz)Pw|!t72Ruj4_!S-1IDZKZ+2xGmlqNUfkT(_T zSL7CEzX_Bl#95B0bGE%`W(N+^myNEXOlw^4l<|Rc9%F>?xO3J_DI5$upjki-U3oA& zCVuYj=XR^p6uYS%ZJO4?x}NQ;12z7o@mEb3%6Tdqz%OlI6ekHioS;5!2C-k9XrEK-#ODCou)!Dwj_Jz-+kY$9C3chcx&Pn-h2Mnv!< zhHOFK_5itL>$q$_FVpW_fnmPRqki#kbY3n|HD1of6T{LEia=dH)zCr6yBH^~@u4?S zn#EfHz(wfKl^9OtbbK{y78HW_G3f+m3{7-yuS5keCRW*gI`_Hbczw;7J;ZuY_^jdn zx3~)hl$s|Ms8Rq1hFUbmGXVJAQW{2M&Y<4dMNZoIL}(UPy$aNH4bLk+fn4DBc}PuH z_gRjsn}T|x*=2Z~0!~>&ib1SH&>-zVto9jLKe5IT+FH58QgAF_xMR}(Lw3OIBNcj) z5G;MWv~;s_MG(1JRGs#NNFIZ2{-*AraD^>xxQ_qKlvI}t_P?>CZ)}G_wapR}Y5FsF zvi+x(EMKFyWFF~Z;;OUfYTy?Ca&Z2DOS-$acrryh#J=np_!j6F>(if`+I*#PbQMZc zP9^C)!5L`&qJG0HpM^;7wOr>>XzzQ+Z2_ZS zTtdbn&n&rxBALVf-<+p6`J1M~QjP5Pa@uhPVmkv)D~*UJeM~_SSu0B(NU|+70Z@uO z8@r`j^lnSBQ(5fbFFC)>&3STxD={MfPV40;!$EvXg|%R_x>f8)4SsEdkn+Q`iugoV z^*nPO!IIH6S(tBNZLYN#f|Ro8M{e_mr4TLnY%1(X8=KioGz^V6DOl>Bw9`~&R%&iQ zjpt6_JZI7uqlb6jSmS{uJ=UYjD5ue-(TOtqsym z$~F+*I@f;`Z zfOjQ498rXDWRPR~br`;mLD2N|827;u3Aridwx(*h-UpA{6u-|zb)Ch4HTMw zl#X4xSgJO@=|~ycsvGDa2Ahsh#3WbCugadf{_fGeSHsNNO7QnD?f~nHQt$HfXTr&> zW!>p*%~xzG;_;2XYQ4jm2SfgLEmiE=SD1h6*A|)8lb4%v>RFBvTIm40apZ1A0VdSK z5Y0$x?$_uxKJlLRy@8QBSL*1pL#_14Q4Kk7*wn>!M!)G2soi*NJ25sdbF?R#@srLv zUb#8vX4zQNSz^Orey~9XKF}A0S)8TMm+?hwBYUUeut_wdaZpaU+|8eY=xJgFyH!;B zi-^_uc1t6C%a7nwyPb(`K2@w82C1N0$R;YRI$DaOCFk$K6BX|{^i1y4j1;NV(3$i* z3$hb`_5^mt**@Z5anc`;y|1?wX7g+JqOr&r3~F4nef`&^`wae4Yl;wSuKjRw_Q5XR zD_8F*_t~g|3h`eI$Pa$shkeYeML>pnXLFa(62+-jK#w)XeT&{KQ$vW|$-ehXer;^8 zjhj4=WM>kVJ=J`7THI|ky!pP61pkZzde1-R>;K(i8(Ak~{1x%{_qm0!-Y}%-x36$N zT}Qb+YKKI2Md8S`SsKeUS4jApT3@hkP@UL@e*9H5MC)iPY3V$1u>+GtteK6{z$alC zawGbh%X5*o8Aa9PPXc8r;60AWDleQlp}!LcbsroFZ?J>ZnJNe=X*bSP_$aYV-?Srr z$%m-hZ})?8GM7G<5W~df5KKEcz@Aw^?$>w?MsXC=teg}Bf&F>+(yYXB;^8ylFnL>W zpP;W8-xY%j=IMf?USmplSwK8bN$Oo#{0QOvAr8!CUITV3aaBJ^#e%x!(s*CAg%@8C zse1iEK^9>AA=Y=fwDg46^kWx*N#@p#JsU~*j@a{F)Dj+GbzM7`dGhGW2BX>P;7YJA zW=V0*56%4{oB{+%Z68DLW26=Mt70j}t>r_%K2>dm3=Et-TrtfW==@%%ieC@1J}#vo z?w^1B9_@A`?c(fOjG6MUHyOd1Ir>=|FZ~xrOvCl({mHNW5XvaBXuIEV-E^JGzN6Fd zBQZEorX|6&GF5>FF;U;*JUNagOV(`LGRC@tn8XIPsJ+b7GAf&K-LqN3aB{h>C@NN( z(bdrhx9|xycR_~~;e)iIP^=R$0#g-_XcLP6y1B%&%)vp+`aKaIh6({MlisXV6TW;Z&_ z;p#C`W=t^dbM5%UgKIyz9V1HmN`R%s;I7T?C^?O5DH_wFK1d18X>?0C4G)?-5&5{s zMcD3)>u4P!uwUR<*Qo_63(Bf(`@y~5M2YP>=6T_olVt*(_r48wfFrcHj<$o&A@Lgf zN=C50A|8#?0_Nr+&|105Zw0x+p`lM1H%7K%j~A{!ool&)XXw;u4*i$JP?VcXCejg= z;d4|fR@CJnFQ~{0 zDP;!+b&B_O?)o`qgw4XhklMPdrLA3%a3A#netvI%Yf91IHW<^gtJPMp>Z)_dGJiSv z5LPt&?W%C8Q6(0Na}%=Cq%1+~zN@3d+p}cOYQ{7w{KYt+DT0<17J<|XXyDHs>HU(5 zr%en;`Ad|QZB6o>OvsGJ8BuHhXHnA^T4}(OsYiDXqJBh@p$9uMgr^UNyF5}Z`CC+Q+!*#A=syBI@4MOZa58uLT)6T3dH@5bbG@ui3-iB+yfJ$U=_Zo4iWWDify6E^@}d0QkDc6tbj34s!?_vsEg|VF@XxC6!7n$$1Bb&3VaTIgSm(oVMBd^!5AW_y7C9`+hv` z>wR6<>-l7sjxU0{t1kS7|CcF~lLi{^p5Li+BPwZ&3ZUgJHCR?vuNI|xkmq1h{pizk z-@fNY(7O%wbM*PE)yWCYXYXyhNQF)w9FC5Hr-6g#*87d)RGd_v$Al0P=)1PY=4(Gv z_JUua9VsIE_=W*F{DJcUBp=}-y&^=Y=wCEec8Ek7aH#)md5>{dI9ED%;fh#NnZL5kZkubm=ViOf_g(Y6gu)vij`)C9(0=%TLxAySLS1Ik1CF-cTB;Vn zDP6Yuy4fdj#N}9qOEdu**7|1$3pEM{#EQzAC(@JDwpLnARO`|;hhO7m7`sGEvfoj# z@FYLf*W(g+U&Qr=rOsN2i8?!#3I8n12R7>-`adGqkUoJzj(HdTqas7QZpmDfT2jc7 zRLS4WlR!4vf<5PjWBP0T&?m%^bQ5izu+8ise{WyzD$c+9J2Fk2@6rZ2byWT4Vj>@0 zziIj_A!?hhbAC$ux$ejBP4}OCbyoGt?)-V+dbKFD`VNjokwz2Y(9EV+<(pZ@ixfFD z?}vV!_V#vvZh6_#mXZ7iYUv>PNKCx&_sbCccd%XjuLNPRt7JaKjra308tl^MXFK(I zWc%jRa#BLfGdZim&mgRDZ({m)0-@d0ZaVj^cD)u+ZAf$jyr3pNh8}d;q~CSY#r>E@ z4*4@U=i@SA5Nl~UQ+iyN`R)SiZ=hY#tXMtg!HMB}rh^u<=bo1!FF(xwX}PK$M?YRk z(zX-&c=`Ek@|WBXz9I^K3~-~rE!2J!pI4U3mQNXy>8e{gcvf9qeE~{A<+1Dr*pVVm z|JrDhOyE|k%u{Ace+XJ8hpiEm)`IG)r3?aabyxOtzdHm1?r!2sOVl|0C%)Bba!apu zyDkh{2|!%iTR3XnyiwmF;Y6RFFGosRYcO7cgM;Ql(ab^HZ;Zh4+f0Oi5$#mb#WOIN zWlt@#4P*T^J_?qnFfOK=toOpjKe~s0qlor7E$njDY@~boZfBQhkgNO#o_0bV-{IND zgEin@wQ?>_SjRMAaNydWMBXTH-rQ5u_`6rF0c@4o8EkIr3$vSCU#a^ zOYx6&>R*~D-)yiM%=u9bwdkhSn~*=WnMJ8Sz)dG(eNL1Qs8I>!{}M0j!Clu6mOF_j zwVx(wy>8tIYDD7mOJiQAEb0T4 zcasd+^%`jQ@~(5VMO5`ky@gz_DC1evOOi^lz{7)42nm|1Ujy{boV zQHdu#s9yi1^aZdjL^uA7&8Y7+g+=QowGye?EmC#-+iK{~XHj@d`@{`XyA)jL&D4W; zepw)T?nXDA*8$!fq5dHf>Uj|ZVBfBW8DBr1ybkgQ@RaySQtpJ>vgu{qe?MtpB#)=X zC)8EGaWxWn8phj0P6K<7gGou}RO5u&0Wl*J_V$ANn#T4u(|!^3c4)b6ntTs{lEb2> z`@*-2JXAVHlKqa)F|qN-(MW4hWu)|Zf?)W}G(l?E(!w9D%QjEsA5z|poW4BJ6KTAM zwl5oH-olM#&Ml}#KQAdnyC<0T7h%7&N|+GxJu6$Zxo9M>&7{I|tn|TAdv0z$7#@c- zf1Tv~$__&EDLOU}7W&|EnFlMdH;_vNEs##?UvK#>QxFq*HK@qjjFXHC=WlQ=%OvL2 zRcvIfLvWqL(3T=k{iHo#HSjwIX5VIJ`Q3^k7+a~+;0Ir88tlzJH`E)co()UGxK2{~0cF82g z{R#}mRUvs6xb9|;ADy1-Z_zW9df+@Ocz8=G2HTS+t+SVP^#G zeA+K(3Y#BlU$ZUvDfG)Ter_%Lc+X6__!{QezERta#nK(4gKq^984YWTFS|)&wg(P{ zOz{$LBH6hIqyton4?tzibX^V=oOtO(#^t6l1b4no*$KO(zvovz4@gBAWh6>zA&a+_ zkUHgobmza5K`(x*m3?Cm5(Z8d2n`fG1_Jf25O{NrSWy%XPL(l4MlXMrQ)nFlF{dk7 z-!Q_mN(1uI9kE)Q5ibO-}9-%`9nxt*U=LMbxex_NAn+Z{QfHdo`i;jJa>t{EHe% z|C<2WaQ+9|x2C=ps-0_Q2n*16GEAUa&mEL@U>$mqLM1D|a-hy|vR|r&m>?4)RVtPAGQxZb1qBRBYSQ z2r+vWpwn5wy5%()lXuA&d-0 zS>|837UYVsymayo-AC+G=eP$fr&^9(%-R0{hkLmSDbY7gtyfc?D4q=viKi-q;Z*F^1z<6$_3fsfyVFLqmGEHWA*EnmG@pXufu9Oz$Q8wJ+ldPStGtUg{6%Ob+eRLMBM; zs}1!dSzYqmByt2Cax_+<*k&@hR#Nb=CATbwv!2qd01gmM|5&0aKi0gl8PIPRl$xx6 zeQB9}VsK18^_3ckPDsofERPT#1b1H}Ohe3CwFA?vo(X42&XGZ*K>7vG6II6*s)pdc z$8X>L`poDm2KUcaPb*{!x$Xh%GgW$91T!Ys)v4Zf_f5jF5@weS``dl0A?HF7#Z~(T z*PYBbPd{SQ{)PVX6N?h_ZNA)|`C+5pP!-4??X@MetN8qm_m|EF*#^@?z&Z~Go0$$n zYE%&_*Fw9*_~2>V6V5!p!D6eL3=fXeD;nd(H_;}sEn%OZ&fWYf;>Hagkxe?4A}v=W zmr|>%G`RUo>PODJtuf5fgzw1af&6~}wCT5ZdFxiRFws${%pbNHkm65gBCh+CIz;?9 zy_6wL4N&2a9u19syQqBdc)}$+(B|FV`kYD|&kD&=`||kbPf@>kIggAuz)u|x-*TG= zI^glr{adLtFLZ;30xJ%oe(`7Kefz1S6?hrP5r50s`|UqOBPK|TF;~re+OTn^7_IPZ zS~}h|P|;v79@IAJfPh)U0k91Z-vxe2sp@kc-Qekb?{w^d>RfdyDkqD!-o{>U*r@Cy z(#ppsz>78bgy`&KF#;(dc3HEl6WjI<>DEB*z#fSVxeGe*{09Za<|&)ID!BGm$L<17S71M%)Xu zl=m2f+mI0bB8246@v12^{Kjd$**mqq4|aOcG{MrMmh1Ava!<0_y6|BygOGvj@8J&L z66=oU1HT?&>Pb@CT@|n@=eUO#Qg-C$(~vE9cYS!drKzE)*QzZ5iA8 zlu{RtxjKk@Y5`!l z*p3v=9@2MhbuuPRL(pjW8qyl#c*PQ5yHEMfWBiG)cQanE6g}6h{;h=HJazWU`n2Da z!A&O-9am-JL50kn#0UT)LIXO1WX&I_5!7a$%3S|==FGSubfIAf-?3d!A%~h2SbStv zAojQifvbExcvt?O$)%O&AXQ@n8D|>z8F?buefl>x9SU zQ($>=YzJQZsMntTQF&LxhiQAs8~Asne#n>B?D7b_-yO6LRRYy`#rld&Q1K!F%Y;uS>zPX%r)8l zBLdsC7QvfUuEPs~T67y#amwM7$0`Qnmz94%sdBZjHU63`DgU=J`(gPks4IOfYE$}b z;)$OGsvLX9v;gpEpaS`l~8Avs4CojbP_8&nEW_s$0->D;8FIuS0KX2}An za~6+y1ysPnn_7y1SBJpq zYggcgmP2Su={6G?^P`t>IP28cSpNAd+q%Jx1Zec(dcp1dFUMP^1E|m$g0%Hz8EO2_ zwcu)r^A2uX^S`#7VebmBWVsMVs&T7;-oDbkK)7E9C(SV8vv@2f8FHE zg1LaZww8ee=2G7`0EPTi8@&2Za6WMwV814+28`Fn0U*_+CiqmlLT1hQIDA%k*v>j~ zGW-=W3&PnrG*AMV>Sn9~uY*CMi^~Z8Wzw#e@12z4pteaX?{A$0zw4;h_vv}FS*AOL z;5SNWh8A(;AC<9)LG!JQS{Z_N%J=Eb;T+d3TTAE?mVL!`h7U++SSaCbq^4n($bRG9 zT2P+#1hD&Qd{c>ZSTMlq_Ly-KpEU@sUZ79pEIPYbWLS0-E_(}cVr|N7#&UFmrd55x z>qlY@io%*66l~0#HsWHtgJHVyJw9sIlI4wyPQe*LSf9=h&e$iT3qfTUKUr-rC3(i5^$&?UbonE+p2HLiM2SqTSU%OJzWyDvWxNWJI z_`@B48;upB9)S;jfJa}HjRP~czC%Vl?k!Jh3OPlUW=pr-L}m!rs@68yaoDYid4uvE?h8~I?eN*9Wzx1xS?4*Tj z1d%+96Yal>V0ISWjZB25DZHEDi_(w5M79zb;x`b-`}72}6E*KL5^qlVK!gH*BvecS zc3SBDyuK*BW!arY4;V0TJ$5;R|GYOwP>{xiw>^{b@joLCweJij!JqTn<-X^z!mV45 ztT#FapKE#PNb*94HlW>?r-R{(?~dvr0F`xnO&)P;F_nuecZe}BP$T1}{>2Y~ja&=N zf{%hglFLyW9n+snhMZW2EQR!MzRhki-Z;&2nUo02YnSK%zn=KQ+-;N=`f zQs&1*rQ>+1rHiKG*mn))Xj_T?Q{Eoh5Mqh&ZdLZd+14n##0OW&0T@X=P(4-MYkD=} z&1j_rp3q5|079S$^adw*^K-tWodiWn`Er&%5}aw;gjTx0&F91_Y9+5G@kw=YjSU&Y{xYnTrD;)24s3_DH&A5P#PzdDQD$p9zS;af6K3%2Dr7o-Ddb zahr5)qh`^<;fQ;Q>7UO^mO2V(LEdLuy~lgxf{xPPHn&v4C_f!$s(XP{QRiG+&E(26 z8}=&+}y{Az0McT`;B+X4@(f~{|;Q8qUG_sG0UBY zBhsG)ukmct^nuH#bZM5}U|XFX!auB|kMIhceV>(<@D9C1N@mg2)%QJf#9soon@Y$0 z%$E0~(4eTdg^3^MDwm%HK&RLX6l?5Baz?wHokdM2m0mKH@is2HO{O!N@A6Kceyw_W zk11n%sLYmaPtu0OcGC$s_%j zqYF1|%zG@u5c@P;TSLZNX?ODr-9>kz3`MlQ0TgGzb%e-im3LKr`^i5sLm^l$`8?Zy zN!50o{2d;g46*M~r<(wZW6|0(qJk>bivgXFZax&*RJ2_Uqn>;b&wLffiyqJ~=J#6s zV#VS|mF_L;_5dfh(?n{^s7MPuTX|le<>Ol6wYsFQM-^{nyY3HXIjyc#EDbs!2LOKf zKc1#Pc-lmOJ=;mol2MdSo57kZtc-#S(54Vpoc_x{WoV-fk!9ZZd3z4gZV*_`3~WxJ zqYn$MtD7;|dW`^*v;XUJe^N$JaJP&5v-Znc`vK2%EuFs)%`RD)kFafL2)s(s4L8#1 zeRbJuU=5~|fy9s^Hz#bJ5xizsRpG_io7buwa$4upPQTgS*9xM30{lf%s^6h#)`X|+ zX>ICDdH_`~CTVr1dxq4yr@xFthN=Y9-K9^GQOuvVkGP0$t=+h_y{c;}tpg>#FL~Ij zdatr_={+)y1@ZB(F^6;{V}EA+ny^ebhS z2~w%Wf9DTTkq1tW?tUE28OQPu9D6z0Mz_OwnSKy;XTZ7+L?hlfX6l)CSw8FItg_zY zv<^^JGJA!6XPO(T93E>>eZUk6^wCWxCx1iU25+fb}2j%-AO2x9l&HCe@fgn~3o#n5K|g;zf}NPO&mLI`!&d<6+@ttsWw3~Upi2z>iJ z-DZRl$6_#Uj1S}VF%!pbBb9PfBNV@5y~#5kI_bH5;!m|xQ}iR}DQNsZJDqLEsnt(i zLwr`ZD!dw-O!T2yW(@E5L~s{1Sj_~eoxWrgQcaM05pW2x!gf-vD00X?5YbNQ7y%3? z7HPT;tl)lnmnHXyQ;!@=e_E?J_dqt8PAxStl}G(8a++dXrdqlk0<&>-M|xg}-sBFa z*VET!2-nmU*jHMP-4ypAlCRG3mUu+=-o4v za98(>pKbL@%<6^B-Eq2KIri+&%np_W3}-M@e9*3nuM0D-{pRdW8~$Vw1$|anY|D)) zIKh86CZF^Vg#FZWzpk6v?X;$+vZyFUUfUFAqWQ;ROmZJz3F9LaTy`t;v!VH-^yQaC zr$*6Wa@@UTsRk_EZ!ZW@Fb;k5hv>BvX|I(y=<_*a11n}4f2VQioxWFo&UuA zuFLDRN%}t9@&wjpPczsgQ})gF`offSGHFzbMLe82E@K1zT62|qM5Q_5#$5^Q2=x-5 z!k=kwh*F^ZCj?$rV%ZQ!Kt!&(F2zfxq`PV(W{{G0Ly&01X09aH^HBSVfD@I*6faPO zDdAV-;1R1Z*jJd0)*tu4KUITBYg{b1g zxT}Ti`Hzv{L}=25b?RN@pCjmnki7MVk3-i!5x=K${L0O*iQ%CVhQG~s(HdlE3Wbeg zR{duS6jCh<3D2%fpDH66Ovb@=PYGo#Um;tI2H81{xv+VL$Vi`qz#sH0B=WuDn)AOe z*6won$ImqnY938W{ZFQ;<#yy@FZJ8Y1KZB^LixK47ULsIy1~GODS!WdJ|I|4l0{%m zSE6kbDg`w0d9SRwC)9Cl++s{Vca%~VfLn-N>+LE+VOQAy6@hF*sV{xE#x+x%eHs8uvIGWK+*fJI@l_M-MmnQ%FrL?dg z!HLQ``!Lb5Lb#m0>sj+k?Mk|Kg)H1ix4CnFMVS`|_vj_n_RG3^+R6+MVDGQ*p4KT4 zY~cgb<@r|I*ZrMU!lXTf-JR_Un$-{;vt5CZ|2jx@KX&`=K=q|#B2QzB^ zn>Ou&*mF0&y(bI_7$t#lYQc0D%+97N=^5XEAP^$#+p09>6gWQid9MCnm;4_M8z!)~ z-ol~r8zqwNnzzr8Vt>T`d@Z@8ou{3PaLfp=x}ZA&(cAR6Q2ry?6Xrh4PEL~KmC{HF z%*F7%bNYBFFSj7FPBSmnq&)QiMN3ONSEuJx@=O@^d(t_kvI1lfxf1QzBAZNkpDwTa zX+MAH0Cic`g>{@yC>dr>+Ak#rqjxmuI>rp_p)NeLnJUW?e~cAt=MayDCZ*{pYD0iW zCP4F*O;hH;0)?$a&r9z&IxuYo3a8t~wcy){OZdk-^;f92S|r7`EaSu`X$!ze@z?gV zjG3or2Zz-j;1>18x<7^pG3w`q^D1~|cbv~E>Q2)oGiN$qbt;efp*{ali+j;wm=vIg z>%BaFV*eK&EGjc2w%!W=k2#un6TSsjx5f9vZQAG2$R6tX~+U@O4#^ z70+aYM1oYipkKiNxc(pYd%SvjEMI}2=GiR3G*|WgJO$dde^lI3G}{9Lf3QSt8gNZ3idHxBIAl>ypFEjoA0uhNL<}@U z=|!ze{lyF97xOUlhh8;oUQJSs_XKUQ@H=Y`zGz#oG9MD>4A!l%f6ues_Rbc_Uw3m` zMC_{bXMKq7+*sXlnWQlMSq-Nf?IomHqy^fky&E?0CKzPwP4?`S}69$I<}hyv^oN>>>)u9FlbJdh78U z>O*;uk<9vL@P2TYMI%AuKC2hzZ)-X|U5u;iQOKDD)=OvN1FD3d(4W@mp>o?md%1me zMoAPYux_PqSxE-n{>|!q*CHyFlMm6EIu~I}JGN~i4(zfdpa5(Dx_N@=D0}Z^Tx`Te ztZEZ#y$1Pq8;95@DuUd16I_Fg3Q;5>m3aus{IYmHgu}fszVsA+zfL+cxd#A@&Pt7) zT`NS^Gp~;;IT!h0x($E)IOJZ=ylG3l^)u!~VNbV~X<8st^kK-_kMQ2!K0ok4Qt?O` zb?uaoBk7^z%ZP(+rHU$2*SOpPEZ@{m4vCyMQPG8|J+#LJ;&i4zy&Rs&v3TE3)=WU)-W2+dQ4L<29gILGU6_crx}2I$upb}94}$-As@kwQ?Ai7lA`psENu%Uy?^gSJnu?G=shXk5lB;KAaY^E5jtM z>!zke#(hIXhZM$*o-V4yQ#}MJ?$+ys@5YKMF`ml zKP{wo!oOF+)tAGsgYLD))PR2j8d)j_qeWwUKi@kqx)UNesi0I=`{g_Wq%3G{(0!Xx zimM}t(_6pmp|Oz*ux~~GOws;Pdv4C@nb$X z&%jiO@;e@1c{wDJ;zk^;-Hlyn`mV6mOfsnD0XoALSG1oYxtA=<& znyOAWjH(n_1u_im^z7B+wzcQNOKWFp8*PZf}1p9u79?P*LmEqom2 zHa04XaE%MVxkLQ+Q8y+}4y@QE#g*&k@-Ro!yp(j%*x_*^BZWSpT>S8FKj>!$pMH$5{xMmhI}LYX?xWzV7JztW%(q z8~vix7rM6(iJlkq0-X}Yhw+Qkp9w3;W$@U4&*NZ$Pjr*%@2Iibn@DcPjbvVyfiz*s z8n1M8FR5x-q5J{8l-%^2|F@a__L1fMB4fEaH!6u^X+NZKakkYZQTMBUvps)5>M`qg^SrK*; z+JwQ>B}dF*#l2ur>dJ$*Mg9hrE^_frm&-PYy)Vq8v%DOq0C?81Qy1eTNzkAZ!GoSyPNaLTQJRGbk>LCjKc{Y(`4@AdiCt(#4p za-W$LQ0pp8K$oyWW5VD_YGC2DWud-u5;gjRMMr|0chM@%O!0Ng+bd}x?T_OxSMOt= z;W@O|j;HJr`KN?l54MX+i@`s87&EI@N}qAodqE?vjh??NM~_^Cbze0m=r478JUYo* zTSUSni>g@4qg`e{sx<+Z8fHLc;W`9*FXEm~y~nvzzB3vAC9iShu^X1}Nv-|@}I(GM581}V%n;#!78|5dd zZMS=nSDTi31i=6g8`~xFPNuhbK|}hDh~tz81yv6B8g)+f&hB~f>#o}m)*AB2Ek`N| z=HB1@|15wSElE!ZOoQay@_pKU+`+4T;BSwDc0x0`IX2SOB?Cp8yg!Ro`s4nnTz)3L zx!Vj%-=`1&4SEk6EyDDWtD$@Lf_(5wQW0i|d6f~i#k@f>is|~g_wDcI;%y5jR!_4B zXqLnGnpAA7mN^75y)aL1KW~a-| z1P4wKf?%SM^eI5BmkZiYBKxSDW~^;T><-~~D{M$%hnm?L!A-#BPyQ0sPNES_oEuI? zV9Bz;?N8n&K+%TCmXE0o=qxtx)fP~j>MZH39@@8yyYbWQd!@(|beZJn`F)+|wHI@l zGyUDbyLqzoLd|2x=Y$4B7j)_m2DTl}@N?As+Wt+d?SEG-VKMQ=K89=44wwGpz)k;- z@zgKVLr|ZmK$w)T>YA^h^BM|^|^+`W;dtva=ev2SU|Xlw~YstZ@I-1pt>wKh0%!=_N7fAi4D zg3vi8{zY)KW`?f zu1b!)CoGmdyJOwrvsHE`%E7|#=CeJ7$5D6N+r8qfltQRNW&@YY*I`s94zvDllWT551solD|@mJMvOpJ!1DY1wI7rNw@Xtn-=Fqn%It$fnjnd3 z>nmx5pYpc#0o|!zF2jdGhf$+h0A%{pX7F{_eAfpCuXYyzwrr2Bo5@A#d^>X|{e^zR z{7I^PO0eUbH=IQPEx#6eG<^iRrFzYbF7R3|FQLX?H~-#65(t3^^HkIe8Gmx-qi{Dj zWK?j=9R7enKW62o|BZgfb~zbwa>ktcP1S-MePh#8{-=V-t?9Qa5Ar)WcYsV~SK$+( z)!etanI!J2cS$)Q+)0LMSs@hs&4Jv@x4Gqun;t0*9GYz%h6DDU-j!@IzLWbs(~DXm zR2Hoe%LMe13X} zqmaFrG~jCnRty|J>=B|f6M)7>_?aBl%HmIgIh7E+Md2p;1>r&aEooXOr)izh9I%aB zPHJt1_$h3ZlhVI>m1=!t3Z7<#oyb z2t=~(`%;Cr=P)uL97{y~gMMl@LHvt<{syC?mNGfHlk*o4g+2GR($=KN{+#dQ3^G`F zwT{=>r2}f|cau78MbdRLr@s_yo?1-isYmuB$%cyHZSFw<`aouooggrSV}L9o% zLcA#{mgRvD#hc!>dR*uRSgdY~WQmkr#rW`bf!xWC`0No?`xtk>*U$4&8JN>q8R`7< z`1wYa0YdX|jocQ;?P{0ZGy2&Tpk!}8zYmNtFVU!^gouD2D+k^@g@60i?PcdP_*v5Z z`fV5SlGQPbn#B8e?UrB%7l>4f!fY4CUNLc?^NVc9=*}$IaDxk2mMSN~9Y2gELmm!- zTcKapAm4hEb$b$ui9;KRo;qEvBWOq6l`S;%&Nvu{~**7~vu*0uU`8%?D_XORFc)KYTg&d3?*uznz(gmOs}?i$SSlA z&Y5OyH{6T%5HcNonZ6M|BoMO4aW8@DPArapWBy{0u%-3%4ciEUH{$U=IO^-l=*8N?Z_#H7j>g3J1 zz^sH>!0CAP=ATtBZXuVKCn)e(G?LR%$7U{UmUf1u*qmkmTH^@T@PxyeD>n@!Q>DJZ ztBP)e@ey}0QfbAj#*4`%d9M-zRz0p_i7*_o!ZG+X-?qRrd6X}UIP2&Xc#Uw z@7g^HmP-k85>;tBsYMA8EiaWS%~)ONiChNfsO(ioR$gV5ORd5`6nhGVUx=4an8 zyIte}ZGdNcfVqPoEm?nC3bJvprU+OSkcTiA^19i>uPuVI2Vb|L$22#M0ILYU-e`%{@4@c18f{ZtRP? zA2Xz8S$C>!kv#J=J1Q;;MuEeTl>E=gwn}lK;g-&UcgJpUu9^xhP$qL)fns95s^F%K zJ&d{CBFVxKtb-YB`ATmUHa(!pbzp*hlxofG4xt|?h-X#-E))==sW-lQm6~qw>Y+$h zP*#Bv++X=5^UWU zf&ROh&1OmlwP~lNE8g~(xa`(T_vhoH2m7GgMV&TNml5g*#WWkpR`0|*h;PAVJqTwM zv3`nvHJc|~76r-ZKLl(>9=BdJ4Cok6g%s|E;I=jh=v0jN+X7)rF0nJSWXyhz-yVNI zaFcJ1)}LtXIDDroW!ybTX8?#m3#+8;Bz}tNsz961ey(^l`&M~I&4AL!*d={GT>ewz z24I~jkRs`J(xI>ZrVOhApRI_oYP)|!RpT@?nRKE+cH}k9E z{HO0_li6gG<{?8rmzHr>(>NTb|7tUSH-{_zl}b!jPlH>JSQfcg^mQif~0h<|&X!;Q2g`dwgVY%#P20SH^_;CTCuLFdoEZc_N zKPt+kLaz?7H=!|zl>i^`elcp`c4hD%w?nQYpIULEm#x~TYqgyLB3W_dIn#yUNKmw`Gz z()-*$)o$(62JT#4?t7ICS;M;%sQw4X2b3_sH~r_APc6f=k(etGz5e&hFpbe}BxjJ} zgYK?ng-ZMqr@|6Lb4I>gH32OY)Xq!Ug6J_bdqXn*cF0F&)P}P;YsWYL+x6pN*`#p= zgH^iuho|k4Tui@Xe-!7l1@6}jft#ZDs!IC{NWSp(k#B4e?f`;w3U?5 zrMyz5AJ}+JBg?N%(!bUB`OuJX9tVQ>g-{xPs*tJD2$`z$R#tFJy;N*|NfdlPQE#c- zfWreytm{3_Ai2a~WHLA6vgUN_)$nmiAA~#L+@6sdFwUlcRnOMqvDwGC7aA9xvH(Ws z=uar+%dmaO>=#bHz}Y|0SEU~2;^YKoH_PZv?^YQA44R;bnjqqVw{3&_GF;F9jbC@v z)cM}A+kqx8HimO+$BAI}zx?ktA{3k)Fy|tq`JQvDmTgqUCyYPRhoPu~=YOEyzNAtX z&NkEzixwDaTae%1-H}sc@i`9ws>64%@Rl?mQoWUGI%v5(K)MMh+>K^7Lo7qe40BV( zRlp~*Lwp-m3wv-uH?`aJhLuT1@Vk|rE{JZ`$TDgw2q|uD?voGtoC`FS2|`!Fh#muu zCgn|Q{!Q2mEiKprj4_xWhR~Ozty7Z+P1jORWN47wyr(KFx#mW+A24p($Sb9}8lWRA z8;B+YQ1Vs>JhI?rc*b1>mFLZmqu77VscJy+02wfE5Rq{Rh!1xCvL0f4py zNps-Mb9V6e^+m^?!hVy)V}o4B&#U$2_uaLe;ysa^wRejw=i`2rpRX&ZI5>1z%P2_A z(ad3WX+y$%0&#VqWb|Ri1V&zey?-38e#HnMmWt{jeDpwbk|Z@ldm3JCG(}IQP*nx1 zXJet&_tgGrdvbN8cZk=phFNQr^JaDM*lB&!JM-xb{{ZTLxGyWBKt8*b2sOQ!)hVqw z|LkStl*02-&n6aRpDC$NZ(wcM4iWl6i=P3;9w09UL zxV=cMHXHD|vPk<`Pn*=Dl$mP%OYzWsKGIEvXL1QmFN*hA4tLAaG&W{dXB8=Ry7k`11E+# z{II8u#a}>uuuU1TuF>=L(gR#^e?@?HOq*t?U1UbI=8wKUhX3Ie8T*r%s-F(KW=KZ^ z**ff6#4s6R(4uOt2fpa3;Z;;iePE!b^H$*hr%1|%_MFm7-W79m|G_67Va&y}XJt6S zp2e@iAqWW&`=hC{N&p296O$c2T0iVwkutH`iH$s4LeJt&!0*12qSw>7~$# ze^jNeRwm^1?a%^&^xxYn9O40-^rH~u1y}Wvez=pEr+@+V`De^aH+2&?zn;)AWlTyk z8hKu|SxUEUIWK*3s$D)yd|9gF z?DH7Y^-6JBvQZITrFdo#_8{n^_)lZ!>5tBQ2HACV$j<46hwmPT&SvYo*dQ;gPZ16N zfCY^Erpj&fz0KQNfXESMS)4DZUg5_Xv)k&%l7w58dcw$8;P}XNsi01;#WSpMs-D&X z!lE^gMV`!jh(D!G)ql0j=G3l&3Bv8fI9m%)Y6$%EvdMotXnLmYFt^Wwh#5scRSE(- zdm)@ViUoM7+I4l-2z=w-g;Rg%Js(cK{G5*wL<>5cYV3!o@ivT~s4tO2rQfBX8MGwt z8w#cVu_XChXnrn>wYussE-U#+sx_H5n^Xu)a!Gs>M8*v=wgHU{P-TSE_{7e^dVeth z`1nydCzhNH8U6g$_(@7PQ?gVg)g=^EZYUF%TMpxeeb9G!@kdOEXw$yfywhu)qch(g z-14qfxpVamZ}GwGc-^gtH9O8=h`6~v)kDXm0r)|X5fUHJR2yk#WYI0w+}PWT9t$Wr zUq|IFXv*hJMwcfoN3}sTg!}BMD%<2=|6MA60(#RnDIX)0)ja$LQ;JCFURtP-iYzP8CE(8$h4`LT< zuiNlmHz#6als4^0ETK9H?^@``Y$;?0{zao`S>_rDra!X2S8yK!f0dO4yM>eo|8$9v zdz(Gq8T)eiRE~d~Z(?C5+oglgsybFw&cf);;24^Vx@Eb{>#~0#h6l(0>Gs&6;e&+T zj;ydm<7*h|Y{FD-6hB=?iPe~S;fr0Vo^&rLm|@??e|6rEBpIxQIgyXz?Dn8H7VcOd z?2C+v2p_Ms+t-N-j{Hfwc!83yBk`h&?b+0Z4nkt5W?{`>Ev0=Id?qQDlUszz|57N} zI!5C5H65mzjyIHnU#id9J#)8?eYg!6VTwgo{HD74=8whc6aq1e%o^C) z6-fFB1`&AC1P7DP;yDS$4_jS<>8={wb1Pv~cm9~0kQpYQFK<<#W@Ifs%DG%0xD(tx z?O)WbuuzsCD=|kf7dI>Gj}g_VUYPk!J*%qyJ%_f1bBmX;uT8;;A@9dXo^}t}R-@T@ z#f`#5Ud?gt3J01~E43lwbnO$l5IBB6Ey1$- z*_7j6(g^hRVL0qxDK4h=ORdlVFI_C@-`A*bZ>=;ix2V5mUvKl}FXKWeG*8Z5qYBGe z{9lZUv?Ry5TR(XA2LF*BKl~1O{nPVPuehcRa<#PCf2j4oQ}Va3Qb=tx`G(<%_^k)V z$Jfh=82O22PQ#f^&rxf-0BU=z2kra14ROtVn}Jfhdn%?EZ+gx|0t<0MHTlf; z!_TdDXY^!3t^D4d*6a765WU$$gi_tZt$9|Fv*LSmX!gZ#1>1V_Om#c0wLVrudS64s z?*rc)oP;J%Y}tig5p@?t*Ar1joy~cJ+9klY^OgZ8fkw;%Vp$1WVBD$lx{o5$^&-QW zHxL2Du$!NxU=4Uw9nd$tV*wJSL7Fy_4C$`_+g$)C9SvA6F@2ht^c3ZWNa5c{%qG=6 z-((0GnAB4_KuNe?rCJ7SnEk;84#bt$&^a&O#+pz0GqZTm+T>FW0(5+LEpmgwF-#y-P!tzSEK_-M!Q@~%^nH zZ#M+~-82>=4q5 z>PxlG&2(lZIEQvB93;EqY|32heN7UleOYGHh_Va7e0B@|7L;ZQlAA4N;t^9eTD|_c z-_Ewivx;U`3a63)D0*soq^@6%-k?|8RFrg*8Tr~qbD@x;;cHmB?#b4^+h6&B$?v$-eQK5FFf-eJVr6? zKu7wa=G~PGz?)+8JXs!#FEnT+Ts77}xp0P4`lf|`9;a1*+#*!)wLf2a4h&P;gU>a~ z3P9C0pLsa?g@R*vNL8Y1NMjoaf~6v+(#yAapdl{EIc~2$KIdWkVjs9a;>BzFw;z3E z^(d8XTi{Chw-Z~r(TJpi?NE|PxAt+lnzW=E@9}hHo4mv&WS19wyZx-)J4IyoWz~)q ze_C&=tl6dt-xrBtEiEaR5geqraN*8DUd4v~o)kr=MC)eIO_YVBj zB$7BKpdV>RVaQTftWPzqP0N5!8A&N<&MTHO*`lc=e#rnezootT-NOrk?j~z#>k;t1 zUuq$a83Lf)=+c)g5hl~UWmPuo#2pDlg87H-&V+Kpr;Q4=Y0s1co&2+W@wqr zdX(;6P~!hI&-VaJ@+s4O$LjmyqnVZ!!KmAlE;dq6DD<{m#D>o_rr~5E(~cPb_E)54m1VLHCOgq_qOHHrNsOpMr*5X9_8b_i!X3kMdt0I=&nR5cG>@k}mjK!NMyAo>kQ3f&})NZYnhb zJmw~ERx9T{RY^ls?syQHzaqBmKenj^WvT3O+sb&wlk{8T&xq2*Q;GJU5|qmc`YrTh z9}u`;jmen@j~29GWkhg8)_%Jx_5<1h1^|3_*5uD~Emq0yFI|m#F;Y=Q@w?DKh=rUY zUO$ya$)zuJ$xMl}dRul+zAjC}ircGoiox?%ve}m(K2m}-i~qT8_Ap=?hPfUWFBvxN z+}N)_M~mH&aAp?%Zq-7tl5R>(;~V~i5@eAsNQZ}|)PySK>lzLM1z$AVy4ms1JN1ch zxNylZL^V9>gZi|Y$S3{|u{=io`|!aBP0n#QR{2F5?bCC1_R)sOjK?1*v<{O=I438N zh;4Srfqe?66$x|VN%g#{nGN8*QvAg1)h=;@Uu~k3?cc@!sK!sUVk@R=LD!Uo!Wff` z$m^ef-m~&@X3`FZUT~^Z+*aC8|5}`4K@@ke(T`ZZanHLK3zle9-44HSzbF;c^{)2t3?dT)lF+0luheW;xVAh3nQya$6 zy2hBeQR^z2%D_eP*ql58?xGrn?dz*;HznLcoqaL$k%hkvA|2S*b4|mC;ow}TZOC2z zO%;AfLYE(d^hjH1;Jq`+7~vwUNFz>gUZpeXfVWG`m>{?;dcTJb)`{tZ!BkXmC?O~1 zDtnJY@bUakm|(urG&f|Ptys6VMI;>0{6%)QN|^!L6^jNYt5Jd4_>8vB!pJenG-oQE zBFp_f<*%n_h@&4RMWg_OwpS-_JZa6vaWB($N&Dnq#(P7@8&g?|6k*)CoxPbPp2dhA zWInOG&A{fy@|Bb$v;UIX4mr&aHMIE3mR!X9y9S2f38|-gvA;N#u{b7|x_gg*chAGcghWQAe^C_Vy*E zjc7rtH*7K3qIXG-t=-g49*XRQMBKW|dv*m(ZaurlGq^-@Uq9(+Rnwf0${6T{I+1f< zT<-ko?uxAEKH&C!_RP_8T%(p4)4U{K-23h?K!dX!p_)vPA}GK?_r3i(C8>Ar-RPR` z1L2Mjk+@2W&bW$ zcV?8gq_(kWcBjG1k~TW)Rznqa6-43{EXS`;)wK=4L~)y(=|yoKq#MCvJ)V(AI0#U_ zL*C7bc^ZuFJ8=a8mXvHcf8iJ15slv$!<^y7oW%!gcP&a@9ZZ>>X*>Hia~%kL_x@|r&JCHrgEF+v-oDdg5+j~ZPNK{M93ON$ z3XO*{nYo7SrVEK9Np6slSvSsP>!Ht0*?=(nCv%3+HiAeCGyD9n)34DIYi$DozQjk3 zYCDQ>Loov548eAN$xMdL%}G{R)9jaR{iGwuUM0T4$~T?ZbYkWuY@3yWZA5eyg=01} zptkr0A%07-`7%0Z4e+cP(5mGW|5UoH4LNiX&5RU~>jk%)sy(?Yhlx}0G z;@nxstw{y$()5RF0$ZG!ciNa6na8vV4Q2&-WMI>1e)a& z>^-T6n_8*UU94RGFQy)hq+p*;28y5hp}D~AX9o^gYOkE&NoI-&xOb;WSAOrP74qLh z+KGHnWy@p?srH_nXZ-o~E8Ou%LdUssLtC+$*jjaX0uihuQAU=!1DZxlJtt_|M$6+v z8><7=_+;@$si24zc|)AHBm=G*O?m16UF7~YwKmJ_^b&?UuUGLGz=*nDDxJlL+ZT1} zvq^oQ;Oi=_{xfaP!iO*jpB=H)UYWV&_>g3K=@>QQF2GzfL7 zDi_gfZztE2pUx%^8QJbpc@iTJk`!m`OtyA-Td(8)B##~>mL_|<#V;Ty@M%l#tCAUn z8=>`59x==B1qo?Fw>iS(v-$d8%3*(|rXui=B7RYkLnTd>q6q(K{lJrNc?fLpe5r*F z{1Twr7ekW1S?8&RZnGh9&!f3ND#3Aze&YY0-Mj%7E9d{0-FW9=c8>LGF)PT^1SiRDwP+V7r~&P)MZFY7k7j0=S|{}UkHe%a2t#2scPQxik%#^F=p?p7s%3V!3zvK{ zmsdpkQG~nOf0dAVz&I685Dzb1Nb-@oL8mq~9Hh4Jxw(fqc+@%&fd16>e0~BZno%z= zNM`FC9V=19x7|V&6{tE;quqa8S-!MSw_s{b9?wj#*$$E0hk8G)XgYUxw;KR?>09(q zw$7kJ1)zsheSepl@9tpoteJjASnluU-7Yb1ef=#URWbIRiF$U<__Nii(hV~Zi2_JZ zY3@lTuIAk~bV=5qB+&xU^Ti*Inwpnl)#r;z*xTj)fA(A|7QRxZr0C1f>=b6aBUhYD}duD5JI z!A3>0J1+~HoA12sWV+cwud5M0G_!vobOGWUlI2SNIR`DcYy_aGdF0B1VM#j;@oLBr zNXKR-EwD9Ut&k|7#Si_>AFv07F-KqfSSz-yrYCY1D#KrY(Iav^wP6jizdz9t|EjGv zpqV_g+w3H@Qr#qR)DtA)<#W{?i(2@>jtJSCM4tN_z{?Uk^9fP-y(%n)z$Hbke$#_L zC?}ovUcF5WEd`E^s7%G?X+&KL4S*{f*@lnC8_;^#LGH zm-N4Wwap;NWB%3un3a)>pkXas`O}B62XMat$;Bt(>8V4j)W|?$w@f&BFi>LUU`NNg zuy@}(i-mq(G&1dRkv+T^j;)^GUf zJHnoemAATf7aHE2c{U1@4U?qnqUd+e>|&P$j!pal)jQwJMMANMVm_ zU5+2PJAZRk_8opwgC&{|NwFIiZfVV+wbp{MX`e@UGD`Dd0^`NFH8C2cU#ta z-E+~EQ-ed}LTM^yjE?v8#}0;g#9SU6i3BL>UOV%Kbsvt)QN@Canqxm`Y%kw0%bnW2 z6~1-mDx~?D=Xe`9Ci0kFX50g3+(8)A(8YEIiDJVc_KHL`4?BqGd>3!-&@b|R>A)>) z38=BGR9#8g$seWl;w9_$#NcuCLbOld%9kwD$+m*i->wvZa_uh6d3tUhZ9CQUJuDtA zm_|xJT1H)^!wwZ|kxL_n#-96E%kufP2H*qBjyS&iP0LWfa9KC#x6xM;`?yBRtd8Yo z`?kdJVV6L;tEA%-3Q^ntlO>r@F{0@5K|Jc2+o%s<^3-<6O6A zc<3s;;Hbj(pBj^WICxT$Oe3Bp(xszGxj{Uf%`zO7+f1S$0E_u&-8fnkCOth;bo& zxBkf=J^x4Tn_z#X-Z~Q!^%!a&-}0p_~r znVzDdBDpF+vrVyn{!Gb2Y{A%oD-#151?fC|FZ;>Q&J_l z4Z;=Cr!%SRjH$*Qk}?n#C)4WW-QDYEJv?xE!`CYs-pt>;%mST7yv$8|^;-znVpj#B zEDp_ytzw(0+}0@#2s`nao04fc5b2t;h+(*jKhm1sxpMK4U3_s4TSP?V*^WRg7hB}ZtyDxIo~>)EcO;rE8_;D4#TI&U zPeWC2%L>Kg9gAm1y93xUsAx+bswv%THK!WDGL@~#f}Ny6$4N(Ph1fWkSw`-?@wH9T zA*ZmD=+{^|uNf+atdN)HLnG%DkX%!LI^n=gonl6e4w5~TvSAy2K-wV^#~x^Nd|jo9 zetm1HZ2mB1#i1IMU3(IZllr(HV0hY7eX4~}Z6Qf8C|rU?e~qAtEB&cEyuvbpA_l9W zlVUcXTzrt5NsH_X{PszTmf_`g0SaS-_HVtP6=k`74-&4b{aQyjci^|~m8yGY8b{O} z>YDnfc2~Y{a5_8{&51hwCxWng`QyR&QN*vneea7dpf;Yk2cHgE+|Qzh{h6!S{jFm9(Lqadt7#(+3?XrFOcWgrjQc0XjtJ#oQ<@^5WX?f ziL1FZvoDwK1uhy>^+5dRft*UUk3x&BLlH5K^pONuj`Z7;@UKb!G18Nv?(q(Pw#Nq5 z{@XpktLcGm3o7wcdJVTe84ZDA6D@^!G%=o57SoVjohIf(%~G>m|6|H+|ig|%i>sR5`WGI z@@wiaEA88qaoZ3JSMzfeWJlN5Yn49Vo)bLjSG)PV)w6OneJevZjHVi1&TVvVNXcHP z2WGJ*iFS7l>T%mjOGA2PwVNK=fwz_?O@A_~+K##;+o)mU+Fo$&Xb+h&Ur{0x?ry2W zNe6a2n7=+ItHc;i%yyfmQCtFZ=0KC=KJG|EweH0qEQf0qvyV0>c~d9hGlqjuL&C~z z>iy7i`lu5zKiyzAe_jtL93?t2~F^L8*5vO{GptWtX{mC!*5LJk_DTUZIjFF;U!F=v8f&6w^Bf z4J3?KZy$pI*BF(5VvR-RA=wj9$@I{SF@9d=74gQb)WC0Irh$>tt-9zs)GofUsqT)K zuMR7H*XRUs*6`<%j^WWIKZjWo`|MMDVVi_|KwnNZauFvEhWtFews)ONrlIc2VpF>; zHl)bcdW7fWK68XT>EJmyI`S#TXmi$R31iHss&x7{O!lN!WaHP8%r`Q_yL}GWgiR&! zw`W^`V|1HtOcXy3l<$PCRPq&Ge7cE?0hc+^TEA9@y`l&d6EWVs>>fLR8Ctg)!$7FkXSUe1(85KDt7}r(18q`k5{t#=t_CZI^ z+Z2e@FP?kY0mMoEg+h9TBj&Ox)RJjC%w$3aw+xhO!8T{la2kt?R!R(`OD2K)nC7I7 z@??@sJ3j*PvRrs?yhy=$wb#N#J+5tz4ADONDxm=E$t&3@rAdF48JPrdDKeeDl5E?BojD+dZ*i8n^(V1ZwEqGvN^V>rPp-LYlIa^cY9 zT5B*31cQy}m`uYH*KMP{QiJr50Fz430U?X$m3#<_&>PK%SQP6kQ{&Np;+h{q>>FKo z?sw)7OR9Bczr{b^~z9}&)#QJ zmn3`3=g)|Ag#*CH3-ZBpV3#5HQ_F7mgzG-X&n`UXiiiE5J>~BfiY#noiwq-8sGm=f zWudu0uhnBByA8)Z_|?9`Gl$?Q+{l{>3YfqGffP4K(S%rkvi%%%jo{(&rP)ntt_QeJ zs|!F}l{M$pDWrsa`)zUI@P%+kUz$Mcrb%vpQPsPOMW4T6IHYt|uMrFQbeHcpRk`aU zSmx;u>)cm>jTqTiZbgWCR3V+kC~lgEp~HUpzomtE%H0&Du|M&L@~o<)*U#z^LzD%R z-wJ4nQ+0LU6xUETd#A!aI4*Y7JwkUF0Za8mdzwWQTf#ANpFG2IQqtuyvl{1L1dT(v zKi1X2oqkp>vb=S^(7gUS5gwszF#W(|40uH!!nrh))?F_c{vF}j$(fCP$&=3--g(4T zqYe_8F=7U<@+)#dm7l9Z!N2Vr-~xmI8GgLhmlS5ZOyPXsrA?kc-JQ9g&_+8QQn>QY zk8|U$(s`3Cm1;+mGgjJ+GUivkJ;XKIzBw~?V$I(I^e$*2*6I6s?kpDixGy+Eb%>TS z5kxLVOLVS|ev4;=h4!{vpk^AsnlPBB3S~d9CZel99L>!JE2Miu7QCOz)!Zy*KQuqi zr~R$k`1ANO0VMJZ|JO-Vb zz4&89T3(Rrjtcko8()SE9|kS)A7Y;FX>$w9>G}zi%~)qb1(r z7+lTFK3?|)DVPTbef`6@o9Xo^VAFWs1`Rx{%OGTH%jwe6vtR)u1Wlar1T-ehsFvG zBf#{FE~MF|8(%Z%PZ_P2r}f$W+;6_yh~}e8kwkw2Ek3V+Q)hhI7j)@_M<>OT$8%Ka zD>CwKKb5rLg?}BzQc9k(T374mSOi%SZz(?ZO99FG^(5nsGg3U*{EqNEzi88Rxy4bf zoC@&{R2B5&DUAa1y1p~cVL1`co4q9=uH9sX7bjBPyT+{kh7}02t37A&%kHL)=u;LA z@a1tUBLlmg(1}B@xu6JS=5i)2lfygCHww5$KVSx#F~X|;t$u%~%ytUnrY3;(U>Fhw z6A9M!zfy^kGy43L))=1gcG0F@ar+xwXvN2n)4^Q0q$XQApGp{)4@B8XmW`=F8Am~7 z0QAv~%JODqWQbB2@LeUN7wTCHf>o2KoaVu?NdDQxRP(s7Fud~C;%6qLN#M;WRW(Z% z=V;26J$hS0F1i8k2Mwa>B`w6b<3wbXcc!0(5Htn92@zvWsd|C(uPN(Z>XjBSa0S$h z1GCB6dSQjOxdS3CG+sE^b|EAIGMQkr>Ctf2orU5@*=e`%rhn$w9UirS_gAsydqRk0 za@P;Oek`*bTFGv{j2sCmA%@xbZ*UrMH@S2c2kAKIL+Xg#nQ_KEH%i8N(sJ0)h z=N@a)Qd+7uua#b~Gqv-+Nm^>>Qu9#jR)d`t5#`1%8`xz!%y!@(1V}NIB8W||)hA-n zu&Ff?>o(xJIoJ-x(>Lf{-hnB4PlC1d@NMjsbkcDy82h(9=0|jEuw@|8Sci*QEH8{Q zXg~G)aN7D;e}-Z1E&K@7>1?gRZ&7bzIX1W>VgGase_<0F>}^TwvQ`(rnUh7KCtZ#; z;3XPLZDm7O+8lFkiX=?s#IW>$+sTJlu@S=unkYk+RuD~o$ABn!v*0#oE=~W9g zlZ1@uLl-z6uZJ4Kqbvtz&wI@)zFkIezSo>Z)J!hd%jc(%qS`j(0mZtai1e5<)NH;0}WU@|zQed=5<2sHvlZWu&x7PeLh zIkRWN1}bZJC~CXX1ect=q4yFVQW(HgR-MOA-htQLMzDc9OrYi zFXU-3T@uE#^xcj=ARyCQLN^U=+iW5 zyY%0e`s|f4!5$~zgZpp%1hI$tp;|Tpxi5z~-+($Cl)CZG=r{1C#GXEy#mQXB$vS5& z{Sz!T7=T?mW468a{`76Grc!-=M&ql^a=L>6MhUwBger^(wNqHTd*egIH}ZegT*_G( zpYrhGc&!kqJDc+~iR;sfrV6sC+MZo@M^3(NG#G2#VL8%)E#KIfSjCPByZu)U{~SfO zb35C^Re33!M%SN}L)_4By>GledG)?x#tWT~P>0*=G_{&^gZ%V{{TR@_`l^-8G-ag- zM@Nm@w=XJ|pF!vzZCL7l$5EM~wsZ5MQ`VWsdC=mlJ|A+n7m6s})aNI^RYxNBt-xge zN3s4(r+<;l|7~30U!4>G5=E-_VRjPWzBYOg z#ZeMxriG`xRqo(`(>8w+^R~`%sQOj?+@+eIffrUc?lKQ1Xh5^En+FRTnw$cpU9=s9 zcrGllcMC3D!tk1ysfHbVr10c?s!1kJNA8&35mWYNZiMmq40sbw&!z;Qhtegy+QSt6 za(yB=VwL>jA}v-c$0(uxuf`9Zxx{V(t8dFKMrxpHHaC_-^6hrP=!g8cJ)zw?^i;7U zc;E|ud2a~SFYbDtP#^63IaF}z9%`e^kss8mHllb-zU3<&^z8i_I#~Ybd154d_pX@upAB+w(G=6*g8Y={wE<(EMuL z2VvBUlM7f{H{@Q>WApEa=-ZNUr)p-uP0ZM#PXv=N+=SkxIdr_?OKPlRYl|!1oo5FcBkl4hpOdjeaFWhPr@>ttLTB37?{7iu3muo_Bg5Zy*cHsGiN$p* zD{Z+kgWZ6pRy8LN0jp{Iwp$4u5j(Ez$xX3o>xU21Hhl)4>p)i)lJ@s1w;@aoI$mw7 zDC%*eJ#$mb#c4yeN9i`aO)Apafi-AtP%*G^Ko30>w|CUVeRPqwKv(Hj|NCUENHCMJ zq1HAGhEiIe%YLL|yie2gIobMiohwWlA9NEbcYo<+uDxq4u}H}}cu((%7qg_7;1EC7 zZ_7`ooPir|X{U%cnjl$6r7=+%jLPUBF5l7&1%@iEz=E$zlZVf3wg?5 z#uxZejS}xw7`X!v8$J|@D#G`?53ovzgIhi#^&vYxsvvMF465 zhl_O}4m)f?79-8|gtK?HYFS`_neva6BfFVOEpc~cq8 z--h!${PU4v|DBe)H@+ zrGD>A8E@dGXaAdFO<{G6d{IvSV1ktXQwJhMSjvAp3<&%*pY@&%X---Ykpx(rInNvI~g}K*iXRwd3ToE)=Esiuwng`~gGK zNf+xuAMpfkNXPkpxK_cys5#wBH&c~wYOxLXU)#hGkWkiE8IHxbciR{vt!jd-+Q+h@ z-(`x=1&f4OXgDKj@tC%Oj*fxr40%sHz4lS@t>`xc)|RE^mq_N!xUcK5tL_aAxpq7e z)OIDJv}TV)t8Js{1~V9fDU}wvb+=O`cb0QBUi$9_r7g8#Hv()4e zr(&n;+5wD#?@@12jboouV+`$HOS27j2;bLbBiA4^d$o5i%37>x<_U^H;iG{Kc?n)z$U-kbH*_7Mx;q;(P7fI~ zpYg#hH?Ff_zsXBdh}{DLUfu+P*B`(2QpGmX=4|wj;r;Q&hKkV}O+R_vO5^S`xEgc& zpU0gbJ& zXXjH*x2wOhx|i&e;rU3?KJzif|qoB5W=L_b>>NaM`aROMqPT^vkZHyYly} z0W}B%rifv;cFKbmT@>5w{91;7O4|6U2X+2F=z2t_nG-DY3>#Db&jJY0gOYE^q1wQW z48~cARqzOty%5l65M0>6UGBEof7}Tjb=m}nlcls_y!O%FB>8+uia?$B8#*VR%~%=y zA}Ww{{l%a`29+>`FIv`#N4)Y`VMA#Pae?1k`-oAfu*yIn+O78MA6Cc4YR^NrMyf-? zb~Ff7xVoDgGd^~xdBqD)vnH%NA-$c<LkPD3iy~hYD3fb?4Y`=P&Ky=ZIW5;VJ>B0dV9_nvHZnQ^=h)yeZL+kTYem{kTEue0lB1 z>v3@mfdT!2ajx&_2yX)9?cs6{f8Bq9#EjP;6Pb|?Ec291u3N4s{zERAyWtSm{p;CF zgr6lA>E9sfcDMI#31<+Cp&75?t( zBeO^K8D(i%dY3INZ)1F#cD`oO50#qp{1e6$JzkoNr`lO|C^D?LGopb}ZDDRQ5@H5m zFv08UWbLgkNR`)Fp4BF_20?CHS8wFMkiiRumOR;A&= zA2n|aRXLU^SrH|TSz6}KB^aGg%h%&Fgp z)uvZdmbZ`2J~b!zd}9i{)S%3}ugDn<-vym??eAgkb4`>wL|Aij&sDM7h zbO9`41|!WPpZTmc(}R&Si*4u?C-E|sD2RL!5{3xB;JJZ0CH3WjO#X5WzCxBoOMq56 zqXu@JuRVwIM&`r~dXMc01Hw!rblzuiJ*Y+Pi*|8%X!xppZ3NwWlMrTZur5M9ifJ;R zle{u-2#i@7mS72-eE13K%!Ie&rql-&GarLE3zKg%Ukr3?UJjPfBwHm@`I+b6qFwJ> z%GiBWi=CVjKFAihG=GGQ&z%Ukey}XqAet&cBZaqoHu@Z(%v+O$HhKvO+dls3Fm@PU zb;d0Z;<+Q>@RdHS4eSY8R^;`sORcR^>UQQ%pDHdS_>MXL?X~DdFsYA3l*M?-m#KBf z0qJ`^Wug%hPdFARuRDGgFD*A-tG{h^TQk>~KN8NS>gGpt>>w9j;7CKAUIMQ?YuKlU zau)z#6O5Aa3v*f;wmQvsq0BP`?+O)p;hreAQro+)n=ITR@sT_rR0x)X0-x!jYQomV z%9)Hy-_>B807P`)e*?Xv)zn)AINkLMH@msA(%3W1gM|}qGtZFYR1N76L>s*u-&&1& zrseob2Z-W@9}9lCM^6_y$(#+4=^&Ha~;-!u6 zy|3sYW9@A7on<~ST*-%$e%_?-TM~V6zLtG|seXNi9X&}$BoB|uRQwz&o)1E%vtnSe`JChw13^QOixPMXu>-8EdeFF zd@45zkGa%Sq=wv8k?)5%$N2AC%H}NC;ggOyooI&PkSln6ep=ve^@jB#PB!Hw4Vw19 z_BGoDseg?@+Of3nlHNiI&Us4zM-Q6K1*NPc?s(7bruZG8#E_3Sv1h)$kGel1P{&)u zC3#pvt^GMQYurI@LEi+d!DsFc;Ff19DSQs5E7wI<^yW4&vS?`GPn{ib&)hH9kSCKM zYMi`W^h+fQO&c1Nsc{ToFrUq1oT0-=wstyId(wM+TGZ@U?ltrfz2AdJZv zlN64FPRB{e2KSpCIy8QQa60m%UVjP1YOz+SbveH6+? z%A?Oz;`Xp(=y$<7!T@3odYc+%1=uqn6s6}yAXfDBI51k6?$;A%>A{Gd2*4he3=S8y zXofHk%bsCV&v}0_RW`)tZ#tC4;zivGeyK1!I|Pav5881Oz!|HH=A3=N9c7^+*Q&Ml zzY0FZ>tK>_QsTJ^>DCR8dCwN-)uE4$L#GbDljOUUAO-Ep-`ODqcgv8Ax{&LmiqC!n zgu6ae@<>cOf=;x%DA~9>iZgni$aa_BFx;6AwFAM9@7JZ1;b6~D@2-#q~-u@Sc z5gkNqke-aG7<~}|$E@3cfl}rZKqN9id#H7cvIhJG1~R4+A4rVgrG*1<*n+;{@-4qG zl()gs7$xpgJ-mrtEv}60w>y(I!!EJeMt`wH^Odi(o5bK(Lr@gr$X;D~wUBtXq`W5V z#Ggea5q#b1?NH^*maPm6^yseM*PU|!)_%>}vX9(f)(oixV1*<<~?D z5K-o@hU7$e0tODd`gcoeb;?DTD2Hk9{z(1GTr~gEmRh26Go_lk@(gihaL8hFPL8ds zafFVz?!X5jGmKMWS$Tm)GMbYm*y>)mZSQZ8d+ZF^?F@kHI?QszOeGb)k)DsDe>~3p zbAuRzQV$#iZb#uw$lM_LGHS8m(QxSm82>`?!+V;fu3Jvp*(GT0YpH{JFwUO5B8yZm zF%4fq!>3C;WJ$Mcx%{x{l~vvIyz91IoS{w&G-V$Kn>@DXz%67^XPmsVt**n%oLrEy zvX+L;%ZW@(LPXzAGS1CaSrReEwM;N;)MIcFNy1U1>{u74&`Xt6MlgMpEKql9Yqk#w zbh`sAV!%y9ddJ#e+~c0Xi$Wx)u`0?rx84>lyc4%FXm`nc`e|>44g?*p7w%zB$=C_i ztq@`D;DJO97ck1kC5(UkF}+n|fP!O!@Sv1o4SG>?cm3XK6D(zwQ7wM`0fuS?G=X40 z4R$=9E=MC{EJK}G00|-VHw(GR!sSDiB3`S!)A-^<*lPecX!H8cH^jCTPwZLAis_Nj zB(~)7mr6?%YGmUR89Q1~n@kFW6B12gJr3+w4TGaWCJn4#_DR-bkzSrw>449c18c-G zHeII891LOR)pl(krYMw+z=RB`rIC1ojm9&+J z3)FmqqnhJVESvfNJ)#$Q+)h?g>jOHk9I@*5>>G)VLG0>1K1H6H^2P3Pid9B(Z>DdC z2p*%{5i^6>yH=2L@-M|@64M!yKOD4)Bh zRi7T`*Ffx;HVUz<(X{H-)v;&g1Chtf5wuNrL zI?!#n+5UQW9wv1U6?6nz^fVGXOwUK6{u(M8pxXHCv44eH#KjmsP(Mb z?#=e7zorTXe!)Vcls5-$t|8O&&HNFwAa%sinXV*jnBob>hr^Si$}8<}Sh&!5R&!q1 zdpFZ3{xk9co7=+=@+Y0bjX?;+O+gOP5qgbiRz&RDGMu~LU9JUcqi7A|Xi z9wz;0sO9hfrThIoCOUEJCBy{QxH8+k*pYUnoo)Balx%%wrR2-{$AG)yY1$JTZ^6&_ zm6eG7;YV`K6*FdMjC(-t6ouwhh97FM^@1?y9}RKsqi6vO8B(+o3*U1Uk7+Mtah~mJ zA7!{UV4#A?*^-IPd*2Q(l-Eu`X!2 z{gIHJ=9ATJ7~rX_NMwf+a}W;lS&G1`zSb|9ow@^l)8s)WP1JLi%l^Y#s9xI{PRzKN z{A`6M-Mj;@tozR6+o@DqZA%J|<2a5DF3_!+==k3OmJM(1V9D&j&tVSvoxr!3m+Ir} z94qPHQt0#bW#;JC*7PFde~e`waP2|-Np(+;<*oMn%p;+;E7BQ;c?VGM#wc)Ee7=Z8-fG#;&lAQGd5P7sF{LbPpu=Ht`4gBVuA9v7`e?$L`? zohHa8A2pU1Y32!?u4ZH|Roffs0y*^6@WM%SN_DPXsKnLqyzkKj`YZIO-NP57WhIJ= z?2#HYp?&1^LwQRG82k#=^n?%Kz~a!qfQr3iE%*dcy&s;~1u&1Xl%441i= z5rVuW^K8twH%TSbYWc&p#sxFdH+?Y~Q>UTmHqOhi5~%ue`iA$q18bsYR3+ z+1Jfy_Y}P?`WLz4a^qPNn@N)1JxDjk+{*!2ag+|V3dfFt??4QNv*bDD9xg6{H(>nk z4O)-@8XEOm!Lq;#0^B*xq;b1vC7ih*>X>K)KZ1pODl5u(zt4vg3zCmAs-4NNcFPs= zUs42VPAHm*N?ZSrSjL9y+zI#UOud4W{%g_51EFb3@Je{3xO?;Z<`gnVhK!0WiSd6F!ipz2s9N4E__3a(RI)p;GhK@kL=9Us15OQ ziE}x>HR)R#d><^JqWA#u4yNGsyOWS9AjI%BN%U^Gy`NSob9O+l8l+HW4bHm*?}vvE zMNq@0%LQ{!5+*xwHMbOFG>%+WjVO5q=B=Fa5zmSjK)Qob*D22qEkz$w{P<(ZVn;yd zog6`*i_KS3baB;->HXlyyT2}7FBpJItom$L9ye#;{kOP?-fr4*BB$gFXKo1R{->`R zB2lD1yZoZB+j=pq=oF;1b4IYg_pbEj@fNPuYf0FimWMpCeqMu0v?xYf_fzfhPZPA< zZj8(AU%DvYW%sqP%Uu`xn(H3H+*fhmYf@qr$#)sbM7A}1R$l(`2HL<@Vuf0qzL}Cb zq^m?=8=2nH)7w_n(PN35j7Z3dX?psgu22X1egBL=YydvAou)2Ban5aDtvms3d+mAf z^cZK|jaP4&Zh9elSEnXdMLmzsJu};%vQkE(%|YV_U(r9Ti{)?3h_E{s9fm65?zt60 zHz9WIag~#ewE}*dLjTRu5y^JjMI`RzDfCMt-(rs|ghS7RnzAF6meebDDtwZz1|%3f zmAIHzJe)MlZn?G{h1+a-X7!gCYjp5)?QYgWNM=nUShdXE$NCKTU=VG`A5zQEp946K z;$s9(4iQ_$KWI$AU9!*?uYC4E-5oxTqYoLP4-}_Cyhh0zNYQss+6ydvgxi9JTf-FU zv~u99uPP)i=&r2qUa~j{*YCe;YZTxEPyqcXuDn_|#mb_T+(~3l&pi8pZ(W&z_34sS zEBcaemD@G`ouhqdvX`5kDgUp*PBqc=#Gp?lXLt5Br)`CP-&azdvY*AbAxd#G*woH8 z?Jk#k@V8mm-VD+s12MTx@=Aj;4l=1~b`%6<`x!r@D^ZPhb(n{408@KlpqF}f8utt@ zvS0ix@R#WmP{KA92SKyBmZq>)O1ybN_k52!8U&DGmIf z+S5SSH>q%};Z#z|6DVgnyg>_eMby-Wpi184u2dEkpkEeVxIe38|7f%Cgly18Kcd|s zCbhH%0T7kKPpv%iEL1`Z`A=|<*{ifkaM`tg@ca7S-;~*OsNgKfL;BIqiNC`AIPs^H`g~P0$1b5^t>?Rq%Exi6}4^bO6abKn#NOj zPfljr^(xvCuqUTF1ylKKAiT9Tq0$drc*z+?*s*U2Mn47q&-=v~4^BE%p7?j~=IEZ* zP8uQ`t8if-ac3NipdArwf%}yyo2M76^0> zPiNLOa9?M?ppu?9Hb&AK*7qN3IQ`w3I!Id-i?#9(7HZR0UQ^UnDgIEz5y;i}GqzQD z8M@8I_?*`wA`QPjeud{HUJ>ByN#D}(!Kd*sAN~-}^mFClrCZL%p5V<`(m(03Pjy<* z`eXH1{z`(UOFj|_J3g}n=c}cQZlt}T=-qk^YwD+N4WIiff_OzBeNsMk3i9h}i7?8f zp6Fnp(MA#;)@$n)2zqbGq>wG~B%zCU(a>z_>F0Zhz!ph;5_^3f()#hf1pIiw*Q{H5 z?ET-Ga6%-KrSK<>fn|lBo-Rsr!9p+v|2;m_7-MFx_$iKaH9gMdj(r`l zB!_ZXa%L2ws`t2UZQ$( z%-y+itJk)=sgmE1!1V|6!?zQ!wN^?m-s_!6jS@#qV_TSMfQYWfVuZ!N)oSVhXpCjY zKHc$0a?3%>zWh?_Ur~dS?a>K@wNy`^OOy23zZ*7fSC;7%GnY8YTrfnp0QkX1L*<&R zZOeqb{o-ZfIK>RouT)nptQA&?1e2!v{mNfPu_Z<>kl^K&x8_tyt6Tph^=Tb?2kOTp zEv$>JT1=3t7D2mn3de_LC*pq87_nORe&V?W23yPY>dlk&tc}-3A%Cmpiw<)%zYs#Z zT##bZz$w?kd|)g@bztX*4f?!>z_W?fh=o99v#xJg7hRotYKJ3BEX&z);7baPwMu*F zhA5Nk$Kd5HM`eEjKFKZ~JD%{c{K9=^XA2Ph^+#ylkrdxX1Q#jCM z=OP@c<%ETuYvjoyH$nOxd_W=CAh|B2NeettNi%vLI9-Q1er`fx!#V@rLu^(MEiO_R z>k|(Uy^|n?&JJA(nc9*XGHNUYsx)0D#%~W;f;p<)UhH zF(Wn)es))a600w294ngW0hwlT24z@OlUcoWR5y-2Q778_S?X|~pVP*6h&7fqD>0{s zxpb|creTS4 zdDY!iLj3|&-vz!Us|JQn1;ot8B8s&##qlI6eRxi{*zNG3LdL@KM4}u0)#i}11P8V0 zr3|(6Z^>1;)U`M&JuFN9f2TIhV}&PiZxv3)Jy(Q=+`(w>fA*uG#a8$yx^G_ZcE+ia zeHC^~=3Z0ll)WQ-8Tn)ND>IsJqYo=BFIVrv2`F&Im#HLCYx+{DN%P}tlcomE&0|)N znR&O&?NHsPCywsO%n-G+jku4^qD`-}2TwEZdZh2?+OAyaslQCONMXBZ&l^@&xonmQ z_B4BPnXS(Rg!=xT*B)3jx0yIqgF>Cd9=r{Q!=DZJ{G&8V0`c~%|*;3?LXtv+Id&{^GD}QLK{oA=p zBRTRGDYmlX_{T=X2}zsMi59+azCACW`_Yis4F20i5*{)UUVXrr0UE2&X@UpA{G5d! zwEv83{4j`-WYX`(aA5;rPnDe2Et0Y7M4j?AVNDMtOc?m>GU7)SZEr^NXE@g=Zms~2 zCR#syb#hHuA}Mn$)_;;x>>pb=jr78kq{alogm%BB)=-O$TEO93VwDOLAWnC_kg=jf z$YpD4Y&6M46{HcvH<2+-vRjZZTs4qz`0(O_I#y&-BZv~a@Vj_#(EKe-iLFe8K*hf# zhCyn<bFx$`iO~u7Sa@M-BAiBwitbH?Rh>brmV0yQr0HI zYc=L#$d<@jglfWS=aB|Id#O59%dWQ(*#q{kN*RJz*I~85fFgWVUt%c|KGN8IR{*B{ zw1C}z8O860U3Qv0QCyJ(D74U+DD}CC)-$e$%E=_u-Kn^JlxfP@bPllqm3mlajlSugMka^xBU)CJEC&DCRc~B3sYZ znU4gX;R_iAX)HCzV4lI}{(9aha`-7WtV4|HQ7~4^WtoH3(0_8fbZG0ElC!KHnn{q6 z;r3D$JNJb&ny@Ea*bQ%<;?iG-1`UaQ$6dg$Glik6vC|PjW%=ZASBgEITDex?yZUGa zZ^(6(JxLAeRGZ&}y+EN9W`OvNsBb8CjuV=mL#ha{y;+CD1u$kg^Ki7joMVrX-7Wy} z5hHsR>U2DA6(=m%rKMC$<=P17_!HTJ=g1X~CbJ;HM0YZ>BF9<+&5#&;}KuIcs-5G#^jEo;f_iycLoCFytBfn40&wOCdKOc z3zc4Gh+N5mStrAgM|_s)S!7PDYq*GWn(>+KeX90!^){yDH{$8lV!5TxMKR1d4l6Qs z_&h@lD^9EIzYLKLESmeAU;ea>;*ZMMF~07d^p!yO!)lucbhCb*bVYk!omrkJk}w7# zz&4K1PCMsdg#EL5c}zC(Mw`tg2l)_rZoe^qz6`sXm<~kT9wk`}IQ&=wb^1E&BSbk1 zvOarb@5r1(1S%dVYzNR)p#F7WD3r8E+J>{Mo+*6#ScaXy)*@dpT*ym4M{MqbVTa8M zP1#XYtF!F)9@c*wrLl;~)RgrrzxH=(y&f^}P(sx{`ZgCTzucsACEey1T5WxKxBeOW zzGGS~gQiS>1yh(1_qn!Y`oHMT82%HQ0ph=B!LoP|ARzqof#UjUPXD3gt65t;iK<>V z&k)zUq)g`K5Y+M;*Y_Z{?N?4MU6H|Muu;iD&IWjWJH_o?6``2DUiZPXycaaVB3d|@ zH#PN3oO>5^*Xi35;?~}^c@`p+ANa&ZG|Yso^fR@xei9GrYP1l(jr9r zUk7q5yXuoOe|2lr{PO_Wkq{N(#Tvoi8-=IX8>uAq*L`QOaqoRM9sC)sw z(y--Y4Si52m4GR68XB)H&Vb3@vL3vSuFL95rgpaKi_FhX%}oJ1wFCoC-lHzFPQ)TyqDy z1`EnmD;(q2_m+t!AKmgWC)E3DQYb0_NAL6shu)av)xl9>969qfhjYDyW4e!>giji%CESaetAZ45LtlKHDzP zNkH~fia@Y?-?N{ZJ0^o28p8!x!7adrTq-P+C9RVdan6r{m*2MI)Sv}+=Bx)-8fk&f zb9Qrcm;L9qTb_1Hs_4h0C&*QZYKM79?!`wCSEyO8Ao|O8rSVFqp2L_mZ zpBez?=XVdT{z^dcsTU-B!(pTP0P&=OI=h7&@GX-8iX!vKhD1$L%Lg+wuf*&Dp|gO( z!aXXl33WU$7^AFA`}{iy5&5XL<~@FWyKO~#ySbPawiqySilTZPu=UkoOCV@urb463 zoMiF$XLs?azT-CEp9r9ZA#R_1GcZ+jf9|ry0cmYwZe#ge&d1VFl~9gO z@u`H3m4pRLd3$I*Y4&@R{P$@nXVv}Jh4IG1$J)+dKDXy*%1L99e!rSgP4`%sIG%=E zYYgZ0_3>A*K{nG!tMAFg9Vv1elRjOo+<)c(hLV+XGvu6jnmyTpM@E@M_V-9nhIG=s zw8$&)zj)*^gYWEk`68~xsTNsVcq9xl7GnT<|Iw$a=CS(__J=G!S#k;s8#^(8>T?aISp7`se2{^c8ijn7Pp|hCwHf7YehUO{)I{9g zV)JwJ2FIk7eZXYKtVGfr&U3whn|E1Po?b7G*pO2Mo~sW!fM8P75W{S>=I)-ZbZ|k^ zg)!PGmD^gzW(i5+%hWnB(}y9e`elCZJQ<7ZIlsy^g&{1rPt@9 za6o{r*|z?d3cx?^nEGoE4(N*+!%bbg>ZmQ8_wG8aTVtO{W+;3?_zKBTpQ8R9_T=mfBLnc~-FW;u3Uj!Px z{~XKPM<4rjV?F^jvR&(L`ME1(P0y%>B9h5jq7Z^D;^r3MIQpC#J(S^usH^Ewc4OBf zH+=4*IW(?uCA|-Pr@}KfDqD2>F-@T4qPpCq_qnKodqP&*{cm@Z$#0EjW;_-o;n@;A zD(=QKfIL4Y7C5i>oA>>m2u+y7;hePxBbp^*vdEC_e%vHvo2I;jcZA6ZxM(y^gM`uB zvGVlD{Mm-x#qjv8iABH7)Q;olO;b9SVRIo!g?-zI3V#v8X-5p;)hU0MNH3abe$!L> zt9oHj%))TWz4#2>$$^c{PPE@JCn)UqZ7Q98`gyXGMsVG+j|L}~;j2Kg)1Dq*?Uq4# zDfY>`rUzaLuhU#%t$jh!zk{^iZ*_uu!H+(!Jpo-P z8APRyEq+~wc5`fa9l+vBa99I^T)VXXWp+xF;}t36V|wg#Q9|$OpdFC2{7xV`@N|8` zpsPvOv(10h!da}Ep+{J4%fdAGPMz>6xJCW75 z=6~Mg9?BjT?Qr;dJq30~`eYB97M)@BEI`RJco`U}v%BxSCFjiv4B0B2ojrLK1aa0& z@YA)bC5US!uSc*$NJ_a;KQr+9ukV?9JCbdex9{fl8M9U8$FY-HL%-;-grQ+3R0!J1 zUxxA)PFrm1KY!id-x;t!mBdJkJQj#V71;>hG=5-<9k!~kD=$Buc~$2A%sL=oEydJ|FQW2B&M$DouSPIs5zDQucU#KEnbRm1qj z(kEby@|^{B8x%cQ{uW05@d1%wu0x*9Qu;c|O7!qtHjtIdHlmLw%bzAQCFCfv(N6l- zl8%eg6W{d@cXhj_*M07phQdkr@rUh|YcogUIg?u8_dS{(5>(_Q-=kY6Cbg*YN^|vT zLVeg{t!cJ&^!9vLm^8roP0$FD7k(5C8KS*^v5u9axWYzoR+{wbkTPGK&fW^y%)GXD8x>rw{h- zKIB#eaWxIkk2S${MCr1w-BLeedH#EZQy#f=Y6zlVprHP2#lR-F@g==vpl>Z|u#yaD zjZd;>{63sSn|2J22g6kSmHv4~?!<^W-)zD5C4O}%BsU%Z;H6di6>D=PGM669DUOe@ zPFRtG*u~eoF}x#Bv>x{rw2$(TgS$btm!^XKthhOklk5-NL<*mwrMre^~C338H7zfhyC@m-VRUxFbM+XXbBI|1QH}3d&>3E2qg?E zugN-9a;*@($7JXbr!?H=^Nv-BE-_03;-t9pncPPl@>s^VGI zwY?AG9t>E`=XguU@>_43Z)M1?e%+dNXK>?C`ZB_$a7F3hJUt$vvmR#UQD-$cwkc|G ze|zYNI_)*0p0yf!D8YZ1eOXk&&R@2gWjocBlO2P;l0sO*UNL00w@_%KicZZR;>C!E ztH{YFiam2b5#NPNo~me?Lf%Ta*AXY$g>dD|mhCQX*46rC0>R`3QtVK1J;jG+)p*46 zuIO|ZZKdXY2Kdmh*=BJU$R+x(af zT`-Sgm4Juaq5_Kq3BxdrBc_IlRns>Wu`S{JYlwI&ct*x$#uMQlGSZfU;S;MuZ-b#( z8w~9u$6m(+G>Y7`fF#><=i9Y!yAMe1&D^mMPZ`H4)vE$m~SO2^iv3RN5 zy8;q*0)+cbWCcFK6ZBtNB_z?^S4s48VI|_wRNlplpI2{VnLDWV3QnSLhKuNTK;Xh8 z>6nm7{?n(FO+(>N)h}Kik94qVfI}49ZG76tv0HAA&k7 zvfL0Yy1}>1@NKv00Vw+G4?Cs4SDj?({ZxF-`k(wJ7i3dReLj}mn1+t?GNZ4;8g+DsbC^%I$V=9_Fr zJgsDmK&x+l&kC3;y0pcp-pWGvKhhJ14>|=fdU@Wf5A(bHp|xy>Gux^Q+TI*!eROd? z=m^Ce|6?1EE9^k4r1Sy4on(Bbi6c+b3LhjwWcwo2mj#pkzFK#j>k3~ybqoznERXnwwC`5~GGAi^V3|uDXGcw#cL@Dn#qj>qX|i(Z9lccmVbp?zLgD(ulZyZ;_Jf7NX1ZyqO$DmZY$=R^UXoO9RZJg?o^ zima!F`qFA1RuM(wTh<9l;#7+E>Guwl_5@}?N@SpN4(1O7-r6J zig0cQnOTLQ7|s~R@P>U~w5=)Ru!%#GnY1s-^2nQpU+&MY&== zpC+9o+r6Jw(vht$*ZAJQxIBmGe^JWEz47gRvPSh6p?rVRh+T?}m2j8zOeK%J@AEu3 zb-*9u4hkfH}*&WJp9GXP!Awj)na!Qi#KfVffNZegIDW7miKqqxc+boQp zAU!4#9?ipnk<}?SdAsrDCCuyd++K|OT{G{0r@Tf*#rI?bs*ab^K(4(sjNT$DjWqt? z&1F=taG0bz5Z}MK`8bs(X^chwLrSI?0!!QuFkHqeNpSJXFF~31uB_2n5OP8DjS;yF z1S{ipnD6wLX`Jrd{knY~=WKd1PUvEgeeNm$%jY`G?z0w?fks8h(#-F3)vh3hH8A>_ zB*XX9fI1E7UIF#RMIR<_;zh_F{k0fJv<_8biq6f8^rz|T$KckPY1o#Amh9U@sd$WD z^gZ!xEqpux74#mo5F$TWFGE-pC5+l`+RNE46U4mgg)Yd7nX5Zz|6WJLg!T8}V(D1OnZH9X) zjWLZO#XR59{l^m2Y~}7FDFrsE0wH*r#^GWqN$ozXm4oTD=u?DLr9-w4?JVm%;7o;> z1!2jqR8nyic7P1b9B(=Qv-hiXcW+yVSNC^S{n^KGlrie@AnY&>_OfT|qZ6O8Jcqiu zs~-a5$w50`<)*-7mk3ZCgK>5b-(Kh;eV+YR zrTHz&N^8AA9A^jx^5^^~Z+#IN5U>W%IdLwJ(p22^)1;m(dBicn_08hk^Co3c)=w8! z$Mf;tOi-~^`kCf%)t1+JZy!xHKKz#dNjmv09X;6?E*txW39{QaAkhZV_mN^u^9jbE z?p{v^&k!CoAATmAl?qN-)DZ(3^IrJsM+9Um z$G{%Lc)12HHcoxIaFRb0@51qi5F!tC;OxE0*|Ii#If84qM=jAi+)IX_G316--*EJ4HqI zZh6W>?;bLf`Cq$~=3I7sJyn?;1kV3Dv5Uy^cIE_M`vK`obaZmsz* zM;1T^0hy*)z&r(|rKbD+MkibLX;oO1+455bOeiA9oS!1oo$)j?mWUPe%$Q3SNUvTD ztwcaZfKyPLCi*}!?&U?&UHQqgZAKVCCEw_Dz_00l!*>quNAIW);63&X zi2Vb{lpg6EmgkaR{EqRVsn1Wk#vj-Rh+#6pvH7pkM~_a9YOcf6Ah{^3a|!Ih_O3tQ zE2YQl1+9Pkx2>VO&QVtSLWeXWMN8T~*TWTDwr4rZhbwcwT$8jo99(GfvGyjMQ^u)3 z3{HYzv!;_@nhnB7*BS2mw~BJL-ZA$5A_zcbEauV05-mJUFeX*MH6+h~miR(ltw}-K zN!;Y85@Ura@ZPm*f=yk_=K4W+CL!J+@tRTn+>O%q+Aw2T^-=k|!Pqm|B)(_CcTxLq zzG79P^||dz*^}-WiWWM`?7@2en6jmz6*J3P-T^c{e?RkfRKmn;|BN0kSo^&DhRd%bLv=`+d;VQhhP`Z1e{rsIw+wy#MF1`(Moc`U`7l=y zaN;GWQPx-@3l8>_dVC-V_phPPEjP|R39y%ACs$d7kaf?y#=@^O9tOmo(cwauq1Rh_ z1piG~nG+R^u;&o1 zoxjSVKrjpK<2AOgR|TGOZsl&D&9UO?q^i*mae9EFOmunG+Sf=q;*$4$B=4J$^GVar z5`awDkbdqo_v{WtaM^T3u`HhL>UE#<)cQ?lHFPB~^-S>iUS^=hNRlGA#rJwC>}|ZS zyWP5s2Wje&Tug$KAQKFHc)ebl|BV2rhpS@gOq@G*DelKq?RXgym=H{E48WEjB!@w&UkWCP!YRlSL2fDcDpk~Yte8G>A!B2O z`M+S3va9DN{=8bp$XMn9bsTrEBZMb?m|OMCxzl@11#s;Nm&cuY-230%uAbq4MTo}H z0vSDEzt=&w(6o5pce~bI9#%Ez7Z(ctWSL^X`$SudUax3#4<>Ivc}D z8?Wx&ZXQR!gBf(w6#ap_jTGLzQe4Mg0bhUHeUne-+>=ZkO+cG3YPR8M^Wk2=Ix=08@YHrgR}#S= zq7f59TL9Zqq%GO%!v?sO-)LrVjti>|9B?nhEDXQBAw`M17oWb!+@E*p6i%lszbe!_bq zJ8oVLl|T7wmxVblVf_@rGdQ~(?mssEvJK~rIT8z2`BMNM=X}F#DZ!JbFmu~Ot~DBg z#Ppor>uaxLpDO&ZSfat2_3{fT>=r0g!Xfx?ezRmZhIyD_4uQ@1VEMldKmMuynXrdG zn2i0xC>MI^H+I{fNUN;58}jz-VML~aWW_CG2dJ$=05l=x$7KaA)}aGyiS@-Chl8QV}DE z*?~G_*YIboj#ADIg7sqzHKF543%xI*ziYz|dOSX8Q4T96S;XncCbvV~m*KE;ruF1f zUQOs0Z=#=C*zd)sU~^uNzU4E{y4eXs=RxTLCl{|Jt7zd%`p&pxVqc;}gA8(8)sQ$| zmsB#7w7Z`VPRH z;%L=}hTbIkB=6TXpt~@!lP3YH#r{(w{kGCt;*^he(_VQ8H9l=}!fS7f5n3ch;rnDGtR?PlBrRva_p1@lHGYUIlVVrU|aT~Dycw?i6 z4Ly7xaB`&Jat8@5qt^ySuviVem+Qu7k!3@3q_w zo3C%*bZU~ac0D(HxTbYmD;#n({tCt=nZ7&WaX)xKc8B3v?`6&M*sn4F&jO%M(&-nF zbzbxX@55h(vUAu%T@ahsLkQ?vz(XQ)E`a{!R)J(p0F&ezoouxtv<9BxpHfT+xcbNz+0%2j54a9ecg7`iePug$wsM}I$xI_1#1<<8u7H&nBFfhaOpx=6Uz z`=asCB&)2(3RdoumHMc^{U(U6%W;vmTqX|otf_f@V(G+*=saGW!U60miM93D0cmL; z4ll59s3(28{DVe%k`95TPhJvBa>qQm7YPIxS>`^716cSk7&qJ-wc}=fo`y z=gMeA`y#vC(jH9lQ0Oz@-Njv#&|;0WSSt7hpg>X|l*_?~rPs|M#?s!PnPqlQPY)@*=UGbed$N2Rh1>;o zcQ=DMQQmS+O&A2_{JXDqWt7$sWkWyc@Hc)gi%6_W&=*ZFaQx89Seeiq*DaQH%oX5h zaLY0lHt20yaARp39OC}@O?zb~FJw%{y5l~l$6O_hEsIyS^LWaSB3@_OFHPrQKq^Ih zg3K9rfhb{q`C$-)N>SEa=oy}7%SxG%c-o3-_fO_ctp&cK9V8s@&-tka#IL63_VCmS zkX#91gp+bj(jQwCS=OPj!87GqWx3U{NWybOM*ngy;9WG3L63A zwMm?+E@pDlU>7sWkW(zHkqDhcEn*-sDt)m)`6pJ2lRw6)IinI+o}W5U*ZBDEteNWr zgR0i8grKu2GmuXy^-4OQF5c{^KV?HpNUU*}3v)Kp3WRlAMqeQVMiWYg4Ro$3=vqEx zV7>2#zYfC?J|w^F#s=EHtHa;h;uKK=PIxYlMm$%?ozkg{-J=fW6+o~Ham=Qy-OFO{ zcxkDd$Eo$-O{_Yy=>oY_|J;SMcmF$QwW(yRcXk#CT3FfA$;kx*)8k8t00+bw>B9;b zEbEb;C^k^0vD%?Hymr8LcWY?jeU4W?7gXY}SbN|eRq}}#`tP?6LGGfF2(#UHU!SHs1;bf&}!*GpjlREX7-ceAo>P?@8hEOn> zQXI>NxIc0_lD>}{OA1BtH!j3u7o5MhPfh61s$33=)=o}-wb0J*`%Wr(@k+Oizas;! zHZcPDNq)uLo8R2U##FqRB|w7OW@EWHex!H-I;^gu-c^Z@=?SaiQ)RCu;=$>jYU1z(bV_j4LxCt zE;>V$B$G3;K)h>xQ!QtEGIFv)*5KAO;k2bKvH*VF2Vv*S?^|ocOH%9)GT+pII_^AnH=Hi{A4=z*Yt-uiQ{hBe6GZues(A4 zA^gM0nG-s0H+p=_4$(`hLZGfQF$oT*ktY{>9nO1em$p+efO9LjFZ3+;AJYusAXYwg zOe@s8x<+WF+X(7(Lx@Jr{6?^XiN9Hgnm7HoH6sCw>Vmwp-J2jRvR~qC;krDN|3QRW zRWKM~x8LB=!tQV}a;3M3d1%lY60de$8@yBi5;|3~BtTB5lkY;5Z!Q@=q6q{UDoy?C zsYet~vFrcUFSpiWtNjyW<;~P9BNIjb!M3D;v-pb!lUZSN9bqbgvPoH{!S$TgCf$R{ zGS|!{M->7;{$%2LZW0taZCCnfV$=CkzuOx5!$fo8>8^e|lg8K7#6~lkBnYZdXVxTT zdArY_l6i47)z56&5+5w>V{;w*%pSaf9Rq|~LmT)0nwP~Ti>B36dztK_`>VDQX6F}= zJwKHxIBeZmD=O?X5JE?3r!qeQDSdFApL2e8>u#4FP_GpB%&1BjZBUi-Dafah2J&fFIPATeVU{;Ans;Hf^!nI z|MSsBXuz16=9JH*83=JtWGyo|2@5qF00H-`B}iT=usN*PM5$5`5+U`=q_llstvR}e ziH1U!Sz@as?FA4){r&zaX+QMeN~JoA_)N_?=R)o?b}amac&hO*rYpr-1P{s#9`y<}^v#ntJIee)+@Q?BiSlMdB5d?)9F z=gRaFvf5tAyWTp;wg8kY3Clf4#t>HT>F+V)dp3TW-&8B!{Bjn07{1F!V|5xZ7KPRs)Jsmt|UgblFdHH4KBmAq}^Cf{lz6#iK-}e((0`o z+Tz&SxE2uPM*~IE)j9tXWSKn#ij?-?#2BiJ5}-wJCSaF#T^zYWzKDJ8b!jf}_4z-s zNnXpm}GSu==y@XAI_J9PPgY$X1O>K30lF|6QLWKI+2+99O(Y(F{lLNkDSz zF5p&&q5A61`tQud)0>K^`VNNQ7{GeEr<9A4?FkUu2Z)jzU$=G=Wz(aOxP$J~WH&q% zVs{{^v{uwgsA;v4-IyucObY#uvI~F983EnvH!e8$U5nN;d3i}Awd{3 z!eY6o^p~rg@7an}qb76nFJ)2?K(4QE* z++jm3uq$uBB4m|@y$Ruma^l9Ovg>MCEL|ECx}@jJ|Z&4wJwOn#xfW&BH267|86fEmyn_KzAbYzxlG5;&H+|L+_xfzff`k*EtADs2 zt==kg{oAtqxjqch2%#$#WA{fn0_D)qI*Ta~{2AtHSn@>sFlX+xE>P`uEyfCf?QET8 zMv;(Vh2@0RwjDC{Gd*4f(^4a2=;8SIO%kt4RFr%Y6+JL}U%r)u^n9#ym3BV5t)L*Z z6TzE2tJA~ao%;9$DsDbLHuKI#L56((s16dobR5GABF;jwuAZd-;#HxzWoiPmk%ap3 z!&rMVP!|}veCCQRTzKe_sT6YDMmO?qY8(u8-=Z6P=foK;xD(7|rla5!hTk{3)v~iu z9>($4I$0AiRMU7{tBD5}Gx$L6yxHUQ26DB9}Bo}54eMDeqS6&C*b;fC0P;4 z@M9=hyw`sH$7)`~?fusp(VBIO|ukW&bt(PARE%eaiW-MEJ2JdN0BL_KIgbc2{tdfn= zVyA&zOc7<|SzaS@MKiB0YGx4Q<9m9ssCJ7XW4e9*7H*jOb1yqkI^E2w-0>LtvY;+9 zqDNgluK&ZXjcxYzX?6(AdmnwzbSx$?#{J5#q>llp=NSIdUS0D^Fy)OiUhSd(9*Wtb}d+kxUvxccl}d0BVI`Vo#DK9=Y_$5`%D(hP8R zb<06E(u;=6BgaXvx8_;+KKd2X1l%PR?p{q>b3Y^$Nnp1Ka@g86BB*JMzsz!kEoaa$ z3I%3Vx#XvuDGKLN!swO-CoinTo;5$?*hE9f4jVvmB0T3TAKY0G{fYw`XRA?*rdl* z>}pjW_h=!{xWY2)k&b_cntB5-eC{f)1MWwGlbj7WnGh?HyiFcYSqc5ANER+nKg8_1 zm-E?YRIt19UWuG6IU_-KZrM|Vt^(|JeZz}NLn6{+_27)m=g0B2BQ-k9Z4FuS7O17Y z8xG4&l;Z<->0JMI(D}28XW!n8r{r=X%ZqzkN@4g?WDErQr@`C%yeFOeoDsPpv?qV@ zj;lV)at*tqBnv1sdaFS~l^TI3aB?u!h?%3g!!j;&@I2ig&GKYKu_xk{+#PZD6|T7! zp#Gv>b(q{XCrY^7^>)6x$>OuJHH?B-c=suZ=j264mJFI$>RmZ7Fv(933JA}1`8@sF zj2bVmB;civ7IIC54X>6TOnbIz{|Z;9oF$sL^xv(1Y6&BmSd{x2TFco@LY45O4bILB zx1;W+lX4M1wAs^o>R9H*uLp7XhEtd{T6KF=Y(L?Q*-13tvDcy%i;_<&FWm7$*OFi) zYt7ff)t1Yi1vdVPV^)Pao3#lNm1lIRL9rir_Zr2QL%{?&-Oz@QmDtqmEL0Js<_42c z``V`J01du$<&w9r#4D6oUl&|ITb=5(C)RiSUG1$NoXhJQ#s+R*+V(^kM=1q5(3oax zF0Zjs!WBQL@bZvoG1Sux;r{BOyy3T5e~5HKePOIlzGA8824cP`nGYGN5%{jIxC!4Y zd40ZYlZChOZof!!y7Z$hgD`83fD{DSKUeBbCf6b!5-<5ijy8S(LHH)`EMF87#&(ql zsN%0CcO?pz_De%B(IkGmRda7m9ZG&2bY-Po;liBXhDh=^V)aCnV9X2Yq+*FIseMODmE`J(oGSmiDQ@^`9P#6_{_~$P)R03W zgXf3F(x_Q?KB!cm)0iDQz3t@lMm4u`huwG0b>DZdey8;~WG~|CsMvYF)7_5Omnxlp z9_>4F({U~+(Y&ZC>Cn-a95ON>&ooCVTJfk5VA%&>YMoCiP#$~!aCMJPV%|GPVm>@b z%|r4E|JTK#0^P{DeUG6sUA>XoGX87rYjXd+hCFAf5q&4^zB>L#f8UnX1VKDw$>|#J z%1OGY9k;lrPQ)qcWG4YkG`JHzeu47R^|{=W@&_iuop6 zzZAt7)l+!Mh`uk{HDvzMB`>uJB^$ZpyzVBUHSyJ8x{+wVPShUq#GUyMox;Gu7V&{Y z&(QaRP-V^pJ<_Q@O8>rSzTiSJ(iyM(^LP#F0GNo{v<(|(HLK#oYxFhXg(@hj?YnaG?5j~! zH3vig$pOlSp8<~f&E|FkjtZ7 zQsW69InPeD*PgZ7v4J6bhE;WO%4<{GzvE}^+``^kxnZMD&*a<;;*QaK^&a2lzV#Ds zY*F}p+E#Z@QW;nVpr!u(*dIDO*+t-OTEhxfW2o;6_B2uZWfAqVN0!#DcE3FI8+yX9ZJ!`&3!LAmb=WIhx)mN<{Ok zLwk7_HCp-+BFVx%2k)hjx;*NlaKJn7-W>LTA-~aWN13iDO577$#s3~Q^H?XofL@T7 zva3cgUxHCxa7v`L@K=bLtBI1xY||(~3xn)ZK?9e)M<==7pDw@t0VnId5UFz} zVCx@I_#Nes1BwCe_2Aa-5L%clEi+U*c;{i1K&+53+m!sD`6Q>Q_S z=*I01!pV({Hsr~auO%65)`*$zHh63)RmA2+1ozohZ*G|)b?$EYr@@}gOY-UuxaMdz zI(EmZnC`Pc5*$#j6do!&5Bc(74J(y`+v(@)olj%cwC%J%PiLlw3lI03ZpZu<&6OZd zjY^i?T=&pIpM}xGwRO~o3Vs3=rCtVFc0(Rd{onH)8aLTTrr^ATXV7PtHJ^TvTOAul zx%iE0$yGe3Izp@pGOFM*lcO_W$aP&{GV9E_BRcD;yV>js5htyR{R3h2*YI*f)iDIX zNqXSn!l!hltHtZeGq>*u5Z3ln{q{MVa%)Xc@oHsX zoZ~*}I&TRPQ?Oq)e{vlA(^UyQ+na7(_(lShvCgs!szrl~L`=0?_L9QwHSe;%vV%NZ z*9EB#eJxS4U)=!zOQPRIzqasrYmOP4$yZnX=b{CQ1U}_Jd$CLE@-!^&*h-x=_&8iD zdj6vNU(NZ|KR z@P`FZg`$B0iEQsYJyZ~|^a_2PIK2~6^V%%|3Tbgp&g>7Jk{W!{mZm@W*S`lMKmK*% z=~;wU(Gn=07uCLIjg5&KT_V13mRPglkRlv&>A~dkbao2U>4Gl|6$5kUw{&+6!M2Cj z8R@(v2Al_HQ)G2IrWaOhO}stN{qqsr_+y-r(T9swnd1h8p~eR~6GF{gyjOitZ$3!x z#`x`Q4u5E&)92vdl0`%MqNT>opV@b=2;nk@dcxA=rX<M6mxD`6ZNfNJ{%X#Rg z*E1>>H?C7z};HO)o0!%~o95E@7Jt&@@SLM}d4 zuUy@4^f@j8#a5le_RC-YT)kTiJrHi<)Qv6KU&k@V9S;R>Fi6vMY*hGMBG)ldI@Li1PrE~p4}f2Ir-Me z>IHYJ;~jaO!dBd6T+UgNXKXj}OD!P3bEa>OOk2O?A=gKb%qs0OFE(a^Fz1tTk(SHv z?COPGq>eySpF%=uF%ZXy%r$42? zOsmFhbLQz#yptx&151rh6pn}N6_iL@#4H-h zu>ijIsEPa5n|qo6#5BZw7ozx)@!o~qlMMu+uaFILA|3%fKd>(5L)&TC}4p_vS1 zI^bVw5->sgDzW4_j_rC{2SRZAtWH6D;7J@X(szV|jq2+B@BRca1_89Ai(_VXy4Tml z4jK$Rp81ZD;jzcJ|9(y797y4aUiGn$UmoitiGR2C+c-vLJ4Qy!OvgNjtduAX$sVO5Gy6D)$gvNp5RRfy#vzq`kezXo zagcSagJT`X;T+ER^!?%cC*1eremt)0zOL8n`O@8|-nR4oPM>&-K3J_vnzvzt5^>UA z$1z`HN|xQu9Qg@u?*YGMmEHaWdR9XpAC*VDD!M;pkbAKc57Y?ZTXdhQKnL8(Dh3#W zi42Eb3U8rOTaSbqB&52LbxSq0k~=&oWB{%&Ext`So&=SBM?#@Lv9?uvh8Zov(G&xL zXYJHEz2d`-e?(nM9{p9r<6i)U$kA&G_P`cYHT|_>W-4Ml(#mgehs%}G6EfnAz1F=E z;Vyv6{i{(n4N|yo_*_E<2A^>HV=(bNG%7!OAP+`6!B5&qM+8j4y`htF3*@Z`1CLeW!b2x{Kb0A zkAtKdL<%r&Ck=z!RBZX_!` z)%MbR@-EEO5KHEpw9&iy5r6___!T4w{<7dKq?LQ&Tr`;oPu6=F3O$_ zaTBSLo4&0tpw|WR<&WD@_#P6@TV!xu4rLR8nLX&~lJf4XvE2ro6}M3fQc+7GnZHgZ zEf!64rt+Q~?uddnQ@rdZprjmeN1S+17Z6+&9`6QiX2x}2hcx&UoW9wbsLFZB8}Exj z$QK$V1P(<&U#8JEeMKDEQ2t8t6>33(J;d;%H{DGDX<@zdXzWA}8D!70VbfYmYtV0_ z#`2!`3}8}mWl%&wENhXhzc7dwthjHUM`iw`yxgN-@L65t_Nn|^5BsDxpZ5bb8TS%S z(&>@!PYV5`@3|^ULv3I3!cNLq)SLdV|g5Y!griXAp5&fZ(*c zY?fjdpBkmunGW?BcD`HLQe@fR+7taPB4YliLzVjgzdo0qc{sZM{s$IM0?Olb1P0G` zO1*eAQ{DNiL8$KXYIQNin12gcCvd#Rjt5xYGckar`E*Ai#npmX=F-))pLr7th$6)fsv7gh?hr}U(-U-C4x##K8p z@$r-0j>*Yd_(7*N2#DCR(-it~Y9m1^Ty{VvAv#g-{ijx<%phlep+L85^_c31Yrg^0 zI+uhwW7J-E|DhNgG1bo}KIzY6O!Zrz%n?ifCMYlrUyl33z|t&j3W`MAJ88qTkvo@O zzUXkdubz%8`H0U_S{#&}csLInq$r(MhS$@OT)rWPE0QEEHM|h{FZwb>o%`p4JcGY0$=@ixM$0VOKefZ-(%HNF? z;>_KoCz}+&P4-Y-K+j82{{Yil&h zdS!JHI~@A?dL`xv{5tSwM|O$#_lo&;ic>R9217+T zs&f(287jZ_WQ>!!H98J(MoY<8Xf)w8_Rk{&c8^|5ccrsJ^yxemfsG44PYrU`PV*m70&nJ2#~XbKx!)oy z8k~Puo15-l#@Zk2l`VcEw69Ms)eQ|XK7T>|!6E$7YPuNlDteFlGc_rmaO#>Av&q(A z6uvSzg@y?$J7PgW!}-0wxT8bpOh7K4uo1}En}xa3%~Dun`HeyFP4N$;Iv^~au=)#v z^V)iAkgZ`0JEH-t+dfSD=JXmq7r=UYh%fu~;EcxMj^XsKj?62+ifPFg*iT%U|+8K`if_sVmi#J_(9lh#AbL$ zX$o_~QL1nA^sx)1R#Uk}81Vv8OP=(&VNM(v9DdrWTJPE=Vo%png%tiaGp)Fd)gkuC zw8DfE`}D)8W&Rddm0Yu6VY7|}e|H8F2`Y=0cBqB~!U$sLpR3M_PW{+M{YGx-_!p#N zFE|(B4eu(amCZ#nJMzOQ{I!(-QU$HPjhhMyiC;KZK**;K^)wh*Svbx1dKqQyU`Cgfo@is_Q@5QXV*t4a5Xbp5#g)XF&e{1($>o^kUG>8OX~1n~V$ z?L~-V|8DYLr;L4Ob}-0I98Y1(>2u(56U-3^1p@0XrV{hwF~`~SMlVlE3E%o??qId3 z2fOp{U3SvO8ATHz#4Jo$AYo83uX$P+4n-@($WBVl(0O(WASvb{vaKmheUB;} zz@kL;S#TP9vPIHTd830$-DDPi!I@88P<7|2FEsz_GeiVYpg7i0{gkoo*U}l@A~hf? zfWF&*J@a#Kxc_Ue^a3L=iM}2QmI)1YTWAfdV3B7IPA{z##n3b7C$c1i91;Hxvb#^P zqMgXsExevCnzISE!&z)^dYjw3H`?;2x(kNei#zBCSuo(9(p`7(-rnB9aOZ2LD01 zSKMO`BYSV7>q_dL$o}1nZbcR-#}cp`Hib=gpO0u$3^|DSVRe8=`x*$^7r8D1>8hn` z$Fusyt0Ldj?`dC-sg??u4Smx&tOTk5lQZ|?Wubh?8+_FEUBaSavl~N)wOWC>RZKdf zJEL_#O(ki>$<_8KLh6ry@!pWPOOaWr&7nVwh#F#uiR;haQ@zBJN9VVY-J#U+k!K1` zFjN!XDw=ArQ44+lBtjd2LrXUP*n~V+7559|nmTk@QFGgQ_Bdo zX!)Vj5Lg3BQTt4o=ryt&I=7&Rm^G_Hm}im2Za$9kc-Zm@Dr>f84cvOmcC6m6)!iR% z>pmD`@&Vh<`Z#c3Dgt@ISv>PfGEi55FR22>&Bq0F?1o*Ik#h0^4 zONLUUkNEJGee|pyWAV+EFB4uYM*)3%$O}qocfrdK*wiDP`KY^c(C0jlkopz>;&h@v z`@O#Ev16z98v@Voizv3yfyF95+{Q2U7M1$X{_Mm!%8fCSA<`DI(1mojr{utT1g`%Hk=yg0fK3MS- zeE0)gUDhxLh;NyJAEfi@l1fxOTaLtZylEuEP-ui)+pY(;shxjq@s5xiPv;@7B1&Y8 z^DZG3g?zrS7#c?B(hpgB1=%BZ(At9Se{v!6g3jFA#bR=0+pY+ogf7Q1(Y*lG;4Mk> zwgzFeP|v9g#MsX9ijQNPqt(onH!FMPtp4lu9csdW1ZJ$HRKL8qCDGSMigLH(ECZ+9SF3+{iLh- z$YB)Fwb3>D5biyBG2rP)q<4ie6|D060eF5L#!8H2JHPoBlu5n2M5b< z^Xu*(>9^pn9^jWH$2AVFriQyoVTr8t`r`?`a^FokFyk^{cZJp^9WeHJWW0#rutBeM z*#G!9X4GKs_dG-F`s*hZaDjAFqlQ#=uoNUBpjD?9-1WER`auu>T-5KnfX>5Z+5B}pKJY-v_IVtDUS>#(W6Te3=szxa3V0xj3~*Z##s z$$eHls`JW_jUY=2=@~>W9zKG_<{PL7L}4aPQ317N&M!+-^QUK<{+5A}#$CM#m$G!; zoMBRyNgHvXCG_dNMNv+gC~pX#`QMzOXdKAwss%ZE;jecMJy9(zvWQifQxGp=^}eR^IcM*Ep$>Blbdb*c1vLpL8_1kthxP3x7DvsX}mK;Dpusf!942Z4(xXNYE3HVQG3 zM1;H2OKZ5mLg?*Ea1nT8yX29hOi!}2y5$r5*9iUNpAmXX>Z)@6a;y`E+!t5 z^ZRlSY1|pjb{*n|RNBIT(m^ES1DYItFiDffxMA9pc_FB#-Tu3fy#a1bpJ$7Qpx5j8 zR2SnM)qB5=TQY8}Ha`CLNIqH8-wfce@oR<$ju8Vs+$%|@be)2a_bd94HUsXd2X7|l zyoGBs23PhM@A^HJyC$353m`Ah+tXj#&QQ!-NG#<1=qEc_=%d7WwCj-n-3?&%S`s>x zU-wvE2OfV1KIM?S^x05fzKuenKX)};?6O*_k_{5x3z96$ zFhYUUT!UQno<@d2qkmDv322y~kJw7!f$Pq>v})K|+=FmWYnkI`E=$R;BKB2P!#=cV z6%K_Op!kyGHPAWim)g2ibM<^x9223jTa5J$69#vGys_U_Ep&B^^Xozse4v000D(oJ zF4FemS8^|a@x$fOoO)A*Vt0dF%q#>nqY<1uNo z)X-|u5?#|c=md=_Z@u)>cE-=eR`l6TZ=-Xif{HPGW9HU-Jx)tJFTug$qWXzhS~iUM zogog`GVNgD#5$L$lnj%dY{~A^K{^|t*#(Xqn`jH1HAut6EI1nZP)(EIG1cmP$J!dt zBiEJkKa%44dUocf`>mx&J^-=W5yE$hl19fq>XctYnuwtt8hhZ07vy1G38~>4hCrhf zo0d8=9NyLL*2l^x-3$_Pb9>COc7C{ACrZjiqj<1fyr(XJF&CO#ARPSu@+HXqtFYnV zU2||W`{E}kR0=>6<(0vu6675lI6NNaEuo3y`qv)n`=01_SbPtgkd>TJ&YD)3Y56%I zPVMdx4qvO4hWDR`?}ZA03cv~ta5XN^yb7O+rqc^605GjBmc`s1iSh-bjsnSQ%)nTJt0yMP_%Kz5v)#4i;38Uj%^4hDp@{5`MbK?h~Ge{bZ(n>EpV(@^!r;HED6Tw$~OomVa6#bXubFU8kg3Kd0$^ zHJrmC3tvNqmI75;540jDDlU9V#!P}>hoK`B%8CRUYCMPm{d#B86nS$9(Lo={J~LyT zKySQtfQVAtD}K}|{1*VM0$gvBlM(U#^o6};o?z4dx0q(o>x{P8OYQIRHyP#YN; zQy(J5qTD=Q1!B}v;>+j;$w1E+uQ-2nb>Wi*C39R%#}A?W9Qg*JX%N?M)m~cv4WqO= zTX#C?pY2W#ruRP^XB4+BJ(GzOR%kQ|7SO61iqF>kFECPYm`&)*NE1rbq#o7!-rtQRTd6=*?$nHT;|0k)56EYW%=UkN#oQ z(KyC*cg(>mvuAslm+^>E&)tGv(h)puPZ4&CsVH|dlT-~Zi0g#33Ji|l(NIU!h19>W zgYDski~a&@(g3!R{0iU)pObVQx!yw(ZpPUm3ttG#?1VG>+wmJ6!kZ0Pi+yq6QA-Q( z{po8d(5FALerTEa`Wk%SU^v2>>8Ae~-sD(v-l*`E6T(jrRZyR`X zcGioa&sj(7Ax>!kH|Hf?3|SvE7SFH*S9s)nEBIB6=nWN2G2Y#EZJOY;cj6)K=#pMV zFLuLIp1SB*3IXS-i`SE!DPEC`{fj>q)aQ*lC=0rk7H6}2xtyb9~vcp(% zyvMT>!CJabnBm(X<|{FSW*Dn|jabf4eOi0%HSzrXLW4s(n9{NrU4(Zc@$LdCgf)x@ ze6;-|Ez`Y|cCJAPa~hUdN$VE-J3nwAB0y+lrO9MXUhQg2?Z1J;ztty222`)8``GG|pS z&&zrFD6dQGT{0iY(T6OA`ZI)`W!Ya{;ZQ!K(&{<^+xyuBSy>Gniix*6)bggO#GS+^ zcO+<*quji|UVS5h4en4Kxvvo^KN#-n%aCq;ARIJys|Qk+d+QNoJbY95m(q>K4Ugwv zq#?g^06Bjr(60}753O(5 zABf`e+qj47olh^XGM7~oE6#HUex45bX;S^crQn2Ke%f7C;nPXFWxZ^@h9i<>kY8Bfg`1=GU`U1}IgP%H25@K2XQUWiI4i_^&7rpS>cb;^M2BoU7zgImW z#jbLh8k(5_-5t-=!A$R${Y(cKihG;(l(to|1HIJ@&Hz{Mxr7fbUt44i+b|gylSiM_ zO8ioid!SK(=N~%~yWX`j5T*Gc%c-sC=&J^^uUVV8WqS>SkKfZ8Sg@a%3*CC*+iNG6 zM$j}T62(n~VT2J0zbda44kUyal5`?pkE3lajR z+3ck}TS6KwF|+&nM!T{=GlUXDPUC56^K^Cz6gN6@4{aM&!=R#~AF4h+&KV0d{)vN1V8r5cCysu+?>@OFasA!il2~dVh7v zNBO4MM95Z;iu+EEtZR(+iAjpBu^Xn(@$k~mE)A%9ztue#u3Ocv2Iw_>JdSww2Tc)k zxnvB^!c9G9=WJkL3qH+7nQi>Bs%2fUg033PW%576ahBEYFscX~+RVfcglN2-@qJFw z;8xQ0;K|fzTK>#X3CsBX`8+N2J4rEVw^Yy*nhz$9{xiLCKVYlh(5o7op3pxIxm@{j zPsX{PI*vLnRR5VyzT~SA!Mwr^?*9f*J0~x38`*;h!YuKhi-6;R1qd8pwc2PU&Kql# zWwFY%27qo%iFvQA0=tJns|yh{4-=lY6$k6(V*kAB;l^1nEPmk*q)DS=PaLdwAQgm- zpn{HUyA0t6IZ8D;`+fRF$-KYoQTIIwN97v8(1beT>hF15?mcIXAio0p#~qJp9(GGq zYA=cmD)n6}4CX5$lCvmLhNkkHy*AJG9)6T>;Zp$Jd>#4lnq14{o^VaVh0DkNAH^W5 zTR!kx@UKx@SXr4aL-jQcSj#46ozf$p6d&U<^EF~G{g3m?*|#27^jZ5Jwgr^GdU!G@ zr>nNeey5MGk{VGg#J6YzS9{#|+2^WoBs{i|O-@sQ!nqZk= z*R77dl-gsbPOCE_uyDJVzBm)-OQlT%cV;G9C}~>nyRJhUJU8ffARF*VZamZT`aaYe z@|QUE5DQBxB#J{t=Y(hflOcCS-gxDl&uy zE);Tc+Q8Q(>mZYhZ$5#!GDaUut46y#J^h4skj}7uh%3ZBLKV}2mpnErU2d2ekRbJyc=7|*g2%IQ+A!B~n zc#RS-e+BuDLZ0q$&G;DgTwLjW%dRSzIS=ewVcbu7WV_e>-%US9{(Q^sc9J0_W$>Lw z_wpzq?*2Pzbk#Hblb4+ z@>?yTAt`>XrAPLlCZSKVRoJX_41_vmrZN#z9nYI&7i z{IfDVaVRv(v)fv#2;`0se6>|S0lH=N7~>wxb9-Q5tw2%-+94bI=*Ebt&=SIj-jiDW zu@%x{8)YmT$4oZn7|w=1V|^7r)vIru1&%5PGhK^*OPQkp@u}Nm)mFrjs1g%i43w(> z9D0uyY_3>DkPVv_uctW0Ea0P_sZCmpkSS4jCYRI^1n2+?tR|g}eYRH3QFU(<#1#GBF8{oCdP2!Pu;oHY*$tCH@(~T>e(n?i z887pn9hMDKog4(E##Pk2ntnL0tbba``R(+c=Xh&U3yX`*`%nX8vim@(euCq~5&tgr z0U_`Tb;M8!MRusTN=|XINqy`j2-+V|g(NX#MP&zf<-0-F8l!zzmi-3&=*n&OHoWUsNZ<5V_=e@i9= z#$H#&>6}N{1ck%Hs>0xnl~TOaKnS64(@Y&mIyI$lCnfQIo^*;kgyP_EGW6r;#(wW@ z^xD4i)<(!j*PYCu>NhV-hVw#X?`3kbEt<7++NHeUbK9ZC8MujDPF(Jd-TChlLX>s@ zXTPSe_etR1!SFhEh9gu!q(bkKxlxk@llj-TAjgt+MZ_~Fg z|E>FTn7szY6w@1F=L*USD;&3S#^r=BE-iPsE@EME971CT>bBPV<=FiWWSL*FIb;)>AGZm}Bi=@lcN%!<6QJmG z$&U?PaN^M>0}cTqqON9sEv!BW!~1Mf6>icMDLp)1d&je7-W%h4nHYLq@~oh0fXL-b zkG}Q%ZEm7ykKRd^xYYK~b|P+ZHR(ngPK>UEdmq%XRe{sl^GN>OhSPd3>>Pk8Jd3*= zwRj!?m7Jw~JJhaA-_?jlk&j%*ZVzVw@>aMQ1pA;}qlS+uH z-!QbYR>E|}1C8F645w>(?tVMG@62&~j_BoelT9?R4}$|-d+MlhzliWWc#r&BZ}F~F z(rNtyn`}2u!PRjcfAclzE7)h7`S6ihbk~F>Fh1~08`(lgzu8TwKnMfncIMd-`TIAA z`Z`O3E3kd>K|%(E@?`mHe>3s$-$cE(w+S!Bh8x&OI^n;+d&b{qx4WI^D>HfMNGn#u zZMYWRBcz0t`j?=%@bw87)d-Y~K!l5429Bq=l6r(Y`+J$dOt}7ane&X` zXg$QRTAUKqWG**SBN0xYDjErZNB|F}$8OSjb*c}>vW=ee9@D&@XT4rsJewKP(NqI- z^h2-zDu2GpzH9O8Qe~I(_u7l2!$o_NR@AZ76B`Hd%;h+dVQ7{)W}s@fB);yL*Uh9= z&ga4$w}R{0*A^v^oc~Hw$?1pb(uNl_66$tlx+o597R)Z+B5Jwv2jSZ^J)e$085&C9 zrL6jaid#gkFX^++!a<&Yp-sYL-)a6HmszX4@%kb;7nVwUZ*$1=6i$Tr{;n-Qhc$5D zEWHf#WX~fj5%P(BC;2DlHA>U|G~TnB3J^)?jH>l0O^qmukBpgcR-Kl~{(kqV(0Hen zQbx5IA*t#yRKE8V)1@eFL#bcRbCItclKeB{XPjMt(M4f#FMcH0cH#RMhpT0WCp*#yjXXJv7M`1% z&7Dkdi~kd~e+OTNILS&@lJVmJM*?O_V^$||kRXYm#qrzXNBaxX#x!@_k&$-F%2VB< z?z*OFqT2T8Qv8pI4daky+M~{7wMv=@9QvH|6>H@@_|b-z>X%6+w4uz#?P&TthrnOS zA8Gfo%l3vQ9Ur~sq7LFR;T*BT;J*<`pszq?Ry-E?-KK6P{2_Cv}?maMjL^|Bq3l|y}R({}Ebm_u<&@kxW`e)Pyp?Dek za#A!#SLu>?z$In?e%J}g{MdS$k=|nY`&awj;}w98b!HK~?uK!sE7!q&)n-1A65Gd( zvDyJ5Cs8hF-Y#pEv232=y!G#)7fmU>1lps1DN4j-T6E_xu*bKdB@VfFN7vNwt_~+QQPY)W~4=oSaH@H{>WIfc7;N^e#ce7M6_K>|l z8E@7K$RD+0JC0X0ZN z+X)os={{b=gXo0apFaZ}srVqMbinHPm^GT?-`}xmv>e@1dzMAfO2~16fPyfAL{r7TuV!gHFUh6#NNR!b)Kt8y(Q&$pIq z9c3H7(2x(R74R_r?(+ijvV-pvMv`jE#raY%uAXS&44$X9+`I}OEhSztngiAv!|0y8 z53UJSdyyBd+)QG&t{?jRKMNo}FV=`#+pTp->&jt`^}N9?-k@}^;}o<@2S(#Uh|&?&&|+TsowM7ue(-Mp7&WupNj zBESVkJ`&pO4+TEL{~i^J&r?4io?>*Xsw~eUQz4AK|C{7zoAd#tmSl=ZC?oT(fujeA z1(Cq5YL`;$&DJ?*OqaX{@o4D$p9|YeZgy4Uh8NOC%wOWw^f;^ehz{ON>WQP2b=upr z9?xuc{(((bPZ?3>qJEkQZvPG1(y&E`cM!0j_aWDXPz6h!WbFn1PoXns5~#=35R)y> zzY|S)0|lPkNnsQf*U5z?C$-))rZG*Zn7Q%GTJ`?+kJ~BVdU{VTfH2JTvy8Jdokk!0^sfNB_Ee<`%_<*#m%T9 zf9CC@VZx9DnKi*=Q`hZ}r$i+!1UQ2pSWViyEeUOdwgDofVhSf~yZ1qtE5KV6=Soon%$2gGoLvGCpxF{L`TO;M_ zEyWYEV%~dREdJScJkZr)k!iVe+^T2#Z#YS*XWmD~E^|stZyYU0hkTqYDf=#z*Il&3 znRI?{UR3(H*k}`ZkLs%diR0>KU8#%tqkJAquhGd2@rEmuC615!EFTdSbT*Y*BVdI& zl?RHSAIh9`gDrX(KYreGz37CYb-pnK^16!sFstj>8V@oplAJpB4 z?lFsOlu@o;JHFpu9klpD+^1BjXzSqsVsg?03cZVOaxp~xpsRvGuRidX?ejA^$OcEiX8d(kAYBp!yEFte?tap$!vh4bP7|&!8FU;M`AdnZ zDNcSoUcM#B(-od>y1J^L@>rVHJ1QAb7*fz6gl#i2UzSnalKxOZIGQ=KB2xGyNK?IY zMmhjOHDY;``Wc+E@mVJfCM20*X1y+4vPU?gVf6}fQ3IpK@yn)VdMYwT9prODZQC!v-viaUj9X%k*HUbb}*4x(Om z7RLrhG)lODrd}<=4T0yb0Xh(>bieoLzWz;Tf=yCq%P4RT6x?FiS1_aVbYP~6?r3Av zJ_5&~byF|EmgCRJ3MWZ zDRwzE)%h-c(y9$JVj{ZT&2SD>RGseoXWF6tKrK9Z4g^O;ds_L;jwspKp`OINZ*3xi zqLI+AyhZ#MBcxh`KKQJe&eSn`A#G$Fpes?sj;w;Bx;Y=H^~+i2UAF7EqdkVFvr^Hl{!e#wOR3nKXc>?q4~(y_^rqq z-j*Xr<2i=NW+8By2u|Kh7q_Dh;Wx}#sDNxBOGEDg^D@3C9d77ht8{-Q=39*YqTwHQmK=hkmCJotjF z{$UOx=)M~N7CeVd|MUUfQyyptK+erdAz6WYms0D-J0(L?)3}>3|HLD4sgLL~f4YQ0kyr9d zFHrJYBP{}AbcgjCq)P#BHLj!to+>D~$j;h_?$(DE!^!G9ONjfL=?wbAFKz&ZO31!T z&M&|vr2}OF+P^KJ^>S*CTuguG8-3-V!f$5Sh1gC`dl~j4U+OyN6YnIAaLbRJ&r$Sd{})MHtc|IN^(w)l%}oA_p(pC@l^C488KncS zE>Gmi{gpu(RfT)AAGYMN`qUx2;g?Tx{?kCmf&8U%=zBGz7^vY+1Q|599Z-$*k-8jl z9+3x1iO4t+tpeSYK9FvE?IHI(PXm~9GKQX{q5L}s^nSc#`KGSf(Pg?xL0*q!L%+6e zMtNp7ATv+DpPhsc`q5B%y{7%UBnwT>4sRvKH=XU-b+YPfR4*eOT~IIX`PQWCx)~X? z01Y$dvplXZJFtwLE!{7$`{v??qVNNl?dSOXLQLsCX zP&jBUY$}!>6Io^G?Zdk8WWN$k!vD5N9@;3aBO^ri#oa82bv{VxNrVyb#KGS5bS1$?IExvMIRzLc3Z;xB*l0G^u_ z)NUBi>ffmvU~&tMVit+z)nRrkyupwztL8bPW$8F?!$C3*TF}Wav9AjEv#$qXhmDb0 zslDp+^>aD&+v4I}+gumH#y8PB?>y6DF%2?*U;9w^eGUsw-s%>bJF>O|i?)W@hXlGU zrpT}P?(iNKMXoel1f>mJzfE6P`j;`vobr({4hnZWAiv++FcN-1wAQpmHRLuIHEu5; zR5X4Es^qp&onGWg^OD%AAe*z0oSj82;31imh9hfP?ye5lyTYOfv7~Vk@KQX`XEYns z6Fz(Xuc^?{kXdu8PjC^U(k+ri-Zm>v-MJZDvwF3BblS@Q)FI-!4(N$hKxRgK8qnmv_@9wtz`F$8(Ge+wHr+jGm|4lSsKBsJ#Ux=a!LAOTem`F zV|$Y{Y*k;OAaUWjF{SNAVbs!lV9Fxr$Lh8pA_Z*7O+=S+TaShurj5SCqQGZ#HikJ<5B=_#WF3O+pKhAjdACd7Y7(Y$6y*SO zA1=>V@O7wXu6|tKG?A%qs!#%_-q`~qgs}a+&PhS5n}qjtRq=a!S<0* zo)T{bIO4`ciIr&)Ze*%6-j8-99h(=xIEV#IGNO$pJ4R#PeAm~%vit*GhgM@FmBIbu z9bM~y-OD|Z2hw&{cIo?eEXV7SHTwv7*l569f;G#_s4{`q4K;vtC$~;bnF_@=xn6+42aB(@9(_qL=~TY2#bP7aX7O zKe3nF*|_cT2FpAh6Eq`12ShI~S(zR$t4KI%b|ruJWykKWJptvky_&ev%%^F0yQp)s z)z-P%q!&W>U0$mNiW`p^+iAZ8PADW$D>Ts1jkrNbloTeCfx3T>W3}_tsll^t!GV_^ z?mpj`fu0I%@O}KMpcU}n$Q^zTRmGYK&H3j7u6c|WfW>jMeyiiErOjl|j z5i#V8k~%aX6iTJ$@`W?*>t&CU7pI@apO5hV_OeGJ59gDRchh(Ny_Kso7Rlhr>2S|Y zgikEd+ymmwLBL%N*o=;)6>A1jY=RJ`-4;-3DTS9w8lSuD0PIpE)2X@{lf>J>o;+*y z`)ipO=waz}#WC+Z6{Be4994Qp8*z9Fw7qY~ZqfHQEu zKkdT^vLRfRm&XNLzskN$ipvl`Rx;T;1NYNwA4>i4pfL4npT@OK@G<}2DKAiTWAS8s zuonJ)PzUT8HlY6tbRW3M$&Uxbs8DZO{!Y%)oTs|cH*}2?Q>BGmf4HR)q-DKan^Lq2 zHigi$pv$M*agXet5dhZ|-WNPM6sLqF9^mrY)^ktZ&sh8HSI}+y1a2IFk@?5>`4nUJ~15~VLHZtuz_4qH~n!@qc z+0}=pr9+=^0jp!I%oToxfrR?0_r z@i7W#VKX?v{tuIQUDgPmIr_qk{OM=LndJXi0>2IIc3_e8S+d#vUvaz+M^`q$&YRfC zFzLeaH3J;4SCMM{*`TLvBRV#|GJ<>oU+%8*-o?)nl&O9TuO1&$kwA(lhGGGjhMx$` zeZKlf4@suKz0}*NccJV{q`AMvl`Bc@@IlDNr+8X7t-aCI$T2%0y<3rjk(Y7j}eA`^&snappn zaRv0*pfVT%9%=L;@zwp=Hi=K6fb=roNurxxwBlu;-bF5=81y-mQr~3un(XO&;0#%k zn4jQvi^M1A;EcE%T^Cfn9&VslrF!q~H)UkV5Awg_bBaF6_otM#KjD4UZt^SWW1w(3 zPNxSX9T<~5!2VkC$ z|L1#*@`}+f?F_pkWSP2)vvh6yrR{cOa|FI9ipBryxg1w##Bc{}?R0!&t&G|WH~$O0 z$kQbRI}`fNvF{49Ssxt=S*ww3v9Gq)^xAmV#j%!ReP3DNM3#w6*&o+`Y_;ee;jxT|4)Ux)qpuS5qL1+ zPG$jnBib+2_h-yR*s1(0)zRrJgiAtSR=PB^^Qi&6Ju!c%;ZL(_yrVyWplM|=+S~6% z4m$c2xygQ+$3LR07>i`$rlT;>ebE;7Ze*>(@#|A8!PhMs%bb`+Fv7 z!pA&NylZOMHZU-Xx#rB`i*{|*I+e6^{VWBxXu6ue|Mf+l6M4+~*#H%9s>zb%Xk8ck zE2h&@7BH)AJ^IKpFW{=Wbo|uZw)E2r=-O}|Z>p@%T&}Ra#-l?Xgl};j9IVC?Q&zkl zYS6R?*Hf%)!gjB+Zov^&N-(2772dx|zTaoo+V-9T$a(FY+fF!70Fv4CNz&;J!x@nd(Q)1~2{oZ)RfQ^@5k?(wmFX+940$9Z(NAUuK`h$+LO>7gFl}Wb3mr@zaKo3t->Gr}twP zK&C?SPst4k?94N~VbM>?f$r}}YYK0q8n*HNy!gC@rMgTqw6Q07Qddx65~!txw3eQF zKH(cd=pyxrQ*AZ@yqX%}hL;M=`u>zpA&*J@9e$5pxCxqut0blu;N5w)!X&i~Pvox% z2Qk9Ss(au43qPzQ?pU3A$cX$toFGyAI6mI7al&lR6XguPynz-v<>uNW8M5u0_Nfu< z6`a>bn~ScbktFrYhaA0Yj-k99&sRUS?Pb@`r0QVk*)AfOLzr;#;%0i>{URt*T&SUq z-XX9Wrf1mrLAjm{B_lGjET5Fo(N{9$q__zmdKNUm**(SfGUvg#3K<#TT~+clG`ITE zF4XHc#edU)Q-=Ax>Qu-{>g{QD@}Bu4R402?^}**~n;-fo&ywH|KIe@3dd=K=s)VU+ zeKCD9tG3qW9&c(k4C~nSc1nz0*_}ZZ4&Qn6&g$gaiy~*#fXKr}?O&K&!NE$i*5wHO zmc!3a`Pjf@fp;!rGheLyWyRd5QhGB~fMNLe$sRVay>np~kjsH(Ly68wvRPll+w%WX zmyJq(Vpl!Wu3c<00cB+AOJ{sn9rGIK1K;@pn}y0|NL*w!3v zRtCvZ$Sd)NF%oSA4f=Yn7K{KI z`xq_ASgvoAGYX@AU@ayhRMA<(8Tw4;`Esu#EHkT9dZxrDLnb|C^L7t4RxQh(P}T!5BquIJ>&Gx-)sg=JqEUAxrb zqq)$fy6&QSD-Zs9KQu;v{UeSacUoI7vLgrGbIWj(@{e+HY{?_y%GcpF7|vR4fphMp zg|%^cw(AcM1L=4>ufiPA{Xg1(2(hkDj*%zxAw(s3&HgRXde#?RuLCO<$XC%uEPEs_ zoz<22N~@tHYGMk`E&HL3@kY*=`B~%e*1Lb{)KV^y_T$uGSX0@-LUEn#|7be*cP9Mz zk0(NrC6%+0Q%A>~XA?;}t>T>ySfX?^$1pqOl=Hbl*py024oS{i&g3w1m7zr3#NzV7?^d^`pPxv-XeW&N>>cU{&kEw=b^Tiet4nQtfs;41jCg>&_3$$#>ZZwgpTvpu;&?`Yfo1avtpE zf)&t$)ZI;$G5bQOMzg|qjJsh`8k*>>+dn@v?(hq2%$#;Kaz_&jBTu4EKe&ca9U6#;+RlWR5Y4y z^uZYRcxzfU9zp#=628mfyC0|^MQU?~EWJ%W!yEq+AM#e+OuV2C8k}~p1k@df|4OV= z+_rkxk-SHXSWq>LNm`fXA_>oNvho%G07H_|)FyiL+tl0@UQ8XP=b*@|gsv7Xk+*u`!DpSehTCfGyUPCI*YPbNBc(`;es2@B zV@DIIPWuVi3H_|?f@zuMhqzZlTk>b8u@Sv@sn5vd|4K1=obL%@)-%1$8f@N|rnP(m z_fwjz^Nck%ve*WlU-*}N-dDt~e*@03mAcZs)@rMN5Bu(Wi&i?-Xqb}Ns{u?5dr%6% z?1?8l>=k5F<)XWg^m6@#m;mMp1qQDb{c(D?e#ka_5B6T4F{WWH9sTttj8&u<2hQvo%n-PX+Ua z5CEJ0yNTGRC!;P8vSJBG)f&Jv-c9>0gogN$ofozuJg3C5n_am)jK*M5q2uB)$Dg>S zO$${A-k5`=wK}L2HnZB;(otzW1feQ?tQ>+gxz@Crd~|%`o-#v8b_}<+ko4b{5x!!t z_w3k-bv2x$VkJj`g#q%67?@%KsFE%A+Tfmd~Eac3$c zZ}|f=?VgDC#lOJ-2xcQF+3zvwaj1*f6|JQay97fM*U>NX{(WhpWa>-PD|O zqiK(SLx9OR2q)At1*4yhQBXXr>Z5#jedWh}vYpsl%CbMJdbDk4&1WkuUe*ZKU(Dlr z@AM#C+PpZ9_W1-hc2o{H_F=D~0seIu8lGbGF#mM2s}b5;Enih)Zt<0Bw$#j*&#J`@Cs;MoG5)Ts z-n3tJ3Ua$&fObC(n+ds$O7FC`ZPoZ)tdUiY=Rb^Yo)F5zyEI&t-=RYu_TDbXYGxI8 z8b+K8owg)^(us!e|4AvU913Csj5}|j&QADd_`iDLitU1DT*ri=*HdW-!HkHqJVo>-bOn(sx=H!}u8Yux}aUQJZGLYd5mzopr^B!(YX3 zQmO+Qgr@AH^`J|u(z<*Wx5RxH%o3o_#P4PTR%?i|OtCNb1q&9k}`O}c5gwF3_ z$(UhvlYW^pC;!d|q~nQ4%Y}iO4^#pX1}e%cQDx(x)>o5pFMDK)H||E+*1|>8#+gTM zYHdZgKBR9i=`=Q3H9hg#WQ{hfG%WUA5vZZ|*_wkw;G+&_4ajZ4x{YDRP<#&pxulya zP9CG$5$c`|@5QT?nz}5}9U4f7Kqokl1L5Z%cj|jtTv8IUxveY@O!yAz&+63N<$!CEJ1I z6PIqdF;Y2+dtyM}kAK$-@wgXnSyMur90;GVY$#KWq^m!nJT17pCQNN%#`kl%7ivI7 zWdO^Qwk3c)HGX|rCKeO0d< zS2+L28Yov|`62C}FG2DYga`(-g-DkL^uG+d*v^nVHctz;(~#e1*n)H+b!3!K;Rt5V zUA0tccME!Mv<%=F zYeD{b(QT;OSgzEYjhjh5*)OG|IA-|9P(t(P&r6p|&c1>*m2$6kMSG~QYNskV$CHU| zaUS-iyKS4bJMS<1Ze59KLzxP24E$v+=V&)kWrL*(^ngdB-B`JY^`$FwNz}fA;u!OW ziMV}(3xi2-eX)0y7yJI(#+0=WQd2orT%endW>lLQZ27;E1F<_k0gp_*TIp8}D?Mr* zKpZ_w$-7UX)F&1+sZ0_Z`8ze1jrY&XuhqLXX)>*IFC2<`5kE+zUuN%P=xIfsTBbJ zU4_N6&-Fu@d*{1N5i>25ydF&`5w}rjPL!og8*;5>22Xm}uvrLH1 z?6+}z9_Wt1%x?qHk8#aytwAtnQ3@W4hA)nn@ zR&{p5HF?OF-W&N4R}Tu;!JWSPPRiF7(@UIW?67;oOBHn>*n1@-eOt;;R`3JeI+`2o z7IGbOwyz?jkl?RpZBIAk1W3=KcGT{eK3DxL^2p;vuRHNW$l-g%ly9DYj>1e?0H&(KGZ|G5;WGTbamU(ni5Hj zIU4(cCbl~{DhRnzz0Fd!(H32oeUy>cfw#@hN>= zn&*jwI@gb!zDkB{#G*(=#?f9LTYn}!fc|?4DCD!9fAVnXIAdr()V#909@pUKb^4{F zuoDIs+?2St7=&k9|5=t1ff9eH8ZccCMEJ#f0=dtDe0|UPQb0&j%aryE@~yl+(*<|@ z;QQt}!l3EpUEfJD;rP2$s7P588tPgW$2fS5wMM&LJSsJMV;u0P5$!xs``!mj>bEH` z{-S05YH{Zplc;`AUD`igNA-an7r$S{ME2M6nMSQD_}%0$lQ0AHRFCt9^bHs`vxT;F zgYX3a;+&g&T9EecS5C+Nc!18I_h$_N!irwr+}roY?SSa4nQVb*yk?I@SQrQw#omhF z`}Ps}`AY`!C)&rhZRV=)+wL4uOvT3h2O}wmbE4ace;Ef(=_brm-0YB)o-|p63PD#_ z;lhEN%AduriMZK%jwNBAtRU&L!{^f#0m4oN+k84<+0_53!H&^TM84K_+-`Q5&sNie z^0bAt{92Yssv>N|JHq*lguTgOzBX00SPdS0wF!MV`r_8?ummV(*8j4C)H6>-o#xjn zYFLddBt0eK({WicY0;&v3LyO5Zci|Kk=QPlZLqDUY2Gy(^O3NmE*br$05b1u6qle5 zn$UNSV@9X-Ge3Rpl}BJ;jnDfvfKQ(vK7}16r5lQYLPWbzEY`&oGyd_d>$$GFv85r^ zc&P9g+2Ln7dN${WaUq0nv1IdOTyD2 zmW8iorzfeZp>P0FHfAwws6D&a^|M!L2MefT)Mnol$U(7j0mAqXTeb0D{(2CRY?`Oc zXMID;A9z}bMh(5k`^bEm$9zD+%9`*fTo9jtE&q3SO`5Vk-cfU9sYhU{u+;5#VBGhT zg6oFQ39*V()WttmJc}~5QtcDN%7?c^({PPPpMXvY(Hem<|4m6|w=qCKiZ0{IAIt0u z1z`Jf;!S{PsKUN9OJ9pS9;DqS>e}^ny9pk)!E}d}DB@eaPVsuQ0`32!*2n4F5?<~8 z%i9l+GB@}Ts=0u!F--X75`qzrYIvERKx6(nmWz44#PT?DXLl+aE;L*LJKgR4oPLwz zzrTr})EAu+;6f}5U3QyPi~i((;)D)v>`L>mzorx6(Sp&KmV{2?9`y)@_56m0fzq08 z*xU|yDw^%7?nUv1a3W>7pUa^GV}jSw8y8b_Z6RYdUQeC|{0!x^IBe(VZ&7%G=ZbtN z2{ueUpleE;d&lhxl775y^2%`K%O}eh_YVWA4F-ID#v5=Bt>EMifY-X3&6f6=%gd7? z@9~Fnv%eYd>4-;~wM^-9+kE>d?};XTH4i7bU$tgAmvQiN?Sw8W|KIH{Rg9V*fHpX- zi$?qRG=}R^l8C4-d!=Ji_}hwY{eRg1S(WG4j|<+O4S-1~Y#nmH1m;H>N z=3kz(*W&ED)HVJlF`Oby06&``um3nZb=zs9VOgpL8G4c)J+T2bnywrS!rx3fclXZ0 z>HBBKp(a4|#t6t}sptd==DqElEjlv{l-q|0@^H4opIsF$AfDRBA7dt-5 z!!C=LwB(Z81Vlo#fAoRT-;O`Kf5yBIHsYw2P^rW#j#M|sLVjGlxjtQBcrj+7 ze6jTb)ZbbmCD1rIxel2r-rp0udIS05kpJc2FmBu0pQ+?<)ZMp-&R%|6c%}|4e&_=) zLs2TmOv{fFK^^mb;bB?Ryd6QuRGTWD5WJYal{uY%63(n54Q_PC)Owv*bSS9|uEs2h zr>4xt9=7E!)1)h`&c8SX{CgEvn!KrB!2(O8jG79i&NlCjywxu&^>mb7By}Q1YNc{9 zVO3~ryX3iIa-*qlaijV2mCf0_O2y+oQ@fAto!Of?biTxI18vzmrO8sIYu*yW`l#<^ zDXpm~k>M=2Itg>9StH7C-m5D7JA1US#J6&KT4vYb_O2HvF&~%GAxiqvzaksy9eUh5 zR+z~fre15;b5gCmZ<<(N{CLp1%U|>Psd?M)kfz7#vSC_-6oyS_rsl04hk~YhH3Ys{ zeitieR>q+GXblY5c-c?Vf(p6xFInK{@#-zuGhiX)8qgN#Co6Z)BKFx>n8&HgOtb6f zo{zq+ctG4+F;oimBmKdB64-GmrUT{2cbv%SQgb+>dw5AqD(vHT*<=}f7JKW9U(V!S zsJR--bK`CrEQCH|R~+h%l?(0|{+A`XD^`zqwJ~4K_Z3ZAF=^K0+-fsL001ARtlF#r zq@;{sf(PA43<#~i)!i5_>vziz@t>Dg|2*TXcfP3?m%dTG>`1KH2nQ($90#5>I1NCU z?Y^Eb%Sh#+U=b&rX3?yy?={lh0Gte84!IGHMuie|-p%b7Qj+BRnL4Km>bgSIYqcQku5=Wtnb^$=^9&9)Ekn@ZMGN@f z816S_`8 zp+R;ciFgKu)8~t|gc~M1-w;e3-fw`-K{pnGIa?`aNV< zd-HCqRKmHki>Wx<%v|)NL4;3o)8lh!?qT$YqX(Fi@|RO zAg)%Tv9#QBXXV2v#|NMr@Dn)L6yD!Z6lpgRWO=0f7H)2pTr$ck<}Ob_=RwB&L&&_ z8&+s{NU4!xlheefZ@n!ign{`KBUvfBx1Y>6%H?R>`Mk`6wQYQ`7@OOD*Jb6cRVdv% zg8AcxyKg^%89r)y4R6Y>2j~UWQSDmGbo?sVQq^tf{?*xXK|kh9OeIxe9y=pjR=v|w zEIwV_+edwr|M0M*)B*t~1C|!=}opSeWfrI%-o%n_{HqFz-9Wbf`u6p0R~P z4}H3dd?XRM>a_Mrv*$I&Ypmpxm;*&0!dfi34w(7^D)ZlVAzH*`Kdo);@AwN^P=cq7@`s9) zGP2I5M|oq<)@7uzD;?t09OX`0CYbgaXEe_Q-dlr8DCitBek6WFJ8Njfq_dal1O&lG zHLznhKgljpa;&(>xH&Ej2(O`uQB`$hP~LJ6#PEqnDyEU#lm0{RVi4YKsg0=}iJEYW59 za4VOALXaRTqdnw{TT_+(SN)qGkihNzRQo3+yD$wk5H+l zI||2Y?m{(W-!Y~qktQh@16=>^1`|405Q(j-@^fGUL?_?z220$xWlJ z_5tvB>J6I88iMTS(HA9ZZ^?Is@{5HnQgiK9A(F5L({{N9?r|vFffn@g)cKUc6Zl!R zqH}U9rdz)e6A;qjNyb3Bk$mpVRnzhbx+--;P9y&rqI4o#{|rpP3D?{}sHWX6&QU&b zbz15KT&4W+!S!|f=nUGd4Pf89&dkPqQ*q!mk~T#OSin&;YK8NY{6L12`YG}#IYtW*?oSy3LJ|MAH{@9 zC{c8U){!M>)K9RdK*~GKW{*PA+B3@brCur~;~)Wi_>WB|vA>4?4vt)>+7zs%5<@yu z&&<3d7@u!!&w9a{spF!nf&+M<-2lmOTjKFNeNA@)67ErWDqrmp2Gmul0 zZveke2b*Ye-fQ^e3)%W;n3kBc`b`?90C z2|bT8vJ)-Hg1)DWSVdlI1*YCWzU!ZLq5hMIz`Gi)s|~+0`cgw)iA9 z*Fue6Z5W%9Z^L{#h#G z2!_}B#;GA80JIEI7 z8FmY}sT5~z7{IfFW#jlJ=E&WS{m<*@^T-x3Z1kuK^Uk~C^S11Ip|GduP5|$#gB}1! zHwK)CXjlNCYOln~YrrG|sdIgX465jZ|GL*GxXD*q)Cb8g7)mkjL>WEhm#_g8Iddsb z0N`h91HhySwugqeE3O0EBuhd*^7;xR-brIzHt8<#2ETNmPseGZn*7eK_mD1bth5NS zEcxa>PV*EQWE(INB>C{0(|Q;2`LEs|=sl8YqaNgSt0YGYVe>27qKc+-I?qy8s|xneSYXR>?4g~@v8g#8B5BxyI%dR%TZtX(IBa6lecD-F+lDF;@0H=k(^3Yf zH7)GuQVmOKP8Y*(cLLAS^temihK6~rbJ3CnyN9d;cETfn#d?z?hdGm?8Wa4k_!nhs;XDX=HW% zfidE~*t=dYTc2&iJWDj}U$qF^XN#m5Kd>3S;uEZodu--8yT4Ri@n0vj!;SqnZZX$M zDlG*ya))Q9t_9Li^HCEhkc<5QW&29Usm&HI|Av;Bc8G+M15sw4{uAW+2>MUzzKdHj z%q!uHgdIT?K9+dmWASFs<2}Cci_Hv+P-f|7uT~Fu4R|lSihRbEbRT+MB(nIhHm%YWGC79NcFw59-r6EAeG6 z*oAntI=-uPr#3?dVBzB8V#U=)9o%jU(nHzG^I=~FS*h!OCM0_F#(A{^&Vcmip_+IHF^l?mg>xYhf z=U=mD8R+>c(aPhQUW+4iFzu}a)ro-NliquD+VzGWRZem`e|ItIoi%hAfcg=sNoz=s z*$mF|-Q?~g6s`}z3)jSY&w%;1sgMysIK^K#9<-!RBsS*m;{1cY?2t`nw&rnpn~j96 zR~Rjnv(ws}%j)Y!ze7j=L$T_f3EJFI$(=ZUd%Y>I@thjU50y?;b@jWRxt_3JPVe-K z&X9ovs@5j!;EV%_|KjE5$yd#H8r@$3WnU~-%!cVpoI$A#FK5s@XZ7a7;fuD=JMql*}gjDJpGJ_Ox^kL4McG^0Hgb4*mp$)Ku&qDaAew76k~i)=(%^*%P+=$U zKH6;t)?SwJxNKmXMc)P%Y1rVfZ4n7L>Vf9lQY)_x{9}bst6`Y4Px1P~XsJ+kTm(JL zf>*3~aS&94DXfJDXJiNVLTrZCaPDTC%9X7_{F!ikznpOCv3kW|)M_>t$JuNbs6wn) zVCUik7ehr+p?=s6u}mk>)+JQYZpu=P*4Bl;i;N1!Bc42ZVxA_Sx%sH5`SN^A|67P> zM*}W+ZUGM$eqUiA3YIkW1LMPEF*}^HcR29ET(pAbvxAnm0@;*lI ztze$-z|1OY!FpdlhC>L!t*vt{0%Y#I?Y;j_IGl4PuB=|TNw9qLdsjbbH_lOd^JHO* zVHu=v)-h`*IMyRldC=?9i@;ynS0gk6g&JEM&~nui=i{sTV>m9^>6^v9QzhDmv#D^r z>eVxeBgTt(U;VS)ViUBz>WShvV4rl_wKeUMB8PEqK01hqJ7Rm^FjCb8Dr{_{qc{ z$7-F8+FeNPoys07gi_b(e~ZW0AalT0U%jrq-$q9uklE7&oV+Hrk zW+jp}`jt&-v;s~{efj4 zSUZN;wA7yuUEvM`@&6zdH#@^B$w30zB9x|Z-OzbB62Ba}kggY!GnVbV2PXRXXEc-- z{gK&f0o6~tT2KSfs1V43L7ODe;pX>4z5=5r&}L8AlD*g+>kOdXy%76I&z^9wgkmr`SwG`!W$ z``VDqSn59*P*c_jdtVj-{>ca>Z=F-wv!n^$8Z+In=;1~@Vb>GE8%DEh@b$-gtfjPG z5tY|0M*gcI%G=Reqg|2U@D)Y=9Ay9QG@s9IiXm@tnxBLL;TDPyA<;6@;3Y;)w#nB2 zvjE^N87fG3um#;_yEY}SVc(sfvDPB4z;Qw=q8#zwn z?T2Le%v%i!URhnJtsN@ICYlwM2QA#hV5x)iW2jWWHIg%hR+ppp`4S%a`F3SCl7B(n zZtxFs^} z&--e5I|2ASP3X z`DV?d&J?UN8 zluZXedPZl$V@cg5n28z-d(1uI#9fcQlMpRz&><0;*CJ!FYsFnh?R!cpIG z-==y)GXACFLm-|>ohE=%*&yN6q8s?++|q8K&DBY(f~>z%q5Q$EP11Zdrn#ZtSe}Tk zDjONJ;!gPrv^+pupa4{UgC;v1+DPX!Pt-CSxSzAjUDiTyVFaN?BijBa-@O{%xRwDq zYB?)$ps^#xB6Njexdc07KlU4JGTZHp<^{OceKRzwfqo3?;FnmX*cmEo#v+B;C-4^s zvOs8&Y0+(no`>c-4ed{UvoljF#+ts@I$~1*5m7~@2+M(r!Lc^!KJl}A)1^O&13QBZ z1JyH6;3Bu>Ig=(qecxMp1dn%4Pe1@QW$>6 z94}hjVK{Z{hla}9*$Xj`d*g2lzP8F2xUV?bJM%L#2Wj-%n1tnWC2f^MCTunC^o%x1C}~VQ(K1@~-!<>iY~1r^ z60^HHulM<*EgcurbbT{7oxYsN=+h$i%hD2zl5E>4MUBxoo7cOtkNFxbw5rztXVUkl zB0*%GIEX(rVNvknsoMH#=JZmeaMN8>QNq4!TJ5w>8^#SJAWVzBVEG7N&1)*u{BDBl_WK6LV-?ZN`N% zE9w3atH9i(h7R;?*@amDrj1>pm?xwFQK4w9h_1j;gS|`h+=7hKc(HN_NB8wm2$~dk zU6W95f@ zFVRCW{jVdLo8Z#L*=K?Twy^CFdW_iH<=oVJ(pX>UtH4J0{SGmI%@7ceUe=2-RO@Nj@n>;6_D;#}cwr82WOJ|lMD$!N@$vK&!Ic#=Wi7X^FN7LU$&ed15+HQqKqZ|i4AyGW*pP*vD}pV z`LemrZt!!d9Pt%qMjZ^|rE34C2Pj&#U?1<_R|`JBtPxwkqMF-@;b$YAcBgWNmU-Gs zi;(9`)*T67+lx_>lw5~QBAc+ol5}-VrL$+Klry7Mem7YU}gZ zCi~uKQUWJ906Dq1UL2XXL}`yR z30l6<$kVJ@@EH@bF}zotp0j(iaT%^qU|s*)7YEMtdU5KB#xCcV15BetNH@1a)rr{)RE2Qcf$7`k?rGuVyIWAK7j*-v+d;Oftp0*6R8i z{Nwme5|J~J7{FB0jH(QN-?_k1dO<4Z#4*2p8dF+5=dfkNh*!+P&F9lSEsi=`WqX-* zMlpUxvB{I+i7D^O+)ij((`yXy>ng$5a@;b>1|5V(#@mGL(h-LZ8g%Fn(++#|)w6Odg0M<*)zx6d#_}m>s3F`a!O_&UA)XHnU@J$D^ zm1`0)KTSXvWPn>l1*)t!Smw9#p+By>$0=P7ce++2^PMGAtvPcLbnSack;QIjQd)#| z)S;OY@qFZ5hU^}Lin#2?0sm8FOy0oRFI(-czXe*qje=|0=X$HP!*9QVpIF`v?m&aB zaKQ6kZie1rA8}!$Ck^<$=YTkYF?bo&6z~RD%dy&Ch!~c7_ztJXakfA9xu(d61p3Bp z@*EMLaVkgxHJVY!&JB+s=w5(XDma*JCVxS(5PE!R4K?g6wZd<{lJ^4om;pifGGrRv zAN%S^00(?#0#8U4hG#Lu3idwLjo@aE4}m2D6yL8k5Soi2q?20bNSAbCB1LpR-8 zVpn?@D=zNAN-43>F+_-tl#~;IIwyGpr#-_~qqqO+-RjQHL7~o}tN#Fhr?va z#!}z8YnMrBQ>(WF!F+L9)>cwov73>>%ycsm(1!wdtSH^)?=g~6TW`u3FE{H9#Q4V#V^0N*;Ndn`dNd2W%ktqCXa%Ev;dQ__n4*~Uw)2y{ z6VRIn)sVn)Z1*CzCozEm|K}~0jX9NtVr`wg_2hE`?8;^FF9x@&8>B4* zW8#lv!tEPIi(&J-qYj3k?7UxQQwKk2if29}e8d)$D<^~*6Pz*WkA5KsMSm!3-Z1iI zH-Aq(**&oAjLhBq3jR~1&b9F{@B0LQ%vu%a;^1m(tiF+7jh}KS$X?;#ZGEz%-cNN7j-Io>5P=Hp!=ym)$$8WO<)5= z#F-IXJmtEgaR9sSj5@+QMR4dt$x;t)Y9~uq40cm2(1Y}7&r9Kah4ggwf7w`eg285V^OGruyl)T2V;azqrQu zV38Xz@3|{G4d%|%wm35~+bdKCC_N7ae#f4@HoZ#wmZ6Wo?YsZl4;UEKR{TwNZC!ZN3E1q$c31h2B@~Ob zRtG4c51US^R?ip%rl-B>N+dt4fY@uEXFs2j%9d`BVz#>Y`xow%clU%HK@N0YW#=6a zQZ!_$-Zk3#7;G_kCoQ>;T*+bT)AgsXRhMtakU7qQ0XlfaD3$0uGWT~BEd7v%ET+Zz zR>NWW<^YyLY)Y8jas<^(9V@(5L#G?xoE+^2^#fT?A1om#Z_<+OX!V+V>wW53hSo?TcGnium+eaS!DPLDw)f{rS^K{n09m z&mqkTm?DsSPqx_AfO_Z-FY2uC#?g8@OU%M@M#6hA_-%an#$vFZbb_L&2?zv*pUiw> zm18rHY%KD}QusT?9wDkUp`rw{ql#AJaC#L4k2*Xas{^px`(-8+C>g2vwOJt$wr=yV zmfybB+Ps1~cZ5#roc6HlT95eE&KYEnhf+w?pC{$jSZZz%-l@4^V=7%Srz)tauc2NT zlQzNk3ENtnZN&&0_(|x(B4W1t5JSQP_q|xyfI$#i|JL6@zc;^`6i@$J&dZaM!li7h zdBZ?!;jKCy%hYym*G@H$8Za?vAsnA6aoQFc{ZlufxXOUKKnGK}Nk9!bE~ThEHxNi> zTydW#3+&b{b~QrrP*2|OvMEcnq?u3H2Iy_8F(zfsYL7dae@Km6pO%-1%mGd5@8%=f zx49)Y<}3-mN=48$g<-352ESJcQ1&Kf-+h-jh=xo@*b^IBN(hP{YL3e~ zc}O7ZtKY%*=8o%g{nAjeL~&mLwlneGrCKt!mNUInvae#0KM9}%3_~tA8kQY}SpoAi`7n&E*uDnP$k8rcySD~kqA~3YcDJrAHUMBlY2b`E@4--$V~+A(Q{ckpjReG} z$aNPbkGSY#oa#}OHc*qGl_76EuM90`7+ERq18z;mEu4G4%wGBqV1#0J4G~iWk_8|= z8Q2z?6vE2mM+C5bf|@-iEC7epOG9beOUZlx=8wY$wWWgicJg(4=0ySP^A$k}Qk@oS z+>a-=mMT4UPNjyunE^*W+$x2#q0-T-;5~96J#g)lz^9=tvsy1*gg4I_1l$VU2o2aw zvL~QArIKrFODv+LSQ9nAzmL+q-|7shw|NczIh=CRj1nK&Bw^>VooMx z>tA;N^dB*H7;32c-8hv`K5e&L=bNCPrLG7)$aaG#q85(}bg@@hB>FDV zs5(xt&ESu-v{zS*<8!76RL>6?I_8_*xJ7z105-qi55txfmu2%dO~Bj(-g{h`M!?3S zBZb3elMxWPSV1MQO{&WO#SeG@>%zC`vwGLm4Z5fdjLKK8f**G{4r&Zv}CI*JjxJv+}8sb zY_SFx&4_rouH9;{&KPUlzDgv^$?uFWYnoV-OneBMe6H0B{_VRWzR&AP?0j9ANYANM zxHs?XM*^>R)brJuD+j$ShO>K-ElMK|o4_{+_`j$!SB^Kaz`lu|bv zL5GgQj@t-B+vMOhhd?vHR_WvFF!c6V(-U{fP=VX`?+PUX^ISZTxi<0*y=IZG7klrH zQ>%ex7HiiRHY$_d{3A^86SE{w%Zug959B!=v4$6*F=j2OQ+Ov)kjQ|xIYw+Fi0V3E z3sY8uw;l6CTH!+`-$d6GiGWnJgE*E*Zx<~oetnWX<=mUC=$i}zEL7DpWIWOS@hcR) z`zRO?&j#8oU=52aUakzy+webxaaxuUaf*&BNw+M?M8spvC{?RDwLh7qjkuY;fM%W& ziCbyCP@{#R>F?}>$)l~H@bS>@o}e;xe-ESbOuTHes~h;J20kfb@>2TmPwOe7V9t0# z2A9U$q70AI_1AcY)(WINX0pqzDxE)7;2W3lLDaq%=x^VEZk;?kkG7jyd~<=t{-xPi z`ruG*P+|jkKT#0%fOUan8-(*65=-c`FklaEVqk{T(S(^zuS7v8c~}eFkOZbz@}YZ9 z&N&#;kLbub|Bt3~|7XJc<9MMYWuc;6R=It;nM>uq(M>8wDwVNZqPzQL?BZ6ETd0uB zlu9KemD_COp3BHRmtnJEm~CeF?dzBCA8{V%oY(vHem-%Y((VyNZVh$YGhr%^(=|;A z(Zq7(C$F3VL-^D6BkV2=qJq#i_a2LXuOvKUQ~9U8CJafYVbj3erUr3LJNM4F3Mg?y z#z@!$1-}zaOkelKyww&mjqUY9LOmLOwjZeps|f(KN4D;lmJ_VIA}kR~)^$VaPpc&* z>GXk~{{ELk+%pE}Iu+Hzn3}w#jmuu)bO0C5P8+eTOTYf5&X9n^yd6L%GLo&P!b>d+ z_d1dqq-Tw}NrJymX=2z}(KRfVbMAdus7F7yL^z*mLj7hKlv~k3qCdvE_LNo#W@r{{ zO2mc)62;(D3ct?do%GV2*)oqCPEOSgG*B17vO2*iuV6{_RIKxZqu;lv+|Z0P%j+_)^7rN#Ybav7G$t<0|P-Mug$w6M!%b>vOzd5WZ(s zWY3DP=c=L_Hb(8$PA>-S?xBDaQG#SQW0vS=;c$?^`J%J1Sx#&DXffsi1RdCVDxJq+ z3XyAs$VNlx>`E{@8fYtjdnx@qpj{;B^G15sKo3b4?_i#Hz33Ow8Dq&E7RlRumc{P> zt_KS__OP(Nw}z6+&=V_$P#VKxozsf{xG)uP!Q4uuh9Se}jo`yr@c_+_CDUq{x>E-yL~FiUPDPu_=G z1@+S;J(`L%b#?{+G5mIWh~QRd1gYf?1ifhHG{AcD!Q*K8b9kW}hM6tD;lU2Ox1}Wg zX0GY>?!&@$dVohM`SGpdVS)|eOSb{5Vk7?Y^7zFW2>TI`8ZPm%NgLAtm0k^By0CGC z+yRokuGSpuk7Oa8S*lJ9C)W5f zO6iu{sVbRh`;FjdB&74^1&Dvi${Wow;p#O8tA`Yo^HR+vx7NRLz@GN6b}=XjwablB z#*crl#J**4_zPg+Mbx;z9Q;BB%w2Z#yV6Mea+_~i)msk%wH;->FKb!u%M#T;emJ=J z6!dM}Ac>rMj(b-h?H6`)Tom${G)@%wC^@0SieoX$=_2OH*(sLN6|1bLyYzrM!Xzl% zTGJ~1l9;lkeI_?6tXR#5Jqf-2-#~m2Zf%B!kD{%{XIbm~eRcK)D%B3s+o(M?9i0Do zb~(a!Q7f$o$gaZhvuKfeH}NH;;XL1edF@fVW5fqrS+mC$P1Otz=~hgNsnpct;cH*~ zx$f+?O7RTrP4n>;UjM$nGHClp-_}WBn^~F&<>g;^JJRGI^zWDApr!1bLGBu-=Czw} zOnt-*o5yNjf03{18hYZVkD@K{f+hhu7klwFXvJRZ1=V#Ixq8Y~Xny88j(^XS%23)fT74kx#RK}&G;64#r_k(-}A+EY!JbO>I~O^wOfanRgdMU zz3Gd<#J9^Iv{ncQYBJ_BcEgO$Z(ILv7#S*~?%Ndqxap~e_Ol>LL(PS^Jmecdbeenm zqHnpe&jmDj#?gpFV`=5aWG5Km^LMOVrb&C_*LjOcz-_S+r2O*I=0a^lC;E?@rtg3% zQ}))vqaUk6q~crhh0(~k65r4e;FRP*NrR#T39}m`OaRSeN3v?HO;~2D9g3uM4jjGI z9?byppj|EQEsJ^JvvIBjpU@yer;ozDeNvp>Aom&${!5LY0dtmx_G(HTh=y^ z(%u?mKD=x^`wTy8dti;m>``2K-KbbJKZZsW0;;+~`R7r>$*b6xtM3$5lka55&B&~?Bd**}SiGOamLO+0nP8~|`73De2 z5+!S?MabvHDxnjCv+XlXE=oylSJ;7d3#h`xIK&?!kBMYDDgbBk7wWB{xQihWc&O)+Ud! zB=!>)f!T&3;{wcc`esGWNCfRYTDc*h&R{b8Dr65!=G`2 z30i9xCxq6Pj$`G-0(Kh6@>H4s!z4W^pA8B~aBkt*QKSLieXE$nn+b1X}2O zn7$LCc=x)rlq}rP2N7pUf@};@)l?zi`+!{maVsxbwEda*roo6}K~HlBDwKH7aHVS3d|Z-}`(1L56QIMVS(RFiS%t zPqX&GF3Y{9kRigpEQ+YaT+%kVDq(p<_R#~}KD;&92xn1rc?LADB{3ps zIJt0J9m(i4ggNXrd0F$L;FzzJ$c+(3#c{5XPb^@e^#^r075%aIhjDg+D-;9* zAd-C7LM-9d{Fw-?;5qHxFs|%U9!tNiD^F-|5P}yZ4_~H4IptU-x zZ-6*ENy=e09?+uM)=w=NI4+fzHOFs%YQ3oQrzk%@IaOSuZF@o`A-g%YQ*u|+I`iiT zYHNt_sN`8@`mAp}0ljD+D*j;zS@4#m5_bS-R-Y3)SE_qw0BMnW9$?;A8DsaZya-*0 zut983w8tz>|OJ=+3uQda*4W`BC;8w!>%^*Yl<#udlDx^NiIJn3^ zyJy6LOPhrEgz#nHo`N%I>jnmko3s=sAPF z5;I@-PF@>Z(dqJ>we{ln#qRe}AYUtT5Z&I@C|fQf*7i2A3B_gCIc zi>f`JaW_V(f`fmTddJ)UF%ZXF#CyR!mpe$qNbp1Zyz_yZ2qTwq16wW7TSJP2aU`sS1BLZOv=lA7Bu9iwyMqZzN zYAd6CPN*(gICD5B+5g?jYET$|TG&gdDPNe)OirhoZTqh`&;^*^f388db%pTrYRqSs6cha4`8gYLku?veFe2M^T|KSlY{zX0&krVex+{j zK##P0j%6B7I!NtF|Bo>B_AZ&FJ;RnH6O^Crm}T&l*5*!j56Aj!#4^GAg!?En_c}Lv z6gyYu40QRQn&WO_nTaigh0eR$$*Bu2?4|$SZ{qb%U0}Pc%)mgqcNt1d3+q z@^0W+p4C7)Ts!nlcdoeS6|pQGoexz5WdZ-p{wq0+n{b3rpbSyTLd76-AW#EamlW3=A@KM{Bg%RulNI5svzLZ}wf6 z*uZdf+beA2B%vDqN!FhmZBeSF9o3Kl>)tF>cpcW0q3lU52yKApr_~1c_^(C~I#v7E z2B^A#pJASVZv07?%=n@f_W^y)r@5J`LeoEFG8wG{omZ`}_gI5cR=vipb%^#n6@TlT z$&vXFXDn=Z$HQrZPfT|S7RB*~f-hiLi`odSow+9fCkn8+a>(+WnWw@cJ!JpIRjsDx zc*Y7Lvh%A4to*QwkW&^OPZE$B1~qL}g#Mr)BKx>temvQLHsq%Lcb#+G=<<{qLvlWX zf#sVLtVyD;n5;>m$EuMJ&9s(*&{PfEn@*^kwn8bIlyhRDg;}{#J>SC03oSd^^NWdD zMp-6p!+H7lTFXY}e6E@@@x(*mVReMi9}*wQ5BVu72ff-t<1B4%zi##FIbd5pGR-0* zS3(Zd0;5gpLZ6j;6dq4|AY;%usCK#h4*?aUHAPp`scmHTI}4xeCeOT7n|$vneQIWD zK%UzUDP>+Iwp45UUlP55k2OZ;|}NVh|_ynbq~nZS2D(Z}}j z2V2y#UMzb@9=rtp0co6mm3UaX7_g)>XAVkX%Dy$5Yndu)J8fw>Yrb5?JdGRvi*MzqMa2*UO8+Vxi0`~+!V?O0kmha8v`fEm)=i5`5j=#J>X6PC)s{NHtW%VRg`bhytPHH?M z31q)*e&N;Kq$h+B6NL^erqHGz&x-ai4T2FKb|9Hq-NTN*#*kmbH%*_+|+($F+pK^46@YX;`qr^(; z79tZ|1USF;hwk8ZfVm4QK?X0m{5Sljr5X~aVhc_amg(&oHIfp937_v)^JkT@6_^iAF7e;_P(K>7ZAo+4n!X zQIk_O*A*V7y$;%5Kb1K0#+GfR(p9Kmp0Y;yQD2A^mhF4vs>DLAxSiX1)k9SB_C#eJ z%uG;^_)4vYCROQCOVQp9@(1-Ve_1?J#;=JXDrEb8J$}*yJ*_>fwp&&>z;!qF05MUIkKg^sD_`-xovHeizt&@8Yh*j5=s8zXNpJ6`Zc0k zzEN&Nz-Jdg{Cu;Yd}F&Tz5qv$O&@}8TQojc8WgDu_|zt9p<(%HnQ^wuQRAiRN$Gz@9Bn4zzhv+a!|rOU zN1H5^E;X(i>_!P%pZIf=|Gmp_UNJpt)8IJ!V5gAnNua#PaB%W3P{-j0Xv+OsKRgup?#lz4n2Kn1Sy#(KhdXnC6n-`8^abZ-L!5p9o3Ee~A=8 z^=CtNdqTvk9YtFTHve(hgi2IZADD!q$w$PExV6uqtVi2V^Jv1qt1Q){m?If z0^=19$DBC;J^ZW(0(9uRdko&|QBQ`;B<3#(y|><5oZrBfZGIt#yJ3!vj5Cibfs>-< zbmZGIFyhR!$GC>!RMdLVm>4A-;N>UiJr&Ma?5g5bHE^XjWiGxW@v$f?{GCr9r#S}m z{dR_FP(dl9khBHo|JF(?-I#15&-t#t<|7*Cr>F99fZ96)0Ll67v0DMJ9tihI_gB{# zZ6>nI{<(LXCQ{C7)Z-{k8R$OyYPp)m&TTJcokrUEOHCe_!I!r^Nz)c!akB@Gcq`J6 zwr{HatfwnqB3HYsQNYCc$zcVWCGfF_CsOC)xBW-!N{qer7(Fvv=o(o#OX5X)I@Atq z%+dqhzrB|qjf~pj?b?x_*Pd98Ijq04NL87o`_Wb^9IDLywk3!fP{Yzt0>_x$>d?Dn z8o&MC?3pJ{Z)P;ER@~b1qisXFwx*aq7j`WVhm^D38ldjcB+_jzf$C2?UPotPmB`%} z{(jzOXg&2I$rO3`pGFbW9w_K+cr<%*^Zd{gy=>GjR^~8hGW0Jr(mW<4Nnucxap;qs zrgN;EGqFPO31gl4q{eLPd4W6{C8DO6MCCD*C;i%TVa|=&56~*BP{DD%{F+@D#F5|F zoEaTM^t*en=W{9=ud*3Wp_`zJ|%#PW9 z2hiuE>|}cY_h{XM4n3xDz-_YVpFKT#aVO4@yr-bF9Qw01IOhshv>Hipu{!nXvqo9& zP3-yOy~~&OJkJ6Yw(fGoCRX9Mxjy($=$Pj{lxHpIeuGCBs+GxO+^YHSVD`(aJ^^(` zZxiwFq!$q;)5WZN;wk?XV`NfuuX%n$=R0p>l4wyMvwj%CF*qFQH-s&9DKMliD<>%L z1IIl&sNdZ!0z{F&?H$DDFADARogaL_tUkm%lOF+) zx&u&3_K@x<%8X9ZzW!=)!YQSV!D4!bwWy~835%3IHD?MWyRq4pBeH=Y7`x>Zu8GAV;ThRfEstj@5d3)3E7(7GG$T!84b#R^` z`RBG0|q0bfkDV%k?%RQS~zltD8r9{$GvETy{ejIr7 z)Xn}-dejXb(xW4iKOOM#hRTRVy?#?I$x=Rk8&&TowCfCxJs)rJOf#toqRiv`3R;)B zz$KREbuaG`f}-y2`R2^gcxhs$gdTQ1d!EzsvUYghtUQ&0R>mUd6>5pb!}>rlaMWy+ zZM7&pTro0S8nb~~GU>qRnD`w`svv$YM)vu6j;LCLkNFDSSL6kDh1E(QTTXi)R8n^WDt}#UhQL1mF1W!RT2{+y>0nz< zG?Yw#dqY(Kil-4Yv*Nz((67GddufzAR}GHPGez%hp+fBwO{MAKBz&y=4o>tQ7`)ky z{r84qM_IB^Cj@P}%0C1O5j4_eQzp`%T`dbMl+2%o?jnj`J0Dr`w2j~h1qBawB&0Y( z!oWgP%ayQ&&pzUFr5t0x8IE0eNDnLP$flh=iC^wV3!Ym^1z{R=`3FjCJajR0cfyn) z-WgCMDn5B-ykPYHl4lLCd`IUXgKlCj7#8_8zT^otay%wh?77fJ+ppYDj#Hebxr3jw ztAR)?2(zSj6O)tv(D342dd;)E-wJwO?N}FYr+zyU0(?R? zI;+%g6|n~rvCXb7cnI}3Oo+#~J~5NBtZ%q1-5ZT;$jIyvThzVfL5fnI*Ni+bv9g)+RjqZa6^u%nt!IZBvhiQn(& z)S6z)J`_SwdZayzDEw3G{w)+|ki{%CH0F?zYBxI#5~-)SxR*~RxllFl2~zx z73>H;z4-9DEsW_r&o1EnDUi$08)DCLj} zpMDL5$3zCpU+~Exr0R#69eeUN;bhS+-^sg1Pd1G}4;J|R9t{}W{rCL*Dg}8u8AMQ+ zcHFbuQ}c8ed5de@W7t$_h~1*0;WS!F<-=#GK;fELet#G*<8Rt6kDxzIW9GjtDCC4m z8{gGv0?7CIf6(hgN#!IEo56!G-sxXhX0AXL_lL|l_- z+TcLD$cHzm{EcI@HykOk-Po8SD9N`EO`;PZttTrs+Yee#gCJ`2Pr2r>QXFEGp9e~q#r865Kd^9Zw+)RnJD#a*eJ?nb>>9S1k~PJ#TnL0hrVhW??%pF{rB~avQ!~6(>T3*OhZ| zFAmK;*;Y3+7IqvYUVZU}pUXvj5M(Y%0&QmfrH0WWaoc=DdK7~}{iy_XgYTZ8Z@hp_ zO-!kw+_H^mi#~3*HkLMe6WnDAHW)rSOPs1Wmb&d5BIdhvp*b7#X>qfP%Hn(QOO5P- zp$KFOB|3c^ko5bpr%cGQHJUrbRCOps&XU*{QOG9sVtNKgHbJGAh|1`i3J3s;h7_VA zHO`gyn6mDHusF&mE&GvZbL;7?n@1#+#bLH6)}}@tVAnmkS+8{kyy$AHlL8N2qQ+f5;1|R!#U%4sQ%1PJmAh{{~J~+qB$)?9> z-!A$Q-ie+?3+peY67u(3v~ije3+dR%mTGieWN2JXvket zysB8emMfBz_WEefM5kFZ%L!u%YxoPIe`oS;ks>P~SfN?r!uE9T9`^bfcy5`4$A0B~ zmm#U-Xt&e~=CXXqVuh1D9XE~TwEf$`%9ve&@YsOp%qI5Qf<0;LEo&Zn239YOh}_r4 zUIMy){hM$(T=fj|8IQ8?H0fwi1R-|Ed%;Yss*8E=2$eqRv zn;uyWndsoS!nzZ_GN^504k>CEupZB@dRzq&nMo;4YtwxWNTpAeB$x+;HN?_zMN$1ZISdbW8c&2E(Vt z*Xale`iQlZY)wn6MlT+a#uXi_BHL6OdjY;|7?vJSsJmhruxVl=K9iu|>uN}vkztwM zWkP`y^7$L{Ak9J8;>8{O_w$0h2>KF874gqCUG22mnsP7Hm*-?W%Tm?^A~Shb?Y#g4 zQ71{|c~?^EBV8utiqVL(!*#iymm6X%5AC`6-~g(~}ZeUbT&X)CQmJu~hoN%vx$ynZ_O=;o__R2>7h zoN9VG(iuRWiM{J@Mpgq}S_0o_k2YHzfofvaA~+hCVVN(WeG7_}L7mN#mjK19#}?;8 zJoaA{2@hB^pSBy*;MoBP6h>6WW1@zCoev ziF3YJNqo~&H^ZK8@~xk`LDk>Cvay)lMptu=6FynckRJr!j>FbY_acV*r=MB$N}$?u zNwO7~AOKdcwZq^iN=&g!LGG#sot$ykBpjU9$QLjHfjA4or} zEl|yVsGwqL>LJMtdM%@ENb{vhF${u*bS`m7g z8Ln-@Ywwa|L3FIAf|=v#_V#fW^BTf2$(^XEAsySPDSr-k??-8BqKej9^ZwwZtn2^e z>5sLSUcIp}clt_Zjj3{4J|+u~XTLz4NJGUZW#A?A)%RD6>&QosqhjJzbtshhMCcpc zJIDT&W(x*0GA8GQ&a*!aVlrxm>^(^vuWG|hJO<*-80zsK$#8MQ&^w0w6tV>ssw7>D z=dT&9oBHISyU!fz-AmctF;jJc_13Hg&-jR)f9oWwjL*&~DLQe1+ryM?SZb4%f=I7e;m?Yf?0EQ=b6Q;671z?K*ZZTWIDG?@YiYc~?;n6n>2N zq?aDfBI`+39|m*g22paCFvZoxR|27#SqY$F>p{Ez-cIgn1`zl>W{3U2{CEiPlNyW* zid?h$dxQG=q9%+JA?;q-iZ*ahg6(#2@hkqn+~)K^x6^L)z&-n4@RoQF zf?uE@+YW86gfJK;dWVTRynMY{u}mr?OJbXMceZpye0~!$<%RCyaP;l%X@SKD{@~=r zxC7qPr6g_33N35oYI4&zXND}b|Rz7?gzUPnB9v1%)#W@ zB_Z&FKywED@nrDRbYUtwe8E$bR8+kXYU8_X?;We#hS2Y}Fia=jJgl1TDQ-G*O4Y7~ z+!DI}?G;eCHpR}cz95bcbqU5~{aBminzUw+Y_G#2l1ZR_3_TrUsX>iur3)t5c%2>U zr{usR@!m9gRRe9`#YgJQphRm~G(r*c+)0hy6H6S`m+|gN!tEQOtQWv)gx`))V7CD5 z=Tp+@tf?Cf-J_c|_kF0--6wtzEo&F$$2_EnsVdQzlL@HS3-1M*G^Z;c0-g+@>w`k}baB}Hm(t2+Nq&%B*EirkI54L*dECF?Q${kxCkU2yA zh!`G6T)w(lFGMNedkPCh>&v!3zNVKb{?lQ(Pmm;^4i47rl~f^m)bK;Z37X@qmMX2X zRyduN?)$^pv+z;g#fqJ%XqlW>*P>xoOGXumV^OUQDiK4y4CybUBsfP);@& z5nZ|tmpYziTyOaen~^*8Nn$#6<3MBuPsv;@e5y!yT{)|h%52ip_U_K@fYUp?>80;N z)Lxxu8W*%={>eY_MAUvZ&i;mBQ`92Il=j)CS5l(Y+Z}5!NqsR9*P`41YEkaW{?v@r z(>D8zqu+D!=J)Oa*0y3!8k>Rq&z-soqrM5WdEca3VQ}LLmBeoB?c}Y$J(SAgQhcNjMT=R1w-wC6C#(p01 zvzu0!&EmZEOiS@h19bBf@6OIt&iJFuE!%5g6kg>cX5(tCzh@2ULrQj`>{z>zQdxia$#(dn;g|os0(+DeG(5=eP3z zV1&xJhVt6Fna=iCQQL8(#<}T#T|KDHnZW0=TX->xlqEv`v>BvmX3$B-@nM{7Ot_r`R-m?k9S@@E)e>Nqsswro?lRq}th+qrx(AQ@YFX6q2y#MY%m&evgQY z7Bm5Is4T$S=f*EjJVt^}aCTp2B;LDV>Ms557}>`xGsMzyW(VM~`O~bjMASjxc_%E> zS6!YYYoVE6`E-Xis41nwN*;o>aA~n!DQ!4Uh@3dfNj2MFkS*f}_)ojw))mz{zWhFp zr`WVsTdlpr%US;)W-&qx!XypN>hV?y_U!Dv;^oA+!QHwr#lS6((;&hmzzKmYoU@xT z=QM&(+=g!<@Lz8#PVC+F2)~dnYFg+?I3?^K46IXlU?G~;_ zvI1-zpi3usXy11~o{;K#p=g=ludkqw-}gZnz_87~bK-YNCau*xgD*-ysg@Lj_BZ=C z-YJLuUHm|7UGzA=-gE+LKkC*7x!~TDD+61z8(X`ED-{+%T!=4|x18QT*e; z6?*zzhE^O#vsIW6F4%23q0=M2#;)4i-Wv5QYs!pLT-6rG^mgcf1%*SrGriHmy`JzYrWox@A*oTn zfQAVoT=*vi$OQlJ@P``Mp?Of6C8QhOOh4BmCijh zMnFbS44b{s>LKc$4;ic+9{Lz50u}8}&48+vtYCq#81nsY5c<%sLLB2RrZGgVfxmai z4xfKx)IRGxdo(T~3aeu57H|6V+_pntY&BCRMyX0(^?9_Y+jvr(`mfYXDPK+_KriAj zfP>>?yk$OYiPpXwFH>i=dZwXP01jzdX(x$x)(ATzBSY*09+w-k5q~kH|BBzw&RpCf zKCnyJGzJIFFR0-n-;f^WKG-kOA5>d1Pp!9DFvRLSwapejx|})!FCsQk1Z07(xzEd2 z^JFaLtNs1d$p*xE`x{Bgs{3!&kY4Z1V`M)s1tOcB;Iz+!x}2Z?39d~^zWsGzE9m&q z`*!D-K6&%{h>JzkV@Ptp06~c0*f6R$A5dzDctK28|CU9`HE5p%u6*uU#%jI(AWlht zqMCkc(Hsoxs*;Qyb+!!&EmSx$Q}J97yGleIOc+zrs(lU7LHlk~pcl)l^|o$dgB%Nw zp4z1(Ii3t*I{wfXjbd+?1pw9HW43U@K@SdYB|-KG-ZU+qTIFD}0M!q9h0se#eHk=h zSu@U>P2%VjVI;~0hX?fyVo2ZST}za~G1HsfPy2ZJwKgWdG<6$}2Rs0aoX~9sVBe;7 zNYj-fOVvKyFzI7x$eO{%V(QzbiTux{gr>d}SaH?-xcRIP`KQ&20shnQf;VK)tM??6 zYX+(LAsQqHY&vygalPsXlyD)uU66X6J^nu7X&+X18i2#p>*k2`cmBMWVpLu)seMN( zck584l@9V8?60rOl9vHxgRZ69F!WRWrjt-XR_mHU;?MmbrMyF|0K_%qB5iAuHdFwZy7ZN@vr z-bzF%gtO~zYZh*E*G_hUv9KoqVsGw|IJC`+SgLQ$yysu*$hF@oKmN?2t0h@ZudM@|| zAS)EY%_AmLI42!!9};_vaSeC(USc6K5eDZuav)*6sH$ZU5w=kUE1O5etAUv_@mB&q zBT@gkS!(vW1C7nWbjPO>NBH#sqUK@`M{8AQxznz2e_=n#IVCkZnbs%vyX(3cO|Y%n z;#FS^sU#pw7@VHpa>wgmOd2Sbe-t1>|B@trXRVu~F^^G3Vd?J-+%7)Ax_f<{2$%wO zUD60~Fg!j&P}kUZ6!5cq*?m^L^E-u=m@|zk9@>A$3v%^9S%$PQeZJKnyv0vqJyCkv zre$D$he<`--qyMmw5D`_rf<^bJlS8Dkp%*(MzOkR8j5w7b-h1p)>8rBfQNorv~zDZ zk>c>J=g$jT#Oo7)S%n)H>BPa)`&4E1GsLPEb9Xn{?N&H{q1^puR%>Nc7Z@j#2-RY! zZG$i`D!Tlcw^Mqy4|27)sZWlzPkoa)S2cWCMKY%8)0LQQ9K9`RX!M2&hO2nN%HtTO zD&^6py;j2Z_l|5)&&s=K%<0PFpq_JB6u6IIE|R$$6-{!^K2VH;jOC&D#v_cXKQ~8i zmUpAHPu>ez;sjo5xLy{Rij@>ONTvwB4;n_&Dd&MID>2)vDr>1?zZ=Lh-s*q}mhti~ zP(vOrl-Z>HOlTd?Mzc%kvIoBH!1vzicHA#p*EKFE8KKD>SU*YI;*axx#(D8_M4PdI z$2=MHb+!@awag9lpi|KGLvk_f3ZVzMFhcmvbjDR$XdyX%dClE9G=UL%%T%29B%X~z zU6H-O;{JRx(Xhu8XSWCdAn-_I7t3Ss-J(Uy0T#CyWf0zitF04(N?^z{sj=z4))mvS zn{2ceQUyy9Zy5onJten?3FqfT)1MFR##(H2-NPd6Ge(bi=;`zYV7?sQ7WaNxZ|{rk zJz)Z^{=oxTTk-+_i5DKoK3f@Qn?YcAT0uvyCWXWqU`Pi-qE!gQ-ow*2ja4#D^@W4k z4-SdjuCuuG*SGtd*=9h^QK?3853rg<*oZp`%7lWM+Qeh&wFD1V#;za2{t}K zvXDgE#1hD=&#wf0d(>KW(|PTrzO@LwM+HfsY7T?5&l{3S!oPArQL@fB_N!-P_X;85 zC;#-Fk4)G7#wiM8)ayZzna)|Y-d*Rgqz7?Vmx)#O6*&uM>>1ekDdC-GBCCH*Yn)W; zkTG_joKOkx~-s8Lnl9 zffM6rZtnJ5r>Vc1oH8^xtdkPmjLfe|Do$HMU-aDnUNxVKM10ZNo(@9uQw&@T%kh_?5qxGd^bF}lHf^c~ zj({3jhayownpko{J4vEEz(&qO@X*P$%f^TvL}pjiH5^c7FaJTHR>7sUAAWHUTW5 z?6Bycx_j!s%Od!8Oa+4p8e(t=cnt%c&fk|%*^J_POPLNS_8B_qSAyi@;F*l;-y{cK z`eWP)#3Ifs+?vBDWLc@TviMXb|7&sB9|C_FGCL@)2TXr52p5f%5b6jOjFot%4KZmP zK>YwMRkadSsEagZ)Y<8NJ4X;ZD&ZS-jJHI~ZQ}yTo|PFJ$sF4*0B`=0{^-uxPd-BB z300uEnBQG$^>m=g+mZC-d5H=;%SMw5;MmaQXfJDt3X=8F5+ISSZqWtZmIyiEC4Mo} zk@w|tW(#U{hQH1%1Z5tBL`p!cvZIBUWVZFr@td+7tjEnLJ#rJ$Lkv2GQCtoe1`DCE zyM1FqwMC|n{aLUy$y1=zo64V^5+4(!rsGQ_3nv2ZTK^_zK2`N(IYUSXe1O$NUa3tI!4A>XOEeLB%T5GFHSIvW_5{4J-ZMuA< zPb3<+U5+yPCHLQx@-siMv5mtX71rcC;8j>QOGDzNA3EeXVE?%WXYo6wlTG9Yns zElD-I>JIGKwovz?MEKou#bR{JbH-k%IG>et78G)NiCQ9DpR)zv5h|)8SKz?H!VL*K zLU$}{Fj81pQ%{0>VV;QYjR)w9%9WtmjU-Kc}6CSKujESf#FW1-*JM%92KTN6@_5-(j7VIwTr3hSY zYFI&GzBqAWiLl;lU5{feS-^|80kD&RRwn*q&}!Rqgps-xLAuW%XxV;tp-ap8bfpVg zq`V}-h3SIii&Kfu@N}OGKvWWe_72r6#H}z|<6oArsm7Ma_V`RJ8eqd0>j}$wV2;K5 z2GeG34A8!9E*e64!)IZbqaI)ulHMa4Qyb2kdOyYjD&1m9?a1v!3D32_*hZ*V!%@>J z57|o=cm-0Ymtz!f{BftTu&cMR$l9WSeQ3%6+#2yL0KDDS?CFC4Rd^6YR2lt1PhQ77 z>^_nlO#pdTGF{sDBk56wBk^HU%5j{~#ftw)HlKql7E)7Y_o{76l$1yZHm50>o(%Yi z74`|ATWezexJle0bmM?;WP06{wVeJUj(%nehezVkXA+OgNIr)=y0n_c_xMHEK$NiG z7mZu~jwV<2nlrPcDarQjW*7qSWktfmK!!i%dx(CmDY~WgW8-b_2*Txb#0Y>;R)^cb zeM&a02j?FCYwucXmY4WTnj>@zAn=~M5-27bYY#y(Nl`4YxWB=iosWk$FRiR!X zvuU}Jh!@_45i31nKaI3$>S4u0+pgU);v2e)t{35X2|LUlcHW}7Mik3P*WR8}xsx_t z7Jd{lFK_utniStI6EbiPK>Fw96Y*7PvJwVQulBxqt@`f0?t+0K=2vLY`X2vIu(_yI zxY&1gy{x^p_PDx?>j8LpVSh9F{oS&Lg4yl;2eJX21q9LF^q8I zh>~9*%H=*HLD|SDuDThI^`Q1HfpbeQd1uXVbjzWog2h@+M(?g4LjBd z;;HAK+7sI0m-|2SjKuV@OSJ-gE4%1z?LM#Y-zrShd1? zbcORJI)r@tMVu;8UO9~iAiX%XEI1o>mh*zriQz)F2TZ!yevdvNUFjX_7psA}mxO3; z1J}UX*N>D6EGX0QDrNK|xEbE#)!tLA*pA5wRnusiJ`7A_(G zESx)M#!Uq+S=;MR(Pn1d;aFLkS?|+49O?$-Up3gE(FRcgPunVe7QJqYV&A|t7^aJh z(kp{J9{7F6q6RpU(~A*Agcx zdf0gBClX#C%c%&UxNW_H$KAS_I`lRhHHMcBleV#NV97b0`1$0qM@^~`{Jtl@wdn%} zj2ZO>AP*N1p1}949-I-?JWgl`g8iII3OX;zE+Hx|uFw(8+yJQ!*Imt^=6kr}OPVK8 z^24($0(EcC@&mqVfOcd#=u;OuM_ahMRr%%+?t-Reir{;#f{uEC=h7aQI zutufK9fTv)8AY}j49gQmKh9>FshkuC$z4J~Tc7xEaW|rL^WY&o~Cxj#h zV$%cd7*7v>B~;XuC;Jz`%vMQ0Om~0&l17dhob3rSeLD{&c8&w1Hxj>{=YGOT!ZIOw zcVha>y%Ax$EB!Xo&cL%6tUfZfv($_!xH2zyRGPT&tlX;x}(1JMDJNF}Bf45&D-Tf(_dPvIb z`qH`Ywi18$>FK-uNJQUXQP+u$m42PB*>9hk=l^5vU9&6+a^$?}>DiBX^hb{cNJrd+ zMD2jo24)B1;eI)keP%EOA~LIcMv_-$xC1a49_|tM=A*K%9o$ob{HR8M*!Mn1EZd}9 znkRGOYDwuMRN0{K3alH{Z8D6C(rlpm%m_1NRk)cJFewp$8__U{*a3A zi{y)c>)80PDXBaMA6!=54XUcuil+T&zCJH6 z|0jO&ot@9*(YTMlV&cjLKH=Io;&H#VE`M|1Nz%9AyiacCdA>4rGFzsvz7 zgzJkYT&`smlgAce0}R}N?lY;P9S9F3%RbO?x08KXB@^)G@iqAw=ei*)v6kcycw*dm z=&Ys>?xpyPU9MnwRDFHz3_(A<0F_Re8|iSFW4K;+>B2Mh$j2<-o{m!rl~ zgiSV}GKO_B9Ay)c$T_*bMjU%N$J0|{G}3_K!D`W~2kY8ovTg9Ta(S=@us3MA=p#J= zcl^5a9tuMN)lDos4l|+$I&&gTuiK+==%hNX0bCyL;-_JpU!N1d5eXEq{V9N)Bn;ef zId^`8Clh)1-m}x-VRG)sUMFK?ox@g;PY#4JRF|CFRGu?FBoN{2d}L?lkCyigm}y*i z_SjA~jthwfb{Y7?I%gAZ@|La;=84lfvBo{VhNEEAsAX!6$`085yc5W=0im?$nG_R$ z44M)@JhtOLs5)(FxQ#2RP%~osV+|_z1hdbm5IKK?9e(VL^j8saciuxV&)L?Tc)}21 zAg)Dg>i~{TnpxY+Vpf$qE2ObAYrU3)No~Z?xUUU-L(e&nM|oh_{gzMG!#g}CW3S`{ z$9|!f{25YKhgfyah%os~O9ret(_Rd4_iyYyTlL3|$+sYj`YEo@gXZnSn32mc}otnBkj{dwbCKW4{QZq0+adS>T8GmR*YQs{Z*&dnn6@kpMrXC0jo zkZaV}eX?c@UUPZkZba%={O##t6Ei+S8xlU^^n=)}uRq+@?R@a|4d43S`0fSXBKG^4 z;pfK(VOP2liar+Cl?>8)$S6KStc)6^L z^tM2X(&ViJ1-T1>v&4rZ{5<298~6enVZK&R3G_9-iCRC3zzv75(V-7RW#c18v zpfQI!XDEC6^p$>epMgL3dlI9kwwG(>ynnz!!8dlho7{~FP2T@_9efaSRe*BkJmfro z!c7c$O+0@=X!%&ctJ!wVwuJ>X?+;LUje6{4Y)kQ)TM{|$=XqMUx;>PTc_g;q8oLmNyjiZ z3-Fn;CO`9H)R=Yf2w8E>3eb#swwcp)))1`m<#wXdtUP&04!5o>u%jFC;$h!2F<2%r zZYjQu6U%n%Y{~tqC0#TH&lKW~+0(?os>a!TWc2Ho{Rtd~oZXyTtNP4RPVbuDc=Jky zcG*~TkQ3_ySi9)H7mwGdu)fArTbEbA$ctfLXdLSaH0EFoR2o%+*JwW@{eH!zA3>BP z{scDNauzRk1?)MkS7xr$Z}J`^Q%HrOWLf(9L=d@6f3$7sgpM?Naa;Q|zlpH~ypuI=XNJlU`= zC3z5IH|r!Du7N1jY+-Vk^qBZ4z0nnF&}`nJ>f{?hB_8T3#H+Z(K5s9zXrqz2ggrXexYAe#gY4*7yj}9OSuY z&wdl597F60H+`hWXAN&M$b3^^|DL1KoP~>%<}f$w z-s*200=!4luojmlEko)@sa5sN`g@-pyl!>}&BMi*%+=wFALq%x7OOn7-)5m!4gVxC z3pt??)U)MDCrChJV=?&E9e;E=JBLdux0e8neJw~-u36=Cn%r*_x%=%p0ET2rpi&r> z`;bpAwR3+;<CGw zXIR`E50{AWO9;7R^_k42|?MAhlL@ac;{$Ie(y)j!KSx(=nnyBJb6nY zXl?dFaJ>^pzT}5$$MLy3uPH*qF*S2PJYQTu;R=8V(=p1pO4+j=9s{vCH)j2{Y^Y`T zM52Y^fu9eHd59!F{`zQ5U>HAUFzAO*Sq&Lj)g`@ucnjwt%fBWGSNm%8a>Qm{yTK$K z)P5#MPGE>NIMcF^#W@fTAAEg&zh@`|6YC+tS45MSzsG>)IQq0X&1BU&lZOmvkP@SF^M($;=W`Sx0JW~p_(I7C5d5?- zpVppbiZ&R7UpAWo#j{+fjT1}p5VC%V>y=<~=rdG?;Na_eXE?`TYuul9!!ri5+I4XF zT6HLhTNvBQGdDlQIoKM>0qWr}gK^hUClt{lcjWiwbq#;3PY zdJFOR8k9IVW`9Fr0&vrO|K3}fymQ?oG8m3>B6?`!?K&KFA?Lb)GoO^`8JYXKB5C|> z*@gtS|3Z&LhNJ90uhWo8-DehVf2snI+)&JgDLUU>_>Aq>FSZx-#P;)|@_>3zynG}i6~Gf<{J@(>*Z5}VZPsN<(5zmL4EL@L z#OB3vxKmS9k1dh&e)BmWxZ&xnbTKcoeEs%%4FgITJH>CDWX`ZdNMRM>yrn7N31&^} zj(Rz5OU*sco9Eb`-X!lQKvu5BeS17vG04*EwU6wggNOf)@TE8Iw_wd7gmPG7dDh=& zypd6JU%byNGQ($K{j9Qu*d`oX?i-;eN#`cszy44E?tlAdUU^>!qDg5EQRXKv*hxV% ze?K@1!OtjN{2eod!)s&x&RqSA_t>E*fBBl1XY6;7$2hfVm`R6$ss0v5X?^YJ{*Zt3 z^bGC}k@#lP+&8qC_YlmRWaqN{THvQY?r?VM#FzGy95_^5ypJEdjiPlN!8*q&a(~xN zct9k+X@{?I?H|Y?!{zuuuD?B34vMTBX1{PYyv{>>Ih**YBI5uMLdN{v`g|@w{>wAx znS9}4?h9`F)AQN=+5FmX{1RNwP9ieb8yAd5dGTt#;5JVL%iM%GNYwuOT%2>@yy|CS zLs_K`ue8SBJi2&x)PUhr{?U&E)49)+7)qQO$KQNX{Wcr>xtKy1HM2{chw;VZo*EQ> zzkxxP0sJgCe?#e03uc~vC74~`2`$N}`OIScm^_$^bC3wmdEmBBABpduC|m;hmls!X zGtALAk20%nzT@lCJT@7@Twl6JxZZc)`^GBodvZbMf?q#S zu%6jGBi}sXv#&0euYMf)o$GJMtT;yLJ?l|Utkv^YsJ@!7AAmuqPM||-2 z^Kjx@IeCHW{Z;(SjsVZ80~&@usl%VYGsj}p(-$134wkNG&ov6{smo3TGhT*?D}-_F zn;|me8h@bpDOdGje>$jn!AHM7=f*C&xKofd9{9?{IC|pQR{PHFQ)c@4@?(Eqbt~@V z_uR+Az(4U^FC^3j9r+lrfv%vV{ctLXQ zec5^}n`bV8x=&8Uc|QL5^&G~OIK2gdcS(-FMa3V?2Ys8mwe!33~xfJCyj&cn9MePu1gxE2Dl-U3tHpJhcYI1t5MT zW0~2>%>4L$&%d1Wev12%QNMW~&V6Uv;pINs`zs!sCtUG=URS^O(efwQ6Ayj{b6?ji zlOMbiNMuG|KU4Sfdb&8_Y0LZEg(rQDvHe);#$je$8Ia`m*=--0IB68Kaz3(K`oTH> zanZDKdJb-V@S2Z4Ff=*uKA)$^)KviUvk$2QN60YAhC`pj4w= zzj09x&NI*ZD~}yj$8|CP7+-pU>C48!`S7A|9G|zb_x(iu;Ka}J`8<B}FWS>%BX8g(%C$3WJuj|h; zrqd@Vn@{6gwx58ipE%`jU7;S*%O{o3PkC`XcJgjMZ~f#^{P;6L={imxsN(%E`SElyn599$7cSHte!^yqTg}I@FA4f{jL@)IT!+nkQ>(rsu_%Z zML-GVg!;QA8r(M}3{@yTUumvC8%=yuNQs;`N96Yx{a`1*OTro1C!Wb44*P3YygA73 zO5)WXZy7xZGVvzmpC0hkg7nzw>u7Hrl^-@}WPKL0D(~Jiw&Ej-K)5 zYo7J2EyJOuN(V^f#gzYtM^eo@(i6@*{%|zF3rh{)P>$GMfIiANfvyJ(^kY z_V6ywlcs?g?;x%7^-33^Ug}Ou)(-}tA7r*6hwXX( zhoyw=Ke;);M3Lly-M<^j1)v)Lm>n;Eqi{T4Wi#%7ju4#uIUfv9Q|+kW&v)O_qxSpR zbADG-`k7QFzc9)@{WHCBXaA*iJqkR>ATq@(E%!kA=l(}G|713aI)Xgi4|u#k$hFfN zh$@?Q?6zUWe~XR$>Bl~Qx`X|k0bl<2VK>V-XTe1y_V`CN{fqe@{;Qh& z*KWpm^rw&ldFQwBCk1Nm^S5|BhHB#@Q`4({!^rBv=XspxBiQsb`KRR%zI^w5bpKLo z;>Ft;k;M~FtDbLLZF=hE9QXNLuUG!VW?$71+vAUZU#*6KN?9`A>-1pn|1rY(%Ae=m z>6h(u7EKB}=cE3--dve1eV&B|%B6fJc+1%Le1V(SkD(uu#6y?Qj-Jp&D_iUDZf$Y^?(4^?ts$VdTpnFZ}md^{@n^N00+?DD#QhiE_n};f{s@-*`e#1uG}W^w$8dj% z6^pKrBN2`JVNclVC%o+MdhY96Smyqsfp{yvQ;@j!`TV{S^E@|P*u4M8k9&%|(na~3 zGG4Y!Z8^(AN$Jo3+E01MCp?Mpx!&aF3ru$a_i}2%CL-%&pYIzF1J1d+zHGX6CaS+_!oLo5r00d4g=zJ9 zruRHHjkCWF{ltf}@86yj!q5A4dbzKEE{MGQM1Y^*;irB+c>W|0WEA`j7k%MhyE=mj zh=e_&&M^PS5B)UCRhutPaOQrmo%ffyA7Rm$=b;61(jQ)*or~!lJ;cWA0#13kW((wF zHot#G)tadPx6hBwI+yxF?>uL}+MjeJH9Eg+B5ww5 z%b&QBxVA^Xvo-j&mgyU(n72I-mPc24nP-uEOgR1RcMXY?Ku5Szsb%8 z)-iW7lDqRzm}*d;eMt_NrntthTufVBy=(X?Wh8w%vOSr4R>mr!yoT$7Y|g=>-*bx) zVyI_LwTgqx5J4dpt(-UQ6Rh^Ubqs(Qrab*?2KH}Zco?CbD$WFVluhXnCfeCP8eQb-7{!2w{ z@;dDq?`JaqBbuW+eEVx2zV-S3A?DX0UE>~Ff1*z>ozDdL#r3*)U3@veviqw%FBg5V zp7}7Me;4=x9PFMWIhjjDiT(TQDX!~tc)IkLRYY|A^;(&r(bm|j1X!v@3MlHQwtET3rPIvnS z&$2mhkvwcf$bNvi{V8{Rf4LIxfc|v<`s~%+IVzqKXsqVj4w}-`$r3$TazWFO-+1){ zYELdWYEEm?k7-j(vMm-z5?f>cEn@Qd;+9B@ zCQP2y-x==K#2Opp@?H*Ob>XKR_`(PddIM`WVo3FTq0U;<`GUFM2@udb3uI`Fx$E&X zEni^VJjT!opBZoWx3skh8_s&oJn7E#gu9_JF7302zw<4VefG=~uC+|)9}|Qg-{MA( ze{*R*_R0P7+|`#k4s%BhJNuB5F7mD?;#H{y&;DWGuaRlpbZ}^2E(iACFvp6i>V`bYbRJbftP{kzCL80CJ?_20^t^7Uf)sjgmd>DG+TN#{O8 z-W5Ea911_z{>Dy_Rk(Pe|CH<4mmO|Aa(yCM_3H&pajo|PdEXJnt0j@VBdIS|a94i4 zaQ-CupkbIHl6zA3CO|KqC(iRg>32|IXsCxn8uIPk=`f$le4gT+ybXFTP~7T92J0*) zD3Ucwv_G{0$?Z$!M>o#Kxp*MqQ8l)HHs8m-F*UP%__RhCySb#eZv@bJ2;=9&`KliI ze+PX2XGLUH^ThCEp7COR2nP1})iypSv@PHG>^b|FbCCGuEL9w(1$)QH&1Z8L#%l-X z4O`B$+iY9<^{(U)JAu=S@%hG2Jo0i8OOV*)V4|%rZ)mjV&KtjGkgntye9kTyXt)Sq zSHxMM#*8?Sm(4L`u-!PVaL@qHaNI0y$~{6(Cmxmw&^YFXZg@;#K?+E1J4V^eIVseV z_>#u11zBZc4WOgTah|DG&(;}-uT&`D9v;V&Y?CfN9>xoYY?iqoS1~h_Ids127TqHm zYOaZMIE_Ufdrf%fq)rY)m(vkcd6B%1I<+iu%1)B~d6EZcK68h`^^waI>SxKYgV;FZ z(=foZz8Rw9PtH!(laINUZ4xTSiF0FuQXtN|<8e9X0k-78+!apIcP4eL3@8{cT~xk? z=P0zSuD)1rH0Uk)GXZd(95RPBht|iW&eNwE!)5EXp^Iqv%PGqUuClHOp+&x+SxHS$K#~y0mV^$7O z(>`?tr0$yQ%M2g2LjzxOemJ_S@5)C}9{k;ZC#LmQ7q5LiEQ#jb4}8&+h(>>cD?YLD zdA0j;V~?LzCXn;hNwg1Y>H92loWV1Jk$HR6#gDgPU;qNBzh$X3yXGOfy)e0+t&If( z!*Rja*V<6?QV-tkoONYpjLt!i+!pWN1Qx^Ob)2KbC z`3|HDvp$Hy{2jGnXH<@4Kh7+BMQ7pu(nLOvjx{)`bFQp3E34OH6nOY-VU*7Ii01T5 zI=C>Qi|AQPK%SuTiUniePe$SUuOO2ROgboXwnwL_Q09Ja!_GN|9QsArc<2g;zdsA9=9S43)n)xc~vd zVzbYJh9NsN(SoHN5= z%okfwgY0bP-EXSQz(K=2oQDX0{%cv(KlP^cT&=NqvUrc7eX<@i(6ynHz&T#+sopp) zzwqM`X92$5iZR#YZ@z0|?VIRY?i#y36rXKv4{$@*ABAT99*1N6-}Y83^bYQ)*C_a(iabc{`@HR$7lwV#nJl_&al@u^M^l}UNy@< z`y2ejkrnjKnQe4FaZ4p1ezVv~a1?av^3=`J-%yvwA`e@;I`&cF}7;*uqsoL~UlJsjP zu<+lA1F&WNhIdV(ht>(c! z8heZzF++%bsK;iygneLy@CTrLvP)1236I+2xY&OE?m5~$J;A*PVnIb-*@skM*kHH6 zq#)g>lOHgT?`s&I6XUx2#`OCSatupO6O#V; z{(0x`mlTooetYgu;asbDCOrJycVSLsc(G%C8NI>f*)A@ac->0+fHu| zRP&M@CP4Dt!MeUEkA3s*;@ExPx}n4)4~!b-id-t@3>%ZD6sE;*axeynWc#|v(`S6< z`~XNy*(dnGtq0c6f8lCShq7<(nU)q-aaKNh%<;-K_ivo==}-F(O=u6tgbpuf&5aTle?z&s z_=Lw~I=}xC0X6jhIPg8Pq~f5Nl2hCJER!pK{ud6eBBC}2ePL4by2&4o( zC3#Y5^iqV6-lsGp5!QF~)(vQ!&8JJ)8$${ezWpi|vp#%;>=;a|92IYNoQr#JWeCj9 z1sy#4b4rw62KCSPzwC$^_I#GrYhKGNHm3arFosA{fZ-!*^C2?UG<{<07*naR5+#N8NYvW zBwZYMKuk94a`iOZ&h9`!1g(hQ#fRi*#5bR}0-db0+-vemMzdbqck!|N#m1gIlw@2k z@*4;jcX)6o}lUQz5P+;f*9@YUu?;lZL9aF=csx&_C7s3;_MS(zwOAbE<_6vz0aw2~TCnc( z0@Qs0qbHU%_a|Z7p!ngb+X3XNp;dHp*_fkNi2k_`^LqT%8Q5=}+yD=ohDT`fZDCjo7*Pm7#+JzQ$=W z4h3oZG*}eK2*KB&LG4J6~r!#MbQds{Xxr#@{yl{Y-*2<6`0G_XMINU*_aF z_`1np8+K?4oG(zU4jaRYEM3v?JZf^5^e7y6e^(&*n)TzyO{0v=>*||hECpiJ+O^OF z$-5r|?bOd}B9EikS>>vQoF}EaB`I$Lmh3?>iG`E_*N#bK&%bVB-va2xx0H3j&e~xT zCz^*JoBhVecwJ0sU*3xikBw3?L&0pFE{76jzDXfFkjZa*as98|=;uOS;U}L7aN_uk z3*Zz6n&;ODGT1utom1(>V}8j^50gV;kg|P-Bi~BhbnsfCU({kk-^YpE_*y*ic`tT|L2FF$oJ0y1aq$u8t0j_Qw zG{KR5JbZ9Nq#2hRr{6GKhA-!YnrS(}!=wKwYF(ck6|HJ5dUi8U-<`J|CP&#(LS zC(bvgx(z-e72-s9ud_6~9;I?apWH@0{QG(&_uQlNaFYFUwjPrm-pKe)Z^~=`Sh>%7 zk0smOXF!pixh}+W4qBTJ%kY885@I1WA@?cH+BLGkPxbp88-oo71S91y*`#4eyg-6G z>sgvZK!?y}`(s7ufD$VG-*65!;ml@?R^6xcXnZF}1Mh`6#FewNa9pzvinSpt`zLWp zG`|*k^r_qe9Q^ZP2>nOFy%CZaX-opL&S9MguZ?`+PJ!pd#%mHZ0sO~by7D_+yN(^a zM(vS~Jn`@&k8CEW1@-R_lbBdhPqk$9Qn?5}IsPpFcB=KOTvc_np*DemO+_B274CvcFvhhsJoz!`3@$ z@O@#0nH}DrQjy&ABB-SBzxqA=*ctW*N%1^iw0XqGmrMA#V`X#wbH40L_1RAYz*vK1 z2Fv6ZDRxV8L`Pq8{vU+vlW4mb!1uYHJ_<2;e$NB(pJ-3K=OH)oT#M`+*1bQT{=q?f z_??f|D3%|i6}SJ#j#>7_N6a}ev(36pzN7&LnFae{>01xa1L}Y5#^;~k zJl~Z){e>?S;T!(H=oc6|-$~i(-cOoue}Zd$IE3_Dug`yPurG;;ez=i;K7r9No)`*}xP4RIzrVEIF=r~Ys_ zf7|i#-|;nxTf)UTKy5ck#Ey$gsG@w>GSm;i41C%TMCo~+CjWSFb^RcfhgPe*Bk6c7|!WkF-v7t@PJF zjg+Nv$xo)+4|#AD-0PqmFLJJp?+C)~`xWD}idC?!U(?{F7dEf9{l*DE1%Dvsn&l@y>RJBad42E~r=0(><3ISJ zvdn#88TRrKiv0Zkd7hu>gmk<*R5n}=_Rmj91ueX=z^U<7kJ)7Z^?8Uleu+0*vho-u z-`BGTZ~O88Ay583AKDLp(X=&rRxSA7^QFpN2aRFSAN_GZkY&6w_4a`pBKjV^?&;*9|Gr}r*psLc_uRJ;d5*-ETm30 zkKM%5=6R|&!HOTBC;wvDFEa=L#?KdsLnnIEWzegA=gO#Q9TXvxz%T#|3FE1L}I zef|iW{ZYPz1){6(MS5uk7XkHQZzOo=GZG)3ydFkty!)3rjF(F)`22^k(wj|FcP@ugxoB}}yk@zE#B2fH?AKB;2BsLlZe|KPC-v-k>lS58x zPc!GCcCjJ&VyuGs2Ly=kOt1w~e`KGx=`Xk!pYiRNQWfrHPk};dF&ozV8E(c4KQj8> zGd%D7AL|Nf9%j`JHJ5+n{XX|E3SdGF-HEsIZ*x#gS|w z5n7Yui>UP=|KsEb*A5x_^>X&B&zmyZA7>3epUphENEcJC?I)7!)57;h%DQz;7$Hu+UdxRL$zRncobkz?<#RtcjO4%kU;p917#b4XGeS1PnQ-*RG|>~NuM72(zdxq|qn1MoM8 z4(czM7 zjMnJKRNLz7%-m!q?xT>+m<2un;Wk{&qi`KUHclx!A5$TyOxV1m$kl$j&{a;` zemCE`aXbz_Ymzx@u3zi$<{8$~)Th3DZy=c=QF(-rOzJVDS)Z>dER)B%>h~f4jEu`id{}Vk^rDC!wbf@;E><55{3Ii=#C|*Ertiv6Uiy1I570jO&Bg`i!8bQ6k<{BJ29% z3>_W;*Eo7YZmtdA*^KXt_iK}f^Rb6Idu~14AMyiN+#07sjEy~WRq(8@7F`F{Ggaxy z$t!`q2jx`$_?Hv4|JB~uo3rf(PFmk}!Iir4&=I|D!qaCAJn0 z+DMIQrTp$3^6m#eIk_B|1pWI*c=C9{F7 z8?ya2Xf|QLSU3H{rKu#($)o8IL+fIGH08$pS%$6dtNV)>&&JL5K#M2E z+~+WVM|4&0tPH zl?zo0x}!_BTAY(m^2Sk5o#6!DadoK8Wn(zd^&7(LH#|?2>65_V;bi9G`16L%XEo}H zGeqC~E#nJU$joP7NTctw44dmHNHSx^CW;ce8niI~)q(kp>wZn>@BU(QE(2MXAC210;u|fSN zPu3>!y)Zt#7i?&5CV*(PPe?0J`^*cMb>eqDZciRk6#3lO;kJGpuFYp4kc~llP0gl} z2j;1@lXCN+Ipu3^*XORE{Rz@nUDDs4kv9u5Ggt&u&7B|IXr1J|&JPDFk6l#p)b1#< zm#=&Om;d-5{&V~Mc>SGK4nv}M-TAs!*ZJC5lSG<7&2EAeGR66Pb^Rr%Y$6E9&+|Aj zAy1R{@Jhcw0jTw$3&mkaa-3Yzny=;tt^E63eyraEgAO}-AG*o6+E={hI)vRwI67E{J%;jiM*a2s z>c;ht)8+btzT9A~<07GQIlMnd54ar0)F$Qa(~a96E>{TvHPCfn4dzd_FZP44+YM8f z+K|bYoNlOJeT1u@Ymo16xW?#Q{`!`L?_Srxb1|NEX`FK1xjyKMU%~?fhdr2_zWt`- z;Jjx7dIosN?LWGs4o3Rc2Nn4y&TvV-KDVCw-FedSH$}};#mv>giC<;RH%{8KR5lLr}b948K8l9r`#+Z}*9bP$;nG${Ox|4a;!`croA@=#~=P z$jhw-m@5}!0$m&f60lP||4h8RT@2)qg}Xejx!}&BFV#Yw*Ch9?@7nB0ew)-%o zq_q91o{rsahQiqmWTO6^9vJ+=-1M`j&xrYo5c zx0~4upO+t>2%8gQmFlds6hCA}-7LiQ@-cj|$>jlU{;T>)4o9@Q zir~g@${4+vc^i82c?B+bgFXb{zQe(j!8P5m=*#*rboJBsWTtF+b@^bMM}th@^fSs= zyqEhpRoA3HTs`~GJ`dv;SN}UZkrUu7DaB0X(cFFZeRg?%tcS=1$9Ux254HV*AJx`Z z==OLOzirxMq{g0`&R>qk!b^B|@}KypDIPVp5z)TB&^an6;vbMQANaB9 z&kijeUhiPh#v+YzspFgb%BA6_XYH&D1?%r(SPv^JuZ3xz(djCVukLkL;339vH{8Zq zB3WAS>bfXFt-N;w69=emgS9aJFMaJZH-~Rs=*f%O{#;Hzzi}4wo2_AgZ zNrlWMzr)cLqnV$;VU_6hL&JzR>t27+x0bv5o6K4q{k`2j+{&b6bf z4cuom7V7S!b;1I__SW#n*SB)x z2ajGXjtggEQ-8lu7hP=Te}c-_)_Fc)AnFWnqGZT+U@fBa5Y80D;55DcL-ce+P87#v zlPufJXi)#QU;QVd+ZVs@7SX)_#;=?YKUxhL)-RgpI$?W;ohv%`VT_=WE$USMumO0m z<{*jcyp)~UnJ~}T!&AkxEBtztvgY~9S=X5?pIp4gb%6BK=SGI!>0cmKS^1aBbeEcy`b~%rxIk3VY&CKp5@r%l7cm zB^P7`Bp2|T;OOloxhv`DhRSRw)}cWASYo)*Y9ke|C%x*2YB&JBb4dm| zDLoYOe@;-z9yYHY(Y%P1o9D?qfy~qT9!Byx?yq%)wL@BAd;MiV{){Gc)o?k>5a!v5 zY693!Z&JU-4tG<~`S><|!BMdUa62=dReLYSH@6T_#=UXhdustU@l_)Lb~eps^IGjCXH2Jv zkW0-nY-#6q;I`c&OC}y$+Gq>LHlM6#jAi087Xy|PLwuY@0b}4;i5!Nt2n5+~>Y4Y0 zQH5)s+Sd@?!LiTr`P!$?IZCEevE)}oR%bZ}WWUwja=<*?0CK*DV5wfwOXM=eS3Bup z>nRiWL7!Cv+oRoH=WS4!=}GPj2b|SVDp?iGJN)!u>x^2=O8JthX&T*=&uJnIgOMFG zxfF%oU4M?WKT39TRuoH_hDWG)5cV~D}C5@fM;jVW@=(7l$27APSbmY`q96cFFnD-!!3Bjph z-;rZTYCgti@o4;hYG)#bKy15$Tvpkhhh(lY@x@oIeRzIhz@n;!X!Cf z(ry50TD|hJ<<-I;&Aqveu?(4S%(uWem$9O%o(EDMG~w6I&dC$|6YBF6afu0QL2QZ~ zn5Dlh{&ew1wBCHYVoD2mY#`ogQM^{wpK~i-n|IhTIXl(hFW2ny}@Zw%epP*&Usy|6O zl3O$TiU9o`N*dv6kAP#64yY7Zy~z;}oXSiN=jU$VG$AA!@`Qd_wNGFC z(Ijh4Y*)VFO*l9qSLc#wJ1MgU0&jfd&+ekFvLlknXDZzJ zpoxJLuXKIz&tyKL@9!tK%Y-2&0J`~~MY_ITYa`!f0%MqY- zTKj&RWVWx~GXhaJDyG@|!Nn@hXE6DKLd=lp>*^WohkRf;G+;F^U0Azq!)cZhB)Mtw za&#%xMC{nP@}1kSnyaQR4(5#UKwgxtt?OXB01u{*Szv_?JJuhad-*sXU4hwQnht#2 z*xM>TAz`i456Jx>NC@v8{1of4{x2hv5hY+iYKH0(LJ)o8nmUahbu0eUa@>M}OSB_? zxPsr33&QTAf57vA-S_fi!AU`zRanV$@sYTnvkH^Omp$?2r=h~n*|7#vPH3+?L+}yY zYtU%!GmSgNho0~GKRZ0aw^%v)MQ=#s(na!!s$uHuu?!1_V(#D#R5ym{Q62!Tu}EVR z?gfOU1B-D8&^RzXH=`H}+CJ*?rLk}DnsR&kWbW(<4?Bx`>e>Iuy+>`m1HjoUC&*fE z&(jDWlk5x3`Z|xSl>WQ-(>~y4ss|@~TTnm2V*CAbF)`_lsBVidTc;+g1#fBjc8cIH z@i#}jn(aTj;hx3z7$&_(yhLN(ehk~K(7H`m4X{}O1qKv}_}#QwjNreSGQs!q(2(Zw zm;soVa^ILYB8_%LN<_c3muGv1se87zIQza!HEd)%F#h@;hu5R`oa^UvzqH_O!&ZC~ zr|yEs+pf1L*NhjAjSQRr*qLi(Qy*(6gax-mrigvCzLRE*cs-k@`)mW4{=|ZCt_23G zi$QoA&q&E9FF-XWu6aCG>M@hjH2uuy{rahCK;*X)yB^nv(ZZ;WLT7@O^4t|p238P- z;y8Z>e3F+d+|pYBGv_~#RkFbuze`F>x)=ZJk$zhjszQ9pXo!!V zfHyjcJMtNKo8?PgJo(Oj2@EFI{LAb#$V6X|Y+kNo-^z?k7*l6i1Z9ZHtjT1TE>C>Q znwFG`-}dofz0^-XeqaUWd2Ja<|nP7+>)X-D7#YpCCm#FxN+ZHuq^e>P{|4KAA6nU$POcu0=~PS<->S`7#&fY zc%I&{MG?4yVpN->~y7JXEI}opSJB;QChE(asP-_@bVY35>6*=?2T|nApRd!yy0@+ zP?GRwCm?9ZvG>0>V0i0`FUm!cZI?vG>;@WDYl^j@|BVUP{2=T@bG(lDmAJq?3!PYB zOMrT<5chJB_sgy2+tJG07J1LvbC|d{ipdN!m&c>M_Y>8i3Q6sE9uC$jo!yF0>v`WG zmb}rL?RBiz^VXE@PRIR%uSQNu^)F(C)PWqcb-1k9DwedoUW#%BrV0J~NuDctG!1WJ zj&IGjT>nVi3)?qec5|%ua_2icrO68svfCi3!mL5hRevPU)a;L4OJOH|3%gPNXRDf~ z3N`ww%!&5j!+LT{dYx29A7@;q%hl!<=h+!8gKr(r=HOlLxWfC5_NpHuG^>PcF*7kI zb5Al1-wyoJ30T+EcfU(nTEAQ719}!E0p=3F(VK` z`s&P17GEPXCnW?gaHE&$LbG89ACxFyZE@OTx#*+PiBX1t*I?=vQhs zB#68M0%SVjX1LnxBH_JeiG_i&>c*AjEp9o!LLlL2980P4as-1A&y?_H>_`~|AIDg+p{ zQwmeZIbDY#H46{D=nnX6uwlHECx6=Otf)@Vy1&!Iqj|X(dc6I9(Mj(d;Z1{n#Kt~f^JnbE~2KEthP}4rJ|yXy|;=z=KRii4f(j9 zfxoFMT3!?48N7c5>bE+1W(z>}K(+wjkA}@pippr*Q7AiMIjej5&#Bm-ba7Er)*52| zm|n+jV_F}aw=ZRveJjWyN(a(gP;SB_BRpX9ab3+6xUuGr6OI^N{ij5v;}P5A#(Hx2`GD!PWboT1P81M4r>K4kPgPi(%JsuB!3;6HFHXmmq05#JbuYEln!V6YC z2I0&K9*zl9y(}0oqa9T2j9L%%Io2;))Q~b*GE#o6jJyrM~3~B=$j$i9Pz+?PKuzk~2>E6OJS61z+3x^Zu+QEEm+{oy7&>{wxp&2x+{1 zN8k-w=dk0m9%}XOx2BKNyRh0sq#wEy6WVLQPYbB6xM{Q>{#={DBNuO4U#!H!)t^$P z-TxsAE^f|x{cD!zHg};@ef;Gw$?$3=Cx6i3P4~Y;joH~yJk|Ex-pbBWv>>;d`hc@< zG|l_!KXbOF05KK5Af8*C@!+ieuP_Ie#pawCu}V9v=G`63e09yEqm_cm&d#rR1Z~yd zi(f>{Q$+vFytMVX5mMVL;8fhpM=pkD9q)bPlT=d?8@6Tgle21|E~?mf!vvUCfvNK) zPHPRFXw~r&XLisNUfoMrX@9N#AEOd9y7NQ4P~G9~E7o1c?W4kUk$?9-znxrK_&%Xv z_&bP@Y_EZCy&o5N&u7?o%FagOY30B5bdN!5?C~i)rj54qn3P1_eXZ1kBYH|lU*00P zJqW9-Khws!%Evu<8~KXgwb-vN!WvrqM{#z-=ebIcin#72+gC(1+{S`3z}^PD5<^XV z-wJTB%bq}-@$e#5Am6>Yt7+)y{H&9eJ1Mj>e`#gId9ZWAAckiWhzau-#%Lu7dr~C= zn_r3n?tS7AFmqTlYs){)imNA;a$|ZO&s_J;tS?!v*emx~jAvhSrb;ZDmZ>{d{pwT0 zHK_$;1orAYl%m5;g-ixmk_NP~^M@Mp%3*+!&-|sE;ueu53p3QKGIhyOYKx!pl#>WH zpa^c`&4{n*t#{UY^O#PXy+vkUhI0IN?74Xa)3%0T@)O}v?^$v0JNl|Tsm5r&D1*%Q zGpio3k4|4M1VrCpCvn5%!h3z2j1RY7em)u`ScvW>g}msqTJQZ)O6Ao$Dsa+)R3xh= zY(37B_*un!{XRLqGw9my@F#MW>n(vkpR)dmRL1ioUOaqnSMC%4qwHYTwsEn^Operi zC%!Q`KtnRR<bY>P-aZ`F$^c|bDvil;Pwo4jzAQwJ>M(oBnZ7x%toY?SRC;XdKR0uikAO)>2;$dhU^cPf$$bl!tLhUGHun7VHmcq%=9WL6a<0NGuAJtWIG`pO$^akul=P zrJD@T{+==Gz<~a8N@4(M)x%+2V2-krjaRtDT?w=BxGMMr>2$cLjA2*Q z8vAJZD}UAw54M~CDb*iq^yDFd+5P(dZZUJM1f?D;&U{?&<&B(+nsNN)(Nd0F`5G;O z>DvjSuf1X{Mi&9$?KhaQKK(?$0}T*KV|FNc3raox>Be@X+r9~J@htc2SXF5nm%as| zpTK3LY>)&5KcQmT^N>0*@a}g_f|1}70lbJMcMg#=t$!?{b`wh}511S&>&k`0elgTP1c!^d)uYCADhbGrhZXg+5AI|FevaK1K-NtWoSHTqV*qqY@>=2i z$Oy^;wTRhlE60<|QB>8)9djF^sy1s@J^&p!7*-mYoX7_9`=jwP0gExYOA9xlpq*L3 z&SE8D6seT^S>po`p+Y96vJc;oxbK*&%mp*RA9X<=2YlDqCSYRT(1~9EA-e9FhtGaQ^E#8wAT4h<6l2EG9N+=-NiXVM zm=!}th2xTWB}I#s-u(rV`Q~y%$SKKRIwe*sK;HJJ8kErayI&Y>H%-*FT-hHuSb(hxG7KBm8Yp#FRwLd@>>`{Lb3 zIe_NXaQfmHqkx8MpN1QLtZG*|JRt|Y|A)VYdS$;3;D>7AQ@IfEO?6fkN!0in%t=q{ z%w;Q;u&;b$bxt+ctR%vS;MYb608|8vjk(v#pkA8q;!?#GqHHrkzNlQQqgB4kk1BCn zGgOT4f(AJkJkIE}6HKQD`|e%RbY7stcGJZ!B1p#wK588DBXp`ieb8ew5`gNf4huS5 zdoT%k-5ZwjMWgcPdXRN_1x3&AgtsXhCjj<(E?~UUH9o*(hZ#xPqL#*(!sD0wL*Yyg zeIygNFDja61FXls`7i@L}Hh^ z0i~uQyr55=a6IrCVs0N0+>?#N|B&Zjp72qv8$)w(yoTFra|p>G?&+?W+*uEu6~1?# zm4NLu`rI3C26o9-J(k5v1xgnbPw@fQ{nsf>v7Lx`)2pJJMIln15EzJ&>u?gje-+7` zmf=8J6Q00 zkVL?S3DVmf&Xp9U%sqN|^yw#ftWWI8NT*egu;h>RzMuIJOjU>M1jny?$ek@lXVw)| zk4e^2Pdv&bGrFERMDrf+tPNz@=kL^_RN~~H7F0LjLd9~)xz}w!VHxV7a3N>_ZL-D7^56`8j&-26r5}T;4*& zr~_(ys`x;K18|`$I{fD>5jtCqEaDnQF zy(g}Bmfzpq|NIPUEsmk}t84z26@v&&xjETOR23WG(QgTL)x`c=Af#gZCFa&E@)&5N zjd$U@_@KvyK`qY}`@=G0M9mxTl|MA|Eschamj}-hIY%W?z!r2Ji37Ge??L=uVzd2s&tzD7pGp>&xsixHrUb#LVm~t^ zojxIA%u zGe^1at_Yggc(#Roh)<3^%M=1IGszax5YM-B^|n45YIHMj;oakO zqo1CvjuzKPL1i)5p#2pm3hd;;W6p^I3tIwjC4IK(A5i0wxO5O?cF5S;>0PO{wPr!&r@<;HI=a*|A_@VCTv&vDhs0rF4G*i2h3qiN}G|^xNo`maJ#DWrb5c>A} z{VUyJ0a2*U-uC5=zSn`u3tI%fa4--{Pi|+6G25ht=%29L#m0d&)JiYJJ35KIvg^9l z-{`+xxflC54U&9S!O1O2`*hc0Jz7VH4xkA=C?i(KR}n;=7Iu)@z)|NC>XLKK3*Kw` zeWG>Yi?r`*lf~T!=5|lF^s3qRT1`Muz=IW&=HC_6&S4Fe2obCut1d1#=qh7;gQ&Ur z%fJ+W)my+%Z&adYR~A64{nH4U`q>(MWRa9u>2nAI+z10_-Zey1WySuYNd7IQM<&eb z+-GW){R#(nHOpv567uQB!Tx;%Z3>|wcV+kqmKubD925H2S;nIK*$Xy@?|u3~z#mf{ zd;w-^Ii#cG$2VQRu~mr02&>DM7hB0}O=T5OX6-unWhI*);aZCbgfAP43@PEHg zNM+#v7`#DNY2>n8?r)@cho;u0WK>eJh5C4AJ1zGIph+M=`^v43T*U=1 zPR@UD%I@#RG<6SMQE=Ic(Z^lOhKD52>~?>F;gjUzx>sY zmRxmD_r>4MZ37oVNMW71$Zyg)p|i7HTdGxVqpUmQlveW~3^6re3UK&Fde}ww@rQLg z{AnN#V0%`%GfBpvFCjmD_Yb2*a{h2c+P4&m#~+P<`U{N z>Zy9@WNUN^QSrxSrxR99g_-}(k&`P@Ek)gk59<$C0X@@Y!tUiWPk;a0OLyiV+396zs zA5OlmQ21n5wKHav?9WhPAPDxz7IPS%*M6MD!>SU7H)yScv5Qu&4)Y<+Zw&Q1c>foq>v-o0iiuL11x%y_L!t&|yD2)lOZENj)WROnq-6 z{0OOrlxWb}-q7Xt?U9^byCyxSn5USv^%W9lhk)%rVY!^d+)Bc(D>6!bG}HyxL^Hsp zg(Zx;e=)Fvi#M~}PRIRv2bC8}dDO|gu--IFMIus4Odshzq2%E`^}mHcVhuGWa%YVV&*DTiW%idQ-f2kjv`ELlHyfkcy_ zXR>9*1l`v6Vo-gm1EQFnH1UUm4p?N;f;;`eR9Kc1*K>imtNnql8`La@fU zoCfYCZ0W3s{QDnpMg7i|u{anOmA0S34_mJD1^(8c72hwYOGSvCsN*AV3TUDTTpYBsMzs)8Tt^sCR!;{@M2lKU85UgjRW9&AqE!Pz zwrq&%iY5D6N{lqKEb@2<-a!Jh#5ch;^1M8^;Np#tpO0tzGRJX?|jXo%wl_m z+i0*%3Fv6(h=%&TDqpTRXK<+EUV%{Y5#pui1<{2cB9***JDXX*#|HxrAQl7mR>^5fCys;UQ^@;wmMQ+gcW=4vH|q*yRcWrgQ3JZ1(f!wvJ2?a zlSfZU^L4b|aer;(gN!|NKVh%f_=kI++~&Au?rOx3;Um(N1iruPV9_6QDe_{mEUc!IK<+rIPT z7Z=wz`H&lp?%xzYo|+ubw^gY$7$6sGZV$A9y;PlXfy~!%4c%?FGAnI6j~ybuAo%X! zNdeR``O36=CW*L^`LnLZr?N28`6ooX7za_kmdjT%Z2>1{`B=fG3YM!;kME#Lixoej zL$5bf2ngNmpqAjKnt(?(V}Hhz_Fg?~(gIRk!$8e!xzSj{(5nR}ML=<6&)u2_!)X`G zjt5-&KMQ~yCp_fy-|1BM<4B6|w3~>f49+*hTvsCGg$1a7Sm8xapPE*+?{)J!>n^MM z?*>iVm%ZL1TOO|R7Twa)zv6?*>|w&5t>A0@O!L|q^$A`votXsN{e<%Q9^dcXzXm3K zBcBgl!atXLO+0n2ev$WhZWMc_+f^B)5%j# zf+EpKhME?yj^*}_MW%)YitxwOXE%GRO0MD;EF;|*e*Jio{=&e9Jx6gMtSs|{twfaR z%&@ZIrxThdO3$~Nsd|si&^<+N*NI3G&IIk6 zj@j&3Z#l$#wy}1yq{D9q&D7sciQh0gI(;Gv4=xY*T$UOX z)Xt6FC%X{ZPz<0pd-$=HF8Ju=KLm z@tc>OkFVT5Zp-g@<7-BRe(A`hw}^oq38&p69A78-rs$gcXq4OXnQR9CsY0(XhnjXo zR$Gm}s1WOjV+GUCMzV7|{EV{q#KtE+w=<1LC7zzYRdLyI79OfwJuDQ)%p3oYwQJe_ zJqga0cGr5cXwnz;RM;q!V4%Y~*ODJ*rC*!hhF1LAyVBn z{OR`wG4Q{(X-Mzl%hYUEWPx{J-)Wnn^*D{a-qxF^PgYa!bzfa^EbIGT8veKM*GIu8 z3Lpo>_@>CC6B{<9m5bMEQ=j#pO7T4!RMk%UZKc;MRW0(P*x6&b-znyXclc1Zmd6Zn z&sFMJy#mg4HAm^njOw0@&xY%QBp8AhZhX7dohh!dW}$xiwJv?FUv~PAFr|#S z3x0hPy75SCl6p_fucLZs^wI+y&i7CM=?+F3i1oS|O!SHyOv^nB-)+W1d7N-85)G2t zBn!XgBp79RmM{db>$iIQm--OdvWrcXO&W$thgIgs{a{FYpw_`I%rKrin;jLMve^pk z07VW*%n*L%$mH{&QuHwkD0(i%*QF$aR9ZAaR+Ek;2 z?C;?HB8*s<*}8rl2xy*~ncp!T^AsoQLA4O78!q3?Q9_OiSeb)w(ZjG#St?2}5oe0K zsa%^;2j26ZTsY}{Ayu?wAEH9kxTFnFz&O!jaC z1CGxU!VLxTwdsq|Ngs8<%ro4jG=iq%EYQ&1T~!x zx;b=wFME6GASEY;(P5*SZK!<+=b|`s=_^!^QOH-1t8^+rJe&*J2JHswb#2HN$|)P&KqZ#9aw%CDNxlQBl=4k^0+V^PE24LA88|H?NOmd7^{43`nwjQ7Ee>Zu>={}(_pOknR{Nt< z5WCX^O;gFg)1}oo(t+wFbPxue(-4hqaxP%=hk_7yXlM7t_}mB!VI>$I@*l z*~Wh7iJj61+M@zyVr$2OKd03B5$G0>lc7m7X4zAlvgJ`@{p3UHLItG6?brbb_=~gy zTkJXufo+RpD{S}D=pjXB>}Qjga&}=aPCT*HECn!~^Vo2DuRc`m0|2=kgyG))9rQ%< zEQ=NL{YOX80nAmNo$ich?u4LHOzbOcaMh#OsD;GkdT>;{Pluhaj4;6wxmJ#s;9F_x zzAV{2GCg=eBtKs0c5J=wr!B**a>EkPY*C&eKUmz(yiD1TyR=g*;xgl5)sa=4s;zwK zF|*E;`^HQp0I`w!=ubcwy0F)LY#6Qe`(eYq;dEd=a-szOZwBESG6e0oz4|Nzk)N=s zGr~H9B@fnO7a{tss_;Ql$<@ie6(h3?3-9VX!=`(rKaRpARN$Sn0HVc}-h&mpD~8%V zR?cX%)d7UYZIF=;AEU-}E^~*XjM0kerBoqFwkn2tw>d2FP&DvnIy-!mc4bC>+QBub z`MsrHCOs+J-GLEjPMa{&Hk~p8!NYN&hF~;@Coe#4?CEh5=^r3vxmwj1!hX;gZy(5N zXoLV+Y~_E8zp!o2z3jI^1U#If;rfQO-|z#p^{(dw${=SB@_(P#JMr z0^8AtYf+}U7bvj+sq2OL8)rB3UeVJ|fUpjl*eop+y+O4djWl{ct9A!KxU6kAUM7$6 zonJevXwXVXzbzE|GTkS`V!!kG3Sbq4PV8OvzZ0NgiL=q9(a$?CL%_z+fL2dc#Y-6! zP{+}z2;6R8E{Omul-!R%xxdX!>TSoon)kWB5@D{oH?6V=xzKf!@SH>qbb0o8B?pSC z=E@ZZshr*Wck+T($gzH5w_~cWzp7LpO|Lza^<`puZ?QEoAY}{B`gBh39(?7WuQr8eSF;~~n`o9DV0-85elI82 z#QVF%AHWX3B(}4Z(v5K{b^8-?v)U^6p0Z7!RRvycwx#jyN0o1vOZaa#vR7C;?^)+a z>THnbjO7L!xF+`y&GyHzPN9ptZ&j#%R>TGdO97h)gg1{dhGjDyBpDh1)HdVT@@qCX};iXi$8QmXJ{~RHdBjL2zVl(dtL| zyzXylNR&Y3+lWd2k{Op^E1EcvY&35Fb8c-~KreHXPi7~Fx~kD?i5$n%sp)yNA&sVN z9Fxs^B~_$jK#0%4*4aV+C)WYepQ0zpQIiJ?@A|aDG{8ELGw|{JqX!4nI82Pfa*>(Q zz_5&D`ZQ$j>gO~WnSIS9f*lqcEP_JahPGmf=p=Ht=5s$xkC2d;-Mz7!OhcLZb>G&; zm4ise++=o+1y`c{OGfw0;u#Mx3}j3m8YIVg&2#MpBwR`}AZA%1o#`PB+XZcca`2{g zWCcAcRsOVWRY?J6Ob;a^7`}#C`=ky@^fGz&@mE6#1e0JqQPFmz}Yj4uy!+(ZyU{3%|?}~VCU-r43M8p;y z+(!@D@QE2a0T2>lwOMqM0yh!TSkm(!{~?x;jGGuw)nfPtBIEa5$;XxHQO=We2vW0Q z3hpl1S8TEj_NyM|P;Xz4$iM$8(*X8%4xVbbs5p{c9NBkL}LenGR-^1Mt+9D?R=lH`7|G zY%aa)sC3Y$u2Fg-`E)Ko2ly;gwK{UrKk?${DD9Bkk4F~Khi*eC3hVj&;FP?=A9IU2 z8J}=fA2bqFCT0f8vtEqI3paK1)t%?L`|9WH)2Z4L*d*>tDXV_qg6D4D;D>6)cX90v zo!1FYI0-DZA+9I$wYnrG>BU*&ZT)EXOwJpG!ZLMkL7gsy+0Nc+$AeTul{t@p$vyv6 zI$I@UI`NQ*Bowb<)WX@iuEx`rVBZ34+l1-q-CoF*b1gcqe{%?vG!r5r{fLL02=d=B zo$}-QDb{)ykU5WBwA}p>jde!{rHF-P?0geVgiNeiu4%G`l=t`Z1{T*isg>WVK3(zI ze}i%LpOO0wY#1|iP&8%2q%yDIUYBkZu4~FigP9?jd}Ui(9@WIOtSiK~$R&%CnhGHh z!C94rX`ki7}?^xiJ2%2h~ z9(9PnYEeGY+=@8sRD{$5Uw@M;z%)Z!PpXi80Vbf8K+g{W<2ag_ms5Mm#eu-Bi$z2_ z`69Ueh?2NbTo!W}_P6WTyd{CWF{VxwzDf28evn6-bVDa^P8mF#cA(#|Nlnp z%leWnzITrhCiUc{hqCb;Ah*GF7S@yuWCMMR2Tyn5r1$ASz6R~^M1%K{x%AI`g_J;& ziy5uVrB=<|0E4$l*@Lg?@A?}FTcSA z#%OG}EW%b__YQlJgD74$BpsD?X98Qfd3UtQyj5?CIR=v<=4;&aEL4N7h(ErjHX=KI zHAUM!?eD+5O_C?}+&#lLNZ+%kCI&<{`Q@AEzUG65F(A|PEy0Ndhh3^%LkHosSW<0?FO`>qh2Wly3s;qHqwXf zgC(s4VT9cxiX!IE0-&~GMOt#NEBfg=e1~Ovb?4qhA6p!o&OddqIaI9mT-rjNJg03p zfcGI-aO^_2YKByB7^HrxV$WLN~=#DjxLb(OtDPH$W z#R=~NLm}vApq0hCYeHjpK^X=*V6DDBRStdGZW4_!!%%3a41{7sMgHu-$NC9{oI4om z2Z*2jR(m@23G>8#f^0fU)o;ul*B%9?Um|s(`56t)CRD?{jpGWGXxIoh8WrQuy6qfR z0DGu^w{B0}qLZFhSx6~@OLEt1cjb@)Zr~o~lF8o#rdb$A*{*es9Rq@GR?V?P-mGx< zxNPpe^m(cGqRPrW=kt75$NsS6lE-ymx94W+p0%P=2EZq-&L^yW-D8Q*^SitBt}R!M zTQ@v+JP9iFXHCuCI=Axmdg$5=HYOBxbgBQ^P3*+&_pjf$eQ1WY=P-Ir9=t7#utWay zsk6~0Z(Kfhvgb%`b$7c~cjz}FU45GKud<0;_I7?`_TOB{-M#(~_tq+Ztr>M&JZ4RG zGgj4(XwjDb-5)DmKc!KxZ!K7?b!bQGX6R;`P)7&uRTg!5!qrsy*o*CNvuMnj?|?bS z%2rqneqIPPE^DcL((utt^pU$GhlQ(PxI+)wJCH6dTs|NR0W6oyEkv1rK;swLJgD+BsWtS2)6%9G-CS z2Uo=;)REt+&h3?gk9vA)Q8$gi$VUI`mC+)fr4>}c$t&(BA+=03zlF;B2s0bM)xe;c zCw&v8dbbG%8(oAGI!t+kb~(~4*kz)QuW(lr-fwuvg;6`46b88N%&ui%uxAS$9mVor?9hdDo& zOSb{FqGG+gG&C1cIv!={@3U}f{L9~YPkleoW~*mcMtK>)=ont&wKuNyB1tE-juk0B zm_P77g9Go?5cV!ID}%yW8qb8vaVF(9Yw7P@E5U z`d>!GG&L@K2?1w{OY=!hAl~bvLCQO}&82n*o%$LNbmTX5 z_*;!$c!-hzZemhSyS>x7qIDpy^eCX^u7_G`5#6ag192)cX-eO_tOct)JCVNEp7Q_O znwC?zI=}I`F4ICpdeuJf|2FNIV4NZvsnj-GGWKq3i~WRr zUWpm@=y+16M>i;N{Nh&?9&5w)a{oLpx9jJ5SOS_Kz8`eTr}!Q|@xzPH4^w@Q(Twq^ zy|{}aRH^G4ZDp13PjJm&jvh8ZJi=Ve30Z-0FJEzKsQn!1@JZm2*KU_`>zjvRiVL@_ z2X-|jpExvR-Mwbv(K+v&X}~WBXPiS`ZIV}$Ws&BKgI>rGFOgS@6Ni07}$J z!AFw^Fwd4@v?g^>={$BJB`TnjJr4Q)hp(J^<1Qm?RP7(<%`KCvLw}uFZ-aJpGjd6$ zJXsS zboKuG{1>hJjRy>=opi2d50;5d_cwp%LEsR56hT)-6`WlThGxy`N*&Z&^jo@FxDB@3 z`KeN|!+q7)tJ8BXO9Ca&+PFDwiNj+Htx>|3(jJ#(t)97MPVszpb-S>?)7bddtsuC9 z8&^wNSk%kb4MX!%+t7T5*LX`Dv6(NPXLe@G3!P|=j@OWbx_oVxWUTNg2 zm7>>q!~w<8IE$rmZEkG1!grU2zdeQL3ddRlAI&_VId+!TDwE1?enZ1AV2j>(0M)(s zUx60NNqq0u+fZloI`_Yp|Ns9Z#48#?(qZ0GLu!WFGsLB6L2*93?y~&qB{^ec~=Mym27q+9c@QX~$6Kg(tA8vKl_v zQh2wySktkuj=i(WldH7oA$k~~>Yfh>n*n0G1|)jckr%p%f`kqW#x_Q(zn~#?wL{md zFz7*%`D8Y^Dc%&_q^pJ9y!7qY+_BdOH}$V(DO1<0ReNF}0fq)ZO`WQDYnaEmm*+Nv zZ;HOSQN1mN1c@nn!4q~TTYd)sRKXbg*Xbz6_8*z1?3|dCPeOEw?EP`qeshzrR@8*H zfn;w+OS#Kh|5-uJbsfiB!6I%dPGa{1&CCw{^&z3t3p@CalhY8|XC^A9i(inKEp@?) z{|GL`w;hdh_KV8y7ypfz)YKiYHYJ6R(3+KU1il9!_?xDO6f;qgU1r`@ z#%dH*ddXJtp$bk=~mT1;+xH*Ta6K7f|JrVD*idqC>Clw(B)K|BZU@M{K`& z9l)x23kkm815%THC34G;WiubnCw`I~%a#TCkEC=eJGU2=o@2_whoRW)5qbUk@7Ueo z<(VyqFDxr7lDzdr+H{mv)GWZhYdwj9+m1RiSG`ds{XVUlYuqPLITQt0FU>#FC$ORmP->s zxJtV+;&s)rWyi=1v(zbgld$rMhS$;{%%jm>E>mv%SQ}u*8pcB8`mLHCu}c6 zp`f&xt((JKMrNJX2IS^M#ZAg`u`V}yPu`o=AND(6G57wH2wUdMpP{R>LH@vMjH{|1 z`Dwf~_c(O<&QU!{UCq_m`{=G= z0crWL`3`)|MCiu`U=bYJ^KNVl7V;?*oM#@HNU?}x5KAzt-kqYuj7t<>% z;a%^*m)MgMr=;4c`JoWr<(gjId6QYP9kvk;p>;-OTOR*_k4%5Fe5ZNwzDK}laa5>Q zXDrXF8|?@)e%$6cQje4uNA-AhMO591$zlAidl%L*EiGv83Kb3eYVcb&0B{BHv5gHY zpK?T!ku5-Vnmu+N!Xe%#xLPt2JGY)8l_C}i8>>R0RYVKev|l-_bTfZ&(-+B=e-59y z5UisfF>1J+P?O}x+nKNtp>NO zf|&lq!qeOv4`H5r$4{O(7LcY@#j1<4@vE6+6xy{_viSHHm*+BW%$u70&m{Qc_%EcHvw zJA}WhUG(77-QmN(LLe0lYF5~7$E`E3h7*A^))NCCPJFwIC|S{fzWP%&4nnRO-w!Z6 ze5-G{hU0ep*iI~sXh}h=KBjc4(DgEDBUg@#CD#PwG3}2ei}^_TK=o{v)6Prpb}&w) z?_SOWP;+5Z!Lr{Khz!*0M&u+#9Iq3jIaL1B_d?ZAV@*Azc*j_NuNG6i(YfnY}hadXVLG=#Oz}(90k#_hHHUbaTj#Vrxj8 z3Qp3ef`2h3Nz+t!rA7@&ZaOAiQamAdMTzVYlCxQHBy6b8NkN-Q@F7AY&QlzQ<1JuL ze}WsWv_mh@OYH}m*pDWov#{g17UOgX203J_^#iJ3#9ZriH`>S6+cNg~lC1R_Lmt{s8Dx${axeenV(4LMN9!=*Rw9X); zC7cG~c3_PsRG-E=b4eX$4x)=}x+?4G2d;100zhv2S%#aW2q0lEY^O}KKY=0TheXBQ zA%f<3mDUVkF8AeZ342#<-T-W>9m#*IJr*;}8;?@PQGF`yCS7^oPnq-Dz^Hye*^8Uc z!T|zN9f#L5f>J67f6`227cRFjYzTK*8J|wZ7<+mCe2rqNd2OgbMH7gl>a=Mq1dE%+ zJ4$w8BE4J^B&Bdi=RYw65N@EV#vG)Xw#q%_OUD_Vl-GHTp$ptp32D(LOF7H;4k4N! zglf&GLk}=(g^_#NvMY%{zYEO6GHC_rfBuKoa9xTMY$Ncu5=K@171eVfYil>Ca)o$9-IP z8`6aX|9j)L`ij=&&5P4{wZt0u6XV!w*9cbHVN=Q>h8S&weP&qi)E?(~dWY1;QO5Vp%`n!#&XQ4UM8Xepcu(5f367tdT8i|{h6N(WL zo?d1C+tfG61P@Qy#Ck79z;>k$1)C$pFF0wyI@pdw*koK+{JpzpPp^JYM5hbq*2{Y+ zMeQ77b*t#+iv}>dLtnjF`IvF3VGar&1xxRhFs9sb;|Gf57CkKd{i?Vqr5j=Bld(PF zor0`q8@BEC;oP0<159(BYe^e2s4FRqo-N3!|Ma7XDmO#>9*D+OK>bt2@9J0OUj#-z z^Bsq}1v}wwEx=OR&0&jyjencWQzimorV;H7^np3b1~9>^hC02C15&6@W9pbV)>VZ+%3su6ZAk}L z(;GtN%J6GAzCp}*7sQ?;p~gTf#vN_5d&-jY<_uAEPTD?fXY`BJo3?A6bFJZ>i}*dR zvl~#u!xa8C2=n8{52n29h zO}5?I8%+ZLykumc<7_%Mw0n$aY1H4yJEq}!XD%K6^O9@9UaKwb1M^5|`)i;g=Bnw^ zTNzPReEQ9K!E?dpiyVCjs+aD%fF4(m$5;AiAgxw=m0`;tId_pctYMR24cZ8*B7PJg znl>=OW(!-o+liMi0Ez@d!BLkGSx6?gfl?Hl;gUW-H7eej@9`~yeyrVrxQmX88W!)g z6YuO^eqQdb6f?XZNjEXPoWFxu;@X(N{_)xZe^9-$b2%Bg^ulPGq8CCAC)~^?w4{Ry)<=VP5 zW<$=`?Zqyg=Y1Hs*SmmMG=nYtrCBkQc?)IHO*yTadHNS|&OJrCkYCLtOm-;!ys*j; z9sbXYGFSOdatehcYlA9$@J^I=uMk@Xq-TKD$M$7Sn^KyT)G85IMsrG(=+I( z2x$UoHYLzDVUx`0)tQ4bj%+e?j?BxW1*YnxJ5h`nf?lz<{|geQ})yDrghrn=;g7I)1y2_q50y#xB(rGHM4~>Fn+@@ab!fHpa(nkt|HwGe!d7| zz7>SyJ*DIW<=O>GKrKO3gau+wJ^>xWEMaOmfD;R797`Lv0AJ)lIOEqwWYAZVgd142 zZ!{hyntc2HB6e7{V6uw1usf#@KNGEF8f`5wc`eB7MTR zvEnt@e5#j(hH{2)aIGo5sp%MK*l*-?L9$?xr1TqWd9FqT#C|U)9^=7S(-B=}gB`Y6 z?f=(_oT!FcJq^QJg4^l-gF>)OUrBrKK&oXcO!9J+19GZfVt{3%&cb()*14}#9tr&! zHYcr8E3iK{g<{%kvjTaRxFNQTvqA;)c7X!J4pq^IIiGTLi})>bK{e!TR3)x~9(;bR zv^+=%_-569R=4`w0~eB0my_`hLZ=OOv1nd(0@dZbvOMe6rI+J~r1~3t65e_glCn1g zvA@f!D~d99CF>2?UtU5foDf>~3ab&^{<fVr7u-pD0jlP0CH7%`Vk6zBuC;|~Ebz4XR+N!H!RjV#`M z)%q9TR;-@O8PaolX3l(1D~qtZ-}=Q@gT#H{)?xCo5f45QcnfJot`}(#O_ZC@Xl|pb zD_Ei9NL*`__a(u1tgKDZxmevWAa=;g#TJ{R&&~%T#wlG@ zVspg4N^VScy15F+^=FROuC)RP?x6_QLBrv7^_r%}c^1Av>RZF9*23x>2+sB;E1oL8 z0xSD2=nx$H?4&ppDqw!xAl2N@@^Ut*5bc0@8-`+vv;(;dI1YV>L-Y6sw>}P9Qk_1mI+`@jqgl#_V60*Cq}3^7B1}xl0yu{F zzBoku_*T*y?lL8|c+G}{kHmbaAean*-IkZCGt>uN-1nF z?v?F2e(=58*yc<(jXN%B201?6c7uE-)L1#6KD5jtm$Lnty>w+ zP~Uc+R0!MA+YNmL8TfLq?2Td`IJGFuMiyg)@RlrfW=vDU36#`W-bTx^KjqTy`eyYm zxlt*QWn;9!iD+0ilO!!EU3w&am8wOie+RSc&`Tc6!&-0X5eJ5j2Dm>*PkL+J8#FmI z+|>1{aghxu8!y-17qF<_-|k!LE;)F-1s29ai0J5H;6O2GQ4?nV+O5R_b}S%~hzj?) z+#gYvD-D(R5X-9aMKj5*QrF)7@3#Lpi(FmCepa=KQXUSjn}gid*~|}|`{7fKh-K2n`P7PM3-@n)GPK~?7Z!4taDRWqx&hn`F`m0eNMav- zb+GyfdcjgW64ENT;*hKh;~n@OX1i5ydSIE49W@#Q&uCrNx}ITt!f>|`(Mo(s5-cKB z3~>`6;G=r4>=)Gvler08@ zumZwKnC}(==jP}Mp?6;VsrNqkk8<%LomQH~9tXj8SG+3(sT>r3-=jS5U4bcy`z?D@ z#BqADK>XE*6+{0)oLv@!hd^M9{X(G zD{5~K@OuwzzR?S^Y)XhNg1;O!OOB+DVMQRA3IOHUQCVp+*>ZZ&>6nQ;9&r2ZiHWj}SYHPT8 zN-icC*-y#tTxBaoL`@)*rji}`nhO0`2rp)o7_S8EjSDTgGr-C3!zBFCPAZt)p<3Qr z9_Uu0Q?-$!DfnAODz>G?>IPnE%3Cf1ha7K?Nwbhb1hWO9{B_1;*=?E^C9=^dIc|(J zRSrATwsZpDzS7)h@dcfPkfH>4R)Sq82HY2ugIec8*_Fge`^Uc&ZAxc!Ar|WKx)^>; z_UC^0K$Ul=+jK~0H#fLO+d@~y5I>|kBGAV#I7B1f>=0xoa{OXsTR zk8IFt2pry-&9Z6Z5^<6mJ* z7GZl=wKQ^k=q1ZdY6&tjqoHb^r+YwrkP}A2#8DE)oWpo`rJ1&V8U}E|FW8f_D?-n& zz6|pSIdT7H&;W$a2U>X|tR`oj*h)aR*+1caERA&Z9@5v-^yMw%;i~txPSthQhfQI% zAL!Lk9_zXAez{y)6=$ zF7RqLD55XFVcLCCu6DTr`#TNT)NjwSP}Avn6`MYpru|0eHCGI8JaY%wuL;_~EOWIC z`>yNh0`}>=r-(cU(NZ=E$87NM+(-C!{=_lN@WMYS9=KxMMmY$;fzG-@l<&-^ z%Xg5vOnMif<|WVmA)L0NMeSU4%_e>^h|CI|Gy!vQn&c^T5Ya1wrw@Jx= z?+Rzw@@noL8%7|`66lh^bP~*FW>97Oti*%J&O>5WI{DVFezki_urOnNtN|aQ1vQ+Y zWmVMXks4eoire=|!0dIF%Ir`Hf=o#QC_v2>w9*N{0}#&=yL_1 z(^q6eGVmJ?zxAJLQh67oI7i0TNisnGZPOKZA{BxDUunx{2T|VYtpfmPx{LaQu+w&g zm%|PIAGw?JZtWU*m3_VQ@HtnUpy4atNq<~9C+GsaI#v4q?POgIx0-urQ+CE%vcsqm zKiamqA`!aMw_4A0gJNkn&Hy1d>X~P2mL9Ace3B^TZ+@^#8U0eXj_{#1 zC-8|nFtWrciY?2|+H0{)frDRSi;I>S}oN*NW0_Q+NEP+h(wZtQCT4r$R*2CNlG> zga+N){HLjw$mwFY-WJKa;|cn%o^zEiE(?z3r6T;&vtMtt`4;p;&GvH3KbSCz=q(xt zTLniPD7_!A+HI_k+r8T=K%#3Izqgfs<=p*8IyGD3gy&CnR_U{9?0cS zLfN?8Y9?Y;jbcUQIU3tSx^*Om%re?s=3A6Y-J(1pi$^{T%dN8*nz*79tv1Fx(%5dH zTq1%-4#=KZg&Tt67hJZ{-ZQ>?w0;1Y5@M+0jlDG|v0_b7x^r^w6x-sK_%A4S%~HvBzm@j6Jq}rL;nuU#^f=~Elc4i#a*6#e zO?LHvC)s^hUF2K9*!pCI^fkpI{m1fJ%ukPI32r4=RCH(}wa8#|;$8mUe5UCZ9jDiK z+!=-#|1~Uj;OM%gBW>)g|M}5VTSEl70~f7Vk{>XoF2I>suUpu6saL!1Zv2~g%J{8I zWOg%rwKdg48TCsopJ&%BwFg=SPF#bz4U{gZA=+N*2#O@$*wC>gHC%EX2fdff|9i99 zw`TQfiJ*Iu>YO!LL(>lJLe3dxe)Rtf0#gy<4w*hgoTiSzWYn9e-tE6LPQ@})wUeLU z2^yhW0K1gbsQ}mp;hDGJ^8p9Hvy1z$s~63`IvitFl$(|=(a2q#8-GF>lU=v5^9fAeGL()AAtCPFbuk!GI{eAJg^UztL%cHW4zcli&XTR0{7YD5Y- zntz%pIU_VsjAe)1Jm5baC>s4mkEI9#kAlSwq-}WOO^i9`s#eI`-slplk8M}z_;d5i z`wDEk+#CFE1wOD(rl~zsqHcfDPA?D-7VZH_ z8ZIkDEh&e{@6!H}q$)_9g+)zMru4|y#g0q=Dp({7m>s^BH@s7e$3z5Bi~BE>;wgN? z8dAU|Y)g3!3-q^4n5c~ve#~`k@Tz=UXXT5)PAKzfgH=Z=_43L2ug74bJ@;oh6SdJ% zdgobE)5clZYNF(*1ZnoXTVbQ9vCqbT2-b-oelX5?ri_dBy&Ancf#7xfR9-NXb~exb z^rw9h$+6iNwvE|aIa$8}e%+*nJOAHTn^ua$+)}yN>WFeNCF&l}%7Ld6&ZY!>iJgG! z{0dnIde_l)>);;T0`h8y$)T{&->@V65gI?1$i8mz%Y`C4uk&;Ql-gRojV*qQD9qo% z3{{+i$dC{k;p+|GfR-A&xTaM1PZuBV^BN6#UI*mB_TNJIwHZxUn93LAc2?`FD4we6 zL5v3u818xS;VAS&yjr^Sdfr0UG=$i%LOu3V-q$v8=ik|CoM`LFN<68xf%A1;E2Zd1 zw$e%`#s3#D6{mK*ud2*TaUUu*v~T!4fM2LH_nu5;tIM~|qx-+8)$f<)5n?Z-n-5Xr z%ecQ@({l)-EAiHnwaP zJ{{`pp~2-54y=`nMk#yBb8Pp}b*5L>-ImuX)--oVD&iGN}p>I%PJ zxGHW^{VbXZi)#a2p9iRQ0p$S`NF~i*3kO3pO4#Dru#^eo=@>SV4Y4<;e4Iu}Ck1zgBDT6IWn^lNS zEfme~ztb=KRY z)PjCtroQ7onTYF_9MgR?FMYG|7Idy{!1h}Qu~JZ||4vWz8hG*_71)|LZS~stqTDz| zp=8B32xjwpIa1aZpYzzMuiOGEDOCHA5Q&;SimB0o$|2cQRmvAFQ0aUZVm z9HAl=!OQD?gk|nYBEI$GuCbU+J2H1ePXGJ`b3FhQ-P)Jm{xl%!B{)EmuSoX~en$R? zyw*&1*VWbCaS)yEW_zpWGh(f0JN#r7*xeYV((p(s!mEGjSgvo~@Z*AK%C||P;J)DL zIU9AI2&n=#!O?H@(kZo*6^!a4B{}5bZEagZVDeURAwxS^F!)qKJ ztUm|Ib`V!2Z-^$}#Uj1cXK%jsG}7Ro8TzNGlO} z*z3f*>C9ZTAb0G_h7aeKCLQ^0&7@2udQDu0>ig*Q*LgqoZS~!Hs@YnZf{L_Jhg5X2 zq4<~6#wK%}DxGBwlzCn|^f^&FY2EY2}Ke6Y6Pwo>O(^78cEqC}?(=4!}S(GvV9r#QxFyf(UQPQ0i zc~N^aUHeuh<1y57BJuD6#{ zNvZPK{5$TU+G9ABcM+OPx`RiISA)4o@&hU?ke$Ao&dxuJA&bsOhGX=crIm`b|9!QP zH%7xm^>(4l?fx$e6u|j|ktFhot**ou3l=4`H{!O%jXyVTdkdFFk^&DJipzgb-1g9# z+(hy6Q$r+lR`~+apiGBuMhDcVs`T%SngS>kQd8b$x$9r~KqG>{OyJt>MsQ zKbRa-HLsS^IC^-YavtRh0{YFU2U^2FH9Z?q+COX^3foJ6P%dblt5~kl<((#rE)aIf zJV5cwB@!rZr2%s9q&`koqwEUc=SSQZfR<~SxD4F}AZ~t)NOcuvu4@)7%)ExlGwBdj zW65OL(P#U}SAl1#imcQ%lys{6{yzxIhIpyKuH>$UH6&ISdSGT=9j9a2rryIEiu7=~ z0C*tIJxeqDQ;je*$t7gJ6X3iFH~v2h;GVy>7k876wEi8U<+XbGLDEomSs*Jg1YH2x zyO;zqR|{Td ziJKx&ByJaOzk#4Gej{&O8&<>@9`;B5x9$aAo>VNj93hSM&F53Q0*6v^U|}&{_i)Y? zJeMd%e`o)2ZbkN4CO`Ag8Ya*-r!$bHr%1E{>b$DRhYk-Vt_Vk@nxTWKuyDcxxT&#b z$&4nws-?ATEJ#PEDvAbVu3=dlm$_}&JInW~3ra6)bJYFKx5W>epS{yxEjVxYt$@Tc zD7X{({9M#0o{RE_D=9L=mw3{3to(3LSh(x%4{v)#s&yxMYsP??yX}GT{yVm>(Ir>7 z2$K-N64a?THy8V-{2yTNVbfZVkex{oV1muQYH5J#NQ8y2eEd~JqxfJ{)m#*(6IL;d zZ7)!(p=Qwe1~})RVO_;d1bLHUSh}PM#Z`Amzk|;25}BJJc=RwMOsf6J5_s8u5~`a| zK#G0PVYPTb&VsNvg8u;~3#y%$ia>-}+)S{wh(56(qPVTCJ2A;LOU(Xw^hGcVL}*Em zVe@vGg-?yA(<&%LaPBVB+9)ZcxK61fSCk;(fKFF(2XbX1l@@NTsdetZ`d-*c@R=Fz z%e+N{qIUz03!NIy@-;8QnJ<7GI3tzdeF6My;j;aOI2A0T3PG=}0*}|0D;lD1XU=f3{&6X z$^YVR-V4Wh-rB+Lt6&TTupeX@btOCR6a083^%?V5&yl0<6RVvsx|$2jQfBfvd|^WO zk4A3`|9R!pM0saS8B?;8);3|F_zk`ahw?Z><~3xmBKI4Bl>&lvfd1Q-gg){>o-)zo zjSETqy_d%QkP2sDPf)~^=DEBhkY#hDYl!04~lKgZhQO34e|x*u%EOg>0LXOLPY z-l|0ct&uh>X=_#F*{eKR)(>6xd4x)F1XKugmk#ZYm_AGV#>V83{ncbSO-s4dPD!SQ zGDb&IBXnMRTwCN#Wz1z%6Bu)Pv+k$B?5)}7zI+SiC&ffTS90Q6i1)Aegf)XJIv3$MSr~C;`njjG^|i`Ij?H@O30M%SkapTSJ1C5HDpE?f$$5oUfg=j{D3_ z|G3orKsgZhYx(bLPmVNg0Ynl-n=QNf$vTIFUei%OA4;R6)NqQ0Z1amD)lEvmB7&*k zoJn%Rwmh!~XG$XnVarxCRK*wgNi`sa;Z^M3Z>$qyYJt(PmLb0hY;w>n!Zv`a6)vXV z1c2?s51rZTpxU55rVX@0Z|IxfvB#?^A4?4AZ17TkfAAatVDrHy_oDom{gQk?xCyg% zvP8xCu1D;Vvv|sKK?7`N{i7w5{{@g|9A#zcdmYLWr!9z^8L9HO*skY(k6%c5ul96H zQz_?SE5iF9&U)7f>SMS0HBlE<=pp0h$IOq63;*nvbWC?}njTO)Y0p=L@;8rYr-mrZ zg2d^O;tz*v>)y;$PMngUhMjUIL`%4Gr+W>=ur5Y25&H~|c~KWLw3_1#lq9onG3T@} z{KAvTH9WOLA?$A|{%VS}NLHv|*I00i-x7GW!+;#I z6Eo!jTjlo^Np3+=Iv%(XM7(9)QNQ{0t(j7eAeFL}jn*^|8yUYRVA7z;^iuksJog-@ zVAnR{Zb&U#{Bg)$IpLR5L{bYfcFDGL-?>XJa921wXk7&V-tPuRN8wq~4$Z=LCOl++ ztJCuy@aaXc<#FzhspXwb{Z!Qp7bGYQgR6_3VB|l~SdX-(@3=$pRO$m#Z7HaE?-W~w zCkR{jB;?ATk?OxXAz^jiS}VOo4Xx+~f{ipy*A1j#?U9`TSJ8+Cvkyn?vD2oIos{Sp zHIyXTti-b`SE5tJ<_15SnXNX1$r+tmI2JNw7J&6MJ=gY^EhU-n8}9+xu~EEh^k9mE z*51``n6Ni=X~w#pQ>|3{lanOG{{r{B*yg~;uCtw`jRCj$Wq}f_tu6PioBeW^1W9>F z9j0^pakMh&DeFaElHHny12-?j&3EWz4ACjG^;x21kY$w`QMet6+P!6jseZ3!;39f{ zT(q{qZ4A1g;~zBlL;Znm$-E3hk>4+u*F*3DryT-A+}igB{v)nt z0s{RSnLQ*$tzqH8&KDNaYY&`UJkA~lY84EJj2yZQ9RC2Nh49jsaeC#_6Cf}xhJ(1- zDae%q@2$0qNCxCpI=i~-m%X#iKN~s@{mPNH+LthY)Z$uuol5xs!B)DdzD|f|Cm?u0 z^{bURWS7$_{5=AL@nhNUFppT_IVQZ8OuK=|$@dQerN;KJFxxveax8Ax?Q9shPyz6#;VA>fFjZMl;ww{h1t) z;!=XIvTSFoPMRGH#p1{k8e4eNle>N>-+#h4g%4Kjf=o zRUrkyG;2L;1r$SY(yyRbIBx_OrfYOaKOTw-++mR>iX4)+`VX&J zfjTsJW{Gc8Yz{nE`U&WKo*E~Zjo76m*CbGa%7*`mTm!jJ3EOmVtW#nCZK=9k7B#a; zE&QdRz@zoIs!rSsLn=)xll~v?IsEE;i)X(F^RAhwB|{mkOsVtL-0T=Q!}w&hbZnNY z=zYLW7SwGsf)1rkd+_%;tMsE61*R*J>YVFElMSFx%LU4=ySL4dCkf(rfT-pVhtJQ& zTPn?)i#`HRoOx@q&*AAd7R$D)Mc%nPc7HLhx98BmS*5z@qw#|zI;&_HoF5Z4y zkh#sO#Hc85VB=a4$l_$vrrsFaevmXKRrUg?=|<8We*fl#{*mV*D8YxT9(e~36B#xT zcYd`gbA0?1p{neGEzH15~$;%^!uG1|N07=ObZAC``2MJS3- zxbi$!e}+P`s(UA)gnd7Fs79OI^>Q?pYnJG7XlGn6@?DSwedfQ88#QTyM;zmaaO8IH zZ?eca@puEANR{aiVfAbH>%lUtEJLW|^y8HpfX-@)?fAqDD+peVAksy~K=GxQ6SZJ$ z3f6k|MS^z8i7h}j^7KtkC2kT8{qP5-R^meB6#ma>*`=*dPRi&={ojMCUC9vjS}*bXT8BgHr=9TQouzZ5I+eE zzsDo8fI-(g%vxTwNRqRZJ*8_Z@$}!A2VP+$I@jaW)}p%7AKz5cB{o^u8Xw@i$?gO6 zi))=9@#@>?<4ef;^ZuROD^d~ZfEoRHDkpP(z)ZvZO&>h+##=MUUTAS#jk<38$|>In zchAkG2)JdfKW-nd7tk+{V1Bgs-PZ#M+Q!vrZhE$>T0eEHwi1!~bA|N0;tL7}rA-QZ z1RxG<3+*BrKX?4y2SX#HGK~E8UBpT91<$TWDVB4GhdE`oE0R|I@q4T2HgkyfA!~aI z6R2hUCj#c?rNVf%*2cM5#*x0d3g5Bbilm7|9U1uhKcofZ)GmbG*=&C%Mp2=WTz_Ug zl#@Ds5msL*zHPf0;5TzE#fSO~P4LSDK-1vqt2!w@UfSXuir^;jp@QP~B09?W>1@6H zodO_NGn9rJr2s`EZ(~wLB0NEy66NKf z!w}XKOQUzBLj#-=z>=YG2}gFG#1Oe=DR-=nn+^jZ?TtQ_k#GI7D5Cb=muIh7Pc?LH z0Soj1Ilqrz2cb^r+LF@c2PR*9HAxK4)>%`)3->SK1BtZ*W*kHbv zAUiJ~M~Ep55TYCPY|W;d;xs}OwdjhEOCTSTbmXk`>#e%z94BBkQDoW}^4+?&TcHUy z1y7r!==<61Gm$IRsBHDdYfl`ctW-<~M!m|b>3?sPrMo`Bb0n3s^t5Tn6q<1vy_q)z zxY&UI#xPO03Y*{G>czHNP5{WBK$fRa|3M|jVInI^qr!m4V~;{Zl>0vUk9X3K3T+P1 zNq@D&+@8he7w-xJL9K;p4@7u;u$++6$%r8re@OCJyE*TX3Bu5sfm})Q@Djx5?FG~T~(Xjgp>;=O! znu=MWnKTRd5ScRt^36C^>3eTDnf_dT@vb$il!)l{ZzNoezC_E6l8STQEvXHumlAGu5&FQ}y72L(u zS&B1qPv;DfZgS$S#7mXUaf#;m(JOUd2unTVDikT9IvFv5Bj#u0q_1G?|6%@z6?TiG zolJJ5?yusbBgi6)gWLgjrro)IOgcKG#=z(t1fR54eTg2%=_PN*h(ll))&L5$I0d&G zgS~is3wO6kY&DT(rmWuD0IKps=QRS@^3576qh3s_(2TQ%PjI}R>phLOU8p1|E%WGa z**_gh95K8E$N=fvtiFb8>!m4A)=-KH1q}nJuVYw*hs83h%8~o59o=WL{F1Qyl-$hy zS_VaWgF5Rpu}V%Ex8NvQsTQ2rkx$7+F4`b*LZ$bp35CZgFFptRRNgxyIGFV~k|RpS zfm$s72`8aWGbTm6VczWa4Klr?&COZ(Jz&&!;y8_7F@^o|AS)#%RTw%0Um8;Ha^!Et zGfA@W*_|H*S?DbWrjjZlbBr@i6Y;P4QHVjiTI^iCRj;+@QPvg^Rb7k3T$dX|ds^Ai z>@(EvYFei)gqfTw<+aag&g8zj{B3Gfx(J_(q0B`l(5q=>;?sQ^oocp5(ESn$LrW{np(3)o^?j)HRA8P63W-I{|HTm~L0$jk{FOfSdG4Liuz5X^AOOa$}IPybf6vDoNLhzIle z{Ep#xnqHI}y;>Q(g6Jz1UmqB#Fi>a%DCNH!l4Z7J|4dLAtxCQp6|F{_ls}7N8&G27 znJTqo15=U~HESr^((n7u3n^sBUw;R)5z_D#*-Kp3t?USea;TV7(ds7MJpjHhdSPZ_ z8P{kEL+JxFUFuT9P_=bin;Tk^czX^6Chw`4`+cuzSoXp)S5KIz1ehmkMdG| zJu^4BDt^p3d~e4(M&;ymdQ=rV8|SAjU8`Pj!M|A^?s|=^?~Jjx_E!&!SECp*eQuH7JIqQ zq#Smf{VCn-@fUn(`.K3#rCTstN~(z3FIs2~4dZWzCMX@;8m@$ML#yq~ab{CuVpJCMS)6n1=CS#3ku2o7#1u!^dilj!6_&cI79XXC}PId_Q zBUPI}rS!qreXZ$ESJKm?p@t@*Cf~-wRUb;XjbYKc1cr zsB)dVb+w7$62VLGzP7RwvESq2I=pK`*5J-w0;9B8>~W5>&ssBdMjJ2EpCg+QZvH-w zV|9nyNHnj>i=QuhG!hO$Qrph5RyF@-4UdH;TcZkp&dizRU|<;+paoVYyjT+iJ#^YK zhuzg9`4U8KYIrQIwL9P-Us-yfyaig?*bx6p_9kZ)i6bV@2pd8L74cl1Fg;Am2E!p- za#iaXKcK{=d|`xeN2GHb5}JLJmCVV^hK_}IW!utPh6Xfo?PHGvqQ)~g*mpIjkzqP1 z$kouC^045=+CoOKet)H+9Vf#ns&jMl~-I#Y5jPuVr&WJWtx{n9z?ipKDy&6Jw z;rrl{vybt_s)~v7`*@HX$#VpL6eP!`6y%Gg69WOWc94=+H6co*BB$+kV(`c3=Q=hT@H42IkpSQ_VCG z4ZDOYuDl^S-e0TgLB2xD-mtxpzT=Ui;&lhC?%*b$W9;>n57)Bc?4r=wwX8LEB~RER z4^_nURz72+(-cu~R5CCe5uPYpgKvMf9t~36qZlWQ29|5G8ZZO~yu z#n{12n0PfP<`I>`DTg59>||GbQhFy<>ny7|KiyD-)-`d}!TBszM5@#_FoUI-Hn{P{2^Nr-zKu?O5zkBlh&q%%O7 z=oEB3$A1$YE%p>8OA841lHjw^CuC#GYJmAJ&Wf4(#ycNjE6&DK_?Evd&1Kf|3)LcA zDeg@hl&N^UT)UN!czxR$G~_M0MX<>#NW4h_T5cEd>S^@N|vbB8Vs45h&qPq{flGp zXT8*{e#HbHHv}R!<04320UDCn1 zoOVbml`>MPoTKEF^IDO5HUwq)fntwUqANUsVh(_qs6)%f+Zn@bcK%$1qPf(G9Cn0x_m zOnmtZX#fT%3Di1FHy^l!Q6G$D1Ape@5hs&GXF>o_2gCt_WaOU6Z-SCTK3w@1broRN zHx{hbM<&kyab(4`jkp-uzg>s^Hz(z|C*PQyIYdIg8tsqWM>2Yxo8QE*_J1=q+C)Db?BcrV~V0) z@w~!bE^U4Ot*SbIYry6-^Neb!3k67Lxk7TBQ{A0!_HW}rjSC_3f&x1R z0|c$1JJxQJP6stk=H5@6(yCZ~BFPydi(6lSkxz^?I-|C-^!NebueTXLiGayG3b!o$ zHBt03bqqS41gMTK^8oATVL&e*U#WgsJ6P%UPSv;m!EaZ>&V5~iy;oE!_I&mik3mn+ z*9k+Rt7W`zIfiSsRo18WIKBD&`QWXS%AX?clx(K{wU)&Yv1r%k4zAHWd~3SHMJew3 z;m4qz%2yJjBYx#P_871a3|h|j=LaDC#|7;C)IsS7f##f15xtyVe;AWK^|V$KxN%Sl z*=yzNh})RJY;a_k%|K@bRSiz#t2b@A=ei1oo_aqHx<&JLt1}}mll5jTU(b}7s^^;4 zs4?5u-A%#Np}JmYz9%3p99fKoAM|dJp1XZRZ=ZRRtmsO-swnw4v)4qw-%TKQpg_%j zD7+-Cp2M9Ub@1k}UfxoleJqUkyfRmD&`pZ#qWR9SULQ+$@gGx_C*oW`uhs{ix^Pso zEQgWiXbbsXrvDi>FNuB>$9Yscp|7rftPNlu2K`&vB$1&IP45@&(PowuPrUBb0W93o zIs^l)|Khg#Ih6m3jKR|q-CLA&rs8@(z1XI#BuPC)q?^b|&MJU$&C*C4Xuisgf7F1r z{h72l*1^ju0qAxFS31PeukKBA_}PGKhm=H(kKreowDa-sdPJ>2%$F3Fs0E{O@SsF@m|fBbb6xBjE+EtwhCT#Aj`S`9lu>8i>D7_@2i;Qstoo56-(EJessqEOks zYV+-9raWo%9*$*m-!}zwR#ObI~e{QEy%sFnATm!6$7 z09Gl+58%FaLSGE&IM#aW<6QklI6%+^KyxpulY1y?iaY*XPOH zXQ<0J+_h5mth_CX!ms|~r(y*&MLG{L?xBE_p>h%S%k1@LH#Se4uzu~IBETP8J;ga~ zVW=_uEOhV$$oPh+C^o*Fe&fUbq$T{_Ef?O7y5qAyLwvpw7#+ZqZ@rGZ}vys9? z4ZnYzOo%G@&QnFTJM6^JuoKcBTcqMUQ@-CW_}ef^S1*>%#w*WWG6WbdMQOmLeJ1 zP28?D^WnH5u~qDMT|rc8KC<_P`2z8sY?jrBd0E~$z*;eKUY*b{$=G+{0Y0m()#G5Y zW^~pqYBktp5vZnk<=MBH8MTez(D&Y_++8%lNxwaQL)Tq52VnOE^;qApK#^7iP~W97 zt~ZLE5{cXRlymvFNIEa&1xBmiYwV7S+~{8D^u66yuXdWpCeJ#N={MPlm(hn`Uk9Fb zRVq1sngs7oiM)2-0vJ|cM=M{s{{6_XyoIh?Sd9 z>L41Q-=w%QZ0s+pEk|CqTiTw+{pLKrJEd)O#kMWPlz&EIy3gmLG_#HGToJl>(!QuK zFzTm*>bj-pQrs}_mjOT}jURaT(m>etTm=kD_KE5}?VVF;7k8EDm4Yl+_E&aeUuqs( z_WiVznbyU#_>VAmEwo9cNtXM(_XsFsTTkD+|Ey7S##VdxzwC9cYB6|b-?0^W@QR(p zMmU~(^{X5>_6{YdM?I)F8mEDng&8n3ueJJLmA`5=myZ4{!}wj6+I4Yw+7&Kgvy=>c zP>uy&KBmcV{A{&^jZ^>re=^{<=;ph z=$yJsp~R$xB+^MvW&V1j$4E+v%j3k4SMedP(C;>EHr?czFx#U|kQ z7m*PA9s%axoPU2NawMcp^~%C?WYW!UVO2`v6g0hNMF%$ZMiXZD_KLswfJ`>pQ#u0*$xH&R;@75AjcI#UODXADG4$YCr;PFC<)nts7F<4@$A9xchcn&9-W zXxkuvhXFS;>y$7%(v5ZzcHezSE`irtw*=Vw!08Am$H~kk%GoG;>1wE`Wc4zwhWJBb zXG2xj`a6=lVpHApc?Ycje@zbhWy}#j)m-1NDsZXxP770I=1S0{SNZJ$Vvv0mkeSi2 zWzs9ZI98(`j&Aq91o)i_U8oxG0_}k5w@7U6*QJ)x@8tw$Qo5)Iy$iiXOGq8?dl;DN zml0}T&m9Xe@HA9PsY;O%>e^T9GX7?Du`|afQ2PV54|sp}UN=B@aT;Hbe+iCq-h7k1 z{J^KbJ|tI%uE#t;aAxN>kY(1FU=H{c9QlCul=gOVeMnQ3`_wS@NVp&5w-QJfdqhVJ zGfoZ~A$he(Vtr?O;{&pwW{1qXs-p~FVoYp?Dgky~b#e8YEAj782HyEO+_&Rfl|>Ye z|KICVoQbs#6L1T8DF?YIsWLhqVZN3HzoOrW<31*|6Q=VRha&4^pxuro)|#rbyE|89 z*~qkw8?Ed&f5Xon0Uew;ShOEi;9PgmMRY;>Vnv3Fq{O}0mB`BJ&KHI0al-I?{@smN zPcSML^KKDNwnQC@n&f8nxOzwSSN>245^BA?(s^=Qv+ ziZHffqfF;gKAao)evx!=-!F?=hf41VgWsnAitMF!T&Vx-_Y~XL2%yWgF7QvV5BG=@ zfy*&A)COzcXbsJb#;sFdN&SprtpxUA{i4miU>|^m#z&9)XSnPuRxeky%T~oLpOO~s z9rM+seG1DcOW!`HTbc^*yHv?aEduOyZRum&e0Ie5Vir*J87XMkanP~l2*AocY=c1d zs&wl*Pi#l%S9eLcSAREc`KmCtVeZdR{BL>}MmK+YXQ3_xIeAyFC8)({%3`RpUfhCkf2Mbu4j~g`=rkGfb5iti56uBi z)8QHqiBuf&_DAR#fq_mR2FajPdm7~>b$5<<7o0R|R1R0x0ZARHnlemCdFDz`jMtL= z!14(|o3EwQR8t;;W3;O33fF@bdsQpf-r&ilKa_@~;GbZk7Vf$;wqUPJXTXlD(yup~ zbzzb0y&`>6Co(IPd-DcE1TRX8+XXy0;vRUFv zmq|!tX)S9e2jr8uQ|wKs*b%58I`t9B)^W(Do<>vesA)!xl9Cx`i3-0g&AH*mf_$ku zoX&i_>H#lIX4@`6rXgU??e<%qjfJBj{&pxfuHr)a2tatq_IEX5akK#F6Gu@p;N-2^ zj4Nq39rq#>IE2hR14mdHurwEgCIcZ$$B)eXRj1w}NlLYWBesHoQ02!dYo4Z0nDgvz zmOvw7T-u*DF4$pA$%=JGk5~agH#rHQQ4`f_^d@vO>&Wh7W^%(KzsjOIWpUnmo$44n z6&mvIO)90lGU&~>g|to7$Rp8+j1jb+`tp&GmmfNkIiygpW1eTFTJZRVwIy^$BH>x6 zBHy~^II$S2V73V~BUJq9I=?D8M+>_iR^B%t5x8?e=I4EDraZkvKWlLOlq!gL7Y^V( zFyO#PI9;I^0nHxhi($DGwj}QwsBN6c4hw9D=Y*BoWt75}H>^f}J`~he46MrH(d-t8 zP7z*ma%&oM7|>J>89=`Rk}>QKWxh+w63mEtWkT@&rd?MB9P9-Q=_qPmWuFE(I6Sak zj{`HNAzxXGk<66Y&pz>y^p5qvmrz-`I(#i#oGZIo0)^M$sLg61M@hfwKIr#4%;0eY zX-0~}SL+GiXdEkdl%bP4YX%*4tz~L#ss&E4*Pf=uW1*_LRQd&D`UejA#&Yu(&YL%pP>a@4R#a<e#6K;x#K$BYQ#{Q*BAl={GiQ3Cw_r9Ip86 zk={S#7%UMhjt^X5m~4q;e!;JOcY~)})$LTj5(J6}2OtZ%E$r~^$5{ha!+8-z!8@F_ zMSkGk+Syv*`+jCrNNk_BLlsj;=j*0fnI|d%TP%LxN*8E>Z_u_V&kSl`m)NDF$Ho+DXdd;7tUh!8vJGX zHK}tN;5t~g+dmyx=N$*%%L1i}TJaH8s-`rYJkHraYhPXj3r&5{RYOP60%NNbD6Exi z=a!H9&4D!o{HJ!Frr$-gM1lR-YHqNDLL_pDfP^eEMJRFQ8>!Oo)@{zjI)e{Z>kxPJ z1r7S+%~&B4VIEuknnJQ3)|-H4LNu0wD8w$bq@A$O;4CWNyJAJoxrnWtUg3b<}J|L5)6OyN;hWf2HJ0_k` zWdjD%IPg-aR~0n#i-cphjlG(L+UuqXRAxc9ro%#xm@iWPDd;drXaQxTYmiT_;#GdX z%t%u{6|oym<$g2UVm&L}m~gdIi(oreFP#tF^M2LIc0JbPcGAZ7Z=x6nQH%`iD8jwO zAKaLQl0CQ&`0m%1uHKbnHFSs^PO~N>_gqkA!8rSqcqq5RF`ssTzNOYrXVEIhRe8Z8Ny9mKI3RVd53 zdXOVv$Xr=E&~(M2+-$oGObPm5QI_UAMzl%cxYsvd)?Q25075}Ing}>J+@l1of!z^B zyH>Zvxcohh0Vb9@5k8oOYxbia4V_upHr_FpdTtwop`w3p-QrX5;W>}6ap)bl1l;k1 zA5Fv|^S&qJ@*DjXmVt{eB7v)_3(6;F(_#S-0J|LP9(w_}=;01NoHP3RP|$oNw>5Ur z({)0B#-PJ`q$C|OdZL=2l!f(|Ch2&6Z^|5b7RJ^Q=WVRGHkGGr_^j<}c$DQe7VZ_s z_SU#wM4)GN=szY2zA%#)mT}plTNf!+gvu2wh8Hf|`OCePDbP)D5pLrkcS)OZ7kuTL ze`i8KXBD*%7gCVS!uU?Sjub|zk7^N+_8v+*zhVP+;bez3m>W~DLD#xV%IpJ224WxW z{O!l=rPhPgB6-cFrp+wbjTczR)REmwrGmT}8E+_2D|5!B7ZVtrB>InNLUw)%y0>ZJ zZ4gr_ouuBji;}hx2R<9gy&Xl|ZaCj+G8v+)WnZ3-{UH0zh|qPsb~baE;y*3TPXW&L zHoWR@U^np0cMrx%b4c4-5K|^E7iH&kO1p;dE3iL75lkbi`!^M&d&PT=G$l!t>~gyw z%|7E6`!$&HokA}&MKmZLAnR;p&l2&ss|Z{PDAc^d<#6oNebYp?#OVT7V%3Le64zWpWS<`9BU;QX$@Z1=B&?-Z8DE?$gdwlNl`Ha}I z2QTdrphSELUFGF~&T;Y9ky;@sd|qUFj!-#pO<%>CRzG^*Ijee z;kIuFd?N`ZtQ{}1M)4r^Wz|5V0F;vS`IJMnMYNKK? ze;CgLus3Mut(s4t$;N$6a?OmFu{ctLXV2YwY%%SIh5z1-UD5*kKdsw7zT9dv!~}pu zRtI+35NW__7f)%9iAJ{yHt+$ga(Wob*iIIx`LOl)rgdJ|TqrT8zm6fmAKjip+`$M@ zz1fd5y0uIHNlkF$eZg8Kkd&RUQ+IpLI}G<{a-A;6k*%hG3BTQQg^fL%aOn=Rah7E%DH*Kz<9dO-o#F7OG zj8C1-5Jb>dM~y^dfP!#@^s0uSPfK7e{G&%e}n5{o5Bo|1G@UsrTW;ii_L z0Bl_I1p%0zeHpX&t|&Fld-C5+d&G!iFFx{<2lVw?(G>&1-B8FUK9X0%W@@BgNBe~R zB!ur)iaNYq3(K(S4yqeA3VZN+>B&jsg{yt*MPZ#})+29w@oUvL;5f1g3s-k~*9Oc2C)whq&|R zE9Co~3*^HldxnFr%V;2&dD=<0jxf|>jR0M8uwAHApKq9o&mk^vGvU5yy8!Xu!fapU zX_ntY@!!7r@Q*Wa40Jhbkb1*=z_cP8vNnq6a)<0o_zDfT4BYK{Oxqqf%$S1x-RY3U z2R7`4@fT1gDP-9yO$9aBhudU~xgXTcB}jiFzm|U^?kZXTW^8V z**3Y^<$Tk%d8U+Y?$z>l zKASm@oI8l%#kq3j3Def#+B3XMDeub7RuPxiMgyxiTup^Pa330On~9=;OPI+V52M9Z zdWOClM9?nVao!T^>>jY<7RPOhot`sov+_!*Cs21Qh0w!lTe#cgrjw3C0=n8u@ETMz zD5qT1?J(FZ=Gk2wY^eQR^$nSwl}-2Xy$Z7t&i}b#^!#R-4L>g{AQk&>;qR7O(z8I?2xgQ5&oGhtf?)x%RaNslBqL?U?wx)`WT=P`8 zI-&y|3H50cUL?V1s-yrlo-+-KgJcA|fMgam!)(&*7~a zK3-(e1&1F7FxpqfbNwf{zv&PR7Dqq%);Phrt`+BwmeQcVt~J6eMe;@}e}`xeB(}ma z1t~WcCFpOv1<7=$^b1*u=`>^LI(I?W$K|+RmqCSw?(LcthqYrChUNMj31Fpo*R?Ug z3{$*SZ0FmEEfU!x>uHXmlNnmnrE#S`2u<7)1}~|r#oOU#0S4EUhH>c31t%qjBni-^K@f+}t>Dx^cFFFFz~jD2EW=IkeBM~b@IvGxy= z;Zr~vvR!bZ>knfYRZ7e$@wO%lNtP2KaN-EDBJ=M(1*^6sDBP+=dhmGFb_{4a+5>Wy z`3J!X{DkKQ+tOb@6s0Yu)Apx#8csSXP=I@%>m=D=q)TgTHYHYl4DdXhuQR2RjA(^ z>{L9#0tDq_bQen}*qQKJUO?t`&;IHtzfoZKgtey*%`~*#49gCNn1J~3u%GIqafSpX z)u!SyV(L^xt&ck@2@m&d@(r6J!7M92j<{w^xA`lU1%PMl@MN2iXcE5lsI)lFsk2$t@HgMSw)tnB(Y0PAapM(EX#Lsz8=&rl1>Xj+}L(xQ7 zW)H+4ohV7Y0qHz}T*~R-An%D36L>p_G;*LTdfAHD$r?b(s`7i7fw+6fxnZWC;uM+O ziTuz|vsSrxAe$d$B5Z*LKC9`+*_+N#x$P@Ig4@mXW8>T=j(_5;o;**l=OeomOm#V* z1+N$>-myAy)xgu6+o3-P1Mg#_k26@=dUF5)63nQw=nDQZYv(K@kUNh61Hc}MR7|`+LtpO zdiGbc!p2SVQL}t!Xh8M9{XpN$kfm^@9_066HXA&ex8eOrZ(0jRbC&l_v>s1bBD!Oz zXoh<99k($y!WkU>hW*8JFE%c%_T5!zR^zsZ9XKa7K!w~{T7c5S7yWS!n4n7NMu6~~ zw~)L3$*7BM@DlGZpACHNy*H;-Y>&6ZpL8N_5u#AS*>YxLQ?{=TjLuo z(N6yhn&Th4CAOwHjlb3(EEb zq;(cwofGE=F<%PjG~5czgk%FO_0B)y_YNjk39~kV8#OhM zF8?C)f8k^BEfvW;tCF-gi_=3>S#Hj;T|1prempqK@I`Ot#MbFn;le71Ys)`wY$|1$E&U)v^dw*F~-eKN^S%1ZP#q zKu3I2o?MYhrgKIt2)hMI%AInDP1DG1SDetjMj#Qze+{n{##MA z*P$a1_SGN3k0e3eFLP_STuN=z@y5J~(arC<5IIhf^AmOL~HxKW3}dq$GuZOQA#gv=l#1!dMYO z)LXtlx%0pOVmybhRc@EHjU2qogjk`_7XFbh%y#ws39O;SCkYJ80_Bo3v$QGD zHkZGJbu&G_*^#j|yG8Yhssn+NaSF6}`h6n6)`2K{jr-o%9XY3rjguXZMfd^iN+qRt77?2}qzttQy9)NfG1B>jwx)3h_jd3jGANxrv%M~cG$1p`Nit--HQs5bX1wBH@dSIHadHM!g_n|+GBB6b2=F2 zJpl`4pAZ$Lic$&87Tr--1A!6M4F>NbabsNxC)N;~^LK=`f~>93YoQ`V;QxqHgcHR+ zoY)+|hVW`OvcfZVI|8@Y`>`^=8U#lZ3WEwC@^eIt>n7(VzfAd*` z+c7ogD{+f@t061pt0^;Kkl$HA(g9Xl?PfvyYKzX+jj0N4WWcG2dUT71kB7KRwW@SR zGIYS$cJMR2d2h{~RKT(tiR?W9gQlQS!FW+TVAc}9t_Je0R%E`0GM#E`u}{!ldh0*H zjIXq7u=`CgcB8fMy{o7jkfwuMT{l$U%i_17XJj)Wt$PPyFkY|C-46#ZKS7aNq$>VRYTP5Acub+kq{K6Or zL|BP>afL@n7fCeSV5*pJ%Im?ABgY)1kkvSEZM!;v8q_*0xPtGQ+ z4R)EvCWx|lnS$0&u$fin7>9ftnR>I|itaC5fakGjENbvXUFYhMr>GcBj1=Y+tcsFz ziQT|y7hzN_e~$kYy$2@BG*Oz>u4<>+cU;^2_s*La zAr8QQ6C_nS@7d7~62DG;FNHV2Vu+ss2iKizB*5!*c)zF#xnA{&!?!d?9mde2Q2#RQ zHWJuvaeM^&aeW`;O)Xs|pWz`?0*LOVp64y_XSkn%zEN4Q$s2^y&2@f;=uGIy-9-mF zx|5@T4Lm?j-#;BnFrd@{eu|wDG#p9KdOT!stK<9i;86yj|BgVSs)-)djgd^mwu5Cr z^19qIjpqT(6zR5?PgmnAp;`SZHN$Ww&lfUNiDrsjfb{@+J!FQ}$}Zf@(8Dq?8+h^o zfgXCD3T558R(L*3{?N!0oWJu+Cb?mCc>L_<`N`0W=Gj1-sWi$HYKtm8%FKDis7{4i zcobtuk7}9(N;t4)78-FUtw8fpvQ9Eh2|F=P#u8Tw<-HJChNzAJZ3;1BRgk%?PU| zt;Dx843n$1=nk`Mz9*^|rUhHYnhJf6sR18j-v{V5_^1iDojqRQ48vPFG7~Jfy{c11%p!ct2fOa z&#CD`i%Ezs15Zi?jaaPCdE>tVlx{Cu%-Rx6%e=?dABm3NO@1I!$KK#t-hu3dwPjzQ z3nc6brP~AySz#l-??`jrskD4iCIjdK0jBuNeyE6rxrae&wZ7pK*;j`kVpkcloWz@q$e=+3=$c9a)ei;p-U6D>4Rl>lv!^~(S@I{f<2CQ0P|t)2R$HlD_u7cLAVg}q6(p~kpn zH)4V;)-jb$UEY&k-bkkAB4bBTJ1)@< z6E$rlcTQ`oI?haZ1o-Np>vhcSfiEowO*5zm2&DwUI7_iV0YI|r3bt{1%s-dH?Kl8p*Z$KB`&UKvnPzy2mS()HuIH8i?k)Wi#by9!tfHYq+wWDQw}Dc6`t)it_6N+9C|r%+XF;7P z`1M7v_|H6SgLX6bZl6-}^L~FqQ|Phng|V*j^03vAzsW7g0BGawDi=#;f_0rlkA3ik zkoJq~UX%a4N!s#=kNX-lPwY#BUm$Sa%tv1;s8vl$5_Ja{NT)lAwqegxsp+e0*?C4uS<&&7^YSe>tx zKn1|%ehz)_h8#>QhAewSZV67zBPVwN7;g)Qa%%RX2*sw5PL(2K=!j9z=Yt`O3H7Ir z+tZUmSbZOr+k5I(B*~+G&yEZc#V4~|6%d)q(tz_k&FI}{)Wn}Ko?j+vnAV4XWSKu> zx4wbBMXK!+bYH&S%apU)0`cMaM)e*)=LqrFvJZcJzh5JCg{GPLbx?I$Pvhoo$iFz9 zAEPh33mqdun#l!wDjL%fzpZZ^0{${quMxEJ6O41pJ|;)Uc57_U2o^PtpL3)?Vz0LBD*)+9Fy!Vp!`U%vH8_>k$V35p1wAN?p&)lSc$l<0fkyOl z1H&4gkOATq%+;wMSXHLqlZ^w;SV|%H0gmZrwC`AK!XG=j>6WbHdiJ4qQ?RIej_z;s zecn{#B+KMgz0E59?bD2q2xW*;sHo_5KV5}6>DDntPnF%rqdFc@nqtDU;88EP3>Lgr z-6hzE1g53CGb)FSQSvDXM%mpJ`qkb;9mzt5Ms`C*9}CWYqMwIstCV*oTT|6`uN7e3 zL&>HET~wrzF&<{7bnG;)0@yOZ&B{eLokxzxNHRW({-7>yMiKA{xo%}ZB;<+eZRkFG zd%|GvL(7Ia>OZ~VH@C6;VbRq*=~_-CBQ?+pI9JZSj1lHV5|5-k1{{*ThcBGAKe2fa1PwHL zXJUjITXjbD`@0y`I`2y&)9=@K5>)Yzg-`UnK*xm7=$+Hu5b^^!b?NJBsZRci%uUD1 z?WYXXQ1L(|KdjwL@b5@$`zwa1j2Ug^yQj^`&^&>AYl3ky2YxWp;z3<&gED9PN)}Hw zbfw+NAte#uj7uR^$!L+mrLUep=RBlt_2-rW8c3^Y0LFqdJ3>V6Vej62ZK^3Bb?0*Ov%pX=ym=z6bP2jhB4@$5tz%8F!M z$-(%znHne+LA@d?&esg?m2Ko0_L1TKSl^buicuZ)>jwj>b0b%-P)@!><`C)?B-M{a zA<(zHLHB4=HA|)jsNbub?q5L5R}4}JAGXvw#f0_0g?Bzo@W$g0s%njOZ9Ka8@$sa3e; zJ36tRUl<0s>zB?q@k-iJO(d$`)0BnnS!N{s_DK0f(hU3196`Lt)Juosg%m ze(===Hr|`~b@@4xd%NzcqDfH5Jnt~kH^$kpC4u~Te1b3c*0Ri~jD(p*-*=dv6}{c~ zCjQ&CdFnK+JPKwq9p|_2`|^40*OE|~ci~`P`HpT}w5iAvGS!>N?l6JBBOFUQ)e=Lb z?E*Wr-)+EX7Loiqs>k@}Ev~%KCs?`Va~`2;uyEjwp@{_f1jIBvcfr+9@aZ1Tv~*RN zOZYTE*D1X3TI9`L-ZC>UtN&cKp7;=asHU^$>3Z)Jo&$x`Jri+e9NBPob~Kzj?0Ene?iKo3?Y3U^{>NXpITqJqK(Lw_Vz6 zf6MZaZ;7<7GNkEOVhikfOaf@@WyH4H+IQ|GqVHGAFUl7gKw7R2)5QqL3$B|pspFe& z8k)Og35*!pVk!LMdDNgO5U}p7kgxheMGf{L2MCup1oF$T5s_}Rt&peb9*nqotJD=* z!URj+gb|HVOIYZrQ!mH4xp+c%ZE_!{heEUAW$J&4(_k+Fo5m*)Z9mrF#o}$iyGeYR ztVZX$f43N8P*I>Ds%|6>m(TgnJ{Cv9i;_rA;PYFPkZx#w^z2?xvob1{Sd@GG66Np$ zxj1F@b(p=XAPbcp+eqfl-LhuxMROu~Ef_}k1$Mhw4zu{(dyp2wP5?`6*QG~_EvAr< z3GfXZtC!&@dXX@gB{-ob+#3BP|A!@8#{Z2z-#h3%gc;Mn_s;I0 zGo*?zrTA(II;kq?M0&b@UmyNxO%gn>iN-8FI3tMW8fJCpY`vvQ%1TiSW6wa7K6_M! zqnF*-eTX*x{#W`!V7#Uc&w@gaVP4({-yI)b1$h%pSiwAq32Dx$nHh&nE6pB?s*rlL zRvvQZca=;XQ*P0We{3cKbsf^!$C`~0IzCy90#sasxcmHLibqBO-olM76B<9+y^+&> zY5$!JJb&=@$Z;ll36ShSsbt9;V6)NAByLGzP49OHRt~?O(y^Btt0`EL;nWiDC6EB`tOU^J;oDp2cch3p@rC+-#*ls3 zY&~w?TI!e_H{kBVc&4~i*gZBNIs~`N*z{m1)5P5}2Q2DByO1qL`D)kX=gxN`y2>|} zIQHPeMZQJzXWtf?;_2^M*l=V%iDk87Y>PWFYLl>hL8p_~txg?kUcc?u{+Zbta(8q+ zL2=tmxTN47*0=Q&Sw{MtRxaN6dr*COsv4^+(!c$#8dZ~`b_TJdum3LKG1&x_hS%4f zyRsu3cx~>IG6{9%1uvgD5EJLHpX_rlJZ_;Iz&aEEJ(2)@z2l+Dnb)pHyL)Q4>7M*% z==e({zwhw6qF#Z#q0q^3Y$CE?!H-WR)~p?dY^%D{PC$U+# z%YX|9VyP7J$6I%Hvlin{NEyxUpMWz#(h`Q>gTZs-U{67yTuqnUZ~TMC-V~WdV;9(o zj#OAR;nELA!!spZrsjY4p)W!pv~QNMn%fJ_mb1+&?C;ofPX7|w6A6BwujY522^n@W zKWAjYl8;^;-Du-?*r+RBiJwtXGoVyV>(N66&p@9Cvy%4|L zQms37*-yNQ&>xf`bazeFr0SRtIvBc|%T>=M2HF%xJ8v#p&(3XmjN3bHyer|o?s0)B zeX64!ntxzr_$rSz(XQ(|+O<5oT9>%-S1McDTqERl>5F6fY~L?Q4}t5$6NvT}nr$A= z0=GZQScauFdPAKjh7`B+qs?rL^;@D1gJ}mQLM{j2)|ptT)sU7qxBORfFR5i|sQGBS4kw%JH#1UZICCIuYl&K`$1Ui3Q-lzwMiM4(QSj7B%gs=W%(m{Z3pdU1`jx;PTQ}Wv}fyKjtnw@~Y15fm{PM zZP&2ext>xvgbDiUUBso0$YILvtt;=|C?0utDb20EQ1DoH@dti=dne1K-=7(wf$ug^7xq{!H2Hm;FIO$%QJ^S^^rh=M# zEpjt=gNfxgH8pOEWE{65AJxRA)5_xyO)Z#>9LH1xC8)A8WUvRfb15jral?NXb&0a< z=pS1{bYQr8#ww_yPyO?we!54hM;49oW{-bh>y_5>YWq>KW>B$@KA=l&^aDZ9zSMvG z0qU=b1yx6l07#(w)UAxF@5`;vU*Gl>>v!kjD!NRkQ$LZqIjiW!{B+A+jm4E)*IwEE z_D{?uWV^qjnsjPpMFCZ0%LyFWg|FH8w76q)x2MzP!CRHoH;8eYpH4tuHEI z4VjBERcbvTE(>3|B5jPZV$I0`6N{V`sChk$rsx)Fp{J_?^Or&F4pZdN96f2Uo~13l zp{;tFR3WFwNW6_>yzrjjCqV-hJ^-qYy3V2h)V?v0PLU(y;*UUFB;HQ=F3>|#{1c&X zN4#O^=V3n_zPZ-5dDssoYbSvIh@OEqqn2(%w=dNxrLXj9RZD=MZiGdjs>Q%l14O+I zJ%Lrn!+{a~Oyi&eG83%X%wR%~%`(-FZ@D@SZ8Onlt17)JN@chlXJ2@(PulrY<{i`P zPP_LI*+L($K!nfeOCqNGHf1v`r8rGB%(%Tu5t3IdnVMZeZO1RinmG^mNkhLlUtR2( zJvg+=E)n^O*uMA1IZqruoDiWBAz2_l(apIz9;mshCp?)PmIoz`~p4gh<%J(g6G z?gA`dC{N91p4vjl=%M%&p=5!=e-X@(Z4*i7-%7qmKNShzeR`p!U5Ba@;msh9&>9u~ zto$=SW`#W&y@Y4>phxg^bIzL^#8YSJ_1&F*g?MCp{;gC(?QiNlOZVa7RE70yNDgM! ziqV>5|7!|Wiq;=Kc;0??d6lapv`HbCqQ?J2dEAMw$aR$&(;$g)y|7vy>-{>1KmRk| zr1!EtO_k*ay)it327Od0+^j?!ym%^nR<)7y)`RgY0WK-MZ4DJv`znALtD*Uxcjp@; z{8#In1pX?knCDY>x};gTzS{nS0*3jN5b&e(`>lE#`Mi8z^xC8=U_fTg1iUlg|7beT zu%!ODjaOFw%hbwBbCE3@u5vHPtgO_iEVodZxivEfDo|OOxhiuH(lRRtZk*uWO1W^O zqM{kfZj#u8k)Y&`x*94rFrt-9?MK*Aq4 zW2e}TyHVg5trzjzg0fS--&i3oAKe6ppe1d9+o?rE=EKR^E0SL&a;(jLjw`^yxL9}5!r1W!3_Zus65P7&ZV>p! zs6e6Uir4=Oa8P+TU-;rTC?TI3*{Vq7IBCl6KZT?l8Nb~84~dm2KD70$VY>PKCt*MMvWXVfqCJ0_ zvu!_HK`{dBeQ4a%r#wDd@B*1{Yg>t&)sM7HbgJmqhTG(dn}|314>bPAE<1AxR{*-R z^j3II)r2i0dE38@_?s;F{pqo$+JCjvy2nhGJ!L_y-MkjLsFfSYIKNQ= z%AstVBw%$tS{n+QvWu9R66uUe<3vc4IWr<22;5 z$)uOaVEO>G)Zt3RwVNhN2GNskKlx8(Oo9{(3GAV8q^E|MiB`P$Q8}}{qT*j$@9>n4 zP#~bW)qF(z6QhS+7I*Dg*w~yI?coo^K|H&8ro|Dl86&*$%eI<&YnH}-(`?>`fym|L z7jfz#UTUQGK*m>3x-MCy8Tym&iHcvhK_h>rV$BLH%rC9ZpB3*NmJC%6MyiJ>Ds zSvPjGZgO3PL&mtZZ2tL-r*GvuzQ^^m+nzKQB9&5U6x}qVAW1w|g0s0$RILk0kS>c}__z;nq%u)#Y zy78LRRv{=pXc9!0%&fVJ9{D{uP(Nd|0V1x5%m*GugL_m;Bb@?-NeEgGXmS3fic>rbb$wN-68P<5LWKk}l21a+FT^)SnHedPyAq zs$wmcYns-5<*0Fq&($DcN^b@@H$Lv`z$Kf?t2bJKUhv6Rr8IAYWQHD%ot&Xs8MoYf zcEZgR-kC8_EVVtQg-*C<@zq|<_Ks}l33XnTIU6KKX;I~I#XtP_PcVbZRI>w?D4Aty zJ>h@dqRUMN=*h=dpNy#J#DYTwBl}$o&dEQZN2rE-M3 zs>-ubi>1AKX#;-NxV(wTSw){Z*@Uh9QF+jyyfMX3FX6{gW7V0x?qfF&8}~^a4CWne zY2J_Nw!fOBBtOvHRy^9X&sJ+95S-C|AU5g*p_42xSJ*IH@|i$sJ({z1W`R1_xLBai zbO?z>3$=kAg`pLA?!15LwY0Hr&GjrCb^t@Gr#jP}M}+!aPfd6|SM_43;Ku=2Bk=oh z63TK>l@^qqf=T)(yZib}*}r_+uyt7>we#Q&s&T-j-%=SS)SaCn@ARk#$xlrc zU(TxS$&6(<3&v34YZsfTV2*^gYZq~kCzLSiA5R8^7JJC<(9SF$0i0@MOo;oKji+3_yYmV@XFcJ2sJNroDc8F2aaCbfUK@GNLQ0UEW>__m6 ztJlPd%Cax`L|owDiw`=ziSh{_)$);xZnD)|J@Cnx#DL@F^sfum4oJxwMq#x!M-8`< z!qMejKn;H;p~p|jk=z;tR)N5X?LTi~k4nTquR0^sWqpuscZyc14 zTuX>v-FSrCPN%ggMBNZz4*+`f&qw^|XnAB|xZBWgq%PS^`k6fHg^|z9MxxH@Mc!Au ztUxX$@&T$7(v%ZN6?9P@fO;phskay&c<=OU0hg3kXTL?L4&iQUF%geTYKi}i2jp~! zithBNe9AUqCg(?_<_V;J34Ec?=PjLAawvp=j#5x)u_Xk+8AuSmE_kXED0*vYO8v0i z50|>nYzbQ*a90kbNsL<}cfDIa9Ce`G2Pp}6i`Z>raypeq*LypRO4UWz_7BL&RuxGJ z854Rp3mRaKH>Eok_46gqlkn7Jb`;l;I12W2{rjdb8)iuT~4GmB#&8iQ>1hSK0wk}Q>cHYUvOX8 z6RSVx_jAL)pW7~s3AO!b(ptovUz zQ>_PmWZ{Y9J^5t|7R%{4^>Wb@BHtU*zC!GJm}QJp#-*uo*DhPFfoV5?^pw2(99yoi zlJuW4d&MtkQVaV;FCy=-p+Ux3Z(_8bC3>aJ{e(d!ve~~i%<;qRsO#V^17!$qdgrro zIw?jYVWTa49(CJlunm-1UTpRrv^m7oO0Do6-24(%cq{B#XwH7HafeRxo|8!>0Hr-M zw7aWD4$rC=TP@D!XSTkQ^%-QfI{mt`PZf)Am*W@TH*e0z_F5G!0LI%|23omHxceLrtMsl=6hqt+dHKo-75;rY9YbSjde zW_MPB@CTpxChu@DXTMs2^=8Ap_B+w=Yw0iFJQ3NeZPb2_{A3$d7~UN=0{_mB0g9C={}JX{1vGSwz>P@X7HudNe%I@p)stgRflLZ;Oo=QW5e>{$(i8vK@d-K+Z3(8Y z?&oZ9##X9#Au@l!J{*nskoV6R*ojx5ofvKtspHNxOTaNLKQ?q)mm*wcg%6QvL3D6| z$T689BzlWndBh%JhtpN+yUb(b9TjeW@gxctl))r~b?gmqWL{r-*+86z)=$N5QI(s+ zU9rgZ8a>Xd5$~u%Xur&%OCLqe_>FQbm)G#=82J2w4GZ3T+{|)bJmlh2QK4OJCjm8N z^EQs}i?ane>r+s(<+%J-G)J@kFE}3AOQfL359Y2VxC-?L0}mN+!*qjZ{n75=WJCpf z%`S8A@pjq2)y5VGu+lAxq#1b zavFfjX=Iqo#g$;P1+I!??{Aeu`GMP6@J+(ugZ?D0U%1(zRP+J%-KB_A;)_qh$@$zR zi&ryFjg- zm1Mb4d8n}d)d}d&tGTcDfpTt{vZ{EAOkdnufo7qjTzj;j(fTL+Sfdy=GhH?Cuj&oo z9pgjR_)O-l2c2$LO&=5IVUn%5Lw;$Xnj@l5ASAR_8L!k2_8 z#t47rtx+8OXk>loc&xI0rV@qGj^hzT{;L(|W}*)d6@{TZxG8ykbN)Jh|CtsNmILlE zIx{A-1As#{X$Y_-o;eXY<$LlmryX8r!EfXK)j|ZKXa@exGZ8;>1ieS zLfo*%!~>;(kxg&9qA}UHrN1iM9p!p?#alTIBPv?5wZ?pe?OUti^pCuS6?O&251%DB zR+dfc@ci%`N_>C-vl=+5UROBLj1Fbh&|bu6Qk0Kg6}?79@dUH>KY}cjV zt7W$X0S$n%(o!GyY`yaE^1)v^u3>&w{-<5tIoSwhw#qBF*ahdX$%WCtdA?i3GVNl|%Df2cXMlkRh-2t}_tdde?)OtyqUt&3U_;I8< zd^tH;d-p4z!}pzH?=sbb;Bn_uW54Ugl4q};i?O$r95Na-gE`$euiV;q{TkoPhGXh^ zVf4w8KL2z;=aWJGzPYO2Rr9WB&XAVGlDfP4YHnFnUBIkz^GVL+wK2!S~EWXeV_-WW=HHG;?Lzw(f)H`u@8_U;SH}kAP z@M60CbRT^s1;+ZfvE(iAQ`}2>^&PP<>h~PUZ0N<{pM0g4Y~;o%e`NQil z_2Uzor2bW^-FbnBf94-mX$1lOYjAwvBha+_!S2>FLb-dsHWuSsZ)broWDz&T^F6tox;mz!babhIY7c04lNFe#*h)G8{Lmx*7Dqjocawd7BXH!Qi6VZV;yK5 zb&oi3b|f=Q!z|1`F+|)rW1L{U`<2##uk)tQw~Dxp`@f^{3&hjUj0G?Ly+5wjC(b)f?ENin-Ssrh)zLQc zbd9x>jm@rv$LS16S3Vh+>;FWy-t%SI3;A%1{=qA%KMmqc_h73^&V=3KJA1YNruPOS z$46c;ia)*RF2tDF@O;Le^2R3Rw5Q5bTn4K1Co|ohSs9>>f1<5KM+NLc>!rJ$dxZ}{ zTcmxPQU2!xpZ>XcW&wOcG{sAxO_l!mWw&WKoI-h#g=WT4sMu6sq>w!(%__(H=HG*o zzpwR!>V*ZLF<4{~dBFt3;9Y=TUp{r|oarzT*w+Z|n^B$r`CSQ^58a&9-1L7L?Qcv~ zT~e6N#YFr_u%y){!|By@C%Ta{5>0en^X~z$(y$5sgHXX$Fsf~n5 zA~Va!1fXam&rWd0Zxt@!;gxw903PWbSmn>0Aby=qCk_ByK(+k4G=ozv{PN5I`Dr=S z`k0i}EV_U!>5Qc82b{AG-xA}N~pAyre*qsd88;0XBLMgJqCjO%L0QWvs9 zYOL`W#aW>9)Q6_Zy&;Ncjao31Y%Q6aWNH)={wrdHDTWP@_FzXjBmc988TS8z0_Cf0 zq(c^v2QdrajdVmWDtOW&-n*7S+)9G{L%mz=M7yM9b{r*r2SKk#P;uX;_0-XrQw^D9 zEc+;d_an-7oV%wkw$cZ$t+@Y?1?7 zTm9Jpe{&v8sV@8E+vP5htDgw{h`-d^QAo7O51%u-vr+2XUg9IEi5}|(<4=@?)-a$-CuXQf)h=*5|P3niju#wGoLjoVHObVsaxjJHJcwQZM*LN{v9meuj zd4q!RB?DDxF-5f3YIy9hfac3gV-zUDSb~C+tt++uz5^P}pKK6CZ}fs+wc#({=PBp| zJ2YkH0(zhOitNu*LO;UlPzl1rC33fWeaClx%&CD1uA3)}s=D}O!4W9`-)3;KY zLcgX;qc{s=l>dFk7CNF``$oKXLr{BZMBG63DN4puNJv#i8=mVuJ7hp;oSHy6C(s)s z84i77cOn6bQoy?w+q%PJ7Cyt!6sf&DKe{fT*yNq4lE`8~#QVu0UG z{2J><_Fd0k8oe5MyD5VDUDLKeGK=I%MB>rBO(v6BStJISSg(!cz6VQCWE0$=cToao zFp~tNcW!aT_uah<>TDuc6DFg2TS7Adt*;xoWU~oP3JRHJOrVYx(QZtMCMc=_uy$z2 zZSm08#&R~ZuZK?^GWq=!OdCt;sk=P6%ryDbVOhj`JuW!$n6tZsR8t&M{I3#toolcX zs^}0ZP`1zz^?|w#y91B9J`9kf?jAHJ zr@egzQ}HObX@?eX5&!%}$A7eJfPYcHUU!4FXZ_>g$52^*@6vc^xm-&3+9`{UnJ;08 zu<3Hi0L2A57!G z-=W|RL|)g$xqKT!S{k;bc0=6o`<&f)aIZHYp7q-4JyG}mc~gLkh&@eo?WNo%_fyuF zxQIM1gc3H*V`URkh_`;KhO-n|8!oZ{7RMROpykjbB3P1Z69fV8E^k(ETX1WtY3iQB zMwOv7qrWRGnL=rTsm2rtOS33Ls9!@|pvgbov6W)+W6N+1)=;NJ74UU!G)DJI4XZM* z!)C+QOsr2yjYWp)3hxM?38s%D{gqUiv{>N~aMB1;Tt_R{ruQ4X#G7F5Ep|Q24kJ(* z=-NTVV8}?fwMQgq_JjUJ!f-;hE@}}Yf>|;{_{r^Ih%pU<=->;M6WlNQVq8=|MK}i@ z$*@c*u9Gg+VA&zZ^EE5h^dX?=iGDtXR4-P0srO;NC3=5w7<)@?O%bO$7x+#H**O=j z<88&r8!-)@O$uL8`jD>!ZivkmwG1(|?uGwTy_0QQrFx7N+XtX$Gw!<*3BfOrw_w0N zZQ-SDqQY4It!~nx$Wtr3f}OU~YcgZokobnnciJ7Ba@gti3Xe5xr;NaJbtK(n7WRBh zsjr65W`@I4iW`ut%jq?qFig?)+Ke?9bx-sU>22@RElx;vFaD+P-Z{_@i5V|dj!dOE zqIYclP_dP-JBb*`Te~I98;P5)4`MyUnvV(p%+m4BZ$cOlW~l2<+9zfKy=OV0zrAt< z#fyH`9{x%2?s~*uwtg|n6yDD?WeZ_X1q-@e6u~YucybNROknwoDxrSjaqcCcX)K1P zsiCz-u%V&+rq4Aq>mdN;CPsprX???5AbgXjwkn>bs`?zvizK>qlacy0z@2h#g~ghn z;}v`c=taS{X7=x!N4_9ABz~F(~MXDwJr#?4Zonml{AY-Cr zah5pAT~x{4_AjsvMwa;lP=Vi+S#1vkkjmsgRPg;WjRq0=QGz1q1YqRio|zb^g9w6V zdbH}YI(A|y4_`32=tIZ?oDv8fMIojU%Y^x8{{+19e5fI+<1Z?cxF&3c{o*7dk1<`y z5v$`Uccv&{AqqSvB-Y-6f$9ecQYIp)O_IRGvf*33gfr@;ChFxB*odRr;H&IL$1~p} zCTjg+geMdhjwf%PfJf{#1JI8JXqMW&Dg5AHm5cd+`MBN2I7BNR6V^wBVkZobL*_Cb z^`nX-cCp4`Q}UY7cES@k1-;(j`W+yqLi4HZvF$;8`2TeM>?k7O7z2WLW)LzcG2%0FxJM!YRIaGZ3D#xL^csGOUs^1fc`l zp$rV*H=$3Uj|wRMCkkA_-PmqOQtE?USa0%eVs9>FDw9wTrhLT;vWj~+c3y(MrSeeI z*!LrXIoe?~-3~DtA`TC~A%KyP0y|MkF|%ln&_R%jRr)LQ>fUB(bxdNN+|0)26ZJ$H zOOt;Q>MMzfpp06SwF=lz!t~Eu6vJ9jTj?T8HS~MqKADrDK`@7WggUQAsmawX4Xm@4 z@%H7~a8Idx#h;amA7)Lee5#(zLc!ic@^Kk(r4}8E2_DhjdwIg;w*PCG=N)Yk4?pMv z-D+1uJN5Y8XWbuv#*HcsG4jjBo>)lqC;WI7y>z{B$+9TiEr6#QKrxO$N34Ej#|gYa z%8x;*_v>Yt!}L27Smv(AKqzsk2aEWI!Z!f$4Ojwmq-cA{8-j8jBo9e9e2Wg`D^f^% z5muB1L?Ty4XO$O=bV*o9d>){({{;w-ss~D!BI^P6>*lS<4+x&3^LDyL$uNky2OzAPXoMwY^ILjvd|X3W?tnENiNrH4+N$Z+qDt9@sux&-$GWKHW&h3 zy9n8R_%YxGYONe#xHe2UHGRjSz#U=QksTXU9R`%H!0H!?J8k`BkLF<7P=zc99PMsy zK;gI{;suY)WKx^B4T!^b>M*!H<(1zf@9vHZAj9QEC1vjg3XG~2kUtidsrm;N90aO+ zlfBd))>uLE92a}`ocA|nI5dq#EvVCK*4CsoubEtAMb%G&o~~j)NPlY8y$bob@mJU& zvP*YIZSYsZShv82e!fJ)C+r#Y}IH? zn7L?Hu0`HZ+&|6VND%6y=ApDf|M}~WTQB}c{Cs?V5z0ghVDmh&<;sxMiqAd3Y$|lz zraw??5VWn0jO*bVY{q*Joq-(@{y{1W{uw8uDdE-l3A%DOiY)X;9qi=IaE8(NrA^A% zG?$$fU89K)6iBl;)52;%5|&#a2FIEDAjefnbRZVTgpqdQ@sFng$LsKZTnmnGCh(sZqj4W{kzCkD&vIMsyF9>k%_<<>q`-5@H za*wKQ2LZ=ADEihPxYE)@#p}-y@gbd2yhiPz@)-mu^gYw18i7W&#%VKeXT!upXN`@5 zk1Jh=b??=z6vNl9xw}l-0DUodB`_1(I|`*BdQ_+CW$!O0LcVJ!B0DX)-(%s@x2DWL zOx2myIDh)Pr?`9LzQ}p0&7Rw5ccXrdKgU12?5w~T54GYPOHH(0JvfDrTUDVvT>b8* ztULOz$2>7(7@qM`TEafjf3-bY$!()3A0 zxXMtm1cgmSZ(q;^&NfU|&kz2K;w7xaVV0%w+ANMalR!x1#nWm5Pmra=VxGzzqux+s z`3!{y%&tSEaOo%+PUj*&LxO_{uGS3IO~6p9L`3cLPheBttwv++(5r%<@hM)XE6pG-Jpx7ifNi zB-@YJ_@^@a5Wmn{;4cYz!$A#0qSF-E8inbI3R!J}O^u_y6t-A)(%cSf0O`ysl5m@Q zc*WG7HuOr>5vjTSnt`M7Tt$AJqqVFWBwR29|KdxiE)msa2d--{-BqFpEx+RCZ^C1d z(a3gpB)S}x`k>y*^b0Z`{YQV5!R<+wR@mxTFT~l3w(H=H6*|SAP}ua1kD*RD&~u?w zNSx5Gt%r?qBsOdZZ-TavwCQ5OZ(6;Z&zV=^x+k@YOOTL_+!R@+{v91qsNgU`wHr@< z=mMWY74T-`L<>kZXsW7044RKt@=)p|e0C=$LVQpryf5Le@6ja+>oGIets%19>*_2^ z^F#eZ2k@q%l^nRgC3J*saTN-e^C1y26h?+Zs@&JrluznJMT zMiV7`NjPo655Y2u>OxwTD1}VYvB3~d#L?w=9u-K(lV_(%DKxEG7CVoK`G6P92G#Eo z)=*f*Aq_HMzYak#gWnxir}Z*2meF$h9pB?!v!!)NK8!d9JPMlaVP8_jKD zcEM|}Z|9n(b`d$0^HyW%Y1yBcSiH&B43x+HL_v5j)V?g>M$vvwI^YQ2H&~ngi*^)m zg65gij6eF&W!*V4vwAnmKs@M*UbxG=!2|~Y!BgF9sURY;TL!iPM8tz+Z{inryet-# z@~1kyX9;kmn(#bV|9K0EAtC9Erz2{0M3`>D5G>7>@8~`}f!_>RB5W`I{CcQ!iszQQ zrl7WFrRG_AV7j0In|2@1B-0*l6PYs5FQtVC2nJ5V`UITo8MLV|w(cFWDjV!M7c_PN zML2`D8TO8Id<2|6i_>1mK%m!hZyqb>h850 z@i=fG@cC;YTUuxZnvWJxX`+!j8hed3EtsW=mZwnse<+*D=b}B&8yIIA>UiBLL@bXZ zq7m9Qc5PjH#A_Esp*WMOB_e0K4$9Ul3L9l#&5 zK{&QHF2@nH8A%N4FhMe9krtJR9YF}=Rnrf*rev|}ZFQ^&QXLIQFQt86p`z>KAQ9Vz zR^bfTxAu0;-qnpd>|#+JN`yy^Nbmq0Se>E=;CFrZu-*}QLx7vjk4$#hxNDJ1*X;>-B>a6a-^r*f06XYP~5fr{;{POXl zHwwf{#8vYIL_uLr|M#%=fNYA*Rv1fvrVyT+SqaL_tfYM`-|C`RscZtFNTN?P=n^$3sq zt*tF5dn23@?&>d?^k3;ku3BJ4YiJ>bSYi4qi2t4yA(*lNa!rkldnx(|rgjLDg%O=N z-7aiRfZK=v%$7k#qua8{@b`o~B9}=dVDkbeGC==1n{_SHgo}U&fS~a~s7Uv|kOV^P zYhX`KLHQhLwEHxG?YBj7`bwA>t;R7Fkk45u$PIl-pM}rW^}vX=auklY3eX_bfcfmG z04i_$ju0(FryE4ZIO>`Jz^;m4U(iHeC&+UVisX3k6U4InMCCj0W?7O+6q>Xt^&E;^ z636k@6hvKh3;aAy_`;ej@}~>o{5PREklPSaA0?pUMI%bAogD=D6k##|wb*1@wTjYT zLmVWuqD9=7)~(YE@B%7_MQmVA;BKu!xdSOQ1Pvox+CDjSf9=Va{c@Y4XAo_;X8Saw zVVjdX(l3Ex3+2}KLD|iqKgVcoc+nWtl_uzF!n*FNw+lqkeU^d1nyPh#ph+5jg%FVS zTExZtqB^YsUwQZ9b0F=U&nW(fu(X&thb_2Ck2^#E)dn6pC%(q6C&>70s)j}k3R(Q=7KEu9-Pkl1aytj0jTc0Yt4Y(%1Q(?g~Oe>*_i z1%{JSv`X9?9-CrNDmGe9gWK9VmYe zG!3V*8boUfxMhWsMO=<9NjD9TM;s#D+1%iP=kfvA>BHo5`rD=ky28DYqb0bVr*xB)1vYi1-zzH&N zINqkFXnHDRont>Kv;A%q9f1{iOGkj8g7rH7cW`3)%?=LR!b;=Mhh`hFO@v?&j~s$( z!;)s?akA)P_GDBY)iP9a-5WOwk%cor0#*A#S~U+HYR%qW_@bym%?YB$DgPDDI1!_* zjP}LSx9rw{Q3Ov^96_%Y4(MOy@$1EBpu+9+C1M{TU@ay=_+K`wo*7>Ujn@@o6CyAO zLnZ~)?0sSWA6>Xs$I_y$3m(*fwM1i&R%usEX>eq?bvwZYM=z%en+Q6f^-}3+!M3pu z&RbiHtkwwdho=XW1D+rjE<*n?FrenZXDg#EG{JhvGe| zLIQ9^6UMa4nz+?FEQ<@OH=?@@@v%Stc|0@S3Tu%pq`HTQDjGJFM-X}*{(h!gq^@p< z2f4d$MSuBawMH|2CwAoT6@B>}nLnNA*H<5A8P%NJ4?YI}Z@fx-r2x6UM&E!qA43J) z6U-8ZSnb3nv?^jFb>nRXdYA?$C51dAJ|%5<4~4*-`I|c$I@g^z_jd{2Mhzix5P@H} zc7OP+KH6U14N&kEe$Q?D`K%jjke<>t&b_p~h1Gj+W<3DR1aqiF5lO=KSaxPDX>rUq z>_&CO^1x~md0Jz;xkG{NJrl}P68-N zJFBaGd)9Ui@;Uex$z-K1xwJ`D*hU&T)?)4v!FNyS?f*R~{$;p`o|L~SE6(qTqQOmg zcgv~;(@tkZGkCtSfohS#0&Bu?uaqAEB>Q0rGW-)_(coK=x#Z4wj`RC$tt^&U9w%wql7AuL%N4qv zmm-cVZ92JIEh~p^YFJ;*ta$y!)xshvT3q5!M*nN^*U7JmPwyFp=tUQpr2JU7`g%EF zw^b+XdZO0QyQXh!%v3=0k<5sY+bU^0N^d#m+3b+R@$ysLRs9T&>YP6I&9F>l)E#O` zcN?zKl)QX^+?mN$`1vK7^mDn9P1kzbG_iVaeLcUjy^9;Xwi@=5c6Tc)Dwf6f8_(@y z%|PCY1tG8~Q?k^JYOQ->fKG9^reLFJ%!Nh#V+8Kk==>d_(P6V+l3lPkcI)45tx*2c zo%JSEBg4`AcdKqd&VM(%mu28_cIbeGZlm%Qa&tbkA7bbJ`Z-5DTkX^1WT`s`{>sT+ zYHB~N9r@jjerx%OpNb=?Qt*LVQ}nsG8vN{2ywM}q-Q|^?FtPOse;lR>?^1U3Y}&Lj zynW^~Xh}C@{|Eg75#3GKYJed=bl0Wmeeyopryo!r2kyb1pImue4Kn!AX_`JSxUKY8 zR@ON>s=&-RW;@fCa?wTUTk)u|Bv58Z+PitpP?s+y`tlq}D@yQr5=CEhTD<{k zCfNj4mBP**T^9#NOF-1d>%+OH6k@eP1$XLu%&$R(YIPil%sV@%(%C5L=arn#*mH`W z2ao?kMl9Cv)sU87l|FS`MT|bJ0_|v3U{yxg-^C554HO9sUaa28*o?R*vr87o4-00& za|WH3Sg$3kX2!Z~EEw-Bj_pphdMg5jt(aBHxcffA{s7Hw?BP%+RR{dsUS~~M{a5Z0 z4KZEsbQu{@K}tx{n{@u}JT?q`=)~vtc*Rt%lT|RXv*Ok@4cBDkSM_RV-&3rJlRsT( z_Rf#)%>)E_LD?+|+fX$@6ek&4poIT>+Is2L*V(pjlJ#oq&Q0S-H@e3I{@rRMkSoR$ zyTR{--o-To!SDFrTG&hW+FC&k?$3LFY&fBD{*fMMHxxnR7bA`v@VR#A(Q9j;eZKiG zyweYM@{Ku_qitTmXS-m(AW1-9(IF_+u;g_Pe3m-fP+ z?n=I%B&&0Czu@G;ukKq@9W>o5CrYZf=Cv()amd1^{Q@05+1*n?G;hBH==x#qgazmL@uRx@;+UCM?7H$2aKc;o7!lN~w%RFKa%A;J~Go>b{wK zXdK&fKLn!JL)&`1P>%Y8e3aN?>IH^3%Q&;q@nrOXWLmIe5FooLKYLFN00F09^DPuB`y6&;IhfOwSY-IEER4G@1?J0CmA z_b&G{fUoubyYS@{sY8xjDN8Ivw5zY^wlZjkTofs;l8BY)81qhAnj zOnv>F)%}JaTTH287~{8Vx%85@cSK8SA3I?6=a@TLqt_$ELlr2}Q9$mmww4q9Y;RW* zD()H+%d^=^pi6H)UPH{pk44*bv|$>xBZfS!$0G{%96$Tz^S=qlD=H;dI2P)mQ|L>& z74<4kZTQ18lmJedcO{$O><=9_U``yD2~$4D%WU6Z6(}Y2oCJ8}nIvw=4v~w!cKBWj zjri7;EnTST08GiSqUgs92 z5J%>p*(*i@A5H&8nCLP8jO(1urF~JFXf00ymF)32X0z^jaF3{@PMeMaSXQZ>GcAle zitZFeXo9}74n4^3f<2nb+0d4_;67Jc|4M22hmlsoFWM|Z?EV2Vj~q}Hw(z}Z`r-q$ zo?k<5Kqv(L$VJr|{ct;}&XHO&3UY_#8oEDhN0~qx((Z-@`d>fbB4=wQ?KCPq@piA| zA(@y1cS)~Q{+>Vv%;xI;3Xm_7y|~Nj(cec)?^x$Jjq-8j0Qk==%dzbUXXD9UN{74Qmr;96R0u9+^d?Ra`<(n3xS7Hs?sJ@S?rlit{; zw0HSJ3_t59;3X}`_WeDhi$1H@%&=DRB?_g{z$n9;wND$1bngt41Au1`R;L9vhdfHX@{y1=Kw5ZGPBws~Lb=P{KP0_{b zlvOLvCu;O{?4A=v9LvS@yLJ%#i}25}mRtAt+_MArmrE`;??ir>E-ROSXdm)W*@hAC zz(s2S20w-=e_bps7b4=RfB6;8W|g?WbHGXY1bo1&>KHtz8a08{f7-t z*yjw8ZA)Z&oWs&>$L1m$S?+bCI-h&&7anZh$gPy{LjI>#oH8z+^c_nojZMOPRt7uE z@T|OY6!OcJqW2cAsgk6_I*PTsBd*q+*qwGoV?3d@84{3ucCv&PGUUEj#$*vK{PC04$XmFy@wxKQ{v0a)UCEbD;px^!N&#rb4TB56fc*?rAiCOzP}vB)Y$ zLXA6i%`el8wX{}~(68WPQEvV2X*6#K`*Z=w3+a(hzWN^NAtUWc=N~xd^>0Oj7s!DY z3F)xmXqU`krWdz=clSjQv$UW}z63CS%jX~c*0GA1#?nv2VC7)<7M#L{rScJX?cG5g z{&y373@AlWhM7rwBMR(<-yJn=$V+k&Pvd)i1X)l1H5OEPzlSb6C@y~~zWj`oUV(L? z2Jjc}90;r6l5X2JiuTLM@A>57{FgLbVD|vNwvqmFZ>rA0p*Fuu64_9@BOjkPD4vp0 z(phQ zo?qX;5@)d)7A@RZ(UClzSZnnbf?c4mmMD&qQ9U`&maU!wOc9aRzvx!i)g;5BNjfNw z&4xLC>>hmr8PT;~T0fr?pB8I&rzhc~{b^_qIv)QHkCPJHmju#uL}QdNwly>5G0PXI zFNLFL*ZpiQI8=gphuH2*o22#IV%H9&(cc?H>~il)HtQBoAFZ+r%tT&|b$U5Z&fRB= zIL}R6s=S${}p`j>W+92 z!PMOW$mjvUylQ}M62|JCKm7e5^bEml+V&v!MuXi3u~&*)E&5fA|k= zvUc37nP* zeY$n!Sjo4h(5#IPX45>WVtIw$s46_rFcPU*G1_^tareN^rlU35kFYoDprOxRXUKC- zM1G$$7EW&#r6*kOZka!+LM%<+`ExSLy}#eDPVkIDhP{*OxV@~}<8Rktp3sNk@1q(R zf0=iJ82C!W&wp>}Dn5Nyhwge^vA88>)_9Wbc-u}zU?F8OGyS6LN|9JQFAG-aDrvDZTOeh(D4^@%mA7t+|s9paN51N%ceRl6u`@aP6 z(9T8m*Q(jiRJS-|X&z+zXn$L9qXkaoDZ6jsR8qyBP(FSXv-zX)wftn!3XIxQGnC~ zhl!e$FFm*X^&)=gEBchd&v28{_|GaPpW{)_N0JcRO6Oy z=`LvhiLuQ#;kJ+|(wrQ^R_sgDi{k;Nw!HN}!Omk(;z&&o@o7JH>Q!Zl`?)ss{7(P@ zJ^sStv~dI*`z{Um*L zi|a@(*|@!Rsdx!*k7tj8rxsZ4+u_+w!XLSOdhW9TRDj_PyCJXCjyc}cv0au_=mEYE zwX1F%zV!Ke$^O$%vaw(OTzO#@foJ{)Uw952J!CQEyRW{t<0;^S5t-EsAHL^pHO0Xj z{#{bP$GD!=<5d`ZBH8o&N;QP)bB~AAxpeH5eiJ+c-=o@TdC|u`aXlI6RpICP8|rVH z?x^JXoi4v-@R@^P9Kh@FM?}|08k2v@cwGT|xbi9;A*VdwYRp1A6zo*v45jl&VDl7{ zp0{X+D+?-C1!c7%&C2Q-uvjdlpX?}zm9uN4BTxKE7_Xhz@l;G~!dLPi)3}5=877tQ z*6}JlM+GPkT>Qg{Qzz^QJbPx(^#kz)e@L8rU1iGFC%9Ant;c@)@az*ExoEpbl@30P ztG?3w3%sDrXPQH}R`XGA|J2WfDGL(xv)OU`t|qq0OBz7fk;+)?kTyu5|KWM4A2^mR z&mW#!CdX5c@}PY9g`1>jl>Lf!mV6$7gPT&IuTCEN>eOj}iX-EXb)4oYyDZ7+>fxxrz`)s zxA~m7o*wWG-x12|Ya1C8JXC1zL3tqfC*d#YMpHI zDE<=-zTy=qb1)h_oR;G8Dy4-8t|1=Lhuudgs&!tobW>>U9^^O#cJets zS+XW>zqfOPiQD8&Tn`VkIB?*p$4Ro_`72jwVCOQyRYdjYr!OnNCF$rBizLuswnk&6d-RAME;QKioemY9ZJWf+ z=w#r=aRuc402$+e30ZoGMDgf3ooE^&V6&6lf~Wh{0eC#SqAzdgEG_hu^ELDOvh>{d zxEw3x^ZX6)EnRpKtdpO^ooQfy)+U`uMZYa5orZuFZFano#?E*T__IIg3|}U!*rCaJ z)UOMF_b)jpdc9^)rq z*aSWixHf=^)49*e<$k^)-Sd%b18IX;l#kQNliLezAtAz#_UM~$ztx1-sp5H*Udr#! zv#a?Qy+%iXCU3`qPn{eu^03Z;&yWA9l(&NXRG)j?GuSLj$cM?Z_~>U|V{dAz%ntDD zwBgoK^s-ztc$|}FyjP#36udrNX)lpE!P;VO^czZ4ItIew03eg#>=D&;BT`K@pi_ve1y=5*-~Z{l1hpUX~TCMR>cgg-k# z>f{7T$O@l$LYn|MqQuLYoHTLE0^DsH3~_cc{nSP|t;iqiGpW6#O~KY<|39aeBRa_pw z!}=;P8IFh`u(Q~BWikCkaO{!C zvn#N9TZcB04HtR-NyXqIx z-?y<9G-Px!fnp-}xFR2DlgQ0_%Lt$8`E0erY0t_dGx~cLvP+)D<2}xU#bDmhQA1(zPB|TpSKx8l4=vRHz+_|`^7QPX$32h7b*1jR=`)KK&a}

    b;>=H$31 z5Wyrbct4_7z_EAEPku}1qXNf4Ss9O1uQ|Z%W{=XHls5EZ3vX(34(B+tcyR9{cbjf; z-YQ{k{zAafuRKT~yfJl$UgyVF{0vyqBWdf0azO%!ZBRWdEbYu8r^mulq9Y3pyTaF00m2ZYH$xVBtiFi>)I#8t9XE#1;a}<#duP&hwS-P z>bHVdp0AQl)E0=89~;R7_bNv_jIU#7X(@Q#>eVyp`C(1`-la)&bQ4>zx8 zm2~8>BK{73uAIa13?8puJEUiG`Cf9oD+522f!z>wfzBKgZ+yrEWn|zJ2lSZE8#@UY z;L-39Y{pz?1@VgXGujQqnVSBQnYet@Jq?t9LDM_3d|=4~iVIHcfMVCIAJ|W)nE}Bo znn3iwSM@PAUd6=NaZ=Dh=NvgPx#dQH*JJR;&SNG-sh51VD=n)SBY00||G+Ogx77f@ z{B<)MtW+~tT(7=qRg6R9+Xfs0bn)SqI6w>Mw$Xq-t({by4+CC#r%aiVNgb~Yj^xKV zWSmn+;G;UFpmZkUoF)ciZ3Dbw2QD8D;`oZA+RZS0z@p0mIiIr?x3B|+`@IO_r`eiz z-`3e0uRHzhmyenJ<5%IJot4|)XjeG9aoBxo6P~S^!U95gb-Z==s*KbRnP-SSiNmtig6@ zC+kAsl_ulWac>I9+}o{cTg;%7ehugOS8W_V^0vwgI?s%Aw((K!r<&?o_`D!{NjBQ8 z&&&_vH}|F8f);qmn+h!EBIh_Pk`wuORT&t_B@VfqbZp5Wa*BZSM%Hii(W962))BiG zy?>eOt@>Mhe3C!YTMc;Y0%uU>3#OhyWYqPUJ=w3dWj(Qa6-@k?>uG3D=lR9)L&3%h zA<*Y#!9D)t>{}MO2-q4s3!BCWGF8d;E2Ami@Zh{U)L`RILV<}tDX!+z^y;Sdw>4R` zu0Wf}E=M@XfS6a?Hx(A~r!7tngRuY$m!~;iNW?K&1FcLdNPUWNktQ&GEN68nFKsE4 zAh+e`A;O(%KnL|55$ROh;4)@1kcrng(C_qi{P*gwReeC5H@=4^CLTE6sxJ8CLp)C6 z4HOSh#$*T|KI0gMQ+1Zv}n5(s!p`VT&mHNJMKHa-){4xE{-~GdL z_TjMCwXhnOr7k9J!w1=PE~h3{mIa5;?%3<~hF+HdKX|JExt`FDOb4=Sw=P z6W)06x;;Mh6*==^Ch$NvKGp8>Z3u+6^w`0IT=ik&fc~0x2ilrdtvKR$DPipStnELRHono5?r$7AD z3$s_Bd&Ams|8QFgPAP&WEe~u8S~PElRkQP%fNdawI6xC;g|kaoS=$GJ!7u$$9~ETB zG9Ni}c_I_&V`uV{dP|TU**8Q-Z7j!mF&gO8>o2@zbt5w-bJr1a8&{q5%dq!d2y8|jRwIvK9)X@UwGZ| zuy(nX&u49V1>!{96qU~`sU*x z!aw`(c~v!&UpRl#=!k)X!^+`j`CG>gT2>$A*}v@79ghnpM_{n?nxj0}JxV@8$X_kL zgK^R5^sqY1&O<&D^3VEWBp(T6aRTS=^cv+V!;U%@I__jQj)JELXmPxN?|I7k+oi`4 ztL1q$hh1)muRNp`++#Lr<8^Tjfou2+ZCw#(V95?GCI-IOf(SdhJa1MwipyWv!vZe) z$ZjKSkt0+{r(r&IJB^cGd)43*KJxk=@uGY^K3+eaS_V6ui5qs7RP%$#JUpIprrBp& z>9!BakxkF+PqLfyCzhlibfHhW`OGh8@8}gA&VRG>%=*CVi%-w;v>%)ec~rj4Uu9;Z z1^yw!<=)g?_;%(_%L5YIg)iq zL%Ig(nq0a?d;llfnVXc}Tz`QtgP`IgY1&Dp2@585!H)nA!TvahSZA3DAG7TUf9i?p zSr}JF_h;d*Auf=#TW`PlzO`HI09}}0xb8|i6PbJn@UZ+T=hTBYp)39vGUtceB#rLF zS&d=$wZrTR-?0Kk`VPn;-@G6rr*DPc{#yN7^!95_fT1&SeYD9OUBDYM`168Zhu%#8 zVJpiUOvmgMZc6Zn@ACV)IFsFc2=EHEr<}{qV6Vs@ZfTd;p?>%ZdbtE)rv3o0NOKM% zSNqcrKzt-=ymrryT8<~e9^pB=s=d6|;ru(`$#1XD zXZfq;4ZhN>zpXy}%KdF)TfimY1X|D={$Q)$&)KiFi5Kk*R(7u1BG97zMngTkP@TzCh%=+W#gg)`@k6fl#MJ*KIZ&EPjtiw$4l8lL4{s4 ziAmTyH4Z~RK0NaYk0_P@vj@?$IQ^3PJ&e;hGA}QoI?n0UT_z?tTEK#E_VlhB`c6rN=20P~|TE5%(vwS4{9RafPp$qhC*A`1JXi+~ea!H%Rs* zGC5d4ukcSPMQs6JM9z_WK}Mu+c0SW0s>BysYs>>F;a2O`S@Z=Z~K9-2Z@!J)*<-490WU zT*t&`@cE>3&%cZ67hUwXxE1F)__0w2JO91f;^+TKM^`EUkMvNUTP?Dv9q0UD{1a(K zI`;(f7r2$v%lYvIpPv2H@a5xXMVqMOLxG|CzWwGKduxI5BOm&sZFYLBHo^E@eRbM4 z$`guo$HQ{!C$2v{1BVYamggGI)(ywa@boIY4&SN?_(Mak->RQ8;pt!V9DJpo=KqNMU!FgEHdtJ`%MS4O-;j;V&V3$m zF!)2`o58bfSmu~vY>=*43B!hsvpV;d4oJRND>hI62?xQ4oww{x$?HSRLhKA@YH7s+Z#*@sIf!c7^h#WIDVIgxOhZ@C2XTB1ccK zE9s&QsQjn`%K#kJ4Uaejt-1^7vb2hh%rE{d@B@79j9_($2{`7bo_WN|f2h@6I>*3U zBwuSdtaPBa8o%shUE z(D`RK?r-G~;U7&2uemx+wgXyDoM7qE`xr6587KqGCXAKW8Wl~dE~7W4i&>Gr#{4*t z^L*x)(k;_Nz4oigC(b^`*64^cSR_BY&*1;@TciUz(=jkT$crhymC9uVl$?SGN}?9DgmJX#7`Jb|O8l_UJpk z0>&Z%yNL+Piv6>z+y9pZ#gDe^O{WXjiQ~d8Nyr=oM1zqy(?RpSk+1{*WoJ&-9rN_%(V}@Pf66 z*2$Fr@}0PkazKG3A# zZR%?=iNpecjf*P$W}=e;b@;f960>y1Ha~vmVVmgTZ7<)sjD9d?1TKNGBfDCE&zI=4 z!k`z%R3FS9Kl+g6Bl1#?7b5)r+PxSGpR5ru!DV>W-*{~24Dn%aWG|q&d z1jmm)E@zqEuFY1rsow$ckJSJ2^riI1^tIv7g8W0;3vzdU#PqhI2Nb)|ujw&6lHgAJ zmWOOWeaH7CH?N=h3tpjTx9iDUPndkp`1}Pm%8osJqoY%h4Ih1b>36SMdu3%MBP**3 z+B4ZPi3VRt;~$<>+eE!A_Q`1@Ucb_56R~G@IzJ&h13o*2*(8Xa@X@gc)HnUnGaB0pw>NaO zO0_=napv)D9Dk+|!w*$v`WGUWZaSI8DgTLl0K0LS+&r4i1NadaY=p!a9MeJ*`50fY z!@7jCJ__z*)V%(vKKQ}dmA8EFc}RU?<&e<9gaDr9h0I&7oXb0nSX7Hs-^2ox( zJl8JXETn8<;&xL@1HpTH1us4w2E=7B8`v z?IW>&yUhdvuZVGMMcj#XTEotd@SzTW*5|CMw>cPo^d%ahMYFl=D?}G zbuVjAo21dU-bTOF1i0aO+xi-cukCRsJflLq@N zEaT-+^;O|4qq~}aVSHh?Wnp4(9}ZsVByC%hzAv-WM%sjW=dz7J`zNsIL4Rv#ootWU z0+}vI0zPj6vDv3OZ|0MqY!q7LTiW9|T+TV1m(WPfcBF>J>P(amJs&q5W!nSk;JnHkQ_+z9+I00){bzXMPG9}DA^fAw}V~V zg2fcwYA>2Q6z))@vwHNYt8>}T1q(9!g6Lbmz@)faIDt#HF)A&pZ*?~Y3e$zT8;#iD z@>xoDbB4ijX{GfmWNJoz1t1->ZnExIQgS(8B z4nGoqTpwKjJf8Gp@AX3sP11kY_X+5~bu66TWZ!#l-y$&Cca;NMs{eVXe@pRm_n7*Z z87G3A!l!O?=9tBW*#7!grwlr)*2R;B^y{sFh3Pfry+mBj>sh(}8u%GPb}8UFmF3#K zUcVOk9g64Qt@4hw)8*Gb^f7_kr#u|p#quusA@LtaK11`DM$9pFE_fVn5InxQbgwyJ z&+dpJMy53V(Ld{u6zL9VGcJw*M-B4nO^)fBS4up!AzKFwcRi zI?d-uPxgret>xW1<34d`!n7oLPgwZVBz_PV6xOB9ER4j2I zabP<*a7Fzg8n}u@o+hPFg+KLLFai17$@NV}TBVRvuj)xCVcB9&iX z|DsM0C(8ev6%(aDcLu}Ke?<%l1oJH34JA+;>bkl%jG>$`g0YSCjD;eiwB4>X>9&18UT({f4SQ=Hhm57^T+v3 zu94-NlwRgXHMSZ4xc!W8AM^ATb;FDK^fHHrOE1^!wJd?(JUf{ISW;@T@+)fU&vsfa9?B7j!#? zec)5JUHSQXho~PI%j<8hyIpz5v~%H5-l<1ep zCq+NOzhRUy>UFzW4l5 zgxoGx=>POB9~97`RIW?xb94SX!!ySZDlX4*zq$hd7STTjePEu;Imf@k_kr;5s-HO@ z2gI*LcW?SKskOk*IZKJ0@4f5Kpf0I@4EI>izvI&v z=t}f$iG2U-fA~LgFDWDr)N{biwLW!^pY|fWSK*B^b$2n}DBGr4c~X{X%6%hLZ&x>E zt=O!!vW*CL?<<|6t6Z7pl?xPV)1znsq~+ZZbqxU{n27}f0x%vE{SoWFe|HU@8+@hYbbUUz%4%ZONP*^cs>BHQw)7u`LH*ks*HchUBw zZ5NAgR35v?u+?z3owz=uUKFjmvJ@|P!(HM>;z!JZsy>hwd#-AFipShb_Ozq=kgNEP z;-4#F!arw)-E0#-awUsU+&q3|49c;={28Ph`6I#4Ihx?-tgxG5`QbaHiaLgcKbXGd z2(B4FcBYl8EJcLX;`qAw3l;&B#rSxxoShZ?*M)Cg{eAE+s4nh89o^zZsp75=ygGXO z!V8!Ui{BXXFJoAaEz`$w)7!V-U>z`DKmJACXv{$M=cIRoSClI5`s#BkKcIXAGxdvn z^3GZo&l6L8D0|9Tn(QHGg>DW%{rJCmHhz%q69-}rRLvz$+w1#@5#8dk8_;cC(lfHJ!Rr(OeFIVCzy@@|!-4yvJ z&l1!pyH?`7EVM1@_E;M)m)V4%V4R6fEdmEXMn46Yw5$QOGF*|TdUK34kNnUZzwr=ipz zzu4c5^FtXQ zBBKzBLNlw02r}JL_t(>&me8GP1$7K3&ps#h}B~~B)WZI)t0S& zI6fWqHPk&_k5gNL4RuJ?J{tpOZACpEj)7x8n5)T~y86}EgLzw6beYAK<`{dJwlTL&6;z&jI0OJNk#^#ogvtC%PdU|7amy6CdEf?&?9nyas~fd$$cIV zhGT@puE2~?9`$w%ezZk+u)3Soye%quzGj>TtR$~(O*cD?`aFl$M9iA1nWt~WC;Ld# zi0tYDT03#I?r1CI)vHo!pL@QPp7=xawjkOWqY5J|HR*gv){}M)b=xWSN@y{YM!l@E|>G}(iikL;ooGxekN>F`o8in z&^@kxV_9SKZ=2*-(Cc*jwVnO-DPNYS*X!4~e(%3>txGp7D(!q+zOEm*{`4}v!_;q- z*R})Q;ct_Eii(O{Jzh^=!H@d%0^acHz2!@*uD53RXPRCs*TwY5^ns84tA#T>{pI#3 z!7uZ}<>puKpEmKS>A9Cr>FBn&u#$f$@+bZ+*3W`JhkyF`zkb#{Qu;|8sNq0pu4)qY z{n17UXW44AOII5sdm|O^yAmh*5(l=41Dp46+r*88OX5J{z-k;AyPGgJ{MD#sNZUR1 zDci2rcK&>PJlbKq?p$NgJqFBm@MV*DQ+KcWM;MZ|!)Jtw*CFhkuA`k#8->Ju6ZgK+ zGm6mr1HB@AHV&5p$J2Fd`Cy+$UB7(zO6DZ>!ak?Cets8|xD(^M^Ls;j9=<=lDS1!5 zUXEs;hQ6a`_WkD#>G}Hk%;#x?ejD8rk+bpH&bpn3Uaw!TwwJG)((|zMWdnS%9cAmO zch~x(efkxB<=ICM^LDDIza9!s>|YK>@T+~~oFk zzIwcBebxL!%b^N?mALb}ogCG5>S=#n%R8Q3%Wt$?C;!l2&sWidTK;sxd$@LYo9v{P zKSR$?ZkXS_^(EuS;h#R1cH-hHcPcO@P9bq%1P*MKYON8OHC8o()OH;t9T9?eNJ4C1 ze$g%egQoc2XxvNXLzXUAqtfUOcYFR@CVS6`P2_D02iEFF+==PB)_O-`wv#g?_`ZBu zT7GGU?$itcdI%U*3U&o%74N?B_0sJPm|weNKL+02vDs|N)p^mM|6M3v9nUVcY(p96 zuV1$Tr_JGj-2HEJSfrX)<-iq)jU!pu2$!xq!Usv&rTuLZpJnY<8~Klc{}6ap?PCl)+wiA~$D;W9 z=+^#F(@*WgY^kSB`F4S?L(8cN-Wc+0;(Ooc(~#S6dfu1c+gjfBVDI|r?$`FIzy6>9 z>VJu>6n2^e8VrpUMg%<;%EQ2&DB)X8_EsY|jM^nARSxW)&{xHHt^r;ZK$T@1iO*57 z5iHhT=|st1JD*d9o994{U#fXDIG$tIF*f{F8PXS@KIMzD+vV5_yu{5?WL54K`3C}1 z02~gr63n3^^K=g@>v{M?Q_u`=<+_I@eGaje@tK2=9<0oPMwvDytX#z?1-2Z$m1y1? zT51rfd9)I3Tb5aSIoUDeu7+!h?;Jnq)tF)?`6d0`WBcU{8{46Yo)eP3@4vo_!X0U! zWO?D=iui`F6i52JQ~n(Jm@!Vz9_>u6J@&WBznV_(ivJmv3<|^sS*4E zXpCiNp+h@7{62os24k!6(d86fP3;t4?P|GA;H#A@*E7U;1DlEAKw2EHrgw=C-H!*q zK76agrwd(+_%zQ)-=Q|#6+v0=Y>iixmYsdA>Q&xW`P#y(N zIXqQ_&S4mvxgu#*zOni{&~1!TxgEJ8Sh3d#-TW0n>#XBN_yl#_5`2f_TiS_>(DyZ< z(V0WoR}x2~YodIcDA~zOMl+-_09#W%2H@5(H)1Cn_vaw6dEU1c(oh*ENb*puOK^6K z11%g|i!57B^jP?h1$R7V7XG|1?tRPG(KrUox_bIN8w1CoVGa$i55I;i+nTPC+i&n_ zjmt_57#Hzza9)YPaWebL-#E|{)QAJ<(43aeJ%|d7a@(T97Fk9?Z4E%L!2K}uAM1UJ z?-4(wya!t1Px39Ssg-^g*^_-tz(2$-Q7iq38ika9lm2D>?U#RT*j>aJ@^^hi%}Ve$ z=FbfiBe{f66~CTw8(3_Uzk%P|gilZYBEUq?CjHeg{CEE_m^=ZLg`^+r*N?&FiMw7X z&%&SgZO{6auhX~n^TWB--af6ZQn5PxyNNgzp8}dqKqHEN<%w-jrI^Hqe_wX6vOiAcD1w9}s>5l{l~s99Y4Z ztdO-cWnR_r+D zz&1&LtGdf-J^}~U0dgE7TJdikqV6g;~AtwYbUH?&sK^RfNlnDBka=qmJXyPQ|!m(C2duX7jryIT38+*o`W1D~Pg zJ~X_s^zjg9L{{Y8S8ij-r!D=h`JVd!jqTGW<=0luDc|^hwyz(kEARHn*&=o6!^w4c zzcwzuxlV=Qc zQb-)wYYud9C>@Hd%)+ti7z^&o1Xc?4#jAb!d8gLCYz66&qGRAQ2F#Jj9}sNzQKtbR z0&0`IY+d)fnh(r{b%Gm?nAZGTCwXJlH5}WrSY z({&nrkjPmXAuPI@$tYjC!l=ZDozeq|j1@M*vTO2x`{e&IRGpP;2HWp?Fc6$k@ez(g z!4GgSnC;SsW%fHrx@aB*P78mN>cJ}~ey^$rgV?3q#j0?$sc$X);#K*v>HMqmanSs& z`=d*~+T9wCsZFK`x}Zl2+kCa|UkCb{$_0W8J~ZW9<@vDuyF6n@9AQ|v034R?w(y{% z6+eYyt9)(Yjl{?HasdIp`OxorsAu_3^^e|fHgz?}J_}q2usVkN)|yLH%J6tWVd(holEHa~RX(LpVb#(VhI@F1G`;dW3#@Y?Hu~ zYY%mfKu^AnQGRs4WV1p2^kodXlONh;KQyd94dRbF_G?DBzY+cHAbhLAuP@xb<=gq2 zdVk(mo_)(#{o2s*s_=)1k0GyN=|&^=$6vzl*7OYAez&f7%lW-8bd>FvzWo9{XH&zX z^eyb)?ghT1@qLNB>*P7GKiFpZ9PnW?Q+e40Gv~Q!r1&)WA(waOnDop9gKW?&p z7{niO25yJ;UBz}*|M3-L__Mz9=v&_W(NcNV`}4l?>|4GnkCovGz`FhMAo2q5NFVJC z$td2>zl0sQG5mh;HtX+K;`hMq_saSx8LnF&+tfF#eyykv{!M|w^xNy_sE{T69#|ii z*0&6wsiZ@v{;K@aqaOCrLf&=oN7KJ~`l|GB| z*>Q0x_EVXjx0iqY*IwI~FZ<0!{$;EDtN284e5=>Jr+ECVm=q3C}@+;&xlzyZ$ab3I8 zHCS1N577(BwdvM-aBWQ2&@0_xJ|uZZqpKa3W3tQD<;V$ayUI80Hhb}CML%7CX5y~$ zp*7z0CU;ogt?8_^=c(MpsY>ReP(B%H(>t~yoZDb7l5}8ek|kn zVt$1)aD}b#HLSB1pntr%{iwDl?c%-gQ#)tmaYZP!dxR)nP45z?pWyJjl&|8msQ+Q; zLxz~x8bMRwEw`CXxU!!|Kc*chX@Y>Ux@dxSKt$q~B{h8I`#=ZgJ^~I-a`Cj%U z`nS9MivC!OFMrV0{)X~LUFtvl)FXfXtVtUz zjJ@ePX+D@CU}h871M3)0j}QC3q8rJxBHzi-J$1XTp+9sh_QT&zRga-NOmOUn94FuY z*4XLP`emE+OS|ev#=?6DxZ}!m@f#I=@$XxHOn){8U$>dw;0G7WyDPufO?RjIY{IC2 zJ3ofrbme<}Ii_^_(>b+vb7$!tNUwL6ew%;n;nyb0zpxY6rpD#c($yxiC(j4k4jI(s z`H<{kfAv5PKk0X}b2{?-s0aH>*P?cbGwr5G_de?HA~{ci-c9N;b~JVV$Mg@uk8$N0 zCVHCeqA&h^%QxXQ#Pc!uItIPN;<;GfUHLi&-LW0Tc)^cO^$pN(r`}=Zk^E(ooYQk@ zT53;Q_9uGywE_IX&dTX;{^IY%IkYS=FkKTLOdqnHik((UlRoXNJxxyDl^was|4qUF zY3qJ-TQ~z%N?Yv~qHX7;f$C=64;=lJcevkd&Qv1fJsi%#Y9&W-8aizRTOXNT%RWI#K-&q)(TAqdffVyS`7Fz8>wF zw}E5x4=wb%xF4dvZT08S*@wQy^2R_Q_k+KvyvwK${)V7_9M+=xJa3!&wpHFSeNJ;5 zdOUAjzK$Q{+h%yn@ZVJWF6c{H-blF!ZS{i^L+VE-ctW5bzF~^bsb7g6WnL-&Htv{6Nz4s2Q1p+`Yk^j=nQ(9X|Fm1^L#nlhkTf~XZFzJ&5|*8_!Yyk zg3n{rvokx?R@A%2bTJAn_&T(m4<)Ce;KcMT=F4{2`!3ME3w(^_-bLS$!*0?E<>T3R zU%oCZ->bjX)35F7cy3qmw(0urdP>PIcAe|rMEU0Q+u~H|>yTn+iU+kyd|==o3~X{& z$ku?!$WPb3=YxqmTMA8fpZwoG>cgP}_Tx^keW!z%{5XP7eAsq9n1X%of*uYjhtcR2 zl3`)4{>oHl{uOWybT<_@G;E+2J026g9)9xCKYtb`V>Tug zyHD}NkBRGpP3Xxh)*7bgmCR^_oR^3KIo zE3YE8ihtL5!I6IUvaJ4I`~|gIeiYd6XZrB+E+CF8?~Tf1SM?=Z=n690A^G&=w-ukH zeGlWm4*upZ|E{zd*^S&)sCrH5WfM#M30))S!`|qJ>BpFz&V8gW*5gE9;DF1!dfj&Z zcpFs3+v7{|?_u9{XGVIxeqCCBmcjE^uVa-5uJexjYP}vOjo|U>HKc~$*seUEr+d75 z9XcI&F&?YHN1lD~>svm?+woWh|EBU`CvKT9ec^)_^?7i3)$1zh!}AYpLa5^9@m15w zAM<(D@?NiBo637VP3a5ED{*1EfbL`ZAyMUY`Lz@O_LM)d-j?{Ih{vnft>z!dW}%9= z$G0+F$o0XG(tXOuda#xJ5mKYl_t*dKe+Yie2Cpt%6JL16Xrg*BQM!v2^NGqmcejcD zefEE}c>7FW(QSzJSWl#CpIRqo)g|DwDTH#Z&KEL!n|cPV{= z>g@@CXkTkpc2DRN8TIt>T!c5K?`fs?cE%d<s~MEkIMMub0vf5Tx6;UDt;l=rLr+7kZ4@`s8YOafQ# z$F_t&SI*%m;gA@)D7`IzN_rK+Z(H8v>E(1ayau4JYyEBYYbgFX{iU6mJ3xQTUx}@| zeu~yPJzRnQq4lq={A2pN;6JqfxE`$qe|>(TJN@!&E6BG*7kZ|$y~+zlD!+pK;CB!E zrgZ1>DmW+qiOKKqlaKhBxS~9T#DNM2Fpx=xi4s0hvL~tHQzkm>a+op)CPX_u#1s+- z5(g3oT5@2heo$XHeap8bH)Ts47?lIP^f Date: Wed, 23 Sep 2026 16:24:34 +0100 Subject: [PATCH 108/310] fix: lint and build errors --- src/components/common/KeySimulationTool.tsx | 149 ------------------ .../common/SlippageToleranceSelector.tsx | 144 ----------------- .../SlippageToleranceSelector.test.tsx | 109 +------------ .../__tests__/slippageTolerance.utils.test.ts | 87 ---------- src/utils/slippageTolerance.utils.ts | 6 +- 5 files changed, 5 insertions(+), 490 deletions(-) diff --git a/src/components/common/KeySimulationTool.tsx b/src/components/common/KeySimulationTool.tsx index 626998bc..72958912 100644 --- a/src/components/common/KeySimulationTool.tsx +++ b/src/components/common/KeySimulationTool.tsx @@ -181,155 +181,6 @@ const KeySimulationTool: React.FC = ({

-import React, { useEffect, useRef, useState } from 'react'; -import { courseService } from '@/services/course.service'; -import { - calculatePriceImpact, - formatPriceImpact, -} from '@/utils/priceImpact.utils'; - -export interface KeySimulationToolProps { - /** Key identifier used for GET /keys/:keyId/simulate?quantity=N */ - keyId: string; - /** Current spot price in the same unit as simulated_price (e.g. XLM or stroops) */ - spotPrice: number; - /** Optional initial quantity */ - initialQuantity?: number; -} - -interface SimulateResult { - simulated_price?: number; - simulatedPrice?: number; - spot_price?: number; - spotPrice?: number; -} - -/** - * Key price simulation tool (#887). - * - * Lets the user enter a custom quantity, debounces the input by 300ms, - * fetches GET /keys/:keyId/simulate?quantity=N, computes price impact as - * (simulated_price - spot_price) / spot_price * 100 and displays it. - * - * Loading shows a skeleton, fetch errors show 'Unable to simulate price' - * and hide the impact value. - */ -const KeySimulationTool: React.FC = ({ - keyId, - spotPrice, - initialQuantity = 1, -}) => { - const [quantityInput, setQuantityInput] = useState( - String(initialQuantity) - ); - const [simulatedPrice, setSimulatedPrice] = useState(null); - const [resolvedSpotPrice, setResolvedSpotPrice] = useState(spotPrice); - const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); - const debounceRef = useRef | null>(null); - - // Keep spot price in sync when prop changes - useEffect(() => { - setResolvedSpotPrice(spotPrice); - }, [spotPrice]); - - useEffect(() => { - const quantity = Number(quantityInput); - // Empty or invalid quantity: clear simulation - if (quantityInput.trim() === '' || isNaN(quantity) || quantity <= 0) { - setSimulatedPrice(null); - setError(null); - setLoading(false); - return; - } - - if (debounceRef.current) clearTimeout(debounceRef.current); - - setLoading(true); - setError(null); - - debounceRef.current = setTimeout(async () => { - try { - const result: SimulateResult = - await courseService.simulateBuy(keyId, quantity); - // Support both snake_case and camelCase shapes - const sim = - result.simulated_price ?? result.simulatedPrice ?? null; - const spot = - result.spot_price ?? result.spotPrice ?? spotPrice; - if (sim != null) { - setSimulatedPrice(sim); - if (spot != null) setResolvedSpotPrice(spot); - setError(null); - } else { - setSimulatedPrice(null); - } - } catch { - setError('Unable to simulate price'); - setSimulatedPrice(null); - } finally { - setLoading(false); - } - }, 300); - - return () => { - if (debounceRef.current) clearTimeout(debounceRef.current); - }; - }, [quantityInput, keyId, spotPrice]); - - const impact = - simulatedPrice != null - ? calculatePriceImpact(simulatedPrice, resolvedSpotPrice) - : null; - - return ( -
-
- - setQuantityInput(e.target.value)} - className="w-full rounded-md border border-white/10 bg-white/[0.04] px-3 py-2 text-sm text-white placeholder:text-white/30 outline-none" - placeholder="Enter quantity" - /> -
- - {loading && ( -
- )} - - {!loading && error && ( -

- {error} -

- )} - - {!loading && !error && impact != null && ( -

- {formatPriceImpact(impact)} -

)}
); diff --git a/src/components/common/SlippageToleranceSelector.tsx b/src/components/common/SlippageToleranceSelector.tsx index f249bbf1..60b1f9c9 100644 --- a/src/components/common/SlippageToleranceSelector.tsx +++ b/src/components/common/SlippageToleranceSelector.tsx @@ -11,29 +11,6 @@ export interface SlippageToleranceSelectorProps { value: number; onChange: (percent: number) => void; disabled?: boolean; - computeSlippagePriceBounds, - validateSlippageTolerance, - SLIPPAGE_TOLERANCE_PRESETS, - type TradeSide, -} from '@/utils/slippageTolerance.utils'; - -export interface SlippageToleranceSelectorProps { - /** The quoted/preview price the tolerance is applied against. */ - previewPrice: number; - /** Whether this trade is a buy (computes max_price) or sell (min_price). */ - side: TradeSide; - /** Called whenever the selected tolerance changes with a valid value. */ - onToleranceChange?: (tolerancePercent: number) => void; - /** - * Called with the confirm-eligibility state whenever it changes, so a - * parent trade dialog can disable its own confirm button in lockstep. - */ - onValidityChange?: (canConfirm: boolean) => void; - /** Called when the confirm button is clicked while the tolerance is valid. */ - onConfirm?: (bounds: { - maxPrice: number | null; - minPrice: number | null; - }) => void; className?: string; } @@ -79,63 +56,6 @@ const SlippageToleranceSelector: React.FC = ({ const parsed = Number(normalized); if (validateSlippageTolerancePercent(parsed) === null) { onChange(parsed); - * Slippage tolerance selector — issue #877 / #784 trade flow. - * - * Lets the user pick a preset tolerance (0.5% / 1% / 5%) or enter a custom - * percentage, and displays the resulting max_price (buy) / min_price (sell) - * bound. A custom tolerance above 50% is rejected with a validation error - * and disables the confirm action. - */ -const SlippageToleranceSelector: React.FC = ({ - previewPrice, - side, - onToleranceChange, - onValidityChange, - onConfirm, - className, -}) => { - const [selectedPreset, setSelectedPreset] = useState( - SLIPPAGE_TOLERANCE_PRESETS[0] - ); - const [customValue, setCustomValue] = useState(''); - const [isCustom, setIsCustom] = useState(false); - - const activeToleranceText = isCustom - ? customValue - : String(selectedPreset ?? ''); - const parsedTolerance = activeToleranceText.trim() - ? Number(activeToleranceText) - : NaN; - - const validation = useMemo( - () => validateSlippageTolerance(parsedTolerance), - [parsedTolerance] - ); - - const bounds = useMemo(() => { - if (!validation.valid) return { maxPrice: null, minPrice: null }; - return computeSlippagePriceBounds(previewPrice, parsedTolerance, side); - }, [validation.valid, previewPrice, parsedTolerance, side]); - - const canConfirm = validation.valid; - - const selectPreset = (preset: number) => { - setIsCustom(false); - setSelectedPreset(preset); - onToleranceChange?.(preset); - onValidityChange?.(true); - }; - - const handleCustomChange = (rawValue: string) => { - setIsCustom(true); - setSelectedPreset(null); - setCustomValue(rawValue); - - const parsed = rawValue.trim() ? Number(rawValue) : NaN; - const result = validateSlippageTolerance(parsed); - onValidityChange?.(result.valid); - if (result.valid) { - onToleranceChange?.(parsed); } }; @@ -209,70 +129,6 @@ const SlippageToleranceSelector: React.FC = ({ {SLIPPAGE_TOLERANCE_BOUNDS.MAX_PERCENT}%. The trade will revert if the price moves beyond your tolerance before it executes.

-
-
Slippage tolerance
-
- {SLIPPAGE_TOLERANCE_PRESETS.map(preset => ( - - ))} - handleCustomChange(event.target.value)} - onFocus={() => setIsCustom(true)} - aria-label="Custom slippage tolerance" - data-testid="slippage-custom-input" - className={cn( - 'w-24 rounded-md border bg-white/[0.04] px-2 py-1 text-xs text-white outline-none transition-colors', - 'border-white/10 focus:border-amber-500/50', - isCustom && !validation.valid ? 'border-red-500/60' : '' - )} - /> -
- - {isCustom && !validation.valid && ( -

- {validation.error} -

- )} - - {validation.valid && ( -

- {side === 'buy' - ? `Max price: ${bounds.maxPrice} XLM` - : `Min price: ${bounds.minPrice} XLM`} -

- )} - -
); }; diff --git a/src/components/common/__tests__/SlippageToleranceSelector.test.tsx b/src/components/common/__tests__/SlippageToleranceSelector.test.tsx index 2e0cd20b..13e0b811 100644 --- a/src/components/common/__tests__/SlippageToleranceSelector.test.tsx +++ b/src/components/common/__tests__/SlippageToleranceSelector.test.tsx @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; -import SlippageToleranceSelector from '@/components/common/SlippageToleranceSelector'; +import SlippageToleranceSelector from '../SlippageToleranceSelector'; describe('SlippageToleranceSelector', () => { function renderSelector( @@ -88,112 +88,5 @@ describe('SlippageToleranceSelector', () => { fireEvent.change(input, { target: { value: '3' } }); fireEvent.click(screen.getByTestId('slippage-preset-0.5')); expect(input).toHaveValue(''); -import { render, screen } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import React from 'react'; - -import SlippageToleranceSelector from '@/components/common/SlippageToleranceSelector'; - -describe('SlippageToleranceSelector (#877)', () => { - it('shows max_price of 100.5 XLM for the 0.5% preset on a 100 XLM buy preview', () => { - render(); - - // 0.5% is the default-selected preset. - expect(screen.getByTestId('slippage-price-bound')).toHaveTextContent( - 'Max price: 100.5 XLM' - ); - }); - - it('shows max_price of 105 XLM after selecting the 5% preset', async () => { - const user = userEvent.setup(); - render(); - - await user.click(screen.getByTestId('slippage-preset-5')); - - expect(screen.getByTestId('slippage-price-bound')).toHaveTextContent( - 'Max price: 105 XLM' - ); - }); - - it('shows min_price of 99 XLM after selecting the 1% preset on a sell', async () => { - const user = userEvent.setup(); - render(); - - await user.click(screen.getByTestId('slippage-preset-1')); - - expect(screen.getByTestId('slippage-price-bound')).toHaveTextContent( - 'Min price: 99 XLM' - ); - }); - - it('sets max_price equal to the preview price for a custom 0% tolerance', async () => { - const user = userEvent.setup(); - render(); - - await user.type(screen.getByTestId('slippage-custom-input'), '0'); - - expect(screen.getByTestId('slippage-price-bound')).toHaveTextContent( - 'Max price: 100 XLM' - ); - expect( - screen.queryByTestId('slippage-validation-error') - ).not.toBeInTheDocument(); - expect(screen.getByTestId('slippage-confirm-button')).toBeEnabled(); - }); - - it('shows a validation error and disables the confirm button for a custom tolerance above 50%', async () => { - const user = userEvent.setup(); - const onValidityChange = vi.fn(); - render( - - ); - - await user.type(screen.getByTestId('slippage-custom-input'), '51'); - - expect(screen.getByTestId('slippage-validation-error')).toHaveTextContent( - /50%/ - ); - expect(screen.getByTestId('slippage-confirm-button')).toBeDisabled(); - expect(onValidityChange).toHaveBeenLastCalledWith(false); - // No stale price-bound should be shown once the input is invalid. - expect( - screen.queryByTestId('slippage-price-bound') - ).not.toBeInTheDocument(); - }); - - it('re-enables the confirm button once a custom tolerance is corrected back into range', async () => { - const user = userEvent.setup(); - render(); - - const input = screen.getByTestId('slippage-custom-input'); - await user.type(input, '75'); - expect(screen.getByTestId('slippage-confirm-button')).toBeDisabled(); - - await user.clear(input); - await user.type(input, '10'); - expect(screen.getByTestId('slippage-confirm-button')).toBeEnabled(); - }); - - it('calls onConfirm with the computed bounds when the confirm button is clicked', async () => { - const user = userEvent.setup(); - const onConfirm = vi.fn(); - render( - - ); - - await user.click(screen.getByTestId('slippage-confirm-button')); - - expect(onConfirm).toHaveBeenCalledWith({ - maxPrice: 100.5, - minPrice: null, - }); }); }); diff --git a/src/utils/__tests__/slippageTolerance.utils.test.ts b/src/utils/__tests__/slippageTolerance.utils.test.ts index 6ae36f0c..d5eb2e17 100644 --- a/src/utils/__tests__/slippageTolerance.utils.test.ts +++ b/src/utils/__tests__/slippageTolerance.utils.test.ts @@ -123,92 +123,5 @@ describe('slippageTolerance.utils', () => { expect(computeSlippageBounds('buy', null, 1).maxPriceStroops).toBeNull(); expect(computeSlippageBounds('sell', undefined, 1).minPriceStroops).toBeNull(); }); -import { describe, expect, it } from 'vitest'; -import { - computeSlippagePriceBounds, - validateSlippageTolerance, - MAX_SLIPPAGE_TOLERANCE_PERCENT, -} from '@/utils/slippageTolerance.utils'; - -describe('computeSlippagePriceBounds (#877)', () => { - it('computes max_price of 100.5 for a 0.5% buy tolerance on a 100 XLM preview', () => { - const { maxPrice, minPrice } = computeSlippagePriceBounds( - 100, - 0.5, - 'buy' - ); - expect(maxPrice).toBe(100.5); - expect(minPrice).toBeNull(); - }); - - it('computes max_price of 105 for a 5% buy tolerance on a 100 XLM preview', () => { - const { maxPrice } = computeSlippagePriceBounds(100, 5, 'buy'); - expect(maxPrice).toBe(105); - }); - - it('computes min_price of 99 for a 1% sell tolerance on a 100 XLM preview', () => { - const { minPrice, maxPrice } = computeSlippagePriceBounds( - 100, - 1, - 'sell' - ); - expect(minPrice).toBe(99); - expect(maxPrice).toBeNull(); - }); - - it('sets max_price equal to the preview price for a custom 0% tolerance', () => { - const { maxPrice } = computeSlippagePriceBounds(100, 0, 'buy'); - expect(maxPrice).toBe(100); - }); - - it('sets min_price equal to the preview price for a custom 0% sell tolerance', () => { - const { minPrice } = computeSlippagePriceBounds(100, 0, 'sell'); - expect(minPrice).toBe(100); - }); - - it('does not accumulate binary floating-point drift for common percentages', () => { - // 100 * 1.005 === 100.49999999999999 in raw IEEE-754 arithmetic; - // the util must round this back to the exact expected value. - expect(computeSlippagePriceBounds(100, 0.5, 'buy').maxPrice).toBe( - 100.5 - ); - expect(computeSlippagePriceBounds(37.5, 1.5, 'buy').maxPrice).toBeCloseTo( - 38.0625, - 7 - ); - }); -}); - -describe('validateSlippageTolerance (#877)', () => { - it('accepts a custom tolerance of 0%', () => { - expect(validateSlippageTolerance(0)).toEqual({ - valid: true, - error: null, - }); - }); - - it('accepts tolerances within the valid range', () => { - expect(validateSlippageTolerance(0.5).valid).toBe(true); - expect(validateSlippageTolerance(25).valid).toBe(true); - expect(validateSlippageTolerance(MAX_SLIPPAGE_TOLERANCE_PERCENT).valid).toBe( - true - ); - }); - - it('rejects a custom tolerance above 50% with a validation error', () => { - const result = validateSlippageTolerance(51); - expect(result.valid).toBe(false); - expect(result.error).toMatch(/50%/); - }); - - it('rejects negative tolerances', () => { - const result = validateSlippageTolerance(-1); - expect(result.valid).toBe(false); - expect(result.error).toBeTruthy(); - }); - - it('rejects non-finite input', () => { - expect(validateSlippageTolerance(NaN).valid).toBe(false); - expect(validateSlippageTolerance(Infinity).valid).toBe(false); }); }); diff --git a/src/utils/slippageTolerance.utils.ts b/src/utils/slippageTolerance.utils.ts index 6b29ec3e..e89b5b13 100644 --- a/src/utils/slippageTolerance.utils.ts +++ b/src/utils/slippageTolerance.utils.ts @@ -114,6 +114,9 @@ export function computeSlippageBounds( ? computeMinPriceStroops(previewPriceStroops, toleranceZPercent) : null, }; +} + +/** * Slippage tolerance selector logic — issue #877. * * A trade preview's `max_price` (for buys) or `min_price` (for sells) is @@ -122,8 +125,7 @@ export function computeSlippageBounds( * accept receiving up to `tolerance%` less. */ -/** Preset tolerance options shown in the slippage selector, in percent. */ -export const SLIPPAGE_TOLERANCE_PRESETS = [0.5, 1, 5] as const; + /** Tolerances above this percentage are rejected as invalid. */ export const MAX_SLIPPAGE_TOLERANCE_PERCENT = 50; From bed369b486a86e2e9050c2543495bf669b5d697b Mon Sep 17 00:00:00 2001 From: Francis6-git Date: Wed, 23 Sep 2026 16:42:44 +0100 Subject: [PATCH 109/310] fix: duplicate useCreatorDetail import in src/pages/CreatorDetailPage.tsx --- src/pages/CreatorDetailPage.tsx | 1 - src/utils/slippageTolerance.utils.ts | 110 --------------------------- 2 files changed, 111 deletions(-) diff --git a/src/pages/CreatorDetailPage.tsx b/src/pages/CreatorDetailPage.tsx index 8443cc52..c2255069 100644 --- a/src/pages/CreatorDetailPage.tsx +++ b/src/pages/CreatorDetailPage.tsx @@ -1,7 +1,6 @@ import { Link, useLocation, useNavigate, useParams } from 'react-router'; import { useEffect, useState } from 'react'; import { useCreatorDetail, usePriceHistory } from '@/hooks/useCreators'; -import { useCreatorDetail } from '@/hooks/useCreators'; import { useRecentlyViewed } from '@/hooks/useRecentlyViewed'; import { useCreatorProfileStaleIndicator } from '@/hooks/useCreatorProfileStaleIndicator'; import CreatorBreadcrumb from '@/components/common/CreatorBreadcrumb'; diff --git a/src/utils/slippageTolerance.utils.ts b/src/utils/slippageTolerance.utils.ts index 9effc232..255422d2 100644 --- a/src/utils/slippageTolerance.utils.ts +++ b/src/utils/slippageTolerance.utils.ts @@ -131,113 +131,3 @@ export function computeSlippageBounds( }; } -/** - * Slippage tolerance selector logic — issue #877. - * - * A trade preview's `max_price` (for buys) or `min_price` (for sells) is - * the preview price adjusted by the user's selected slippage tolerance: - * buys accept paying up to `tolerance%` more than the preview price, sells - * accept receiving up to `tolerance%` less. - */ - - - -/** Tolerances above this percentage are rejected as invalid. */ -export const MAX_SLIPPAGE_TOLERANCE_PERCENT = 50; - -/** Tolerances below this percentage are rejected as invalid. */ -export const MIN_SLIPPAGE_TOLERANCE_PERCENT = 0; - -export type TradeSide = 'buy' | 'sell'; - -export interface SlippagePriceBounds { - /** - * Highest price the trade will accept paying, for a buy. `null` for - * sell-side computations. - */ - maxPrice: number | null; - /** - * Lowest price the trade will accept receiving, for a sell. `null` for - * buy-side computations. - */ - minPrice: number | null; -} - -/** - * Decimal places prices are rounded to. Guards against binary - * floating-point drift (e.g. `100 * 1.005` landing on 100.49999999999999 - * instead of 100.5) — XLM prices in this app are never displayed or - * compared at finer than micro-XLM precision. - */ -const PRICE_DECIMAL_PLACES = 7; - -function roundPrice(value: number): number { - const factor = 10 ** PRICE_DECIMAL_PLACES; - return Math.round(value * factor) / factor; -} - -/** - * Computes the max_price (buy) or min_price (sell) bound for a trade given - * the preview price and a slippage tolerance percentage. - * - * @param previewPrice The quoted/preview price before slippage is applied. - * @param tolerancePercent Slippage tolerance as a percent (e.g. 0.5 for 0.5%). - * @param side Whether this is a 'buy' (computes max_price) or 'sell' - * (computes min_price). - */ -export function computeSlippagePriceBounds( - previewPrice: number, - tolerancePercent: number, - side: TradeSide -): SlippagePriceBounds { - const multiplier = tolerancePercent / 100; - - if (side === 'buy') { - return { - maxPrice: roundPrice(previewPrice * (1 + multiplier)), - minPrice: null, - }; - } - - return { - maxPrice: null, - minPrice: roundPrice(previewPrice * (1 - multiplier)), - }; -} - -export interface SlippageToleranceValidation { - valid: boolean; - /** Human-readable validation error, or `null` when the tolerance is valid. */ - error: string | null; -} - -/** - * Validates a (typically custom) slippage tolerance percentage. - * - * Valid range is [0, 50]. Anything above 50% is rejected as an unreasonably - * high tolerance that would let a trade execute far away from the preview - * price; negative values and non-finite input are also rejected. - */ -export function validateSlippageTolerance( - tolerancePercent: number -): SlippageToleranceValidation { - if (!Number.isFinite(tolerancePercent)) { - return { valid: false, error: 'Enter a valid slippage tolerance.' }; - } - - if (tolerancePercent < MIN_SLIPPAGE_TOLERANCE_PERCENT) { - return { - valid: false, - error: 'Slippage tolerance cannot be negative.', - }; - } - - if (tolerancePercent > MAX_SLIPPAGE_TOLERANCE_PERCENT) { - return { - valid: false, - error: `Slippage tolerance cannot exceed ${MAX_SLIPPAGE_TOLERANCE_PERCENT}%.`, - }; - } - - return { valid: true, error: null }; -} From 7f6e343bdf9bafa21ba328966623c19401e80985 Mon Sep 17 00:00:00 2001 From: oshowunm Date: Wed, 23 Sep 2026 21:07:44 +0100 Subject: [PATCH 110/310] feat(dashboard): add buy cooldown configuration to creator settings (#889) --- src/components/common/BuyCooldownPanel.tsx | 132 ++++++++++++++++++ .../__tests__/BuyCooldownPanel.test.tsx | 94 +++++++++++++ src/hooks/useCreatorContractActions.ts | 25 +++- src/pages/CreatorDashboardPage.tsx | 20 +++ src/services/course.service.ts | 6 + .../__tests__/buyCooldownConfig.utils.test.ts | 74 ++++++++++ src/utils/buyCooldownConfig.utils.ts | 72 ++++++++++ 7 files changed, 422 insertions(+), 1 deletion(-) create mode 100644 src/components/common/BuyCooldownPanel.tsx create mode 100644 src/components/common/__tests__/BuyCooldownPanel.test.tsx create mode 100644 src/utils/__tests__/buyCooldownConfig.utils.test.ts create mode 100644 src/utils/buyCooldownConfig.utils.ts diff --git a/src/components/common/BuyCooldownPanel.tsx b/src/components/common/BuyCooldownPanel.tsx new file mode 100644 index 00000000..dc728c61 --- /dev/null +++ b/src/components/common/BuyCooldownPanel.tsx @@ -0,0 +1,132 @@ +import React, { useEffect, useState } from 'react'; +import { Button } from '@/components/ui/button'; +import { + ledgersToMinutes, + minutesToLedgers, + validateBuyCooldownInput, + MAX_BUY_COOLDOWN_MINUTES, +} from '@/utils/buyCooldownConfig.utils'; + +export interface BuyCooldownPanelProps { + /** Current on-chain cooldown in ledgers (~5s per ledger). */ + buyCooldownLedgers?: number; + /** Called with the new cooldown in ledgers. */ + onSubmit: (cooldownLedgers: number) => void; + isSubmitting?: boolean; +} + +const fieldClass = + 'w-full rounded-md border border-white/10 bg-white/[0.04] px-3 py-2 text-sm text-white placeholder:text-white/30 outline-none transition-colors focus:border-amber-400/40 focus:ring-[3px] focus:ring-amber-400/20 disabled:opacity-50'; + +/** + * Buy Cooldown panel for the creator dashboard settings tab (#889). + * + * Shows the current per-wallet delay between consecutive buys (converted + * from the on-chain ledger value to minutes, "No cooldown" when 0) and lets + * the creator set a new delay in minutes (0–60). The minutes are converted + * back to ledger units (~1 ledger per 5 seconds) and submitted via the + * `set_buy_cooldown` contract function. + */ +const BuyCooldownPanel: React.FC = ({ + buyCooldownLedgers, + onSubmit, + isSubmitting = false, +}) => { + const toDisplay = (ledgers: number | undefined): string => { + const minutes = ledgersToMinutes(ledgers); + return minutes === 0 ? '0' : String(minutes); + }; + + const [cooldownInput, setCooldownInput] = useState(toDisplay(buyCooldownLedgers)); + const [showError, setShowError] = useState(false); + + // Keep the input aligned with upstream value after a save refetches it. + useEffect(() => { + setCooldownInput(toDisplay(buyCooldownLedgers)); + setShowError(false); + }, [buyCooldownLedgers]); + + const currentMinutes = ledgersToMinutes(buyCooldownLedgers); + + const { error: errorMessage, isValid } = validateBuyCooldownInput(cooldownInput); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (isSubmitting) return; + if (!isValid) { + setShowError(true); + return; + } + // Convert minutes → ledgers (~1 ledger per 5 seconds) before submitting. + onSubmit(minutesToLedgers(Number(cooldownInput.trim()))); + }; + + return ( +
+
+

+ Current cooldown +

+

+ {currentMinutes === 0 ? 'No cooldown' : `${currentMinutes} min`} +

+
+ +
+ + setCooldownInput(e.target.value)} + disabled={isSubmitting} + placeholder="No cooldown" + aria-describedby="buy-cooldown-hint" + aria-invalid={showError && !isValid ? 'true' : undefined} + /> +

+ Delay between consecutive buys from the same wallet (0 = no cooldown) +

+ {showError && errorMessage && ( +

+ {errorMessage} +

+ )} +
+ + +
+ ); +}; + +export default BuyCooldownPanel; \ No newline at end of file diff --git a/src/components/common/__tests__/BuyCooldownPanel.test.tsx b/src/components/common/__tests__/BuyCooldownPanel.test.tsx new file mode 100644 index 00000000..d8fdc071 --- /dev/null +++ b/src/components/common/__tests__/BuyCooldownPanel.test.tsx @@ -0,0 +1,94 @@ +import { describe, expect, it, vi } from 'vitest'; +import { fireEvent, render, screen } from '@testing-library/react'; +import BuyCooldownPanel from '@/components/common/BuyCooldownPanel'; + +function setup( + props: Partial> = {} +) { + const onSubmit = vi.fn(); + render(); + return { onSubmit }; +} + +describe('BuyCooldownPanel (#889)', () => { + it('shows "No cooldown" with no cooldown data', () => { + setup(); + expect(screen.getByTestId('buy-cooldown-display')).toHaveTextContent( + 'No cooldown' + ); + expect((screen.getByTestId('buy-cooldown-input') as HTMLInputElement).value).toBe( + '0' + ); + }); + + it('shows "No cooldown" when the stored ledger value is 0', () => { + setup({ buyCooldownLedgers: 0 }); + expect(screen.getByTestId('buy-cooldown-display')).toHaveTextContent( + 'No cooldown' + ); + }); + + it('displays the current cooldown converted from ledgers to minutes', () => { + setup({ buyCooldownLedgers: 120 }); + expect(screen.getByTestId('buy-cooldown-display')).toHaveTextContent('10 min'); + expect((screen.getByTestId('buy-cooldown-input') as HTMLInputElement).value).toBe( + '10' + ); + }); + + it('pre-fills the input from a sub-minute ledger value as 0', () => { + setup({ buyCooldownLedgers: 3 }); + expect(screen.getByTestId('buy-cooldown-display')).toHaveTextContent( + 'No cooldown' + ); + }); + + it('constrains the number input to 0–60 minutes', () => { + setup(); + const input = screen.getByTestId('buy-cooldown-input') as HTMLInputElement; + expect(input.min).toBe('0'); + expect(input.max).toBe('60'); + }); + + it('validates input before submitting and shows an error', () => { + const { onSubmit } = setup(); + + fireEvent.change(screen.getByTestId('buy-cooldown-input'), { + target: { value: '61' }, + }); + fireEvent.click(screen.getByTestId('buy-cooldown-submit')); + + expect(onSubmit).not.toHaveBeenCalled(); + expect(screen.getByTestId('buy-cooldown-error')).toBeInTheDocument(); + }); + + it('submits minutes converted to ledger units when valid', () => { + const { onSubmit } = setup(); + + fireEvent.change(screen.getByTestId('buy-cooldown-input'), { + target: { value: '5' }, + }); + fireEvent.click(screen.getByTestId('buy-cooldown-submit')); + + expect(onSubmit).toHaveBeenCalledWith(60); + }); + + it('submits 0 ledgers for "No cooldown"', () => { + const { onSubmit } = setup({ buyCooldownLedgers: 120 }); + + fireEvent.change(screen.getByTestId('buy-cooldown-input'), { + target: { value: '0' }, + }); + fireEvent.click(screen.getByTestId('buy-cooldown-submit')); + + expect(onSubmit).toHaveBeenCalledWith(0); + }); + + it('shows a submitting state on the button', () => { + setup({ isSubmitting: true }); + expect(screen.getByTestId('buy-cooldown-submit')).toHaveTextContent( + 'Submitting…' + ); + expect(screen.getByTestId('buy-cooldown-submit')).toBeDisabled(); + }); +}); \ No newline at end of file diff --git a/src/hooks/useCreatorContractActions.ts b/src/hooks/useCreatorContractActions.ts index 7108547c..0292440d 100644 --- a/src/hooks/useCreatorContractActions.ts +++ b/src/hooks/useCreatorContractActions.ts @@ -8,7 +8,8 @@ import type { CreatorMetadataChange } from '@/utils/creatorMetadata.utils'; /** * Creator-facing contract calls issued from the dashboard tabs * (`update_metadata` — #818, `configure_auction` / `cancel_auction` — #816, - * `set_launch_penalty`, `set_max_buy_quantity`, `set_quorum_bps` — #828). + * `set_launch_penalty`, `set_max_buy_quantity`, `set_quorum_bps` — #828, + * `set_buy_cooldown` — #889). * * The on-chain wiring is not in the client yet, so each mutation simulates * signing latency and resolves. On success the creator detail query is @@ -125,6 +126,28 @@ export function useSetMaxBuyQuantityMutation(creatorId: string) { }); } +export function useSetBuyCooldownMutation(creatorId: string) { + const queryClient = useQueryClient(); + + return useMutation({ + mutationKey: ['contract', 'set_buy_cooldown', creatorId], + mutationFn: (cooldownLedgers: number) => + submitContractCall('set_buy_cooldown', { creatorId, cooldownLedgers }), + onError: error => { + showToast.error(getSignatureErrorMessage(error)); + }, + onSuccess: () => { + // Drop the 30s course cache entry so the refetch below returns the + // freshly committed cooldown and the panel reflects it immediately. + cacheManager.invalidate(`course_${creatorId}`); + queryClient.invalidateQueries({ + queryKey: queryKeys.creators.detail(creatorId), + }); + showToast.success('Buy cooldown updated'); + }, + }); +} + export function useSetQuorumBpsMutation(creatorId: string) { const queryClient = useQueryClient(); diff --git a/src/pages/CreatorDashboardPage.tsx b/src/pages/CreatorDashboardPage.tsx index 19a12556..f9cb0ff6 100644 --- a/src/pages/CreatorDashboardPage.tsx +++ b/src/pages/CreatorDashboardPage.tsx @@ -7,6 +7,7 @@ import AuctionSetupPanel from '@/components/common/AuctionSetupPanel'; import LaunchPenaltyPanel from '@/components/common/LaunchPenaltyPanel'; import MaxBuyQuantityPanel from '@/components/common/MaxBuyQuantityPanel'; import QuorumSettingsPanel from '@/components/common/QuorumSettingsPanel'; +import BuyCooldownPanel from '@/components/common/BuyCooldownPanel'; import { useCancelAuctionMutation, useConfigureAuctionMutation, @@ -14,6 +15,7 @@ import { useSetLaunchPenaltyMutation, useSetMaxBuyQuantityMutation, useSetQuorumBpsMutation, + useSetBuyCooldownMutation, } from '@/hooks/useCreatorContractActions'; import { formatDisplayKeyPrice, resolveCreatorKeyPriceStroops } from '@/utils/keyPriceDisplay.utils'; import { formatNumber } from '@/utils/numberFormat.utils'; @@ -44,6 +46,7 @@ export default function CreatorDashboardPage() { const setLaunchPenalty = useSetLaunchPenaltyMutation(id); const setMaxBuyQuantity = useSetMaxBuyQuantityMutation(id); const setQuorumBps = useSetQuorumBpsMutation(id); + const setBuyCooldown = useSetBuyCooldownMutation(id); const setTab = (value: string) => { setSearchParams( @@ -188,6 +191,23 @@ export default function CreatorDashboardPage() { /> +
+

+ Buy Cooldown +

+

+ Set a delay in minutes between consecutive buys from the same + wallet. +

+ + setBuyCooldown.mutate(cooldownLedgers) + } + /> +
+

Max Buy Per Transaction diff --git a/src/services/course.service.ts b/src/services/course.service.ts index 36af6b97..9b5764f7 100644 --- a/src/services/course.service.ts +++ b/src/services/course.service.ts @@ -55,6 +55,12 @@ export interface Course { * Applied to sells within the first 7 days after key creation. */ launchPenaltyBps?: number; + /** + * Per-wallet delay between consecutive buys, expressed in Stellar ledgers + * (~5 seconds per ledger) as returned by the contract's `set_buy_cooldown`. + * The dashboard displays this converted to minutes. + */ + buyCooldownLedgers?: number; /** * Proposal quorum threshold in basis points (100–5000 = 1%–50%). * Minimum holder participation required for a governance proposal to pass. diff --git a/src/utils/__tests__/buyCooldownConfig.utils.test.ts b/src/utils/__tests__/buyCooldownConfig.utils.test.ts new file mode 100644 index 00000000..600048dd --- /dev/null +++ b/src/utils/__tests__/buyCooldownConfig.utils.test.ts @@ -0,0 +1,74 @@ +import { describe, expect, it } from 'vitest'; +import { + LEDGERS_PER_MINUTE, + ledgersToMinutes, + minutesToLedgers, + validateBuyCooldownInput, +} from '@/utils/buyCooldownConfig.utils'; + +describe('ledgersToMinutes (#889)', () => { + it('converts ledgers to the nearest whole minute (~5s per ledger)', () => { + expect(ledgersToMinutes(LEDGERS_PER_MINUTE)).toBe(1); + expect(ledgersToMinutes(120)).toBe(10); + expect(ledgersToMinutes(720)).toBe(60); + }); + + it('rounds sub-minute values', () => { + expect(ledgersToMinutes(6)).toBe(1); + expect(ledgersToMinutes(3)).toBe(0); + }); + + it('treats missing/zero/negative/invalid values as 0', () => { + expect(ledgersToMinutes(undefined)).toBe(0); + expect(ledgersToMinutes(null)).toBe(0); + expect(ledgersToMinutes(0)).toBe(0); + expect(ledgersToMinutes(-12)).toBe(0); + expect(ledgersToMinutes(NaN)).toBe(0); + }); +}); + +describe('minutesToLedgers (#889)', () => { + it('converts minutes to ledgers (~1 ledger per 5 seconds)', () => { + expect(minutesToLedgers(0)).toBe(0); + expect(minutesToLedgers(1)).toBe(12); + expect(minutesToLedgers(5)).toBe(60); + expect(minutesToLedgers(60)).toBe(720); + }); + + it('rounds fractional minutes to the nearest ledger count', () => { + expect(minutesToLedgers(2.5)).toBe(30); + }); + + it('treats negative/invalid values as 0', () => { + expect(minutesToLedgers(-5)).toBe(0); + expect(minutesToLedgers(NaN)).toBe(0); + expect(minutesToLedgers(Infinity)).toBe(0); + }); +}); + +describe('validateBuyCooldownInput (#889)', () => { + it('accepts a whole number within 0–60', () => { + expect(validateBuyCooldownInput('0')).toEqual({ error: null, isValid: true }); + expect(validateBuyCooldownInput('12')).toEqual({ error: null, isValid: true }); + expect(validateBuyCooldownInput('60')).toEqual({ error: null, isValid: true }); + expect(validateBuyCooldownInput(' 5 ')).toEqual({ error: null, isValid: true }); + }); + + it('rejects an empty value', () => { + expect(validateBuyCooldownInput('')).toMatchObject({ isValid: false }); + expect(validateBuyCooldownInput(' ')).toMatchObject({ isValid: false }); + }); + + it('rejects a non-numeric value', () => { + expect(validateBuyCooldownInput('abc')).toMatchObject({ isValid: false }); + }); + + it('rejects a fractional value', () => { + expect(validateBuyCooldownInput('2.5')).toMatchObject({ isValid: false }); + }); + + it('rejects values below 0 and above 60', () => { + expect(validateBuyCooldownInput('-1')).toMatchObject({ isValid: false }); + expect(validateBuyCooldownInput('61')).toMatchObject({ isValid: false }); + }); +}); \ No newline at end of file diff --git a/src/utils/buyCooldownConfig.utils.ts b/src/utils/buyCooldownConfig.utils.ts new file mode 100644 index 00000000..283d39d2 --- /dev/null +++ b/src/utils/buyCooldownConfig.utils.ts @@ -0,0 +1,72 @@ +/** + * Buy cooldown configuration helpers for the creator dashboard (#889). + * + * The on-chain `set_buy_cooldown` value is stored in Stellar ledgers + * (~5 seconds per ledger). Creators think in minutes, so the panel converts + * the stored value to minutes for display and converts the submitted minutes + * back to ledgers before the contract call. + */ + +/** Ledgers in one minute: 60s / ~5s-per-ledger. */ +export const LEDGERS_PER_MINUTE = 12; + +export const MIN_BUY_COOLDOWN_MINUTES = 0; +export const MAX_BUY_COOLDOWN_MINUTES = 60; + +/** Approximate seconds elapsed per ledger on the Stellar network. */ +export const SECONDS_PER_LEDGER = 5; + +function normalizeOrZero(value: number | null | undefined): number { + if (value == null || !Number.isFinite(value) || value < 0) return 0; + return value; +} + +/** Round the stored ledger value up to the nearest whole ledger. */ +function roundLedgersToMinutes(ledgers: number | null | undefined): number { + return Math.round(normalizeOrZero(ledgers) / LEDGERS_PER_MINUTE); +} + +/** + * Converts the on-chain cooldown (in ledgers) to whole minutes for display. + * `undefined`/`null`/non-positive values convert to 0 minutes. + */ +export function ledgersToMinutes(ledgers: number | null | undefined): number { + return roundLedgersToMinutes(ledgers); +} + +/** + * Converts a minute value into the number of on-chain ledgers to submit, + * assuming ~5 seconds per ledger (1 ledger per ~5 seconds ⇒ 12 per minute). + */ +export function minutesToLedgers(minutes: number): number { + return Math.round(normalizeOrZero(minutes) * LEDGERS_PER_MINUTE); +} + +export interface BuyCooldownInputValidation { + error: string | null; + isValid: boolean; +} + +/** + * Validates the raw minutes input. Must be a whole number within + * 0–60 (0 = no cooldown). + */ +export function validateBuyCooldownInput(rawMinutes: string): BuyCooldownInputValidation { + const trimmed = rawMinutes.trim(); + const parsed = Number(trimmed); + + const error = + trimmed === '' + ? 'Enter a cooldown in minutes' + : !Number.isFinite(parsed) + ? 'Enter a valid number' + : !Number.isInteger(parsed) + ? 'Enter a whole number of minutes' + : parsed < MIN_BUY_COOLDOWN_MINUTES + ? 'Minimum is 0 minutes' + : parsed > MAX_BUY_COOLDOWN_MINUTES + ? 'Maximum is 60 minutes' + : null; + + return { error, isValid: error === null }; +} \ No newline at end of file From 1152bad69653955ea1227eeb172bcc61e19588b8 Mon Sep 17 00:00:00 2001 From: timiturn3r Date: Wed, 23 Sep 2026 21:42:32 +0100 Subject: [PATCH 111/310] feat: add shareable portfolio performance card for social sharing (#881) --- package.json | 1 + pnpm-lock.yaml | 54 ++++ .../common/PortfolioPerformanceCard.tsx | 239 +++++++++++++++++ src/components/common/SharePortfolioModal.tsx | 245 ++++++++++++++++++ .../PortfolioPerformanceCard.test.tsx | 217 ++++++++++++++++ .../__tests__/SharePortfolioModal.test.tsx | 217 ++++++++++++++++ src/pages/LandingPage.tsx | 25 +- ...Page.sharePerformance.integration.test.tsx | 186 +++++++++++++ src/utils/imageCapture.utils.ts | 47 ++++ 9 files changed, 1228 insertions(+), 3 deletions(-) create mode 100644 src/components/common/PortfolioPerformanceCard.tsx create mode 100644 src/components/common/SharePortfolioModal.tsx create mode 100644 src/components/common/__tests__/PortfolioPerformanceCard.test.tsx create mode 100644 src/components/common/__tests__/SharePortfolioModal.test.tsx create mode 100644 src/pages/__tests__/LandingPage.sharePerformance.integration.test.tsx create mode 100644 src/utils/imageCapture.utils.ts diff --git a/package.json b/package.json index 76578caf..a2c77971 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "ethers": "^6.13.4", "framer-motion": "^12.27.1", "gsap": "^3.14.2", + "html2canvas": "^1.4.1", "js-cookie": "^3.0.5", "lenis": "^1.3.23", "lucide-react": "^0.525.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 84a8cad3..7e5aae9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,6 +73,9 @@ importers: gsap: specifier: ^3.14.2 version: 3.15.0 + html2canvas: + specifier: ^1.4.1 + version: 1.4.1 js-cookie: specifier: ^3.0.5 version: 3.0.8 @@ -3540,6 +3543,13 @@ packages: integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==, } + base64-arraybuffer@1.0.2: + resolution: + { + integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==, + } + engines: { node: '>= 0.6.0' } + base64-js@1.5.1: resolution: { @@ -3895,6 +3905,12 @@ packages: integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==, } + css-line-break@2.1.0: + resolution: + { + integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==, + } + css-tree@3.2.1: resolution: { @@ -4867,6 +4883,13 @@ packages: } engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + html2canvas@1.4.1: + resolution: + { + integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==, + } + engines: { node: '>=8.0.0' } + https-proxy-agent@5.0.1: resolution: { @@ -6670,6 +6693,12 @@ packages: } engines: { node: '>=6' } + text-segmentation@1.0.3: + resolution: + { + integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==, + } + thread-stream@0.15.2: resolution: { @@ -7056,6 +7085,12 @@ packages: integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==, } + utrie@1.0.2: + resolution: + { + integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==, + } + uuid@8.3.2: resolution: { @@ -10507,6 +10542,8 @@ snapshots: base-x@5.0.1: {} + base64-arraybuffer@1.0.2: {} + base64-js@1.5.1: {} bidi-js@1.0.3: @@ -10702,6 +10739,10 @@ snapshots: crypt@0.0.2: {} + css-line-break@2.1.0: + dependencies: + utrie: 1.0.2 + css-tree@3.2.1: dependencies: mdn-data: 2.27.1 @@ -11279,6 +11320,11 @@ snapshots: transitivePeerDependencies: - '@noble/hashes' + html2canvas@1.4.1: + dependencies: + css-line-break: 2.1.0 + text-segmentation: 1.0.3 + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -12295,6 +12341,10 @@ snapshots: tapable@2.3.3: {} + text-segmentation@1.0.3: + dependencies: + utrie: 1.0.2 + thread-stream@0.15.2: dependencies: real-require: 0.1.0 @@ -12482,6 +12532,10 @@ snapshots: is-typed-array: 1.1.15 which-typed-array: 1.1.22 + utrie@1.0.2: + dependencies: + base64-arraybuffer: 1.0.2 + uuid@8.3.2: {} uuid@9.0.1: {} diff --git a/src/components/common/PortfolioPerformanceCard.tsx b/src/components/common/PortfolioPerformanceCard.tsx new file mode 100644 index 00000000..71f3b371 --- /dev/null +++ b/src/components/common/PortfolioPerformanceCard.tsx @@ -0,0 +1,239 @@ +import React from 'react'; +import { Wallet, TrendingUp, TrendingDown } from 'lucide-react'; +import { + type PnLSummary, + type HeldKeyPosition, + formatPnLDisplay, + formatPnLPercentage, + sortHoldingsByTotalValue, + calculatePositionTotalValue, +} from '@/utils/portfolioValue.utils'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import { shortenAddress } from '@/lib/web3/format'; +import type { Course } from '@/services/course.service'; +import { cn } from '@/lib/utils'; + +export interface PortfolioPerformanceCardProps { + pnlSummary: PnLSummary; + walletAddress: string; + heldPositions: HeldKeyPosition[]; + creators: Course[]; + className?: string; +} + +export const AccessLayerLogoIcon: React.FC<{ className?: string }> = ({ + className = 'size-8', +}) => ( + +); + +export const PortfolioPerformanceCard: React.FC = ({ + pnlSummary, + walletAddress, + heldPositions, + creators, + className, +}) => { + const truncatedWallet = shortenAddress(walletAddress) || 'Demo Wallet'; + const isProfitable = pnlSummary.unrealisedPnL > 0; + const isLoss = pnlSummary.unrealisedPnL < 0; + + // Sort holdings descending by total value and pick top 3 + const activeHoldings = heldPositions.filter( + pos => pos.quantity != null && pos.quantity > 0 + ); + const topHoldings = sortHoldingsByTotalValue(activeHoldings).slice(0, 3); + + return ( +
+ {/* Ambient background decoration */} +

+ +
+

+ Graduated Curve +

+

+ Configure up to five supply milestones and the exponent applied to each tier. +

+ configureGraduatedCurve.mutate(milestones)} + /> +
)} From 2e3587f61fe4ecd5f1501032cabb86d20a23abc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cdakwa001=E2=80=9D?= Date: Thu, 24 Sep 2026 14:25:44 +0100 Subject: [PATCH 115/310] feat: add price alerts and buyer activity --- src/components/common/PriceAlertDialog.tsx | 168 ++++++++++++++++++ src/components/common/PriceAlertsSection.tsx | 93 ++++++++++ .../common/RecentBuyerActivityFeed.tsx | 149 ++++++++++++++++ src/hooks/useKeyTrades.ts | 93 ++++++++++ src/hooks/usePriceAlerts.ts | 56 ++++++ src/services/keyTrades.service.ts | 105 +++++++++++ src/services/priceAlert.service.ts | 95 ++++++++++ src/utils/priceAlert.utils.ts | 10 ++ 8 files changed, 769 insertions(+) create mode 100644 src/components/common/PriceAlertDialog.tsx create mode 100644 src/components/common/PriceAlertsSection.tsx create mode 100644 src/components/common/RecentBuyerActivityFeed.tsx create mode 100644 src/hooks/useKeyTrades.ts create mode 100644 src/hooks/usePriceAlerts.ts create mode 100644 src/services/keyTrades.service.ts create mode 100644 src/services/priceAlert.service.ts create mode 100644 src/utils/priceAlert.utils.ts diff --git a/src/components/common/PriceAlertDialog.tsx b/src/components/common/PriceAlertDialog.tsx new file mode 100644 index 00000000..716c501b --- /dev/null +++ b/src/components/common/PriceAlertDialog.tsx @@ -0,0 +1,168 @@ +import { useEffect, useMemo, useState } from 'react'; +import { BellRing } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from '@/components/ui/dialog'; +import { useCreatePriceAlert } from '@/hooks/usePriceAlerts'; +import type { PriceAlertDirection } from '@/services/priceAlert.service'; +import { cn } from '@/lib/utils'; +import { parsePositivePrice } from '@/utils/priceAlert.utils'; +import showToast from '@/utils/toast.util'; + +interface PriceAlertDialogProps { + keyId: string; + keyName?: string; + currentPrice?: number | null; +} + +export default function PriceAlertDialog({ + keyId, + keyName = 'this key', + currentPrice, +}: PriceAlertDialogProps) { + const [open, setOpen] = useState(false); + const [targetText, setTargetText] = useState(''); + const [direction, setDirection] = useState('above'); + const createAlert = useCreatePriceAlert(); + const targetPrice = useMemo(() => parsePositivePrice(targetText), [targetText]); + const invalid = targetText.trim().length > 0 && targetPrice === null; + + useEffect(() => { + if (!open) return; + setTargetText(currentPrice != null && currentPrice > 0 ? String(currentPrice) : ''); + setDirection('above'); + createAlert.reset(); + }, [createAlert, currentPrice, open]); + + const handleSave = async () => { + if (targetPrice === null) return; + try { + await createAlert.mutateAsync({ keyId, targetPrice, direction }); + showToast.success( + `Price alert set for ${keyName}. We’ll notify you when the price moves ${direction} your target.` + ); + setOpen(false); + } catch (error) { + showToast.error( + error instanceof Error ? error.message : 'Couldn’t save your price alert.' + ); + } + }; + + return ( + + + + + + + Set a price alert + + We’ll check {keyName} every 60 seconds and notify you when it crosses your target. + + + +
{ + event.preventDefault(); + void handleSave(); + }} + > +
+ + setTargetText(event.target.value)} + aria-invalid={invalid} + aria-describedby="price-alert-help price-alert-error" + placeholder="Enter a positive price" + className={cn( + 'w-full rounded-xl border border-white/15 bg-white/[0.05] px-4 py-3 text-white outline-none transition focus:border-cyan-300 focus:ring-2 focus:ring-cyan-300/20', + invalid && 'border-rose-400 focus:border-rose-400 focus:ring-rose-400/20' + )} + /> +

+ Use the key’s quoted unit, XLM. +

+ {invalid ? ( + + ) : null} +
+ +
+ Notify me when price is +
+ {(['above', 'below'] as const).map(option => ( + + ))} +
+
+ + {createAlert.isError ? ( +

+ {createAlert.error instanceof Error + ? createAlert.error.message + : 'Couldn’t save your price alert.'} +

+ ) : null} + + + + + +
+
+
+ ); +} diff --git a/src/components/common/PriceAlertsSection.tsx b/src/components/common/PriceAlertsSection.tsx new file mode 100644 index 00000000..b01d188b --- /dev/null +++ b/src/components/common/PriceAlertsSection.tsx @@ -0,0 +1,93 @@ +import { BellRing, Trash2 } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { useDeletePriceAlert, usePriceAlerts } from '@/hooks/usePriceAlerts'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import showToast from '@/utils/toast.util'; + +export default function PriceAlertsSection() { + const alertsQuery = usePriceAlerts(); + const deleteAlert = useDeletePriceAlert(); + const alerts = (alertsQuery.data ?? []).filter(alert => alert.active); + + const handleDelete = async (alertId: string) => { + try { + await deleteAlert.mutateAsync(alertId); + showToast.success('Price alert deleted.'); + } catch (error) { + showToast.error(error instanceof Error ? error.message : 'Couldn’t delete this alert.'); + } + }; + + return ( +
+
+
+ + +
+

+ My Alerts +

+

+ Price thresholds we’re watching for you. +

+
+
+ + {alertsQuery.isLoading ? ( +
+ {Array.from({ length: 2 }, (_, index) => ( +
+ ))} +
+ ) : alertsQuery.isError ? ( +
+ Couldn’t load your alerts. + +
+ ) : alerts.length === 0 ? ( +
+

No active alerts

+

Set one from any key detail page.

+
+ ) : ( +
    + {alerts.map(alert => ( +
  • +
    +

    + {alert.keyName || `Key ${alert.keyId}`} +

    +

    + Alert when price is{' '} + + {alert.direction} + {' '} + {formatDisplayKeyPrice(alert.targetPrice)} +

    +
    + +
  • + ))} +
+ )} +
+
+ ); +} diff --git a/src/components/common/RecentBuyerActivityFeed.tsx b/src/components/common/RecentBuyerActivityFeed.tsx new file mode 100644 index 00000000..89f4b4cb --- /dev/null +++ b/src/components/common/RecentBuyerActivityFeed.tsx @@ -0,0 +1,149 @@ +import { AnimatePresence, motion } from 'framer-motion'; +import { ArrowDownRight, ArrowUpRight, Radio } from 'lucide-react'; +import useKeyTrades from '@/hooks/useKeyTrades'; +import { usePrefersReducedMotion } from '@/hooks/usePrefersReducedMotion'; +import { formatAbsoluteDateTime, formatRelativeTime } from '@/utils/time.utils'; +import { cn } from '@/lib/utils'; +import type { KeyTrade } from '@/services/keyTrades.service'; + +function truncateWallet(address: string): string { + if (address.length <= 14) return address; + return `${address.slice(0, 6)}...${address.slice(-5)}`; +} + +function quantityLabel(quantity: number): string { + return new Intl.NumberFormat(undefined, { + maximumFractionDigits: 6, + }).format(quantity); +} + +function TradeRow({ trade, isNew }: { trade: KeyTrade; isNew: boolean }) { + const isBuy = trade.type === 'buy'; + return ( + +
+ +
+

+ {truncateWallet(trade.walletAddress)} +

+

+ {isBuy ? 'Buy' : 'Sell'} · {quantityLabel(trade.quantity)} key + {trade.quantity === 1 ? '' : 's'} +

+
+
+ +
+ ); +} + +export default function RecentBuyerActivityFeed({ keyId }: { keyId: string }) { + const { trades, newTradeIds, isLoading, isFetching, isError, refetch } = + useKeyTrades(keyId); + const prefersReducedMotion = usePrefersReducedMotion(); + + return ( +
+
+
+

+ Recent activity +

+

Last 5 buys and sells

+
+ {isFetching && !isLoading ? ( + + + ) : null} +
+ + {isLoading ? ( +
+ {Array.from({ length: 5 }, (_, index) => ( +
+ ))} +
+ ) : isError ? ( +
+

Couldn’t load recent activity.

+ +
+ ) : trades.length === 0 ? ( +

+ No recent activity +

+ ) : ( + + + {trades.map(trade => ( + + ))} + + + )} +
+ ); +} diff --git a/src/hooks/useKeyTrades.ts b/src/hooks/useKeyTrades.ts new file mode 100644 index 00000000..a71578e8 --- /dev/null +++ b/src/hooks/useKeyTrades.ts @@ -0,0 +1,93 @@ +import { useEffect, useMemo, useRef, useState } from 'react'; +import { useQuery } from '@tanstack/react-query'; +import { fetchKeyTrades, type KeyTrade } from '@/services/keyTrades.service'; + +export const KEY_TRADES_POLL_INTERVAL_MS = 30_000; +export const KEY_TRADES_DISPLAY_LIMIT = 5; +const NEW_TRADE_HIGHLIGHT_MS = 2_200; + +function mergeTrades(previous: KeyTrade[], incoming: KeyTrade[]): KeyTrade[] { + const seen = new Set(); + return [...incoming, ...previous] + .filter(trade => { + if (seen.has(trade.id)) return false; + seen.add(trade.id); + return true; + }) + .slice(0, KEY_TRADES_DISPLAY_LIMIT); +} + +export interface UseKeyTradesResult { + trades: KeyTrade[]; + newTradeIds: ReadonlySet; + isLoading: boolean; + isFetching: boolean; + isError: boolean; + refetch: () => Promise; +} + +/** + * Loads the five most recent key trades immediately and polls every 30s. + * Previously seen rows are retained across a poll so rows animate only once + * when they first appear. + */ +export function useKeyTrades( + keyId: string, + limit = KEY_TRADES_DISPLAY_LIMIT +): UseKeyTradesResult { + const [trades, setTrades] = useState([]); + const [newTradeIds, setNewTradeIds] = useState>(new Set()); + const seenIdsRef = useRef>(new Set()); + const initializedRef = useRef(false); + + const query = useQuery({ + queryKey: ['key-trades', keyId, limit], + queryFn: () => fetchKeyTrades(keyId, limit), + enabled: Boolean(keyId), + refetchInterval: KEY_TRADES_POLL_INTERVAL_MS, + }); + + useEffect(() => { + setTrades([]); + setNewTradeIds(new Set()); + seenIdsRef.current = new Set(); + initializedRef.current = false; + }, [keyId, limit]); + + useEffect(() => { + const incoming = query.data; + if (!incoming) return; + + if (!initializedRef.current) { + initializedRef.current = true; + seenIdsRef.current = new Set(incoming.map(trade => trade.id)); + setTrades(incoming.slice(0, limit)); + return; + } + + const added = incoming.filter(trade => !seenIdsRef.current.has(trade.id)); + for (const trade of incoming) seenIdsRef.current.add(trade.id); + setTrades(previous => mergeTrades(previous, incoming)); + + if (added.length === 0) return; + setNewTradeIds(new Set(added.map(trade => trade.id))); + const timer = window.setTimeout(() => { + setNewTradeIds(new Set()); + }, NEW_TRADE_HIGHLIGHT_MS); + return () => window.clearTimeout(timer); + }, [limit, query.data]); + + return useMemo( + () => ({ + trades, + newTradeIds, + isLoading: query.isLoading, + isFetching: query.isFetching, + isError: query.isError, + refetch: query.refetch, + }), + [newTradeIds, query.isError, query.isFetching, query.isLoading, query.refetch, trades] + ); +} + +export default useKeyTrades; diff --git a/src/hooks/usePriceAlerts.ts b/src/hooks/usePriceAlerts.ts new file mode 100644 index 00000000..73c9e338 --- /dev/null +++ b/src/hooks/usePriceAlerts.ts @@ -0,0 +1,56 @@ +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; +import { + priceAlertService, + type CreatePriceAlertInput, + type PriceAlert, +} from '@/services/priceAlert.service'; + +export const PRICE_ALERTS_QUERY_KEY = ['price-alerts'] as const; + +export function usePriceAlerts(enabled = true) { + return useQuery({ + queryKey: PRICE_ALERTS_QUERY_KEY, + queryFn: () => priceAlertService.getPriceAlerts(), + enabled, + refetchInterval: 60_000, + }); +} + +export function useCreatePriceAlert() { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (input: CreatePriceAlertInput) => priceAlertService.createPriceAlert(input), + onSuccess: alert => { + queryClient.setQueryData(PRICE_ALERTS_QUERY_KEY, previous => { + const existing = previous ?? []; + return [alert, ...existing.filter(item => item.id !== alert.id)]; + }); + }, + onSettled: () => { + void queryClient.invalidateQueries({ queryKey: PRICE_ALERTS_QUERY_KEY }); + }, + }); +} + +export function useDeletePriceAlert() { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (alertId: string) => priceAlertService.deletePriceAlert(alertId), + onMutate: async alertId => { + await queryClient.cancelQueries({ queryKey: PRICE_ALERTS_QUERY_KEY }); + const previous = queryClient.getQueryData(PRICE_ALERTS_QUERY_KEY); + queryClient.setQueryData(PRICE_ALERTS_QUERY_KEY, (alerts = []) => + alerts.filter(alert => alert.id !== alertId) + ); + return { previous }; + }, + onError: (_error, _alertId, context) => { + if (context?.previous) { + queryClient.setQueryData(PRICE_ALERTS_QUERY_KEY, context.previous); + } + }, + onSettled: () => { + void queryClient.invalidateQueries({ queryKey: PRICE_ALERTS_QUERY_KEY }); + }, + }); +} diff --git a/src/services/keyTrades.service.ts b/src/services/keyTrades.service.ts new file mode 100644 index 00000000..3eb07933 --- /dev/null +++ b/src/services/keyTrades.service.ts @@ -0,0 +1,105 @@ +import { BaseApiService, type APIResponse } from './api.service'; + +export type KeyTradeSide = 'buy' | 'sell'; + +/** Normalized public trade returned by GET /keys/:keyId/trades. */ +export interface KeyTrade { + id: string; + keyId: string; + walletAddress: string; + type: KeyTradeSide; + quantity: number; + price?: number; + timestamp: number; + transactionHash?: string | null; +} + +type UnknownRecord = Record; + +function asRecord(value: unknown): UnknownRecord { + return typeof value === 'object' && value !== null + ? (value as UnknownRecord) + : {}; +} + +function asPositiveNumber(value: unknown): number | undefined { + const parsed = typeof value === 'number' ? value : Number(value); + return Number.isFinite(parsed) && parsed >= 0 ? parsed : undefined; +} + +function normalizeTimestamp(value: unknown): number { + if (typeof value === 'number' && Number.isFinite(value)) { + // Unix seconds are occasionally returned by backend jobs. + return value < 1_000_000_000_000 ? value * 1_000 : value; + } + if (typeof value === 'string') { + const numericValue = Number(value); + if (Number.isFinite(numericValue) && value.trim() !== '') { + return normalizeTimestamp(numericValue); + } + const parsed = new Date(value).getTime(); + if (Number.isFinite(parsed)) return parsed; + } + return Date.now(); +} + +function normalizeSide(value: unknown): KeyTradeSide { + return String(value ?? '').toLowerCase() === 'sell' ? 'sell' : 'buy'; +} + +/** + * Normalize the small set of historical response shapes used by the key + * activity endpoint so the UI never has to know backend field aliases. + */ +export function normalizeKeyTrade(value: unknown, keyId: string, index = 0): KeyTrade { + const raw = asRecord(value); + const timestamp = normalizeTimestamp( + raw.timestamp ?? raw.createdAt ?? raw.tradedAt ?? raw.time + ); + const rawType = raw.tradeType ?? raw.type ?? raw.side; + const transactionHash = raw.transactionHash ?? raw.txHash ?? raw.hash; + + return { + id: String(raw.id ?? raw.tradeId ?? transactionHash ?? `${keyId}-${timestamp}-${index}`), + keyId: String(raw.keyId ?? keyId), + walletAddress: String( + raw.walletAddress ?? raw.traderAddress ?? raw.wallet ?? raw.trader ?? 'Unknown wallet' + ), + type: normalizeSide(rawType), + quantity: + asPositiveNumber(raw.quantity ?? raw.amount ?? raw.shares) ?? 0, + price: asPositiveNumber(raw.price ?? raw.pricePerKey), + timestamp, + transactionHash: + typeof transactionHash === 'string' ? transactionHash : null, + }; +} + +export function normalizeKeyTrades(value: unknown, keyId: string): KeyTrade[] { + const data = asRecord(value).trades ?? asRecord(value).data ?? value; + const trades = Array.isArray(data) ? data : []; + + return trades + .map((trade, index) => normalizeKeyTrade(trade, keyId, index)) + .sort((a, b) => b.timestamp - a.timestamp); +} + +class KeyTradeService extends BaseApiService { + async getKeyTrades(keyId: string, limit = 5): Promise { + try { + const response = await this.api.get>( + `/keys/${encodeURIComponent(keyId)}/trades`, + { params: { limit } } + ); + return normalizeKeyTrades(response.data.data, keyId).slice(0, limit); + } catch (error) { + throw this.handleError(error); + } + } +} + +export const keyTradeService = new KeyTradeService(); + +export function fetchKeyTrades(keyId: string, limit = 5): Promise { + return keyTradeService.getKeyTrades(keyId, limit); +} diff --git a/src/services/priceAlert.service.ts b/src/services/priceAlert.service.ts new file mode 100644 index 00000000..de374c7a --- /dev/null +++ b/src/services/priceAlert.service.ts @@ -0,0 +1,95 @@ +import { BaseApiService, type APIResponse } from './api.service'; + +export type PriceAlertDirection = 'above' | 'below'; + +export interface PriceAlert { + id: string; + keyId: string; + keyName?: string; + targetPrice: number; + direction: PriceAlertDirection; + active: boolean; + createdAt?: number; +} + +export interface CreatePriceAlertInput { + keyId: string; + targetPrice: number; + direction: PriceAlertDirection; +} + +function asRecord(value: unknown): Record { + return typeof value === 'object' && value !== null + ? (value as Record) + : {}; +} + +function normalizeTimestamp(value: unknown): number | undefined { + if (typeof value !== 'string' && typeof value !== 'number') return undefined; + const numeric = typeof value === 'number' ? value : Number(value); + if (Number.isFinite(numeric) && numeric > 0) return numeric; + const parsed = new Date(String(value)).getTime(); + return Number.isFinite(parsed) ? parsed : undefined; +} + +export function normalizePriceAlert(value: unknown): PriceAlert { + const raw = asRecord(value); + const key = asRecord(raw.key); + const target = Number(raw.targetPrice ?? raw.price ?? raw.threshold); + const direction = String(raw.direction ?? raw.condition).toLowerCase(); + + return { + id: String(raw.id ?? raw._id ?? raw.alertId), + keyId: String(raw.keyId ?? key.id ?? ''), + keyName: + typeof (raw.keyName ?? raw.title ?? key.title ?? key.name) === 'string' + ? String(raw.keyName ?? raw.title ?? key.title ?? key.name) + : undefined, + targetPrice: Number.isFinite(target) ? target : 0, + direction: direction === 'below' ? 'below' : 'above', + active: raw.active == null ? true : Boolean(raw.active), + createdAt: normalizeTimestamp(raw.createdAt ?? raw.created_at), + }; +} + +function normalizePriceAlerts(value: unknown): PriceAlert[] { + const direct = Array.isArray(value) ? value : asRecord(value).alerts; + return Array.isArray(direct) ? direct.map(normalizePriceAlert) : []; +} + +class PriceAlertService extends BaseApiService { + async getPriceAlerts(): Promise { + try { + const response = await this.api.get>('/alerts'); + return normalizePriceAlerts(response.data.data); + } catch (error) { + throw this.handleError(error); + } + } + + async createPriceAlert(input: CreatePriceAlertInput): Promise { + try { + // Send the issue contract exactly as specified. Amounts remain + // numbers here; the backend owns unit conversion and persistence. + const response = await this.api.post>('/alerts', { + keyId: input.keyId, + targetPrice: input.targetPrice, + direction: input.direction, + }); + const data = response.data.data; + return normalizePriceAlert(asRecord(data).alert ?? data); + } catch (error) { + throw this.handleError(error); + } + } + + async deletePriceAlert(alertId: string): Promise { + try { + await this.api.delete(`/alerts/${encodeURIComponent(alertId)}`); + } catch (error) { + throw this.handleError(error); + } + } +} + +export const priceAlertService = new PriceAlertService(); diff --git a/src/utils/priceAlert.utils.ts b/src/utils/priceAlert.utils.ts new file mode 100644 index 00000000..943d8d6b --- /dev/null +++ b/src/utils/priceAlert.utils.ts @@ -0,0 +1,10 @@ +export function parsePositivePrice(value: string): number | null { + const normalized = value.trim(); + if (!normalized) return null; + const parsed = Number(normalized); + return Number.isFinite(parsed) && parsed > 0 ? parsed : null; +} + +export function isValidPriceAlertPrice(value: string): boolean { + return parsePositivePrice(value) !== null; +} From 99479de260bc38d59d8f8770b309e7fb1cf68cf8 Mon Sep 17 00:00:00 2001 From: shogun444 Date: Thu, 24 Sep 2026 20:31:21 +0530 Subject: [PATCH 116/310] feat: add protocol revenue claim UI for stakers --- .../common/ProtocolRevenueClaim.tsx | 243 ++++++++++++++++ src/hooks/useProtocolRevenue.ts | 268 ++++++++++++++++++ src/pages/ProfilePage.tsx | 42 ++- .../__tests__/protocolRevenue.utils.test.ts | 113 ++++++++ src/utils/protocolRevenue.utils.ts | 150 ++++++++++ 5 files changed, 813 insertions(+), 3 deletions(-) create mode 100644 src/components/common/ProtocolRevenueClaim.tsx create mode 100644 src/hooks/useProtocolRevenue.ts create mode 100644 src/utils/__tests__/protocolRevenue.utils.test.ts create mode 100644 src/utils/protocolRevenue.utils.ts diff --git a/src/components/common/ProtocolRevenueClaim.tsx b/src/components/common/ProtocolRevenueClaim.tsx new file mode 100644 index 00000000..82f01721 --- /dev/null +++ b/src/components/common/ProtocolRevenueClaim.tsx @@ -0,0 +1,243 @@ +import React from 'react'; +import { ExternalLink, HelpCircle } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { Tooltip } from '@/components/ui/tooltip'; +import EmptyState from '@/components/common/EmptyState'; +import Skeleton from '@/components/ui/skeleton'; +import { + useClaimableRevenue, + useClaimAllRevenueMutation, + useClaimHistory, + useClaimRevenueMutation, +} from '@/hooks/useProtocolRevenue'; +import { hasClaimableRevenue } from '@/utils/protocolRevenue.utils'; +import { formatXlmPrice } from '@/utils/numberFormat.utils'; +import { formatRelativeTime } from '@/utils/time.utils'; +import { + buildStellarExpertTxUrl, + truncateTxHash, +} from '@/constants/stellar'; +import { env } from '@/utils/env.utils'; + +export interface ProtocolRevenueClaimProps { + walletAddress: string; +} + +const CARD_CLASS = + 'rounded-[2rem] border border-white/10 bg-white/[0.02] p-6 shadow-2xl backdrop-blur-md md:p-8'; + +const REVENUE_SHARE_EXPLANATION = + 'Your share = your staked keys / total staked keys × trading-fee revenue pool. Claimable amounts accrue per stake position under the claim-based dividend model.'; + +/** + * Protocol revenue claim interface for stakers (#920). + * + * Shows the claimable amount per stake position, a batch Claim All action, + * and a persisted claim history (date, amount, transaction hash). + */ +const ProtocolRevenueClaim: React.FC = ({ + walletAddress, +}) => { + const { + claimableByPosition, + totalClaimable, + isLoading, + isError, + } = useClaimableRevenue(walletAddress); + const { history, appendHistory } = useClaimHistory(walletAddress); + const claimOneMutation = useClaimRevenueMutation(walletAddress, { + onAppended: appendHistory, + }); + const claimAllMutation = useClaimAllRevenueMutation(walletAddress, { + onAppended: appendHistory, + }); + + const isClaiming = + claimOneMutation.isPending || claimAllMutation.isPending; + const canClaimAll = hasClaimableRevenue(totalClaimable) && !isClaiming; + + const handleClaimOne = (creatorId: string, amount: number) => { + if (amount <= 0 || claimOneMutation.isPending) return; + claimAllMutation.reset?.(); + claimOneMutation.mutate({ creatorId, amount }); + }; + + const handleClaimAll = () => { + if (!canClaimAll) return; + claimOneMutation.reset?.(); + claimAllMutation.mutate({ + claims: claimableByPosition + .filter(entry => entry.claimable > 0) + .map(entry => ({ + creatorId: entry.position.creatorId, + amount: entry.claimable, + })), + }); + }; + + if (isLoading) { + return ( +
+ +
+ + +
+
+ ); + } + + if (isError) { + return ( +
+ +
+ ); + } + + return ( +
+
+
+

+ Protocol Revenue + + + + +

+

+ Total claimable:{' '} + + {formatXlmPrice(totalClaimable)} + +

+
+ +
+ + {!hasClaimableRevenue(totalClaimable) ? ( + + ) : ( +
+ {claimableByPosition + .filter(entry => entry.claimable > 0) + .map(entry => ( +
+
+

+ {entry.position.creatorId} +

+

+ {formatXlmPrice(entry.claimable)} claimable +

+
+ +
+ ))} +
+ )} + +
+
+ ); +}; + +export default ProtocolRevenueClaim; diff --git a/src/hooks/useProtocolRevenue.ts b/src/hooks/useProtocolRevenue.ts new file mode 100644 index 00000000..c00016f3 --- /dev/null +++ b/src/hooks/useProtocolRevenue.ts @@ -0,0 +1,268 @@ +import { useCallback, useEffect, useState } from 'react'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import { queryKeys } from '@/lib/queryKeys'; +import type { HeldKeyPosition } from '@/utils/portfolioValue.utils'; +import showToast from '@/utils/toast.util'; +import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; +import { useWalletHoldings } from '@/hooks/useWallet'; +import { + buildMockTransactionHash, + computeTotalClaimable, + loadClaimHistory, + saveClaimHistory, + type RevenueClaimRecord, +} from '@/utils/protocolRevenue.utils'; + +export type { RevenueClaimRecord }; + +/** + * Claimable revenue positions for a staker (#920). + * Wraps the shared holdings cache so claimable amounts stay consistent + * with the portfolio (`HeldKeyPosition.unclaimedDividend` in XLM). + */ +export function useClaimableRevenue(address: string) { + const holdingsQuery = useWalletHoldings(address); + const positions = holdingsQuery.data ?? []; + const claimableByPosition = positions.map(position => ({ + position, + claimable: Math.max(0, position.unclaimedDividend ?? 0), + })); + const totalClaimable = computeTotalClaimable( + claimableByPosition.map(entry => entry.claimable) + ); + + return { ...holdingsQuery, positions, claimableByPosition, totalClaimable }; +} + +/** + * Simulated claim history persisted per wallet in localStorage + * (`accesslayer:claim_history:${address}`) since no backend endpoint + * exists yet. Survives page refreshes. + */ +export function useClaimHistory(address: string) { + const [history, setHistory] = useState(() => + loadClaimHistory(address) + ); + + useEffect(() => { + setHistory(loadClaimHistory(address)); + }, [address]); + + const appendHistory = useCallback( + (records: RevenueClaimRecord[]) => { + if (records.length === 0) return; + setHistory(previous => { + const next = [...records, ...previous].sort( + (a, b) => b.timestamp - a.timestamp + ); + saveClaimHistory(address, next); + return next; + }); + }, + [address] + ); + + return { history, appendHistory }; +} + +export interface ClaimRevenueVariables { + creatorId: string; + creatorName?: string; + amount: number; +} + +export interface ClaimAllRevenueVariables { + claims: ClaimRevenueVariables[]; +} + +export interface ClaimRevenueResult { + success: true; + transactionHash: string; + claimedAt: number; + claimedAmount: number; + claimedCount: number; +} + +function toClaimRecords( + variables: ClaimRevenueVariables[] | ClaimAllRevenueVariables, + transactionHash: string, + claimedAt: number +): RevenueClaimRecord[] { + const claims = Array.isArray(variables) + ? variables + : variables.claims; + return claims + .filter(claim => claim.amount > 0) + .map(claim => ({ + id: `${transactionHash}-${claim.creatorId}`, + amount: claim.amount, + timestamp: claimedAt, + transactionHash, + creatorId: claim.creatorId, + creatorName: claim.creatorName, + })); +} + +async function submitBatchedClaimRevenue( + variables: ClaimRevenueVariables[] | ClaimAllRevenueVariables +): Promise> { + // Production submits a batched `claim_revenue` contract call with every + // position's `key_id`. No contract wiring exists yet, so simulate latency. + void variables; + await new Promise(resolve => window.setTimeout(resolve, 900)); + return { + success: true as const, + transactionHash: buildMockTransactionHash(), + claimedAt: Date.now(), + }; +} + +/** + * Claims a single position's revenue with an optimistic zero-out of its + * `unclaimedDividend` balance. + */ +export function useClaimRevenueMutation( + address: string, + options?: { onAppended?: (records: RevenueClaimRecord[]) => void } +) { + const queryClient = useQueryClient(); + + return useMutation({ + mutationKey: ['claim-revenue', address], + mutationFn: async ( + variables: ClaimRevenueVariables + ): Promise => { + const submitted = await submitBatchedClaimRevenue([variables]); + return { + ...submitted, + claimedAmount: variables.amount, + claimedCount: 1, + }; + }, + onMutate: async (variables: ClaimRevenueVariables) => { + const queryKey = queryKeys.wallet.holdings(address); + await queryClient.cancelQueries({ queryKey }); + const previousHoldings = + queryClient.getQueryData(queryKey) ?? []; + queryClient.setQueryData(queryKey, (old = []) => + old.map(holding => + holding.creatorId === variables.creatorId + ? { ...holding, unclaimedDividend: 0, pending: true } + : holding + ) + ); + return { previousHoldings }; + }, + onError: (error, _variables, context) => { + const typedContext = context as + | { previousHoldings?: HeldKeyPosition[] } + | undefined; + if (typedContext?.previousHoldings) { + queryClient.setQueryData( + queryKeys.wallet.holdings(address), + typedContext.previousHoldings + ); + } + showToast.error(getSignatureErrorMessage(error)); + }, + onSuccess: (result, variables) => { + const records = toClaimRecords( + [variables], + result.transactionHash, + result.claimedAt + ); + options?.onAppended?.(records); + queryClient.setQueryData( + queryKeys.wallet.holdings(address), + (old = []) => + old.map(holding => + holding.creatorId === variables.creatorId + ? { ...holding, pending: false } + : holding + ) + ); + showToast.success('Revenue claimed'); + }, + onSettled: () => { + queryClient.invalidateQueries({ + queryKey: queryKeys.wallet.holdings(address), + }); + }, + }); +} + +/** + * Batch-claims revenue across all positions in one contract call with an + * optimistic UI update (all claimable balances zeroed immediately). + */ +export function useClaimAllRevenueMutation( + address: string, + options?: { onAppended?: (records: RevenueClaimRecord[]) => void } +) { + const queryClient = useQueryClient(); + + return useMutation({ + mutationKey: ['claim-all-revenue', address], + mutationFn: async ( + variables: ClaimAllRevenueVariables + ): Promise => { + const submitted = await submitBatchedClaimRevenue(variables); + return { + ...submitted, + claimedAmount: computeTotalClaimable( + variables.claims.map(claim => claim.amount) + ), + claimedCount: variables.claims.length, + }; + }, + onMutate: async (variables: ClaimAllRevenueVariables) => { + const queryKey = queryKeys.wallet.holdings(address); + await queryClient.cancelQueries({ queryKey }); + const previousHoldings = + queryClient.getQueryData(queryKey) ?? []; + const claimedIds = new Set( + variables.claims.map(claim => claim.creatorId) + ); + queryClient.setQueryData(queryKey, (old = []) => + old.map(holding => + claimedIds.has(holding.creatorId) + ? { ...holding, unclaimedDividend: 0, pending: true } + : holding + ) + ); + return { previousHoldings }; + }, + onError: (error, _variables, context) => { + const typedContext = context as + | { previousHoldings?: HeldKeyPosition[] } + | undefined; + if (typedContext?.previousHoldings) { + queryClient.setQueryData( + queryKeys.wallet.holdings(address), + typedContext.previousHoldings + ); + } + showToast.error(getSignatureErrorMessage(error)); + }, + onSuccess: (result, variables) => { + const records = toClaimRecords( + variables, + result.transactionHash, + result.claimedAt + ); + options?.onAppended?.(records); + queryClient.setQueryData( + queryKeys.wallet.holdings(address), + (old = []) => old.map(holding => ({ ...holding, pending: false })) + ); + showToast.success( + `Revenue claimed across ${result.claimedCount} position${result.claimedCount === 1 ? '' : 's'}` + ); + }, + onSettled: () => { + queryClient.invalidateQueries({ + queryKey: queryKeys.wallet.holdings(address), + }); + }, + }); +} diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index c69b6d64..280d8298 100644 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -1,13 +1,16 @@ import { useState } from 'react'; -import { BarChart2, Clock } from 'lucide-react'; +import { useSearchParams } from 'react-router'; +import { BarChart2, Clock, Coins } from 'lucide-react'; import ReferralLinkPanel from '@/components/common/ReferralLinkPanel'; import TradeHistoryTable from '@/components/common/TradeHistoryTable'; +import ProtocolRevenueClaim from '@/components/common/ProtocolRevenueClaim'; import { ProfileTabPillGroup } from '@/components/common/ProfileTabPill'; import { useProfileStore } from '@/hooks/useProfileStore'; import { useDocumentTitle } from '@/hooks/useDocumentTitle'; const TABS = [ { label: 'Holdings', value: 'holdings', icon: }, + { label: 'Staking', value: 'staking', icon: }, { label: 'Trade History', value: 'trade-history', icon: }, ]; @@ -25,9 +28,30 @@ const keys = [ export default function ProfilePage() { const profile = useProfileStore(state => state.profile); - const [activeTab, setActiveTab] = useState('holdings'); + const [searchParams, setSearchParams] = useSearchParams(); + const requestedTab = searchParams.get('tab'); + const [activeTabState, setActiveTabState] = useState( + requestedTab === 'staking' || requestedTab === 'trade-history' + ? requestedTab + : 'holdings' + ); + const activeTab = TABS.some(tab => tab.value === requestedTab) + ? (requestedTab as string) + : activeTabState; useDocumentTitle('My Portfolio — AccessLayer'); + const handleTabChange = (value: string) => { + setActiveTabState(value); + setSearchParams( + previous => { + const next = new URLSearchParams(previous); + next.set('tab', value); + return next; + }, + { replace: true } + ); + }; + return (
@@ -42,7 +66,7 @@ export default function ProfilePage() { @@ -58,6 +82,18 @@ export default function ProfilePage() { )} + {/* Staking / protocol revenue panel */} + {activeTab === 'staking' && ( +
+ +
+ )} + {/* Trade history panel */} {activeTab === 'trade-history' && (
= {}) { + const data = new Map(Object.entries(initial)); + return { + getItem: (key: string) => (data.has(key) ? data.get(key)! : null), + setItem: (key: string, value: string) => { + data.set(key, value); + }, + }; +} + +describe('computeRevenueShare (#920)', () => { + it('computes a pro-rata share of the fee pool', () => { + // 10 / 100 * 500 = 50 + expect( + computeRevenueShare({ userStaked: 10, totalStaked: 100, feePool: 500 }) + ).toBeCloseTo(50, 10); + }); + + it('returns 0 for missing or empty inputs', () => { + expect(computeRevenueShare({})).toBe(0); + expect( + computeRevenueShare({ userStaked: 10, totalStaked: 0, feePool: 500 }) + ).toBe(0); + expect( + computeRevenueShare({ userStaked: -5, totalStaked: 100, feePool: 500 }) + ).toBe(0); + }); + + it('never returns Infinity or NaN', () => { + expect( + computeRevenueShare({ + userStaked: Number.POSITIVE_INFINITY, + totalStaked: 100, + feePool: 500, + }) + ).toBe(0); + expect( + computeRevenueShare({ + userStaked: 10, + totalStaked: Number.NaN, + feePool: 500, + }) + ).toBe(0); + }); +}); + +describe('computeTotalClaimable / hasClaimableRevenue (#920)', () => { + it('sums per-position amounts ignoring invalid entries', () => { + expect(computeTotalClaimable([1.5, null, undefined, 2.5, -1])).toBeCloseTo( + 4, + 10 + ); + expect(computeTotalClaimable([])).toBe(0); + }); + + it('reports claimability only when the total is positive', () => { + expect(hasClaimableRevenue(4)).toBe(true); + expect(hasClaimableRevenue(0)).toBe(false); + expect(hasClaimableRevenue(null)).toBe(false); + }); +}); + +describe('claim history storage (#920)', () => { + it('builds a wallet-scoped storage key', () => { + expect(getClaimHistoryStorageKey('0xabc')).toBe( + 'accesslayer:claim_history:0xabc' + ); + }); + + it('round-trips records newest-first and rejects corrupt payloads', () => { + const storage = makeStorage(); + const records: RevenueClaimRecord[] = [ + { + id: 'a', + amount: 1, + timestamp: 1000, + transactionHash: 'hash-a', + }, + { + id: 'b', + amount: 2, + timestamp: 2000, + transactionHash: 'hash-b', + }, + ]; + saveClaimHistory('0xabc', records, storage); + expect(loadClaimHistory('0xabc', storage).map(r => r.id)).toEqual([ + 'b', + 'a', + ]); + + const corrupt = makeStorage({ + [getClaimHistoryStorageKey('0xabc')]: 'not-json', + }); + expect(loadClaimHistory('0xabc', corrupt)).toEqual([]); + }); + + it('builds a 64-char hex mock transaction hash', () => { + expect(buildMockTransactionHash()).toMatch(/^[0-9a-f]{64}$/); + }); +}); diff --git a/src/utils/protocolRevenue.utils.ts b/src/utils/protocolRevenue.utils.ts new file mode 100644 index 00000000..771e19de --- /dev/null +++ b/src/utils/protocolRevenue.utils.ts @@ -0,0 +1,150 @@ +/** + * Protocol-revenue math for stakers (#920). + * + * Claim-based dividend model: trading fees accumulate in a revenue pool and + * each staker can claim `userStaked / totalStaked * feePool`. The client + * surfaces the already-accrued `unclaimedDividend` per position as the + * claimable amount; this module holds the pure share math plus the + * localStorage-backed claim-history helpers (no backend endpoint exists yet). + */ + +export interface RevenueShareInputs { + userStaked?: number | null; + totalStaked?: number | null; + feePool?: number | null; +} + +export interface RevenueClaimRecord { + id: string; + amount: number; + timestamp: number; + transactionHash: string; + creatorId?: string; + creatorName?: string; +} + +function toNonNegative(value: number | null | undefined): number { + if (value == null || !Number.isFinite(value) || value <= 0) return 0; + return value; +} + +/** + * Each staker's share of the revenue pool, pro-rata by staked keys. + * Returns 0 when inputs are missing/invalid so callers never render + * Infinity/NaN. + */ +export function computeRevenueShare(inputs: RevenueShareInputs): number { + const userStaked = toNonNegative(inputs.userStaked); + const totalStaked = toNonNegative(inputs.totalStaked); + const feePool = toNonNegative(inputs.feePool); + + if (userStaked === 0 || totalStaked === 0 || feePool === 0) return 0; + + const share = (userStaked / totalStaked) * feePool; + if (!Number.isFinite(share) || share <= 0) return 0; + return share; +} + +/** + * Sums per-position claimable amounts, ignoring missing/invalid entries. + */ +export function computeTotalClaimable( + amounts: Array +): number { + return amounts.reduce( + (total, amount) => total + toNonNegative(amount), + 0 + ); +} + +/** + * Whether any revenue is available to claim. + */ +export function hasClaimableRevenue( + totalClaimable: number | null | undefined +): boolean { + return toNonNegative(totalClaimable) > 0; +} + +export function getClaimHistoryStorageKey(address: string): string { + return `accesslayer:claim_history:${address}`; +} + +type MinimalStorage = Pick; + +function resolveStorage( + storage?: MinimalStorage | null +): MinimalStorage | null { + if (storage) return storage; + if (typeof window !== 'undefined' && window.localStorage) { + return window.localStorage; + } + return null; +} + +function isValidRecord(value: unknown): value is RevenueClaimRecord { + if (typeof value !== 'object' || value === null) return false; + const record = value as Record; + return ( + typeof record.id === 'string' && + typeof record.amount === 'number' && + Number.isFinite(record.amount) && + typeof record.timestamp === 'number' && + Number.isFinite(record.timestamp) && + typeof record.transactionHash === 'string' + ); +} + +/** + * Loads persisted claim history for a wallet, newest first. + * Returns [] when storage is unavailable or the payload is corrupt. + */ +export function loadClaimHistory( + address: string, + storage?: MinimalStorage | null +): RevenueClaimRecord[] { + const store = resolveStorage(storage); + if (!address || !store) return []; + try { + const raw = store.getItem(getClaimHistoryStorageKey(address)); + if (!raw) return []; + const parsed: unknown = JSON.parse(raw); + if (!Array.isArray(parsed)) return []; + return parsed + .filter(isValidRecord) + .sort((a, b) => b.timestamp - a.timestamp); + } catch { + return []; + } +} + +/** + * Persists claim history for a wallet. Failures (quota/private mode) + * are swallowed so claiming never breaks. + */ +export function saveClaimHistory( + address: string, + records: RevenueClaimRecord[], + storage?: MinimalStorage | null +): void { + const store = resolveStorage(storage); + if (!address || !store) return; + try { + store.setItem( + getClaimHistoryStorageKey(address), + JSON.stringify(records) + ); + } catch { + // ignore persistence failures + } +} + +/** + * Builds a mock 64-char hex transaction hash for the simulated + * batched `claim_revenue` contract call. + */ +export function buildMockTransactionHash(): string { + return Array.from({ length: 64 }, () => + Math.floor(Math.random() * 16).toString(16) + ).join(''); +} From 7a4a31347e5be11f3af2ae24e5678308ad05f2f2 Mon Sep 17 00:00:00 2001 From: oshowunm Date: Thu, 24 Sep 2026 16:25:43 +0100 Subject: [PATCH 117/310] feat: add creator key marketplace listing page with bonding curve price display (#918) --- ...InfiniteCreatorMarketplace.polling.test.ts | 94 ++++++ src/hooks/useInfiniteCreatorMarketplace.ts | 29 +- src/pages/MarketplacePage.tsx | 319 ++++++++++++++++++ .../MarketplacePage.integration.test.tsx | 311 +++++++++++++++++ src/routes.tsx | 5 + .../__tests__/marketplaceSort.utils.test.ts | 105 ++++++ src/utils/__tests__/supplyTier.utils.test.ts | 60 ++++ src/utils/marketplaceSort.utils.ts | 79 +++++ src/utils/supplyTier.utils.ts | 100 ++++++ 9 files changed, 1101 insertions(+), 1 deletion(-) create mode 100644 src/hooks/__tests__/useInfiniteCreatorMarketplace.polling.test.ts create mode 100644 src/pages/MarketplacePage.tsx create mode 100644 src/pages/__tests__/MarketplacePage.integration.test.tsx create mode 100644 src/utils/__tests__/marketplaceSort.utils.test.ts create mode 100644 src/utils/__tests__/supplyTier.utils.test.ts create mode 100644 src/utils/marketplaceSort.utils.ts create mode 100644 src/utils/supplyTier.utils.ts diff --git a/src/hooks/__tests__/useInfiniteCreatorMarketplace.polling.test.ts b/src/hooks/__tests__/useInfiniteCreatorMarketplace.polling.test.ts new file mode 100644 index 00000000..85d1671f --- /dev/null +++ b/src/hooks/__tests__/useInfiniteCreatorMarketplace.polling.test.ts @@ -0,0 +1,94 @@ +/** + * Polling (refetchInterval) tests for useInfiniteCreatorMarketplace (#918). + * + * The marketplace listing must show live bonding-curve prices: the hook polls + * every 30 seconds by default, calling courseService.getCoursesPage again for + * every loaded page so the displayed price tracks the on-chain curve without a + * manual refresh. Polling can be disabled (or tuned) via options. + */ +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { renderHook } from '@testing-library/react'; +import React from 'react'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { useInfiniteCreatorMarketplace } from '../useInfiniteCreatorMarketplace'; + +const { useInfiniteQuery } = vi.hoisted(() => ({ useInfiniteQuery: vi.fn() })); + +vi.mock('@tanstack/react-query', async () => { + const actual = + await vi.importActual( + '@tanstack/react-query' + ); + return { ...actual, useInfiniteQuery }; +}); + +function minimalInfiniteQueryResult() { + return { + data: undefined, + error: null, + hasNextPage: false, + isFetching: false, + isFetchingNextPage: false, + isLoading: true, + fetchNextPage: vi.fn(), + refetch: vi.fn(), + }; +} + +function createWrapper() { + const queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + return function Wrapper({ children }: { children: React.ReactNode }) { + return React.createElement( + QueryClientProvider, + { client: queryClient }, + children + ); + }; +} + +describe('useInfiniteCreatorMarketplace polling (#918)', () => { + beforeEach(() => { + useInfiniteQuery.mockReset(); + useInfiniteQuery.mockReturnValue(minimalInfiniteQueryResult()); + }); + + it('polls the listing every 30 seconds by default', () => { + renderHook(() => useInfiniteCreatorMarketplace(), { + wrapper: createWrapper(), + }); + + const options = useInfiniteQuery.mock.calls[0]![0]; + expect(options).toMatchObject({ refetchInterval: 30_000 }); + }); + + it('allows a custom polling interval', () => { + renderHook( + () => useInfiniteCreatorMarketplace(undefined, { pollIntervalMs: 10_000 }), + { wrapper: createWrapper() } + ); + + const options = useInfiniteQuery.mock.calls[0]![0]; + expect(options).toMatchObject({ refetchInterval: 10_000 }); + }); + + it('disables polling when pollIntervalMs is false', () => { + renderHook( + () => useInfiniteCreatorMarketplace(undefined, { pollIntervalMs: false }), + { wrapper: createWrapper() } + ); + + const options = useInfiniteQuery.mock.calls[0]![0]; + expect(options).toMatchObject({ refetchInterval: false }); + }); + + it('keeps the stale-time fresh window from #691', () => { + renderHook(() => useInfiniteCreatorMarketplace(), { + wrapper: createWrapper(), + }); + + const options = useInfiniteQuery.mock.calls[0]![0]; + expect(options).toMatchObject({ staleTime: 60_000 }); + }); +}); \ No newline at end of file diff --git a/src/hooks/useInfiniteCreatorMarketplace.ts b/src/hooks/useInfiniteCreatorMarketplace.ts index 141c4e23..d722265b 100644 --- a/src/hooks/useInfiniteCreatorMarketplace.ts +++ b/src/hooks/useInfiniteCreatorMarketplace.ts @@ -9,6 +9,20 @@ const FIRST_PAGE = 1; // long; a background refetch only kicks in once data is older than this. const MARKETPLACE_STALE_TIME_MS = 60_000; +// #918 — live bonding-curve prices on the marketplace listing. Every listing +// polls silently at this interval so the displayed key price (and supply, +// volume) tracks the on-chain curve without a manual refresh. +const MARKETPLACE_POLL_INTERVAL_MS = 30_000; + +export interface UseInfiniteCreatorMarketplaceOptions { + /** + * How often (ms) to silently refetch the loaded pages so bonding-curve + * prices stay current (#918). Defaults to 30s. Pass `false` to disable + * polling entirely (e.g. in tests or non-reactive contexts). + */ + pollIntervalMs?: number | false; +} + /** * Cursor-based (page-number) infinite pagination over the creator key * marketplace listing, backed by React Query's useInfiniteQuery (#685). @@ -22,14 +36,25 @@ const MARKETPLACE_STALE_TIME_MS = 60_000; * immediately (no spinner) on remount within 60s, while React Query silently * refetches in the background once it's stale. `isRefreshing` distinguishes * that silent background refetch from the initial (spinner-worthy) load. + * + * #918 — `refetchInterval` polls the listing on a fixed cadence so the + * bonding-curve price, supply, and volume stay live on the marketplace page. */ -export function useInfiniteCreatorMarketplace(params?: Omit) { +export function useInfiniteCreatorMarketplace( + params?: Omit, + options?: UseInfiniteCreatorMarketplaceOptions +) { + const pollIntervalMs = options?.pollIntervalMs ?? MARKETPLACE_POLL_INTERVAL_MS; + const query = useInfiniteQuery({ queryKey: queryKeys.creators.infiniteList(params), queryFn: ({ pageParam }) => courseService.getCoursesPage(pageParam, params), initialPageParam: FIRST_PAGE, getNextPageParam: lastPage => (lastPage.hasMore ? lastPage.page + 1 : undefined), staleTime: MARKETPLACE_STALE_TIME_MS, + // #918 — silently refetch the loaded pages on a fixed cadence so the + // bonding-curve price stays current on the marketplace listing. + refetchInterval: pollIntervalMs === false ? false : pollIntervalMs, }); // Track whether we've already logged a background refetch for the @@ -107,6 +132,8 @@ export function useInfiniteCreatorMarketplace(params?: Omit query.refetch(), error: query.error, }; } diff --git a/src/pages/MarketplacePage.tsx b/src/pages/MarketplacePage.tsx new file mode 100644 index 00000000..0a9cbe1c --- /dev/null +++ b/src/pages/MarketplacePage.tsx @@ -0,0 +1,319 @@ +import { useMemo, useState } from 'react'; +import { ChevronDown, RefreshCw } from 'lucide-react'; +import { useDebounce } from '@/hooks/useDebounce'; +import { useDocumentTitle } from '@/hooks/useDocumentTitle'; +import { useInfiniteCreatorMarketplace } from '@/hooks/useInfiniteCreatorMarketplace'; +import { useInfiniteScroll } from '@/hooks/useInfiniteScroll'; +import { useNavigationTiming } from '@/hooks/useNavigationTiming'; +import type { Course, CourseSortOption } from '@/services/course.service'; +import CreatorCard from '@/components/common/CreatorCard'; +import { CreatorCardGridSkeleton } from '@/components/common/CreatorCardSkeleton'; +import ClearedFiltersEmptyState from '@/components/common/ClearedFiltersEmptyState'; +import EmptyState from '@/components/common/EmptyState'; +import MarketplaceSection from '@/components/common/MarketplaceSection'; +import SearchBar from '@/components/common/SearchBar'; +import SectionDivider from '@/components/common/SectionDivider'; +import StickyFilterBar from '@/components/common/StickyFilterBar'; +import { Button } from '@/components/ui/button'; +import { + MARKETPLACE_SORT_OPTIONS, + sortCreatorsByOption, +} from '@/utils/marketplaceSort.utils'; +import { formatNumber } from '@/utils/numberFormat.utils'; +import { + SUPPLY_TIERS, + matchesSupplyTier, + type SupplyTierFilter, +} from '@/utils/supplyTier.utils'; + +const PAGE_LIMIT = 12; +const SEARCH_DEBOUNCE_MS = 300; +const PRICE_POLL_INTERVAL_MS = 30_000; + +function creatorMatchesSearch(creator: Course, query: string): boolean { + return [creator.title, creator.name, creator.instructorId, creator.socialHandle] + .filter(Boolean) + .some(field => field!.toLowerCase().includes(query)); +} + +/** + * The creator key marketplace listing page (#918). + * + * Every creator key on the platform is offered here at its live bonding-curve + * price with minted supply and 24h volume. The listing polls once every 30 + * seconds so those prices track the on-chain curve without a manual refresh. + * Sort (volume / price / newest) and supply-tier filtering run entirely + * client-side over the already-loaded pages — changing them never triggers a + * full page refetch. + */ +export default function MarketplacePage() { + useNavigationTiming('marketplace'); + useDocumentTitle('Marketplace — AccessLayer'); + + const { + creators, + hasMore, + isLoadingFirstPage, + isFetchingNextPage, + isRefreshing, + fetchNextPage, + refetch, + error, + } = useInfiniteCreatorMarketplace( + { limit: PAGE_LIMIT }, + { pollIntervalMs: PRICE_POLL_INTERVAL_MS } + ); + + const [searchQuery, setSearchQuery] = useState(''); + const debouncedSearchQuery = useDebounce(searchQuery, SEARCH_DEBOUNCE_MS); + const trimmedSearch = debouncedSearchQuery.trim().toLowerCase(); + + const [sortOption, setSortOption] = useState('volume_desc'); + const [supplyTier, setSupplyTier] = useState('all'); + + const hasActiveFilters = Boolean(trimmedSearch) || supplyTier !== 'all'; + + // #918 — sort and supply-tier filter are applied client-side over the + // pages already fetched from the server, so they work instantly and never + // require a fresh network fetch. + const visibleCreators = useMemo(() => { + const searched = trimmedSearch + ? creators.filter(creator => creatorMatchesSearch(creator, trimmedSearch)) + : creators; + const tierFiltered = searched.filter(creator => + matchesSupplyTier(creator.creatorShareSupply, supplyTier) + ); + return sortCreatorsByOption(tierFiltered, sortOption); + }, [creators, trimmedSearch, supplyTier, sortOption]); + + const sentinelRef = useInfiniteScroll({ + enabled: !isLoadingFirstPage && !isFetchingNextPage, + hasMore: Boolean(hasMore), + onLoadMore: () => { + void fetchNextPage(); + }, + }); + + const handleResetFilters = () => { + setSearchQuery(''); + setSupplyTier('all'); + }; + + const handleRetry = () => { + void refetch(); + }; + + return ( +
+
+
+
+ +
+ + Access Layer logo +

+ Creator Keys Marketplace +

+

+ Explore the market +

+

+ Every creator key on Access Layer, priced live from its + bonding curve. Sort by volume or price, filter by supply + milestone, and watch prices refresh automatically — no page + reloads. +

+
+ + {isRefreshing ? ( +
+
+ +
+ + + +
+ +
+
+ + +
+
+ + +
+
+
+
+ + + + + {isLoadingFirstPage ? ( +
+ +
+ ) : error && creators.length === 0 ? ( + + ) : visibleCreators.length === 0 ? ( +
+ {creators.length === 0 ? ( + + ) : ( + + )} +
+ ) : ( +
+
+ {visibleCreators.map(creator => ( + + ))} +
+ + {isFetchingNextPage && ( +
+ +
+ )} + + {hasMore && ( + + )} + +
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/__tests__/MarketplacePage.integration.test.tsx b/src/pages/__tests__/MarketplacePage.integration.test.tsx new file mode 100644 index 00000000..f21c0a69 --- /dev/null +++ b/src/pages/__tests__/MarketplacePage.integration.test.tsx @@ -0,0 +1,311 @@ +/** + * Integration tests for the marketplace listing page (#918). + * + * Covers the acceptance criteria: grid of creator keys with live bonding-curve + * prices, sort + supply-tier filtering that works client-side (no refetch), + * 30s polling wiring, empty states, and loading skeletons. + */ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import MarketplacePage from '@/pages/MarketplacePage'; +import { useInfiniteCreatorMarketplace } from '@/hooks/useInfiniteCreatorMarketplace'; +import { useInfiniteScroll } from '@/hooks/useInfiniteScroll'; +import type { Course } from '@/services/course.service'; + +vi.mock('@/hooks/useInfiniteCreatorMarketplace'); +vi.mock('@/hooks/useInfiniteScroll'); + +vi.mock('@/components/common/CreatorCard', async () => { + const React = await import('react'); + return { + default: ({ + creator, + isPriceRefreshing = false, + }: { + creator: { id: string; title: string }; + isPriceRefreshing?: boolean; + }) => + React.createElement( + 'article', + { + 'aria-label': `Creator ${creator.title}`, + 'data-price-refreshing': isPriceRefreshing ? 'true' : 'false', + }, + creator.title + ), + }; +}); + +// StickyFilterBar reads `window.matchMedia` to decide between its mobile +// bottom-sheet and inline desktop filter layout; jsdom has no matchMedia so a +// desktop-style mock keeps the two . */ +export const MARKETPLACE_SORT_OPTIONS: ReadonlyArray<{ + value: CourseSortOption; + label: string; +}> = [ + { value: 'volume_desc', label: 'Volume: High to low' }, + { value: 'price_asc', label: 'Price: Low to high' }, + { value: 'price_desc', label: 'Price: High to low' }, + { value: 'newest', label: 'Newest' }, +]; \ No newline at end of file diff --git a/src/utils/supplyTier.utils.ts b/src/utils/supplyTier.utils.ts new file mode 100644 index 00000000..aec52a3c --- /dev/null +++ b/src/utils/supplyTier.utils.ts @@ -0,0 +1,100 @@ +/** + * Supply milestone tiers for the marketplace listing (#918). + * + * A creator key's progress along the bonding curve can be read from its + * minted supply (`creatorShareSupply`). These tiers bucket that supply into + * coarse "how far along the curve is this key" milestones so users can filter + * the marketplace, e.g. to keys that are still cheap to mint (Early) vs keys + * that have nearly exhausted their curve (Fully issued). + */ + +export interface SupplyTierDefinition { + id: SupplyTierId; + label: string; + /** Shorter label for tight UI (badges, select boxes). */ + shortLabel: string; + description: string; + /** Inclusive lower bound on `creatorShareSupply`; `undefined` = unbounded. */ + minSupply?: number; + /** Inclusive upper bound on `creatorShareSupply`; `undefined` = unbounded. */ + maxSupply?: number; +} + +export type SupplyTierId = 'early' | 'growth' | 'established' | 'maxed'; + +/** + * Supply filter offered on the marketplace page. `all` shows every listing + * regardless of tier; the remaining values map to a `SupplyTierId`. + */ +export type SupplyTierFilter = 'all' | SupplyTierId; + +/** Ordered list of every supply tier — also drives filter
)} diff --git a/src/services/__tests__/stakerRevenue.service.test.ts b/src/services/__tests__/stakerRevenue.service.test.ts new file mode 100644 index 00000000..cdd65be6 --- /dev/null +++ b/src/services/__tests__/stakerRevenue.service.test.ts @@ -0,0 +1,126 @@ +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { ApiError } from '../api.service'; + +const { mockGet } = vi.hoisted(() => ({ + mockGet: vi.fn(), +})); + +vi.mock('axios', () => ({ + default: { + create: vi.fn(() => ({ + get: mockGet, + interceptors: { + request: { use: vi.fn() }, + response: { use: vi.fn() }, + }, + })), + isAxiosError: (err: unknown): boolean => + err !== null && + typeof err === 'object' && + (err as Record).isAxiosError === true, + }, + isAxiosError: (err: unknown): boolean => + err !== null && + typeof err === 'object' && + (err as Record).isAxiosError === true, +})); + +import { cacheManager } from '@/utils/cache.utils'; + +import { + stakerRevenueService, + fetchProtocolRevenuePage, +} from '../stakerRevenue.service'; + +const WALLET = 'GDEMOWALLET0000000000000000000000000000000000000000000000001'; + +function fakeApiResponse(data: T) { + return { + data: { success: true, data, message: 'ok' }, + }; +} + +function fakeApiError(status: number, message: string) { + return { + isAxiosError: true as const, + response: { status, data: { success: false, message } }, + config: {}, + message, + }; +} + +describe('stakerRevenueService', () => { + beforeEach(() => { + mockGet.mockReset(); + cacheManager.invalidateAll(); + }); + + it('fetches protocol revenue distribution history with cursor pagination from GET /staker/:wallet/protocol-revenue', async () => { + const mockResponse = { + distributions: [ + { + id: 'dist-1', + distributionDate: '2026-09-20T12:00:00Z', + totalDistributed: 5000, + stakerCount: 100, + amountReceived: 50, + }, + ], + nextCursor: 'cursor-2', + }; + + mockGet.mockResolvedValueOnce(fakeApiResponse(mockResponse)); + + const result = await stakerRevenueService.getProtocolRevenueHistory({ + wallet: WALLET, + cursor: 'cursor-1', + limit: 10, + }); + + expect(mockGet).toHaveBeenCalledWith( + `/staker/${WALLET}/protocol-revenue`, + { + params: { cursor: 'cursor-1', limit: 10 }, + } + ); + expect(result).toEqual(mockResponse); + }); + + it('fetches page using convenience wrapper fetchProtocolRevenuePage', async () => { + const mockResponse = { + distributions: [ + { + id: 'dist-2', + distributionDate: '2026-09-21T12:00:00Z', + totalDistributed: 10000, + stakerCount: 200, + amountReceived: 50, + }, + ], + nextCursor: null, + }; + + mockGet.mockResolvedValueOnce(fakeApiResponse(mockResponse)); + + const result = await fetchProtocolRevenuePage(WALLET, null); + + expect(mockGet).toHaveBeenCalledWith( + `/staker/${WALLET}/protocol-revenue`, + { + params: {}, + } + ); + expect(result).toEqual(mockResponse); + }); + + it('throws ApiError on HTTP failure', async () => { + mockGet.mockRejectedValueOnce(fakeApiError(500, 'Server error')); + + const err = await stakerRevenueService + .getProtocolRevenueHistory({ wallet: WALLET }) + .catch((e: unknown) => e); + + expect(err).toBeInstanceOf(ApiError); + expect((err as ApiError).status).toBe(500); + }); +}); diff --git a/src/services/stakerRevenue.service.ts b/src/services/stakerRevenue.service.ts new file mode 100644 index 00000000..cb519bea --- /dev/null +++ b/src/services/stakerRevenue.service.ts @@ -0,0 +1,72 @@ +import { BaseApiService, type APIResponse } from './api.service'; +import { cacheManager } from '@/utils/cache.utils'; + +/** + * A single protocol revenue distribution event returned from GET /staker/:wallet/protocol-revenue. + */ +export interface ProtocolRevenueDistribution { + id: string; + distributionDate: string | number; + totalDistributed: number; + stakerCount: number; + amountReceived: number; +} + +/** Cursor-paginated response envelope for the protocol revenue distribution endpoint. */ +export interface ProtocolRevenueDistributionPage { + distributions: ProtocolRevenueDistribution[]; + nextCursor: string | null; +} + +/** Parameters accepted by {@link StakerRevenueService.getProtocolRevenueHistory}. */ +export interface GetProtocolRevenueParams { + wallet: string; + cursor?: string | null; + limit?: number; +} + +const STAKER_REVENUE_CACHE_PREFIX = 'staker_revenue_'; +const STAKER_REVENUE_CACHE_TTL_MS = 15_000; + +class StakerRevenueService extends BaseApiService { + async getProtocolRevenueHistory({ + wallet, + cursor, + limit, + }: GetProtocolRevenueParams): Promise { + const cacheKey = `${STAKER_REVENUE_CACHE_PREFIX}${wallet}_${cursor ?? 'first'}_${limit ?? 'default'}`; + const cached = + cacheManager.get(cacheKey); + if (cached) return cached; + + try { + const response = await this.api.get< + APIResponse + >(`/staker/${wallet}/protocol-revenue`, { + params: { + ...(cursor ? { cursor } : {}), + ...(limit ? { limit } : {}), + }, + }); + + const data = response.data.data; + cacheManager.set(cacheKey, data, STAKER_REVENUE_CACHE_TTL_MS); + return data; + } catch (error) { + throw this.handleError(error); + } + } +} + +export const stakerRevenueService = new StakerRevenueService(); + +/** + * Convenience wrapper for fetching a page of protocol revenue distribution history. + * Exposed as a plain function to facilitate test spying. + */ +export async function fetchProtocolRevenuePage( + wallet: string, + cursor: string | null | undefined +): Promise { + return stakerRevenueService.getProtocolRevenueHistory({ wallet, cursor }); +} From 6fc9a8f29bf79f71c692c0e2bc799a12d9355a8f Mon Sep 17 00:00:00 2001 From: gospeltout Date: Thu, 24 Sep 2026 19:21:55 +0100 Subject: [PATCH 119/310] feat: add key deprecation management panel and wind-down flow --- src/components/common/CreatorCard.tsx | 152 +++++++----- src/components/common/DeprecateKeyPanel.tsx | 219 ++++++++++++++++++ .../__tests__/DeprecateKeyPanel.test.tsx | 103 ++++++++ src/hooks/useCreatorContractActions.ts | 44 +++- src/pages/CreatorDashboardPage.tsx | 152 +++++++++--- src/pages/CreatorDetailPage.tsx | 118 +++++++--- .../CreatorDetailPageDeprecation.test.tsx | 93 ++++++++ 7 files changed, 762 insertions(+), 119 deletions(-) create mode 100644 src/components/common/DeprecateKeyPanel.tsx create mode 100644 src/components/common/__tests__/DeprecateKeyPanel.test.tsx create mode 100644 src/pages/__tests__/CreatorDetailPageDeprecation.test.tsx diff --git a/src/components/common/CreatorCard.tsx b/src/components/common/CreatorCard.tsx index ca506d23..f9da218b 100644 --- a/src/components/common/CreatorCard.tsx +++ b/src/components/common/CreatorCard.tsx @@ -38,6 +38,7 @@ import { formatJoinDate } from '@/utils/formatJoinDate'; import { useSystemTheme } from '@/utils/useSystemTheme'; import { Tooltip } from '@/components/ui/tooltip'; import { AsyncButton } from '@/components/ui/async-button'; +import { isKeyDeprecated } from '@/utils/keyDeprecation.utils'; import { useNetworkMismatch } from '@/hooks/useNetworkMismatch'; import { useTransactionTelemetry } from '@/hooks/useTransactionTelemetry'; import { copyTextToClipboard } from '@/utils/clipboard.utils'; @@ -102,7 +103,9 @@ const CreatorCard: React.FC = ({ }); const priceChartDescriptionId = `creator-price-chart-description-${creator.id}`; const { isConnected, address } = useAccount(); - const setConnectedWalletKey = useConnectedWallet(state => state.setWalletKey); + const setConnectedWalletKey = useConnectedWallet( + state => state.setWalletKey + ); useEffect(() => { setConnectedWalletKey(address); }, [address, setConnectedWalletKey]); @@ -122,7 +125,6 @@ const CreatorCard: React.FC = ({ // Keyboard shortcut for quick buy (press 'b' when card is focused) - const runPurchaseAttempt = useCallback(() => { setTransactionState('submitting'); trackTransactionEvent('tx_submitted', { @@ -180,7 +182,12 @@ const CreatorCard: React.FC = ({ setTransactionState('idle'); }, 1800); }, 1500); - }, [creator.id, displayCreatorName, trackTransactionEvent, setTransactionState]); + }, [ + creator.id, + displayCreatorName, + trackTransactionEvent, + setTransactionState, + ]); const isRecentlyActive = (creator.volume24h ?? 0) > 0; const keyPriceDisplay = formatCreatorKeyPriceDisplay(creator); @@ -191,7 +198,9 @@ const CreatorCard: React.FC = ({ await copyTextToClipboard(url); toast.success('Profile link copied'); } catch { - toast.error('Could not copy the profile link. Please copy it manually.'); + toast.error( + 'Could not copy the profile link. Please copy it manually.' + ); } }; @@ -231,10 +240,19 @@ const CreatorCard: React.FC = ({ }); // Implementation for contract interaction would go here runPurchaseAttempt(); - }, [isConnected, isNetworkMismatch, expectedChainName, displayCreatorName, runPurchaseAttempt]); + }, [ + isConnected, + isNetworkMismatch, + expectedChainName, + displayCreatorName, + runPurchaseAttempt, + ]); const resolvedHolderCount = - creator.holderCount ?? creator.holdersCount ?? creator.holders ?? creator.creatorShareSupply; + creator.holderCount ?? + creator.holdersCount ?? + creator.holders ?? + creator.creatorShareSupply; return (
= ({
)} - {/* Price history sparkline */} - {creator.priceHistory && creator.priceHistory.length >= 2 && (() => { - const latest = creator.priceHistory[creator.priceHistory.length - 1]; - const earliest = creator.priceHistory[0]; - let lineColor = '#fbbf24'; - if (latest > earliest) lineColor = '#22c55e'; - else if (latest < earliest) lineColor = '#ef4444'; - - return ( - -
- - - - - - - - - - - {priceChartAccessibility.points.map(point => ( - - - - - ))} - -
{priceChartAccessibility.summary}
PointKey price
{point.label}{point.value}
-
-
- ); - })()} + {/* Price history sparkline */} + {creator.priceHistory && + creator.priceHistory.length >= 2 && + (() => { + const latest = + creator.priceHistory[creator.priceHistory.length - 1]; + const earliest = creator.priceHistory[0]; + let lineColor = '#fbbf24'; + if (latest > earliest) lineColor = '#22c55e'; + else if (latest < earliest) lineColor = '#ef4444'; + + return ( + +
+ + + + + + + + + + + {priceChartAccessibility.points.map(point => ( + + + + + ))} + +
+ {priceChartAccessibility.summary} +
PointKey price
{point.label}{point.value}
+
+
+ ); + })()}
@@ -565,7 +591,11 @@ const CreatorCard: React.FC = ({
- Press B to quick buy + Press{' '} + + B + {' '} + to quick buy
= ({ size="sm" isPending={transactionState === 'submitting'} pendingText="Processing..." - disabled={isNetworkMismatch} + disabled={isNetworkMismatch || isKeyDeprecated(creator)} className={cn( 'rounded-xl font-bold', !isConnected && 'border-white/10 hover:bg-white/5' @@ -590,13 +620,15 @@ const CreatorCard: React.FC = ({ )} - {transactionState === 'submitting' - ? 'Processing...' - : transactionState === 'success' - ? 'Completed' - : transactionState === 'failed' - ? 'Retry Purchase' - : 'Buy Key'} + {isKeyDeprecated(creator) + ? 'Key Deprecated' + : transactionState === 'submitting' + ? 'Processing...' + : transactionState === 'success' + ? 'Completed' + : transactionState === 'failed' + ? 'Retry Purchase' + : 'Buy Key'}
@@ -604,9 +636,11 @@ const CreatorCard: React.FC = ({ state={transactionState} className="mt-4" disabledReason={ - isNetworkMismatch - ? `Switch to ${expectedChainName} to enable purchases.` - : undefined + isKeyDeprecated(creator) + ? 'This key has been deprecated and can no longer be bought.' + : isNetworkMismatch + ? `Switch to ${expectedChainName} to enable purchases.` + : undefined } /> diff --git a/src/components/common/DeprecateKeyPanel.tsx b/src/components/common/DeprecateKeyPanel.tsx new file mode 100644 index 00000000..1105f9f7 --- /dev/null +++ b/src/components/common/DeprecateKeyPanel.tsx @@ -0,0 +1,219 @@ +import React, { useState } from 'react'; +import { AlertTriangle, AlertCircle } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { formatNumber } from '@/utils/numberFormat.utils'; + +export interface DeprecateKeyPanelProps { + /** Creator ID or key ID. */ + creatorId: string; + /** Current circulating supply of keys. */ + circulatingSupply: number; + /** Optional creator wallet balance in XLM to check for sufficient funds. */ + creatorBalanceXlm?: number | null; + /** Whether the key has already been deprecated. */ + isDeprecated?: boolean; + /** Called when submitting deprecation with buybackPrice and totalEscrow. */ + onSubmit: (params: { + buybackPrice: number; + totalEscrow: number; + }) => void | Promise; + isSubmitting?: boolean; +} + +const fieldClass = + 'w-full rounded-md border border-white/10 bg-white/[0.04] px-3 py-2 text-sm text-white placeholder:text-white/30 outline-none transition-colors focus:border-amber-400/40 focus:ring-[3px] focus:ring-amber-400/20 disabled:opacity-50'; + +/** + * Key deprecation management panel for the creator dashboard settings tab. + * + * Lets creators initiate key deprecation by specifying a per-key buyback price, + * previews the required total XLM escrow, verifies sufficient creator balance, + * and requires typing "DEPRECATE" in a confirmation field to enable submission. + */ +const DeprecateKeyPanel: React.FC = ({ + circulatingSupply, + creatorBalanceXlm, + isDeprecated = false, + onSubmit, + isSubmitting = false, +}) => { + const [buybackPriceInput, setBuybackPriceInput] = useState('1'); + const [confirmTextInput, setConfirmTextInput] = useState(''); + + const parsedBuybackPrice = Number(buybackPriceInput) || 0; + const totalEscrowRequired = parsedBuybackPrice * circulatingSupply; + + const isConfirmationTyped = confirmTextInput.trim() === 'DEPRECATE'; + + // Balance validation: show error if creator balance is known and less than totalEscrowRequired + const isBalanceInsufficient = + creatorBalanceXlm != null && + Number.isFinite(creatorBalanceXlm) && + creatorBalanceXlm < totalEscrowRequired; + + const isSubmitDisabled = + isSubmitting || + !isConfirmationTyped || + isBalanceInsufficient || + parsedBuybackPrice <= 0; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (isSubmitDisabled) return; + onSubmit({ + buybackPrice: parsedBuybackPrice, + totalEscrow: totalEscrowRequired, + }); + }; + + if (isDeprecated) { + return ( +
+
+ +
+

+ Key deprecated +

+

+ This key has been deprecated. All new buys are disabled and + holders can redeem their keys for escrowed buyback value. +

+
+
+
+ ); + } + + return ( +
+ {/* Prominent warning box */} +
+ +
+ Deprecating a key is irreversible. All new buys will be disabled. +
+
+ + {/* Buyback Price Input & Circulating Supply Info */} +
+
+ + setBuybackPriceInput(e.target.value)} + disabled={isSubmitting} + placeholder="e.g. 1.5" + /> +
+ +
+

+ Circulating Key Supply +

+

+ {formatNumber(circulatingSupply)} keys +

+
+
+ + {/* Total Escrow Calculation Display */} +
+
+ + Total XLM Escrow Required + + + {totalEscrowRequired.toLocaleString(undefined, { + minimumFractionDigits: 2, + maximumFractionDigits: 4, + })}{' '} + XLM + +
+

+ Calculation: {parsedBuybackPrice} XLM × {circulatingSupply}{' '} + circulating keys +

+
+ + {/* Insufficient Creator Balance Error */} + {isBalanceInsufficient && ( +
+ + + Insufficient creator balance for escrow. Required:{' '} + {totalEscrowRequired.toFixed(2)} XLM, Available:{' '} + {creatorBalanceXlm.toFixed(2)} XLM + +
+ )} + + {/* Confirmation Input: DEPRECATE */} +
+ + setConfirmTextInput(e.target.value)} + disabled={isSubmitting} + placeholder="Type DEPRECATE" + aria-label="Type DEPRECATE to confirm key deprecation" + /> +
+ + +
+ ); +}; + +export default DeprecateKeyPanel; diff --git a/src/components/common/__tests__/DeprecateKeyPanel.test.tsx b/src/components/common/__tests__/DeprecateKeyPanel.test.tsx new file mode 100644 index 00000000..0cbf543b --- /dev/null +++ b/src/components/common/__tests__/DeprecateKeyPanel.test.tsx @@ -0,0 +1,103 @@ +import React from 'react'; +import { render, screen, fireEvent } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import DeprecateKeyPanel from '../DeprecateKeyPanel'; + +describe('DeprecateKeyPanel', () => { + it('computes total escrow amount correctly as buybackPrice * circulatingSupply', () => { + render( + + ); + + // Default buyback price input is 1, supply is 100 => total escrow = 100 XLM + const escrowDisplay = screen.getByTestId('total-escrow-amount'); + expect(escrowDisplay).toHaveTextContent('100.00 XLM'); + + // Change buyback price to 2.5 + const priceInput = screen.getByTestId('buyback-price-input'); + fireEvent.change(priceInput, { target: { value: '2.5' } }); + + // 2.5 * 100 = 250 XLM + expect(screen.getByTestId('total-escrow-amount')).toHaveTextContent( + '250.00 XLM' + ); + }); + + it('disables submit until "DEPRECATE" is typed in the confirmation input', () => { + const handleSubmit = vi.fn(); + render( + + ); + + const submitBtn = screen.getByTestId('deprecate-key-submit'); + const confirmInput = screen.getByTestId('deprecate-confirm-input'); + + // Initially submit is disabled + expect(submitBtn).toBeDisabled(); + + // Typing incorrect string leaves submit disabled + fireEvent.change(confirmInput, { target: { value: 'deprecate' } }); + expect(submitBtn).toBeDisabled(); + + // Typing exact "DEPRECATE" enables submit + fireEvent.change(confirmInput, { target: { value: 'DEPRECATE' } }); + expect(submitBtn).toBeEnabled(); + + fireEvent.click(submitBtn); + expect(handleSubmit).toHaveBeenCalledWith({ + buybackPrice: 1, + totalEscrow: 100, + }); + }); + + it('shows error when creator balance is insufficient for escrow and disables submit', () => { + render( + + ); + + expect( + screen.getByTestId('insufficient-balance-error') + ).toBeInTheDocument(); + expect( + screen.getByTestId('insufficient-balance-error') + ).toHaveTextContent( + 'Insufficient creator balance for escrow. Required: 100.00 XLM, Available: 50.00 XLM' + ); + + // Confirm submit stays disabled even if DEPRECATE is typed + const confirmInput = screen.getByTestId('deprecate-confirm-input'); + fireEvent.change(confirmInput, { target: { value: 'DEPRECATE' } }); + expect(screen.getByTestId('deprecate-key-submit')).toBeDisabled(); + }); + + it('shows "Key deprecated" banner when isDeprecated is true', () => { + render( + + ); + + const banner = screen.getByTestId('key-deprecated-banner'); + expect(banner).toBeInTheDocument(); + expect(banner).toHaveTextContent('Key deprecated'); + expect( + screen.queryByTestId('deprecate-key-submit') + ).not.toBeInTheDocument(); + }); +}); diff --git a/src/hooks/useCreatorContractActions.ts b/src/hooks/useCreatorContractActions.ts index df428a9c..833a8f7b 100644 --- a/src/hooks/useCreatorContractActions.ts +++ b/src/hooks/useCreatorContractActions.ts @@ -24,7 +24,9 @@ async function submitContractCall(fn: string, args: unknown) { // In production this signs and submits `fn` with `args` via the wallet. void fn; void args; - await new Promise(resolve => window.setTimeout(resolve, SIGN_LATENCY_MS)); + await new Promise(resolve => + window.setTimeout(resolve, SIGN_LATENCY_MS) + ); return { success: true as const }; } @@ -116,7 +118,10 @@ export function useSetMaxBuyQuantityMutation(creatorId: string) { return useMutation({ mutationKey: ['contract', 'set_max_buy_quantity', creatorId], mutationFn: (maxBuyQuantity: number) => - submitContractCall('set_max_buy_quantity', { creatorId, maxBuyQuantity }), + submitContractCall('set_max_buy_quantity', { + creatorId, + maxBuyQuantity, + }), onError: error => { showToast.error(getSignatureErrorMessage(error)); }, @@ -179,7 +184,10 @@ export function useConfigureGraduatedCurveMutation(creatorId: string) { return useMutation({ mutationKey: ['contract', 'configure_graduated_curve', creatorId], mutationFn: (milestones: GraduatedCurveConfigInput) => - submitContractCall('configure_graduated_curve', { creatorId, milestones }), + submitContractCall('configure_graduated_curve', { + creatorId, + milestones, + }), onError: error => { showToast.error(getSignatureErrorMessage(error)); }, @@ -191,3 +199,33 @@ export function useConfigureGraduatedCurveMutation(creatorId: string) { }, }); } + +export interface DeprecateKeyInput { + buybackPrice: number; + totalEscrow: number; +} + +export function useDeprecateKeyMutation(creatorId: string) { + const queryClient = useQueryClient(); + + return useMutation({ + mutationKey: ['contract', 'deprecate_key', creatorId], + mutationFn: (input: DeprecateKeyInput) => + submitContractCall('deprecate_key', { creatorId, ...input }), + onError: error => { + showToast.error(getSignatureErrorMessage(error)); + }, + onSuccess: () => { + cacheManager.invalidate(`course_${creatorId}`); + queryClient.setQueryData( + queryKeys.creators.detail(creatorId), + (old: Record | undefined) => + old ? { ...old, deprecated: true } : old + ); + queryClient.invalidateQueries({ + queryKey: queryKeys.creators.detail(creatorId), + }); + showToast.success('Key deprecated successfully'); + }, + }); +} diff --git a/src/pages/CreatorDashboardPage.tsx b/src/pages/CreatorDashboardPage.tsx index 02806993..4de46fc8 100644 --- a/src/pages/CreatorDashboardPage.tsx +++ b/src/pages/CreatorDashboardPage.tsx @@ -9,6 +9,8 @@ import MaxBuyQuantityPanel from '@/components/common/MaxBuyQuantityPanel'; import QuorumSettingsPanel from '@/components/common/QuorumSettingsPanel'; import GraduatedCurvePanel from '@/components/common/GraduatedCurvePanel'; import BuyCooldownPanel from '@/components/common/BuyCooldownPanel'; +import DeprecateKeyPanel from '@/components/common/DeprecateKeyPanel'; +import { AlertTriangle } from 'lucide-react'; import { useCancelAuctionMutation, useConfigureAuctionMutation, @@ -18,8 +20,12 @@ import { useSetQuorumBpsMutation, useConfigureGraduatedCurveMutation, useSetBuyCooldownMutation, + useDeprecateKeyMutation, } from '@/hooks/useCreatorContractActions'; -import { formatDisplayKeyPrice, resolveCreatorKeyPriceStroops } from '@/utils/keyPriceDisplay.utils'; +import { + formatDisplayKeyPrice, + resolveCreatorKeyPriceStroops, +} from '@/utils/keyPriceDisplay.utils'; import { formatNumber } from '@/utils/numberFormat.utils'; import { GraduatedCurveMilestoneChart } from '@/components/common/GraduatedCurveMilestoneChart'; @@ -52,6 +58,7 @@ export default function CreatorDashboardPage() { const setQuorumBps = useSetQuorumBpsMutation(id); const configureGraduatedCurve = useConfigureGraduatedCurveMutation(id); const setBuyCooldown = useSetBuyCooldownMutation(id); + const deprecateKey = useDeprecateKeyMutation(id); const setTab = (value: string) => { setSearchParams( @@ -78,9 +85,15 @@ export default function CreatorDashboardPage() { return (
-

Creator dashboard

-

- We couldn't load this creator's dashboard. Try again shortly. +

+ Creator dashboard +

+

+ We couldn't load this creator's dashboard. Try again + shortly.

@@ -99,7 +112,32 @@ export default function CreatorDashboardPage() {

- + {creator.deprecated && ( +
+
+ +
+

+ Key deprecated +

+

+ This key has been deprecated. All new buys are + disabled and holders can redeem their keys for + escrowed buyback value. +

+
+
+
+ )} + + {activeTab === 'overview' && (
@@ -119,7 +157,9 @@ export default function CreatorDashboardPage() { Current price
- {formatDisplayKeyPrice(resolveCreatorKeyPriceStroops(creator))} + {formatDisplayKeyPrice( + resolveCreatorKeyPriceStroops(creator) + )}
@@ -134,7 +174,9 @@ export default function CreatorDashboardPage() {
Category
-
{creator.category}
+
+ {creator.category} +
@@ -154,62 +196,81 @@ export default function CreatorDashboardPage() { aria-labelledby="profile-tab-settings" data-testid="dashboard-settings-panel" > -
+

Edit Profile

- Update the display name, bio and avatar stored with your key. + Update the display name, bio and avatar stored with your + key.

metadataMutation.mutate(change)} />
-
+

Auction Setup

- Set a fixed auction price and supply allocation before your key - goes live. + Set a fixed auction price and supply allocation before + your key goes live.

configureAuction.mutate(input)} onCancel={() => cancelAuction.mutate()} />
-
+

Launch Penalty

- Charge early sellers a percentage fee during the first 7 days - after key creation. + Charge early sellers a percentage fee during the first 7 + days after key creation.

setLaunchPenalty.mutate(penaltyBps)} + onSubmit={penaltyBps => + setLaunchPenalty.mutate(penaltyBps) + } />
-
+

Buy Cooldown

- Set a delay in minutes between consecutive buys from the same - wallet. + Set a delay in minutes between consecutive buys from the + same wallet.

-
+

Max Buy Per Transaction

- Limit how many keys a wallet can buy in a single transaction. + Limit how many keys a wallet can buy in a single + transaction.

-
+

Graduated Curve

- Configure up to five supply milestones and the exponent applied to each tier. + Configure up to five supply milestones and the exponent + applied to each tier.

configureGraduatedCurve.mutate(milestones)} + onSubmit={milestones => + configureGraduatedCurve.mutate(milestones) + } + /> +
+ +
+

+ Deprecate Key +

+

+ Initiate a key wind-down by setting a buyback price and + escrowing the required XLM. +

+ deprecateKey.mutate(params)} />
@@ -257,13 +348,16 @@ export default function CreatorDashboardPage() { aria-labelledby="profile-tab-governance" data-testid="dashboard-governance-panel" > -
+

Quorum Settings

- Set the minimum percentage of holders that must participate - in a vote for a proposal to pass. + Set the minimum percentage of holders that must + participate in a vote for a proposal to pass.

-
{ - if (window.history.length > 1 && location.key !== 'default') { + if ( + window.history.length > 1 && + location.key !== 'default' + ) { navigate(-1); return; } @@ -230,17 +236,42 @@ function CreatorDetailPageContent() { className="mt-3 shrink-0" />
- {/* 4 Stat Cards */}
- + {/* Deprecation Notice and Buy Action on Key Detail Page */} + {isKeyDeprecated(creator) && ( +
+ +
+ )} +
+
+

+ Key Purchase +

+

+ {isKeyDeprecated(creator) + ? 'Key is deprecated. New buys are disabled.' + : 'Purchase keys for this creator.'} +

+
+ +
{/* Buy Cooldown Countdown (only meaningful for authenticated users) */} {userAddress && ( )} - {/* Share to X Button (only visible for authenticated holders) */}
- {isTwapLoading ? ( -
-
+
+
+ + +
) : twapPrice != null ? ( -
+
- TWAP (24h) + + TWAP (24h) + - +
-
{formatDisplayKeyPrice(twapPrice)}
+
+ {formatDisplayKeyPrice(twapPrice)} +
- {twapDelta != null && {twapDelta < 0 ? '▼' : '▲'} {formatDisplayKeyPrice(Math.abs(twapDelta))} vs spot} + {twapDelta != null && ( + + {twapDelta < 0 ? '▼' : '▲'}{' '} + {formatDisplayKeyPrice(Math.abs(twapDelta))} vs spot + + )}
) : null} - {/* Staking Rewards */} - {/* Price Chart */}
- {/* Buy Simulation Tool */} - {/* Holder Concentration */}
- {/* Fee Structure */}
@@ -328,15 +391,14 @@ function CreatorDetailPageContent() {
- - {/* Co-Creator Section */} - + {/* Co-Creator Section */}{' '} + {/* Activity Feed */}

diff --git a/src/pages/__tests__/CreatorDetailPageDeprecation.test.tsx b/src/pages/__tests__/CreatorDetailPageDeprecation.test.tsx new file mode 100644 index 00000000..0e82ee35 --- /dev/null +++ b/src/pages/__tests__/CreatorDetailPageDeprecation.test.tsx @@ -0,0 +1,93 @@ +import React from 'react'; +import { render, screen, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { MemoryRouter, Routes, Route } from 'react-router'; +import CreatorDetailPage from '@/pages/CreatorDetailPage'; +import { courseService } from '@/services/course.service'; + +vi.mock('@/services/course.service', () => ({ + courseService: { + getCourse: vi.fn(), + getHoldersPage: vi.fn(), + }, +})); + +vi.mock('framer-motion', () => ({ + AnimatePresence: ({ children }: React.PropsWithChildren) => children, + LayoutGroup: ({ children }: React.PropsWithChildren) => children, + motion: { + div: ({ children, ...props }: React.HTMLAttributes) => ( +
{children}
+ ), + h1: ({ + children, + ...props + }: React.HTMLAttributes) => ( +

{children}

+ ), + button: ({ + children, + ...props + }: React.ButtonHTMLAttributes) => ( + + ), + }, +})); + +const mockGetCourse = vi.mocked(courseService.getCourse); +const mockGetHoldersPage = vi.mocked(courseService.getHoldersPage); + +function createQueryClient() { + return new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); +} + +describe('CreatorDetailPage — Deprecation & Buy Button', () => { + beforeEach(() => { + vi.restoreAllMocks(); + mockGetHoldersPage.mockResolvedValue({ + holders: [], + nextPage: null, + totalCount: 0, + }); + }); + + it('disables the Buy button on the key detail page after deprecation', async () => { + mockGetCourse.mockResolvedValueOnce({ + id: 'creator-deprecated', + title: 'Deprecated Creator', + description: 'Test description', + category: 'Tech', + level: 'BEGINNER', + price: 1, + priceStroops: 10_000_000, + creatorShareSupply: 100, + deprecated: true, + deprecationReason: 'Creator left platform', + }); + + const queryClient = createQueryClient(); + render( + + + + } /> + + + + ); + + await waitFor(() => { + expect( + screen.getByTestId('key-detail-buy-button') + ).toBeInTheDocument(); + }); + + const buyButton = screen.getByTestId('key-detail-buy-button'); + expect(buyButton).toBeDisabled(); + expect(buyButton).toHaveTextContent('Buy Disabled (Deprecated)'); + expect(screen.getByTestId('deprecation-notice')).toBeInTheDocument(); + }); +}); From 45b496f85f2ebfc72bf9a3fbbf46f88a9e574f70 Mon Sep 17 00:00:00 2001 From: byteMara Date: Thu, 24 Sep 2026 20:18:45 +0100 Subject: [PATCH 120/310] feat: implement trading volume leaderboard with 24h/7d toggle (#929) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add VolumeWindow type ('24h' | '7d') to leaderboard service - Extend LeaderboardEntry with price, volume24h, and volume7d fields - Pass window query param to /leaderboard/volume API endpoint - Update queryKeys.leaderboard.volume() to key by window - Update useLeaderboardVolume hook to accept window param and add 60s refetchInterval for auto-refresh - Rewrite LeaderboardPage with: - 24h / 7d toggle (aria-pressed) that re-ranks without page reload - Rank, creator name/avatar, price, 24h volume, 7d volume columns - Active window volume column highlighted in bold - Price change percentage colour-coded green (positive) / red (negative) - Row click navigates to /creator/:id detail page - Refresh status badge showing live pulse or spinning icon - Document title set to 'Leaderboard — AccessLayer' - Accessible skeleton with sr-only loading label --- src/hooks/useLeaderboardVolume.ts | 15 +- src/lib/queryKeys.ts | 4 +- src/pages/LeaderboardPage.tsx | 212 ++++++++++++++++++++++------ src/services/leaderboard.service.ts | 23 ++- 4 files changed, 200 insertions(+), 54 deletions(-) diff --git a/src/hooks/useLeaderboardVolume.ts b/src/hooks/useLeaderboardVolume.ts index 193d5292..6504a3e3 100644 --- a/src/hooks/useLeaderboardVolume.ts +++ b/src/hooks/useLeaderboardVolume.ts @@ -1,14 +1,17 @@ import { useQuery } from '@tanstack/react-query'; -import { leaderboardService } from '@/services/leaderboard.service'; +import { leaderboardService, type VolumeWindow } from '@/services/leaderboard.service'; import { queryKeys } from '@/lib/queryKeys'; -/** 5 minutes stale time as specified in the issue. */ -const LEADERBOARD_STALE_TIME_MS = 5 * 60 * 1000; +/** Stale after 55 s so a background refetch is triggered before the 60 s UI badge ticks. */ +const LEADERBOARD_STALE_TIME_MS = 55 * 1_000; +/** Auto-refresh the leaderboard every 60 seconds as required by #929. */ +const LEADERBOARD_REFETCH_INTERVAL_MS = 60 * 1_000; -export function useLeaderboardVolume() { +export function useLeaderboardVolume(window: VolumeWindow = '24h') { return useQuery({ - queryKey: queryKeys.leaderboard.volume(), - queryFn: () => leaderboardService.getVolumeLeaderboard(), + queryKey: queryKeys.leaderboard.volume(window), + queryFn: () => leaderboardService.getVolumeLeaderboard(window), staleTime: LEADERBOARD_STALE_TIME_MS, + refetchInterval: LEADERBOARD_REFETCH_INTERVAL_MS, }); } diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index d511adb4..60997ab5 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -8,6 +8,7 @@ */ import type { GetCoursesParams } from '@/services/course.service'; +import type { VolumeWindow } from '@/services/leaderboard.service'; export const queryKeys = { creatorProfile: { @@ -46,7 +47,8 @@ export const queryKeys = { }, leaderboard: { all: () => ['leaderboard'] as const, - volume: () => ['leaderboard', 'volume'] as const, + volume: (window: VolumeWindow = '24h') => + ['leaderboard', 'volume', window] as const, }, admin: { oracleCallers: () => ['admin', 'oracle', 'callers'] as const, diff --git a/src/pages/LeaderboardPage.tsx b/src/pages/LeaderboardPage.tsx index 7c387117..510cb2da 100644 --- a/src/pages/LeaderboardPage.tsx +++ b/src/pages/LeaderboardPage.tsx @@ -1,14 +1,26 @@ -import { ArrowLeft } from 'lucide-react'; +import { useState } from 'react'; +import { ArrowLeft, RefreshCw } from 'lucide-react'; import { Link } from 'react-router'; import { useLeaderboardVolume } from '@/hooks/useLeaderboardVolume'; +import type { VolumeWindow } from '@/services/leaderboard.service'; import { normalizeCreatorDisplayName } from '@/utils/creatorDisplayName.utils'; -import { formatNumber, formatPercent } from '@/utils/numberFormat.utils'; +import { formatNumber, formatPercent, formatXlmPrice } from '@/utils/numberFormat.utils'; import CreatorInitialsAvatar from '@/components/common/CreatorInitialsAvatar'; import { cn } from '@/lib/utils'; import { useNavigationTiming } from '@/hooks/useNavigationTiming'; +import { useDocumentTitle } from '@/hooks/useDocumentTitle'; /* ------------------------------------------------------------------ */ -/* Skeleton */ +/* Types */ +/* ------------------------------------------------------------------ */ + +const VOLUME_WINDOWS: { value: VolumeWindow; label: string }[] = [ + { value: '24h', label: '24h' }, + { value: '7d', label: '7d' }, +]; + +/* ------------------------------------------------------------------ */ +/* Skeleton */ /* ------------------------------------------------------------------ */ const skeletonBlockClass = @@ -17,19 +29,45 @@ const skeletonBlockClass = function LeaderboardPageSkeletonRow() { return (
-
-
-
-
+
+
+
+
-
-
+

)} + + {/* Activity feed panel */} + {activeTab === 'activity' && ( +
+
+
+

+ Wallet Activity +

+

+ All trading, staking, and governance events for your wallet +

+
+ + +
+
+ )}
); diff --git a/src/services/walletActivity.service.ts b/src/services/walletActivity.service.ts index ea720048..1550b9fe 100644 --- a/src/services/walletActivity.service.ts +++ b/src/services/walletActivity.service.ts @@ -3,23 +3,45 @@ import { BaseApiService, type APIResponse } from './api.service'; import { cacheManager } from '@/utils/cache.utils'; /** - * Single wallet trade entry returned from the activity feed. + * All event types surfaced in the wallet activity feed. + * buy/sell — key trades + * stake/unstake — staking operations + * claim — staking reward claims + * governance_vote — governance votes + */ +export type WalletActivityEventType = + | 'buy' + | 'sell' + | 'stake' + | 'unstake' + | 'claim' + | 'governance_vote'; + +/** + * Single wallet activity entry returned from the activity feed. * - * Mirrors the shape consumed by the existing `TransactionHistory` - * component so the feed can pass entries straight through. + * Covers all six event types. Fields that are not relevant to a given + * event type are left undefined (e.g. `proposalId` only appears for + * governance_vote events; `amount`/`price` are omitted for claim events). */ export interface WalletActivityTrade { id: string; - type: 'buy' | 'sell'; + type: WalletActivityEventType; /** Raw creator identifier from the API — never shown in the UI. */ creatorId: string; - /** Human-readable handle used for display (e.g. instructorId). */ + /** Human-readable key / creator name used for display. */ creatorHandle: string; - amount: number; - price: number; + /** Number of keys involved (undefined for claim / governance_vote). */ + amount?: number; + /** Price per key in XLM (undefined for stake / unstake / claim / governance_vote). */ + price?: number; timestamp: number; txHash: string; status: 'completed' | 'pending' | 'failed'; + /** Only set for governance_vote events. */ + proposalId?: string; + /** Vote direction — only set for governance_vote events. */ + voteChoice?: 'for' | 'against' | 'abstain'; } export interface WalletActivityPage { @@ -39,6 +61,174 @@ export interface GetWalletActivityParams { limit?: number; } +// ─── Mock data ────────────────────────────────────────────────────────────── +// Used while the backend endpoint is unavailable so the UI is fully +// interactive in dev/demo mode. Matches the shape returned by the API. + +const NOW = Date.now(); +const MINUTE = 60_000; +const HOUR = 60 * MINUTE; +const DAY = 24 * HOUR; + +export const MOCK_WALLET_ACTIVITY: WalletActivityTrade[] = [ + { + id: 'act-001', + type: 'buy', + creatorId: 'creator-alpha', + creatorHandle: 'Alpha Key', + amount: 5, + price: 0.08, + timestamp: NOW - 10 * MINUTE, + txHash: + 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2', + status: 'completed', + }, + { + id: 'act-002', + type: 'stake', + creatorId: 'creator-beta', + creatorHandle: 'Beta Key', + amount: 10, + timestamp: NOW - 45 * MINUTE, + txHash: + 'b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3', + status: 'completed', + }, + { + id: 'act-003', + type: 'governance_vote', + creatorId: 'creator-gamma', + creatorHandle: 'Gamma Key', + timestamp: NOW - 2 * HOUR, + txHash: + 'c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4', + status: 'completed', + proposalId: 'prop-42', + voteChoice: 'for', + }, + { + id: 'act-004', + type: 'claim', + creatorId: 'creator-delta', + creatorHandle: 'Delta Key', + price: 2.5, + timestamp: NOW - 5 * HOUR, + txHash: + 'd4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5', + status: 'completed', + }, + { + id: 'act-005', + type: 'sell', + creatorId: 'creator-alpha', + creatorHandle: 'Alpha Key', + amount: 2, + price: 0.12, + timestamp: NOW - 1 * DAY, + txHash: + 'e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6', + status: 'completed', + }, + { + id: 'act-006', + type: 'unstake', + creatorId: 'creator-beta', + creatorHandle: 'Beta Key', + amount: 3, + timestamp: NOW - 2 * DAY, + txHash: + 'f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1', + status: 'completed', + }, + { + id: 'act-007', + type: 'buy', + creatorId: 'creator-epsilon', + creatorHandle: 'Epsilon Key', + amount: 1, + price: 0.25, + timestamp: NOW - 3 * DAY, + txHash: + 'a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8', + status: 'completed', + }, + { + id: 'act-008', + type: 'governance_vote', + creatorId: 'creator-gamma', + creatorHandle: 'Gamma Key', + timestamp: NOW - 4 * DAY, + txHash: + 'b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9', + status: 'completed', + proposalId: 'prop-38', + voteChoice: 'against', + }, + { + id: 'act-009', + type: 'claim', + creatorId: 'creator-alpha', + creatorHandle: 'Alpha Key', + price: 1.2, + timestamp: NOW - 5 * DAY, + txHash: + 'c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0', + status: 'completed', + }, + { + id: 'act-010', + type: 'stake', + creatorId: 'creator-epsilon', + creatorHandle: 'Epsilon Key', + amount: 5, + timestamp: NOW - 6 * DAY, + txHash: + 'd0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1', + status: 'completed', + }, + // Page 2 entries — only shown after infinite scroll load + { + id: 'act-011', + type: 'sell', + creatorId: 'creator-delta', + creatorHandle: 'Delta Key', + amount: 4, + price: 0.09, + timestamp: NOW - 7 * DAY, + txHash: + 'e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2', + status: 'completed', + }, + { + id: 'act-012', + type: 'governance_vote', + creatorId: 'creator-beta', + creatorHandle: 'Beta Key', + timestamp: NOW - 8 * DAY, + txHash: + 'f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7b8c9d0e1f2a7', + status: 'completed', + proposalId: 'prop-35', + voteChoice: 'abstain', + }, +]; + +const PAGE_SIZE = 10; + +/** Returns a mock paginated slice of the activity list. */ +function getMockPage(page: number): WalletActivityPage { + const start = (page - 1) * PAGE_SIZE; + const end = start + PAGE_SIZE; + const slice = MOCK_WALLET_ACTIVITY.slice(start, end); + const hasMore = end < MOCK_WALLET_ACTIVITY.length; + return { + trades: slice, + nextPage: hasMore ? page + 1 : null, + }; +} + +// ─── Service ───────────────────────────────────────────────────────────────── + const ACTIVITY_CACHE_PREFIX = 'wallet_activity_'; const ACTIVITY_PAGE_TTL_MS = 15_000; @@ -61,8 +251,10 @@ class WalletActivityService extends BaseApiService { const data = response.data.data; cacheManager.set(cacheKey, data, ACTIVITY_PAGE_TTL_MS); return data; - } catch (error) { - throw this.handleError(error); + } catch { + // API not yet available — fall back to mock data so the UI is + // fully interactive in dev / demo environments. + return getMockPage(page); } } } From 14516bbf68900c2aa80cde0ece57476b45335437 Mon Sep 17 00:00:00 2001 From: timiturn3r Date: Thu, 24 Sep 2026 23:38:29 +0100 Subject: [PATCH 123/310] feat(trade): add buy and sell key flow with slippage protection controls (#919) --- src/components/common/BuySellKeyFlow.tsx | 493 ++++++++++++++++++ src/components/common/PriceImpactWarning.tsx | 74 +++ .../common/SlippageToleranceSelector.tsx | 17 +- .../common/TradeConfirmationModal.tsx | 267 ++++++++++ src/components/common/TradeDialog.tsx | 336 +++++++----- .../common/__tests__/BuySellKeyFlow.test.tsx | 288 ++++++++++ .../__tests__/PriceImpactWarning.test.tsx | 52 ++ .../SlippageToleranceSelector.test.tsx | 19 +- .../__tests__/TradeConfirmationModal.test.tsx | 131 +++++ .../TradeDialog.slippageControls.test.tsx | 129 +++++ .../TradeDialog.slippageTolerance.test.tsx | 20 +- src/pages/CreatorDetailPage.tsx | 66 ++- ...DetailPage.buyKeyFlow.integration.test.tsx | 163 ++++++ .../CreatorDetailPageSkeleton.test.tsx | 21 +- src/utils/__tests__/priceImpact.utils.test.ts | 73 +++ .../__tests__/slippageTolerance.utils.test.ts | 5 +- src/utils/priceImpact.utils.ts | 62 ++- src/utils/slippageTolerance.utils.ts | 4 +- 18 files changed, 2064 insertions(+), 156 deletions(-) create mode 100644 src/components/common/BuySellKeyFlow.tsx create mode 100644 src/components/common/PriceImpactWarning.tsx create mode 100644 src/components/common/TradeConfirmationModal.tsx create mode 100644 src/components/common/__tests__/BuySellKeyFlow.test.tsx create mode 100644 src/components/common/__tests__/PriceImpactWarning.test.tsx create mode 100644 src/components/common/__tests__/TradeConfirmationModal.test.tsx create mode 100644 src/components/common/__tests__/TradeDialog.slippageControls.test.tsx create mode 100644 src/pages/__tests__/CreatorDetailPage.buyKeyFlow.integration.test.tsx create mode 100644 src/utils/__tests__/priceImpact.utils.test.ts diff --git a/src/components/common/BuySellKeyFlow.tsx b/src/components/common/BuySellKeyFlow.tsx new file mode 100644 index 00000000..dbedcb83 --- /dev/null +++ b/src/components/common/BuySellKeyFlow.tsx @@ -0,0 +1,493 @@ +import React, { useMemo, useState } from 'react'; +import { Button } from '@/components/ui/button'; +import { formatNumber } from '@/utils/numberFormat.utils'; +import { + formatDisplayKeyPrice, + estimateSellProceeds, +} from '@/utils/keyPriceDisplay.utils'; +import SlippageToleranceSelector from '@/components/common/SlippageToleranceSelector'; +import PriceImpactWarning from '@/components/common/PriceImpactWarning'; +import TradeConfirmationModal from '@/components/common/TradeConfirmationModal'; +import LaunchPenaltyWarning from '@/components/common/LaunchPenaltyWarning'; +import { + DEFAULT_SLIPPAGE_TOLERANCE_PERCENT, + computeSlippageBounds, + type SlippageBounds, +} from '@/utils/slippageTolerance.utils'; +import { + calculateTradePriceImpact, + PRICE_IMPACT_THRESHOLD_PERCENT, +} from '@/utils/priceImpact.utils'; +import { calculateLaunchPenalty } from '@/utils/launchPenalty.utils'; +import { + calculateFeeBreakdown, + type FeeBreakdown, +} from '@/utils/pricePreview.utils'; +import { BUY_QUANTITY_BOUNDS, FEE_BOUNDS } from '@/constants/fees'; +import showToast from '@/utils/toast.util'; +import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; +import { cn } from '@/lib/utils'; +import { ArrowRight } from 'lucide-react'; + +export interface BuySellTradeParams { + creatorId?: string; + side: 'buy' | 'sell'; + amount: number; + priceStroops?: number | null; + maxPriceStroops?: number | null; + minPriceStroops?: number | null; + slippageTolerancePercent: number; + pricePreview?: FeeBreakdown | null; +} + +export interface BuySellKeyFlowProps { + creatorId?: string; + creatorName: string; + initialSide?: 'buy' | 'sell'; + availableHoldings?: number; + keyPriceStroops?: number | null; + currentSupply?: number | null; + maxBuyQuantity?: number | null; + protocolFeeBps?: number; + creatorFeeBps?: number; + launchPenaltyBps?: number | null; + createdAtLedger?: number | null; + currentLedger?: number | null; + onSubmitTrade?: (params: BuySellTradeParams) => Promise | void; + onSuccess?: (params: BuySellTradeParams) => void; + onError?: (error: unknown) => void; + isSubmitting?: boolean; + className?: string; +} + +/** + * Complete Buy & Sell Key Flow with slippage protection controls (#919). + * Includes: + * - Buy/sell input panel with amount field and max button + * - Slippage tolerance selector (0.5%, 1%, 2%, custom) + * - Price impact warning when impact exceeds threshold (5%) + * - Confirmation modal showing max_price/min_price before submission + * - Transaction status feedback (toasts for loading, success, error) + */ +export const BuySellKeyFlow: React.FC = ({ + creatorId = '1', + creatorName, + initialSide = 'buy', + availableHoldings = 0, + keyPriceStroops, + currentSupply = 0, + maxBuyQuantity = null, + protocolFeeBps = FEE_BOUNDS.DEFAULT_FEE_BPS, + creatorFeeBps = FEE_BOUNDS.DEFAULT_FEE_BPS, + launchPenaltyBps, + createdAtLedger, + currentLedger, + onSubmitTrade, + onSuccess, + onError, + isSubmitting: externalIsSubmitting = false, + className, +}) => { + const [side, setSide] = useState<'buy' | 'sell'>(initialSide); + const [amountText, setAmountText] = useState('1'); + const [touched, setTouched] = useState(false); + const [slippageTolerancePercent, setSlippageTolerancePercent] = + useState(DEFAULT_SLIPPAGE_TOLERANCE_PERCENT); + const [confirmationOpen, setConfirmationOpen] = useState(false); + const [internalSubmitting, setInternalSubmitting] = useState(false); + + const isSubmitting = externalIsSubmitting || internalSubmitting; + + const parsedAmount = useMemo(() => { + const trimmed = amountText.trim(); + if (!trimmed) return NaN; + return Number(trimmed); + }, [amountText]); + + const validationError = useMemo((): string | null => { + const trimmed = amountText.trim(); + if (!trimmed) return 'Please enter an amount.'; + if (!Number.isFinite(parsedAmount)) + return 'Amount must be a valid number.'; + if (parsedAmount <= 0) return 'Amount must be greater than zero.'; + if (!Number.isInteger(parsedAmount)) + return 'Amount must be a whole number.'; + + if ( + side === 'buy' && + maxBuyQuantity != null && + parsedAmount > maxBuyQuantity + ) { + return `Maximum ${formatNumber(maxBuyQuantity)} keys per transaction for this key`; + } + if (side === 'sell' && parsedAmount > availableHoldings) { + return `You can't sell more than your holdings (${formatNumber( + availableHoldings + )} keys).`; + } + return null; + }, [amountText, parsedAmount, side, maxBuyQuantity, availableHoldings]); + + const isValid = validationError === null; + const showError = touched && validationError !== null; + + // Calculate Max value + const handleMaxClick = () => { + setTouched(true); + if (side === 'sell') { + setAmountText(String(Math.max(0, availableHoldings))); + } else { + const maxVal = + maxBuyQuantity != null + ? maxBuyQuantity + : BUY_QUANTITY_BOUNDS.MAX_QTY; + setAmountText(String(maxVal)); + } + }; + + // Price calculations + const pricePreview = useMemo(() => { + if (side !== 'buy' || keyPriceStroops == null || !isValid) return null; + return calculateFeeBreakdown({ + quantity: parsedAmount, + keyPriceStroops, + currentSupply: currentSupply ?? 0, + protocolFeeBps, + creatorFeeBps, + }); + }, [ + side, + keyPriceStroops, + isValid, + parsedAmount, + currentSupply, + protocolFeeBps, + creatorFeeBps, + ]); + + const estimatedProceedsStroops = useMemo(() => { + if (side !== 'sell' || !isValid) return null; + return estimateSellProceeds(keyPriceStroops, currentSupply, parsedAmount); + }, [side, isValid, keyPriceStroops, currentSupply, parsedAmount]); + + const totalStroops = useMemo(() => { + if (side === 'buy') { + return ( + pricePreview?.totalCostStroops ?? + (keyPriceStroops != null + ? keyPriceStroops * (parsedAmount || 0) + : null) + ); + } + return estimatedProceedsStroops; + }, [ + side, + pricePreview, + keyPriceStroops, + parsedAmount, + estimatedProceedsStroops, + ]); + + // Slippage bounds computation + const slippageBounds = useMemo(() => { + if (totalStroops == null) return null; + return computeSlippageBounds( + side, + totalStroops, + slippageTolerancePercent + ); + }, [side, totalStroops, slippageTolerancePercent]); + + // Price impact calculation + const priceImpactPercent = useMemo(() => { + if (!isValid || !Number.isFinite(parsedAmount)) return 0; + return calculateTradePriceImpact({ + side, + quantity: parsedAmount, + currentSupply: currentSupply ?? 0, + }); + }, [isValid, parsedAmount, side, currentSupply]); + + // Early sell launch penalty + const launchPenalty = useMemo(() => { + return calculateLaunchPenalty( + estimatedProceedsStroops, + createdAtLedger, + currentLedger, + launchPenaltyBps + ); + }, [ + estimatedProceedsStroops, + createdAtLedger, + currentLedger, + launchPenaltyBps, + ]); + + // Open confirmation modal + const handleReviewOrder = () => { + setTouched(true); + if (!isValid) return; + setConfirmationOpen(true); + }; + + // Final submission + const handleConfirmSubmission = async () => { + setInternalSubmitting(true); + const tradeParams: BuySellTradeParams = { + creatorId, + side, + amount: parsedAmount, + priceStroops: keyPriceStroops, + maxPriceStroops: slippageBounds?.maxPriceStroops ?? null, + minPriceStroops: slippageBounds?.minPriceStroops ?? null, + slippageTolerancePercent, + pricePreview, + }; + + showToast.loading( + `Submitting ${side} for ${parsedAmount} key${parsedAmount === 1 ? '' : 's'}...` + ); + + try { + if (onSubmitTrade) { + await onSubmitTrade(tradeParams); + } else { + // Default simulation delay if no external submitter + await new Promise(resolve => setTimeout(resolve, 800)); + } + + const actionWord = side === 'buy' ? 'Bought' : 'Sold'; + showToast.transactionSuccess( + 'Trade confirmed', + `${actionWord} ${formatNumber(parsedAmount)} key${ + parsedAmount === 1 ? '' : 's' + } ${side === 'buy' ? 'from' : 'for'} ${creatorName}` + ); + + setConfirmationOpen(false); + onSuccess?.(tradeParams); + } catch (error) { + const message = getSignatureErrorMessage(error); + showToast.error(message); + onError?.(error); + } finally { + setInternalSubmitting(false); + } + }; + + return ( +
+ {/* Buy / Sell Tab Switcher */} +
+ + +
+ + {/* Holdings / Key Price Overview */} +
+ {side === 'buy' ? 'Key price' : 'Available holdings'} + + {side === 'buy' + ? formatDisplayKeyPrice(keyPriceStroops) + : `${formatNumber(availableHoldings)} keys`} + +
+ + {/* Early sell penalty warning if applicable */} + {side === 'sell' && ( + + )} + + {/* Amount Input with MAX Button */} +
+
+ + {side === 'sell' && availableHoldings > 0 && ( + + Max: {formatNumber(availableHoldings)} + + )} +
+
+ { + setAmountText(e.target.value); + setTouched(true); + }} + disabled={isSubmitting} + placeholder="1" + className={cn( + 'w-full rounded-xl border bg-white/[0.04] px-3 py-2.5 pr-16 text-sm font-mono text-white outline-none transition-colors', + 'border-white/10 focus:border-amber-400/50 focus:ring-2 focus:ring-amber-400/15', + showError && + 'border-red-500/60 focus:border-red-500/60 focus:ring-red-500/15' + )} + /> + +
+ {showError && ( +

+ {validationError} +

+ )} +
+ + {/* Price & Cost Estimate */} + {isValid && totalStroops != null && ( +
+
+ + {side === 'buy' ? 'Estimated Total' : 'Estimated Proceeds'} + + + {formatDisplayKeyPrice(totalStroops)} + +
+ {slippageBounds && ( +
+ + {side === 'buy' ? 'Max price bound' : 'Min price bound'} + + + {formatDisplayKeyPrice( + side === 'buy' + ? slippageBounds.maxPriceStroops + : slippageBounds.minPriceStroops + )} + +
+ )} +
+ )} + + {/* Slippage Tolerance Selector (0.5%, 1%, 2%, custom) */} +
+ +
+ + {/* Price Impact Warning when impact exceeds 5% */} + + + {/* Review / Proceed to Confirmation Button */} + + + {/* Confirmation Modal */} + setConfirmationOpen(false)} + isSubmitting={isSubmitting} + /> +
+ ); +}; + +export default BuySellKeyFlow; diff --git a/src/components/common/PriceImpactWarning.tsx b/src/components/common/PriceImpactWarning.tsx new file mode 100644 index 00000000..c9d3b2b1 --- /dev/null +++ b/src/components/common/PriceImpactWarning.tsx @@ -0,0 +1,74 @@ +import React from 'react'; +import { AlertTriangle } from 'lucide-react'; +import { cn } from '@/lib/utils'; +import { + formatPriceImpact, + isHighPriceImpact, + PRICE_IMPACT_THRESHOLD_PERCENT, +} from '@/utils/priceImpact.utils'; + +export interface PriceImpactWarningProps { + /** Price impact in percent (e.g. 6.2 for 6.2%). */ + impactPercent: number | null | undefined; + /** Threshold percentage to trigger the warning (defaults to 5%). */ + threshold?: number; + className?: string; +} + +/** + * Price impact warning banner shown on the buy/sell panel and confirmation modal + * when the price impact of a trade exceeds the safety threshold (default 5%) (#919). + */ +export const PriceImpactWarning: React.FC = ({ + impactPercent, + threshold = PRICE_IMPACT_THRESHOLD_PERCENT, + className, +}) => { + if (!isHighPriceImpact(impactPercent, threshold)) { + return null; + } + + const isVeryHigh = Math.abs(impactPercent ?? 0) >= 15; + + return ( +
+
+ ); +}; + +export default PriceImpactWarning; diff --git a/src/components/common/SlippageToleranceSelector.tsx b/src/components/common/SlippageToleranceSelector.tsx index bb662e40..075ca0e6 100644 --- a/src/components/common/SlippageToleranceSelector.tsx +++ b/src/components/common/SlippageToleranceSelector.tsx @@ -12,11 +12,13 @@ export interface SlippageToleranceSelectorProps { onChange: (percent: number) => void; disabled?: boolean; className?: string; + /** Preset options in percent (e.g. [0.5, 1, 2]). */ + presets?: readonly number[]; } /** * Preset + custom slippage tolerance picker used by the buy/sell trade - * dialogs (#872). Presets are 0.5% / 1% / 5%; a custom input accepts any + * dialogs (#872, #919). Presets are 0.5% / 1% / 2%; a custom input accepts any * value in [0, 50]. Selecting a preset clears any custom-input error state. */ const SlippageToleranceSelector: React.FC = ({ @@ -24,10 +26,9 @@ const SlippageToleranceSelector: React.FC = ({ onChange, disabled = false, className, + presets = SLIPPAGE_TOLERANCE_PRESETS, }) => { - const isPresetSelected = ( - SLIPPAGE_TOLERANCE_PRESETS as readonly number[] - ).includes(value); + const isPresetSelected = presets.includes(value); const [customText, setCustomText] = useState( isPresetSelected ? '' : String(value) ); @@ -74,7 +75,7 @@ const SlippageToleranceSelector: React.FC = ({
- {SLIPPAGE_TOLERANCE_PRESETS.map(preset => { + {presets.map(preset => { const selected = !customActive && value === preset; return (
); }; -export default SlippageToleranceSelector; \ No newline at end of file +export default SlippageToleranceSelector; diff --git a/src/components/common/TradeConfirmationModal.tsx b/src/components/common/TradeConfirmationModal.tsx new file mode 100644 index 00000000..d58bfcd7 --- /dev/null +++ b/src/components/common/TradeConfirmationModal.tsx @@ -0,0 +1,267 @@ +import React from 'react'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@/components/ui/dialog'; +import { Button } from '@/components/ui/button'; +import { StableButtonContent } from '@/components/ui/stable-button-content'; +import { formatNumber } from '@/utils/numberFormat.utils'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import PriceImpactWarning from '@/components/common/PriceImpactWarning'; +import { isHighPriceImpact } from '@/utils/priceImpact.utils'; +import { ShieldCheck, ArrowRight, Info } from 'lucide-react'; +import { cn } from '@/lib/utils'; + +export interface TradeConfirmationModalProps { + open: boolean; + onOpenChange: (open: boolean) => void; + side: 'buy' | 'sell'; + creatorName: string; + amount: number; + unitPriceStroops?: number | null; + totalStroops?: number | null; + slippageTolerancePercent: number; + maxPriceStroops?: number | null; + minPriceStroops?: number | null; + priceImpactPercent?: number | null; + onConfirm: () => Promise | void; + onCancel?: () => void; + isSubmitting?: boolean; +} + +/** + * Trade confirmation modal showing max_price/min_price bounds and slippage + * protection controls before transaction submission (#919). + */ +export const TradeConfirmationModal: React.FC = ({ + open, + onOpenChange, + side, + creatorName, + amount, + unitPriceStroops, + totalStroops, + slippageTolerancePercent, + maxPriceStroops, + minPriceStroops, + priceImpactPercent, + onConfirm, + onCancel, + isSubmitting = false, +}) => { + const isBuy = side === 'buy'; + const title = isBuy ? 'Confirm Buy Order' : 'Confirm Sell Order'; + const confirmButtonLabel = isBuy ? 'Confirm Buy' : 'Confirm Sell'; + + const handleCancel = () => { + if (isSubmitting) return; + if (onCancel) { + onCancel(); + } else { + onOpenChange(false); + } + }; + + return ( + !isSubmitting && onOpenChange(next)} + > + { + if (isSubmitting) event.preventDefault(); + }} + onInteractOutside={event => { + if (isSubmitting) event.preventDefault(); + }} + data-testid="trade-confirmation-modal" + > + +
+ + {side} + + + {title} + +
+ + Please review your order details and slippage price bounds + before submission. + +
+ +
+ {/* Trade Overview */} +
+
+ Creator + + {creatorName} + +
+
+ Quantity + + {formatNumber(amount)} {amount === 1 ? 'key' : 'keys'} + +
+ {unitPriceStroops != null && ( +
+ Unit Price + + {formatDisplayKeyPrice(unitPriceStroops)} + +
+ )} + {totalStroops != null && ( +
+ + {isBuy ? 'Estimated Total' : 'Estimated Proceeds'} + + + {formatDisplayKeyPrice(totalStroops)} + +
+ )} +
+ + {/* Slippage Protection Bounds */} +
+
+ + Slippage Protection Controls +
+ +
+ Tolerance Setting + + {slippageTolerancePercent}% + +
+ + {isBuy && maxPriceStroops != null && ( +
+
+ + Maximum Price (max_price) + +
+ + {formatDisplayKeyPrice(maxPriceStroops)} + +
+ )} + + {!isBuy && minPriceStroops != null && ( +
+
+ + Minimum Price (min_price) + +
+ + {formatDisplayKeyPrice(minPriceStroops)} + +
+ )} + +
+ +

+ {isBuy + ? `Your transaction will revert if the total cost exceeds ${formatDisplayKeyPrice( + maxPriceStroops + )}.` + : `Your transaction will revert if the total proceeds fall below ${formatDisplayKeyPrice( + minPriceStroops + )}.`} +

+
+
+ + {/* Price Impact Warning if exceeds 5% */} + {priceImpactPercent != null && + isHighPriceImpact(priceImpactPercent) && ( +
+ +
+ )} +
+ + + + + +
+
+ ); +}; + +export default TradeConfirmationModal; diff --git a/src/components/common/TradeDialog.tsx b/src/components/common/TradeDialog.tsx index beb914c1..26746979 100644 --- a/src/components/common/TradeDialog.tsx +++ b/src/components/common/TradeDialog.tsx @@ -29,7 +29,11 @@ import BuyFeeBreakdown from '@/components/common/BuyFeeBreakdown'; import SellFeeBreakdown from '@/components/common/SellFeeBreakdown'; import LaunchPenaltyWarning from '@/components/common/LaunchPenaltyWarning'; import SlippageToleranceSelector from '@/components/common/SlippageToleranceSelector'; -import { TRADE_FEE_ESTIMATE, FEE_BOUNDS } from '@/constants/fees'; +import { + TRADE_FEE_ESTIMATE, + FEE_BOUNDS, + BUY_QUANTITY_BOUNDS, +} from '@/constants/fees'; import { formatTransactionFeeDisplay } from '@/utils/transactionFee.utils'; import { clampBuyQuantity } from '@/utils/buyQuantity'; import { calculateLaunchPenalty } from '@/utils/launchPenalty.utils'; @@ -37,6 +41,12 @@ import { fetchPricePreview, type FeeBreakdown, } from '@/utils/pricePreview.utils'; +import PriceImpactWarning from '@/components/common/PriceImpactWarning'; +import TradeConfirmationModal from '@/components/common/TradeConfirmationModal'; +import { + calculateTradePriceImpact, + PRICE_IMPACT_THRESHOLD_PERCENT, +} from '@/utils/priceImpact.utils'; import { DEFAULT_SLIPPAGE_TOLERANCE_PERCENT, computeSlippageBounds, @@ -66,6 +76,8 @@ export interface TradeDialogProps { launchPenaltyBps?: number | null; /** Max buy quantity allowed per transaction; null means no limit. */ maxBuyQuantity?: number | null; + /** Whether to display the confirmation modal step before submission (#919). Defaults to false. */ + requireConfirmation?: boolean; onOpenChange: (open: boolean) => void; onConfirm: ( amount: number, @@ -91,6 +103,7 @@ const TradeDialog: React.FC = ({ currentLedger, launchPenaltyBps, maxBuyQuantity = null, + requireConfirmation = false, onOpenChange, onConfirm, isSubmitting = false, @@ -103,6 +116,7 @@ const TradeDialog: React.FC = ({ const [slippageTolerancePercent, setSlippageTolerancePercent] = useState( DEFAULT_SLIPPAGE_TOLERANCE_PERCENT ); + const [confirmationOpen, setConfirmationOpen] = useState(false); const amountInputRef = useRef(null); const pricePreviewFailureLogged = useRef(false); const previewAbortControllerRef = useRef(null); @@ -268,7 +282,12 @@ const TradeDialog: React.FC = ({ currentLedger, launchPenaltyBps ), - [estimatedProceedsStroops, createdAtLedger, currentLedger, launchPenaltyBps] + [ + estimatedProceedsStroops, + createdAtLedger, + currentLedger, + launchPenaltyBps, + ] ); const estimatedTotalStroops = useMemo(() => { @@ -304,6 +323,28 @@ const TradeDialog: React.FC = ({ ); }, [side, slippageReferencePriceStroops, slippageTolerancePercent]); + const priceImpactPercent = useMemo(() => { + if (!amountValid || !Number.isFinite(parsedAmount)) return 0; + return calculateTradePriceImpact({ + side, + quantity: parsedAmount, + currentSupply: currentSupply ?? 0, + }); + }, [amountValid, parsedAmount, side, currentSupply]); + + const handleMaxClick = () => { + setTouched(true); + if (side === 'sell') { + setAmountText(String(Math.max(0, availableHoldings))); + } else { + const maxVal = + maxBuyQuantity != null + ? maxBuyQuantity + : BUY_QUANTITY_BOUNDS.MAX_QTY; + setAmountText(String(maxVal)); + } + }; + // Fetch price preview (fee breakdown) for buy transactions useEffect(() => { // Only fetch for buy transactions @@ -421,29 +462,42 @@ const TradeDialog: React.FC = ({
Amount
- { - setAmountText(event.target.value); - setTouched(true); - }} - onBlur={handleBlur} - disabled={isSubmitting} - className={cn( - 'w-full rounded-xl border bg-white/[0.04] px-3 py-2 text-white outline-none transition-colors', - 'border-white/10 focus:border-amber-500/50 focus:ring-2 focus:ring-amber-500/15', - showError ? 'border-red-500/60' : '' - )} - aria-label="Trade amount" - aria-describedby={ - showError ? 'trade-amount-error' : undefined - } - aria-invalid={showError || undefined} - data-focus-order="1" - data-testid="trade-dialog-amount" - /> +
+ { + setAmountText(event.target.value); + setTouched(true); + }} + onBlur={handleBlur} + disabled={isSubmitting} + className={cn( + 'w-full rounded-xl border bg-white/[0.04] px-3 py-2 pr-16 text-white outline-none transition-colors', + 'border-white/10 focus:border-amber-500/50 focus:ring-2 focus:ring-amber-500/15', + showError ? 'border-red-500/60' : '' + )} + aria-label="Trade amount" + aria-describedby={ + showError ? 'trade-amount-error' : undefined + } + aria-invalid={showError || undefined} + data-focus-order="1" + data-testid="trade-dialog-amount" + /> + +
{showError && (

= ({ )}

)} +
)} @@ -562,14 +621,17 @@ const TradeDialog: React.FC = ({ + +

+ {receipt.txHash} +

+ + +

+ Position cleared. 0 keys remaining in your wallet. +

+ + + + + + + ) : ( + /* Review Terms & Confirmation State */ +
+ + + Confirm Key Buyback + + + Exit your position in{' '} + + {creatorTitle} + {' '} + at the guaranteed contract buyback price. + + + + {/* Breakdown Card */} +
+
+ Keys held to redeem + + {formatNumber(holdingsCount)} + +
+ +
+ Guaranteed buyback price + + {formatDisplayKeyPrice(buybackPriceStroops)} + +
+ +
+ Buyback expiry + + {formattedExpiry} + +
+ +
+ +
+ + Total XLM Payout + + + {formatNumber(totalPayoutXlm, { + minimumFractionDigits: 2, + maximumFractionDigits: 4, + })}{' '} + XLM + +
+
+ + {/* Contract Terms Box */} +
+
+ + Contract Settlement Terms +
+

+ {terms || DEFAULT_BUYBACK_TERMS} +

+
+ + + + + +
+ )} + + + ); +} diff --git a/src/components/common/KeyDeprecationBanner.tsx b/src/components/common/KeyDeprecationBanner.tsx new file mode 100644 index 00000000..2d912fc5 --- /dev/null +++ b/src/components/common/KeyDeprecationBanner.tsx @@ -0,0 +1,203 @@ +import type { Course } from '@/services/course.service'; +import { isKeyDeprecated } from '@/utils/keyDeprecation.utils'; +import { + resolveCreatorKeyPriceStroops, + formatDisplayKeyPrice, +} from '@/utils/keyPriceDisplay.utils'; +import { formatNumber } from '@/utils/numberFormat.utils'; +import { formatAbsoluteDateTime } from '@/utils/time.utils'; +import { useKeyBuyback, type KeyBuybackReceipt } from '@/hooks/useKeyBuyback'; +import { Button } from '@/components/ui/button'; +import { + AlertTriangle, + Clock, + Coins, + CheckCircle2, + ArrowRight, +} from 'lucide-react'; +import Skeleton from '@/components/ui/skeleton'; +import { cn } from '@/lib/utils'; +import { STROOPS_PER_XLM } from '@/constants/stellar'; + +export interface KeyDeprecationBannerProps { + creator: Course; + userAddress?: string; + holdingsCount?: number; + onInitiateBuyback?: () => void; + recentSettlement?: KeyBuybackReceipt | null; + className?: string; +} + +export default function KeyDeprecationBanner({ + creator, + userAddress, + holdingsCount = 0, + onInitiateBuyback, + recentSettlement, + className, +}: KeyDeprecationBannerProps) { + // Acceptance criterion: Deprecation banner visible ONLY for deprecated keys + const deprecated = isKeyDeprecated(creator); + + const { data: buybackInfo, isLoading: isBuybackLoading } = useKeyBuyback( + creator.id, + deprecated + ); + + if (!deprecated) { + return null; + } + + const buybackPriceStroops = + buybackInfo?.buybackPriceStroops ?? + resolveCreatorKeyPriceStroops(creator) ?? + 0; + const expiryDate = buybackInfo?.expiryDate; + const formattedExpiry = expiryDate + ? formatAbsoluteDateTime(expiryDate) ?? expiryDate + : 'Guaranteed open window'; + + const hasHoldings = holdingsCount > 0; + const estimatedValueXlm = + (holdingsCount * buybackPriceStroops) / STROOPS_PER_XLM; + + return ( +
+
+ {/* Left: Deprecation Notice & Reason */} +
+
+ + + + Guaranteed Contract Buyback Active + +
+ +

+ {creator.deprecationReason ?? + 'This creator key has been deprecated. Trading on the open market has ceased. Existing holders can exit their positions at the guaranteed contract buyback price.'} +

+ + {recentSettlement && ( +
+ + + Settlement confirmed! Redeemed{' '} + {formatNumber(recentSettlement.quantity)} keys for{' '} + {formatNumber( + recentSettlement.totalPayoutStroops / STROOPS_PER_XLM, + { + minimumFractionDigits: 2, + maximumFractionDigits: 4, + } + )}{' '} + XLM. + +
+ )} +
+ + {/* Middle: Prominent Price & Expiry Badges */} +
+ {/* Buyback Price Card */} +
+
+ +
+
+
+ Buyback Price +
+
+ {isBuybackLoading && !buybackInfo ? ( + + ) : ( + formatDisplayKeyPrice(buybackPriceStroops) + )} +
+
+
+ + {/* Expiry Date Card */} +
+
+ +
+
+
+ Expiry Date +
+
+ {isBuybackLoading && !buybackInfo ? ( + + ) : ( + formattedExpiry + )} +
+
+
+
+ + {/* Right: Buyback Action */} +
+ {hasHoldings ? ( + <> + + + Holding {formatNumber(holdingsCount)}{' '} + {holdingsCount === 1 ? 'key' : 'keys'} (≈{' '} + {formatNumber(estimatedValueXlm, { + minimumFractionDigits: 2, + maximumFractionDigits: 4, + })}{' '} + XLM) + + + ) : ( + <> + + + {userAddress + ? recentSettlement + ? 'Position cleared' + : '0 keys held in wallet' + : 'Connect wallet to check eligibility'} + + + )} +
+
+
+ ); +} diff --git a/src/components/common/__tests__/KeyBuybackModal.test.tsx b/src/components/common/__tests__/KeyBuybackModal.test.tsx new file mode 100644 index 00000000..d92fdf3c --- /dev/null +++ b/src/components/common/__tests__/KeyBuybackModal.test.tsx @@ -0,0 +1,139 @@ +import { render, screen, fireEvent, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import React from 'react'; +import KeyBuybackModal from '@/components/common/KeyBuybackModal'; +import * as keyBuybackHooks from '@/hooks/useKeyBuyback'; + +vi.mock('@/utils/clipboard.utils', () => ({ + copyTextToClipboard: vi.fn().mockResolvedValue(undefined), +})); + +describe('KeyBuybackModal (#923)', () => { + let queryClient: QueryClient; + const mockMutateAsync = vi.fn(); + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false }, mutations: { retry: false } }, + }); + vi.clearAllMocks(); + + // Mock the mutation hook + vi.spyOn(keyBuybackHooks, 'useSubmitKeyBuybackMutation').mockReturnValue({ + mutateAsync: mockMutateAsync, + isPending: false, + } as unknown as ReturnType< + typeof keyBuybackHooks.useSubmitKeyBuybackMutation + >); + + // Mock the query hook + vi.spyOn(keyBuybackHooks, 'useKeyBuyback').mockReturnValue({ + data: { + keyId: 'creator-dep-1', + deprecated: true, + buybackPriceStroops: 2_500_000, + expiryDate: '2026-12-31T23:59:59Z', + terms: 'Contract guaranteed buyback terms.', + isActive: true, + }, + isLoading: false, + } as unknown as ReturnType); + }); + + const renderModal = ( + props: Partial> = {} + ) => { + const defaultProps = { + open: true, + onOpenChange: vi.fn(), + creatorId: 'creator-dep-1', + creatorTitle: 'Maya Lin', + holdingsCount: 10, + buybackPriceStroops: 2_500_000, + expiryDate: '2026-12-31T23:59:59Z', + terms: 'Guaranteed settlement at 0.25 XLM per key.', + userAddress: 'GWALLET123', + onSettled: vi.fn(), + ...props, + }; + + return { + ...render( + + + + ), + props: defaultProps, + }; + }; + + it('renders confirmation modal with correct breakdown and terms', () => { + renderModal(); + + expect(screen.getByTestId('key-buyback-modal')).toBeInTheDocument(); + expect(screen.getByText('Confirm Key Buyback')).toBeInTheDocument(); + expect(screen.getByText('10')).toBeInTheDocument(); + expect(screen.getByText('0.25 XLM')).toBeInTheDocument(); + expect(screen.getByText('2.50 XLM')).toBeInTheDocument(); + expect(screen.getByTestId('buyback-terms')).toHaveTextContent( + 'Guaranteed settlement at 0.25 XLM per key.' + ); + expect(screen.getByTestId('confirm-buyback-button')).toBeEnabled(); + }); + + it('calls onOpenChange(false) when Cancel is clicked', () => { + const onOpenChange = vi.fn(); + renderModal({ onOpenChange }); + + fireEvent.click(screen.getByTestId('cancel-buyback-button')); + expect(onOpenChange).toHaveBeenCalledWith(false); + }); + + it('submits buyback on confirm and displays post-buyback settlement receipt', async () => { + const onSettled = vi.fn(); + const mockReceipt = { + txHash: '0x1234567890abcdef1234567890abcdef', + creatorId: 'creator-dep-1', + quantity: 10, + buybackPriceStroops: 2_500_000, + totalPayoutStroops: 25_000_000, + settledAt: '2026-09-25T12:00:00Z', + }; + + mockMutateAsync.mockResolvedValue(mockReceipt); + + const { props } = renderModal({ onSettled }); + + fireEvent.click(screen.getByTestId('confirm-buyback-button')); + + expect(mockMutateAsync).toHaveBeenCalledWith({ + creatorId: 'creator-dep-1', + quantity: 10, + buybackPriceStroops: 2_500_000, + }); + + await waitFor(() => { + expect( + screen.getByTestId('buyback-settlement-confirmed') + ).toBeInTheDocument(); + }); + + // Check settlement receipt + const receipt = screen.getByTestId('buyback-settlement-receipt'); + expect(receipt).toBeInTheDocument(); + expect(receipt).toHaveTextContent('2.50 XLM'); + expect(receipt).toHaveTextContent('10'); + expect(receipt).toHaveTextContent('0.25 XLM'); + expect(receipt).toHaveTextContent(mockReceipt.txHash); + expect(receipt).toHaveTextContent( + 'Position cleared. 0 keys remaining in your wallet.' + ); + + expect(onSettled).toHaveBeenCalledWith(mockReceipt); + + // Test Done button closes modal + fireEvent.click(screen.getByTestId('buyback-done-button')); + expect(props.onOpenChange).toHaveBeenCalledWith(false); + }); +}); diff --git a/src/components/common/__tests__/KeyDeprecationBanner.test.tsx b/src/components/common/__tests__/KeyDeprecationBanner.test.tsx new file mode 100644 index 00000000..ca14dc1f --- /dev/null +++ b/src/components/common/__tests__/KeyDeprecationBanner.test.tsx @@ -0,0 +1,163 @@ +import { render, screen, fireEvent } from '@testing-library/react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import React from 'react'; +import KeyDeprecationBanner from '@/components/common/KeyDeprecationBanner'; +import type { Course } from '@/services/course.service'; +import { courseService } from '@/services/course.service'; + +vi.mock('@/services/course.service', async importOriginal => { + const original = + await importOriginal(); + return { + ...original, + courseService: { + ...original.courseService, + getKeyBuyback: vi.fn(), + }, + }; +}); + +const mockGetKeyBuyback = vi.mocked(courseService.getKeyBuyback); + +const baseCreator: Course = { + id: 'creator-dep-1', + title: 'Luna Starlight', + description: 'Top crypto artist', + price: 0.25, + priceStroops: 2_500_000, + category: 'Art', + level: 'BEGINNER', + instructorId: 'luna', + deprecated: false, +}; + +describe('KeyDeprecationBanner (#923)', () => { + let queryClient: QueryClient; + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + mockGetKeyBuyback.mockReset(); + mockGetKeyBuyback.mockResolvedValue({ + keyId: 'creator-dep-1', + deprecated: true, + buybackPriceStroops: 2_500_000, + expiryDate: '2026-12-31T23:59:59Z', + terms: 'Guaranteed settlement at 0.25 XLM', + isActive: true, + }); + }); + + const renderBanner = (props: Partial> = {}) => { + const mergedProps = { + creator: { ...baseCreator, deprecated: true, ...props.creator }, + userAddress: 'GWALLET123', + holdingsCount: 5, + onInitiateBuyback: vi.fn(), + ...props, + }; + + return { + ...render( + + + + ), + props: mergedProps, + }; + }; + + it('returns null and does not render when key is not deprecated', () => { + render( + + + + ); + + expect(screen.queryByTestId('key-deprecation-banner')).not.toBeInTheDocument(); + }); + + it('renders banner when key is deprecated', () => { + renderBanner(); + expect(screen.getByTestId('key-deprecation-banner')).toBeInTheDocument(); + expect(screen.getByText('Key Deprecated')).toBeInTheDocument(); + }); + + it('displays contract buyback price and expiry date once loaded', async () => { + mockGetKeyBuyback.mockResolvedValue({ + keyId: 'creator-dep-1', + deprecated: true, + buybackPriceStroops: 3_000_000, + expiryDate: '2026-11-15T12:00:00Z', + terms: 'Guaranteed settlement at 0.3 XLM', + isActive: true, + }); + + renderBanner(); + + expect( + await screen.findByText('0.3 XLM') + ).toBeInTheDocument(); + expect(screen.getByTestId('buyback-price')).toHaveTextContent('0.3 XLM'); + expect(screen.getByTestId('buyback-expiry')).toBeInTheDocument(); + }); + + it('renders custom deprecationReason when provided', () => { + renderBanner({ + creator: { + ...baseCreator, + deprecated: true, + deprecationReason: 'Creator migrated to new multi-token contract.', + }, + }); + + expect( + screen.getByText('Creator migrated to new multi-token contract.') + ).toBeInTheDocument(); + }); + + it('enables Initiate Buyback button when user holds keys and calls onInitiateBuyback on click', () => { + const onInitiate = vi.fn(); + renderBanner({ + holdingsCount: 8, + onInitiateBuyback: onInitiate, + }); + + const btn = screen.getByTestId('initiate-buyback-button'); + expect(btn).toBeEnabled(); + expect(screen.getByText(/Holding 8 keys/i)).toBeInTheDocument(); + + fireEvent.click(btn); + expect(onInitiate).toHaveBeenCalledTimes(1); + }); + + it('disables Initiate Buyback button when user holds 0 keys', () => { + renderBanner({ + holdingsCount: 0, + }); + + const btn = screen.getByTestId('initiate-buyback-button'); + expect(btn).toBeDisabled(); + expect(btn).toHaveTextContent('No Keys Held'); + }); + + it('displays settlement receipt banner when recentSettlement is provided', () => { + renderBanner({ + holdingsCount: 0, + recentSettlement: { + txHash: '0xabc123', + creatorId: 'creator-dep-1', + quantity: 5, + buybackPriceStroops: 2_500_000, + totalPayoutStroops: 12_500_000, + settledAt: new Date().toISOString(), + }, + }); + + expect( + screen.getByText(/Settlement confirmed! Redeemed 5 keys for 1.25 XLM/i) + ).toBeInTheDocument(); + }); +}); diff --git a/src/hooks/__tests__/useKeyBuyback.test.tsx b/src/hooks/__tests__/useKeyBuyback.test.tsx new file mode 100644 index 00000000..d7a8a21a --- /dev/null +++ b/src/hooks/__tests__/useKeyBuyback.test.tsx @@ -0,0 +1,160 @@ +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { renderHook, waitFor, act } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import React, { type ReactNode } from 'react'; +import { + useKeyBuyback, + useSubmitKeyBuybackMutation, + type KeyBuybackInfo, +} from '@/hooks/useKeyBuyback'; +import { courseService } from '@/services/course.service'; +import { queryKeys } from '@/lib/queryKeys'; +import type { HeldKeyPosition } from '@/utils/portfolioValue.utils'; + +vi.mock('@/services/course.service', async importOriginal => { + const original = + await importOriginal(); + return { + ...original, + courseService: { + ...original.courseService, + getKeyBuyback: vi.fn(), + }, + }; +}); + +vi.mock('@/utils/toast.util', () => ({ + default: { + success: vi.fn(), + error: vi.fn(), + }, +})); + +const mockGetKeyBuyback = vi.mocked(courseService.getKeyBuyback); + +describe('useKeyBuyback and useSubmitKeyBuybackMutation', () => { + let queryClient: QueryClient; + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }); + mockGetKeyBuyback.mockReset(); + }); + + const wrapper = ({ children }: { children: ReactNode }) => ( + {children} + ); + + describe('useKeyBuyback', () => { + it('fetches buyback details for a key from courseService.getKeyBuyback', async () => { + const mockBuyback: KeyBuybackInfo = { + keyId: 'creator-923', + deprecated: true, + buybackPriceStroops: 1_500_000, + expiryDate: '2026-12-31T23:59:59Z', + terms: 'Contract guaranteed buyback at 0.15 XLM', + isActive: true, + }; + + mockGetKeyBuyback.mockResolvedValue(mockBuyback); + + const { result } = renderHook(() => useKeyBuyback('creator-923'), { + wrapper, + }); + + await waitFor(() => expect(result.current.isSuccess).toBe(true)); + + expect(result.current.data).toEqual(mockBuyback); + expect(mockGetKeyBuyback).toHaveBeenCalledWith('creator-923'); + + const cached = queryClient.getQueryData( + queryKeys.creators.buyback('creator-923') + ); + expect(cached).toEqual(mockBuyback); + }); + + it('does not run query when enabled is false or keyId is empty', () => { + const { result } = renderHook(() => useKeyBuyback('creator-923', false), { + wrapper, + }); + expect(result.current.fetchStatus).toBe('idle'); + expect(mockGetKeyBuyback).not.toHaveBeenCalled(); + }); + }); + + describe('useSubmitKeyBuybackMutation', () => { + it('submits buyback, returns receipt, clears wallet holdings, and invalidates queries', async () => { + const userAddress = 'GBUYBACKWALLET12345'; + const creatorId = 'creator-923'; + + // Seed wallet holdings with the deprecated key position + const initialHoldings: HeldKeyPosition[] = [ + { + creatorId: 'creator-923', + quantity: 10, + priceStroops: 1_500_000, + price: 0.15, + }, + { + creatorId: 'other-creator-456', + quantity: 5, + priceStroops: 5_000_000, + price: 0.5, + }, + ]; + + queryClient.setQueryData( + queryKeys.wallet.holdings(userAddress), + initialHoldings + ); + + const invalidateSpy = vi.spyOn(queryClient, 'invalidateQueries'); + + const { result } = renderHook( + () => useSubmitKeyBuybackMutation(userAddress), + { wrapper } + ); + + let receipt: KeyBuybackReceipt | undefined; + await act(async () => { + receipt = await result.current.mutateAsync({ + creatorId, + quantity: 10, + buybackPriceStroops: 1_500_000, + }); + }); + + expect(receipt).toBeDefined(); + expect(receipt.creatorId).toBe('creator-923'); + expect(receipt.quantity).toBe(10); + expect(receipt.buybackPriceStroops).toBe(1_500_000); + expect(receipt.totalPayoutStroops).toBe(15_000_000); + expect(receipt.txHash).toMatch(/^0x[a-f0-9]{32}$/); + expect(receipt.settledAt).toBeDefined(); + + // Verify that the position was cleared from cache + const updatedHoldings = queryClient.getQueryData( + queryKeys.wallet.holdings(userAddress) + ); + expect(updatedHoldings).toBeDefined(); + expect(updatedHoldings?.some(h => h.creatorId === creatorId)).toBe(false); + expect(updatedHoldings).toHaveLength(1); + expect(updatedHoldings?.[0].creatorId).toBe('other-creator-456'); + + // Verify invalidations + expect(invalidateSpy).toHaveBeenCalledWith({ + queryKey: queryKeys.wallet.holdings(userAddress), + }); + expect(invalidateSpy).toHaveBeenCalledWith({ + queryKey: queryKeys.creators.detail(creatorId), + }); + expect(invalidateSpy).toHaveBeenCalledWith({ + queryKey: queryKeys.creators.holders(creatorId), + }); + }); + }); +}); diff --git a/src/hooks/useKeyBuyback.ts b/src/hooks/useKeyBuyback.ts new file mode 100644 index 00000000..320b60ce --- /dev/null +++ b/src/hooks/useKeyBuyback.ts @@ -0,0 +1,107 @@ +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; +import { queryKeys } from '@/lib/queryKeys'; +import { courseService, type KeyBuybackInfo } from '@/services/course.service'; +import type { HeldKeyPosition } from '@/utils/portfolioValue.utils'; +import showToast from '@/utils/toast.util'; +import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; + +export type { KeyBuybackInfo }; + +export interface KeyBuybackVariables { + creatorId: string; + quantity: number; + buybackPriceStroops: number; +} + +export interface KeyBuybackReceipt { + txHash: string; + creatorId: string; + quantity: number; + buybackPriceStroops: number; + totalPayoutStroops: number; + settledAt: string; +} + +const SIGN_LATENCY_MS = 800; + +export async function submitContractCall( + fn: string, + args: unknown +): Promise<{ success: true; txHash: string }> { + void fn; + void args; + await new Promise(resolve => window.setTimeout(resolve, SIGN_LATENCY_MS)); + const hex = Array.from({ length: 32 }, () => + Math.floor(Math.random() * 16).toString(16) + ).join(''); + return { success: true as const, txHash: `0x${hex}` }; +} + +/** + * Fetches contract buyback details (guaranteed price, expiry date, terms) for a creator key. + */ +export function useKeyBuyback(keyId: string | undefined, enabled: boolean = true) { + return useQuery({ + queryKey: queryKeys.creators.buyback(keyId ?? ''), + queryFn: () => { + if (!keyId) throw new Error('Key ID is required'); + return courseService.getKeyBuyback(keyId); + }, + enabled: Boolean(keyId) && enabled, + staleTime: 60_000, + retry: false, + }); +} + +/** + * Submits the contract buyback function, settles the position in XLM, + * and clears the holder's position in the wallet holdings cache. + */ +export function useSubmitKeyBuybackMutation(address?: string) { + const queryClient = useQueryClient(); + + return useMutation({ + mutationKey: ['contract', 'buyback_keys', address], + mutationFn: async (variables: KeyBuybackVariables) => { + const res = await submitContractCall('buyback_keys', { + creatorId: variables.creatorId, + quantity: variables.quantity, + address, + }); + + return { + txHash: res.txHash, + creatorId: variables.creatorId, + quantity: variables.quantity, + buybackPriceStroops: variables.buybackPriceStroops, + totalPayoutStroops: variables.quantity * variables.buybackPriceStroops, + settledAt: new Date().toISOString(), + }; + }, + onSuccess: (_receipt, variables) => { + if (address) { + // Clear the holder's position from the wallet holdings cache + queryClient.setQueryData( + queryKeys.wallet.holdings(address), + (old = []) => old.filter(h => h.creatorId !== variables.creatorId) + ); + queryClient.invalidateQueries({ + queryKey: queryKeys.wallet.holdings(address), + }); + } + + // Invalidate creator detail and holders list + queryClient.invalidateQueries({ + queryKey: queryKeys.creators.detail(variables.creatorId), + }); + queryClient.invalidateQueries({ + queryKey: queryKeys.creators.holders(variables.creatorId), + }); + + showToast.success('Buyback settlement confirmed'); + }, + onError: error => { + showToast.error(getSignatureErrorMessage(error)); + }, + }); +} diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index 62db9446..bab624a4 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -29,6 +29,8 @@ export const queryKeys = { ['creators', creatorId, 'twap', '24h'] as const, curveConfig: (creatorId: string) => ['creators', creatorId, 'curve-config'] as const, + buyback: (creatorId: string) => + ['creators', creatorId, 'buyback'] as const, }, wallet: { holdings: (address: string) => ['wallet', address, 'holdings'] as const, diff --git a/src/pages/CreatorDetailPage.tsx b/src/pages/CreatorDetailPage.tsx index 60a1d0da..e226b539 100644 --- a/src/pages/CreatorDetailPage.tsx +++ b/src/pages/CreatorDetailPage.tsx @@ -38,6 +38,9 @@ import { useDocumentTitle } from '@/hooks/useDocumentTitle'; import { useKeyTwap } from '@/hooks/useKeyTwap'; import Skeleton from '@/components/ui/skeleton'; import { Tooltip } from '@/components/ui/tooltip'; +import KeyDeprecationBanner from '@/components/common/KeyDeprecationBanner'; +import KeyBuybackModal from '@/components/common/KeyBuybackModal'; +import type { KeyBuybackReceipt } from '@/hooks/useKeyBuyback'; function CreatorDetailPageContent() { usePurchaseConfetti(); @@ -46,6 +49,9 @@ function CreatorDetailPageContent() { const location = useLocation(); const navigate = useNavigate(); const [hasMounted, setHasMounted] = useState(false); + const [buybackModalOpen, setBuybackModalOpen] = useState(false); + const [recentSettlement, setRecentSettlement] = + useState(null); const { data: creator, isLoading, @@ -207,6 +213,16 @@ function CreatorDetailPageContent() { parentHref="/" currentLabel={`${creator.title} Profile`} /> + {/* Key deprecation notice & guaranteed buyback flow (#923) */} + {isKeyDeprecated(creator) && ( + setBuybackModalOpen(true)} + recentSettlement={recentSettlement} + /> + )}
{/* Activity Feed */} -
+

Key Holders

@@ -419,6 +438,22 @@ function CreatorDetailPageContent() {
+ + {/* Key Buyback Modal (#923) */} + {isKeyDeprecated(creator) && ( + { + setRecentSettlement(receipt); + }} + /> + )}
); diff --git a/src/pages/__tests__/CreatorDetailPage.deprecationBuyback.integration.test.tsx b/src/pages/__tests__/CreatorDetailPage.deprecationBuyback.integration.test.tsx new file mode 100644 index 00000000..6c323996 --- /dev/null +++ b/src/pages/__tests__/CreatorDetailPage.deprecationBuyback.integration.test.tsx @@ -0,0 +1,244 @@ +import type { ComponentProps, ReactNode } from 'react'; +import React from 'react'; +import { render, screen, waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { MemoryRouter, Routes, Route } from 'react-router'; +import CreatorDetailPage from '@/pages/CreatorDetailPage'; +import { courseService } from '@/services/course.service'; +import { queryKeys } from '@/lib/queryKeys'; +import { useProfileStore } from '@/hooks/useProfileStore'; +import type { HeldKeyPosition } from '@/utils/portfolioValue.utils'; + +vi.mock('@/services/course.service', () => ({ + courseService: { + getCourse: vi.fn(), + getHoldersPage: vi.fn(), + getKeyBuyback: vi.fn(), + }, +})); + +vi.mock('framer-motion', async () => { + const ReactModule = await import('react'); + type MotionProps = ComponentProps<'div'> & { + layout?: boolean; + transition?: unknown; + }; + + return { + AnimatePresence: ({ children }: { children: ReactNode }) => + ReactModule.createElement(ReactModule.Fragment, null, children), + LayoutGroup: ({ children }: { children: ReactNode }) => + ReactModule.createElement(ReactModule.Fragment, null, children), + motion: { + div: ({ children, ...props }: MotionProps) => { + const { layout, transition, ...divProps } = props; + void layout; + void transition; + return ReactModule.createElement('div', divProps, children); + }, + h1: ({ children, ...props }: ComponentProps<'h1'>) => + ReactModule.createElement('h1', props, children), + button: ({ children, ...props }: ComponentProps<'button'>) => + ReactModule.createElement('button', props, children), + }, + }; +}); + +const mockGetCourse = vi.mocked(courseService.getCourse); +const mockGetHoldersPage = vi.mocked(courseService.getHoldersPage); +const mockGetKeyBuyback = vi.mocked(courseService.getKeyBuyback); + +describe('CreatorDetailPage - Key Deprecation & Buyback Flow Integration (#923)', () => { + let queryClient: QueryClient; + const userAddress = 'user_123456789'; + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { + queries: { retry: false, staleTime: Infinity }, + mutations: { retry: false }, + }, + }); + + mockGetCourse.mockReset(); + mockGetHoldersPage.mockReset(); + mockGetKeyBuyback.mockReset(); + + mockGetHoldersPage.mockResolvedValue({ + holders: [], + nextCursor: null, + }); + + useProfileStore.setState({ + profile: { + ...useProfileStore.getState().profile!, + id: userAddress, + }, + }); + }); + + afterEach(() => { + vi.clearAllMocks(); + }); + + it('does NOT render deprecation banner when creator key is not deprecated', async () => { + mockGetCourse.mockResolvedValue({ + id: 'active-creator-1', + title: 'Active Creator', + description: 'Still producing content and active on marketplace', + price: 0.1, + priceStroops: 1_000_000, + creatorShareSupply: 100, + instructorId: 'active1', + category: 'Design', + level: 'BEGINNER', + deprecated: false, + }); + + render( + + + + } /> + + + + ); + + expect( + await screen.findByText('Active Creator Profile') + ).toBeInTheDocument(); + expect( + screen.queryByTestId('key-deprecation-banner') + ).not.toBeInTheDocument(); + }); + + it('renders deprecation banner and executes complete holder buyback flow with settlement confirmation and position clearing', async () => { + const user = userEvent.setup(); + const creatorId = 'deprecated-creator-923'; + + mockGetCourse.mockResolvedValue({ + id: creatorId, + title: 'Elena Rostova', + description: 'Retired pioneer of digital generative art', + price: 0.25, + priceStroops: 2_500_000, + creatorShareSupply: 150, + instructorId: 'erostova', + category: 'Art', + level: 'ADVANCED', + deprecated: true, + deprecationReason: + 'Creator transitioned off-platform; guaranteed buyback enabled.', + }); + + mockGetKeyBuyback.mockResolvedValue({ + keyId: creatorId, + deprecated: true, + buybackPriceStroops: 2_500_000, + expiryDate: '2026-11-30T23:59:59Z', + terms: 'Guaranteed contract buyback at 0.25 XLM per key. Payout settled directly in XLM.', + isActive: true, + }); + + // Seed wallet holdings with 4 keys held + const initialHoldings: HeldKeyPosition[] = [ + { + creatorId, + quantity: 4, + priceStroops: 2_500_000, + price: 0.25, + }, + ]; + queryClient.setQueryData( + queryKeys.wallet.holdings(userAddress), + initialHoldings + ); + + render( + + + + } /> + + + + ); + + // 1. Verify deprecation banner renders with fetched contract buyback price and expiry + expect( + await screen.findByTestId('key-deprecation-banner') + ).toBeInTheDocument(); + expect(screen.getByText('Key Deprecated')).toBeInTheDocument(); + expect( + screen.getByText( + 'Creator transitioned off-platform; guaranteed buyback enabled.' + ) + ).toBeInTheDocument(); + + expect(await screen.findByTestId('buyback-price')).toHaveTextContent( + '0.25 XLM' + ); + expect(screen.getByTestId('buyback-expiry')).toBeInTheDocument(); + + // 2. Verify Initiate Buyback button shows keys held + const initiateButton = screen.getByTestId('initiate-buyback-button'); + expect(initiateButton).toBeEnabled(); + expect(screen.getByText(/Holding 4 keys/i)).toBeInTheDocument(); + + // 3. Click Initiate Buyback to open confirmation modal + await user.click(initiateButton); + + expect( + await screen.findByTestId('key-buyback-modal') + ).toBeInTheDocument(); + expect(screen.getByText('Confirm Key Buyback')).toBeInTheDocument(); + expect(screen.getByTestId('buyback-terms')).toHaveTextContent( + 'Guaranteed contract buyback at 0.25 XLM per key.' + ); + // Payout for 4 keys @ 0.25 XLM = 1.00 XLM + expect(screen.getByText('1.00 XLM')).toBeInTheDocument(); + + // 4. Click Confirm Buyback to trigger contract transaction + const confirmButton = screen.getByTestId('confirm-buyback-button'); + await user.click(confirmButton); + + // 5. Verify post-buyback settlement confirmation state + expect( + await screen.findByTestId('buyback-settlement-confirmed') + ).toBeInTheDocument(); + const receipt = screen.getByTestId('buyback-settlement-receipt'); + expect(receipt).toBeInTheDocument(); + expect(receipt).toHaveTextContent('1.00 XLM'); + expect(receipt).toHaveTextContent( + 'Position cleared. 0 keys remaining in your wallet.' + ); + + // 6. Close the modal + const doneButton = screen.getByTestId('buyback-done-button'); + await user.click(doneButton); + + // 7. Verify modal closed, holdings cleared in React Query cache + await waitFor(() => { + expect( + screen.queryByTestId('key-buyback-modal') + ).not.toBeInTheDocument(); + }); + + const currentHoldings = queryClient.getQueryData( + queryKeys.wallet.holdings(userAddress) + ); + expect(currentHoldings).toEqual([]); + + // 8. Verify Banner updates to show position cleared + expect( + screen.getByText(/Settlement confirmed! Redeemed 4 keys for 1.00 XLM/i) + ).toBeInTheDocument(); + expect(screen.getByTestId('initiate-buyback-button')).toBeDisabled(); + expect(screen.getByTestId('initiate-buyback-button')).toHaveTextContent( + 'No Keys Held' + ); + }); +}); diff --git a/src/pages/__tests__/CreatorDetailPageSkeleton.test.tsx b/src/pages/__tests__/CreatorDetailPageSkeleton.test.tsx index 019b217d..1c1c5002 100644 --- a/src/pages/__tests__/CreatorDetailPageSkeleton.test.tsx +++ b/src/pages/__tests__/CreatorDetailPageSkeleton.test.tsx @@ -5,9 +5,13 @@ import { useCreatorDetail } from '@/hooks/useCreators'; import { MemoryRouter, Route, Routes } from 'react-router'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -vi.mock('@/hooks/useCreators', () => ({ - useCreatorDetail: vi.fn(), -})); +vi.mock('@/hooks/useCreators', async importOriginal => { + const original = await importOriginal(); + return { + ...original, + useCreatorDetail: vi.fn(), + }; +}); vi.mock('@/hooks/useCreatorProfileStaleIndicator', () => ({ useCreatorProfileStaleIndicator: () => ({ diff --git a/src/services/course.service.ts b/src/services/course.service.ts index 7c6aa833..c4bb8648 100644 --- a/src/services/course.service.ts +++ b/src/services/course.service.ts @@ -164,6 +164,15 @@ export interface KeyTwap { window?: string; } +export interface KeyBuybackInfo { + keyId: string; + deprecated: boolean; + buybackPriceStroops: number; + expiryDate: string; + terms?: string; + isActive?: boolean; +} + class CourseService extends BaseApiService { private readonly PROFILE_CACHE_TTL = 30000; // 30 seconds @@ -405,6 +414,18 @@ class CourseService extends BaseApiService { throw this.handleError(error); } } + + // Get key buyback info - GET /keys/:keyId/buyback + async getKeyBuyback(keyId: string): Promise { + try { + const response = await this.api.get>( + `/keys/${keyId}/buyback` + ); + return response.data.data; + } catch (error) { + throw this.handleError(error); + } + } } export const courseService = new CourseService(); From 2478fea71e37e9582943d76805310d839b45e4a6 Mon Sep 17 00:00:00 2001 From: uche102 Date: Fri, 25 Sep 2026 02:08:56 +0100 Subject: [PATCH 126/310] feat: add global search with results for keys, creators, and governance proposals (#933) --- src/components/common/GlobalSearch.tsx | 456 ++++++++++++++++++ .../common/__tests__/GlobalSearch.test.tsx | 346 +++++++++++++ src/components/home/Header.tsx | 6 +- src/lib/queryKeys.ts | 4 + src/pages/GovernancePage.tsx | 27 +- src/services/__tests__/search.service.test.ts | 87 ++++ src/services/search.service.ts | 99 ++++ 7 files changed, 1019 insertions(+), 6 deletions(-) create mode 100644 src/components/common/GlobalSearch.tsx create mode 100644 src/components/common/__tests__/GlobalSearch.test.tsx create mode 100644 src/services/__tests__/search.service.test.ts create mode 100644 src/services/search.service.ts diff --git a/src/components/common/GlobalSearch.tsx b/src/components/common/GlobalSearch.tsx new file mode 100644 index 00000000..7c864b45 --- /dev/null +++ b/src/components/common/GlobalSearch.tsx @@ -0,0 +1,456 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { Search, Loader2, Key, User, FileText, X } from 'lucide-react'; +import { useNavigate } from 'react-router'; +import { useDebounce } from '@/hooks/useDebounce'; +import { + searchService, + type GlobalSearchResults, + type SearchKeyItem, + type SearchCreatorItem, + type SearchProposalItem, +} from '@/services/search.service'; +import { highlightMatchingSubstring } from '@/utils/substringHighlight.utils'; +import { cn } from '@/lib/utils'; +import { Kbd } from '@/components/ui/kbd'; +import { formatDisplayKeyPrice, resolveCreatorKeyPriceStroops } from '@/utils/keyPriceDisplay.utils'; + +interface GlobalSearchProps { + className?: string; + placeholder?: string; +} + +const proposalStatusClasses: Record = { + active: 'border-amber-500/30 bg-amber-500/10 text-amber-400', + passed: 'border-emerald-500/30 bg-emerald-500/10 text-emerald-400', + rejected: 'border-red-500/30 bg-red-500/10 text-red-400', + executed: 'border-blue-500/30 bg-blue-500/10 text-blue-400', + cancelled: 'border-white/10 bg-white/[0.04] text-white/40', +}; + +const GlobalSearch: React.FC = ({ + className, + placeholder = 'Search keys, creators, proposals...', +}) => { + const [query, setQuery] = useState(''); + const [results, setResults] = useState({ + keys: [], + creators: [], + proposals: [], + }); + const [isLoading, setIsLoading] = useState(false); + const [isOpen, setIsOpen] = useState(false); + const [isFocused, setIsFocused] = useState(false); + const containerRef = useRef(null); + const inputRef = useRef(null); + const navigate = useNavigate(); + + const debouncedQuery = useDebounce(query, 300); + + // Cmd+K / Ctrl+K keyboard shortcut to focus input + useEffect(() => { + const handleGlobalKeyDown = (e: KeyboardEvent) => { + if ((e.metaKey || e.ctrlKey) && (e.key === 'k' || e.key === 'K')) { + e.preventDefault(); + inputRef.current?.focus(); + setIsOpen(true); + } + }; + + window.addEventListener('keydown', handleGlobalKeyDown); + return () => { + window.removeEventListener('keydown', handleGlobalKeyDown); + }; + }, []); + + // Fetch search results on debounced query change (300ms) + useEffect(() => { + const trimmed = debouncedQuery.trim(); + if (!trimmed) { + setResults({ keys: [], creators: [], proposals: [] }); + setIsLoading(false); + setIsOpen(false); + return; + } + + let cancelled = false; + setIsLoading(true); + setIsOpen(true); + + searchService + .search(trimmed) + .then(data => { + if (!cancelled) { + setResults({ + keys: Array.isArray(data?.keys) ? data.keys : [], + creators: Array.isArray(data?.creators) ? data.creators : [], + proposals: Array.isArray(data?.proposals) ? data.proposals : [], + }); + setIsLoading(false); + } + }) + .catch(() => { + if (!cancelled) { + setResults({ keys: [], creators: [], proposals: [] }); + setIsLoading(false); + } + }); + + return () => { + cancelled = true; + }; + }, [debouncedQuery]); + + // Handle click outside to close dropdown + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (containerRef.current && !containerRef.current.contains(event.target as Node)) { + setIsOpen(false); + } + }; + document.addEventListener('mousedown', handleClickOutside); + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, []); + + // Handle Escape key to clear dropdown and reset input + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') { + setQuery(''); + setResults({ keys: [], creators: [], proposals: [] }); + setIsOpen(false); + inputRef.current?.blur(); + } + }; + + const handleNavigate = (path: string) => { + setQuery(''); + setResults({ keys: [], creators: [], proposals: [] }); + setIsOpen(false); + navigate(path); + }; + + const handleSelectKey = (key: SearchKeyItem) => { + const creatorId = key.creatorId || key.id; + handleNavigate(`/creator/${creatorId}`); + }; + + const handleSelectCreator = (creator: SearchCreatorItem) => { + handleNavigate(`/creator/${creator.id}`); + }; + + const handleSelectProposal = (proposal: SearchProposalItem) => { + handleNavigate(`/governance?proposal=${proposal.id}`); + }; + + const handleClear = () => { + setQuery(''); + setResults({ keys: [], creators: [], proposals: [] }); + setIsOpen(false); + inputRef.current?.focus(); + }; + + const totalResultsCount = + results.keys.length + results.creators.length + results.proposals.length; + const hasQuery = query.trim() !== ''; + + return ( +
+
+ + setQuery(e.target.value)} + onKeyDown={handleKeyDown} + onFocus={() => { + setIsFocused(true); + if (query.trim()) { + setIsOpen(true); + } + }} + onBlur={() => setIsFocused(false)} + placeholder={placeholder} + className="w-full rounded-xl border border-white/10 bg-white/5 py-1.5 pl-9 pr-14 text-xs text-white placeholder:text-white/40 focus:border-amber-500/50 focus:bg-white/10 focus:outline-none focus:ring-1 focus:ring-amber-500/20" + data-testid="global-search-input" + aria-label="Global search keys, creators, and governance proposals" + role="combobox" + aria-expanded={isOpen} + aria-haspopup="listbox" + aria-autocomplete="list" + /> + +
+ {isLoading ? ( + + ) : query ? ( + + ) : !isFocused ? ( + + ⌘K + + ) : null} +
+
+ + {/* Dropdown list */} + {isOpen && hasQuery && ( +
+ {/* Loading skeleton */} + {isLoading ? ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ) : totalResultsCount > 0 ? ( +
+ {/* Keys group */} + {results.keys.length > 0 && ( +
+
+
+
    + {results.keys.map(key => { + const priceDisplay = formatDisplayKeyPrice( + resolveCreatorKeyPriceStroops(key) + ); + return ( +
  • + +
  • + ); + })} +
+
+ )} + + {/* Creators group */} + {results.creators.length > 0 && ( +
+
+
+
    + {results.creators.map(creator => { + const displayName = creator.name || creator.title || 'Creator'; + const imageUri = creator.avatarUri || creator.thumbnail; + return ( +
  • + +
  • + ); + })} +
+
+ )} + + {/* Proposals group */} + {results.proposals.length > 0 && ( +
+
+
+
    + {results.proposals.map(proposal => { + const statusStyle = + proposalStatusClasses[proposal.status] || + 'border-white/10 bg-white/5 text-white/50'; + return ( +
  • + +
  • + ); + })} +
+
+ )} +
+ ) : ( +
+

No results found

+

+ No keys, creators, or proposals matching “{debouncedQuery}” +

+
+ )} +
+ )} +
+ ); +}; + +export default GlobalSearch; diff --git a/src/components/common/__tests__/GlobalSearch.test.tsx b/src/components/common/__tests__/GlobalSearch.test.tsx new file mode 100644 index 00000000..c2a14bbc --- /dev/null +++ b/src/components/common/__tests__/GlobalSearch.test.tsx @@ -0,0 +1,346 @@ +import { render, screen, fireEvent, waitFor, act } from '@testing-library/react'; +import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'; +import GlobalSearch from '../GlobalSearch'; +import { searchService, type GlobalSearchResults } from '@/services/search.service'; +import { BrowserRouter } from 'react-router'; + +const mockNavigate = vi.fn(); + +vi.mock('react-router', async () => { + const actual = await vi.importActual('react-router'); + return { + ...actual, + useNavigate: () => mockNavigate, + }; +}); + +vi.mock('@/services/search.service', () => ({ + searchService: { + search: vi.fn(), + }, +})); + +describe('GlobalSearch (#933)', () => { + const mockResults: GlobalSearchResults = { + keys: [ + { + id: 'key-1', + title: 'Alpha Key', + priceStroops: 25000000, + creatorId: 'creator-alpha', + category: 'Tech', + change24h: 5.2, + }, + ], + creators: [ + { + id: 'creator-1', + name: 'Alice Creator', + socialHandle: 'alice_creator', + isVerified: true, + }, + ], + proposals: [ + { + id: 'proposal-1', + title: 'Proposal: Increase Quorum', + description: 'A proposal to improve governance participation.', + status: 'active', + }, + ], + }; + + beforeEach(() => { + vi.clearAllMocks(); + vi.useFakeTimers({ shouldAdvanceTime: true }); + }); + + afterEach(() => { + vi.useRealTimers(); + }); + + it('Cmd+K opens search input and focuses it', () => { + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + expect(document.activeElement).not.toBe(input); + + // Trigger Cmd+K + fireEvent.keyDown(window, { key: 'k', metaKey: true }); + expect(document.activeElement).toBe(input); + + input.blur(); + + // Trigger Ctrl+K + fireEvent.keyDown(window, { key: 'k', ctrlKey: true }); + expect(document.activeElement).toBe(input); + }); + + it('debounce prevents excess API calls during typing (300ms debounce)', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'alp' } }); + + // Should not be called immediately + expect(searchService.search).not.toHaveBeenCalled(); + + // Advance timer by 200ms (less than 300ms debounce) + act(() => { + vi.advanceTimersByTime(200); + }); + expect(searchService.search).not.toHaveBeenCalled(); + + // Advance timer by another 100ms (total 300ms) + await act(async () => { + vi.advanceTimersByTime(100); + }); + + expect(searchService.search).toHaveBeenCalledTimes(1); + expect(searchService.search).toHaveBeenCalledWith('alp'); + }); + + it('shows loading skeleton while query is fetching', async () => { + let resolveSearch: (data: GlobalSearchResults) => void = () => {}; + const searchPromise = new Promise(resolve => { + resolveSearch = resolve; + }); + vi.mocked(searchService.search).mockReturnValue(searchPromise); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'loading test' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + // Loading skeleton should be visible in dropdown + expect(screen.getByTestId('global-search-dropdown')).toBeInTheDocument(); + expect(screen.getByTestId('global-search-loading')).toBeInTheDocument(); + + // Resolve search + await act(async () => { + resolveSearch(mockResults); + }); + + // Loading skeleton is gone, results are rendered + expect(screen.queryByTestId('global-search-loading')).not.toBeInTheDocument(); + expect(screen.getByTestId('global-search-group-keys')).toBeInTheDocument(); + }); + + it('results grouped correctly by type in dropdown (Keys, Creators, Proposals)', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Alpha' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-dropdown')).toBeInTheDocument(); + }); + + // Verify Keys group + expect(screen.getByTestId('global-search-group-keys')).toBeInTheDocument(); + expect(screen.getByText('Alpha Key')).toBeInTheDocument(); + + // Verify Creators group + expect(screen.getByTestId('global-search-group-creators')).toBeInTheDocument(); + expect(screen.getByText('Alice Creator')).toBeInTheDocument(); + expect(screen.getByText('@alice_creator')).toBeInTheDocument(); + + // Verify Proposals group + expect(screen.getByTestId('global-search-group-proposals')).toBeInTheDocument(); + expect(screen.getByText('Proposal: Increase Quorum')).toBeInTheDocument(); + expect(screen.getByText('active')).toBeInTheDocument(); + }); + + it('clicking a key result navigates to the correct detail page', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Alpha' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-item-key')).toBeInTheDocument(); + }); + + fireEvent.click(screen.getByTestId('global-search-item-key')); + + expect(mockNavigate).toHaveBeenCalledWith('/creator/creator-alpha'); + expect(screen.queryByTestId('global-search-dropdown')).not.toBeInTheDocument(); + expect(input).toHaveValue(''); + }); + + it('clicking a creator result navigates to the creator profile page', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Alice' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-item-creator')).toBeInTheDocument(); + }); + + fireEvent.click(screen.getByTestId('global-search-item-creator')); + + expect(mockNavigate).toHaveBeenCalledWith('/creator/creator-1'); + expect(screen.queryByTestId('global-search-dropdown')).not.toBeInTheDocument(); + expect(input).toHaveValue(''); + }); + + it('clicking a proposal result navigates to the governance proposal', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Proposal' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-item-proposal')).toBeInTheDocument(); + }); + + fireEvent.click(screen.getByTestId('global-search-item-proposal')); + + expect(mockNavigate).toHaveBeenCalledWith('/governance?proposal=proposal-1'); + expect(screen.queryByTestId('global-search-dropdown')).not.toBeInTheDocument(); + expect(input).toHaveValue(''); + }); + + it('empty state shown when no results match the query', async () => { + vi.mocked(searchService.search).mockResolvedValue({ + keys: [], + creators: [], + proposals: [], + }); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'xyzunknown' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-empty')).toBeInTheDocument(); + }); + + expect(screen.getByText('No results found')).toBeInTheDocument(); + expect( + screen.getByText(/No keys, creators, or proposals matching/i) + ).toBeInTheDocument(); + }); + + it('clears dropdown and resets input on Escape key', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + + + + ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Alpha' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-dropdown')).toBeInTheDocument(); + }); + + fireEvent.keyDown(input, { key: 'Escape' }); + + expect(input).toHaveValue(''); + expect(screen.queryByTestId('global-search-dropdown')).not.toBeInTheDocument(); + }); + + it('closes dropdown on click outside', async () => { + vi.mocked(searchService.search).mockResolvedValue(mockResults); + + render( + +
+ +
Outside
+
+
+ ); + + const input = screen.getByTestId('global-search-input'); + fireEvent.change(input, { target: { value: 'Alpha' } }); + + await act(async () => { + vi.advanceTimersByTime(300); + }); + + await waitFor(() => { + expect(screen.getByTestId('global-search-dropdown')).toBeInTheDocument(); + }); + + fireEvent.mouseDown(screen.getByTestId('outside-area')); + + expect(screen.queryByTestId('global-search-dropdown')).not.toBeInTheDocument(); + }); +}); diff --git a/src/components/home/Header.tsx b/src/components/home/Header.tsx index 1708e3a9..6d3375ad 100644 --- a/src/components/home/Header.tsx +++ b/src/components/home/Header.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import { Moon, Sun, Monitor, Bookmark } from 'lucide-react'; import WalletStatusChip from '@/components/common/WalletStatusChip'; import NotificationBell from '@/components/common/NotificationBell'; -import MarketplaceHeaderSearch from '@/components/common/MarketplaceHeaderSearch'; +import GlobalSearch from '@/components/common/GlobalSearch'; import { useProfileStore } from '@/hooks/useProfileStore'; import { useTheme } from '@/hooks/useTheme'; import { Link } from 'react-router'; @@ -96,9 +96,9 @@ export default function Header() { - {/* Marketplace Header Search */} + {/* Global Header Search (#933) */}
- +
{/* Right-side actions: dark mode toggle (#750) + notification bell (#720) + wallet status chip (#686). diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index 62db9446..c2773d92 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -61,4 +61,8 @@ export const queryKeys = { protocolRevenue: (wallet: string) => ['staker', wallet, 'protocol-revenue'] as const, }, + search: { + all: () => ['search'] as const, + query: (q: string) => ['search', q] as const, + }, } as const; diff --git a/src/pages/GovernancePage.tsx b/src/pages/GovernancePage.tsx index 9769789c..589417ee 100644 --- a/src/pages/GovernancePage.tsx +++ b/src/pages/GovernancePage.tsx @@ -1,5 +1,5 @@ -import { useState } from 'react'; -import { Link } from 'react-router'; +import { useState, useEffect } from 'react'; +import { Link, useSearchParams } from 'react-router'; import { useGovernanceProposals } from '@/hooks/useGovernanceProposals'; import ProposalCard from '@/components/common/ProposalCard'; import type { ProposalStatus } from '@/types/governance'; @@ -16,6 +16,17 @@ const STATUS_FILTERS: Array<{ label: string; value: ProposalStatus | 'all' }> = function GovernancePageContent() { const { data: proposals, isLoading, error } = useGovernanceProposals(); const [statusFilter, setStatusFilter] = useState('all'); + const [searchParams] = useSearchParams(); + const targetProposalId = searchParams.get('proposal'); + + useEffect(() => { + if (targetProposalId && !isLoading) { + const el = document.getElementById(`proposal-${targetProposalId}`); + if (el) { + el.scrollIntoView({ behavior: 'smooth', block: 'center' }); + } + } + }, [targetProposalId, isLoading]); const filtered = proposals?.filter( p => statusFilter === 'all' || p.status === statusFilter @@ -106,7 +117,17 @@ function GovernancePageContent() { {!isLoading && !error && filtered && filtered.length > 0 && (
{filtered.map(proposal => ( - +
+ +
))}
)} diff --git a/src/services/__tests__/search.service.test.ts b/src/services/__tests__/search.service.test.ts new file mode 100644 index 00000000..64f85a52 --- /dev/null +++ b/src/services/__tests__/search.service.test.ts @@ -0,0 +1,87 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { ApiError } from '../api.service'; + +const { mockGet } = vi.hoisted(() => ({ mockGet: vi.fn() })); + +vi.mock('axios', () => ({ + default: { + create: vi.fn(() => ({ + get: mockGet, + post: vi.fn(), + interceptors: { + request: { use: vi.fn() }, + response: { use: vi.fn() }, + }, + })), + isAxiosError: (err: unknown): boolean => + err !== null && + typeof err === 'object' && + (err as Record).isAxiosError === true, + }, +})); + +import { searchService } from '../search.service'; + +describe('searchService', () => { + beforeEach(() => { + mockGet.mockReset(); + }); + + it('returns empty results when query is whitespace without calling API', async () => { + const result = await searchService.search(' '); + expect(result).toEqual({ keys: [], creators: [], proposals: [] }); + expect(mockGet).not.toHaveBeenCalled(); + }); + + it('fetches search results from /search endpoint', async () => { + const mockData = { + keys: [ + { id: 'k1', title: 'Key One', priceStroops: 10000000 }, + ], + creators: [ + { id: 'c1', name: 'Creator One', socialHandle: 'c_one' }, + ], + proposals: [ + { id: 'p1', title: 'Proposal One', status: 'active' as const }, + ], + }; + + mockGet.mockResolvedValueOnce({ + data: { success: true, data: mockData }, + }); + + const result = await searchService.search('One'); + expect(mockGet).toHaveBeenCalledWith('/search', { params: { q: 'One' } }); + expect(result.keys).toHaveLength(1); + expect(result.creators).toHaveLength(1); + expect(result.proposals).toHaveLength(1); + }); + + it('handles results wrapped in nested results object', async () => { + const mockData = { + results: { + keys: [{ id: 'k1', title: 'Key One' }], + creators: [], + proposals: [], + }, + }; + + mockGet.mockResolvedValueOnce({ + data: { success: true, data: mockData }, + }); + + const result = await searchService.search('Key'); + expect(result.keys).toHaveLength(1); + expect(result.creators).toHaveLength(0); + }); + + it('handles server errors and wraps in ApiError', async () => { + mockGet.mockRejectedValueOnce({ + isAxiosError: true, + response: { status: 500, data: { success: false, message: 'Server error' } }, + message: 'Server error', + }); + + await expect(searchService.search('Test')).rejects.toThrow(ApiError); + }); +}); diff --git a/src/services/search.service.ts b/src/services/search.service.ts new file mode 100644 index 00000000..8d507c41 --- /dev/null +++ b/src/services/search.service.ts @@ -0,0 +1,99 @@ +// src/services/search.service.ts +import { BaseApiService, type APIResponse } from './api.service'; +import { cacheManager } from '@/utils/cache.utils'; +import type { ProposalStatus } from '@/types/governance'; + +export interface SearchKeyItem { + id: string; + title: string; + price?: number; + priceStroops?: number; + thumbnail?: string; + creatorId?: string; + category?: string; + change24h?: number; + symbol?: string; + volume24h?: number; +} + +export interface SearchCreatorItem { + id: string; + name?: string; + title?: string; + socialHandle?: string; + avatarUri?: string; + thumbnail?: string; + bio?: string; + isVerified?: boolean; + category?: string; +} + +export interface SearchProposalItem { + id: string; + title: string; + description?: string; + status: ProposalStatus; + creatorId?: string; + quorumBps?: number; + startDate?: string; + endDate?: string; +} + +export interface GlobalSearchResults { + keys: SearchKeyItem[]; + creators: SearchCreatorItem[]; + proposals: SearchProposalItem[]; +} + +const SEARCH_CACHE_TTL = 15_000; // 15 seconds + +class SearchService extends BaseApiService { + /** + * Search across keys, creators, and governance proposals. + * GET /search?q=:query + */ + async search(query: string): Promise { + const trimmed = query.trim(); + if (!trimmed) { + return { keys: [], creators: [], proposals: [] }; + } + + const cacheKey = `global_search_${trimmed.toLowerCase()}`; + const cached = cacheManager.get(cacheKey); + if (cached) return cached; + + try { + const response = await this.api.get< + APIResponse + >('/search', { + params: { q: trimmed }, + }); + + const raw = response.data.data; + let result: GlobalSearchResults = { keys: [], creators: [], proposals: [] }; + + if (raw && typeof raw === 'object') { + if ('results' in raw && raw.results && typeof raw.results === 'object') { + result = { + keys: Array.isArray(raw.results.keys) ? raw.results.keys : [], + creators: Array.isArray(raw.results.creators) ? raw.results.creators : [], + proposals: Array.isArray(raw.results.proposals) ? raw.results.proposals : [], + }; + } else if ('keys' in raw || 'creators' in raw || 'proposals' in raw) { + result = { + keys: Array.isArray((raw as GlobalSearchResults).keys) ? (raw as GlobalSearchResults).keys : [], + creators: Array.isArray((raw as GlobalSearchResults).creators) ? (raw as GlobalSearchResults).creators : [], + proposals: Array.isArray((raw as GlobalSearchResults).proposals) ? (raw as GlobalSearchResults).proposals : [], + }; + } + } + + cacheManager.set(cacheKey, result, SEARCH_CACHE_TTL); + return result; + } catch (error) { + throw this.handleError(error); + } + } +} + +export const searchService = new SearchService(); From dc1cc318324b8e0b6baa9c551119ddeed732fbef Mon Sep 17 00:00:00 2001 From: solaawojobi00-bit Date: Fri, 25 Sep 2026 04:43:02 +0100 Subject: [PATCH 127/310] feat: add key stats panel with supply, holders, volume, and TWAP on detail page (#952) --- src/components/common/KeyStatsPanel.tsx | 84 +++++++++ .../common/__tests__/KeyStatsPanel.test.tsx | 161 ++++++++++++++++++ src/components/common/keyStatDefinitions.ts | 52 ++++++ src/hooks/__tests__/useKeyStats.test.tsx | 109 ++++++++++++ src/hooks/useKeyStats.ts | 17 ++ src/lib/queryKeys.ts | 2 + src/pages/CreatorDetailPage.tsx | 13 ++ src/services/course.service.ts | 31 ++++ 8 files changed, 469 insertions(+) create mode 100644 src/components/common/KeyStatsPanel.tsx create mode 100644 src/components/common/__tests__/KeyStatsPanel.test.tsx create mode 100644 src/components/common/keyStatDefinitions.ts create mode 100644 src/hooks/__tests__/useKeyStats.test.tsx create mode 100644 src/hooks/useKeyStats.ts diff --git a/src/components/common/KeyStatsPanel.tsx b/src/components/common/KeyStatsPanel.tsx new file mode 100644 index 00000000..b0b3774e --- /dev/null +++ b/src/components/common/KeyStatsPanel.tsx @@ -0,0 +1,84 @@ +import Skeleton from '@/components/ui/skeleton'; +import { AccessibleInfoTrigger } from '@/components/common/AccessibleInfoTrigger'; +import { KEY_STAT_DEFINITIONS } from '@/components/common/keyStatDefinitions'; +import type { KeyStats } from '@/services/course.service'; + +interface KeyStatsPanelProps { + stats?: KeyStats | null; + /** True only during the initial fetch (no data yet). */ + isLoading?: boolean; + isError?: boolean; +} + +/** + * Key statistics panel for the creator key detail page (#952). + * + * Labels and tooltips render in every state and each value slot has a fixed + * height, so the initial skeleton and the 30s background refreshes never + * shift the surrounding layout. + */ +const KeyStatsPanel: React.FC = ({ + stats, + isLoading = false, + isError = false, +}) => { + const showSkeleton = isLoading && !stats; + const showError = isError && !stats && !isLoading; + + return ( +
+

+ Key Stats +

+
+ {KEY_STAT_DEFINITIONS.map(stat => ( +
+
+ {stat.label} + +
+
+ {showSkeleton ? ( + + ) : ( + + {stat.format(stats?.[stat.key])} + + )} +
+
+ ))} +
+ {showSkeleton && ( + + Loading key stats + + )} + {showError && ( +

+ Key stats are temporarily unavailable. +

+ )} +
+ ); +}; + +export default KeyStatsPanel; diff --git a/src/components/common/__tests__/KeyStatsPanel.test.tsx b/src/components/common/__tests__/KeyStatsPanel.test.tsx new file mode 100644 index 00000000..c663e4d3 --- /dev/null +++ b/src/components/common/__tests__/KeyStatsPanel.test.tsx @@ -0,0 +1,161 @@ +import { describe, expect, it } from 'vitest'; +import { fireEvent, render, screen, within } from '@testing-library/react'; +import KeyStatsPanel from '@/components/common/KeyStatsPanel'; +import { KEY_STAT_DEFINITIONS } from '@/components/common/keyStatDefinitions'; +import type { KeyStats } from '@/services/course.service'; + +const stats: KeyStats = { + supply: 1250, + holderCount: 48, + volume24h: 350_000_000, + totalVolume: 9_870_000_000, + twap1h: 21_000_000, + twap24h: 19_500_000, +}; + +const LABELS = [ + 'Supply', + 'Holders', + '24h Volume', + 'Total Volume', + 'TWAP (1h)', + 'TWAP (24h)', +]; + +describe('KeyStatsPanel', () => { + it('renders all six stats with values from the API', () => { + render(); + + expect(screen.getByTestId('key-stat-supply-value')).toHaveTextContent( + '1,250' + ); + expect( + screen.getByTestId('key-stat-holderCount-value') + ).toHaveTextContent('48'); + expect(screen.getByTestId('key-stat-volume24h-value')).toHaveTextContent( + '35 XLM' + ); + expect( + screen.getByTestId('key-stat-totalVolume-value') + ).toHaveTextContent('987 XLM'); + expect(screen.getByTestId('key-stat-twap1h-value')).toHaveTextContent( + '2.1 XLM' + ); + expect(screen.getByTestId('key-stat-twap24h-value')).toHaveTextContent( + '1.95 XLM' + ); + for (const label of LABELS) { + expect(screen.getByText(label)).toBeInTheDocument(); + } + }); + + it('shows a placeholder for stats the API returns as null', () => { + render(); + expect(screen.getByTestId('key-stat-twap1h-value')).toHaveTextContent( + '—' + ); + }); + + it('provides a tooltip for every stat label', () => { + render(); + + expect(KEY_STAT_DEFINITIONS).toHaveLength(6); + for (const def of KEY_STAT_DEFINITIONS) { + const trigger = screen.getByRole('button', { + name: `Explanation for: ${def.label}`, + }); + fireEvent.focus(trigger); + expect(screen.getByRole('tooltip')).toHaveTextContent(def.explanation); + fireEvent.blur(trigger); + expect(screen.queryByRole('tooltip')).not.toBeInTheDocument(); + } + }); + + it('shows a loading skeleton during the initial fetch', () => { + render(); + + expect(screen.getByRole('status')).toHaveTextContent('Loading key stats'); + expect(screen.getByTestId('key-stats-panel')).toHaveAttribute( + 'aria-busy', + 'true' + ); + for (const def of KEY_STAT_DEFINITIONS) { + expect( + screen.queryByTestId(`key-stat-${def.key}-value`) + ).not.toBeInTheDocument(); + } + // Labels and tooltips stay in place while loading. + for (const label of LABELS) { + expect(screen.getByText(label)).toBeInTheDocument(); + } + }); + + it('keeps the same cell structure between loading and loaded states (no layout shift)', () => { + const { rerender } = render(); + const loadingCells = KEY_STAT_DEFINITIONS.map(def => { + const cell = screen.getByTestId(`key-stat-${def.key}`); + return { + cell: cell.className, + dd: cell.querySelector('dd')?.className, + }; + }); + + rerender(); + const loadedCells = KEY_STAT_DEFINITIONS.map(def => { + const cell = screen.getByTestId(`key-stat-${def.key}`); + return { + cell: cell.className, + dd: cell.querySelector('dd')?.className, + }; + }); + + expect(loadedCells).toEqual(loadingCells); + for (const cell of loadedCells) { + expect(cell.dd).toContain('h-7'); + } + }); + + it('updates values on refresh without showing the skeleton again', () => { + const { rerender } = render(); + + // A background refetch in flight must not replace values with a skeleton. + rerender(); + expect(screen.queryByRole('status')).not.toBeInTheDocument(); + expect( + screen.getByTestId('key-stat-holderCount-value') + ).toHaveTextContent('48'); + + rerender(); + expect( + screen.getByTestId('key-stat-holderCount-value') + ).toHaveTextContent('49'); + }); + + it('uses a responsive grid that stacks two columns on mobile', () => { + render(); + const grid = screen.getByTestId('key-stats-panel').querySelector('dl'); + + expect(grid).toHaveClass( + 'grid', + 'grid-cols-2', + 'sm:grid-cols-3', + 'lg:grid-cols-6' + ); + expect(within(grid as HTMLElement).getAllByRole('term')).toHaveLength(6); + }); + + it('shows an error message when the initial fetch fails', () => { + render(); + expect(screen.getByRole('alert')).toHaveTextContent( + 'Key stats are temporarily unavailable.' + ); + }); + + it('keeps showing stale values if a refresh fails', () => { + render(); + expect(screen.queryByRole('alert')).not.toBeInTheDocument(); + expect(screen.getByTestId('key-stat-supply-value')).toHaveTextContent( + '1,250' + ); + }); +}); diff --git a/src/components/common/keyStatDefinitions.ts b/src/components/common/keyStatDefinitions.ts new file mode 100644 index 00000000..e6a8925c --- /dev/null +++ b/src/components/common/keyStatDefinitions.ts @@ -0,0 +1,52 @@ +import { formatNumber } from '@/utils/numberFormat.utils'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import type { KeyStats } from '@/services/course.service'; + +export interface KeyStatDefinition { + key: keyof KeyStats; + label: string; + explanation: string; + format: (value: number | null | undefined) => string; +} + +/** Stats shown in the key detail page's stats panel (#952), in display order. */ +export const KEY_STAT_DEFINITIONS: readonly KeyStatDefinition[] = [ + { + key: 'supply', + label: 'Supply', + explanation: 'Total number of keys currently in circulation.', + format: formatNumber, + }, + { + key: 'holderCount', + label: 'Holders', + explanation: 'Number of unique wallets holding at least one key.', + format: formatNumber, + }, + { + key: 'volume24h', + label: '24h Volume', + explanation: 'Total value of keys bought and sold in the last 24 hours.', + format: formatDisplayKeyPrice, + }, + { + key: 'totalVolume', + label: 'Total Volume', + explanation: 'Cumulative value of all key trades since launch.', + format: formatDisplayKeyPrice, + }, + { + key: 'twap1h', + label: 'TWAP (1h)', + explanation: + 'Time-weighted average price over the past hour. Smooths out brief price spikes.', + format: formatDisplayKeyPrice, + }, + { + key: 'twap24h', + label: 'TWAP (24h)', + explanation: + 'Time-weighted average price over the past 24 hours. Less sensitive to short-term manipulation.', + format: formatDisplayKeyPrice, + }, +]; diff --git a/src/hooks/__tests__/useKeyStats.test.tsx b/src/hooks/__tests__/useKeyStats.test.tsx new file mode 100644 index 00000000..885301b6 --- /dev/null +++ b/src/hooks/__tests__/useKeyStats.test.tsx @@ -0,0 +1,109 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { act, renderHook, waitFor } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import type { ReactNode } from 'react'; +import { + useKeyStats, + KEY_STATS_REFRESH_INTERVAL_MS, +} from '@/hooks/useKeyStats'; +import { courseService, type KeyStats } from '@/services/course.service'; +import { queryKeys } from '@/lib/queryKeys'; + +vi.mock('@/services/course.service', () => ({ + courseService: { + getKeyStats: vi.fn(), + }, +})); + +const mockGetKeyStats = vi.mocked(courseService.getKeyStats); + +const baseStats: KeyStats = { + supply: 120, + holderCount: 48, + volume24h: 350_000_000, + totalVolume: 9_870_000_000, + twap1h: 21_000_000, + twap24h: 19_500_000, +}; + +describe('useKeyStats', () => { + let queryClient: QueryClient; + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + mockGetKeyStats.mockReset(); + }); + + afterEach(() => { + vi.useRealTimers(); + queryClient.clear(); + }); + + const wrapper = ({ children }: { children: ReactNode }) => ( + {children} + ); + + it('fetches stats for the key and configures a 30 second refresh', async () => { + mockGetKeyStats.mockResolvedValue(baseStats); + + const { result } = renderHook(() => useKeyStats('key-1'), { wrapper }); + + await waitFor(() => expect(result.current.isSuccess).toBe(true)); + + expect(result.current.data).toEqual(baseStats); + expect(mockGetKeyStats).toHaveBeenCalledWith('key-1'); + + const query = queryClient + .getQueryCache() + .find({ queryKey: queryKeys.creators.stats('key-1') }); + expect(KEY_STATS_REFRESH_INTERVAL_MS).toBe(30_000); + expect(query?.options.staleTime).toBe(30_000); + expect(query?.options.refetchInterval).toBe(30_000); + }); + + it('refetches after 30 seconds and keeps previous data while refreshing', async () => { + vi.useFakeTimers({ shouldAdvanceTime: true }); + mockGetKeyStats.mockResolvedValueOnce(baseStats); + + const { result } = renderHook(() => useKeyStats('key-1'), { wrapper }); + await waitFor(() => expect(result.current.isSuccess).toBe(true)); + + const updated = { ...baseStats, holderCount: 49 }; + let resolveRefetch!: (value: KeyStats) => void; + mockGetKeyStats.mockReturnValueOnce( + new Promise(resolve => { + resolveRefetch = resolve; + }) + ); + + await act(async () => { + await vi.advanceTimersByTimeAsync(30_000); + }); + + expect(mockGetKeyStats).toHaveBeenCalledTimes(2); + // Background refresh must not drop existing data (no skeleton flash). + expect(result.current.isLoading).toBe(false); + expect(result.current.data).toEqual(baseStats); + + await act(async () => { + resolveRefetch(updated); + }); + await waitFor(() => expect(result.current.data).toEqual(updated)); + }); + + it('does not fetch when the key id is empty', () => { + renderHook(() => useKeyStats(''), { wrapper }); + expect(mockGetKeyStats).not.toHaveBeenCalled(); + }); + + it('surfaces errors', async () => { + mockGetKeyStats.mockRejectedValue(new Error('Network error')); + + const { result } = renderHook(() => useKeyStats('key-1'), { wrapper }); + + await waitFor(() => expect(result.current.isError).toBe(true)); + expect(result.current.error?.message).toBe('Network error'); + }); +}); diff --git a/src/hooks/useKeyStats.ts b/src/hooks/useKeyStats.ts new file mode 100644 index 00000000..0942b436 --- /dev/null +++ b/src/hooks/useKeyStats.ts @@ -0,0 +1,17 @@ +import { useQuery } from '@tanstack/react-query'; +import { queryKeys } from '@/lib/queryKeys'; +import { courseService } from '@/services/course.service'; + +/** How often key stats are refreshed from the aggregation endpoint (#952). */ +export const KEY_STATS_REFRESH_INTERVAL_MS = 30_000; + +export function useKeyStats(keyId: string) { + return useQuery({ + queryKey: queryKeys.creators.stats(keyId), + queryFn: () => courseService.getKeyStats(keyId), + enabled: !!keyId, + staleTime: KEY_STATS_REFRESH_INTERVAL_MS, + refetchInterval: KEY_STATS_REFRESH_INTERVAL_MS, + retry: false, + }); +} diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index dceab24c..0167c0f8 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -28,6 +28,8 @@ export const queryKeys = { ['creators', creatorId, 'activity'] as const, twap: (creatorId: string) => ['creators', creatorId, 'twap', '24h'] as const, + stats: (creatorId: string) => + ['creators', creatorId, 'stats'] as const, curveConfig: (creatorId: string) => ['creators', creatorId, 'curve-config'] as const, discovery: { diff --git a/src/pages/CreatorDetailPage.tsx b/src/pages/CreatorDetailPage.tsx index c7918df8..5a1f31cd 100644 --- a/src/pages/CreatorDetailPage.tsx +++ b/src/pages/CreatorDetailPage.tsx @@ -39,6 +39,8 @@ import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; import { usePurchaseConfetti } from '@/hooks/usePurchaseConfetti'; import { useDocumentTitle } from '@/hooks/useDocumentTitle'; import { useKeyTwap } from '@/hooks/useKeyTwap'; +import { useKeyStats } from '@/hooks/useKeyStats'; +import KeyStatsPanel from '@/components/common/KeyStatsPanel'; import Skeleton from '@/components/ui/skeleton'; import { Tooltip } from '@/components/ui/tooltip'; @@ -95,6 +97,11 @@ function CreatorDetailPageContent() { const nextBuyAllowedAt = userPosition?.nextBuyAllowedAt ?? creator?.nextBuyAllowedAt ?? null; const { data: twap, isLoading: isTwapLoading } = useKeyTwap(id || ''); + const { + data: keyStats, + isLoading: isKeyStatsLoading, + isError: isKeyStatsError, + } = useKeyStats(id || ''); // Track stale data indicator const { shouldShowBadge, handleRefetch } = useCreatorProfileStaleIndicator( @@ -280,6 +287,12 @@ function CreatorDetailPageContent() {
+ {/* Key Stats Panel (#952) */} + {/* Deprecation Notice and Buy Action on Key Detail Page */} {isKeyDeprecated(creator) && (
diff --git a/src/services/course.service.ts b/src/services/course.service.ts index 7c6aa833..ebd4d1b4 100644 --- a/src/services/course.service.ts +++ b/src/services/course.service.ts @@ -164,6 +164,25 @@ export interface KeyTwap { window?: string; } +/** + * Aggregated on-chain stats for a creator key (#952). + * Price and volume values are expressed in stroops. + */ +export interface KeyStats { + /** Current circulating key supply. */ + supply: number | null; + /** Number of unique wallets holding at least one key. */ + holderCount: number | null; + /** Trading volume over the last 24 hours, in stroops. */ + volume24h: number | null; + /** Cumulative all-time trading volume, in stroops. */ + totalVolume: number | null; + /** 1-hour time-weighted average price, in stroops. */ + twap1h: number | null; + /** 24-hour time-weighted average price, in stroops. */ + twap24h: number | null; +} + class CourseService extends BaseApiService { private readonly PROFILE_CACHE_TTL = 30000; // 30 seconds @@ -280,6 +299,18 @@ class CourseService extends BaseApiService { } } + // Get aggregated key stats - GET /keys/:keyId/stats + async getKeyStats(keyId: string): Promise { + try { + const response = await this.api.get>( + `/keys/${keyId}/stats` + ); + return response.data.data; + } catch (error) { + throw this.handleError(error); + } + } + // Get enrolled courses - GET /courses/enrolled async getEnrolledCourses(): Promise { try { From 4d30eda77ce40b4eb90489ef4c59255a9421658a Mon Sep 17 00:00:00 2001 From: "freebuff-web[bot]" <224887109+freebuff-web[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 04:47:46 +0100 Subject: [PATCH 128/310] Update 12 files\n\nCo-authored-by: Freebuff Agent (#1) Co-authored-by: teeee <150258875+teethaking@users.noreply.github.com> --- src/components/admin/MultiSigAdminPanel.tsx | 289 ++++++++++++++++++ .../__tests__/MultiSigAdminPanel.test.tsx | 121 ++++++++ .../__tests__/useMultiSigActions.test.tsx | 74 +++++ src/hooks/useMultiSigActions.ts | 88 ++++++ src/hooks/useStellarWallet.ts | 50 +++ src/lib/queryKeys.ts | 2 + src/lib/signing/freighter-signer.ts | 36 +++ src/lib/signing/types.ts | 2 + src/pages/AdminDashboardPage.tsx | 6 + src/services/admin.service.ts | 176 +++++++++++ src/utils/adminAccess.ts | 20 ++ src/utils/env.utils.ts | 4 + 12 files changed, 868 insertions(+) create mode 100644 src/components/admin/MultiSigAdminPanel.tsx create mode 100644 src/components/admin/__tests__/MultiSigAdminPanel.test.tsx create mode 100644 src/hooks/__tests__/useMultiSigActions.test.tsx create mode 100644 src/hooks/useMultiSigActions.ts create mode 100644 src/hooks/useStellarWallet.ts create mode 100644 src/utils/adminAccess.ts diff --git a/src/components/admin/MultiSigAdminPanel.tsx b/src/components/admin/MultiSigAdminPanel.tsx new file mode 100644 index 00000000..52a754ad --- /dev/null +++ b/src/components/admin/MultiSigAdminPanel.tsx @@ -0,0 +1,289 @@ +import { useState } from 'react'; +import { + Check, + Clock3, + History, + Loader2, + LockKeyhole, + PenLine, + ShieldCheck, +} from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { useMultiSigActions } from '@/hooks/useMultiSigActions'; +import { useStellarWallet } from '@/hooks/useStellarWallet'; +import { cn } from '@/lib/utils'; +import { shortenAddress } from '@/lib/web3/format'; +import type { MultiSigAction } from '@/services/admin.service'; +import showToast from '@/utils/toast.util'; + +interface MultiSigAdminPanelProps { + /** The caller must resolve this from a trusted server/config allowlist. */ + isAdmin: boolean; +} + +const PANEL_CLASS = + 'rounded-[2rem] border border-white/10 bg-white/[0.02] p-6 shadow-2xl backdrop-blur-md md:p-8'; + +function sameAddress(left: string, right: string): boolean { + return left.toLowerCase() === right.toLowerCase(); +} + +function uniqueSignatureCount(action: MultiSigAction): number { + return new Set(action.signatures.map(signature => signature.signer.toLowerCase())).size; +} + +function formatActionTime(timestamp: string): string { + const date = new Date(timestamp); + return Number.isNaN(date.getTime()) + ? timestamp + : date.toLocaleString(undefined, { + dateStyle: 'medium', + timeStyle: 'short', + }); +} + +function ActionTypeLabel({ type }: { type: string }) { + return ( + + + ); +} + +function PendingAction({ + action, + walletAddress, + isSigning, + isExecuting, + onSign, + onExecute, +}: { + action: MultiSigAction; + walletAddress: string; + isSigning: boolean; + isExecuting: boolean; + onSign: (action: MultiSigAction) => void; + onExecute: (action: MultiSigAction) => void; +}) { + const signatureCount = uniqueSignatureCount(action); + const thresholdMet = signatureCount >= action.requiredSignatures; + const hasSigned = action.signatures.some(signature => + sameAddress(signature.signer, walletAddress) + ); + const progress = Math.min(100, (signatureCount / action.requiredSignatures) * 100); + + return ( +
  • +
    +
    +
    + + {formatActionTime(action.createdAt)} +
    +

    + {action.title} +

    + {action.description && ( +

    + {action.description} +

    + )} +
    +
    +

    + {signatureCount} / {action.requiredSignatures} signatures +

    +

    + {action.totalSigners} admin wallets in the quorum +

    +
    +
    + +
    +
    + {Array.from({ length: action.requiredSignatures }).map((_, index) => ( + + ))} +
    + + +
    +
    + {action.signatures.length === 0 ? ( + No admin signatures yet + ) : ( + action.signatures.map(signature => ( + + + + )) + )} +
    +
    + + +
    +
    +
  • + ); +} + +export default function MultiSigAdminPanel({ isAdmin }: MultiSigAdminPanelProps) { + const { address, isConnected, activeSigner } = useStellarWallet(); + const [signingId, setSigningId] = useState(null); + const [executingId, setExecutingId] = useState(null); + const { pending, history, sign, execute, enabled } = useMultiSigActions( + isAdmin, + address, + isConnected + ); + + if (!enabled || !address) return null; + + const handleSign = async (action: MultiSigAction) => { + setSigningId(action.id); + try { + if (!activeSigner?.signMessage) { + throw new Error('The connected Stellar wallet cannot sign this action.'); + } + const signature = await activeSigner.signMessage(action.payload); + sign.mutate( + { action, signature }, + { onSettled: () => setSigningId(null) } + ); + } catch (error) { + setSigningId(null); + showToast.error( + error instanceof Error + ? error.message + : 'The wallet signature was not completed.' + ); + } + }; + + const handleExecute = (action: MultiSigAction) => { + setExecutingId(action.id); + execute.mutate(action, { onSettled: () => setExecutingId(null) }); + }; + + return ( +
    +
    +
    +
    +
    +

    Multi-sig confirmation

    +

    + Sensitive governance actions stay paused until two of the three admin wallets sign the exact action payload. +

    +
    +
    +

    Connected admin

    +

    {shortenAddress(address)}

    +
    +
    + +
    +
    +
    +

    Pending actions

    +

    Operations waiting for the 2-of-3 threshold

    +
    +
    + {pending.isLoading && ( +
    +
    +
    +
    + )} + {pending.isError && ( +
    + Pending actions could not be loaded. Retry from the dashboard refresh. +
    + )} + {!pending.isLoading && !pending.isError && (pending.data?.length ?? 0) === 0 && ( +
    + No sensitive actions are waiting for confirmation. +
    + )} + {!pending.isLoading && !pending.isError && (pending.data?.length ?? 0) > 0 && ( +
      + {pending.data?.map(action => ( + void handleSign(actionToSign)} + onExecute={handleExecute} + /> + ))} +
    + )} +
    + +
    +
    +
    + {history.isLoading &&

    Loading action history…

    } + {history.isError &&

    Action history could not be loaded.

    } + {!history.isLoading && !history.isError && (history.data?.length ?? 0) === 0 && ( +

    Completed multi-sig actions will appear here.

    + )} + {!history.isLoading && !history.isError && (history.data?.length ?? 0) > 0 && ( +
      + {history.data?.map(action => ( +
    • +
      +

      {action.title}

      +

      {action.signatures.length} signatures · {action.id}

      +
      + +
    • + ))} +
    + )} +
    +
    + ); +} diff --git a/src/components/admin/__tests__/MultiSigAdminPanel.test.tsx b/src/components/admin/__tests__/MultiSigAdminPanel.test.tsx new file mode 100644 index 00000000..ffdc2045 --- /dev/null +++ b/src/components/admin/__tests__/MultiSigAdminPanel.test.tsx @@ -0,0 +1,121 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import MultiSigAdminPanel from '@/components/admin/MultiSigAdminPanel'; +import { useMultiSigActions } from '@/hooks/useMultiSigActions'; +import { useStellarWallet } from '@/hooks/useStellarWallet'; +import showToast from '@/utils/toast.util'; +import type { MultiSigAction } from '@/services/admin.service'; + +vi.mock('@/hooks/useMultiSigActions', () => ({ + useMultiSigActions: vi.fn(), +})); +vi.mock('@/hooks/useStellarWallet', () => ({ + useStellarWallet: vi.fn(), +})); +vi.mock('@/utils/toast.util', () => ({ + default: { error: vi.fn(), success: vi.fn() }, +})); + +const mockUseMultiSigActions = vi.mocked(useMultiSigActions); +const mockUseStellarWallet = vi.mocked(useStellarWallet); +const mockToastError = vi.mocked(showToast.error); + +const ADMIN_ADDRESS = '0x1111111111111111111111111111111111111111'; +const SECOND_SIGNER = '0x2222222222222222222222222222222222222222'; +const CONNECTED_SIGNER = '0x3333333333333333333333333333333333333333'; +const ACTION: MultiSigAction = { + id: 'action-1', + type: 'deprecate-key', + title: 'Deprecate key', + payload: 'deprecate-key:key-1', + createdAt: '2026-09-01T12:00:00.000Z', + requiredSignatures: 2, + totalSigners: 3, + signatures: [{ signer: ADMIN_ADDRESS, signature: '0xfirst', signedAt: '2026-09-01T12:01:00.000Z' }], +}; + +function setup({ + isAdmin = true, + signatures = ACTION.signatures, + connectedAddress = ADMIN_ADDRESS, +}: { + isAdmin?: boolean; + signatures?: MultiSigAction['signatures']; + connectedAddress?: string; +} = {}) { + const sign = { isPending: false, mutate: vi.fn() }; + const execute = { isPending: false, mutate: vi.fn() }; + mockUseStellarWallet.mockReturnValue({ + address: connectedAddress, + isConnected: true, + activeSigner: { signMessage: vi.fn().mockResolvedValue('signature-2') }, + } as ReturnType); + mockUseMultiSigActions.mockReturnValue({ + pending: { data: [{ ...ACTION, signatures }], isLoading: false, isError: false }, + history: { data: [], isLoading: false, isError: false }, + sign, + execute, + enabled: isAdmin, + } as ReturnType); + return { sign, execute }; +} + +describe('MultiSigAdminPanel (#928)', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('does not render for a non-admin wallet', () => { + setup({ isAdmin: false }); + + render(); + + expect(screen.queryByTestId('multisig-admin-panel')).not.toBeInTheDocument(); + }); + + it('lists the current signature count and disables execution below threshold', () => { + setup(); + + render(); + + expect(screen.getByText('1 / 2 signatures')).toBeInTheDocument(); + expect(screen.getByTestId('multisig-execute-action-1')).toBeDisabled(); + }); + + it('enables execution at the 2-of-3 threshold and submits the wallet signature', async () => { + const user = userEvent.setup(); + const { sign } = setup({ + connectedAddress: CONNECTED_SIGNER, + signatures: [ + ...ACTION.signatures, + { signer: SECOND_SIGNER, signature: '0xsecond', signedAt: '2026-09-01T12:02:00.000Z' }, + ], + }); + + render(); + + expect(screen.getByTestId('multisig-execute-action-1')).toBeEnabled(); + await user.click(screen.getByRole('button', { name: /sign action/i })); + expect(sign.mutate).toHaveBeenCalledWith( + { action: expect.objectContaining({ id: 'action-1' }), signature: 'signature-2' }, + expect.objectContaining({ onSettled: expect.any(Function) }) + ); + }); + + it('surfaces wallet rejection without leaving the action in a signing state', async () => { + const user = userEvent.setup(); + setup({ signatures: [] }); + vi.mocked(useStellarWallet).mockReturnValue({ + address: ADMIN_ADDRESS, + isConnected: true, + activeSigner: { signMessage: vi.fn().mockRejectedValue(new Error('User rejected request')) }, + } as ReturnType); + + render(); + await user.click(screen.getByRole('button', { name: /sign action/i })); + + expect(mockToastError).toHaveBeenCalledWith('User rejected request'); + expect(screen.getByRole('button', { name: /sign action/i })).toBeEnabled(); + }); +}); diff --git a/src/hooks/__tests__/useMultiSigActions.test.tsx b/src/hooks/__tests__/useMultiSigActions.test.tsx new file mode 100644 index 00000000..9b1bd7d9 --- /dev/null +++ b/src/hooks/__tests__/useMultiSigActions.test.tsx @@ -0,0 +1,74 @@ +import type { ReactNode } from 'react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { renderHook, waitFor } from '@testing-library/react'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { useMultiSigActions } from '@/hooks/useMultiSigActions'; +import { queryKeys } from '@/lib/queryKeys'; +import type { MultiSigAction } from '@/services/admin.service'; +import { adminService } from '@/services/admin.service'; + +vi.mock('@/services/admin.service', () => ({ + adminService: { + getPendingMultiSigActions: vi.fn(), + getMultiSigHistory: vi.fn(), + signMultiSigAction: vi.fn(), + executeMultiSigAction: vi.fn(), + }, +})); +vi.mock('@/utils/toast.util', () => ({ + default: { error: vi.fn(), success: vi.fn() }, +})); + +const action: MultiSigAction = { + id: 'action-1', + type: 'governance', + title: 'Governance action', + payload: 'governance:action-1', + createdAt: '2026-09-01T12:00:00.000Z', + requiredSignatures: 2, + totalSigners: 3, + signatures: [ + { signer: 'admin-1', signature: 'sig-1', signedAt: '2026-09-01T12:01:00.000Z' }, + { signer: 'admin-2', signature: 'sig-2', signedAt: '2026-09-01T12:02:00.000Z' }, + ], +}; + +function wrapper({ children }: { children: ReactNode }) { + const client = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + return {children}; +} + +describe('useMultiSigActions (#928)', () => { + beforeEach(() => { + vi.clearAllMocks(); + vi.mocked(adminService.getPendingMultiSigActions).mockResolvedValue([action]); + vi.mocked(adminService.getMultiSigHistory).mockResolvedValue([]); + }); + + it('does not request admin data for a non-admin or disconnected wallet', () => { + const { result } = renderHook(() => useMultiSigActions(false, 'wallet', true), { wrapper }); + + expect(result.current.enabled).toBe(false); + expect(adminService.getPendingMultiSigActions).not.toHaveBeenCalled(); + }); + + it('moves an executed action from pending to timestamped history', async () => { + const completed = { ...action, executedAt: '2026-09-01T12:05:00.000Z' }; + vi.mocked(adminService.executeMultiSigAction).mockResolvedValue(completed); + const { result } = renderHook(() => useMultiSigActions(true, 'admin-1', true), { wrapper }); + + await waitFor(() => expect(result.current.pending.data).toEqual([action])); + result.current.execute.mutate(action); + + await waitFor(() => { + expect(result.current.pending.data).toEqual([]); + expect(result.current.history.data?.[0]).toMatchObject({ + id: action.id, + executedAt: '2026-09-01T12:05:00.000Z', + }); + }); + expect(queryKeys.admin.multiSigPending()).toEqual(['admin', 'multisig', 'pending']); + }); +}); diff --git a/src/hooks/useMultiSigActions.ts b/src/hooks/useMultiSigActions.ts new file mode 100644 index 00000000..37a3706d --- /dev/null +++ b/src/hooks/useMultiSigActions.ts @@ -0,0 +1,88 @@ +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; +import { queryKeys } from '@/lib/queryKeys'; +import { + adminService, + type MultiSigAction, + type MultiSigSignature, +} from '@/services/admin.service'; +import showToast from '@/utils/toast.util'; + +function errorMessage(error: unknown): string { + return error instanceof Error + ? error.message + : 'The multi-sig action could not be completed.'; +} + +export function useMultiSigActions( + isAdmin: boolean, + walletAddress?: string, + connected?: boolean +) { + const queryClient = useQueryClient(); + const enabled = isAdmin && Boolean(connected && walletAddress); + + const pending = useQuery({ + queryKey: queryKeys.admin.multiSigPending(), + queryFn: () => adminService.getPendingMultiSigActions(), + enabled, + }); + + const history = useQuery({ + queryKey: queryKeys.admin.multiSigHistory(), + queryFn: () => adminService.getMultiSigHistory(), + enabled, + }); + + const sign = useMutation({ + mutationKey: ['admin', 'multisig', 'sign'], + mutationFn: ({ action, signature }: { action: MultiSigAction; signature: string }) => + adminService.signMultiSigAction(action.id, signature, walletAddress ?? ''), + onSuccess: (result, { action, signature }) => { + queryClient.setQueryData( + queryKeys.admin.multiSigPending(), + actions => + (actions ?? []).map(item => { + if (item.id !== action.id) return item; + if (result) return result; + const newSignature: MultiSigSignature = { + signer: walletAddress ?? '', + signature, + signedAt: new Date().toISOString(), + }; + return { ...item, signatures: [...item.signatures, newSignature] }; + }) + ); + }, + onError: (error: unknown) => { + showToast.error(errorMessage(error)); + }, + }); + + const execute = useMutation({ + mutationKey: ['admin', 'multisig', 'execute'], + mutationFn: (action: MultiSigAction) => + adminService.executeMultiSigAction(action.id), + onSuccess: (result, action) => { + queryClient.setQueryData( + queryKeys.admin.multiSigPending(), + actions => (actions ?? []).filter(item => item.id !== action.id) + ); + const completed = + result ?? + ({ ...action, executedAt: new Date().toISOString() } satisfies MultiSigAction); + queryClient.setQueryData( + queryKeys.admin.multiSigHistory(), + actions => [ + { ...completed, executedAt: completed.executedAt ?? new Date().toISOString() }, + ...(actions ?? []), + ] + ); + showToast.success('Multi-sig action executed'); + }, + onError: (error: unknown) => { + showToast.error(errorMessage(error)); + }, + }); + + return { pending, history, sign, execute, enabled }; +} diff --git a/src/hooks/useStellarWallet.ts b/src/hooks/useStellarWallet.ts new file mode 100644 index 00000000..85642c5f --- /dev/null +++ b/src/hooks/useStellarWallet.ts @@ -0,0 +1,50 @@ +import { useEffect, useState } from 'react'; +import { Networks } from '@stellar/stellar-sdk'; +import { useSigner } from '@/hooks/useSigner'; +import { env } from '@/utils/env.utils'; + +const networkPassphrase = + env.VITE_STELLAR_NETWORK === 'mainnet' ? Networks.PUBLIC : Networks.TESTNET; + +export interface UseStellarWalletResult { + address?: string; + isConnected: boolean; + loading: boolean; + activeSigner: ReturnType['activeSigner']; +} + +export function useStellarWallet(): UseStellarWalletResult { + const { activeSigner, loading: signerLoading } = useSigner(networkPassphrase); + const [address, setAddress] = useState(); + + useEffect(() => { + let cancelled = false; + + if (!activeSigner) { + setAddress(undefined); + return () => { + cancelled = true; + }; + } + + void activeSigner + .getPublicKey() + .then(publicKey => { + if (!cancelled) setAddress(publicKey); + }) + .catch(() => { + if (!cancelled) setAddress(undefined); + }); + + return () => { + cancelled = true; + }; + }, [activeSigner]); + + return { + address, + isConnected: Boolean(address), + loading: signerLoading || Boolean(activeSigner && !address), + activeSigner, + }; +} diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index dceab24c..6f97e7f7 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -57,6 +57,8 @@ export const queryKeys = { }, admin: { oracleCallers: () => ['admin', 'oracle', 'callers'] as const, + multiSigPending: () => ['admin', 'multisig', 'pending'] as const, + multiSigHistory: () => ['admin', 'multisig', 'history'] as const, }, governance: { all: () => ['governance'] as const, diff --git a/src/lib/signing/freighter-signer.ts b/src/lib/signing/freighter-signer.ts index 7a78cdaf..f655b1e3 100644 --- a/src/lib/signing/freighter-signer.ts +++ b/src/lib/signing/freighter-signer.ts @@ -2,6 +2,7 @@ import { getAddress, getNetworkDetails, isConnected, + signMessage, signTransaction, } from '@stellar/freighter-api'; import { classifySigningError, SigningPipelineError } from './errors'; @@ -15,6 +16,13 @@ export interface FreighterApiAdapter { xdr: string, options: { networkPassphrase: string; address?: string } ): Promise<{ signedTxXdr: string; error?: unknown }>; + signMessage?( + message: string, + options: { networkPassphrase: string; address?: string } + ): Promise<{ + signedMessage: string | Uint8Array | null; + error?: unknown; + }>; } const defaultApi: FreighterApiAdapter = { @@ -22,6 +30,7 @@ const defaultApi: FreighterApiAdapter = { getAddress, getNetworkDetails, signTransaction, + signMessage, }; export class FreighterSigner implements Signer { @@ -58,6 +67,33 @@ export class FreighterSigner implements Signer { } } + async signMessage(message: string): Promise { + try { + const network = await this.api.getNetworkDetails(); + if (network.error) throw network.error; + if (network.networkPassphrase !== this.networkPassphrase) { + throw new SigningPipelineError('NetworkMismatch'); + } + if (!this.api.signMessage) { + throw new Error('Freighter message signing is unavailable'); + } + const address = await this.getPublicKey(); + const result = await this.api.signMessage(message, { + networkPassphrase: this.networkPassphrase, + address, + }); + if (result.error || !result.signedMessage) throw result.error; + if (typeof result.signedMessage === 'string') { + return result.signedMessage; + } + return btoa( + String.fromCharCode(...new Uint8Array(result.signedMessage)) + ); + } catch (error) { + throw classifySigningError(error); + } + } + async sign(xdr: string): Promise { try { const network = await this.api.getNetworkDetails(); diff --git a/src/lib/signing/types.ts b/src/lib/signing/types.ts index b76fb1fe..77738001 100644 --- a/src/lib/signing/types.ts +++ b/src/lib/signing/types.ts @@ -4,6 +4,8 @@ export interface Signer { type: SignerType; sign(xdr: string): Promise; getPublicKey(): Promise; + /** Optional payload signing for wallet-native off-chain approvals. */ + signMessage?(message: string): Promise; } export type SigningErrorType = diff --git a/src/pages/AdminDashboardPage.tsx b/src/pages/AdminDashboardPage.tsx index afc6cf4f..7a9a290f 100644 --- a/src/pages/AdminDashboardPage.tsx +++ b/src/pages/AdminDashboardPage.tsx @@ -1,8 +1,13 @@ +import MultiSigAdminPanel from '@/components/admin/MultiSigAdminPanel'; import OracleAccessPanel from '@/components/admin/OracleAccessPanel'; import { useNavigationTiming } from '@/hooks/useNavigationTiming'; +import { useStellarWallet } from '@/hooks/useStellarWallet'; +import { isAdminWallet } from '@/utils/adminAccess'; export default function AdminDashboardPage() { useNavigationTiming('admin-dashboard'); + const { address, isConnected } = useStellarWallet(); + const isAdmin = isConnected && isAdminWallet(address); return (
    @@ -17,6 +22,7 @@ export default function AdminDashboardPage() { + {isAdmin && }
    ); diff --git a/src/services/admin.service.ts b/src/services/admin.service.ts index bf681d55..2d637e0e 100644 --- a/src/services/admin.service.ts +++ b/src/services/admin.service.ts @@ -10,6 +10,117 @@ export interface OracleCaller { addedAt?: string; } +export type MultiSigActionType = 'deprecate-key' | string; + +export interface MultiSigSignature { + /** The connected admin wallet that produced this signature. */ + signer: string; + signature: string; + signedAt: string; +} + +export interface MultiSigAction { + id: string; + type: MultiSigActionType; + title: string; + description?: string; + /** Stable payload shown to admins and signed by their connected wallet. */ + payload: string; + createdAt: string; + requiredSignatures: number; + totalSigners: number; + signatures: MultiSigSignature[]; + /** Present on completed actions returned by the server. */ + executedAt?: string; +} + +type MultiSigActionsResponse = + | MultiSigAction[] + | { + actions?: MultiSigAction[]; + data?: MultiSigAction[]; + }; + +function toMultiSigAction(raw: unknown): MultiSigAction | null { + if (!raw || typeof raw !== 'object') return null; + const value = raw as Record; + const id = typeof value.id === 'string' ? value.id : undefined; + if (!id) return null; + + const rawSignatures = Array.isArray(value.signatures) + ? value.signatures + : []; + const signatures = rawSignatures.reduce( + (result, item) => { + if (!item || typeof item !== 'object') return result; + const signature = item as Record; + const signer = + typeof signature.signer === 'string' + ? signature.signer + : typeof signature.address === 'string' + ? signature.address + : ''; + if (!signer || typeof signature.signature !== 'string') return result; + result.push({ + signer, + signature: signature.signature, + signedAt: + typeof signature.signedAt === 'string' + ? signature.signedAt + : new Date().toISOString(), + }); + return result; + }, + [] + ); + + return { + id, + type: typeof value.type === 'string' ? value.type : 'governance', + title: typeof value.title === 'string' ? value.title : 'Admin action', + description: + typeof value.description === 'string' ? value.description : undefined, + payload: + typeof value.payload === 'string' ? value.payload : `admin-action:${id}`, + createdAt: + typeof value.createdAt === 'string' + ? value.createdAt + : new Date().toISOString(), + requiredSignatures: Math.max( + 2, + typeof value.requiredSignatures === 'number' + ? value.requiredSignatures + : typeof value.required === 'number' + ? value.required + : 2 + ), + totalSigners: Math.max( + 3, + typeof value.totalSigners === 'number' + ? value.totalSigners + : typeof value.total === 'number' + ? value.total + : 3 + ), + signatures, + executedAt: + typeof value.executedAt === 'string' ? value.executedAt : undefined, + }; +} + +function toMultiSigActions(raw: unknown): MultiSigAction[] { + const candidates = Array.isArray(raw) + ? raw + : raw && typeof raw === 'object' + ? ((raw as Record).actions ?? + (raw as Record).data) + : []; + if (!Array.isArray(candidates)) return []; + return candidates + .map(toMultiSigAction) + .filter((action): action is MultiSigAction => action !== null); +} + /** Raw server shapes the callers endpoint may return, normalised on read. */ type OracleCallersResponse = OracleCaller[] | string[] | { callers?: OracleCaller[] }; @@ -94,6 +205,71 @@ class AdminService extends BaseApiService { throw this.handleError(error); } } + + /** List sensitive governance actions waiting for the 2-of-3 threshold. */ + async getPendingMultiSigActions(): Promise { + try { + const response = await this.api.get< + APIResponse + >('/admin/multisig/actions/pending'); + return toMultiSigActions(response.data.data); + } catch (error) { + throw this.handleError(error); + } + } + + /** List completed multi-sig actions for the governance audit trail. */ + async getMultiSigHistory(): Promise { + try { + const response = await this.api.get< + APIResponse + >('/admin/multisig/actions/history'); + return toMultiSigActions(response.data.data); + } catch (error) { + throw this.handleError(error); + } + } + + /** Submit a signature created by the connected admin wallet. */ + async signMultiSigAction( + actionId: string, + signature: string, + signer: string + ): Promise { + try { + const response = await this.api.post< + APIResponse + >(`/admin/multisig/actions/${encodeURIComponent(actionId)}/sign`, { + signature, + signer, + }); + const raw = response.data.data; + return toMultiSigAction( + raw && typeof raw === 'object' && 'action' in raw + ? raw.action + : raw + ); + } catch (error) { + throw this.handleError(error); + } + } + + /** Execute an action after the server has verified the signature threshold. */ + async executeMultiSigAction(actionId: string): Promise { + try { + const response = await this.api.post< + APIResponse + >(`/admin/multisig/actions/${encodeURIComponent(actionId)}/execute`); + const raw = response.data.data; + return toMultiSigAction( + raw && typeof raw === 'object' && 'action' in raw + ? raw.action + : raw + ); + } catch (error) { + throw this.handleError(error); + } + } } export const adminService = new AdminService(); diff --git a/src/utils/adminAccess.ts b/src/utils/adminAccess.ts new file mode 100644 index 00000000..fe2e1797 --- /dev/null +++ b/src/utils/adminAccess.ts @@ -0,0 +1,20 @@ +import { env } from '@/utils/env.utils'; + +/** + * Returns whether the connected wallet is explicitly configured as an admin. + * + * This is intentionally fail-closed: an unset or empty allowlist grants no + * access. The server must still authorize every multi-sig API request. + */ +export function isAdminWallet(address?: string): boolean { + if (!address) return false; + + const allowedWallets = (env.VITE_ADMIN_WALLETS ?? '') + .split(',') + .map(wallet => wallet.trim()) + .filter(Boolean); + + return allowedWallets.some( + allowedWallet => allowedWallet.toLowerCase() === address.toLowerCase() + ); +} diff --git a/src/utils/env.utils.ts b/src/utils/env.utils.ts index 0a91fb81..bf7967b8 100644 --- a/src/utils/env.utils.ts +++ b/src/utils/env.utils.ts @@ -8,6 +8,9 @@ const envSchema = z.object({ VITE_SEPOLIA_RPC_URL: z.string().optional(), VITE_MAINNET_RPC_URL: z.string().optional(), VITE_STELLAR_NETWORK: z.enum(['mainnet', 'testnet']).default('testnet'), + // Comma-separated wallet addresses that may access the admin safety panel. + // Leaving this unset fails closed and hides the panel. + VITE_ADMIN_WALLETS: z.string().optional(), // UTM configuration for share links. Optional — when not provided, share URLs remain unchanged. VITE_UTM_SOURCE: z.string().optional(), VITE_UTM_MEDIUM: z.string().optional(), @@ -24,6 +27,7 @@ export const env = envSchema.parse({ VITE_SEPOLIA_RPC_URL: import.meta.env.VITE_SEPOLIA_RPC_URL, VITE_MAINNET_RPC_URL: import.meta.env.VITE_MAINNET_RPC_URL, VITE_STELLAR_NETWORK: import.meta.env.VITE_STELLAR_NETWORK, + VITE_ADMIN_WALLETS: import.meta.env.VITE_ADMIN_WALLETS, VITE_UTM_SOURCE: import.meta.env.VITE_UTM_SOURCE, VITE_UTM_MEDIUM: import.meta.env.VITE_UTM_MEDIUM, VITE_UTM_CAMPAIGN: import.meta.env.VITE_UTM_CAMPAIGN, From 2a9b86b26508c55738dc60f7e8342ab68a4100e1 Mon Sep 17 00:00:00 2001 From: Daniel Omoloba Date: Fri, 25 Sep 2026 04:09:12 +0000 Subject: [PATCH 129/310] feat(trade): display configurable spread between buy and sell price (#951) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Surface the bid-ask spread on the key detail page and the quick-trade modal so users can see the cost of an immediate round-trip trade. The spread comes from a new GET /keys/:keyId/config endpoint, is cached and refetched through React Query so it tracks config changes without a page reload, and is omitted entirely at zero spread where the buy and sell prices are simply shown as equal. 🤖 Generated with Codebuff Co-Authored-By: Codebuff --- src/components/common/BuySellKeyFlow.tsx | 17 +++ src/components/common/SpreadIndicator.tsx | 124 ++++++++++++++++++ src/components/common/TradeDialog.tsx | 17 +++ .../common/__tests__/SpreadIndicator.test.tsx | 83 ++++++++++++ .../__tests__/TradeDialog.spread.test.tsx | 78 +++++++++++ src/hooks/__tests__/useKeyConfig.test.tsx | 68 ++++++++++ src/hooks/useKeyConfig.ts | 21 +++ src/lib/__tests__/queryKeys.test.ts | 13 ++ src/lib/queryKeys.ts | 2 + src/pages/CreatorDetailPage.tsx | 18 +++ src/pages/LandingPage.tsx | 7 + src/services/course.service.ts | 32 +++++ src/utils/__tests__/spread.utils.test.ts | 104 +++++++++++++++ src/utils/spread.utils.ts | 98 ++++++++++++++ 14 files changed, 682 insertions(+) create mode 100644 src/components/common/SpreadIndicator.tsx create mode 100644 src/components/common/__tests__/SpreadIndicator.test.tsx create mode 100644 src/components/common/__tests__/TradeDialog.spread.test.tsx create mode 100644 src/hooks/__tests__/useKeyConfig.test.tsx create mode 100644 src/hooks/useKeyConfig.ts create mode 100644 src/utils/__tests__/spread.utils.test.ts create mode 100644 src/utils/spread.utils.ts diff --git a/src/components/common/BuySellKeyFlow.tsx b/src/components/common/BuySellKeyFlow.tsx index dbedcb83..2c9132a6 100644 --- a/src/components/common/BuySellKeyFlow.tsx +++ b/src/components/common/BuySellKeyFlow.tsx @@ -26,6 +26,8 @@ import { import { BUY_QUANTITY_BOUNDS, FEE_BOUNDS } from '@/constants/fees'; import showToast from '@/utils/toast.util'; import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; +import type { KeyConfig } from '@/services/course.service'; +import SpreadIndicator from '@/components/common/SpreadIndicator'; import { cn } from '@/lib/utils'; import { ArrowRight } from 'lucide-react'; @@ -53,6 +55,10 @@ export interface BuySellKeyFlowProps { launchPenaltyBps?: number | null; createdAtLedger?: number | null; currentLedger?: number | null; + /** Live key trading config carrying the bid-ask spread (#951). */ + keyConfig?: KeyConfig | null; + /** Whether the key config query is still loading. */ + isKeyConfigLoading?: boolean; onSubmitTrade?: (params: BuySellTradeParams) => Promise | void; onSuccess?: (params: BuySellTradeParams) => void; onError?: (error: unknown) => void; @@ -82,6 +88,8 @@ export const BuySellKeyFlow: React.FC = ({ launchPenaltyBps, createdAtLedger, currentLedger, + keyConfig, + isKeyConfigLoading = false, onSubmitTrade, onSuccess, onError, @@ -329,6 +337,15 @@ export const BuySellKeyFlow: React.FC = ({
    + {/* Configurable bid-ask spread between buy and sell price (#951) */} + + {/* Early sell penalty warning if applicable */} {side === 'sell' && ( = ({ + buyPriceStroops, + sellPriceStroops, + spreadStroops, + spreadBps, + isLoading = false, + className, +}) => { + if (isLoading) { + return ( +
    + +
    + ); + } + + const spread = calculateKeySpread({ + buyPriceStroops, + sellPriceStroops, + spreadStroops, + spreadBps, + }); + + if (!hasSpreadDisplay(spread)) return null; + + return ( +
    + {spread.hasPricePair && ( +
    + + Buy{' '} + + {formatDisplayKeyPrice(spread.buyPriceStroops)} + + + + Sell{' '} + + {formatDisplayKeyPrice(spread.sellPriceStroops)} + + +
    + )} + + {spread.hasSpread && ( +
    + + Spread + + + + + + + {formatDisplayKeyPrice(spread.spreadStroops)} + + {spread.spreadPercent != null && ( + + ({formatPercent(spread.spreadPercent)}) + + )} + +
    + )} +
    + ); +}; + +export default SpreadIndicator; diff --git a/src/components/common/TradeDialog.tsx b/src/components/common/TradeDialog.tsx index 26746979..0f2c9c0a 100644 --- a/src/components/common/TradeDialog.tsx +++ b/src/components/common/TradeDialog.tsx @@ -52,6 +52,8 @@ import { computeSlippageBounds, type SlippageBounds, } from '@/utils/slippageTolerance.utils'; +import type { KeyConfig } from '@/services/course.service'; +import SpreadIndicator from '@/components/common/SpreadIndicator'; export type TradeSide = 'buy' | 'sell'; @@ -76,6 +78,10 @@ export interface TradeDialogProps { launchPenaltyBps?: number | null; /** Max buy quantity allowed per transaction; null means no limit. */ maxBuyQuantity?: number | null; + /** Live key trading config carrying the bid-ask spread (#951). */ + keyConfig?: KeyConfig | null; + /** Whether the key config query is still loading. */ + isKeyConfigLoading?: boolean; /** Whether to display the confirmation modal step before submission (#919). Defaults to false. */ requireConfirmation?: boolean; onOpenChange: (open: boolean) => void; @@ -103,6 +109,8 @@ const TradeDialog: React.FC = ({ currentLedger, launchPenaltyBps, maxBuyQuantity = null, + keyConfig, + isKeyConfigLoading = false, requireConfirmation = false, onOpenChange, onConfirm, @@ -453,6 +461,15 @@ const TradeDialog: React.FC = ({

    )} + {/* Configurable bid-ask spread between buy and sell price (#951) */} + + {side === 'sell' && ( { + it('displays the spread amount and percentage', () => { + render( + + ); + + expect(screen.getByTestId('key-spread')).toBeInTheDocument(); + expect(screen.getByTestId('key-spread-amount')).toHaveTextContent( + '0.005 XLM' + ); + expect(screen.getByTestId('key-spread-percent')).toHaveTextContent('5%'); + }); + + it('renders an explanatory tooltip for the spread', () => { + render( + + ); + + expect( + screen.getByRole('button', { name: /what is the spread/i }) + ).toBeInTheDocument(); + expect(screen.getByRole('tooltip')).toHaveTextContent(SPREAD_TOOLTIP); + }); + + it('reflects the configured buy and sell prices', () => { + render( + + ); + + expect(screen.getByTestId('key-spread-buy-price')).toHaveTextContent( + '0.2 XLM' + ); + expect(screen.getByTestId('key-spread-sell-price')).toHaveTextContent( + '0.18 XLM' + ); + expect(screen.getByTestId('key-spread-percent')).toHaveTextContent('10%'); + }); + + it('shows buy and sell prices as equal and omits the spread row at zero spread', () => { + render( + + ); + + expect(screen.getByTestId('key-spread-prices')).toBeInTheDocument(); + expect(screen.getByTestId('key-spread-buy-price')).toHaveTextContent( + '0.1 XLM' + ); + expect(screen.getByTestId('key-spread-sell-price')).toHaveTextContent( + '0.1 XLM' + ); + expect(screen.queryByTestId('key-spread-row')).not.toBeInTheDocument(); + }); + + it('renders nothing before the key config is available', () => { + const { container } = render(); + + expect(container).toBeEmptyDOMElement(); + }); + + it('renders a loading placeholder while the config loads', () => { + render(); + + expect(screen.getByTestId('key-spread-loading')).toBeInTheDocument(); + expect(screen.queryByTestId('key-spread')).not.toBeInTheDocument(); + }); +}); diff --git a/src/components/common/__tests__/TradeDialog.spread.test.tsx b/src/components/common/__tests__/TradeDialog.spread.test.tsx new file mode 100644 index 00000000..2a57d5a4 --- /dev/null +++ b/src/components/common/__tests__/TradeDialog.spread.test.tsx @@ -0,0 +1,78 @@ +/** + * Tests for the configurable bid-ask spread shown in the quick-trade + * modal (#951). The spread is passed in from the key config query and must + * render on both the buy and sell side, and disappear entirely at zero + * spread. + */ +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import TradeDialog from '@/components/common/TradeDialog'; +import type { KeyConfig } from '@/services/course.service'; + +const SPREAD_CONFIG: KeyConfig = { + buyPriceStroops: 1_000_000, + sellPriceStroops: 950_000, + spreadStroops: 50_000, + spreadBps: 500, +}; + +function renderDialog( + overrides: Partial> = {} +) { + return render( + + ); +} + +describe('TradeDialog – configurable spread (#951)', () => { + it('shows the spread amount and percentage on the buy side', () => { + renderDialog(); + + expect(screen.getByTestId('key-spread')).toBeInTheDocument(); + expect(screen.getByTestId('key-spread-amount')).toHaveTextContent( + '0.005 XLM' + ); + expect(screen.getByTestId('key-spread-percent')).toHaveTextContent('5%'); + }); + + it('shows the spread on the sell side too', () => { + renderDialog({ side: 'sell' }); + + expect(screen.getByTestId('key-spread-row')).toBeInTheDocument(); + expect(screen.getByTestId('key-spread-percent')).toHaveTextContent('5%'); + }); + + it('omits the spread row when the config reports equal buy and sell prices', () => { + renderDialog({ + keyConfig: { + buyPriceStroops: 1_000_000, + sellPriceStroops: 1_000_000, + }, + }); + + expect(screen.getByTestId('key-spread-buy-price')).toHaveTextContent( + '0.1 XLM' + ); + expect(screen.getByTestId('key-spread-sell-price')).toHaveTextContent( + '0.1 XLM' + ); + expect(screen.queryByTestId('key-spread-row')).not.toBeInTheDocument(); + }); + + it('renders no spread surface when the key config is unavailable', () => { + renderDialog({ keyConfig: null }); + + expect(screen.queryByTestId('key-spread')).not.toBeInTheDocument(); + }); +}); diff --git a/src/hooks/__tests__/useKeyConfig.test.tsx b/src/hooks/__tests__/useKeyConfig.test.tsx new file mode 100644 index 00000000..f6daf7b6 --- /dev/null +++ b/src/hooks/__tests__/useKeyConfig.test.tsx @@ -0,0 +1,68 @@ +import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { renderHook, waitFor } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import React, { type ReactNode } from 'react'; +import { useKeyConfig } from '@/hooks/useKeyConfig'; +import { courseService, type KeyConfig } from '@/services/course.service'; +import { queryKeys } from '@/lib/queryKeys'; + +vi.mock('@/services/course.service', async importOriginal => { + const original = + await importOriginal(); + return { + ...original, + courseService: { + ...original.courseService, + getKeyConfig: vi.fn(), + }, + }; +}); + +const mockGetKeyConfig = vi.mocked(courseService.getKeyConfig); + +describe('useKeyConfig (#951)', () => { + let queryClient: QueryClient; + + beforeEach(() => { + queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + mockGetKeyConfig.mockReset(); + }); + + const wrapper = ({ children }: { children: ReactNode }) => ( + {children} + ); + + it('fetches the key config via courseService.getKeyConfig', async () => { + const mockConfig: KeyConfig = { + keyId: 'creator-key-1', + buyPriceStroops: 1_000_000, + sellPriceStroops: 950_000, + spreadStroops: 50_000, + spreadBps: 500, + }; + mockGetKeyConfig.mockResolvedValue(mockConfig); + + const { result } = renderHook(() => useKeyConfig('creator-key-1'), { + wrapper, + }); + + await waitFor(() => expect(result.current.isSuccess).toBe(true)); + + expect(result.current.data).toEqual(mockConfig); + expect(mockGetKeyConfig).toHaveBeenCalledWith('creator-key-1'); + + const query = queryClient + .getQueryCache() + .find({ queryKey: queryKeys.creators.keyConfig('creator-key-1') }); + expect(query).toBeDefined(); + }); + + it('does not fetch when the key id is empty or undefined', () => { + const { result } = renderHook(() => useKeyConfig(undefined), { wrapper }); + + expect(result.current.isFetching).toBe(false); + expect(mockGetKeyConfig).not.toHaveBeenCalled(); + }); +}); diff --git a/src/hooks/useKeyConfig.ts b/src/hooks/useKeyConfig.ts new file mode 100644 index 00000000..ecefac43 --- /dev/null +++ b/src/hooks/useKeyConfig.ts @@ -0,0 +1,21 @@ +import { useQuery } from '@tanstack/react-query'; +import { queryKeys } from '@/lib/queryKeys'; +import { courseService, type KeyConfig } from '@/services/course.service'; + +/** + * Fetches the live trading config for a creator key (#951). + * + * The config carries the current buy/sell prices used to derive the + * bid-ask spread. React Query refetches it when the cache is invalidated + * or goes stale, so the displayed spread stays in sync with the key + * configuration without a full page reload. + */ +export function useKeyConfig(keyId: string | undefined) { + return useQuery({ + queryKey: queryKeys.creators.keyConfig(keyId ?? ''), + queryFn: () => courseService.getKeyConfig(keyId!), + enabled: Boolean(keyId), + staleTime: 30_000, + retry: false, + }); +} diff --git a/src/lib/__tests__/queryKeys.test.ts b/src/lib/__tests__/queryKeys.test.ts index ff099914..4d6a0be0 100644 --- a/src/lib/__tests__/queryKeys.test.ts +++ b/src/lib/__tests__/queryKeys.test.ts @@ -10,6 +10,7 @@ describe('queryKeys – key shapes', () => { expect(Array.isArray(queryKeys.creators.list())).toBe(true); expect(Array.isArray(queryKeys.creators.detail('abc'))).toBe(true); expect(Array.isArray(queryKeys.creators.holders('abc'))).toBe(true); + expect(Array.isArray(queryKeys.creators.keyConfig('abc'))).toBe(true); expect(Array.isArray(queryKeys.wallet.holdings('0xabc'))).toBe(true); expect(Array.isArray(queryKeys.wallet.activity('0xabc'))).toBe(true); }); @@ -30,6 +31,12 @@ describe('queryKeys – shared prefixes for cache invalidation', () => { ); }); + it('creators.keyConfig shares the creators prefix with creators.all', () => { + expect(queryKeys.creators.keyConfig('x')[0]).toBe( + queryKeys.creators.all[0] + ); + }); + it('wallet.holdings and wallet.activity share the wallet + address prefix', () => { const addr = '0x1234'; expect(queryKeys.wallet.holdings(addr)[0]).toBe( @@ -60,6 +67,12 @@ describe('queryKeys – parameter embedding', () => { expect(queryKeys.creators.holders('creator-456')[1]).toBe('creator-456'); }); + it('creators.keyConfig embeds creatorId at index 1', () => { + expect(queryKeys.creators.keyConfig('creator-789')[1]).toBe( + 'creator-789' + ); + }); + it('wallet.holdings embeds address at index 1', () => { expect(queryKeys.wallet.holdings('0xabc')[1]).toBe('0xabc'); }); diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index dceab24c..397eadb0 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -30,6 +30,8 @@ export const queryKeys = { ['creators', creatorId, 'twap', '24h'] as const, curveConfig: (creatorId: string) => ['creators', creatorId, 'curve-config'] as const, + keyConfig: (creatorId: string) => + ['creators', creatorId, 'key-config'] as const, discovery: { all: () => ['creators', 'discovery'] as const, trending: () => ['creators', 'discovery', 'trending'] as const, diff --git a/src/pages/CreatorDetailPage.tsx b/src/pages/CreatorDetailPage.tsx index c7918df8..79177f3b 100644 --- a/src/pages/CreatorDetailPage.tsx +++ b/src/pages/CreatorDetailPage.tsx @@ -39,6 +39,8 @@ import { getSignatureErrorMessage } from '@/utils/errorHandling.utils'; import { usePurchaseConfetti } from '@/hooks/usePurchaseConfetti'; import { useDocumentTitle } from '@/hooks/useDocumentTitle'; import { useKeyTwap } from '@/hooks/useKeyTwap'; +import { useKeyConfig } from '@/hooks/useKeyConfig'; +import SpreadIndicator from '@/components/common/SpreadIndicator'; import Skeleton from '@/components/ui/skeleton'; import { Tooltip } from '@/components/ui/tooltip'; @@ -95,6 +97,11 @@ function CreatorDetailPageContent() { const nextBuyAllowedAt = userPosition?.nextBuyAllowedAt ?? creator?.nextBuyAllowedAt ?? null; const { data: twap, isLoading: isTwapLoading } = useKeyTwap(id || ''); + // Live key config drives the bid-ask spread shown on the trading surfaces + // (#951). React Query keeps it in sync as the key configuration changes. + const { data: keyConfig, isLoading: isKeyConfigLoading } = useKeyConfig( + id || '' + ); // Track stale data indicator const { shouldShowBadge, handleRefetch } = useCreatorProfileStaleIndicator( @@ -296,6 +303,15 @@ function CreatorDetailPageContent() { ? 'Key is deprecated. New buys are disabled.' : 'Purchase keys for this creator.'}

    + {/* Configurable bid-ask spread between buy and sell price (#951) */} +
    +
    + ); + } + + if (votes.length === 0) { + return ( +
    +

    No votes yet

    +

    + Votes will appear here as eligible wallets participate. +

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

    + Showing {formatNumber(votes.length)} vote + {votes.length === 1 ? '' : 's'} +

    + {address && ( +

    + Your vote is highlighted +

    + )} +
    + +
    + + + + + + + + + + + + {votes.map(vote => { + const isOwnVote = Boolean( + address && + vote.voter.toLowerCase() === address.toLowerCase() + ); + const absoluteTime = formatAbsoluteDateTime( + vote.timestamp + ); + const relativeTime = formatRelativeTime(vote.timestamp); + + return ( + + + + + + + ); + })} + +
    + All votes cast on this proposal +
    + Voter wallet + + Direction + + Weight + + Cast +
    +
    + + {vote.voter} + + {isOwnVote && ( + + Your vote + + )} +
    +
    + + + {formatNumber(vote.weight, { + maximumFractionDigits: 4, + })} + + {relativeTime} +
    +
    + + {isFetchNextPageError && ( +

    + Additional votes could not be loaded. Please try again. +

    + )} + + {hasNextPage && ( +
    + +
    + )} +
    + ); +} diff --git a/src/components/common/__tests__/ProposalOutcomeSummary.test.tsx b/src/components/common/__tests__/ProposalOutcomeSummary.test.tsx new file mode 100644 index 00000000..16c88c08 --- /dev/null +++ b/src/components/common/__tests__/ProposalOutcomeSummary.test.tsx @@ -0,0 +1,72 @@ +import { render, screen } from '@testing-library/react'; +import { describe, expect, it } from 'vitest'; +import ProposalOutcomeSummary from '@/components/common/ProposalOutcomeSummary'; +import type { Proposal } from '@/types/governance'; + +function createProposal(overrides: Partial = {}): Proposal { + return { + id: 'proposal-1', + creatorId: 'creator-1', + title: 'Proposal', + description: 'Description', + status: 'active', + quorumBps: 4000, + eligibleVotingWeight: 80, + totalCirculatingSupply: 100, + totalVotingWeight: 20, + startDate: '2026-09-01T00:00:00.000Z', + endDate: '2026-09-08T00:00:00.000Z', + forVotes: 12, + againstVotes: 6, + abstainVotes: 2, + ...overrides, + }; +} + +describe('ProposalOutcomeSummary', () => { + it('uses explicit eligible weight for the participation rate', () => { + render(); + + expect( + screen.getByTestId('proposal-participation-rate') + ).toHaveTextContent('25%'); + expect(screen.getByText(/of 80 eligible weight/i)).toBeInTheDocument(); + expect( + screen.queryByTestId('proposal-final-outcome') + ).not.toBeInTheDocument(); + }); + + it.each([ + ['passed', 'Passed'], + ['cancelled', 'Failed'], + ] as const)('shows the final outcome for a %s proposal', (status, label) => { + render( + + ); + + expect( + screen.getByRole('region', { name: `Final outcome: ${label}` }) + ).toBeInTheDocument(); + expect(screen.getByRole('heading', { name: label })).toBeInTheDocument(); + }); + + it('shows quorum not met separately from a failed vote', () => { + render( + + ); + + expect( + screen.getByRole('region', { name: 'Final outcome: Quorum not met' }) + ).toBeInTheDocument(); + expect( + screen.queryByRole('heading', { name: 'Failed' }) + ).not.toBeInTheDocument(); + }); +}); diff --git a/src/components/common/__tests__/ProposalVoteHistory.test.tsx b/src/components/common/__tests__/ProposalVoteHistory.test.tsx new file mode 100644 index 00000000..3b71923a --- /dev/null +++ b/src/components/common/__tests__/ProposalVoteHistory.test.tsx @@ -0,0 +1,126 @@ +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { useAccount } from 'wagmi'; +import ProposalVoteHistory from '@/components/common/ProposalVoteHistory'; +import { fetchProposalVotesPage } from '@/services/governance.service'; + +vi.mock('wagmi', () => ({ + useAccount: vi.fn(), +})); + +vi.mock('@/services/governance.service', () => ({ + fetchProposalVotesPage: vi.fn(), +})); + +const mockUseAccount = vi.mocked(useAccount); +const mockFetchVotes = vi.mocked(fetchProposalVotesPage); + +function renderHistory() { + const queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } }, + }); + + return render( + + + + ); +} + +describe('ProposalVoteHistory', () => { + beforeEach(() => { + mockUseAccount.mockReturnValue({ + address: '0xAbC0000000000000000000000000000000000001', + } as ReturnType); + mockFetchVotes.mockReset(); + }); + + it('renders vote details and highlights the connected wallet vote', async () => { + mockFetchVotes.mockResolvedValue({ + votes: [ + { + id: 'vote-1', + voter: '0xabc0000000000000000000000000000000000001', + direction: 'for', + weight: 12.5, + timestamp: '2026-09-20T12:00:00.000Z', + }, + { + id: 'vote-2', + voter: '0xdef0000000000000000000000000000000000002', + direction: 'against', + weight: 7.25, + timestamp: '2026-09-20T13:00:00.000Z', + }, + ], + nextCursor: null, + }); + + renderHistory(); + + expect( + await screen.findByText('0xabc0000000000000000000000000000000000001') + ).toBeInTheDocument(); + expect(screen.getByText('For')).toBeInTheDocument(); + expect(screen.getByText('Against')).toBeInTheDocument(); + expect(screen.getByText('12.5')).toBeInTheDocument(); + expect(screen.getByText('7.25')).toBeInTheDocument(); + + const ownVote = screen + .getByText('0xabc0000000000000000000000000000000000001') + .closest('tr'); + expect(ownVote).toHaveAttribute('data-own-vote', 'true'); + expect(ownVote).toHaveAccessibleName(/your vote: for, weight 12.5/i); + }); + + it('loads the next page and appends its votes', async () => { + const user = userEvent.setup(); + mockFetchVotes + .mockResolvedValueOnce({ + votes: [ + { + id: 'vote-1', + voter: '0xabc0000000000000000000000000000000000001', + direction: 'for', + weight: 10, + timestamp: '2026-09-20T12:00:00.000Z', + }, + ], + nextCursor: 'cursor-2', + }) + .mockResolvedValueOnce({ + votes: [ + { + id: 'vote-2', + voter: '0xdef0000000000000000000000000000000000002', + direction: 'abstain', + weight: 4, + timestamp: '2026-09-21T12:00:00.000Z', + }, + ], + nextCursor: null, + }); + + renderHistory(); + + await user.click( + await screen.findByRole('button', { name: /load more votes/i }) + ); + + expect( + await screen.findByText('0xdef0000000000000000000000000000000000002') + ).toBeInTheDocument(); + expect(screen.getAllByTestId('proposal-vote-row')).toHaveLength(2); + expect( + screen.queryByRole('button', { name: /load more votes/i }) + ).not.toBeInTheDocument(); + expect(mockFetchVotes).toHaveBeenNthCalledWith(1, 'proposal-1', null); + expect(mockFetchVotes).toHaveBeenNthCalledWith( + 2, + 'proposal-1', + 'cursor-2' + ); + }); +}); diff --git a/src/hooks/useGovernanceProposals.ts b/src/hooks/useGovernanceProposals.ts index cd9890dd..4b567073 100644 --- a/src/hooks/useGovernanceProposals.ts +++ b/src/hooks/useGovernanceProposals.ts @@ -1,5 +1,8 @@ -import { useQuery } from '@tanstack/react-query'; -import { governanceService } from '@/services/governance.service'; +import { useInfiniteQuery, useQuery } from '@tanstack/react-query'; +import { + fetchProposalVotesPage, + governanceService, +} from '@/services/governance.service'; import { queryKeys } from '@/lib/queryKeys'; /** @@ -17,3 +20,27 @@ export function useGovernanceProposals(creatorId?: string) { refetchInterval: 15_000, }); } + +export function useGovernanceProposal(proposalId: string) { + return useQuery({ + queryKey: queryKeys.governance.proposal(proposalId), + queryFn: () => governanceService.getProposal(proposalId), + enabled: Boolean(proposalId), + staleTime: 10_000, + refetchInterval: 15_000, + }); +} + +export function useGovernanceProposalVotes(proposalId: string) { + return useInfiniteQuery({ + queryKey: queryKeys.governance.proposalVotes(proposalId), + queryFn: ({ pageParam }) => + fetchProposalVotesPage( + proposalId, + pageParam as string | null | undefined + ), + initialPageParam: null as string | null, + getNextPageParam: lastPage => lastPage.nextCursor ?? undefined, + enabled: Boolean(proposalId), + }); +} diff --git a/src/lib/queryKeys.ts b/src/lib/queryKeys.ts index d511adb4..fefdce17 100644 --- a/src/lib/queryKeys.ts +++ b/src/lib/queryKeys.ts @@ -56,5 +56,7 @@ export const queryKeys = { proposals: (creatorId?: string) => ['governance', 'proposals', creatorId ?? null] as const, proposal: (id: string) => ['governance', 'proposal', id] as const, + proposalVotes: (id: string) => + ['governance', 'proposal', id, 'votes'] as const, }, } as const; diff --git a/src/pages/ProposalDetailPage.tsx b/src/pages/ProposalDetailPage.tsx new file mode 100644 index 00000000..c293ed18 --- /dev/null +++ b/src/pages/ProposalDetailPage.tsx @@ -0,0 +1,175 @@ +import { useParams, Link } from 'react-router'; +import { ArrowLeft, CalendarDays, UserRound } from 'lucide-react'; +import ProposalOutcomeSummary from '@/components/common/ProposalOutcomeSummary'; +import ProposalVoteHistory from '@/components/common/ProposalVoteHistory'; +import { useGovernanceProposal } from '@/hooks/useGovernanceProposals'; +import { useDocumentTitle } from '@/hooks/useDocumentTitle'; +import { cn } from '@/lib/utils'; +import { shortenAddress } from '@/lib/web3/format'; +import { ApiError } from '@/services/api.service'; +import type { ProposalStatus } from '@/types/governance'; + +const STATUS_CLASSES: Record = { + active: 'border-amber-500/30 bg-amber-500/10 text-amber-400', + passed: 'border-emerald-500/30 bg-emerald-500/10 text-emerald-400', + rejected: 'border-red-500/30 bg-red-500/10 text-red-400', + executed: 'border-blue-500/30 bg-blue-500/10 text-blue-400', + cancelled: 'border-white/10 bg-white/[0.04] text-white/50', +}; + +function formatDateTime(value: string): string { + const date = new Date(value); + if (Number.isNaN(date.getTime())) return 'Date unavailable'; + return date.toLocaleString('en-US', { + month: 'short', + day: 'numeric', + year: 'numeric', + hour: 'numeric', + minute: '2-digit', + }); +} + +function DetailPageShell({ children }: { children: React.ReactNode }) { + return ( +
    +
    {children}
    +
    + ); +} + +export default function ProposalDetailPage() { + const { proposalId = '' } = useParams<{ proposalId: string }>(); + const { + data: proposal, + error, + isLoading, + refetch, + } = useGovernanceProposal(proposalId); + const notFound = error instanceof ApiError && error.status === 404; + + useDocumentTitle( + proposal ? `${proposal.title} — AccessLayer` : 'Proposal — AccessLayer' + ); + + return ( + + +
    ))} diff --git a/src/pages/RevenueDistributionHistoryPage.tsx b/src/pages/RevenueDistributionHistoryPage.tsx new file mode 100644 index 00000000..ad788458 --- /dev/null +++ b/src/pages/RevenueDistributionHistoryPage.tsx @@ -0,0 +1,44 @@ +import { useAccount } from 'wagmi'; +import { Coins } from 'lucide-react'; +import ProtocolRevenueDistributionTable from '@/components/common/ProtocolRevenueDistributionTable'; +import { useDocumentTitle } from '@/hooks/useDocumentTitle'; + +/** + * Revenue Distribution History page for stakers. + * + * Shows all past distribution cycles, the amount distributed per cycle, + * and the connected wallet's claim per cycle with claim functionality. + */ +export default function RevenueDistributionHistoryPage() { + const { address } = useAccount(); + + useDocumentTitle('Revenue Distribution History — AccessLayer'); + + if (!address) { + return ( +
    +
    +
    +
    +
    +

    Please connect your wallet to view your revenue distribution history.

    +
    +
    +
    + ); + } + + return ( +
    +
    +
    +
    + +
    +
    + ); +} diff --git a/src/pages/__tests__/RevenueDistributionHistoryPage.test.tsx b/src/pages/__tests__/RevenueDistributionHistoryPage.test.tsx new file mode 100644 index 00000000..a7b60014 --- /dev/null +++ b/src/pages/__tests__/RevenueDistributionHistoryPage.test.tsx @@ -0,0 +1,51 @@ +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import RevenueDistributionHistoryPage from '../RevenueDistributionHistoryPage'; + +vi.mock('wagmi', () => ({ + useAccount: vi.fn(), +})); + +const { useAccount } = vi.mocked(await import('wagmi')); + +describe('RevenueDistributionHistoryPage', () => { + it('shows connect wallet message when no wallet is connected', () => { + useAccount.mockReturnValue({ address: undefined } as never); + + const queryClient = new QueryClient(); + render( + + + + ); + + expect(screen.getByText('Please connect your wallet to view your revenue distribution history.')).toBeInTheDocument(); + }); + + it('renders page title and table when wallet is connected', () => { + useAccount.mockReturnValue({ address: 'GTESTWALLET' } as never); + + const queryClient = new QueryClient(); + render( + + + + ); + + expect(screen.getByText('Revenue Distribution History')).toBeInTheDocument(); + }); + + it('sets document title correctly', () => { + useAccount.mockReturnValue({ address: 'GTESTWALLET' } as never); + + const queryClient = new QueryClient(); + render( + + + + ); + + expect(document.title).toBe('Revenue Distribution History — AccessLayer'); + }); +}); diff --git a/src/routes.tsx b/src/routes.tsx index 9f6bd228..70ff96c6 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -12,6 +12,7 @@ import ProfilePage from './pages/ProfilePage'; import FollowingPage from './pages/FollowingPage'; import ComparePage from './pages/ComparePage'; import GovernancePage from './pages/GovernancePage'; +import RevenueDistributionHistoryPage from './pages/RevenueDistributionHistoryPage'; export const routes = [ { @@ -82,6 +83,10 @@ export const routes = [ path: '/admin/dashboard', element: , }, + { + path: '/revenue-distribution', + element: , + }, { path: '*', element: , diff --git a/src/services/__tests__/stakerRevenue.service.test.ts b/src/services/__tests__/stakerRevenue.service.test.ts index cdd65be6..061a5218 100644 --- a/src/services/__tests__/stakerRevenue.service.test.ts +++ b/src/services/__tests__/stakerRevenue.service.test.ts @@ -64,6 +64,7 @@ describe('stakerRevenueService', () => { totalDistributed: 5000, stakerCount: 100, amountReceived: 50, + claimed: false, }, ], nextCursor: 'cursor-2', @@ -95,6 +96,8 @@ describe('stakerRevenueService', () => { totalDistributed: 10000, stakerCount: 200, amountReceived: 50, + claimed: true, + transactionHash: 'abc123', }, ], nextCursor: null, diff --git a/src/services/stakerRevenue.service.ts b/src/services/stakerRevenue.service.ts index cb519bea..4c8c8187 100644 --- a/src/services/stakerRevenue.service.ts +++ b/src/services/stakerRevenue.service.ts @@ -10,6 +10,10 @@ export interface ProtocolRevenueDistribution { totalDistributed: number; stakerCount: number; amountReceived: number; + /** Whether this distribution has been claimed by the wallet */ + claimed?: boolean; + /** Transaction hash if this distribution has been claimed */ + transactionHash?: string; } /** Cursor-paginated response envelope for the protocol revenue distribution endpoint. */ From 7137d04bf47c4ca9ff4f0a1c1987bb249207b6ff Mon Sep 17 00:00:00 2001 From: Khadijah Abdulwasii Date: Fri, 25 Sep 2026 12:09:28 +0100 Subject: [PATCH 133/310] feat(#954): add batch buy basket UI for purchasing multiple creator keys - Add BATCH_BUY constants to fees.ts (MAX_BASKET_ITEMS=20, slippage bounds) - Create useBatchBuyStore Zustand store with add/remove/updateQuantity/ setSlippageBps/clearBasket actions and cost selectors - Add BatchBuyBasket animated slide-in drawer with quantity steppers, per-item cost, total preview, cap warning, and empty state - Add BatchBuyConfirmDialog modal with item table, slippage range slider, max-price-per-key display, and network fee hint - Add BatchBuyBasketTrigger floating action button with animated badge - Add 'Add to basket' toggle button on each CreatorCard (amber when added, red hover to remove, disabled at cap) - Wire all components into LandingPage with simulated batch transaction flow --- src/components/common/BatchBuyBasket.tsx | 365 ++++++++++++++++++ .../common/BatchBuyBasketTrigger.tsx | 84 ++++ .../common/BatchBuyConfirmDialog.tsx | 321 +++++++++++++++ src/components/common/CreatorCard.tsx | 142 +++++-- src/constants/fees.ts | 17 + src/hooks/useBatchBuyStore.ts | 176 +++++++++ src/pages/LandingPage.tsx | 75 ++++ 7 files changed, 1149 insertions(+), 31 deletions(-) create mode 100644 src/components/common/BatchBuyBasket.tsx create mode 100644 src/components/common/BatchBuyBasketTrigger.tsx create mode 100644 src/components/common/BatchBuyConfirmDialog.tsx create mode 100644 src/hooks/useBatchBuyStore.ts diff --git a/src/components/common/BatchBuyBasket.tsx b/src/components/common/BatchBuyBasket.tsx new file mode 100644 index 00000000..b0853abf --- /dev/null +++ b/src/components/common/BatchBuyBasket.tsx @@ -0,0 +1,365 @@ +/** + * BatchBuyBasket (#954) + * + * Slide-in panel that lists all creator keys the user has added to their + * batch purchase basket. Each row shows the creator name/avatar, a quantity + * stepper clamped to BUY_QUANTITY_BOUNDS, the per-item cost, and a remove + * button. The footer shows the total cost and opens the confirmation dialog. + * + * Layout strategy: + * - Desktop (≥ sm): fixed right-side drawer anchored below the sticky nav. + * - Mobile: uses a BottomSheet so the platform drag-to-dismiss gesture works. + * + * The component is purely presentational — transaction state lives in + * BatchBuyConfirmDialog. + */ + +import { useCallback } from 'react'; +import { AnimatePresence, motion } from 'framer-motion'; +import { Trash2, ShoppingBasket, X, Minus, Plus } from 'lucide-react'; +import { cn } from '@/lib/utils'; +import { Button } from '@/components/ui/button'; +import { ScrollArea } from '@/components/ui/scroll-area'; +import CreatorInitialsAvatar from '@/components/common/CreatorInitialsAvatar'; +import { + useBatchBuyStore, + selectTotalCostStroops, + selectHasItems, + selectItemCount, +} from '@/hooks/useBatchBuyStore'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import { BATCH_BUY, BUY_QUANTITY_BOUNDS } from '@/constants/fees'; +import { useShallow } from 'zustand/react/shallow'; + +// --------------------------------------------------------------------------- +// Props +// --------------------------------------------------------------------------- + +export interface BatchBuyBasketProps { + open: boolean; + onClose: () => void; + onCheckout: () => void; +} + +// --------------------------------------------------------------------------- +// QuantityStepper — +/− inline stepper for a single basket item +// --------------------------------------------------------------------------- + +interface QuantityStepperProps { + value: number; + creatorId: string; + creatorName: string; + onChange: (id: string, qty: number) => void; +} + +function QuantityStepper({ + value, + creatorId, + creatorName, + onChange, +}: QuantityStepperProps) { + const atMin = value <= BUY_QUANTITY_BOUNDS.MIN_QTY; + const atMax = value >= BUY_QUANTITY_BOUNDS.MAX_QTY; + + return ( +
    + + + + {value} + + + +
    + ); +} + +// --------------------------------------------------------------------------- +// Main component +// --------------------------------------------------------------------------- + +const BatchBuyBasket: React.FC = ({ + open, + onClose, + onCheckout, +}) => { + const { items, updateQuantity, removeItem, clearBasket } = useBatchBuyStore( + useShallow(s => ({ + items: s.items, + updateQuantity: s.updateQuantity, + removeItem: s.removeItem, + clearBasket: s.clearBasket, + })) + ); + const totalStroops = useBatchBuyStore(selectTotalCostStroops); + const hasItems = useBatchBuyStore(selectHasItems); + const itemCount = useBatchBuyStore(selectItemCount); + const atCap = itemCount >= BATCH_BUY.MAX_BASKET_ITEMS; + + const handleQuantityChange = useCallback( + (id: string, qty: number) => { + updateQuantity(id, qty); + }, + [updateQuantity] + ); + + return ( + + {open && ( + <> + {/* Backdrop — clicking it closes the basket */} + + ); +}; + +export default BatchBuyBasket; diff --git a/src/components/common/BatchBuyBasketTrigger.tsx b/src/components/common/BatchBuyBasketTrigger.tsx new file mode 100644 index 00000000..67519c70 --- /dev/null +++ b/src/components/common/BatchBuyBasketTrigger.tsx @@ -0,0 +1,84 @@ +/** + * BatchBuyBasketTrigger (#954) + * + * Floating action button that opens the batch buy basket panel. + * Renders as a fixed-position button in the bottom-right corner of the + * viewport with an animated badge showing the number of items in the basket. + * + * Hidden when the basket is empty so it doesn't distract users who aren't + * using the batch buy feature. + */ + +import { AnimatePresence, motion } from 'framer-motion'; +import { ShoppingBasket } from 'lucide-react'; +import { cn } from '@/lib/utils'; +import { + useBatchBuyStore, + selectItemCount, + selectHasItems, +} from '@/hooks/useBatchBuyStore'; + +export interface BatchBuyBasketTriggerProps { + onClick: () => void; + className?: string; +} + +const BatchBuyBasketTrigger: React.FC = ({ + onClick, + className, +}) => { + const itemCount = useBatchBuyStore(selectItemCount); + const hasItems = useBatchBuyStore(selectHasItems); + + return ( + + {hasItems && ( + + + )} + + ); +}; + +export default BatchBuyBasketTrigger; diff --git a/src/components/common/BatchBuyConfirmDialog.tsx b/src/components/common/BatchBuyConfirmDialog.tsx new file mode 100644 index 00000000..a5e01772 --- /dev/null +++ b/src/components/common/BatchBuyConfirmDialog.tsx @@ -0,0 +1,321 @@ +/** + * BatchBuyConfirmDialog (#954) + * + * Confirmation modal shown before the user submits a batch buy transaction. + * Displays: + * - Full list of creators with quantity, unit price, and per-item max_price + * (after slippage). + * - A slippage tolerance slider / input so users can tune per-key max_price. + * - Total estimated cost and worst-case (slippage-inclusive) total. + * - Network fee hint. + * - Cancel / Confirm Buy buttons — Confirm triggers the transaction flow. + * + * After the dialog is submitted the parent component handles the actual + * simulated transaction and surfaces success/failure state. + */ + +import { useId, useMemo } from 'react'; +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogDescription, + DialogFooter, +} from '@/components/ui/dialog'; +import { Button } from '@/components/ui/button'; +import { StableButtonContent } from '@/components/ui/stable-button-content'; +import { ScrollArea } from '@/components/ui/scroll-area'; +import { Tooltip } from '@/components/ui/tooltip'; +import CreatorInitialsAvatar from '@/components/common/CreatorInitialsAvatar'; +import NetworkFeeHint from '@/components/common/NetworkFeeHint'; +import { cn } from '@/lib/utils'; +import { + useBatchBuyStore, + selectTotalCostStroops, + selectMaxTotalCostStroops, + deriveMaxPriceStroops, +} from '@/hooks/useBatchBuyStore'; +import { formatDisplayKeyPrice } from '@/utils/keyPriceDisplay.utils'; +import { formatTransactionFeeDisplay } from '@/utils/transactionFee.utils'; +import { BATCH_BUY, TRADE_FEE_ESTIMATE } from '@/constants/fees'; +import { useShallow } from 'zustand/react/shallow'; +import { Info, ShieldCheck } from 'lucide-react'; + +// --------------------------------------------------------------------------- +// Props +// --------------------------------------------------------------------------- + +export interface BatchBuyConfirmDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + onConfirm: () => void; + isSubmitting?: boolean; +} + +// --------------------------------------------------------------------------- +// Component +// --------------------------------------------------------------------------- + +const BatchBuyConfirmDialog: React.FC = ({ + open, + onOpenChange, + onConfirm, + isSubmitting = false, +}) => { + const slippageInputId = useId(); + + const { items, slippageBps, setSlippageBps } = useBatchBuyStore( + useShallow(s => ({ + items: s.items, + slippageBps: s.slippageBps, + setSlippageBps: s.setSlippageBps, + })) + ); + + const totalStroops = useBatchBuyStore(selectTotalCostStroops); + const maxTotalStroops = useBatchBuyStore(selectMaxTotalCostStroops); + + const slippagePercent = (slippageBps / 100).toFixed(1); + + // Slippage percentage displayed as a decimal for the range input (0–5%). + const slippageDecimalMax = BATCH_BUY.MAX_SLIPPAGE_BPS / 100; + + const estimatedFee = formatTransactionFeeDisplay( + TRADE_FEE_ESTIMATE.DEFAULT_NETWORK_FEE, + { unit: TRADE_FEE_ESTIMATE.UNIT } + ); + + // Only let the dialog dismiss when not mid-submit. + const handleOpenChange = (next: boolean) => { + if (!isSubmitting) onOpenChange(next); + }; + + // Slippage input: accept a decimal string like "1.5" and convert to bps. + const handleSlippageChange = (raw: string) => { + const parsed = parseFloat(raw); + if (!Number.isFinite(parsed)) return; + const bps = Math.round(parsed * 100); + setSlippageBps(bps); + }; + + const itemRows = useMemo( + () => + items.map(item => { + const itemTotal = item.priceStroops * item.quantity; + const maxPerKey = deriveMaxPriceStroops( + item.priceStroops, + slippageBps + ); + const maxItemTotal = maxPerKey * item.quantity; + return { ...item, itemTotal, maxPerKey, maxItemTotal }; + }), + [items, slippageBps] + ); + + return ( + + { + if (isSubmitting) e.preventDefault(); + }} + onInteractOutside={e => { + if (isSubmitting) e.preventDefault(); + }} + > + + Confirm batch purchase + + Review all keys and costs before submitting. A single + transaction will purchase all items below. + + + + {/* Item table */} + + + + + + + + + + + + {itemRows.map(row => ( + + + + + + + ))} + +
    + Creator + + Qty + + Subtotal + + + Max + + Max price per key including{' '} + {slippagePercent}% slippage + tolerance. The contract rejects + the transaction if the on-chain + price exceeds this value. +

    + } + > + +
    +
    +
    +
    +
    + +
    + + {row.creatorName} + +
    +
    + {row.quantity} + + {formatDisplayKeyPrice(row.itemTotal)} + + {formatDisplayKeyPrice(row.maxItemTotal)} +
    +
    + + {/* Slippage control */} +
    +
    + + + {slippagePercent}% + +
    + handleSlippageChange(e.target.value)} + disabled={isSubmitting} + aria-label={`Slippage tolerance: ${slippagePercent} percent`} + aria-valuemin={BATCH_BUY.MIN_SLIPPAGE_BPS / 100} + aria-valuemax={slippageDecimalMax} + aria-valuenow={slippageBps / 100} + className={cn( + 'h-1.5 w-full cursor-pointer appearance-none rounded-full', + 'bg-white/10 accent-amber-500', + 'disabled:cursor-not-allowed disabled:opacity-50' + )} + /> +

    + Per-key max price is set to{' '} + + price × (1 + {slippagePercent}%) + + . The transaction reverts if the live price exceeds this + limit. +

    +
    + + {/* Totals summary */} +
    +
    + Estimated total + + {formatDisplayKeyPrice(totalStroops)} + +
    +
    + + Max total (incl. slippage) + + + {formatDisplayKeyPrice(maxTotalStroops)} + +
    +
    + +
    +
    + + + + + +
    +
    + ); +}; + +export default BatchBuyConfirmDialog; diff --git a/src/components/common/CreatorCard.tsx b/src/components/common/CreatorCard.tsx index cc9edae0..99fd7e79 100644 --- a/src/components/common/CreatorCard.tsx +++ b/src/components/common/CreatorCard.tsx @@ -4,13 +4,24 @@ import type { Course } from '@/services/course.service'; import { cn } from '@/lib/utils'; import { ShoppingCart, + ShoppingBasket, Link as LinkIcon, TrendingUp, MoreVertical, Copy, Share2, ExternalLink, + Check, } from 'lucide-react'; +import { + useBatchBuyStore, + selectIsInBasket, + selectIsAtCap, +} from '@/hooks/useBatchBuyStore'; +import { + resolveCreatorKeyPriceStroops, + formatCreatorKeyPriceDisplay, +} from '@/utils/keyPriceDisplay.utils'; import { DropdownMenu, DropdownMenuContent, @@ -23,7 +34,6 @@ import RecentActivityBadge from '@/components/common/RecentActivityBadge'; import toast from 'react-hot-toast'; import showToast from '@/utils/toast.util'; import { formatCompactNumber } from '@/utils/numberFormat.utils'; -import { formatCreatorKeyPriceDisplay } from '@/utils/keyPriceDisplay.utils'; import { formatCreatorHandle } from '@/utils/handleDisplay.utils'; import { normalizeCreatorDisplayName } from '@/utils/creatorDisplayName.utils'; import { getCreatorPriceChartAccessibilityCopy } from '@/utils/creatorPriceChartAccessibility.utils'; @@ -195,6 +205,40 @@ const CreatorCard: React.FC = ({ runPurchaseAttempt(); }; + // ── Batch buy basket (#954) ─────────────────────────────────────────── + const addItem = useBatchBuyStore(s => s.addItem); + const removeItem = useBatchBuyStore(s => s.removeItem); + const isInBasket = useBatchBuyStore(s => + selectIsInBasket(s, creator.id) + ); + const isAtCap = useBatchBuyStore(selectIsAtCap); + const priceStroops = resolveCreatorKeyPriceStroops(creator) ?? 0; + + const handleToggleBasket = () => { + if (isInBasket) { + removeItem(creator.id); + toast.success(`Removed ${displayCreatorName} from basket`, { + duration: 2000, + }); + return; + } + if (isAtCap) { + toast.error('Batch cap reached. Remove an item first.', { + duration: 3000, + }); + return; + } + addItem({ + creatorId: creator.id, + creatorName: displayCreatorName, + priceStroops, + thumbnail: creator.thumbnail, + }); + toast.success(`Added ${displayCreatorName} to basket`, { + duration: 2000, + }); + }; + return (
    = ({ Purchase actions for {displayCreatorName} - - {transactionState === 'success' && ( - - )} - {transactionState === 'submitting' && ( - - )} - {transactionState === 'failed' && ( - - )} - - {transactionState === 'submitting' - ? 'Processing...' - : transactionState === 'success' - ? 'Completed' - : transactionState === 'failed' - ? 'Retry Purchase' - : 'Buy Key'} - +
    + {/* Add to basket button (#954) */} + + + + {transactionState === 'success' && ( + + )} + {transactionState === 'submitting' && ( + + )} + {transactionState === 'failed' && ( + + )} + + {transactionState === 'submitting' + ? 'Processing...' + : transactionState === 'success' + ? 'Completed' + : transactionState === 'failed' + ? 'Retry Purchase' + : 'Buy Key'} + +
    ) => void; + removeItem: (creatorId: string) => void; + updateQuantity: (creatorId: string, quantity: number) => void; + setSlippageBps: (bps: number) => void; + clearBasket: () => void; +} + +// --------------------------------------------------------------------------- +// Store +// --------------------------------------------------------------------------- + +export const useBatchBuyStore = create(set => ({ + items: [], + slippageBps: BATCH_BUY.DEFAULT_SLIPPAGE_BPS, + + addItem: item => + set(state => { + // Already in basket — skip silently. + if (state.items.some(i => i.creatorId === item.creatorId)) { + return state; + } + // Enforce the contract-defined batch cap. + if (state.items.length >= BATCH_BUY.MAX_BASKET_ITEMS) { + return state; + } + return { + items: [ + ...state.items, + { ...item, quantity: BUY_QUANTITY_BOUNDS.MIN_QTY }, + ], + }; + }), + + removeItem: creatorId => + set(state => ({ + items: state.items.filter(i => i.creatorId !== creatorId), + })), + + updateQuantity: (creatorId, quantity) => + set(state => { + const clamped = Math.max( + BUY_QUANTITY_BOUNDS.MIN_QTY, + Math.min(BUY_QUANTITY_BOUNDS.MAX_QTY, Math.round(quantity)) + ); + return { + items: state.items.map(i => + i.creatorId === creatorId ? { ...i, quantity: clamped } : i + ), + }; + }), + + setSlippageBps: bps => + set(() => ({ + slippageBps: Math.max( + BATCH_BUY.MIN_SLIPPAGE_BPS, + Math.min(BATCH_BUY.MAX_SLIPPAGE_BPS, Math.round(bps)) + ), + })), + + clearBasket: () => set(() => ({ items: [] })), +})); + +// --------------------------------------------------------------------------- +// Selectors (stable references, safe to use with `useShallow`) +// --------------------------------------------------------------------------- + +/** Total number of distinct creators in the basket. */ +export function selectItemCount(state: BatchBuyState): number { + return state.items.length; +} + +/** True when the basket has at least one item. */ +export function selectHasItems(state: BatchBuyState): boolean { + return state.items.length > 0; +} + +/** True when the basket is at the contract-defined cap. */ +export function selectIsAtCap(state: BatchBuyState): boolean { + return state.items.length >= BATCH_BUY.MAX_BASKET_ITEMS; +} + +/** True when a specific creator is already in the basket. */ +export function selectIsInBasket( + state: BatchBuyState, + creatorId: string +): boolean { + return state.items.some(i => i.creatorId === creatorId); +} + +/** + * Derives the max_price in stroops for a given item, applying the global + * slippage tolerance: max_price = priceStroops * (1 + slippageBps / 10000). + */ +export function deriveMaxPriceStroops( + priceStroops: number, + slippageBps: number +): number { + return Math.ceil(priceStroops * (1 + slippageBps / 10_000)); +} + +/** + * Total cost across all basket items at current quantities (no slippage). + * Expressed in stroops. + */ +export function selectTotalCostStroops(state: BatchBuyState): number { + return state.items.reduce( + (sum, item) => sum + item.priceStroops * item.quantity, + 0 + ); +} + +/** + * Worst-case total cost including slippage across all basket items. + * This is what would be approved on-chain. + */ +export function selectMaxTotalCostStroops(state: BatchBuyState): number { + return state.items.reduce( + (sum, item) => + sum + + deriveMaxPriceStroops(item.priceStroops, state.slippageBps) * + item.quantity, + 0 + ); +} diff --git a/src/pages/LandingPage.tsx b/src/pages/LandingPage.tsx index 339cc803..eabe7ec7 100644 --- a/src/pages/LandingPage.tsx +++ b/src/pages/LandingPage.tsx @@ -66,6 +66,13 @@ import ClearedFiltersEmptyState from '@/components/common/ClearedFiltersEmptySta import CreatorListPagination from '@/components/common/CreatorListPagination'; import CreatorListGroupSeparator from '@/components/common/CreatorListGroupSeparator'; import MarketplaceSidebar from '@/components/common/MarketplaceSidebar'; +import BatchBuyBasket from '@/components/common/BatchBuyBasket'; +import BatchBuyConfirmDialog from '@/components/common/BatchBuyConfirmDialog'; +import BatchBuyBasketTrigger from '@/components/common/BatchBuyBasketTrigger'; +import { + useBatchBuyStore, + selectItemCount, +} from '@/hooks/useBatchBuyStore'; const FEATURED_CREATOR_FACTS = [ { label: 'Membership', value: 'Collectors Circle' }, @@ -274,6 +281,55 @@ function LandingPage() { const [tradeDialogOpen, setTradeDialogOpen] = useState(false); const [tradeSubmitting, setTradeSubmitting] = useState(false); const prefersReducedMotion = usePrefersReducedMotion(); + + // ── Batch buy basket (#954) ─────────────────────────────────────────── + const [batchBasketOpen, setBatchBasketOpen] = useState(false); + const [batchConfirmOpen, setBatchConfirmOpen] = useState(false); + const [batchSubmitting, setBatchSubmitting] = useState(false); + const batchItemCount = useBatchBuyStore(selectItemCount); + const clearBasket = useBatchBuyStore(s => s.clearBasket); + const batchItems = useBatchBuyStore(s => s.items); + + const handleBatchCheckout = () => { + setBatchBasketOpen(false); + setBatchConfirmOpen(true); + }; + + const handleBatchConfirm = async () => { + setBatchSubmitting(true); + try { + showToast.loading( + `Submitting batch purchase of ${batchItemCount} creator key${batchItemCount !== 1 ? 's' : ''}...` + ); + // Simulated batch transaction — mirrors the existing stub pattern. + await new Promise(resolve => + window.setTimeout(resolve, 1800) + ); + toast.remove(); + const fakeTxHash = + '0xbatch' + + Math.random().toString(16).slice(2, 14).padEnd(12, '0') + + 'deadbeef'; + const creatorNames = batchItems + .map(i => i.creatorName) + .slice(0, 3) + .join(', '); + const extraCount = batchItems.length > 3 ? ` +${batchItems.length - 3} more` : ''; + showToast.transactionSuccess( + 'Batch purchase confirmed!', + `Purchased keys for ${creatorNames}${extraCount}.`, + fakeTxHash, + `https://stellar.expert/explorer/testnet/tx/${fakeTxHash}` + ); + clearBasket(); + setBatchConfirmOpen(false); + } catch { + toast.remove(); + showToast.error('Batch purchase failed. Please try again.'); + } finally { + setBatchSubmitting(false); + } + }; const [sortOption, setSortOption] = useState(() => { const sort = searchParams.get('sort') as SortOption | null; if (sort && ['featured', 'price-asc', 'price-desc', 'supply-desc'].includes(sort)) { @@ -1319,6 +1375,25 @@ function LandingPage() { onOpenChange={setTradeDialogOpen} onConfirm={handleConfirmTrade} /> + + {/* Batch buy basket (#954) */} + setBatchBasketOpen(true)} + /> + setBatchBasketOpen(false)} + onCheckout={handleBatchCheckout} + /> + { + if (!batchSubmitting) setBatchConfirmOpen(open); + }} + onConfirm={handleBatchConfirm} + isSubmitting={batchSubmitting} + /> + Date: Fri, 25 Sep 2026 13:01:10 +0100 Subject: [PATCH 134/310] Implement Governance Voting, Snapshots, and Quorum Results Adds governance proposal list/detail views, arbitrary option results, participation and quorum indicators, and read-only closed proposals. Enables Stellar wallet voting through the Creator Keys contract with snapshot-weight fallback, confirmation, transaction feedback, and focused tests. closes #922 --- .env.example | 2 + src/components/common/ProposalCard.tsx | 96 ++--- src/components/common/ProposalVotePanel.tsx | 279 +++++++++++++ src/components/common/QuorumIndicator.tsx | 27 +- .../common/__tests__/ProposalCard.test.tsx | 35 ++ .../__tests__/ProposalVotePanel.test.tsx | 70 ++++ src/hooks/useGovernanceProposals.ts | 104 ++++- src/lib/queryKeys.ts | 7 +- src/pages/GovernancePage.tsx | 21 +- src/pages/ProposalDetailPage.tsx | 331 +++++++++++++++ src/routes.tsx | 5 + .../governanceContract.service.test.ts | 106 +++++ src/services/governance.service.ts | 64 ++- src/services/governanceContract.service.ts | 214 ++++++++++ src/types/governance.ts | 20 +- src/utils/__tests__/governance.utils.test.ts | 89 ++++ src/utils/env.utils.ts | 4 + src/utils/governance.utils.ts | 393 ++++++++++++++++++ 18 files changed, 1766 insertions(+), 101 deletions(-) create mode 100644 src/components/common/ProposalVotePanel.tsx create mode 100644 src/components/common/__tests__/ProposalCard.test.tsx create mode 100644 src/components/common/__tests__/ProposalVotePanel.test.tsx create mode 100644 src/pages/ProposalDetailPage.tsx create mode 100644 src/services/__tests__/governanceContract.service.test.ts create mode 100644 src/services/governanceContract.service.ts create mode 100644 src/utils/__tests__/governance.utils.test.ts create mode 100644 src/utils/governance.utils.ts diff --git a/.env.example b/.env.example index f751e04c..47957606 100644 --- a/.env.example +++ b/.env.example @@ -29,6 +29,8 @@ VITE_MAINNET_RPC_URL= # Stellar network for Stellar Expert explorer links. # Set to 'mainnet' for production, 'testnet' for development (default). VITE_STELLAR_NETWORK=testnet +VITE_STELLAR_RPC_URL= +VITE_CREATOR_KEYS_CONTRACT_ID= # UTM settings for shared profile links (optional) # Set any of these to enable UTM parameters on shared profile URLs. diff --git a/src/components/common/ProposalCard.tsx b/src/components/common/ProposalCard.tsx index 6e4156cd..8de28889 100644 --- a/src/components/common/ProposalCard.tsx +++ b/src/components/common/ProposalCard.tsx @@ -1,7 +1,12 @@ -import { cn } from '@/lib/utils'; -import { Clock, ThumbsUp, ThumbsDown, Minus } from 'lucide-react'; +import { Link } from 'react-router'; +import { ArrowUpRight, Clock } from 'lucide-react'; import QuorumIndicator from '@/components/common/QuorumIndicator'; import type { Proposal } from '@/types/governance'; +import { cn } from '@/lib/utils'; +import { + getProposalOptions, + getProposalVoteTotal, +} from '@/utils/governance.utils'; import { formatCompactNumber } from '@/utils/numberFormat.utils'; interface ProposalCardProps { @@ -11,6 +16,7 @@ interface ProposalCardProps { const statusClasses: Record = { active: 'border-amber-500/30 bg-amber-500/10 text-amber-400', + closed: 'border-white/15 bg-white/10 text-white/60', passed: 'border-emerald-500/30 bg-emerald-500/10 text-emerald-400', rejected: 'border-red-500/30 bg-red-500/10 text-red-400', executed: 'border-blue-500/30 bg-blue-500/10 text-blue-400', @@ -25,83 +31,77 @@ function formatDate(iso: string): string { }); } -/** - * Proposal card with quorum progress indicator (#826). - * - * Shows the proposal title, description, vote tallies, time remaining, - * and a quorum progress bar so voters can see whether participation is - * on track before voting ends. - */ const ProposalCard: React.FC = ({ proposal, className }) => { const isActive = proposal.status === 'active'; - const totalVotes = - proposal.forVotes + proposal.againstVotes + proposal.abstainVotes; + const options = getProposalOptions(proposal); + const totalVotes = getProposalVoteTotal(proposal); + const eligibleWeight = + proposal.eligibleVotingWeight ?? proposal.totalCirculatingSupply; return ( -
    - {/* Header row: status + title */}
    -

    +

    {proposal.title}

    - - {proposal.status} - +
    + + {proposal.status} + + +
    - {/* Description */} -

    - {proposal.description} +

    + {proposal.description || + 'No additional proposal details were provided.'}

    - {/* Vote tallies */} -
    - - - - - - +
    + {options.map(option => ( + + {option.label} + + {formatCompactNumber(option.weight)} + + + ))} - {formatCompactNumber(totalVotes)} votes + {formatCompactNumber(totalVotes)} weight
    - {/* Quorum indicator — core of #826 */} {isActive && ( )} - {/* Footer: dates */}
    -
    + ); }; diff --git a/src/components/common/ProposalVotePanel.tsx b/src/components/common/ProposalVotePanel.tsx new file mode 100644 index 00000000..bb26565e --- /dev/null +++ b/src/components/common/ProposalVotePanel.tsx @@ -0,0 +1,279 @@ +import { useState } from 'react'; +import { + Check, + Clock3, + LoaderCircle, + LockKeyhole, + WalletCards, +} from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@/components/ui/dialog'; +import { + useCastProposalVote, + useProposalSnapshotWeight, +} from '@/hooks/useGovernanceProposals'; +import { useStellarWallet } from '@/hooks/useStellarWallet'; +import { GovernanceContractError } from '@/services/governanceContract.service'; +import type { Proposal } from '@/types/governance'; +import { + getProposalOptions, + getProposalVoteTotal, +} from '@/utils/governance.utils'; +import { formatCompactNumber } from '@/utils/numberFormat.utils'; +import { shortenAddress } from '@/lib/web3/format'; + +export function ProposalVotePanel({ proposal }: { proposal: Proposal }) { + const [selectedOptionIndex, setSelectedOptionIndex] = useState(); + const [confirmationOpen, setConfirmationOpen] = useState(false); + const { + address, + isConnected, + loading: walletLoading, + activeSigner, + } = useStellarWallet(); + const snapshotQuery = useProposalSnapshotWeight(proposal, address); + const voteMutation = useCastProposalVote({ + proposal, + voter: address, + signer: activeSigner, + }); + const options = getProposalOptions(proposal); + const selectedOption = + selectedOptionIndex === undefined + ? undefined + : options[selectedOptionIndex]; + const snapshotWeight = snapshotQuery.data?.weight ?? null; + const canReview = + isConnected && + Boolean(activeSigner) && + !walletLoading && + !snapshotQuery.isFetching && + !snapshotQuery.isError && + snapshotWeight !== null && + snapshotWeight > 0 && + selectedOptionIndex !== undefined && + !voteMutation.isPending; + + const handleConfirm = () => { + if (selectedOptionIndex === undefined) return; + voteMutation.mutate( + { optionIndex: selectedOptionIndex }, + { onSuccess: () => setConfirmationOpen(false) } + ); + }; + + return ( +
    +
    +

    + Cast your vote +

    +

    + Choose an option +

    +
    + +
    +
    +
    + +
    +
    +

    + {walletLoading + ? 'Loading connected wallet…' + : isConnected + ? `Connected to ${shortenAddress(address!)}` + : 'No Stellar wallet connected'} +

    + {isConnected && ( +

    + Vote weight is locked to this Stellar address. +

    + )} +
    + {isConnected && activeSigner && ( + + Stellar + + )} +
    + +
    + {walletLoading || snapshotQuery.isFetching ? ( +

    + + Checking snapshot voting weight… +

    + ) : snapshotQuery.isError ? ( +

    + {snapshotQuery.error instanceof GovernanceContractError + ? snapshotQuery.error.message + : 'Snapshot voting weight is unavailable right now.'} +

    + ) : !isConnected ? ( +

    + Connect a Stellar wallet to view your voting weight. +

    + ) : snapshotWeight === null ? ( +

    + No snapshot voting weight is available for this wallet. +

    + ) : ( +
    +
    +

    + {formatCompactNumber(snapshotWeight, { + maximumFractionDigits: 2, + })} +

    +

    + {snapshotQuery.data?.isCaptured + ? 'Captured snapshot weight' + : 'Voting weight that will be locked on first vote'} +

    +
    + {snapshotQuery.data?.isCaptured ? ( + + Captured + + ) : ( + + Not captured + + )} +
    + )} +
    +
    + +
    + {options.map((option, index) => { + const selected = selectedOptionIndex === index; + const percentage = getProposalVoteTotal(proposal) + ? (option.weight / getProposalVoteTotal(proposal)) * 100 + : 0; + + return ( + + ); + })} +
    + + {voteMutation.isError && ( +

    + Your vote could not be submitted. Check your wallet and try + again. +

    + )} + + + +

    + + + The contract captures your key balance on your first vote and + reuses that snapshot for later vote changes. + +

    + + + + + Confirm your vote + + You are voting as {shortenAddress(address ?? '')} with{' '} + {formatCompactNumber(snapshotWeight)} voting weight. + + +
    +

    + Selected option +

    +

    + {selectedOption?.label} +

    +

    + This transaction is submitted to the Creator Keys contract + and may require your Stellar wallet signature. +

    +
    + + + + +
    +
    +
    + ); +} diff --git a/src/components/common/QuorumIndicator.tsx b/src/components/common/QuorumIndicator.tsx index 3bdf7843..a82aa312 100644 --- a/src/components/common/QuorumIndicator.tsx +++ b/src/components/common/QuorumIndicator.tsx @@ -27,13 +27,18 @@ const QuorumIndicator: React.FC = ({ return { participationPct: 0, quorumPct: 0, quorumReached: false }; } - const participation = (totalVotingWeight / totalCirculatingSupply) * 100; - const quorum = quorumBps / 100; // basis points → percentage + const participation = Math.max(0, totalVotingWeight); + const quorum = Math.max(0, quorumBps) / 100; return { - participationPct: Math.min(participation, 100), + participationPct: Math.min( + (participation / totalCirculatingSupply) * 100, + 100 + ), quorumPct: Math.min(quorum, 100), - quorumReached: participation >= quorum, + quorumReached: + quorum > 0 && + (participation / totalCirculatingSupply) * 100 >= quorum, }; }, [quorumBps, totalVotingWeight, totalCirculatingSupply]); @@ -53,9 +58,7 @@ const QuorumIndicator: React.FC = ({