From dc99e3e8e0b3d32347312bece4b8aacc32112b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=ED=98=B8=EC=9E=AC?= <161708856+ghwo336@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:24:31 +0900 Subject: [PATCH] feat(week05): complete week-05 assignment --- week-05/dev/frontend/.gitignore | 41 ++ week-05/dev/frontend/README.md | 36 ++ .../frontend/app/components/BalanceCard.tsx | 22 + .../app/components/CustomConnectButton.tsx | 49 ++ .../dev/frontend/app/components/Footer.tsx | 11 + .../dev/frontend/app/components/Header.tsx | 14 + .../dev/frontend/app/components/SendEth.tsx | 98 ++++ week-05/dev/frontend/app/favicon.ico | Bin 0 -> 25931 bytes week-05/dev/frontend/app/globals.css | 26 + week-05/dev/frontend/app/layout.tsx | 35 ++ week-05/dev/frontend/app/page.tsx | 23 + week-05/dev/frontend/app/providers.tsx | 29 ++ week-05/dev/frontend/config/wagmi.ts | 12 + week-05/dev/frontend/eslint.config.mjs | 18 + week-05/dev/frontend/next.config.ts | 7 + week-05/dev/frontend/package.json | 30 ++ week-05/dev/frontend/postcss.config.mjs | 7 + week-05/dev/frontend/public/Pelican.png | Bin 0 -> 39310 bytes week-05/dev/frontend/public/file.svg | 1 + week-05/dev/frontend/public/globe.svg | 1 + week-05/dev/frontend/public/next.svg | 1 + week-05/dev/frontend/public/vercel.svg | 1 + week-05/dev/frontend/public/window.svg | 1 + week-05/dev/frontend/tsconfig.json | 34 ++ week-05/dev/frontend/types/css.d.ts | 1 + week-05/theory/quiz-05-solution.md | 491 ++++++++++++++++++ 26 files changed, 989 insertions(+) create mode 100644 week-05/dev/frontend/.gitignore create mode 100644 week-05/dev/frontend/README.md create mode 100644 week-05/dev/frontend/app/components/BalanceCard.tsx create mode 100644 week-05/dev/frontend/app/components/CustomConnectButton.tsx create mode 100644 week-05/dev/frontend/app/components/Footer.tsx create mode 100644 week-05/dev/frontend/app/components/Header.tsx create mode 100644 week-05/dev/frontend/app/components/SendEth.tsx create mode 100644 week-05/dev/frontend/app/favicon.ico create mode 100644 week-05/dev/frontend/app/globals.css create mode 100644 week-05/dev/frontend/app/layout.tsx create mode 100644 week-05/dev/frontend/app/page.tsx create mode 100644 week-05/dev/frontend/app/providers.tsx create mode 100644 week-05/dev/frontend/config/wagmi.ts create mode 100644 week-05/dev/frontend/eslint.config.mjs create mode 100644 week-05/dev/frontend/next.config.ts create mode 100644 week-05/dev/frontend/package.json create mode 100644 week-05/dev/frontend/postcss.config.mjs create mode 100644 week-05/dev/frontend/public/Pelican.png create mode 100644 week-05/dev/frontend/public/file.svg create mode 100644 week-05/dev/frontend/public/globe.svg create mode 100644 week-05/dev/frontend/public/next.svg create mode 100644 week-05/dev/frontend/public/vercel.svg create mode 100644 week-05/dev/frontend/public/window.svg create mode 100644 week-05/dev/frontend/tsconfig.json create mode 100644 week-05/dev/frontend/types/css.d.ts create mode 100644 week-05/theory/quiz-05-solution.md diff --git a/week-05/dev/frontend/.gitignore b/week-05/dev/frontend/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/week-05/dev/frontend/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/week-05/dev/frontend/README.md b/week-05/dev/frontend/README.md new file mode 100644 index 0000000..e215bc4 --- /dev/null +++ b/week-05/dev/frontend/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/week-05/dev/frontend/app/components/BalanceCard.tsx b/week-05/dev/frontend/app/components/BalanceCard.tsx new file mode 100644 index 0000000..8821863 --- /dev/null +++ b/week-05/dev/frontend/app/components/BalanceCard.tsx @@ -0,0 +1,22 @@ +'use client'; + +import { useAccount, useBalance } from "wagmi"; + +export function BalanceCard() { + const { address, isConnected } = useAccount(); + const { data: balance } = useBalance({ address }); + + return ( +
내 잔액
++ {isConnected && balance + ? `${parseFloat(balance.formatted).toFixed(4)} ${balance.symbol}` + : "— ETH"} +
++ {isConnected && address ? address : "지갑을 연결해주세요"} +
+트랜잭션 해시
++ {hash} +
+dAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJw b z_^v8bbg` SAn{I*4bH$u(RZ6*x UhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=p C^ S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk( $?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU ^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvh CL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c 70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397* _cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111a H}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*I cmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU &68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-= A= yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v #ix45EVrcEhr>!NMhprl $InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~ &^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7< 4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}sc Zlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+ 9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2 `1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M =hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S( O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/week-05/dev/frontend/app/globals.css b/week-05/dev/frontend/app/globals.css new file mode 100644 index 0000000..a2dc41e --- /dev/null +++ b/week-05/dev/frontend/app/globals.css @@ -0,0 +1,26 @@ +@import "tailwindcss"; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-geist-sans); + --font-mono: var(--font-geist-mono); +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +body { + background: var(--background); + color: var(--foreground); + font-family: Arial, Helvetica, sans-serif; +} diff --git a/week-05/dev/frontend/app/layout.tsx b/week-05/dev/frontend/app/layout.tsx new file mode 100644 index 0000000..91ac395 --- /dev/null +++ b/week-05/dev/frontend/app/layout.tsx @@ -0,0 +1,35 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import { Providers } from "./providers"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Week 5 dApp", + description: "RainbowKit 지갑 연결 실습", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/week-05/dev/frontend/app/page.tsx b/week-05/dev/frontend/app/page.tsx new file mode 100644 index 0000000..23d4dc8 --- /dev/null +++ b/week-05/dev/frontend/app/page.tsx @@ -0,0 +1,23 @@ +"use client"; + +import Image from "next/image"; +import { Header } from "./components/Header"; +import { BalanceCard } from "./components/BalanceCard"; +import { SendEth } from "./components/SendEth"; +import { Footer } from "./components/Footer"; + +export default function Home() { + return ( +++ ); +} diff --git a/week-05/dev/frontend/app/providers.tsx b/week-05/dev/frontend/app/providers.tsx new file mode 100644 index 0000000..171129a --- /dev/null +++ b/week-05/dev/frontend/app/providers.tsx @@ -0,0 +1,29 @@ +"use client"; + +import { useState, useEffect } from "react"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { WagmiProvider } from "wagmi"; +import { RainbowKitProvider } from "@rainbow-me/rainbowkit"; +import { config } from "@/config/wagmi"; +import "@rainbow-me/rainbowkit/styles.css"; + +const queryClient = new QueryClient(); + +export function Providers({ children }: { children: React.ReactNode }) { + const [mounted, setMounted] = useState(false); + + useEffect(() => { + // eslint-disable-next-line react-hooks/set-state-in-effect + setMounted(true); + }, []); + + if (!mounted) return null; + + return ( ++ +++ + + ++ + + + ); +} diff --git a/week-05/dev/frontend/config/wagmi.ts b/week-05/dev/frontend/config/wagmi.ts new file mode 100644 index 0000000..bfb8e97 --- /dev/null +++ b/week-05/dev/frontend/config/wagmi.ts @@ -0,0 +1,12 @@ +import { getDefaultConfig } from '@rainbow-me/rainbowkit'; +import { sepolia } from 'wagmi/chains'; + +// WalletConnect Cloud에서 발급받은 Project ID로 교체하세요 +// https://cloud.walletconnect.com +const WALLETCONNECT_PROJECT_ID = 'YOUR_PROJECT_ID'; + +export const config = getDefaultConfig({ + appName: 'Week 5 dApp', + projectId: WALLETCONNECT_PROJECT_ID, + chains: [sepolia], +}); diff --git a/week-05/dev/frontend/eslint.config.mjs b/week-05/dev/frontend/eslint.config.mjs new file mode 100644 index 0000000..05e726d --- /dev/null +++ b/week-05/dev/frontend/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/week-05/dev/frontend/next.config.ts b/week-05/dev/frontend/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/week-05/dev/frontend/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/week-05/dev/frontend/package.json b/week-05/dev/frontend/package.json new file mode 100644 index 0000000..1b5afe8 --- /dev/null +++ b/week-05/dev/frontend/package.json @@ -0,0 +1,30 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "@rainbow-me/rainbowkit": "^2.2.10", + "@tanstack/react-query": "^5.90.21", + "next": "16.1.6", + "react": "19.2.3", + "react-dom": "19.2.3", + "viem": "^2.47.0", + "wagmi": "^2.19.5" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.1.6", + "tailwindcss": "^4", + "typescript": "^5" + } +} diff --git a/week-05/dev/frontend/postcss.config.mjs b/week-05/dev/frontend/postcss.config.mjs new file mode 100644 index 0000000..61e3684 --- /dev/null +++ b/week-05/dev/frontend/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/week-05/dev/frontend/public/Pelican.png b/week-05/dev/frontend/public/Pelican.png new file mode 100644 index 0000000000000000000000000000000000000000..35e628aa747bd82c29d535546580f4ffa787aa9a GIT binary patch literal 39310 zcmdSB1zS~7+bz85?%H%nNhs~6TUxri5s>bX?nX&z1S#pxO?OClN_QjqEuQy%&UgO8 z;kpFjV$C_%J?|J}%zF}{^hpW>l>`+80%6EVOQ?WAu)u#|LCA=}mn)Cyd*BPavzUw; zGVtMpY!(iDkK!P$?F<58_PqXsNn*w%1%62EBB|w~YH#7+ +{children} +^#&1OH%Cx02DoTc~V(kSM1tG8ZRrcbmiZeHMij?CNMGSdjr5X8pF& zH!_o6hz8@3174;60Ax5+7_CXLQzG0Pv8g7w-+b(!HqPc?sU?<+rPoPt{B{&BNQ|S* zYvsnPyfTw)9&w!lG$VI4v0`+D98_(H^Zn_|uh?a+ynec1Fg6`1cu%eBIlzZH$wS)s z$Pw`f7JKX_W7Rb)=tars@t@5vEW?o-Gi2(f5Mb0vrRBz68}_tp*fSK+5=?51Kmh{# zI?L{nH%E7eYX&bQ`S>5USalrmt7_J^wp{%R&)HkhUm$^KvX_Z$sqgHMAf@L(4FqKE z1x6UEzwemR>u1>LzfwTQ;TQ*Qd^mzR*Xat8{jNS8+AvfL5{nH?=EM8Pd#Z8O+2Vm; zzF-POnm_6oLlyDQUY6Z BnBKBRD`zK1i+D0r1WNoJJ zpm+k~r~B)|^Y2?fGOE^KsaS5dWa#l)=|Ygd<98bBz#Gco&<=01@C+2=BQDzK>>jvY z>3`|In!n2v!1Sj@dKs EG(WRq2AsVU;lk&1w zl#**xq5Vx77du< k>2Y2WpA|CE#&Z1mjVD9`jD?Oth1qj;89NzQI`JQ=Vm zM4}I7!H@+FIQ5pKyZdCq`2|aAU5umMDc4mIClsnj)z@ar0M9f!tRvr-*IC*rg*xM^ zU>Wj0eN@~*qzh&t0G_R$nxD6dO?!NSU0;xo9fpUIbX6}}tRzI(E&y?^4qN8@#{2zX z*e|VU__1$Ggda+o$I}%IjyqrNMAjBDHI3r5+kBx!a )8bPsaqx?5J~iSTUPfXj z)MEO}5_;)WLIkz5EDcHbes){nSPd~RL8Bp|wp@R4P|AOvK34{w4w;-;5}=pyK_ENi zU^j3S$CwqEhyB%`8L{D{GoEzlaoF1yuJCD}yhQi=_Oa$T`RC!DR%GfZAUT+L5FAnt z5dHnzF7I>c{;yT* 5KtvbvVthhNR;2aD5qOXJKLx9N#OB0%ET% zDUo7X=B}Y6yWJ-aL!mi1T?)TH)~&Ah6JCPsLT(R?^@N;Y*Y(DgG&cu(X3Np~KXPz? z5R=~79xF5#t2ND<%sYkiP#dTE6i2!weC_z1n_CQ +OT!EzuRjYG*z{{v1ir;ZgWe=Tcsn0)YS0K*P zc8drEMacxJbBJQYhX;Z-#Gg>j%0-e1X#e8l$`GUQA_$E;y<81|F`t$$Q^`JcEKph= zxi5aAeEe36L>0_JA`1%NP~)<%urRWx8NF#wT!{Ydoh4Dkl(-PVN*y*6C{T)lSxWFJ zir~`^1fFli^vX+l6uV?qX0TILkitzzd5L`RkF-t~0ilPQV&c~4rx&Qli&3+xI(Un+ z&Fy|7Zi*a;H3$%Ep(^Uv;Rs`Ccw| a5DOFvrX!gc0Zg&?M4ol zOUG>QopMcNHQ4wBLpmc+mXD5m<<_1w< Qg_jPoWil=N#Ray*Hubtw=l5;#P_O%kbE367!qA6F0~C)a zg@p$FmYW(6`dvw68A<{e-0mWS8fQGBGezkw2g=f^*vyVImW#)B$y99%={*0+{-9 9_8O#Oa zg~ie&NL$5PLJ a-%)$YyIN zDji%JD|{v%LPK4z)^WZNe{m}pAUe?CUcbxDkDofkt6b7ldhYmm&ri=G_(3e32S{BR zno}-*IF^roaFtdu`Y#DcO4ZF@aV(N3ehfx0cCn=o4=Kf`H0<^IM0IXm(x`#^bfpvv z@$BHlSF8+ou{Z?Z|L-unm?_VSKmY7@*eblyI9+W==A0ZeuFDb93!W(`ID;I8-qm-+ z=S`aYRN*K$kUu=@u(oHM vEd&t{GL%CMMquJ zK N1! UXz9@u0xMQrIw+HT% zo1+yYv8$ FGU)& zK_wij!MDA-_47Z!-wA?Bg!M0jzH$lA2NvvAtNuMV`QqvMDPtm~^g__CCy!mP#Yf%7 zYJ!xdg==xm)0lln61j<>Eh-_yBqq%buF@u=c)8L|M(9z_N2u&AbBM@?$J2vB%WN?! z{Ar4T`O~faU;9xg)N=l~phQ)CNe{8%>pa?A7uRkRg aVJ~hufp?RFWVitTVCEe=i+cdci+~Y#L=&@ikepq zv7t{`r?Za`y>-JWG6`hm7+_oRO48kC;Rfb#Rkdm$C?e3LFqIBJ<-Re5m$MYVsMT^i zebeZ;n2jaB`#I?Xm6CG5O*} 2DFp= z`r;Ztl+c_4L$Y_czW4nu*?XZEv5) ~KU)5z5B zqCnClh|zg>Luf7pbH zFEZ2;$}3CVJ@bu)o&slk;_2l`pg!|aDG59=!jHh~^7Ylyf!rDjR|4JD4=y`tSYOKL zOHx*O!?Y8rioW=jRVg@qF(sF!DM&W~-8ft~A77IM0r@Ehn48ixo#%>QFij35Au1xt zR?~pzl*FvKQZIwKuJ?dJt9rl(@8v@=>f8hr!P?O9$S#8ltJU0p&oI Wy}8=2$9d5$Zd+cX>_}hlBM&%{?Y4ru49l$T{`v5A2FGIofZ8cQbGVl$ zg_#rUz@@98PVjd?(wrKV9{$)~>ZcSujL}lAULekTUjB7rT?>@;biU-~eSWY%Bo2;G zihbQ3y)9J#!NfE?keqLcJH Slo!65JKicc>l*by5=Z=iMD z3?qkLUkf^H?`~*558GQE91D9BcE-5~o-D&{nQj(cd@E7-!Qsb;Pdz+8
)F5l&A0d2E#YH_$Dajv^x5m> zB6JPoY^}62RP&IvLtk@+$n~5weK@u&&oK@H%riOxE=iK`djEqaRkDRw)OFqS5TO ztL+3GFKaK@z2 qAI{huE2jeuj?B}MnBIA>+|1}7|X*%BjCE3cE!-r!| zEUn#!xf`kX+>zO9(QDc980E442gz~$*Mq}F3|?w_M)MZmui=OtjKediDHgSgcGj%v z+sHuG{?$qT?G_UeUO0Y(h1RF@LrY9@{VOEe9%$|L87*yhNeM-j!>+tMkd_%Yx7O}l z_2aY+wSq4KlWJZJS;u(2TAJA>K7?DjAY%T4GswmYp_5!xJZl+^smJu$vg!Ddn^wYs z5FqILbR6{l{dN$p2`zwTs)y`S3O-}ZIhVh%Yu;bH_<&6rS>Ap$mf7J)bgOr@&WJi$ ztHVQmaok=!&hGenKXL0CBQd}sd6+|6x_SONW?a-a8`VN4&>4aIWsu+lznxX{*Dp;7 z9alzKv(BM*mavvDVi-ZlX{112Da{y5J=pdGHFps1EFHV7F{6bdg>mV3 !KeSv&3mzm)>l>4osj6= zPbP@B`^83`o6q4l1FccMDW1>@jq)%5ZUHWLbxKWVmIg%IU)XDNP{tc##h*_icECaw zurnuB_F?`m2z%Hp>ezIy`HaQ+w2U<{kKH=-U&&3gg~w|HajnOezrFdhuLY4Z*|Mg9 zT+U^}gLBQg`T9N-7q9(NQn-s^R0?@b2+JBQG0^hrPgEt_n`SIovq1pYiqck{5>2F* z-{R@IBl{2{3y1ssoB~($Zu*wrOr$3DZ~xHTQP~VPHZ|faz~w` vViGzDE*{4F}Bm7bKLk zeUNrOSWD4so%isvka#*a=kl~JaZo;o9KB%^x2@VuB{nJX`c5Gz=^7vl`bjwu3owO3 zyOb_08&BOCDm2X3D-5sWlKq2(@2N!%Mo_x$GwM~lv<9+Q-nS#wyGdFQUmOno{;;!U zIik@!N^Q&j?3Y$7x2V+yuIJJu8+QT9&!2O@{xMs4EgY0n$smcTRs<1d(8AV@wE}3m z0@P}0nuPGOMbt`c1rCmj$RAQHGRD?E`A-VM7oCz}=fuPNEEr3>XG u&phOaX zmT7pA&-e2*84E5wgjQJRPivdboJjCrMgS?#UT5%e!{sQ-jr6Qn7WNx~Bt9zM+9piy zLGLOm6gOV(JHaNGTnIYhYjm5Z?O PZ6XO`I)#=A_u7(tMAg!$E1 z+ 1o(4hNmdqHRCRq}Dr{{EGTh2DbfQ zG}5@ObK&(o<>vpEpw`s@ mA#zd}XLcyk!o1~FiTE4DAv{y6@` z)kzNCCluky6kbVBaD*T|? 8b)Bur)@2sE$83O|3x(x_S8g?pJ9s$+dw1vIc( zUTkXZS2LjW{@YY{C=%L VB@fFkY&BHWM{(q@Uz5ob+~PeMUg8_TnRqwWJA>Y`=}qEtPL_Vv*51(b&4)>3 zA2h>VdwK8^ x=|L!L+B^^7M$#Ch`?REf?y z? C6RJr8U8p-Ev;7}WL?gTI{@_>pyO$dwSqtx9184aiEh zDa(wVg$|X11d49FFcH*AXG tn$LKKqt#_Vib#oG#wy`vR25j((R49oo*j-HL3XE8jLaoa)q9 zA1SEz>?Z(mTUQvic_SS(d{J>d?i-T5(=T`Vl}ykrE`GOC@u=}p=rJZ|`F)PB^oy)Q zu4Y&E*P*D3oEyn8KVM(emr6gH-v)4$T`)dR_i1x4@^g&AEHov+*uA9Dw(#QL77yuU zB=*x0)#nf|F4n8}579cNpRZe90%L8`n`uckilv~!K8uJglF)t9$Z~zsZ^{S{V-m{b zJh}6~SW&DZQ*lO!9FJt>6>*`Uqnpqn!F*rxhn$UCIk99^AZmZzb(x2N9>Nz7x28CY z09ZUDDr}H~W*5^xX`#xL)FtfqK$#%>d2Ppn%L3 LsSi6GMi6+Zpyzi5Q1lYzUUz$Yx>!|)t+jy8Lg@=^{PfohTOLmziblZ`TSe19 z-@OnXXE=F|iqc*v+UCa2QnD*eH8Y>dhwb$h*Q5M|gMWy>Rd5902aBc}oQPBG2k={@ zZp^y5{=!0K@6*1PSr|4p30RnwOI=xCAVwNjvyMNTeV>6BXc&yH5H=B2>c#C~1TB@& zBGWk3%dLI6iXa9y`lGU;nOLso6A~XcI?XT+u%WviLFVYuPpylG+h(Yebu*Ps8EA&T z7>m#m)d|pdP{XDox+};=Zn!w|pmav#h jsIid%-qguLy!-j|+S~DHJ%R3XaSK>aBXo3|M#wK4p`&^@5SWvP zT VG-UPNn{;VE%gnBTe9g_&NXKQ>F9C~s68Qef>KgJAyzgB1OWv{vnZ|w4 zo8<*`L=7Mv{2Ydy2AlP!?j6W_iY2U|Gfv?WeKv5Nvw3{SkfC9-=&WlU%`UH~uyx_7 zfJA2zvouy&qSW)IRQ~SK*TSc`H!!n~{<{al3}v EiQmxYUe~qqE*r z;b_7Imq$Dv ai=BEkE)i=;F(^U$FULLy|pnr3y&O8vAOWTF&tmNnsQ@ed%aj= zxfq0ZKkl3N3d2Kyf+Nm3HmX#er^a(Uj}i)}V^Z&T|2ep1h^V!2{;)TFQbpf+IP~S_ zS{TZoQeM)&YGL8=9Cf3cyp)d;n+7jMgYXkS)aoE;JUtE4@4fVQl*Wji9T`M+x=Q1& zMNDRa$lia0;fVRTCWUv`IT*Y;+vdOz?{moeepaHE8-ve_F4q3h2)^p)7z*1BG7O*(Dh`;;~>_cK=$zp1{>@I9 wcV z?+V{@#NKXm@_82Dd8aVC-SLUxkXX`J3+kR#vo@&$(I2P$(P!`L2S4R_{qj}P0LSk^ zQn-YxjAFzzY2@#lZ5y|ePhU}FkbVP7QxYW;C9c2W6t1ar6L$D_77qpJcHoN1AMOTQ zwloEZ<6UZDs?QI9?q23y^OH)pqmpkE>}BgaMbDeiEzQk&J)4lJl9QIim60>0Z{#W7 ziF?F k-$DDB1rucWB|1Yo&*Z7=7s~F! z(HVrSdADIYFqaDRM9|+u{^@w5Qzn+-hXV74R={nVL}+GRjh|&(CY)3u{*fSFZ;1-0 zn4PPA3Vp;zzzokaS@NINic;hFm>|I|l%!1J<3k@QAofRqqy5CG<&XqaL|bKVUl(f< zg2Qy9>JdYJt3=x1mA=EOad?>Spl(1NYd%OF1osQ#DBl))ee4ELsL|v>dmXC91M*DS zsj~jguki(m#RU(=H*foj8d-g=rA}Xm_`P|``-+%KJWpX*)aw4TV(YjTiN*{QK+73B zD4GN4kDNLtdS9_xLoO+s>6uZ7Fx=>&-Wi_n0EEY_zz%CVuTuQNM*gPc9rhnJmd$xr zVn=erJ^}=Y%Ui^9kj*e_iG~^&jz>e6;}4rO=nMiR@w8XH>$8Gu!Vf(5M+T5v9lI=3 zoslN=J4=4gZjeh#p=i^<*5&4CJ_8%CP%dAgcl4I&p?td6>3fDw0T})gx{PLOQ-P9- zckA*}u*YyRw!dq{aA%&pc_djFufic-bmf+GCiTWjY@4LVr^{#nDdK>7ocfzd?(gj> zwRR3Lv9b7=zKC1&(JR&E5+`~-FM%k2bt|z32($1B#zg%lQZvl{9)Q{r?({O$jB#fC zj=4Js19veD-({Z#^9U@xv6lp?pVit>(k9a);K|MHiSAC>lpf-v$Tt4=flNEoQ1f}K zDi%{80WtVh_R9Kz4+Fljig5I7J7aMmh1%6aPo4HNbu{3`M34N=%^fg)pXSNLA{}Uc zRP_IsDiKOvNB ~W2w z4&%+83K*p)l)?dyp>&enCtg$ZUITmj!iK-LZlv$BJHm5Yt_1EX+a1>v)afBC%$Gb+ z?_hU+q4=s!~&lSbip z$^%{I6{krOGZzgw_+;M{%1ri4F-yfy5EK_=td7(67bb_EF;9qP)8j{UaBQ#tcXToc zB?4rktQx{LPH(hpO}g4l(LeCLoHoaw^O@aUw0GF_iM-njk%k$sjTBoPU;`{5ZxvV2 zu7juG z{k7hVCg7s3boZ%g*dl1D+{;blcS ngbC(k#s7(voJfCz%#jmLxsp6{>i(bE3}FB`S{s4b8t5fX3+dPIO} zJzvBbkyk8@-6!7iu+G$;;kcHisa)t8_zbgp^4;}Ib#{dFkxfh OpYrEz#a q8;KC8nEib4o-+(&9M$o4A4{r$Z#kY~-kmYanNJ&dRB@Mha=o zLBB}kM$)Xo(}1uRP68OHd+)R(>nfCH6tuIp=KkYu1U>Sg)Yx^*_bzV5Hgs-(WEwvu z HFg;{BQ9A4~Kg^P@l+USOC;P7P7j&$G-nd2GyOz1A{dyoBCiyB^f>fL7$9E z2kKE0*gy>l@Dr1Zw&I~yQx`fNk6FY5fim7Pyvq`d+Yr5OfqL~32( j2qg#h zk5!hA1)~X~A~Ib2Mzk;fkg&1Dy`9xIRz9~k_?uK&-W4rQWD@?%g$F(Ig0)?GFC^i_ z4w&sk1ZaW4m-1{BmyIw)$g$HWfKCrUta&Ps@J{q@Vi~?MV&NCvyCs)GAfK|;3~zgR z*WFRAkf( uKL!VffzNE@XNNf@88o8QF |S04|`5&);MCN;A+>!RDK)z+!eY+GLqLdp7;gA8w0kZ30%|aRAnUt zxBhGfmACj0t!xo}zPxv6kC2N4Y6(jVwf?JU=DRz-OMPMg0VJPKF#Lz|kh$MRR jmYs?^fm4SG|}=Cc8S|l|gRhlWT0q{={VCO5IejKt(_w($(|C%kU$pdB{>vBcTu< zO}=*Kd9L~~>cGFV%47xq8cqtEC81fMs=v01{wnXU;U~K6Eaq2?#9rX%^vUK0X|}G> z4kF=zO&R2R?Zt?>s*m#$H*bN_DB+<`l7{Ny2M+t~)(fXOi`yf?gR {qI?!;nwrXRajIV7~ZLFaODL@NIQ8r+t=&ui&moyFT=Q#*0~6 zv&j%DXpS4(P=KvaC>+}r@FvAHHJWK&$@g{>irW#4p-xEFjxWwqTxzpk^4)4}=WWSX z |FBYx;0J# z6t}2?(G9#-c_@uA5>*)wJ#o|4N$>wr7V9u^6D&EUkN-iK+(au2`@rt)g!Y?2D?=ZN_SHs!DSVM ziVg#Pp*?5Ik~5l}NfjLHCvEC$+`L>ImX=U0nuv?QKwfVIFoG%il UY@S zON43oeO7AK5>$9Df+)x;{hRWwODzq5@f4GIf>_t>WCR;-2^cGF^WHo3{(^Vp1QCFY zf8)_@o(a5`!^3%O z7x=F0J k2#u~PYTty`kfYSzGE~)#p?(fXBIyIyPwQ|3 zI2eBZ+ccZiKS0M}L2EaX ?0t%?)Y>q*_O-w-vGp=0q#TT$-pk<4h4&9kR=RSmP-7T0ur)^CIW!fZkd5KAm* zZ=T45R+Y?<{GIC9BU!pnoH})VY@XKT1p=h0K%G#90FVeaLI&SWVIepQrSVsEBn;;$ zEyqz&QoM@)<;s2JD^nq}iphOz@{!7Zqv5Qi5(R_K0*ECk6~$jPp$e-GX0BiL|Hbw5 z@wpIy c61Pu FfcBzOm!YxK>->2z&QafWkMG;fca4ARQB z3P~dh(SSjE|2#c>*KE>F_WW~tiAL}$f9rG=V-jz%`!>udHZVAtGIHyZH9{vxkuZXA zf&2-2T_b0CU}97rl@Edcfnw$UA4hy{weEw~Ylu ^Hm6NEM0E~tUdK}Z?AD?I*`sJMmU%_SC2r3KO#5GAswloB zlc)+Xf#IP$XiO@DmO&?Y_H)D*s+94U8CE|+#nCKmE0;kD+}%$NCGA<5$U1z45yqOC zDBm1ohkftekkLO4coeuI9x}0 6zO z_Sl9gif}UoU~?9Tk59p8p>JA1--}~5P{S6ycHai%F;cBNnR`Xb4cW49ebi;}YHn8V zpMVjSs{jZHHOsn{E~*T9>E&Buh{HQn2cs{&j|}FVh_+?*W_iZ(pmj%Uu$chBaLosa zBIRK`bmT_ &0K4K+fi1sNz%48867w z+EnEno{R!ZU?cGMMP38{@51j;dkj5nCg=uS#T!06^;dT_4+FHj7SXP4A%rKqdm*Wc z8(PN_)&OrC*2=V9!_i_ue6HdGgj@g7X|{pa-qT?fDXFkcG)Y^K+vkWMBqSfV`|29F z5M`NABL({GFh;=LfA46^4O;W~fV~)^i0X0h%S3_uMmC3ZO@M?MJq&SS4~?18Xe7U6 zfRQvnIb<4vxKM|B$Xa&iFs^Mz1sj0(PYOdtd7}*$%od!8)EhX;eNg-lDo)SS7?(Q% zoauA=qRo{cQZ c(gSgjZ}6#j`i^AQM6Qf{2Zyc(RFxV zO{7Dm<`}^FOkm|v4v5hk%&b6%{@0gr3tUHu#{gYB3@{E{_Y%YEB>w9L7*xg CSnjMAc;&w+)K-VhN}qo4OuJ273F?SQ&`~9%Psh zmP ~D_J9z356x~XK~ zSM3yqQJ^gtL9PFhgH?4^QL7oFpFVvImpw81%x`*xrei`c^-)>R5Uq6T`8k_4%tWMO zO$rH~n9NkfIU+pV5E{Wl{FXcl=A5>_os)B*0j=mg&$zd~YEPh8TsR Wpc4VER3?p;!Neq;O2(@S=2FAfU01I(5tyScpNA`<^6 z=^wmpdAvibexE$e)40l5fT`vdI9(0kf_(OEQtI=;p^4~R=qB?Lz_@V+qh`H8I(Y&K z71LRm7$KY6kQmi3fJSCvAip&lSD*ayQHh9*U!vZNC(pd6#sZQG@8F@)yf$-Qom}5p zEg;H7>7y*`S_WySKM?5yjIezY(0@$A>0ALuxMA?W%Ih>6BO0))%zZ#Jv8z4fg)&H# z)lqK)c}}hU<)z9DmriI67N=?4j3>9D6zK!MeNk*$xZ^ZYB%_lmyHR=74`R2O9}cDx zoiR87CtP{M5o-`(>>NYzZfUvWP$VlHkn15{yrIRZfRvKqxSji$ctII+?IOQV9Bu_P zWN0f3 o5BSF 9aDypA<(B|1J*>?h`VZ@$PrTu!k|e5B@M*b~EV3IC;m6R($k${6!+zqIa=r#;hx zDi*=z4vcUAC98u%n31 Wv(-Iq%0w_tu#!JwW#q?V7PQy3E&_i z!zzXP@GYji|90mFApoQjWpoVG>ijj#ES1GV}zSE=x;hFGpS2zB@&Zj{xyu5B)h(Ro*4A zJ2Vbx8+>7jd*F#VHe@63){yOAQr`UKfT4;^kKEq_cc%87>kB0wEI~!jsN=k08S=T6 zZf*qraBL{Jt%z&5;CHB|Yl;S;c||WJ5Q43 pBw^;8Wc|9SKo$-H;ut~6h;4y`k(>|+ I!rSaHqXAFPDSR;Lo 0kCStOD<4cYNAlTQYLhXdsu}}@IL}4r{ zLs#rwX}Uzll2TaEPke-TrM+jmu*aDEu@nM%Z|SpO!KPZevi8(XWB);aY~TJiPM5w% z0jH@r EG9VYmHBOq?vh~*W=N>LxwP5_O19?2S9%eXfqr|~l(!KV5> zeuVfI6L3)io5qG@)es>yf T-b)0>2I2-vuiIsyP(& zdF%wGbrZ-!?%w|2ur&DoRZit#K^i7;XCkCo{PYQ}^ng%NDA3(f>+u>>8uPmXrFDcr zOH|UM5dl?}Z0Dg%mt9szh;_MXG&M=g#$*#(`X)Z6OU&DOefy*1cxD;bfbbn$oc=|# z9#@}?AykJw74!(&%5tZZO%ZGG_lN(C+FS?P@`Yp6*T;(Tb=wzClg*pR_tG@}gi07% zdD@%O$z8s16YV$+FZtcWN;gLt{t|v!)3mGj6Y-WZz{|+tIO=D$sYjKua0l?J^8bXs zN;cECTHDdgaR`A)!W1X=njQ8@EI^}abzVUoDu{|eF{h}V1bXzvKZl=^aIkSL_%{zT z(0!O&(W2>mv~55f$DKy4f@uT>^k;EEe-6cWi8+vi M zC6yQoh 3n_;x z*}O3QR^27LZBZ?BtJV1jGB^6rJ6RC2r>4Dq#U@G;25053S^&KiuD?a^+`bjlz}J$u zXgt2@P2b5wBMd#eUxf?rpVZAdCfx;EBGiyR8|EmtX_8rSvS+mC?%nGM5~x<5%Hz)% z<3;+q6Cx3M(v_96ZB2xLH{WJr1m*cey~p)3{@L<_1hE(pN2w`aWxZ9>NC6nCGCDgS zBWwWJ1+j+~TcMi=_#1b?pauF5M#!`}?^`dLX0)eu-B{yYeAe{O M51VW_og@> z!uHm=b&(`Q26p!Q3UK-o|31%L9TCtZG+?y7GJtu24k_w}^I)cC@SU@c2|(o>yjC2- zP~%n1AS{G`iSOcb0+nD4p7x(>BVk~u3P42OW&+EM#LbL}AW1uzAH#I53kiUpd^+<# zdU8fQptU&lUj_nrN)WJI( NNn;gr;{QWJSo`F$ZW>>ZB(vcVYM=m{(yO z5505FQd&s((?0g2nZ7mp5A(NpUXQ@-IpXf!+8$a{$5e8jyGXQzcvXi5TL <7AvHUzP)3>5 zh+gH*+wN2wP>mqWs>d;#MWN*+MGzdIas(og(rPJud`h7@{lBn2kWOeyj9wNP4 6=b2OQQz2C(F6xjRj$*-j)zU`g zvi6l3AcN9wI_lZZxXGU#=b^;jPy@lEoC4hj2p-KQkwc!sN7;T85uo=@)&`#<%)dEL zH*WeXU`tw9`-Z~<5=NjNl155MJ@Bnfa85YAy2d4N6tj05LQ@CQu!$huKal*{ghOA7 zz!?FN^=X$(-`GSWA~Jb-t@eAm7snJ^AWN%4FMsp=5e6gYkYK!HjzYZs3Is+n;EXXg zR|esSO<7}`MeSP?(OjvXKg^DdfIN15gZQTX&+}LtATEG_x?(085Li8hYHAo5I)|!> zPrHSJKch~aEZ=p^cEaS}Yb^>?d>8Ya*aN+|Xr~T;4$2ug79s lMWN#@2L zv1VnP4u@@ngcAeM%7cp&Vi)@DnB%H!x?h#7qIN8Y%22{}-eq`v)dqaEQwRSM0Ocy+ zmm&tWn<*f+a0KCqfg2*hMeB_3eN+>B$3egqnGdtVOEi!KS?V>5ps5^R7}Th!vje$@ z1X(&x4uk&6z@M H-}w7F z74V?vX;M-%$-B4~2y|9E_RWufj)+nmhbCkrDMBE+Xhsw5phTIjfeGx_%LcY1mn$5t zn4ybQZ5XT{VCIghx-47pqva2oF anDlN&B=KU z(3PoZT21seRBU8Khjq&eGnbJM{ASZ(lK9P^Eul`PA2|O{qXVEP*=Y5hGdtRr*L8h< zT5q~A=*|JK7J@bSC-JLI`h7biG1;EqvWgZ {0YmpTQnP%av4~=*K59J=3 zPtAansu-TvqwX^OMQhZ=9)ZqpqhMrPf2SIk@D{;)T%xLEIy(L#DDGXKzrqY5 ;)0PLdj8 zGe`DPWr!gQ?@Xm)P~2+Hao7g_5;|q@ZU@MNfVX|Dv6(O(ckj-nEd=$+J zH`O$izQmR@0#5(`3s1w$SJ?p2CC24Mlw8j-)*ilKk6yx99c{)Hnb&MB- )ICyJI>tg;mU;!(2Vm7J_g1l`kNOwi}Wl`E^I d;#VGKI3#c5E=O1ai9 z_)7kNHHJCY`1P+fSaHpI=dTe(N`T5{a6haHhda0;(6(UkL?Qg+S=y9$z(EQ0-`^+J zYxCgUGF9w>d|HYBqr%)tql{Zg22hH6O&N%*cwb|d?;}WuAJ2+X`W0{_-gRCU3@{t} z762zFz1VUGw*MbV*BMAx(}a(5wI~-?38MGtA$pAvC3^3j=%V+lMJLfk??RLyx~mgG z2+?~ddW+6?yx$+c+_SU0v(G#;J2OiP>u$@=|4Sm{JC|bF4c0Yc$i1RAxGlzBNquU9 zxS60Lr6QH;ot;RF=~E%*+GLfe=8Dh`s39@v7uxlcu@=y4fz2Ds#s;T6PfcFwM8n*F zh1KjvjP8M5=zJzmp>Oxq*{}5f7aHcEc}3d5{#h{i-4xo^gCW=LyfiH5)HsAzy|1^L zPnhToxplr2 +*Yg-=ogh>6NkPVSbFb0H5#TEqJxiwa?W3(X#W=x!^YC z`Q_52Y<#l}stY p5IcGN{z7G2(HWtU!2T4#h5{jjauQFKhb0EuO1Q!pro?FK* z78`9xfhA==OC)j?le4z_HQ#j>*Iy^}Q;uMBaSfTIAQ3FTCv2pl2?{;3qIu%vSf2rS z({xB+e5}Sx%`$zdUvJ&YS<~Obpj$qn_tkM<%~Lb$0&k|)XJ_1y-M!)0#p%ka>7LKu z%;O)1$~i(?-i#kU;Lndn?DW2d`HDi{Z0-j%=&%d4io0iNhSRcMGilgYjke_pQ=~pa zMYhL! b84%!*G&gTk^$ZvgkXZahK%#FD${guTLLvc^ZmgKpc*|}1-rpOn!-ZOv zSgXC1SwiidP=(ArcZ0s*lwDob*dSEhC2=W~mE?`w_ozYM6K()ha=A^snuh9(XdBy& z5`!g)fp}~6PU>vH*?^!c4^c~Lyz>gc(ph!HHjsU1{%lhN@|qG)nx;0}ITZTi8|g1k zMADcGS~pBv24-LNk@~m@{&m9>W7>#j#R3c@gsuOBWFm-rJJMoOY}W?GU$mNx?jNJV z*AmuGk_~_#;qc4yTQ$wz)p?5B2_gW}>QUT)@s6f_G=3}KiWkPvgv@#IUR273Mf$fM z%LzSo^h_-3#l)LN3N`%C@*J4kPm^7)^ ABgOKBYV?Q;1OC1OYV($I06$9}G5F}HtuoAlbpM_p|4 zs4(huO0!P$WE^Q`h#G&d?6;{|%IaU6_ZcX%Ohj&(#vRwW_#C^>pWEXUp;cg^E#&M# zLN1LN;>O`j{LV=Pw;a3QI({5sAP=8MuweNqS(g>3@-!ht_HJV9?~o4Yd0)Gf8F!}e z7_l*DV4~V!${*=q#9c5p2s&E@t@3BNG7paDO+RnD-33>R02DnFjZwy@M8vxY4O;iD zhka Nl@~GCrJnUSAx{^i)usX?4|HmH^x2lLwhx` zPm_b%QY|hiP%Q;-&Dk=VhEOl2 zf~G1(<-VD6$H+70OZO#`gYcd|e2tfvd+a7bxatfE3ajY}3zt< &6IyuRrNDWOhY_QqVlSequL56+qpic$Qs{Zu)?bvfwC zlW84Ccz4ZNf%Qv_Y0VtJPHI3&YP*G}=>Mx{p53}SPQ4x&yrM(R+`GOlfHgJQQ99mj z`m)3^m_ ZXl}s0ZNeD;h@u@Mtg9%IqOR_>1}VqyswXU>{ysu zD9$y?Z*Ax9{ o ?z3da&3q!&YjJ=&3U%Hls^VFa_od z=)Vhc6|3xt3geZ_Nf`bf+nk%w`frd_Wa9XT*K#m%Z1_(3ZEPn^Ql nv-fQsKjvv~mAR z(_%rzKH5%x9iv=6t?{i+@JOqZx;%1OM_Vo98Uo`XTY)|J{GHDf6Z4A;sAMOEDJb zm#-f~E#OV4kl9KKfrN33lZ0{b({sDtN9j3exfvp&ey`xCaG~V!jx97j2v@dtNY>N^ z@vInr#Dd_uKTp%k)zM} NX86gd zJXmsnM~{oyRm@O;qg&B_$?N9}?wgl@SaD+>6w9`pn)LjKD_0h?fs04@vv46JlPH?d zukIS?2(Nt`*?6Y*OA^4FG)9)i_)zUl?-N5F+f#_wSCJ<_w5&us@4nC4<5GN9seZV% z<40cvwRU+Gd3~MLsKoOB@LFcjC}D`GNd>MYtIsfVVK4X@mn*SoM@+*dQ;*7zEmJdc z!qsJ!O?Y?)2&@=Rw=uy+C`zH%{d Wo kc%*`BRL1X z({`Y7RYItZvLr6sBnls17WoOmiISVxefJ_jd0Dsy?oQ3DY{ij;y!8P_ahRxTOnv+} zNH+><;t&);5Dza9#agE)Mj L5Myb*KA}itgEtF1_XER-?5J6nju`(E) z7GI`g> =j3@MAMgzK{4Kp}fyJXWQrnZUF`3 ipV9Qxj(QtG6nmI->8t{p8KCpipRyqvaF~qjm#s)OaVOF zfsyCBkhlw0fj{hYAL(ePQl188Q;=81E+cH8{laB# DijMW~E$ty&TG-Ha zQGM4PA;>`zmMFX~PiS9ilbOE2)FZ~`QT^yyWzk7}pE%+&SlF89&d;#^Zn80-Z^9;U zq`;>9%Rs4l(9+#?;7Yo&NH6SF5R wTY+0p89%)sO}8-O3!uqj mhZh`NNexJr5pA=u3XkyCRgF4TzmDk!2yvo}D`XJg)mtMKmSXTMR}O zFjI%)^}$XS9AGu}eYO!sFwoNd%MY)%H#qNJ63on4yjj)8NK#{=_ K zt2#=d8;c`MBSxuYKwVUF-!A4d+OyH*5BnXw)$1Kn;Q5_%&39xV>X3Zncu6eq-fwjn zW3@*c5O7S_MZPyrU_+3=6B#%N$imw5(3BKx;~ q#*z-wP&Weaky>4z6wt|FKN&egD)Zoq6^dhK>`!?U=b0zQ`b z`sHuA$T6bY2qqyo0?q+6O;bdub{3s=z3P8&c6vrt @xeJBebDS8=6?~@WS0pY z``EG?BCa$aoDihFB>y;8`L`@HpK5UNB#S9r>a}oJtTxr2+AvSh^>ffp(U|F1pn<5v z5<>g^Ml^^Dgw X18dANp8{~|3s=Bx*i));GX|$#9~EAG7pEN zg@qV#76T-&SOYwSK0GhLa-)?*sOwBHq0_p;INb&=J0nRE)t>lEqQu?DMv(4AnC)g@ zXZ)N&((25MQ|5nvRX#s|r^{8!%xLECb<=ma(iN6;8+ihPq*er7`yLz8-7_vW!{^^f zF(7B&f?(?p8qC>SqWej01it460z7lP4m#*1b3_++`%36>6aqa$6(3qxPni0`D~J1C zUA!8txhekMeGzUyBZU(K$I4tvunvi|{I#f<9QQshSRU67#>pPNITjy-ylU!C)`!)v zF-*8J#}g>36s@cU)&{*&1ezB$L0^$?evQ1MN5v`f(W!e*3UgB)`t{+JKc}t0Lh7S| z(RxGwM|kx(IR)9qEb@slm88on_6VgC-G+|Chb_;v${f-R35A=<#;TFi8|P~b*F@@& zGS=VDrA|}|Dgu9|EHN+J8Gq(Wz=z-b-ZIcYYL?Lyah2>--?E5NQiVgkzM`rT{~;@e zftdE~LJj-D-)%?#o^zzn+3`(h58K-+ME$!}jS<=pjIcV5rzT@hz^Jd(Qd-R7w?Ztm z@6CP;;%{Ehn1GJPJl4r3L|H{j9QnhVy@n=!mOflmC6uD&nG8-dMC_ux1V6U#q0GfX zAawRx&+EPGYI8OexppELY}3X4D~8wmB)VM;|8I_Y d7}Rk{SY z5}UTio(FGn{`5ML#^%Ifi5TLnz-?qp|Afs9+s;vODb?@9Q<6S*@+CPgNaW7kR_B7L zCOU+-*t&(AHFCka Yh$qA~31lyL}hqLr&I?Pa)x4!lK v}zxw}AN>-T)Apxs0m(>3gN)gD`1oUl6`i3o*| zb<+%Hb*J`aHd&g5i?mo^@%b8f_WUk%u#NvltoE0f3Cz zgy<@p@Z;;8!Fwf4_yDaC=cyhOk56VkL9`;W+--m&yTu0oC28Jvai|B%x)1|tXcUrU zF29Cm8dRbyABr tqjLmGv?aL zqQsS^q)mvPgsk$=G?uFQ=u)pTB=>O;w-jc_#l;nRj4vq2o&NL7qID?DC70Myg4&~g z)UdkyjlSpQv}+gG`U^+;_=}UWi7m&yc`&NL_(YTOI9;U((sCoOs?pLvE}|pX$wnL} zUufqhntfH-hu$=Uu#Ui+o50>LbWCYxVt1Z_k$?G)x7f?dR!7ADF_Bu$yMlJvGiT<3 zvOd?h+}`oxC)OP*k{DLs-x!0jO&~KLwLd~WUJlmJkt6EtP{ib}VCmYToqS9Uxf6xj zD{WH-JVPA&I?c2BE_Wf{?+GiC-!QcZU)WurHbo8UI2-uv2(>(r075!zzeFF9&7xH^ z+r^U3C@6gog=x4D@*hd<*0F-&vWus<#iRhxDLhE7mma6sxAt=&?l}9`U7%IWCt8)0 z8=$$4GQ?LG59yw; lJnnJ^ z=E9l}_S(49yvet3!GgN{j6C-Xg@_8$eixU5&|A#BGg4Bmtxany=bcgRh<$x-A;GYD zRH2InH5G#h_Wijdsmvl@201BHIs8)r@_NTE&Yat)Xg)W(U8wRumXN#%PvI^Cfe3T7 z4icnWU+=ZJa2Cw~s?a^)AwMZb4DJT}6=N;C@liq?eSTPecV5>XU0GQ|jO52PJ?(+t zu@rJ_y*l)r*<-TZW9glCgm 8f*g18;8Hr@))5@1^7dbl6l=w76ww9qG~gsj$5 zlQw#iqEllphbN6a(6Gu^x3~tr^R(_qZx+V$+dap7Q2YbB)HxWTvPfK6mZIYqvt;B+ z$i~-vr+LJiS+y5kAbB_V?6RJkMV}OaN`Frzq^U~HDf3C)2#XfuNQZD~+^Rm!l ilWQ(lI8o}K4E`W2W)s73ItVhS}u+zzDYWiBA6^Z#`8W(nb3dicaK za2Z2G1)4+)8T|G%3RwUm)s7SqIBEFl^!RAe_<>7g%=5a>MtnDLI))4XZ` S>$tYu9$-0C=*a7gw#2QU0O+XAPV{4wnJIWn~JZS$$ZKCoK#J-W!F^R=CA zH4ufIN+`sA% &r?$LqZiQYKn>lC-`TY{VkEfd`%l7s z(A6gD7#F-wkcFVv2(PO6A+^?mUgVIt<)V9Lu^S6gR`VQctdn!+(hH1TgToIw$l$@% zn4La=Nme0)z8_?A!n}KqGIV66r&;3N*eM1Mj``Ayk+s=mM`@A*XYU1@*+yJ;hq>JG zTvYClI(JAw33%4{QJ(83Aex$V`M*rpm*uu#R+B6EKdafDVC_Z55XF+p*48}Vv9rd_ z20j+y1gxoRexG2>D8%I2E4b;uXj0uyK5EYU86VVKCW$aQ)}otU!P9RU8Ox2@m@n(IfKiIW^SQEE0ddk-UW}g-qR+G! zvd|Y3B$f>y>C>2op T(@``f1297swC^XZGEPo|cp5&5A__eU9D 53$uTG81@;= zYyEca3R}lZHD!KH^v8Wl=~?SdaVBcv0~1Prg_-4BVM;m;%h^l1opY~2CNbo;fe6+> zvEU}}FQ2omK3t<8r&2xeYV?s5pn6$rZ{1TB+32zSo}d4kk+h!-wZRF~LrzXoK`KIJ zhJ;bUWef81sY!#PXrM8{`Kbi&-%{J+X@*kv##S!I;SR^AR1jO@RKycV1!SHCG2h99 z=a%YiZ-qB#b9Q1;$>)r~(jEd0&!v}tzB>dlW7(8f{w}n1F7w|%HSUYP!L9j_b$Bpu z9M5Y6c>`BjtXn8xPSA(K@EC%1bN@g9*3vlmywIv7CbV gKdN-*$3m#mXwFT3LN|jj&&%ht~-7~#GKdl z%Fy~B!yhbR%3D(E{-P%5(uTqP=l;U*#;KEJ9cVYOfn0M>wd+}Vh!OMGoL`c=` zZtAG_-edZ6jKUVj>d`%ki_HTK3|)SC*x#Hmsf7g-t@>hWL`pTyLw>9ARDL8>_L_qm zr_V+1{T7Ka+7DTPekyGD9OK{T{52{Ha&m?B9}@GAeBo(so{+PPEz%(h)N^SeEM0d! znW%fujhc0ERDm{=c(4s+Ew_vnarAKi1b07hr9Lcp)5;1QI~qeHiH38D llI!%<{GFW17c^c-`L~d*d8>>(6Lb2d~v=fXUw2 z@?!mDo*O@&%kEZUhgXx17iV3&w)>D-E4weAlWD3RosR?(ox0lRm^*pzReW?ClHHn0 z<=^vy^F^#BY(PsMa64$&4?Yuv-Iam=zY*{n{zApv2{Dt#y7AxSx|r88bZqMh8uFsG zxyf~Hg=ovMIPi?8EI3AP_r5e%W_-@ Z~ rx{g`UIU7;J-)&toaa=%YEqz0J*q$4U*i)Ut`~YrnbQ&3-JfnoU u1CPo`HW x-8G!jbF)eK_3K+`0EdBdhf0O)hNcpF>+9$p5 %?9^G@@iZ)q{EB{M#WKWbv!GbUg3!eAt;SH|Mq*FW?7G*!+jj+`HA5Xu{k!p+V> zN^$>643{AHSnxHT@xU4b3Vnl~a|LbVQ@aJaf{)2P^4kpyOSp*xLonC%4jM(7>Fj|f zgaL1Zy-5^OE?v|m_at?kzQcd(`zE=_Da7T)a!1(ns;jM1wgPK=`n=; %2P3z4>kNY+66voVl}qZf@>M#yYO$zkA0IW5WaOsF3l# zd=<|n@_-5_KkS;%IwPM9ovf-5Ef@SFFZ%yXPSNP-{vy-jfoi3bF}uv$c7cdHsFKRr zE`Ss4&&FNQ=A;Oi)dU9}M}}^WRwM8c!G6VQ&$l?uyqqJvzlKx#KXJvTStlHlq-c SVy%`0^zdU(jE8D0Kd!gJZK1Wn|wvPPgHm=zISrMQ+%%4x-Zk z#i O}sb z0%?87x&Cwtu7D%a@*_G6U{RPfiBUBBBXhM>M|>Li0#33yqs>LRzjlugDF)o+eS1rs z7b>bF@u=_TcmI LLGmF;AXcZDakyo7Uv6h@y=Q7!Jn0x@ zh+TWle24LGZ>4BN@Idpw{ZtC-&`1ho GRc@R!zfs67(HXVJfk*)V}N03>ercFkX3vHj4CA?_!v^u}z*ewqq z^Ypq=3WtSV3AZOSCJxUvbXdIP?u9Pjxx2gjJdXC{|D%~sqX2CCD2?Q=Rb50Wtg^$Y zF{XW}=D6E>dtYY?`2>5jwf%;tc+{u#0Ikv26#srnQKW`Fu2Q)wg@YeDqa(fB?taT` zTKvwl*#|Qz^Y2V5j|8zZ6b+QG`%ykz#pDAwnQqalbZ{3mkQGiB=P5L*zL-Weje6rI z;uklN0`OG{%%7~mUrq5)r|NhPsMj0!{{K_4lxX+sOQR6H`8W1Nx##!K6sO9|q6*OQ zn0U2rP=?9@+D|`j2*_gAYA_x%C%TjQ9Y&B;eh`>f_h~B!GK(NF1i4-hvy-RsZ$Fy} zjPRxart2yoGK6zFuuE#VZ#()*BU|62kj`bSj%H0pe|Akgrq`Oav@~Lrm0yg=m5k@T zqtky2&n{mer6jYW95ms{FLHQdr}H`&5$lak({K5ID@GS8*7v@xdlxCvoN$>vZ$NHS z5UIne4>t&KK9evj2ZSk`a|C5zkD5|W_9$t{#Kd=fq-q90to~P{xw<;$cTA)4YGRM@ z5SC4_hyBnRAmQ?k8`Sq=QmnnEtF3;Qa)SSU$Nu-IAFyZRzS^+I`&r6nZsw7~f(D?f z_FRLrGy}=1i~qLJsSa?{_X?PVWc^GMaWQ!LA3rLs*>vb--3D7yKqVy{tCPIHenK@y zv7h~Q>j>TmR+E4o7h~sMzDl64r 6u{msE$?!k=+zuH3Wa}tG%Ojx#5tDZZH^kPBs0Uk>PF@ zdJl(l?cbxrm#_Om`!Wr6db&if(dXl+F>Drx{*f)uPEabwFlYtl7CAh(i%|M>Wd}IA zKi&>mek?1isE;taV*xgO{xP-?g?*3o?8afL1{*hg)_=)ksLay)#XPbN&1Uw`kU=02 z+K#rY#q=M$z<7Bu&6-iD1USjlBg{^HppuGSw_gPR)pP(Vn%X$}neOP0g5Cn(rU0QV z+}(z11`0s0{B!*^A=$?@9@57JABOBUtfP_ZwPTmwASE%p$15L !*Tp8U z<}T=8H_EWwsRQ=ATUF{R>PUf_-ec ^0xe;pRy8Uqu@>NoaNY`6W$f zaoM$2Ju)Um>dNDGKL6@B&giQ<9@qbqd=7!%D&&&|zr{j5MC%AJI&` U17p=A$#wsIYOa}Kqgh)AVGvumlJ5*F#C;T+W#Ex4YBz& z`=}W82E5M`P(cn1%K1`8O|$+Cxc}tM1sX?i_G3!#d|Ol_N?#-6-)U$rz?`w*gz!XU zCFm+pnvNXGc6Yr$gp>y1!Wm^jHcbisg`9?3l!$5;sv>PcjjS0F@#Ol=BPI_FwY1*S zgxF-9^jQ3+iwKqt`-_er1(A i^nvG^y^R50J$U@U}*v&v*1xl-h%;I3ri4V~r z44YKTMMdq^`TNc|6k`|#gIN=)=1<+-cf7%(z^L||XGs3%&oGd}u;d*PD1;g+ )kftTWhD6RP*y;%TbBN}u{Z zmtVz%51Y!q^9Dq `!PTN*8M=-G%EVKN3`(k>Ifm+@vNYcdfXY@eo7`Zx*Rr6UYPbqA7q469C3D zp>q)U&H_@uB`pXTE_O~%sn^}p*!c(a9k|REF8~yV+js41B9JSafH@TB&5dF|HYtpu z>vbg IX@#Nnf*qJM gO$wH4bw-dn$ZI?&SvMRih{oi<`6xYkk;!Dg65lXAP=_xGvZ@=>jI zcmbw+r|fqIMh}|(UKewZwM#SS$Z837z^r`F>tr;N1i(AARol(GCu(n2IrTu_^)d4Z z$gOEwC}%!Xh2IlPG{8@)u6Cr7=-0I&_y$W6trEv-=OIMP-)DH6;`?`B8wF6xe2`s@ zYkI#z0P?oCHm%piXxryL(gnxb+!_$@!52_M-B>1|T<0-#{Ar>etXv@qt4D@jo&@-e zKE*!LL|v|83vU;~$dYWa4TywdNX8jvpaQ^OvPmumAa%r8(d&_T%zh9m-js6N;p;G_ z7h(Qy=3jaC_xHz^3$GdF2Od;l*No7vK(sM9vz#;0 lIg_ zJms2<@M_UwapqM5r##>ALA66hl|sYTd6|EZ?e&sv}FlKm6SEI807_wuXuG!{sSF z@Un^^==zyvaBhGNwPN6t&`T{JvH7>5xju7@U*9c#KB4m)U_Q3hS8MdyAKQHWbJXx? ztSK6k3jM2{$)cx(MRFa|rHd2_sHw}C62#9r1Aj<3)E*);JP@j+&K6kyz-s?x5xQsr zU$hThv Z5c-0;*h9NNFNm7*?DYh4ng4GO~|a){>d~X%t0w*BJ$Ii8U9$ zV4`!0;9J!w1@w4o5#E>&=pG$A3U@AIT4LeqwK(tw9S5yTtXr@YI!bu+=T#3O{I(0Z zvDGoOpJ^2@-whp9NlWf*z#?z?^CT_nr+Bp?f6}D&uV;RavQP-=zE;|vR+{~!_I-Od zR@(qZf< hahn%@y0g<=YkWm4pD~$l>M4B2 zxE3|Ec8)5gvT;$ezDP8Y45G! *7pB9g>;l*kb`*!t*4 dX=4Cc9JuP@>l;+l#T1-;uDJdG0Mz{_9`tWQ|XE# z|MZE#adZi{*D=pz`?+Kqp-pH3q n1H8ch=2x58J$aKX__2Br8U9zTjQQH@#XTFx9P~Kl>Bf0zGUhhcW08# zZo{ sB1PpWd6h;YryEXYcluP)rtEXwJi3A&!hfUHZ_JYq z!S-B^-9s9;a+*%s%3YZ7?j31KIT|!y^i@2)S#;3B<9H74O}EC&24Bte`+GLsTT$eM z<|=DXnx|*Z*RCrZKSF9d&_jCb2*!2rWilZ5v+pnM2Jy3uJ1)P|#9ZK-ykAHA7;Hf; z)DC|oe#sI{o-umafg3?a+1rw65dLge9_4e=T^qR+#?SJf>2X`<9)=3GL$e?F>@k6k z3nXXV=l&zlT&nPOYF~^Ps@yhc^m ?_h+M%9_r|cqT)s2sx-4^xD z4kfqjW$XrVv32!@czbk;rwH~VDZBvx@z5==xTES_QM(sWYBG;uRT=BG&oxMVvqrtp z67fO%4b~kn9FVe_kUt^=%{> T8867o6>*@Ttt<6L;LnA07l@jlSDyp# z@~ew_Ez+g}V}P9Eq~=s}McDvczhopY`P;#oCj0L^I*J(ey!j??A=gUT-P_+g3ki|r zS>o>2wc$Y0*NRwS@Chtfvmx{FfWpjGfEI&gQAFlm%+2*KN{C!6$yXC2L0x^L`;U3$ zyI*<>(KZ`-yT#A7XTfOMO!B8C#?y5t09M?*9#c3)Q {x%h?qM^&8aPkSOIn?d4}?ge!m65169i~bDa(l<9Q-Gl9&e<4*l&r@6 XqD zk=1##%7Y5Ily>FH>~Si!tU2aVv|3bw_&vj!44vObQB{m7SC@G$$K8l+2uG~Y6NHgm zZqm+m-u>ku`cfP}KRWnuM&c*Al !w#%Mq0uT>vJ zJzvYCIeSWB_-R@?lid9FzvS)nB@8T8)$IL5bw@#UIW8`tTMbjHg~%9gQjAzEU O;7q#U=MuEE{mI9qyP0SqOvF#% z)}4q;FZF!gWR^f0Kc86&$`Fx{L5l^A0BA9&LnWZn@Q>hwoZ2i9=CHETT#Yb!7G}*{ zR;;8nY~479KZYt!Jo%dl;?T;o{F|elP+^!13GvZs)dPvx=}69SX}CDx<=O^bmPW`F zxbz!<1uvRBm=do)vLNLuJO{l{FfLS$Jv%p7bdMoM9Q`wgM&c*#pWR_b*q@YcZNvJ% zSZ81=pK3`6{Z8sEWVbN&p}ksha7jaxW{|rlKl)< 5`4PFp;1&8lE}F5t4# z^hzf)OTp%Lbd(Em5{QTpzaGkgv#HZiv10_o4FW0E!yXfqG%CKxc@6RO(IuglKDU3z zjYBEc%Ck=^$N@UoAI*ZU>-SL-&lFH~GRnAPv|fO#^rMPHzdn3HKEX|B`^;zCP3Db{ zD194le&dPwPibiGIC<`P`#+2#ifG#A#)$1zTC?aUAI%#citWw?z8!orZ2aQ_Tgm$r zy6OB+gX!PhruY2CXl3ZCb`+<04hs?~PAnszQ8f<+nDp9boFi#%z{?8=B>d^1NR`pL zSAU@ZncN#9q`%4mTB&&XM6VS+o@4Enf6_L>u94bmRDTOa-Nu$7#g+m8ZexFlx%PMh zBq-s@m4wgOq5#ZMG26Gu#3WnLEMs_nt6H)W&$eoVFL@<}K-}+x`_R6d&IUyEwfp(e z=7ufL!^ZOIO nK==Xc*y@K5KKU|=SozIAmq~*jL^r4!t4S>}1C+lDu0f5!@Xotd> z05Vqnx#kpuXLoo|`!~IJv05+WCnso_bTYZA_AaC_bgw@+@pPK-wwYe}@qKjj(Q)_D z*;fK1=DjnzY(pdYHSVGk@ZTK&=$BU&NSsU8AodI2L?JIGjRJylcCN|E=mGFO8+# eEdn_$J-hREUPN)TM_+Y| zgqRBql$2Hf;pLt LUR4dlRmP36QjmENF8a(YS1q`}-}3NHlsc&BV*S~ONKSD2yOGW6ZVNNv zn$LT7K%k`9_&I8I5}%W~!OP{wvtDt3!gVLdm#KX9ch4Et1>lVAhi_4lAnrudN58^V zngeipu>J8kq6pYtqKk-$zsHI)b#2PyC)EZYx0Fqyw-3Bk-6p)Ozlo;0hee+r^Uvza zDdEjw&XCg$FaX)}6x-+acTkLEHKXr|-~-Ld00H!?Q`< Fc>FFF_$Dts91
9z9|1f+y4PHsSdsyn-FtrO7 EjMzO3+`SQn!EHKSRo^W80Aw
Nr2ACZe^#4~3LyWdzrlw{jnOrI^*A+hLYT`adW%!5F8M3$ z!YYenN!)mWv>04-_CJnEy4Fs+ZR+9Tx7spSeePT{6^h(h{mQRWHhhg6gEJlLQB7>$ z3+-_0Y6C!$$w>BIRl{%vmIzW~mZ)!!iTa!|!7>z%RpI#j=^2LOJE?Jfsj2`uQd` zY1QC~6)8taZi)knH_bzDbZXL><(QXxCbK*O0&r7*87lscsatvf?Jg^A(gf16H4@(8 z0n^l;d@)pS59WGBF#%QTldTnvdw;i$RBqXM{a&x)!1Awtqc2zCTJ^L9WGw>W{OC<# zud4+OzfvU_L_x@=f-&rkrG=l)E>)run(zKiPoF95PjVxmh$+F7)?|L`V-lx;;)mB! zp2Sy=NM&AE04Vep#!YH--|N4~yh{I_)@#DkY3nKFq}bX;mg*x@{uDAHiEY$K;5l^l zVoP11VEvoc`FI&32z0l-{Adq$iOTk6OycxeM34X##Jj{S4$^jv<-5-dNzhAH6y`Y{ zJZ=>EZ)8JO(-f7Oy3yk5M1Qn+7=XOI-L#CXkeRN3Z+)B6V(iap^M5mgfxKo&JyU;3 zrNXhXGIcc(9+;Doe6Ldu}|1Naq-PK$BD{_a$>6)^OCvlMRT|YEXO{GJu_tD1Q0k zQ vKdpR%{bKZ%sl{}ybp^e^_C}z-JH%<-xyAvxFtiGAo-v(Z z0D?a3lbfqvg#+?+jY}0ycMQ9K$C_)izznlZw*`^*5z8m3@eZy#vEPni!_wqdwND8f z@h{F#%y@UW9dL#9f!9`(yPJ(ux|*00-sZc9sviR(xdWyi1rsqpCu5y2TlMBS7^EM; zG uWcTv=)avi(aEHV t4C}W^=R9-PP&V_zhm-+5t^DAsoE5>erOd zriL?eBC;UfrLzc1pT1y*K~S%|SN=&Pjk#(Dk7qN>eLVB|@%u9Sby=BI%Es57#Wzpm zuooklqaKM`-<356@Fc$*(}Z`YQ_vA&* 2G7W0$$YD;a4vhNR5%+kZI2Frp0uu zTg*>AfnK_hajaQtB7-S5Z7FIi*1*s2jmD1Eq#OE^MV2hai4#~Y s8I^Cf^jSTKFa6WmEIp7Av@eF0=U0G}dOUWK2$uwX zh5o#;K%|dnQ>KaC0j>kawIAT0se^%xah&Mbt0A7$UgE9I^h#^??=ACIPxWvAp3nN> zlRVXbPFQwA1b`EALspqxbcE5K*`a#n5MK;}E_Gv5P!p+K+0(aRKjFo?43dTu9YUZs zxxx`_7r=soZF7MoVd0<5NU$goGU)a6M*55G>|br#GbY${+FqNqoYYl{`ww=`Ni*Be z_^9CN3)engJFu~$9dc{q?@!E6r&rd5Ns|z#o5i3xWOsipp^Zpr%E_YeRFJucqJQ?_ z{h@J31TQQ 5D3eT7ybHn7tpyb?%t8a)>FIk@tZPepVJ9h-d6lr$;^sOb zai jn+tFEZnsZs_r6aSAz+&j01a(_vx(5u^Kx9CHtI=ZKxGrcMiK zqk!xBns)AAlV#HfqmD~)Kd03tifHGAQQ{O{y~_d~UHSagJ!N1lWv^|%H$bDoK{2B& zAeg%2;JC{|>Cjx);F|34nME_Av5r)V%rk-l=UdyaBO9-L)1YIJFksDnfPi1xIp%GR z9qaq27CBbJtdh0Y26kgt9m^Cuyg5gs%gmmylapy2a=Wv|8$Y)s>U_k NZm|)Dck=%&a^VJ{&6i?v|IY+4Mpr6Hm I>-`M(A^=?S--|3sweg6JgPYr}xdnM)B*5GBHrH(5F z#i>+n?T)m*5=F4 $h_k6~9D4j_Bea>_#=2 zG2;$Z65hQQ_Q~lCEMF#1@6maHsw+CI&BBId$iE&wuxmZB$8{hxfBS(+_to@YPFI7^ zdRHa%aFFyIhOC|f3A6bI)y2p`IOp$<-|Cm}ccdpiky|x bL!aus0XGD@L%0T1SYBf#CH`RIjr*BSHIG>*B+;r5}d0p 8`TCb7U4ca@QHfn12|++4rIuyMrKOZcLP1K9kXmVx zRB4cIB&8Ol!9`M$?oR2B<$Hbqig$iKbLPy N7-_xtOA2Jud2@j5?>-I}vjf#Wn*sKhi!9%p>DGL}3<+XzhOi%NXmPQg7 zNu?8de0W(nZ?iPQI3nDLIKyc`jr^ySAltekMU8S6eYx|k^MA8Fh3@TkH4%hTwk8;V z-ju%)<+pnI!p|%(cOf!Tpajr-_u%?Mtxy$cNw2T39}wR-^8p++mZkeHjQ(tmSIqyo zKr07!Zv^x;Uq5#$U`#bd_P>9m`j9Mu2t=uC3uXPG(2HAOy}C3lyGry~m2`&EigK7$ zCuwOt2|8yP4U%lC{u`e4iwhw-dIYqimnw2U&DPRa@M`>8UbZ$ymlJ?y_O8hv#wk%r z%*pUjo(XXcM}b!GlhQKUm7|-y?|is(4X;&g`{quKV{lhWV~5{XyP2TH@dQijR*lr> zy>ha1G6M-B^}|$2yea4{! $?8AwpSpA_nuKR= zjJ{m1Wv+M6F%ucHDl1JB4)i-;sZg*z1~$jo6)ZPuViv)2i5#_iFhA7n&f?Dg I}`MT0bUl_@@(z0|%L=_l_ zEgJfEvvua!h3DR5(I_5%7Mn<~)tH)WaA2GCczaT;e}%63e63Ji1&J9Os!27vy)BLA zbB^pAnN$;)zPdEJQ^o3TUeI-NYWC_{Jl!YL=%`>SHSQ#>qi8E85REF(K?6N{6%GQH zRc>NuaYy7CzhRuWH7I0HhpkWUV}w)aB|uX-UX&4SQ1DiH(pE%NJZNhnwZ|DIy=P5v zVRQ85tp1$FYQjL7UREr&@YHGYHKrGeE%c>S+LRK9lf-_#1BP3NJ+xnezVN0)e^}o; z!>K;$K_dCML<>n1eh}}c_A9&sGm^to4A=LPkVv>g?qq~hQHCIq&qja7PKL9S=>7#` z 8~!DQ)V^W#R?$g< {W?6C|DQS>! zq>>WH%H}z_CK9rkA|B$IvTgJA)F$EkN{s=JOJn8A<_zCV!Bz0S7Og@X6GYKGB*5?Q zZ+DqA?ChS5JRL@w`@i&hjXWBN&wNO_91TAqEHmBshx!W!dirm-L$g2QO_MXv@iU`+ z<+lhx)1_!oZsDk|PNrQr-RltfB^uHoT^YJ{T$LUd^sIg6&YurWZEL8IK4Z__ymX%K z2WZ`#X<}QfmPQ2C+fT(#TDUyAD&ezgJrw=RVI4WTyKyAIHSfVcBPI
sN-NKF`k=AM+VR;g74YH;HR0aT&yC)~~?;)r14e?Te8Nr;x_v(;(z+fW1cK zMi4JX`XM2 ATwInvF=zHg!>%1bY9ey@EYkXl?Z5!eCuzYh<5kBWs09(3ucBl7{ zRT6NAt=s&QW^dN~^TsP6TRGc6hZ=nF?I^azFriMXP*5F6c2a)LfJ&cwP`-Kvo;x$& zKj=F88H?7~M~VDm_CF$^ fJg{d zRE8N4 *5=_cjp8Y{9Fh7tmTm9BF zY(H-HC-5PI4qe^P Q3yb&vqv+Xi~3vC z+)H1&x6t9dJI~IxUEEFEBWnBo!w~vDK2p_I4! hF+ zIXXLa^i?!L{vZ%4B2mWKLIk^sN%InZSpETno77gSA(@1Pegck(epBU%2$^j#zTX)c zT4R~`s_1^<-IK+jLqDdn7v{Qs8G^*|_b*iCA~I(`;6ZuBvlN&iP85vebQo?E!^#ZK z?B(ES2clXcO2~jnsFim1r<>yM?`Xb3`<42Iw7u)%R|^_^nJi;CSgfHsETy1QH{h=w ziVF6TQ4WmuBWVyjKG|y>G~#CCq0h0NL&lWH?PYO<%O6iT2-jue^>JSOD$uY)>Y_r& zIa7OiDRf3_Bhl>r5(92PjwmsUw}!^6qMGUU#N`o-hvnvT4t+~lQQW;-Oh?Z0Zq)=i zrqEUjVkE5qon|`q-(AFUazt?FV`KG;x649e9%iu)_fF+UjT zeOhGMtF~|!#PExK4B?>u;Gv5e9D-rkl0<&Gp8d-M7v&`|#B|>U) ztsnUhV4qJ~4HpXpnh==-t$-N=d{F|)-6uu3ENF{`coiLNDIUd}%GqgBMX(A=Qp@-p z*l_4u!M;$v#7z(&SVa3wPiZjMLD?rInhOCsz=De{E5MjBvFLX_%rLGrcznR@h4)HH z>TZ2gV?aK`E7Py~hikSCB8OHwX(hwr+8pOl!MgsBuio(hvIC?2 v(!&DoPE73lLqXS|8i6NQ z<>6@aFd3pireObpYEC Rg7V#NGRmtmh`%nz~wx zQJ8%}cS9{kEiMZn6rdz+;S{DiwR %pPt5d`KXLjMH4Z({QF;V&S3JG66 z-;?T3Hoc*>3U)zO+Vtz)CYzqXd`dEe);gE>?)J*^JwObNe35rUAtFCBQ@r?M&K~@H zucttAsXx7k4#v=XX>cq?bk|+P@|C4WW2t_RltFpxs2f$LKqr8V zPn7bi)?RTtj!SBzf=`778bXL$(qMcaZ+eMrBb{w?=eB$q5AFy7k4*fS)EPw=Z)FtT zpZ4;KjA`=)(q*9!zwyp|dhTY7p2HGhlLC22SN^0Hv{dVMiOo+j?il?O<1m)da~IZ} zw=XT**(oIVJg9wQx;1 +0=2Og3Wpzs^tOEw~1B=p_b4p7+Nw6Y-xCH}|J` zkSuUY_10e!N8{Ys yADcLcj@6`@zbb<&gxj>4Bd_7hYMBl1Lq};xji=e1$LqqWB&Kv8C_uH_bUUw zPt=h6(voYDm;ve0!hG-+XT?fAcT|i6_Z&mB89)q7T6UZl9QxAbIV!AG8?}+2UJN{t z!p-G~T4%`pp#I0PDE=$bqIDgao3BkL9{!#1p3eeEFBAO7%S&fNnp({TBaeg61z*cZ zU*Ea$O3ff(eSx!wo30rP57@cr9`ww11a4nY8631gUL9JJ3PzYhcb%R#a&{EsLJ>s7 zK+t!job2H)t =RB6i>> }E+fU_Ej?&W`H4Kc8;erqxjH6Aq*sCEoI;d;YiM z@Km;QgCka+PU{wc7rA|%R9H8Uoa6HH>RD^x<>mLYqt0(nuOi%j!7CHtygC0lHZ!L2 z$py%iO)=g)DJy1sj#IX}A%B+)sHmC_V7c|xcD)d}tVu^2MOaz5C2Y (HQoe;C%{*o&AYpg;3bC>RzqP;y;9KTU; zkJ_5G+G!%Fl%?L1)A6gg6Ix(wqSiTb0uvPnofTouqK3lrF5_br?@8)@wsl6rz2? z{I@C6bA&q-;{HAzGiY3O(Mha6)Na`3+36vnIiX@ki!=ks>Jb;S3lgQehHLyo|FtWs z?2nI>4y*CWs*uaIR571bLoh3T!BZXeJxSUs_?n+k!5Kk26hZ=2NXS6tRcH--XIa=p z8$pumvHz&zurHM_=Se~SDo?f;Bed_0@Lix;kJ(>cFBLr>Uld&qrz*4^hx(+_By9Hf z8`us9qTN~mq^n84?5<1zhu?KJYQ`%O@0;@hZjpogJ(3dB>O7=xs%*-)HY|%VstT#f zy>WdKWL#N3q-%yfDWCCtw}4RJ^dH!hYISbhSt`{J*rIi!3qq4N8?)xBqjRC8w1i@F zlFO87b VdB_kz(hV$OlhpMMazK^gQ zW*7FPwY9TTO*2&~FKe`#`anN6R+X!vZpjW3nseyrLw|N3vD^FHug EtJ!UYl09Xj#}LaT5b>7zYz! z@d`aq(xk%qshNxEamPzY2Wp7J^Fzg6u@^1k+yY>$5NDTR&Hk#<@iB_wnXa}lwr1jS z;g!SkFb09U+Ye!@s5=jO0hH}uJii7kE-u!tXG%=n>!@3n*KVf5`-(MbM_ZX}6S|dV zdE{vyeV6|N#Y|&E2@yO1`p j^A>%TnsQOn^Jw5vV1 zMA;Z`?}q(}`%lT6!vQBGMZ+4n;bbf`7+1N608Na86nXd#WR