From 75490562e0240ff1d00adea81ac647ef7486f94e Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:05:05 +0900 Subject: [PATCH 01/25] =?UTF-8?q?[chore]=20=EC=8B=9C=ED=81=AC=EB=A6=BF=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=93=B0=EA=B8=B0=20=EC=B0=A8=EB=8B=A8=20?= =?UTF-8?q?PreToolUse=20=ED=9B=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Write/Edit/MultiEdit 대상 파일명이 .env, .env.*(.env.example 제외), *credentials*, *.secret* 이면 수정을 차단한다. Co-Authored-By: Claude Opus 5.5 --- .claude/settings.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.claude/settings.json b/.claude/settings.json index c739239..0839520 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -7,6 +7,18 @@ "defaultMode": "bypassPermissions" }, "hooks": { + "PreToolUse": [ + { + "matcher": "Write|Edit|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "python3 -c \"import json,sys,os; fp=json.load(sys.stdin).get('tool_input',{}).get('file_path',''); n=os.path.basename(fp); blocked=n=='.env' or (n.startswith('.env.') and n!='.env.example') or 'credentials' in n or '.secret' in n; print(json.dumps({'hookSpecificOutput':{'hookEventName':'PreToolUse','permissionDecision':'deny','permissionDecisionReason':'시크릿 파일 수정 차단: '+fp}})) if blocked else None\"", + "statusMessage": "시크릿 파일 검사 중..." + } + ] + } + ], "Stop": [ { "hooks": [ From 95b13f3f737c826d71f4efeebbbe642b54a8fccb Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:09:21 +0900 Subject: [PATCH 02/25] =?UTF-8?q?[chore]=20Vitest=20+=20React=20Testing=20?= =?UTF-8?q?Library=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=99=98=EA=B2=BD=20?= =?UTF-8?q?=EB=8F=84=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - vitest, @testing-library/{react,dom,jest-dom,user-event}, jsdom 추가 - vite.config.js에 test 블록(jsdom, setupFiles) 추가 - npm run test / test:watch 스크립트 추가 - 환경 검증용 smoke 테스트(date 유틸, Switch 컴포넌트) 추가 Co-Authored-By: Claude Opus 5.5 --- package-lock.json | 1060 ++++++++++++++++++++++++++++- package.json | 12 +- src/components/ui/Switch.test.jsx | 22 + src/test/setup.js | 6 + src/utils/date.test.js | 53 ++ vite.config.js | 4 + 6 files changed, 1143 insertions(+), 14 deletions(-) create mode 100644 src/components/ui/Switch.test.jsx create mode 100644 src/test/setup.js create mode 100644 src/utils/date.test.js diff --git a/package-lock.json b/package-lock.json index 2dd5f25..f4945c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,10 @@ }, "devDependencies": { "@eslint/js": "^9.39.4", + "@testing-library/dom": "^10.4.2", + "@testing-library/jest-dom": "^7.0.1", + "@testing-library/react": "^16.3.3", + "@testing-library/user-event": "^14.6.7", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", @@ -37,10 +41,70 @@ "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.5.2", "globals": "^17.4.0", + "jsdom": "^29.1.1", "playwright": "^1.61.1", - "vite": "^8.0.1" + "vite": "^8.0.1", + "vitest": "^5.0.2" } }, + "node_modules/@adobe/css-tools": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.5.0.tgz", + "integrity": "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", @@ -233,6 +297,16 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", @@ -281,6 +355,159 @@ "node": ">=6.9.0" } }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.2.tgz", + "integrity": "sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.4.1.tgz", + "integrity": "sha512-EtC7SoN1j6J4E4DCwg5QgbO5TGxgxIA1RXqe+W+qUM+BUcezx9wT+/tiQ/WO2yCX4i5X+Cuf9ciJ22aP4UEwWw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.1", + "@csstools/css-tokenizer": "^4.0.2" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.4.tgz", + "integrity": "sha512-DyefytAZ735mX4Dq/WcDAXFtXhaEFvme0ZS9tVEBAc2whxUthXr0R0L2rmEPm59SrMBkGrFzQviBXMs/UtnABQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.1.2", + "@csstools/css-calc": "^3.4.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.1", + "@csstools/css-tokenizer": "^4.0.2" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.1.tgz", + "integrity": "sha512-ShL8BqPfbKJrJiKFH0xBbN0i7Nrh9HXYRuF+pzyj93R/BL2YAsUxJeqANErzqM+0JGl7vjHp+3OIgd/DL69YIA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.2" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.14.tgz", + "integrity": "sha512-HpbVXyrofRXpHpgkNIjU/3EWR4WJvOkO3emNK/L6X/mTJU7bGUI3AkkpoTNXznQLp0KRjLHELTGeKI5dIkI9JQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.2.tgz", + "integrity": "sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -472,6 +699,24 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@exodus/bytes": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.16.0.tgz", + "integrity": "sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, "node_modules/@floating-ui/core": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", @@ -624,9 +869,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", "dev": true, "license": "MIT" }, @@ -978,6 +1223,104 @@ "react": "^18 || ^19" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.2.tgz", + "integrity": "sha512-yzr2S9HyAIdhz2/6qHgbs665Q7PKVcDF05vsOlHPxG1mo36gKVesdYVeDLnXgfjJ03CrKRk08knc6+E/9m8v2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-7.0.1.tgz", + "integrity": "sha512-oMDTC3oA+6CXSO2JZnvOI7CA6oVub6kij5ggk9ohwye5slmkwxYDXcPOVxgMw/RQlticjtO0C1RZkR97HgrWMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=22", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@testing-library/dom": ">=10 <11", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "vitest": { + "optional": true + } + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.3.tgz", + "integrity": "sha512-Uo193NgQbPMz6lrrhtRQQFcMC6Re/ELLFbbuVL30WDlZxlpZf9/lMHTAVxPRLw1q1iu9OJmR1c2BLiENRstdBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.7", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.7.tgz", + "integrity": "sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, "node_modules/@tiptap/core": { "version": "3.31.3", "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.31.3.tgz", @@ -1486,6 +1829,31 @@ "tslib": "^2.4.0" } }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1630,6 +1998,44 @@ } } }, + "node_modules/@vitest/mocker": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.2.tgz", + "integrity": "sha512-Z5FS00Q1SJHkB35xATsmWGdQ5WA1/0MV3CDjqyv7GavHv1OfOj145MNfHOlHk7QLes21dKFDHr8EO2zvL+9WGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.31", + "@vitest/spy": "5.0.2", + "estree-walker": "^3.0.3", + "magic-string": "^1.2.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/spy": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.2.tgz", + "integrity": "sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -1682,6 +2088,16 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1705,6 +2121,26 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1743,6 +2179,16 @@ "node": ">=6.0.0" } }, + "node_modules/bidi-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.1.0.tgz", + "integrity": "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, "node_modules/brace-expansion": { "version": "1.1.18", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", @@ -1832,13 +2278,23 @@ ], "license": "CC-BY-4.0" }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, "license": "MIT", - "dependencies": { + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, @@ -1932,12 +2388,47 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/date-fns": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", @@ -1965,6 +2456,13 @@ } } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1981,6 +2479,16 @@ "node": ">=0.4.0" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -1991,6 +2499,13 @@ "node": ">=8" } }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT" + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -2012,6 +2527,19 @@ "dev": true, "license": "ISC" }, + "node_modules/entities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz", + "integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2030,6 +2558,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", + "dev": true, + "license": "MIT" + }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -2254,6 +2789,16 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2264,6 +2809,16 @@ "node": ">=0.10.0" } }, + "node_modules/expect-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2574,6 +3129,19 @@ "hermes-estree": "0.25.1" } }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -2624,6 +3192,16 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2647,6 +3225,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2684,6 +3269,57 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", + "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.11", + "@asamuzakjp/dom-selector": "^7.1.1", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.3.5", + "parse5": "^8.0.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.25.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -3067,6 +3703,26 @@ "yallist": "^3.0.2" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.2.tgz", + "integrity": "sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.6.0" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -3076,6 +3732,13 @@ "node": ">= 0.4" } }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3097,6 +3760,16 @@ "node": ">= 0.6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", @@ -3152,6 +3825,20 @@ "node": ">=18" } }, + "node_modules/obug": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.2.1.tgz", + "integrity": "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -3221,6 +3908,19 @@ "node": ">=6" } }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3249,9 +3949,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", - "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "dev": true, "license": "MIT", "engines": { @@ -3347,6 +4047,34 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/prosemirror-changeset": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.2.tgz", @@ -3547,6 +4275,13 @@ "react": "^19.2.4" } }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, "node_modules/react-router": { "version": "7.18.2", "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.18.2.tgz", @@ -3585,6 +4320,30 @@ "react-dom": ">=18" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3642,6 +4401,19 @@ "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", "license": "MIT" }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", @@ -3697,6 +4469,26 @@ "node": ">=0.10.0" } }, + "node_modules/std-env": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", + "integrity": "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==", + "dev": true, + "license": "MIT" + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3723,12 +4515,39 @@ "node": ">=8" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, "node_modules/tabbable": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", "license": "MIT" }, + "node_modules/tinybench": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.0.tgz", + "integrity": "sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", @@ -3746,6 +4565,52 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tldts": { + "version": "7.4.15", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.15.tgz", + "integrity": "sha512-SJVBeHOxDbNoq14CvpAoA2mLEWdbldGK8nR+yumpjY5nrlZxOflcA7p1Qj1gbTGmbu9DY9qLj/bENSWhBzjxRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.4.15" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.4.15", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.15.tgz", + "integrity": "sha512-ERuv0p98XgSzmlSLJr8vDNxX+uATGInlN97V3R+JpYWaSqn5IG3ewWgCwczk4bkOpgth/o8Nt5FOi4B4w0n/1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz", + "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -3767,6 +4632,16 @@ "node": ">= 0.8.0" } }, + "node_modules/undici": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.0.tgz", + "integrity": "sha512-dkrQXeHSaoamnItlYbmzG0wFYrM0ZwDxCIg0A7aKjTyyhh9svRzCNFEzV+Vm05/yehjCzjDZ31KXfGEjYSztDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/update-browserslist-db": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz", @@ -3895,12 +4770,143 @@ } } }, + "node_modules/vitest": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.2.tgz", + "integrity": "sha512-7MQrx9pDv5aHiUcovIb/70Ys3tgtkUVgCtledvKdCmEO+/1Dicq5ZqoSxOW034m03oqC+oHOKui2dM6qtMLoJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/mocker": "5.0.2", + "chai": "^6.2.2", + "es-module-lexer": "^2.3.2", + "expect-type": "^1.4.0", + "magic-string": "^1.2.3", + "obug": "^2.1.4", + "picomatch": "^4.0.7", + "std-env": "^4.2.0", + "tinybench": "^6.1.4", + "tinyexec": "^1.3.0", + "tinyglobby": "^0.2.17", + "why-is-node-running": "^3.2.1" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^22.12.0 || ^24.0.0 || >=26.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "5.0.2", + "@vitest/browser-preview": "5.0.2", + "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", + "@vitest/coverage-istanbul": "5.0.2", + "@vitest/coverage-v8": "5.0.2", + "@vitest/ui": "5.0.2", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, "node_modules/w3c-keyname": { "version": "2.2.8", "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", "license": "MIT" }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3917,6 +4923,19 @@ "node": ">= 8" } }, + "node_modules/why-is-node-running": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.2.tgz", + "integrity": "sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A==", + "dev": true, + "license": "MIT", + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=20.11" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -3927,6 +4946,23 @@ "node": ">=0.10.0" } }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", diff --git a/package.json b/package.json index 547c5dd..7599188 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "prebuild": "node scripts/generate-sitemap.js", "build": "vite build", "lint": "eslint .", - "preview": "vite preview" + "preview": "vite preview", + "test": "vitest run", + "test:watch": "vitest" }, "dependencies": { "@tanstack/react-query": "^5.96.2", @@ -33,6 +35,10 @@ }, "devDependencies": { "@eslint/js": "^9.39.4", + "@testing-library/dom": "^10.4.2", + "@testing-library/jest-dom": "^7.0.1", + "@testing-library/react": "^16.3.3", + "@testing-library/user-event": "^14.6.7", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", @@ -40,7 +46,9 @@ "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.5.2", "globals": "^17.4.0", + "jsdom": "^29.1.1", "playwright": "^1.61.1", - "vite": "^8.0.1" + "vite": "^8.0.1", + "vitest": "^5.0.2" } } diff --git a/src/components/ui/Switch.test.jsx b/src/components/ui/Switch.test.jsx new file mode 100644 index 0000000..9184ef1 --- /dev/null +++ b/src/components/ui/Switch.test.jsx @@ -0,0 +1,22 @@ +import { describe, expect, it, vi } from 'vitest' +import { render, screen } from '@testing-library/react' +import userEvent from '@testing-library/user-event' +import Switch from './Switch' + +describe('Switch', () => { + it('checked 상태를 aria-checked로 노출', () => { + render( {}} />) + + expect(screen.getByRole('switch', { name: '알림 받기' })).toHaveAttribute('aria-checked', 'true') + }) + + it('클릭하면 onChange 호출', async () => { + const user = userEvent.setup() + const onChange = vi.fn() + render() + + await user.click(screen.getByRole('switch', { name: '알림 받기' })) + + expect(onChange).toHaveBeenCalledTimes(1) + }) +}) diff --git a/src/test/setup.js b/src/test/setup.js new file mode 100644 index 0000000..73818b0 --- /dev/null +++ b/src/test/setup.js @@ -0,0 +1,6 @@ +import '@testing-library/jest-dom/vitest' +import { afterEach } from 'vitest' +import { cleanup } from '@testing-library/react' + +// globals 미사용이라 RTL 자동 cleanup이 동작하지 않으므로 직접 등록 +afterEach(cleanup) diff --git a/src/utils/date.test.js b/src/utils/date.test.js new file mode 100644 index 0000000..b1ef25d --- /dev/null +++ b/src/utils/date.test.js @@ -0,0 +1,53 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { formatDate, formatDateTime, formatRelativeDate, isSameDay } from './date' + +describe('isSameDay', () => { + it('시각이 달라도 같은 날짜면 true', () => { + expect(isSameDay(new Date(2026, 8, 26, 1), new Date(2026, 8, 26, 23))).toBe(true) + }) + + it('날짜가 다르면 false', () => { + expect(isSameDay(new Date(2026, 8, 26), new Date(2026, 8, 27))).toBe(false) + }) +}) + +describe('formatDate', () => { + it('YYYY-MM-DD를 YYYY.MM.DD로 변환', () => { + expect(formatDate('2026-09-26')).toBe('2026.09.26') + }) + + it('빈 값이면 빈 문자열', () => { + expect(formatDate(null)).toBe('') + }) +}) + +describe('formatDateTime', () => { + it('ISO datetime을 YYYY.MM.DD HH:mm로 변환', () => { + expect(formatDateTime('2026-09-26T19:30:00')).toBe('2026.09.26 19:30') + }) + + it('시간 부분이 없으면 날짜만 반환', () => { + expect(formatDateTime('2026-09-26')).toBe('2026.09.26') + }) +}) + +describe('formatRelativeDate', () => { + beforeEach(() => { + vi.useFakeTimers() + vi.setSystemTime(new Date('2026-09-26T12:00:00')) + }) + + afterEach(() => { + vi.useRealTimers() + }) + + it.each([ + ['2026-09-26T09:00:00', '오늘'], + ['2026-09-25T12:00:00', '어제'], + ['2026-09-23T12:00:00', '3일 전'], + ['2026-09-12T12:00:00', '2주 전'], + ['2026-07-28T12:00:00', '2개월 전'], + ])('%s → %s', (input, expected) => { + expect(formatRelativeDate(input)).toBe(expected) + }) +}) diff --git a/vite.config.js b/vite.config.js index fe9a0c7..c25a5f2 100644 --- a/vite.config.js +++ b/vite.config.js @@ -15,6 +15,10 @@ export default defineConfig(({ mode }) => { build: { sourcemap: false, }, + test: { + environment: 'jsdom', + setupFiles: './src/test/setup.js', + }, server: { proxy: { '/api': { From 2539438149e4db1a95ac6f91cc6474e095faeb7f Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:11:47 +0900 Subject: [PATCH 03/25] =?UTF-8?q?[chore]=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20=EB=B0=8F=20write-tests=20=EB=A1=9C=EC=BB=AC=20?= =?UTF-8?q?=EC=97=90=EC=9D=B4=EC=A0=84=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 대상별 전략(utils·hooks·stores·components·pages), colocate 파일 위치, 한국어 it 네이밍, RTL 쿼리 우선순위, 서비스 함수 단위 API 모킹, QueryClient·MemoryRouter wrapper, Zustand 리셋, 로그인 모달 검증 패턴 정의 Co-Authored-By: Claude Opus 5.5 --- .claude/agents/write-tests.md | 170 ++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 .claude/agents/write-tests.md diff --git a/.claude/agents/write-tests.md b/.claude/agents/write-tests.md new file mode 100644 index 0000000..b1437ff --- /dev/null +++ b/.claude/agents/write-tests.md @@ -0,0 +1,170 @@ +--- +name: write-tests +description: Coming Frontend 프로젝트의 테스트 코드를 작성하는 전문 에이전트. 구현된 유틸·훅·스토어·컴포넌트·페이지를 분석해 적절한 테스트 전략을 선택하고, 프로젝트 컨벤션(Vitest + React Testing Library)에 맞는 테스트를 생성한다. "테스트 작성해줘", "테스트 코드 만들어줘", "이 컴포넌트 테스트해줘" 등의 요청 시 사용한다. +tools: Read, Write, Edit, Bash +--- + +# Coming Frontend 테스트 작성 에이전트 + +Coming Frontend(React 19 + Vite 8, JavaScript) 프로젝트의 테스트 코드를 작성한다. +구현 코드를 분석해 대상 유형에 맞는 테스트 전략을 선택하고, 프로젝트 컨벤션을 준수한 테스트를 생성한다. + +- 러너: Vitest (`vite.config.js`의 `test` 블록, 환경 `jsdom`) +- 렌더링·쿼리: React Testing Library + `@testing-library/user-event` +- matcher: `@testing-library/jest-dom` (`src/test/setup.js`에서 등록) + +--- + +## 대상별 테스트 전략 + +| 대상 | 방식 | 특징 | +|------|------|------| +| `src/utils/` 순수 함수 | 입력 → 출력 단언 | 렌더링 없음. 시간 의존 함수는 `vi.useFakeTimers()` + `vi.setSystemTime()` | +| `src/hooks/` 커스텀 훅 | `renderHook` | DOM 조작 훅(`useModalA11y` 등)은 실제 요소를 렌더링해 검증 | +| `src/stores/` Zustand 스토어 | `useXxxStore.getState()` 직접 호출 | 각 테스트 전 초기 상태로 리셋 | +| `src/components/` 컴포넌트 | `render` + `screen` + `userEvent` | props·사용자 상호작용 → 화면 결과 검증 | +| `src/pages/` 페이지 | `render` + Provider wrapper | 서비스 함수를 `vi.mock`으로 대체, 핵심 흐름만 검증 | + +판단이 애매하면 더 좁은 범위(유틸·훅 단위)를 우선한다. `src/services/*Api.js`는 Axios 호출을 감싼 얇은 함수라 원칙적으로 직접 테스트하지 않는다 (인터셉터 로직이 바뀐 경우 `api.js`만 예외). + +--- + +## 프로젝트 컨벤션 + +### 파일 위치·이름 +테스트 파일은 구현 파일 **옆에** 둔다 (colocate). 확장자는 JSX가 있으면 `.test.jsx`, 없으면 `.test.js`. +- 구현: `src/components/ui/Switch.jsx` → 테스트: `src/components/ui/Switch.test.jsx` +- 구현: `src/utils/date.js` → 테스트: `src/utils/date.test.js` + +`__tests__/` 디렉터리는 만들지 않는다. 여러 테스트가 공유하는 헬퍼는 `src/test/` 하위에 둔다. + +### Import +Vitest globals를 쓰지 않는다. `describe`/`it`/`expect`/`vi` 등은 매번 명시적으로 import한다. +```js +import { describe, expect, it, vi } from 'vitest' +import { render, screen } from '@testing-library/react' +import userEvent from '@testing-library/user-event' +import Switch from './Switch' +``` +- 같은 디렉터리의 대상은 상대 경로(`./Switch`), 그 외는 `@/` alias를 쓴다. + +### 네이밍 +- `describe`: 테스트 대상 이름 (컴포넌트명·함수명·훅명). 스토어·훅처럼 액션이 여러 개면 대상 `describe` 안에 액션별 `describe('open')`을 중첩한다. +- `it`: **한국어**로 `{조건}이면/하면 {결과}` 형태 + - `it('클릭하면 onChange 호출')` + - `it('빈 값이면 빈 문자열')` + - `it('비로그인 상태에서 팔로우 클릭하면 로그인 모달 오픈')` +- 입력만 다른 반복 케이스는 `it.each`로 묶는다. + +### 쿼리 우선순위 +RTL 권장 순서를 따른다. 위에서부터 가능한 것을 쓴다. +1. `getByRole` (+ `name` 옵션) — 기본값 +2. `getByLabelText` — 폼 입력 +3. `getByPlaceholderText` +4. `getByText` — 비대화형 텍스트 +5. `getByAltText` / `getByTitle` +6. `getByTestId` — 위 방법이 모두 불가능할 때만. 이 경우 구현에 `data-testid`를 추가하기 전에 접근성 속성(`aria-label`, role)이 빠진 건 아닌지 먼저 확인한다. + +- 요소가 **없음**을 단언할 때만 `queryBy*`, 비동기로 나타나는 요소는 `findBy*`를 쓴다. +- `container.querySelector`로 CSS Module 클래스명을 찾지 않는다. + +### 상호작용 +`fireEvent` 대신 `userEvent`를 쓴다. 테스트마다 `const user = userEvent.setup()`으로 시작한다. +```js +const user = userEvent.setup() +await user.click(screen.getByRole('button', { name: '팔로우' })) +``` + +### 구조 +Arrange → Act → Assert 순서를 빈 줄로 구분한다 (주석은 생략 가능). +```js +it('클릭하면 onChange 호출', async () => { + const user = userEvent.setup() + const onChange = vi.fn() + render() + + await user.click(screen.getByRole('switch', { name: '알림 받기' })) + + expect(onChange).toHaveBeenCalledTimes(1) +}) +``` + +--- + +## Coming 도메인 특화 패턴 + +### API 모킹 — 서비스 함수 단위로 대체 +Axios 인스턴스나 네트워크를 모킹하지 않고 **`src/services/{domain}Api.js` 함수**를 `vi.mock`으로 대체한다. +```js +import { getPinnedNotices } from '@/services/noticeApi' + +vi.mock('@/services/noticeApi', () => ({ + getPinnedNotices: vi.fn(), +})) + +it('고정 공지가 있으면 카드로 표시', async () => { + getPinnedNotices.mockResolvedValue([{ id: 1, title: '서비스 점검 안내', createdAt: '2026-09-26T10:00:00' }]) + renderWithProviders() + + expect(await screen.findByRole('link', { name: /서비스 점검 안내/ })).toBeInTheDocument() +}) +``` + +### React Query·Router가 필요한 컴포넌트 +테스트마다 **새 `QueryClient`**를 만들고 `retry: false`로 둔다 (실패 케이스가 재시도로 느려지거나 캐시가 테스트 간 공유되는 것 방지). 라우터는 `MemoryRouter`를 쓴다. +```js +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { MemoryRouter } from 'react-router-dom' + +function renderWithProviders(ui, { route = '/' } = {}) { + const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } }) + return render( + + {ui} + , + ) +} +``` +이 헬퍼가 두 곳 이상에서 필요해지면 `src/test/renderWithProviders.jsx`로 추출하고 이후엔 그걸 import한다. 추출 전 `src/test/`에 이미 있는지 먼저 확인한다. + +### Zustand 스토어 리셋 +스토어는 모듈 싱글턴이라 테스트 간 상태가 샌다. 스토어를 건드리는 테스트 파일에는 반드시 리셋을 넣는다. +```js +beforeEach(() => { + useAuthStore.setState(useAuthStore.getInitialState(), true) + localStorage.clear() // 스토어가 localStorage를 읽거나 쓸 때만 (authStore의 SESSION_HINT 등) +}) +``` +로그인 상태가 필요하면 `useAuthStore.setState({ user: { id: 1, nickname: '테스트유저' }, accessToken: 'token', isInitialized: true })`로 직접 주입한다. + +### 인증 UX 패턴 검증 +- 비로그인 사용자가 보호 기능(팔로우·평점·글쓰기 등)을 누르면 **페이지 이동이 아니라** `useLoginModalStore.getState().isOpen === true`가 되어야 한다. `redirectUri`가 현재 경로로 설정됐는지도 함께 확인한다. +- `AdminRoute`/`PrivateRoute` 자체를 테스트할 때는 `MemoryRouter` + `Routes`로 보호 경로와 이동 대상 경로를 함께 렌더링해 결과 화면을 단언한다. + +### 인라인 목 데이터(`MOCK_*_MAP`) 페이지 +`// TODO: API 연동 후 제거`가 붙은 목 데이터는 곧 사라질 값이다. 목 데이터의 **구체적인 내용**(특정 아티스트명 등)을 단언하지 말고, 렌더링 구조·상호작용만 검증한다. + +### jsdom 한계 +- 레이아웃·CSS가 계산되지 않는다. 반응형 breakpoint, 스타일, 스크롤 위치, 요소 크기는 테스트하지 않는다 (시각 검증은 브라우저 수동 확인 영역). +- `window.matchMedia`, `IntersectionObserver`, `ResizeObserver`가 없다. 필요한 테스트 파일에서만 `vi.stubGlobal`로 스텁하고, 전역 setup에는 넣지 않는다. + +--- + +## 테스트 작성 절차 + +1. **대상 분석**: 구현 파일을 읽어 export, props, 의존하는 서비스·스토어·훅, 분기 조건을 파악한다. +2. **전략 결정**: 위 표에 따라 방식 선택. 같은 디렉터리에 기존 `*.test.*`가 있으면 먼저 읽고 스타일을 맞춘다. +3. **케이스 도출**: 정상 흐름 + 분기·빈 상태·에러 상태 목록을 작성한다. +4. **테스트 파일 생성**: 컨벤션에 따라 작성한다. +5. **실행 확인**: `npx vitest run {테스트 파일 경로}`로 통과를 확인한 뒤, `npx eslint {테스트 파일 경로}`로 lint도 확인한다. + +--- + +## 주의사항 + +- 구현에 없는 동작을 테스트하지 않는다. 테스트를 통과시키려고 구현 코드를 수정하지 않는다 — 버그로 보이면 수정하지 말고 결과에 보고한다. +- 컴포넌트·페이지는 구현 세부(내부 state 값, 클래스명, 호출 순서)가 아닌 **사용자가 보는 결과**를 단언한다. 화면이 없는 스토어·유틸·훅은 반환값·`getState()`가 곧 공개 계약이므로 직접 단언한다. +- `window.location.origin` 같은 jsdom 환경값은 하드코딩하지 않고 참조한다. +- 스냅샷 테스트를 쓰지 않는다. +- 픽스처는 의미 있는 값을 쓴다 (예: `artistId: 1`, `name: 'YOASOBI'`, 날짜 `'2026-09-26'`). +- 하나의 `it`은 하나의 동작만 검증한다. From f61f0cbc4b83f0d9034c814afc7addcbeb4fa0e7 Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:11:47 +0900 Subject: [PATCH 04/25] =?UTF-8?q?[test]=20loginModalStore=20redirectUri=20?= =?UTF-8?q?=EC=A0=95=EC=A0=9C=20=EB=A1=9C=EC=A7=81=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- src/stores/loginModalStore.test.js | 74 ++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/stores/loginModalStore.test.js diff --git a/src/stores/loginModalStore.test.js b/src/stores/loginModalStore.test.js new file mode 100644 index 0000000..4a50d25 --- /dev/null +++ b/src/stores/loginModalStore.test.js @@ -0,0 +1,74 @@ +import { beforeEach, describe, expect, it } from 'vitest' +import useLoginModalStore from './loginModalStore' + +beforeEach(() => { + useLoginModalStore.setState(useLoginModalStore.getInitialState(), true) +}) + +describe('useLoginModalStore', () => { + describe('open', () => { + it('호출하면 모달이 열림', () => { + useLoginModalStore.getState().open('/concerts/1') + + expect(useLoginModalStore.getState().isOpen).toBe(true) + }) + + it.each([ + ['/concerts/1?tab=setlist', '/concerts/1?tab=setlist'], + ['/artists/1', '/artists/1'], + ['/concerts/1?tab=setlist#reviews', '/concerts/1?tab=setlist'], + ])('같은 origin 상대 경로 %s이면 %s 저장', (input, expected) => { + useLoginModalStore.getState().open(input) + + expect(useLoginModalStore.getState().redirectUri).toBe(expected) + }) + + it('같은 origin 절대 URL이면 pathname과 search만 저장', () => { + const uri = `${window.location.origin}/artists/1?sort=latest#top` + + useLoginModalStore.getState().open(uri) + + expect(useLoginModalStore.getState().redirectUri).toBe('/artists/1?sort=latest') + }) + + it.each([ + ['https://evil.example.com/concerts/1'], + ['//evil.example.com/concerts/1'], + ['javascript:alert(1)'], + ])('외부 origin %s이면 redirectUri는 null', (input) => { + useLoginModalStore.getState().open(input) + + expect(useLoginModalStore.getState().redirectUri).toBeNull() + }) + + it('URL로 해석할 수 없는 값이면 redirectUri는 null', () => { + useLoginModalStore.getState().open('http://[invalid') + + expect(useLoginModalStore.getState().redirectUri).toBeNull() + }) + + it.each([[''], [null], [undefined]])('빈 값 %s이면 redirectUri는 null', (input) => { + useLoginModalStore.getState().open(input) + + expect(useLoginModalStore.getState().redirectUri).toBeNull() + }) + + it('다시 호출하면 이전 redirectUri를 덮어씀', () => { + useLoginModalStore.getState().open('/concerts/1') + + useLoginModalStore.getState().open('https://evil.example.com/') + + expect(useLoginModalStore.getState().redirectUri).toBeNull() + }) + }) + + describe('close', () => { + it('호출하면 모달이 닫히고 redirectUri 초기화', () => { + useLoginModalStore.getState().open('/concerts/1') + + useLoginModalStore.getState().close() + + expect(useLoginModalStore.getState()).toMatchObject({ isOpen: false, redirectUri: null }) + }) + }) +}) From afd6f050d187ad0cdb9212ac2d3ee8305e6c4323 Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:12:52 +0900 Subject: [PATCH 05/25] =?UTF-8?q?[chore]=20web-design=20=EB=A1=9C=EC=BB=AC?= =?UTF-8?q?=20=EC=97=90=EC=9D=B4=EC=A0=84=ED=8A=B8=20=EC=9D=B4=EA=B4=80=20?= =?UTF-8?q?=EB=B0=8F=20fe-expert=20=EB=8F=84=EB=A9=94=EC=9D=B8=20=EC=A7=80?= =?UTF-8?q?=EC=8B=9D=20=EB=B3=91=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 전역 web-design(디자인 원칙·트렌드·레퍼런스)과 fe-expert(스택·구조·인증 UX)를 하나의 로컬 에이전트로 합치고 현재 코드 기준으로 최신화 (React Router v7, 커뮤니티·관리자 페이지, 디자인 토큰, 다크 모드, breakpoint 규칙) Co-Authored-By: Claude Opus 5.5 --- .claude/agents/web-design.md | 115 +++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 .claude/agents/web-design.md diff --git a/.claude/agents/web-design.md b/.claude/agents/web-design.md new file mode 100644 index 0000000..2c8945e --- /dev/null +++ b/.claude/agents/web-design.md @@ -0,0 +1,115 @@ +--- +name: web-design +description: Coming Frontend 웹 디자인·FE 전문가. UI/UX 원칙, 최신 트렌드, 레퍼런스 사이트 활용 능력과 함께 Coming의 스택·페이지/컴포넌트 구조·디자인 토큰·인증 UX 패턴에 대한 도메인 지식을 보유한다. 화면 디자인 제안, Figma 해석, 신규 기능의 FE 구현 범위 검토에 사용한다. +--- + +당신은 **Coming 프로젝트의 웹 디자인·프론트엔드 전문가**입니다. +UI/UX 원칙에 근거한 판단, 최신 웹 디자인 트렌드 파악, 레퍼런스 사이트 활용이 핵심 역량이며, 제안은 항상 Coming의 현재 코드 구조와 디자인 토큰 위에서 구현 가능한 형태여야 합니다. + +아래 도메인 지식은 작성 시점의 스냅샷이다. 제안 전에 관련 파일(`src/index.css`, 대상 페이지·컴포넌트)을 직접 읽어 최신 상태를 확인한다. + +--- + +## Coming 도메인 지식 + +### 기술 스택 +- React 19 + Vite 8, JavaScript (JSX, TypeScript 없음) +- React Router v7 (`react-router-dom`), 경로는 `src/constants/routes.js`의 `ROUTES` 상수로 관리 +- Zustand (전역 상태: `authStore`·`loginModalStore`·`themeStore`) +- React Query (서버 상태), 목록 페이지네이션은 `placeholderData`로 이전 데이터 유지 +- Axios (`src/services/api.js` 단일 인스턴스, 도메인별 `{domain}Api.js`) +- 스타일: CSS Modules (`Page.jsx` + `Page.module.css` 페어), 전역 토큰은 `src/index.css` + +### 페이지 구조 (`src/pages/`) +- **홈** `HomePage` +- **아티스트** `ArtistsPage`(목록·검색·필터·페이지네이션), `ArtistDetailPage` +- **공연** `ConcertsPage`(날짜·아티스트·지역 필터), `ConcertDetailPage`(포스터·예매처·상태 배지·셋리스트·평점) +- **신보** `ReleasesPage`, `ReleaseDetailPage` +- **캘린더** `CalendarPage` +- **커뮤니티** `PostsPage`, `PostDetailPage`, `PostWritePage`(Tiptap 에디터), `NoticeDetailPage` +- **마이페이지** `MyPage` (관심 아티스트·예정 공연·다녀온 공연·내 문의·설정 탭) +- **인증·기타** `SignupPage`, `AuthCallbackPage`, `PolicyPage`, `NotFoundPage` +- **관리자** `src/pages/admin/` (`AdminLayout` + `AdminRoute`로 보호) — 공연·아티스트 편집, 승인 대기/제외 공연, 문의, 신고, 공지, 정책 + +### 컴포넌트 구조 (`src/components/`) +도메인별로 분리한다: `artist` · `auth` · `calendar` · `concert` · `layout` · `post` · `rating` · `release` · `ui` +- `ui/` 공통: `Button`, `Badge`, `FilterTabs`, `FilterToggle`, `SortDropdown`, `Pagination`, `Switch`, `StarRating`, `EmptyState`, `ErrorBoundary`, `AppDatePicker`, `InquiryModal`, `BackButton`, 브랜드 아이콘류 +- `layout/`: `Layout`, `Header`, `Footer`, `PageHeader`, `PrivateRoute`, `AdminRoute`, `AdminLayout`, `ScrollToTop` +- `auth/LoginModal`: 전역 로그인 모달 +- 새 UI를 만들기 전에 `ui/`의 기존 컴포넌트로 커버되는지 먼저 확인한다. 토스트 컴포넌트는 현재 없다. + +### 공통 훅 (`src/hooks/`) +`useModalA11y`(모달 포커스 트랩·복귀), `useHorizontalScrollBar`, `useHorizontalWheelGuard`, `useEdgeFade`(가로 스크롤 가장자리 페이드), `usePageMeta`(페이지 메타 태그) + +### 디자인 토큰 (`src/index.css`) +- 하드코딩 색상 대신 토큰을 쓴다: `--color-bg`/`--color-surface`/`--color-text`/`--color-text-muted`/`--color-border`, 강조색 `--color-accent`(#e11d48 계열)와 파생 토큰 +- 도메인 색상: 공연 상태 `--status-*`, 예매 `--ticketing-*`, 캘린더 주말 `--calendar-*`, 관리자 `--admin-*` +- 반경 `--radius-xs`~`--radius-full`, 그림자 `--shadow-sm/md/modal`, 레이아웃 `--max-width: 1280px`, `--header-height: 64px` +- 본문 서체 Pretendard(`--font-sans`), 로고 워드마크만 Wanted Sans +- **다크 모드**: `prefers-color-scheme` 기본 + `html[data-theme]` 수동 토글(`themeStore`). 새 색상 토큰은 라이트·다크 양쪽에 정의한다. + +### 반응형 breakpoint +`max-width: 767px`(모바일), `900px`, `1279px`(태블릿)만 사용한다. **`480px` 등 비표준 값은 제안하지 않는다.** + +### 인증 UX 패턴 +- 비로그인 사용자가 보호 기능(팔로우·평점·글쓰기 등)을 누르면 **페이지 이동이 아닌 로그인 모달**을 띄운다 (`loginModalStore.open(현재 URL)`로 redirect_uri 유지). +- 소셜 로그인은 Google / Kakao만 (Naver 없음). 버튼 색은 `--oauth-*` 토큰. +- 로그인 필요 페이지는 `PrivateRoute`, 관리자 페이지는 `AdminRoute`로 보호한다. + +### 목 데이터 +API 미연동 화면은 페이지 상단에 `const MOCK_*_MAP = {...}` + `// TODO: API 연동 후 제거` 주석으로 인라인 선언한다. + +--- + +## 디자인 원칙 + +- **시각 계층**: 정보 우선순위에 맞는 타이포그래피·여백·색상 배분 +- **일관성**: 기존 `ui/` 컴포넌트 재사용, `index.css` 토큰 사용 +- **접근성(a11y)**: 명도 대비 4.5:1 이상(라이트·다크 모두), 포커스 링, ARIA 속성, 터치 영역 44px 이상 +- **모바일 퍼스트**: 360px 폭에서 깨지지 않는지 먼저 확인하고, 767/900/1279 breakpoint로 확장 + +## 최신 트렌드 인식 + +- **주요 흐름**: Bento Grid, Glassmorphism 절제 사용, 대형 타이포그래피, 다크 모드 기본화, 마이크로 인터랙션 +- **컴포넌트 패턴**: Command Palette, Bottom Sheet(모바일), Skeleton UI, Infinite Scroll vs. Pagination 트레이드오프 +- **애니메이션**: View Transition API, CSS `@starting-style`, `prefers-reduced-motion` 대응. 별도 애니메이션 라이브러리는 현재 쓰지 않으므로 CSS 우선으로 제안한다. + +## 레퍼런스 활용 + +| 목적 | 사이트 | +|------|--------| +| 트렌드·영감 | Awwwards, Dribbble, Behance, Mobbin | +| 컴포넌트 패턴 | shadcn/ui, Radix Themes, Material Design 3 | +| 색상 | Coolors, Realtime Colors, Accessible Palette | +| 타이포그래피 | Typescale, Google Fonts, Fontpair | +| 아이콘 | Lucide, Phosphor Icons, Heroicons | +| 레이아웃·그리드 | Every Layout, CSS Grid Generator | +| 도메인 레퍼런스 | 인터파크·멜론티켓·YES24 티켓(예매 UX), setlist.fm, Spotify·Apple Music(아티스트·디스코그래피) | + +--- + +## 평가 관점 + +### 디자인 +- **UX 흐름**: 목표 달성까지의 클릭 수·인지 부하 +- **시각적 완성도**: 여백·정렬·색상 조화, 라이트/다크 양쪽 확인 +- **트렌드 적합성**: 과도한 트렌드 추종 vs. 뒤처진 패턴 경계 + +### FE 구현 (신규 기능 검토 시) +- **구현 범위**: 신규 페이지·컴포넌트·라우트(`ROUTES`) 필요 여부 +- **상태 관리**: Zustand / React Query 확장 범위 +- **기존 재사용**: 현재 `ui/` 컴포넌트·훅으로 커버 가능한 범위 +- **UX 정합성**: 로그인 모달·페이지네이션·빈 상태(`EmptyState`) 등 기존 패턴과 충돌 여부 +- **외부 의존**: 브라우저 API, 추가 라이브러리 필요 여부 + +--- + +## 산출물 형식 + +디자인 제안 시 다음 순서로 답한다: +1. **핵심 UX 문제 진단** (현재 무엇이 문제인가 — 관련 파일 경로 포함) +2. **개선 방향** (원칙 근거 + 트렌드 참조) +3. **구체적 구현안** (사용할 토큰·CSS Modules 스타일 코드·breakpoint별 레이아웃, 재사용할 컴포넌트) +4. **레퍼런스** (참고 사이트나 컴포넌트 링크) + +FE 구현 범위 검토 요청이면 위 "FE 구현" 관점별로 판단과 근거를 정리하고, 예상 변경 파일 목록을 덧붙인다. From d952d42d8e367f8d90809d507fda81cca949ab7f Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:15:47 +0900 Subject: [PATCH 06/25] =?UTF-8?q?[chore]=20fe-review=20=EB=A1=9C=EC=BB=AC?= =?UTF-8?q?=20=EC=8A=A4=ED=82=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CLAUDE.md 핵심 규칙을 체크리스트화한 커밋·PR 전 FE 코드 리뷰 스킬. breakpoint(767/900/1279), CSS Modules 페어링, MOCK_*_MAP 잔존, 로그인 모달·AdminRoute 인증 패턴, API·상태 관리, 디자인 토큰·접근성, 테스트·lint 7개 범주를 심각도(🔴/🟡/🔵)별로 검토한다. Co-Authored-By: Claude Opus 5.5 --- .claude/skills/fe-review/SKILL.md | 80 +++++++++++ .../fe-review/references/fe-checklist.md | 129 ++++++++++++++++++ 2 files changed, 209 insertions(+) create mode 100644 .claude/skills/fe-review/SKILL.md create mode 100644 .claude/skills/fe-review/references/fe-checklist.md diff --git a/.claude/skills/fe-review/SKILL.md b/.claude/skills/fe-review/SKILL.md new file mode 100644 index 0000000..35d3751 --- /dev/null +++ b/.claude/skills/fe-review/SKILL.md @@ -0,0 +1,80 @@ +--- +name: fe-review +description: Coming 프론트엔드 코드 작성 후 커밋·PR 전 필수 실행하는 FE 전문 코드 리뷰 스킬. 반응형 breakpoint, CSS Modules 페어링, 목 데이터 잔존, 로그인 모달·AdminRoute 인증 패턴, 디자인 토큰·접근성, 테스트·lint 통과 여부를 검토한다. "fe-review 해줘", "FE 코드 리뷰해줘", "프론트 리뷰해줘" 또는 Frontend 코드 작성 완료 후 커밋 전 검토를 요청하는 모든 상황에서 반드시 이 스킬을 사용한다. +--- + +# fe-review + +변경된 Frontend 코드를 `references/fe-checklist.md` 기준으로 검토하고 심각도별 이슈를 보고한다. + +## 참조 파일 + +- `references/fe-checklist.md` — 검토 항목, 심각도 기준, 판단 방법 + +## 실행 순서 + +1. 검토 대상을 정한다 + - 대상 확장자는 `.js`, `.jsx`, `.css`다. 그 외(`.md`, `package-lock.json` 등)는 검토하지 않고 보고의 "제외 파일"에만 적는다. + - 커밋 전 변경사항 중 대상 확장자 파일이 있으면 그것을 검토한다 (커밋 전 모드) + ```bash + git diff HEAD --name-only # staged + unstaged + git ls-files --others --exclude-standard # untracked + git diff HEAD + ``` + untracked 파일은 diff가 없으므로 **파일 전체를 추가 라인**으로 본다. + - 없으면(대상 확장자 외 변경만 있어도) 현재 브랜치 전체를 검토한다 (PR 게이트 모드) + ```bash + git diff --name-only origin/main...HEAD + git diff origin/main...HEAD + ``` + - 사용자가 파일·범위를 지정하면 그것을 우선한다. + - 테스트 파일(`*.test.*`)이 대상에 있으면 `.claude/agents/write-tests.md`도 읽는다 (7번 항목 판단 기준). + +2. 프로젝트 규칙을 로드한다 + - 루트 `CLAUDE.md`의 "핵심 규칙" 섹션을 읽는다. + +3. 자동 검사를 실행한다 + ```bash + npm run test + npx eslint {검토 대상 .js/.jsx 파일} + ``` + - lint는 **검토 대상 파일만**(untracked 포함) 실행한다. + - test는 전체를 실행하되, 실패한 테스트가 검토 대상 파일(또는 그 파일이 import하는 대상)과 무관하면 🔴로 집계하지 않고 "기존 실패"로 따로 적는다. + +4. `references/fe-checklist.md`의 체크리스트를 기준으로 검토한다 + - **이번 변경에서 추가·수정된 라인의 위반만** 이슈로 보고한다. 체크리스트의 grep이 변경하지 않은 라인의 기존 위반을 잡아도 결과에 포함하지 않는다 (lint와 같은 원칙). + - 한 라인·블록이 여러 항목을 위반하면 가장 높은 심각도로 **한 건**으로 묶고, 나머지 위반은 같은 이슈 안에 함께 적는다. + - 체크리스트 7개 범주에 없지만 명백한 결함(스타일 cascade 충돌, 시각 회귀, 런타임 오류 등)을 발견하면 "기타"로 보고하고 심각도 기준표에 따라 판단한다. + - 체크리스트 분류와 루트 `CLAUDE.md` 핵심 규칙이 어긋나 보이면 `CLAUDE.md`를 우선한다. + + 검토 범주: + 1. 반응형 breakpoint + 2. CSS Modules 페어링 + 3. 목 데이터 잔존 + 4. 인증·권한 패턴 + 5. API·상태 관리 + 6. 디자인 토큰·접근성 + 7. 테스트·lint + +5. 심각도별로 이슈를 정리해 보고한다. 각 이슈에는 `파일:라인`, 위반 항목, 수정 방향을 포함한다. + +6. 🔴 critical 이슈가 있으면 수정 후 재실행을 요청한다. 없으면 커밋 진행을 승인한다. 이 스킬은 코드를 직접 수정하지 않는다. + +## 결과 보고 + +``` +=== FE 코드 리뷰 결과 === +검토 범위: {커밋 전 변경사항 | origin/main...HEAD} +검토 파일: {파일 목록} +제외 파일: {대상 확장자 외 파일 목록 | 없음} +자동 검사: test {통과|실패 N건 (+ 기존 실패 N건)} / lint(검토 파일) {통과|에러 N건} + +🔴 critical: {N}건 +🟡 warning: {N}건 +🔵 suggestion: {N}건 + +{이슈 상세 목록} + +{🔴 없으면: "✅ 커밋 진행 가능"} +{🔴 있으면: "🚫 커밋 전 critical 이슈를 수정하세요"} +``` diff --git a/.claude/skills/fe-review/references/fe-checklist.md b/.claude/skills/fe-review/references/fe-checklist.md new file mode 100644 index 0000000..dfd1f9e --- /dev/null +++ b/.claude/skills/fe-review/references/fe-checklist.md @@ -0,0 +1,129 @@ +# FE 코드 리뷰 체크리스트 + +## 심각도 기준 + +| 심각도 | 의미 | +|--------|------| +| 🔴 critical | 즉시 수정 필요 (프로젝트 핵심 규칙 위반, 보안, 런타임 오류, 테스트 실패) | +| 🟡 warning | 개선 권장 (일관성·유지보수성·접근성 저하) | +| 🔵 suggestion | 선택적 개선 (스타일, 재사용, 테스트 보강) | + +--- + +## 1. 반응형 breakpoint + +허용 값은 `767px`(모바일), `900px`, `1279px`(태블릿)뿐이다. `min-width`를 쓸 때는 같은 경계의 `768px`, `901px`, `1280px`만 허용한다. + +### 🔴 critical +- `@media`에 허용 외 값 사용 — 특히 `480px` + ```bash + grep -nE "@media[^{]*[0-9]+px" {변경된 .css 파일} + ``` + +### 🟡 warning +- 같은 파일 안에서 `max-width`와 `min-width` 기준을 섞어 경계가 겹치거나 빈다 (예: `max-width: 767px`과 `min-width: 767px`) +- JS에서 폭 분기(`matchMedia`, `innerWidth`)에 허용 외 값 사용 + +--- + +## 2. CSS Modules 페어링 + +규칙: `Xxx.jsx`의 스타일은 같은 디렉터리의 `Xxx.module.css`에 둔다. + +### 🔴 critical +- 컴포넌트·페이지에서 전역 `.css` 파일을 import (전역 스타일은 `src/index.css`만) +- `className`에 CSS Modules가 아닌 전역 클래스 문자열을 사용해 스타일링 (`className="card"` 등) + +### 🟡 warning +- `Xxx.jsx`가 이름이 다른 `Yyy.module.css`를 import (공유 스타일 파일 예외: `pages/admin/AdminFormPage.module.css`처럼 여러 페이지가 의도적으로 공유하는 경우) +- 어떤 `.jsx`도 import하지 않는 `.module.css` (고아 파일) +- `.module.css`에 정의했지만 JSX에서 쓰지 않는 클래스가 새로 추가됨 + +### 🔵 suggestion +- 정적 스타일을 인라인 `style={{...}}`로 작성 (동적 값이 아니면 모듈 CSS로 이동) + +--- + +## 3. 목 데이터 잔존 + +규칙: API 미연동 화면의 목 데이터는 페이지 상단 `const MOCK_*_MAP = {...}` + `// TODO: API 연동 후 제거` 주석으로 선언한다. + +```bash +grep -n "MOCK_" {검토 대상 .js/.jsx 파일} +``` + +### 🟡 warning +- `MOCK_*` 선언에 `// TODO: API 연동 후 제거` 주석이 없음 +- 해당 데이터를 가져오는 서비스 함수가 `src/services/`에 이미 있는데 `MOCK_*`가 남아 있음 (연동 누락 의심) +- 이번 변경에서 API 연동을 완료했는데 기존 `MOCK_*` 선언·참조를 제거하지 않음 + +### 🔵 suggestion +- 목 데이터를 페이지 외부 파일에 새로 선언 (예외: 기존 `src/mocks/followedArtistMocks.js`) +- 이름이 `MOCK_*_MAP` 형식이 아님 + +--- + +## 4. 인증·권한 패턴 + +### 🔴 critical +- 관리자 경로(`/admin/**`)가 `AdminRoute`로 보호되지 않음, 또는 `PrivateRoute`로만 보호됨 +- 로그인 필요 페이지 라우트가 `PrivateRoute`로 보호되지 않음 +- 비로그인 사용자의 보호 기능 접근 시 **로그인 페이지로 이동**(`navigate`, ``, `location.href`)시킴 — 로그인 모달(`useLoginModalStore.open`)을 띄워야 한다 +- Access Token·Refresh Token을 `localStorage`/`sessionStorage`/쿠키에 JS로 저장 (Access Token은 메모리(`authStore`), Refresh Token은 HttpOnly Cookie. `SESSION_HINT` 플래그는 예외) +- `Authorization` 헤더를 컴포넌트에서 직접 세팅 (`api.js` interceptor 담당) +- 보호 기능에서 `useLoginModalStore.open()`을 인자 없이 호출해 로그인 후 현재 페이지로 돌아오지 못함 (현재 경로 `pathname + search` 전달 필요 — CLAUDE.md 핵심 규칙 "redirect_uri로 현재 URL 유지") + +### 🟡 warning +- 역할 비교를 `'ADMIN'`/`'PENDING'` 문자열로 새 위치에 흩뿌림 (기존 `AdminRoute`/`PrivateRoute` 재사용 검토) + +### 🔵 suggestion +- Google·Kakao 외 소셜 로그인(Naver 등) 관련 UI·코드 추가 — 현재 지원 범위 밖 + +--- + +## 5. API·상태 관리 + +### 🔴 critical +- 컴포넌트·페이지에서 `axios`를 직접 import해 호출 (`src/services/api.js` 인스턴스와 interceptor 우회) +- 백엔드 주소를 하드코딩 (`http://localhost:8080` 등) — `/api` 상대 경로 + `VITE_API_BASE_URL` 사용 + +### 🟡 warning +- 서비스 함수(`src/services/{domain}Api.js`)를 거치지 않고 컴포넌트에서 `api.get('/...')` 직접 호출 +- 서버 데이터를 Zustand 스토어에 캐싱 (React Query 담당) +- 변경(mutation) 후 관련 `queryKey` 무효화 누락으로 화면이 갱신되지 않음 +- 경로 문자열을 하드코딩 (`'/artists/' + id`) — `ROUTES` 상수 사용 + +### 🔵 suggestion +- 기존 `ui/` 컴포넌트(`Button`, `Pagination`, `EmptyState`, `FilterTabs` 등)나 `hooks/`로 대체 가능한 코드를 새로 작성 + +--- + +## 6. 디자인 토큰·접근성 + +### 🟡 warning +- 변경된 CSS 라인에 색상 리터럴(`#hex`, `rgb()`) 하드코딩 — `src/index.css` 토큰 사용 (리터럴은 다크 모드에서 전환되지 않으므로 다크 대응 누락도 이 항목으로 본다) +- `src/index.css`에 새 색상 토큰을 라이트에만 정의하고 다크(`html[data-theme="dark"]`, `prefers-color-scheme: dark`)에 누락 +- 클릭 가능한 `div`/`span` (`onClick`)에 `role`·`tabIndex`·키보드 핸들러 없음 — `button` 사용 권장 +- 의미 있는 ``에 `alt` 누락 (장식용은 `alt=""`) +- 아이콘만 있는 버튼에 `aria-label` 누락 +- 새 모달이 `useModalA11y`를 쓰지 않음 (포커스 트랩·복귀 누락) + +### 🔵 suggestion +- 터치 대상 크기 44px 미만 (시각 크기 유지 시 `::before` 히트 영역 확장 패턴 참고: `ui/FilterTabs.module.css`) +- `transition`/`animation` 추가 시 `prefers-reduced-motion` 미대응 + +--- + +## 7. 테스트·lint + +### 🔴 critical +- `npm run test` 실패 (검토 대상과 무관한 기존 실패는 제외하고 따로 표기) +- 검토 대상 파일에 ESLint 에러 (변경하지 않은 파일의 기존 에러는 제외) + +### 🟡 warning +- 신규·변경된 `src/utils/`, `src/hooks/`, `src/stores/` 함수에 대응하는 테스트 파일(`*.test.js`) 없음 +- 테스트 컨벤션 위반 (`.claude/agents/write-tests.md` 기준): 구현 옆 colocate 아님, `getByTestId` 남용, `fireEvent` 사용, 스토어 리셋 누락 + +### 🔵 suggestion +- 사용자 상호작용이 있는 신규 컴포넌트에 테스트 없음 +- happy path만 있고 빈 상태·에러 상태 테스트 없음 From 9e073f4bad434c9e198ad1ea721cca4a297f424f Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:16:14 +0900 Subject: [PATCH 07/25] =?UTF-8?q?[docs]=20CLAUDE.md=20=EA=B0=9C=EB=B0=9C?= =?UTF-8?q?=20=EC=9B=8C=ED=81=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EB=B0=8F=20?= =?UTF-8?q?=EB=B3=91=EB=A0=AC=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=20=EA=B8=B0=EC=A4=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 구현 → 테스트 → /fe-review → /simplify → /commit → /pr 흐름, write-tests 병렬 호출 임계치(독립 대상 3개 이상), npm run test 명령 추가 Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 58be470..203e7a7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,6 +15,7 @@ Jpop 아티스트 내한 공연 정보 통합 웹 플랫폼 (KOPIS + MusicBrainz - `npm run build` - production build - `npm run lint` - run ESLint - `npm run preview` - preview production build +- `npm run test` - run Vitest once (`npm run test:watch` for watch mode) ## 디렉터리 구조 ``` @@ -46,6 +47,33 @@ src/ - Access Token은 Authorization 헤더, Refresh Token은 HttpOnly Cookie - 401 응답 → Axios interceptor에서 자동 refresh, 실패 시 로그인 이동 +## 개발 워크플로우 + +### 전체 흐름 + +``` +구현 (페이지·컴포넌트 단위) → 테스트 작성 → /fe-review → /simplify → /commit → /pr +``` + +### 테스트 작성 시점 + +- **각 유틸·훅·스토어·컴포넌트의 작업 범위 내 구현이 끝난 직후** 테스트를 작성한다. 신규 파일은 공개 동작 전체, 기존 파일은 추가·변경된 동작만 대상으로 한다. +- 스타일·반응형 전용 변경(`ui` 커밋)은 테스트 대상이 아니다. 브라우저 수동 확인으로 검증한다. +- 테스트 작성은 `write-tests` 에이전트(`.claude/agents/write-tests.md`)를 사용한다. 컨벤션(colocate 위치, 쿼리 우선순위, API 모킹 방식)도 이 문서가 기준이다. +- `/fe-review` 실행 전 `npm run test`가 통과된 상태여야 한다. + +### 병렬 테스트 작성 + +- **서로 독립적인 대상이 3개 이상**(서로 import하지 않는 파일 3개 이상, 또는 3개 이상 도메인): `write-tests` 에이전트를 단일 응답에서 병렬 호출한다 +- **1~2개**: 순차 작성한다 (cold start 중복 비용이 시간 이득을 초과) +- **에이전트 호출 전**: `vite.config.js`의 `test` 블록과 기존 테스트 예제 파일 1개를 먼저 읽고 프롬프트에 포함해 에이전트의 중복 탐색을 방지한다 +- **의존 순서 유지**: 같은 흐름 안의 스토어·훅 → 이를 쓰는 컴포넌트 순서로 작성한다 (컴포넌트 테스트는 스토어·훅 계약을 전제) + +### 커밋 전 체크리스트 + +- `/fe-review` 통과(🔴 critical 0건) 전에 `/commit`을 실행하지 않는다. +- 디자인·UX 판단이 필요한 화면 작업은 `web-design` 에이전트(`.claude/agents/web-design.md`)에 먼저 검토를 받는다. + ## 명세 위치 (Cominggg/Specification) 명세는 외부 레포에 있다. `/read-spec` 스킬로 접근한다. From 839e6b629979306e6a241d1eceeddeb9dc2c2dd6 Mon Sep 17 00:00:00 2001 From: You-Hyuk Date: Sat, 26 Sep 2026 11:52:26 +0900 Subject: [PATCH 08/25] =?UTF-8?q?[docs]=20README=20=ED=98=84=ED=96=89?= =?UTF-8?q?=ED=99=94=20=EB=B0=8F=20AI=20=ED=98=91=EC=97=85=20=EC=9B=8C?= =?UTF-8?q?=ED=81=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 주요 기능·페이지 구성·기술 스택·명령어·프로젝트 구조를 현재 코드 기준으로 갱신 (커뮤니티·평점·다크 모드, Vitest, Node 22.12+ 등) - 화면 소개 스크린샷 재촬영 및 홈 전체 화면, 음악 상세, 커뮤니티·게시글 상세 추가 - AI 협업 워크플로우 섹션 추가 (흐름, 에이전트 역할·병렬 기준, fe-review, 훅) Co-Authored-By: Claude Opus 5.5 --- README.md | 148 +++++++++++++++++--- docs/screenshots/artist-detail-desktop.png | Bin 189509 -> 167820 bytes docs/screenshots/artists-desktop.png | Bin 262638 -> 298904 bytes docs/screenshots/calendar-desktop.png | Bin 50991 -> 50471 bytes docs/screenshots/community-desktop.png | Bin 0 -> 119352 bytes docs/screenshots/community-mobile.png | Bin 0 -> 64375 bytes docs/screenshots/concert-detail-desktop.png | Bin 220317 -> 224154 bytes docs/screenshots/concerts-desktop.png | Bin 635581 -> 708939 bytes docs/screenshots/concerts-mobile.png | Bin 223749 -> 207034 bytes docs/screenshots/home-desktop.png | Bin 478491 -> 936420 bytes docs/screenshots/home-mobile.png | Bin 168118 -> 158105 bytes docs/screenshots/post-detail-desktop.png | Bin 0 -> 89659 bytes docs/screenshots/release-detail-desktop.png | Bin 0 -> 414065 bytes docs/screenshots/releases-desktop.png | Bin 797423 -> 721752 bytes 14 files changed, 125 insertions(+), 23 deletions(-) create mode 100644 docs/screenshots/community-desktop.png create mode 100644 docs/screenshots/community-mobile.png create mode 100644 docs/screenshots/post-detail-desktop.png create mode 100644 docs/screenshots/release-detail-desktop.png diff --git a/README.md b/README.md index b5c78d9..f95ee96 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,13 @@ **Coming**은 Jpop 아티스트의 국내 내한 공연 정보를 한눈에 확인할 수 있는 웹 플랫폼입니다. -공연 일정 탐색부터 아티스트 팔로우, 캘린더 뷰까지 — 흩어진 내한 공연 정보를 한 곳에서. +공연 일정 탐색부터 아티스트 팔로우, 캘린더 뷰, 팬 커뮤니티까지 — 흩어진 내한 공연 정보를 한 곳에서.
홈 페이지 -

홈 — 인기 공연 및 예매 일정 한눈에 보기

+

홈 — 인기 공연 · 티켓팅 일정 · 다가오는 공연 · 새 앨범·싱글 · 관심 아티스트 공연

@@ -43,33 +43,51 @@ 공연 목록공연 목록 — 내한 공연 검색 및 필터 + + + + + + +
+ 공연 상세 + 공연 상세 — 공연 정보 · 티켓팅 · 가격 · 평점 · 예매처 +
아티스트 목록 아티스트 목록 — 아티스트 탐색 및 팔로우 + 아티스트 상세 + 아티스트 상세 — 팔로우 · Spotify · 소셜 링크 · 디스코그래피 +
- 아티스트 상세 - 아티스트 상세 — 다음 내한 D-day · 디스코그래피 · 소셜 링크 + 음악 목록 + 음악 목록 — 앨범·싱글 릴리즈 탐색 - 캘린더 - 캘린더 — 월별 공연 일정 뷰 + 음악 상세 + 음악 상세 — 수록곡 · Spotify · 평점 · 관련 게시글
- 공연 상세 - 공연 상세 — 공연 정보 · 장소 · 가격 · 예매처 + 커뮤니티 + 커뮤니티 — 게시글 · 공지 · 인기글 · 많이 언급된 태그 - 음반 목록 - 음반 — 아티스트 음반 릴리즈 목록 + 게시글 상세 + 게시글 상세 — 공연·아티스트·음악 멘션 카드 · 추천 · 신고 +
+ 캘린더 +
캘린더 — 월별 공연·티켓팅 일정 뷰
+※ 커뮤니티·게시글 상세 화면과 음악 상세의 관련 게시글은 스크린샷용 샘플 데이터입니다. +
@@ -85,6 +103,10 @@ 공연 목록 — 모바일
공연 목록 + + 커뮤니티 — 모바일 +
커뮤니티 +
@@ -93,11 +115,14 @@ ## 주요 기능 -- 🎤 **아티스트** — MusicBrainz 연동 아티스트 프로필, 관련 공연 및 음반 정보 -- 🎵 **공연** — KOPIS 기반 내한 공연 목록, 상세 정보 및 출연 아티스트 +- 🎤 **아티스트** — MusicBrainz 연동 아티스트 프로필, 소셜 링크, 관련 공연 및 음반 정보 +- 🎵 **공연** — KOPIS 기반 내한 공연 목록, 상세 정보·출연 아티스트·예매처, setlist.fm 셋리스트 - 📅 **캘린더** — 월별 공연 일정을 한눈에 확인 -- 💿 **음반** — 아티스트 음반 릴리즈 정보 및 setlist.fm 연동 -- 🔔 **팔로우** — 관심 아티스트 팔로우 및 마이페이지 관리 +- 💿 **음악** — 아티스트 음반 릴리즈 정보, 수록곡 및 Spotify 바로가기 +- ⭐ **평점** — 공연·음반 별점 평가 +- 💬 **커뮤니티** — 게시글·댓글, 아티스트·공연 멘션 에디터, 공지사항, 신고 +- 🔔 **팔로우** — 관심 아티스트 팔로우 및 마이페이지 관리 (예정·다녀온 공연, 1:1 문의) +- 🌙 **다크 모드** — 시스템 설정 연동 + 수동 전환 - 🔐 **소셜 로그인** — Google · Kakao OAuth 2.0 --- @@ -110,12 +135,18 @@ | 아티스트 목록 | `/artists` | Jpop 아티스트 목록 및 검색 | | 아티스트 상세 | `/artists/:id` | 프로필, 관련 공연·음반 | | 공연 목록 | `/concerts` | 내한 공연 목록 및 필터 | -| 공연 상세 | `/concerts/:id` | 공연 정보, 장소, 출연진 | -| 음반 목록 | `/releases` | 음반 릴리즈 목록 | -| 음반 상세 | `/releases/:id` | 음반 상세 및 수록곡 | +| 공연 상세 | `/concerts/:id` | 공연 정보, 장소, 출연진, 셋리스트, 평점 | +| 음악 목록 | `/releases` | 음반 릴리즈 목록 | +| 음악 상세 | `/releases/:id` | 음반 상세, 수록곡, 평점 | | 캘린더 | `/calendar` | 월별 공연 일정 뷰 | -| 마이페이지 | `/me/*` | 관심 아티스트·공연 관리 _(로그인 필요)_ | -| 관리자 | `/admin/*` | 공연·아티스트 데이터 관리 _(관리자 전용)_ | +| 커뮤니티 | `/community` | 게시글 목록, 고정 공지, 인기글·태그 사이드바 | +| 게시글 상세 | `/community/:id` | 게시글 본문, 댓글, 관련 글 | +| 글쓰기·수정 | `/community/write`, `/community/:id/edit` | 게시글 에디터 _(로그인 필요)_ | +| 공지 상세 | `/community/notices/:id` | 공지사항 | +| 회원가입 | `/signup` | 소셜 로그인 후 닉네임 설정·약관 동의 | +| 약관 | `/terms`, `/privacy` | 서비스 이용약관, 개인정보처리방침 | +| 마이페이지 | `/me/*` | 관심 아티스트, 예정·다녀온 공연, 내 문의, 설정 _(로그인 필요)_ | +| 관리자 | `/admin/*` | 공연·아티스트 데이터, 승인 대기·제외 공연, 문의, 신고, 공지, 약관 관리 _(관리자 전용)_ | --- @@ -129,8 +160,10 @@ | 클라이언트 상태 | Zustand v5 | | HTTP 통신 | Axios (인터셉터 중앙화, 자동 토큰 갱신) | | 스타일 | CSS Modules | +| 에디터 | Tiptap v3 | | 날짜 | date-fns, react-datepicker | -| 테스트 | Playwright | +| 테스트 | Vitest, React Testing Library | +| 분석 | Vercel Analytics, Speed Insights | --- @@ -138,7 +171,7 @@ ### 요구 사항 -- Node.js 20+ +- Node.js 22.12+ (Vitest 요구 사항) - npm 10+ ### 설치 @@ -173,9 +206,11 @@ npm run dev ```bash npm run dev # 개발 서버 시작 -npm run build # 프로덕션 빌드 +npm run build # 프로덕션 빌드 (prebuild에서 sitemap.xml 생성) npm run preview # 빌드 결과 미리보기 npm run lint # ESLint 실행 +npm run test # Vitest 1회 실행 +npm run test:watch # Vitest watch 모드 ``` --- @@ -192,15 +227,21 @@ src/ │ ├── concert/ # 공연 카드, 아티스트 추가 모달 │ ├── release/ # 음반 카드 │ ├── calendar/ # 캘린더 그리드, 일별 공연 목록 +│ ├── post/ # 게시글 목록·본문, 댓글, 에디터(Tiptap), 사이드바, 신고 모달 +│ ├── rating/ # 공연·음반 평점 │ ├── auth/ # 로그인 모달 │ ├── layout/ # 헤더, 푸터, PrivateRoute, AdminRoute │ └── ui/ # 공통 UI (Badge, Pagination, EmptyState 등) ├── services/ # 도메인별 API 함수 (Axios 인스턴스 기반) ├── stores/ # Zustand 스토어 (auth, loginModal, theme) +├── hooks/ # 공통 훅 (모달 접근성, 가로 스크롤, 페이지 메타) ├── constants/ # 라우트 경로 등 상수 -└── utils/ +├── utils/ # 날짜·Spotify·구조화 데이터 등 유틸 +└── test/ # 테스트 공통 setup ``` +테스트 파일은 대상 파일 옆에 `*.test.js(x)`로 둡니다. + --- ## 인증 구조 @@ -213,6 +254,67 @@ src/ --- +## AI 협업 워크플로우 + +Claude Code 에이전트·스킬·훅으로 이슈부터 PR까지 진행합니다. 프로젝트 규칙은 [`CLAUDE.md`](CLAUDE.md)에 모여 있고, 아래 도구들이 그 규칙을 역할별로 나눠 강제합니다. + +### 흐름 + +``` +/issue → /plan-issue → (web-design) → 구현 → write-tests → npm run test → /fe-review → /simplify → /commit → /pr +``` + +| 단계 | 도구 | 하는 일 | +|------|------|--------| +| 이슈·브랜치 | `/issue` | GitHub 이슈 생성 + `{type}/#{번호}-...` 브랜치 체크아웃 | +| 계획 | `/plan-issue` | 이슈 체크리스트를 코드 현황과 대조하고, 남은 작업을 커밋 단위로 순서화 (API 함수 → 상태 → 컴포넌트, `ui`/`feat` 분리) | +| 디자인 검토 | `web-design` 에이전트 | 화면·UX 판단이 필요한 작업만 구현 전에 검토 — 디자인 토큰·기존 `ui/` 컴포넌트 기준 구현안 제시 | +| 구현 | 메인 세션 | 페이지·컴포넌트 단위 구현 | +| 테스트 작성 | `write-tests` 에이전트 | 유틸·훅·스토어·컴포넌트 옆에 `*.test.js(x)` 작성 (Vitest + React Testing Library) | +| 테스트 실행 | `npm run test` | 전체 테스트 실행 — 통과해야 리뷰 단계로 진행 | +| 리뷰 | `/fe-review` | 프로젝트 규칙 위반 검토 — 🔴 critical 0건이어야 커밋 | +| 정리 | `/simplify` | 변경 코드의 중복·불필요한 복잡도 정리 | +| 커밋·PR | `/commit`, `/pr` | 컨벤션(`[{type}] 요약`)에 맞춘 커밋·PR 작성 | + +`fe-review` 스킬과 두 에이전트는 이 레포의 [`.claude/`](.claude/)에 포함돼 있습니다. `/issue`, `/plan-issue`, `/commit`, `/pr`은 작성자의 전역 Claude Code 스킬이고 `/simplify`는 Claude Code 기본 스킬이라 레포에는 없습니다. + +### 에이전트 역할 분리와 병렬 실행 + +| 에이전트 | 역할 | 수정 범위 | +|---------|------|----------| +| [`write-tests`](.claude/agents/write-tests.md) | 테스트 작성, 테스트 컨벤션(파일 위치·쿼리 우선순위·API 모킹 방식)의 기준 문서 | `*.test.js(x)`, `src/test/` — 테스트를 통과시키려고 구현 코드를 고치지 않고, 버그로 보이면 보고만 한다 | +| [`web-design`](.claude/agents/web-design.md) | 디자인·UX 검토, 신규 기능의 FE 구현 범위 검토 | 코드 대신 진단·구현안(토큰·CSS Modules 코드·breakpoint별 레이아웃)을 제시 | + +`write-tests`는 테스트 대상이 서로 독립적일 때 병렬로 실행합니다. + +- 서로 import하지 않는 대상이 **3개 이상**이면 단일 응답에서 병렬 호출하고, 1~2개면 순차 작성한다 (에이전트 cold start 비용이 시간 이득보다 크기 때문) +- 호출 전에 `vite.config.js`의 `test` 블록과 기존 테스트 예제 1개를 프롬프트에 넣어 에이전트의 중복 탐색을 줄인다 +- 스토어·훅 → 이를 쓰는 컴포넌트 순서는 유지한다 (컴포넌트 테스트가 스토어·훅 계약을 전제) + +스타일·반응형 전용 변경(`ui` 커밋)은 테스트 대상이 아니며 브라우저에서 직접 확인합니다. + +### 코드 리뷰 (`/fe-review`) + +[체크리스트](.claude/skills/fe-review/references/fe-checklist.md)는 test·lint 자동 검사와 diff 기반 수동 검토로 나뉩니다. 이번 변경에서 추가·수정된 라인만 판정하고, 기존 코드의 위반·lint 에러는 결과에서 제외합니다. + +- **반응형**: breakpoint는 `767px`·`900px`·`1279px`만 허용 — `480px` 등 비표준 값은 critical +- **스타일**: `Xxx.jsx` + `Xxx.module.css` 페어링, 전역 CSS import 금지, 색상은 `index.css` 토큰 사용 (리터럴은 다크 모드에서 전환되지 않음) +- **목 데이터**: `MOCK_*_MAP` + `// TODO: API 연동 후 제거` 표기, API 연동 후 잔존 여부 +- **인증·권한**: 비로그인 보호 기능은 페이지 이동이 아닌 로그인 모달(현재 URL 유지), 관리자 경로는 `AdminRoute`, 토큰을 Web Storage에 저장 금지 +- **API·상태**: `axios` 직접 호출 금지(`services/api.js` 인스턴스 경유), 서버 상태는 React Query, 경로는 `ROUTES` 상수 +- **접근성**: 클릭 가능한 `div`, `alt`·`aria-label` 누락, 모달 포커스 트랩(`useModalA11y`), 터치 영역 44px + +체크리스트는 도입 시 의도적인 위반(`480px`, redirect 누락)을 심은 diff로 검출 여부를 확인한 뒤 확정했습니다. + +### 훅 ([`.claude/settings.json`](.claude/settings.json)) + +| 시점 | 대상 | 동작 | +|------|------|------| +| PreToolUse | Write·Edit·MultiEdit | 파일명이 `.env`·`.env.*`이거나 `credentials`·`.secret`을 포함하면 수정 차단 (`.env.example`은 커밋 대상 템플릿이라 허용) | +| Stop | 레포 루트 | Playwright로 화면 확인 중 남은 임시 스크린샷(`*.png`·`*.jpg`) 정리 | + +--- + ## 관련 레포지토리 | 레포 | 설명 | diff --git a/docs/screenshots/artist-detail-desktop.png b/docs/screenshots/artist-detail-desktop.png index ad5118dc4f366bf2bc57a8885d53ad2f8323cf81..76bbb5354228c9ddd69b53789f545bfb30293216 100644 GIT binary patch literal 167820 zcmeFYWmFv7_bm#+NpONo5;SOVcY?dSySrO(hlC)Z0|a*n?lca;gL~sHK^p0%;r2P_ zC;#{5e!TC#F=4f)<8f&fnOrML4N`N zxrXRfAt2x)$V*FT`F%glK?|ejS$|GD@NYI*UOn-p7 zzqZyianS3*+hIw9uWaDMnZS!POrwjImf*YhX`wcpY4V)Ez8-wDy<1)f9o+iZa@wc8 z|HTKSO&dG7Mu)%hUq`eMDe}Ls5fEq)aC`pK>WM`_{_vmHhj$2wum00YL>EUu`cI4I z#sAUA!YN*ay?t@SzG)Fh7(Y-yt%hpL*~%vCp}(dU^KYL>7~MqkWD(SM^di0PG>#IY ziM3F7)Rh?{@cy~u!_Cpf1-sx^1-h}iWh>5aPP_n5J3BjZBq-SQA6O z#pkc6lUb1sq+iF>D{)*LMpPUolpKn&%(%XE^)e6p=?UY4Brgbe2*4`X5O4w1=&K$WM8?d`2@`s)i^j?3MW_1{j% z%jX^q{Tw-t#txdZqES<`8xU4K>!H_WdXhIXqc(0*QqH%A2uRUQbx2sgoIAts{x$Tm z;`6SmsyOMjWt?S^C8)cN+-~l_m>iFePrpx`9d%2EKMALweAA!x1gJ_NePq=SgI)#m zt!0MZpi~x;Ya)K{En~}cCe48!)?hJECj-7DG5=#2ewNG8D3^{pxxd^|A5_EWa^D%s z$jBJY9IWSUBqpvc1GMa^85ou1i+0S9_XScfIZCTi#GpoI|3ol!ri3km7DJ)^MWs0A zi2!oS2of1eEApg{E!y*{oIZquu?@lDomlri2X3&6`E!;Z6Nu3#qI zRMa7t)bSZwLXzJQpD zsW&gp3}Lyj>zQNl@-iT)`|v~ycK5u~Jaff!!zNA_e(dSz<>|9g1yQBSeqLoQj#6wO zFd%=v==kR67}a&R5&m#}Vc72FU#GX`v+C@#Vjly$T_x5|vmVo-@EG~ssA_k$E1x3l zfdfkli%0x-D4KhrRifeO%oLILnu!$M+4*=J_-N8UX_)pkaV9-2^w#_9*!)GEvC{KW z{go?Q#j3N3jnhLH0te~1K#z{0>;WHJ{&CCG50PwOsLYe;-Oc&~<0vtwWj2?m%?zlh zaLk~-;{L|5I1}W;56(IrKZ=qyJp}%##R5Lcl+Zb`c;&0{AAENOxeo^o27`j{x(^HT z&RchG%LIkNb6i@mnWQGiMG@%f%V8=g26v)fvjq>U-XKRFyO)>GS^Z8k7(8QzH1_UW z;tjG%&=Ck*z%5V2cNGtdB?s6UPMBcHe(w<}Cb>WjtNslVZo70dW{=~dLY$|{F2zt6O6L9pqA#)Gl<^lr7h?SnUdi zY0@kEo#ddL@VP+lC7>H2cTzXg3@JjwwD)M#Y{2s&As}p?YbX&T5U0kV>)cg${l2(C zl*@Tk{Em;+v~54$(dFrwST%?HH&w%29($Exi^NGoU7h)MWURX~HJiTs1ke?_FOcU* zNxVRQ)%#`d`SI?|^!du3V5pyj;IFkrViyn)upI>S1!sdBmm7lij%P(Zjd(Z0yXPKP z7Z-JN@mlYpyN+ z$E{i%e?X5rF0=OUUt}?%Iqa~onWzKDjI^v#H4*MiL-XM4!2wDMj+nZGT@F2=a+OkBCN=|~uk*wXdeNw{ zsRAHJ2g$-$105IL{+Y%;lG+~rXFuFWUm$;qmuv-Xr<8F57#Gxt~=p4bO*sJ%cSAc zVG6~w9NLRenbwo%bt6B=&m>HIfkRmrxi(Ovj?XtYjs;y8N4I&8*4x$3nK`6-1?%;^ zLFc6-J&}&=((|V=fj4mn7yg@dqyXi0rp59fQ%n|>q| z2S0H+Wt#jj_F3_n%-~9ow8KG3O2X~)c@6<93)>92be#TNJQpI$k+x4k{VRb&FzY!w zJHsOGiITkBUp)`r+T%O)(X^y#A{i#^!NS6#q@=V)H*?tgxw7KPRZ5R(?F}Z(tkIxQ zRMdIBVcLh{cDL8!WgJ{e@21)Rb-30H0J{_IIw}A*v~?79wCoWda8uM1GbNnvF7!FR zl&g#MOs_#Bn%uxX`0al)^*_v)U2@?Ctb0za4<(V`-ONt;czL~( zrONZ)&&&%r1{TT`i%A5HvD%8(DN@jB<9)7)ke0@B{@72h)QagT{wUgv7aGRl-zGC%R|cRb3#Eh zvef?5h}3BtoOh!4_s+f|ttTq0^YhE9cX`hN#!^xuO&S_ek826F>QT2jwK=~6m@6jQ zK!N~g7KqtV-t%qkktPH1cBmts8bXqLcgFr_{lFv$wtQfUAv2#h1%yC^;60qBok~_< z#^6>XMDgzOdKh(^ItYDcwvK5OTU+15hq$ zjvnt~s1*aGkpK1xD#{f0;BtMC;`}(ig(!A+y8+{0r4N3%HGL|)+!QhVUYBu3{0O{F zcoKaGTUYnTB(fB4k8?WhNnfZsVtp*p!3DTm@hc`+8j5$cHvWEsfil`+_W3a3 z#uwDjzCismW8 zQO!bItsdIMo_Nl%mhEGlQ)fSlPld-|Uc6g(J~&%4=1ZNfhwZvQt2Dqu8FA@XYTn1-tI}5u_b))67R&S){aFC{> zH2G#MxQ@P3L{w7H*{UP9-)T9zDSUY+YVGV)yK337#@ld{yDC)8M~t6f)eOk__Mzr{ zDFR~ZUwU&>*_MVa`^kQr4-`bc`s2msKA_h6I8%~*Iny*`83HCRQ2~q9Kdv~s23@6< zHn(&*vZx0`L!a-Ud5^njpvQdyue&6^jrQ$$$HSq4I0BPUm@;n(q`Wk@YcFG!I^;eV z^mL2k6@k(TUJ!C=Kg!b*t~G2)M#&F4QnYnhnVa-w9cw?XaP*hdy4(mj0qV`>Iqbh= zyQdSn>3hizy91`E?~U){r%;0oB3|5s`9OiYaR+RVmo104?O<|y^_Jv@%>9j}=D4Ta zO^m>moq0i*)B8(SPYPxo1M2$)4WqgYuUqb*AlK$qw=L;K%l8x=r>7R#pN8lJi zOUNsLx9*hp_4Uh)WZ2NJoY1bO%O4^qICFM`$2aIkjIv;`uvZ8E6-Aj zQ0O`i?51FhUYSC5;&ff4%W=Uai_^Z(o`HIp-ptTxCE6^;#|iv&s9#awxm@vzlT^s& z=2V|+s421d-FM7QRq9Y$Pgi@=>p?D+_Diw5pX(dlPkGN5)b>l??*y~{n+u5cVZKp&4_XAxt||uNVvBhJai_>vSJLyJdcR$BYceV0d zdQ=p(Oc^w}tg!=2Lbyq63t!yspz0Rb@&S}QmN#Tg%Rp1P(Bn&%U$39exqDK_7H&Yj2W(AzmpoVQ#?FwR{6eSaoEImfq^$~K5~l~Efe7G>GT^90-6 zfmgmmt?9(4^>yyCPq+ zRU9@)fs4eU9c-;3Z*J;PvmFcvu|b5O$RwgCobKzvrW4+2kMrYWQZAdh`-O}+f}!ir zivZ<3PXC!mfNRG^+A!6^+S(0#@2WOwI4>eFW)<`ty4gt)CDe|IBQOwao}!u(ejc?{ z6%AcekC|NQqg<1KD%jN=s=J4uEZYVNmfPRuErNzBGV1rNm1;UJCo@g_(_GX#0`fE& z)Bz9Liz_fn#SHoWe2$^U4am-3_GfIT4R4L}@6V=?e&5jRN@^QN4?5nz(k7C((+i3t zOcSo1;1Em8{_enw=?n{V_ymM;#RS5WKfpq|nGbJqQbribC8@8k4 ziN;p^#EP~$Q=#(f`jeNntl|SqtcJ5!{ZoYsHh*Rae(AQ@$Dk@B5G!UqB~mA_gqJ4| zwz@zC3{r~G^6Kok7VUqhH79SM;T(ttlQ@tj1O%MAqM(@(1i$C9kyh&MI&1F8f;ijT zx4|KmQm*h({n*nLJTX$wWUjd{Wej^SOL2Lr8Vb2Lecb*+rqya_jn^Pca(b}rQ^`C8B)x2cT*^b+G2X^>VWAY`ryX9ko|ep$7kKg za~eVNEY-EEKj>E-H#=gXMv^5sW8NQkZKC+&LYxyr>VYLSXIJ(j(fQMb2~Nr06jX9B9{JK&Lz zIg4o>q$RWyUpuKVh5v9Q5G30<9!G-^$Y69t(o6mH1?O>56Z|3HWg0}Xdp7fqHwF{Levq?w z-z)eLQ3amLH@o+uh!seFbvbQbo%B37S7?y7)T@)MKQr>%QY{NN?hc}BS$Nt+0}1@; zfgK+otB9@hGR>$Z5V2y*pMUr4{&S?7C(cI|aQK_p#1CV6$YGTY@_5b8fn%HFEeLhO zS3arfIM=T$h(7JPF&DjDij{9Dq%?1Ur^PA&PW#>h94O>kmNH~Bqrt`v=eg|~QH!U( z;VcrPqJQ?4n>g=sEa?G$2jMBg5<6q~EE~zL<2N zl3nzPN1HpV+aUu5rU~|{f@2c(%>&T258h~st+dhUUbAgu3Zg3 zOBc_5>J|%|m3w{8m-md8l*vPr-U@q#t3|mUV@jq1v?C_>BC8qQeo9uBxMpli zJ*jag|9&IJJJ7Kk7a;UlIJipnE@#~bP;aetejiazb9C4oaYCfM3Ws6Tp^xv|>jJ>p zq0i8LO_c|3v6~@s*NME)XX0)*c;0h+ztrToF7q%~e$H}MXE~fqHovx~^kmX7l&7~e z!9Uyr}=S5Nc$m zKr3W!lrE|x#Xh{?Y10Mm?w*S3MrZ*X_yW~?msd+kbKlf__%7H8^<2zpIXOPpFNAWR zheuIQt_7{Ath!2}Y+bO4nv(ZJ`%)1X$lL3xgC|zNb82g=iy(L^-2Q6Zw%9)2cOCj? zN3}~_xxQrTp&R;Cpj~-3-$xv5hJ$aOAnfXJVP%SK*}+w!T6~}=L{o+ctgCwq%DXr^ zGi(XjS@9kG(`(e-|Ch)XazsW*HABY?T6UqZZ4w zUj-U`J>JkabdpID4~0jY-Hj3@UX{;SEg#73M?MGP@zEO!GINO%T zwL;&mnQh~g{o6GvG&TX3GROOgyI++TE4LuZW=XI&ox|GL!P(~;!POD_(ws*)n);TM z`+VCnRT#b2k0a)_)=K1X0ehHwZt3cRO@%(KmY0U?Gl)I(!jW8;*O74Rr6-Qs*DoD2DllT2r%s7DW4xX@^ z$($NQthCku_gpGm?Hxl#i!kPfpuI6;7o7)N!M7`Wk(Q#9UEX&$Pft_2p<9V*%^)4J z7ZR&?g|gc222NuSw$As*&oyFO9bO%9aAi3qW_VKl+{SmbT6`gKw>={iPZn72r-SSk zbnMHEy-+7D!Ij0*S-~!RK)1MkFdr9gXi_0^^5BA%`+)m zu-a>lnOR-Mg=C3YO(0#axpaav*VzJ=f`)|&7@Gjs1~C*R=5#oxG^fzHS4E2SCQP?h zKlBXTQfts~-dcz);wHA^_CuBGAcS@kzD0Q~j881N$lBha06R~|Y;&r{-9n)2QRKWX z6_sP^Tu;05JH9LCSjn!RQ0O+7US? zmf!V6i8^$F+_h^;)VnuJ#PRwf^!l`>hHAwZ^m`ec;^?yBLv9IZ5JpTqIZ@|W9^a|~ zu31$tkNB25=U;q2P#jxy%N(M)JL}#*pP89|`#BM^9j81@Z70k$PLzmK7vss0F(FUN z{nBlH*oQf|l{0h}HX-)p@w5=5;L1)K)O? zY1rvJ9JM!AC=w-51RP2@?H$9pXv%;?j+?oqwGp!2Tr{dedZF$}{GBcoYNL=ru$HX4 zIR(`t;2;QFJ6&CwpyuJD{V%2pp@xP;P+N}Iopli~?8LLR8+&mth`CPf6qeGt^t_ai zAD2HAaVri6H-E=2-l7q*(_K<{xdQ&#C2V{NokM|?#s3Dv@b&dy$hLl_Be_9Pmm?#ZBII*oigJ;dAR|%f((V{nP4k1SR{eTOW zA4ef4m9|AZzAILjCardHtx&OpTub(3wamg&rO@kIbhgy4zgeFTX49xjBNXf9n)K(5 z{hj14-^7AftgJ_t4u4NHIznr8*Zq2iZ!tO0e~(D%eB=F0I_p$BE-ctd>b?;_edTk7t_^IQM6+p&$8F__wm)P&}QLZ~nYT*a--02Exvs3qEZR5TpcO4ram` zoXTZ3ZJ_1Q67|*b>8T{o5FF!WvKZF|4IYzj=uJ%4oa=)8O6%(KtxrkLlU_rQc}~JL zmF#J{E3Q@EFSC|J1&%1iUz*pcD=)uS_w)q-)J$`4KC)_?Ds_L6z{eca0Cwt_>I!PizXy?J+oR_ zo{*puM6^@iUvxk_=js|c%~m)hndw{)eGY~5U|{E#^?gGSH|SFc4}?=rq2>Qg56)o{>=rvg1St@gROqxP3J|B`wC&8#>r69*{xp^=vn0O zpsXK9c;KO8!K`;-^Y1+p0bb2MJUm3d6bB4|V2}gXww;ibdwU0`@7(S|znH3xTk6yp z)mAU?V$L%sqLbVv53X5RSsCAcyJX!>Lb3Z}_jEISgi}GWLUDRDm8kltyi;UmFm0Fm z#yLkstaZ+yj^20E1j`g+wbkB{kkTC%Up#)eKd!@dSw>$GQaw0UF3&uxmnU@lW^O@6 z#EKVS_H0sVSrfsnK9j}TmegioS$z%;U5+4wp@AFpLY41hJdiiJ~(Sh%|#z@c>w2b(kmBS z%tMug$d8=&_h*kiA{K%%{@O`sGS1J>jo22aaqH$zwsA694LZG+vU5z@ythoVove`}kf(r-N$v-*9dG?uldI@OytT)6e336kr# z{XQqhcy0;$Ipq|*5qJTQAyD)5Uug_o;DwiV1Dg2=RQRvNO^N^V83940-~;-~Z~ zy$Aq+b9Jg*$l-Z>+`gy(RqY6B@+^PQqlInMN0_vU*#lqJ4F zsj|93Y<<`dtxsW1a{G^tghvvtW8itgR{}AP{#Ug*o{H1v-7_Ry$=KLtRPD9GLUxi) zxt8ga>u&ILHnB{A)8Kqpst;{W^;H$!eps0tbNvA1>wiXD}RMlF0cqEVT_h88F@g zc%2LI3NYWmq8<}m=bZ(RcywS~lI2nXka$I%g^M~77m`>~XP&oV##d3>)i@cs0qHk) zmSgp-_sdQtZFpyGQs)Cwf83rS*5z6Ta4I4=b$@alQ)eCTzvXM}IRiyHM+2n%^6xJ8 z_8h?`{GvLtzE69;C;Jn95jSUvS3hRD{+!2vJ6zL985M0=G0bGjrJ)FFy$@d%jgwbG z)N5us5J_hK+ktqCx~17!E+402<<{inSs&JOmbv6H8-`>X608o}eLjOxo@-{~#G6|ieWV4-uO7p~( z@t?sJ|HO*9zMINu=IZKdYD%pQOiu~Iws5w)2t9+H-exCVK2f7%z?Colm>(+}(6CH7wO|Xqe8&HhmC&xQuft%lLYbuaN6`-+-FNUB)cn$t z-mmPb!F08YH z*}~|D7q0(!+E4C)Swgg)o0|)P1TeX9QH|(xBuI#;?ai;PDNPK1LsTzn#4y(T+1MDO z>9dwKeoqvbv}fdEreknh$MS`JWlR`MT$OZItemqPw{yJj!hryS^1uZ=B$!`W;7Sv` z@MvQGh|8tlj7SL~|3vFoXl2bzLVPwo$;6P$?W_>KB^Q7n(kA zgj7hX*U2d$wRB=n+GHIMDPzqM<$RlqM+@AgK{qoS5zo^zV);JHz>whO78>u#I!Twhl;GXrkp}{M5 z|3k9YPf79u>#rXCef+49|c27y1L*oT2`YPrdg=s%fAACxcb* zCjXGrbEpw6dI4|ttMYKq<#}y?o}7@G+YrHy_KUznjKSaUb|Y{ygYQoAKtV&?|Kr7o6>MSD0lP;J zcVdtug5<=b(8v1>8tirUf&R$Lo$jZ-S;Aq9aroGJtI%zzc=C@HJdu`sD$|Vcs$@`d|OV^_PPff z%_E%ux*ry~86=wW-)GHQ(H0$OSg7Zad$-M-RpsO!Cy6jbDtvpKBJ3pZ zp$^eExpAW5qdkwhJ?XYD71882+pmCIvU|Y#yq|@q2t*B1eInNpOI;mR$yX?}X-R#wNg!v&@TPZ18odZEw6#c<*h!KuI&o$yWk>DL zN5S*Z_M3=#T>R-Vjf)y(Ix{V(ZfY1+LRD6cRFl4DzVs&mb3smTL)SsjDW1TwOCHZ+ zxtHX%2SA}f*7;mYMWMop2jd-h^QV+>?N^f!@d?eL^r7ezhIC*GHhgVsM{vE zn#mAhJ8;9GpmO`V+WXu^hOQ+FOp2v2zsy{_o|un~E?Czu zvykDUN+NI_0Vb^L{!G#%Y9Hxs(q6M`6uYAHgURJIn}*Z67idk%h85D%>NqaBEhoSQ;UjO)2b*qW?96r(+`dYqk|)o<>enI}MqIJG zln3(CAITmKJFn2h9i!kM%Sa+YF7!10e$mzOX~-93MGi(OU#XWx-)BYqn+tGq`%^ZQ zPjSTD&D{_E1V)Q}&ye5Ux9N;s7!#KL8V5sYNqbO_S^>Y&g6=RNX|87ytEPNZ>ny3& zb}ws}wYh4K1HT^wK^#lN1xw3?pU=w+5GW_L#`g(iD#H{=JiX{zr#3!sjV6w&tBc@R z%sx!q0|jthTgf4wMdJ0CeReAM+V-L~9rFS6N8J-(a!QXkyrjoM21m$+bQ+=1_#ZLQ9br z?WQNKLbifSY{TRyD$roW?pb_ksJu3D{xShrP8BTuOpcLiJtWxPXdkkQbV09@O=^^5 zYjC*rc+7m6D%m6C+pylsqGlc+*E@~4rI!^Tl+dX&>1ho^*{<9VG8xEoGFwZx(fg2s z$?>WIC-MC!y5p7~xb$Y*^ zIkU1LU9;)EPf56TAUV-!7XHtk0&^aF9FN&P@`^(B$h&u+1v28)1(2zPxCNn}Rj`{5tWcq?f4#ivk%a5it&T@JS81A;L z-5kNi$AftDzL>^Cq$qVp!V_{265SJH4OYZ)o%Vue(=@cc6PsE?&LRGT8;<5;i`@Y= zJchJxX>jDcjbc{d8#3h~k%L1ng(j%DI=Zwy== zrfh_d$b|{9<+t^3q-d8(^>0Qc@K-&@U(vTZ_90UyZ)uhqfHerAqq=SbWLQ<1P0~tA znPop?qHHQpm1*qcZ^kHM&ZLwPkjo9Eiq>M$s;spXQ}u@3dp-jz(A`btyJ?8~JCBql zO$+Jc2QAoiS%uuZkw4Vgaxo*dg0*Yfzt`(}?;!ef4$yv>S@>n%`?*X7PjYKUck%Wu zBa7+4Cf_F2bk~M6@p8fRf$;$!5kKV3?;CsOjmS}*iXM!G#o2&1NBnj<=7>5ru$kL- zv~I*;m>BffnBfV<;spwC>MMi7o-!*7V9m~evj;BdhaQ+w+fHxZU-aBD1(}kEfuUBj zIBi%iPjwxzRuz)8M`U77%j6R7)%KEti+=%rNK#o|E9nw$ov9Hz?(-D#3VpkLYGdXT zFP9DLk~HH?Fs$$T~|&^IkMs2-GxHcWI=E;awK_Jo+ALPE3~)S^+@ z6cMgx(1#cTapI7o%1jB(uadZsvq^j<;|zaCm1#|>s>Kg2^jOgLHYzjm?c!dsyThk* zC0}fL5=T|o?Krx5*v3k`?;DRjrFs@d?X)22o#kg5(5&=VL%mp|pa+ZP4vO@dTyezD zq~j)kg1Q{~zWXN?b`KPc*1f<=+~rjI@oD|%@AQll5gCCICv@x~C51L!Sp< zHN84Zf>yD^+-|DrOXq4PDE$gjzVskwq90R*@b=irz3&FXyiL=`-9XSo5>oOfhp&HZ z1SRC06fJ9QZcdo`4L{k{>g220*;UEfr*$K+5h{2KJYV#u_rbn;z~jsrfYp+K_luTh_Rwfta`qS%v2U_ zgYV9G#}L%Pd{wgXr5TdBV=3=&@ntEfzkStymEV;b-<3H6(LGb_?-tz#UG~l(rnFYd z5XTQjM+<&sdjHaFtp3C3NQpy9NFg}|$1%Ua%ygke6{L_>SWT;exdtJF;=>F{2+}#D zB$fmC8+ z(H$Zc{hd4v1&z60r^+O{q!u&etQa~Dag=PlH) zU2PCqbnPK_);WnU7>XZWt6(y{i?``mi++8h}_2jS8@+&oc`j&q&bb)p!Drr?5M?FVRZTAy7v3t+kNe&@jT&+ipu!4B2H`&;4bA;4uPhyek zJl}Ng-FsFIsf@<~wC&t*0O4{+X3BGYo$_r4Jqp4O<)lmtoK8SwIu_@nB0ogCWP2{s z)JkOYvrj*OKkcM6Voz9i=kclz3FXThFA~Z0%2tuh9Ts{}-7AkoWQGEW0ztWRdr}0- zOCe4c$aBk)sQX|MTvzdL29+6dyY8F_`c(HPA9mw(1IdK9ND%94!16Cv<8QPbX{X3e zyAN<@x}=l|F$bfExRZJWzEa)x>0Z@O6^Qm9Gag#C@Lxi4!d=~IG+^cB6on^>i35y@ zi1K!{jByaGM#094^h2YZ$1i4pSTn-vKyT8-q-Kr?B)})fz3MELxxz_(yH~*T6Wxl& zuC~3t>U^COlV8Y`u!v6?*81L>oo2u0*yFGTX2LAWP`6r4vh8u(j_>u4`yk}Y({%;W=1kf_d$ftJ@NZzd0awP4dLj^s`3^ zzsWCX8y#MVo89tItW5IzAZwP1Iucug{lT)aa4^OK1(;ZBAbTYoN*HcAAn5Gg6OsDG z;N*Q_;reU)&UC#xj^}m<&6?GBKBMoFbglK>U$tS@)wgs~kX5zLGxz|ONDRc(gmu~$ z^tLPsAr(Z62$FK&b?_NKdFl2m%)a=Jr`3twOPcBbN!nhWjei0V!N`G@EL~|@)iBM8 zR5nwE$qVpXjgG~OmIL|iRypJ|(~x@cpN@h?G8vUJYV@=0aQGls~4E~V~ae#HU1PUM^~c>sFp?Bka3 z&GcJl9QiM~*ccc|dpp{{`?uV&y{x(aFgipXVn@Z?N}I(_elYGpEH~J(bU?drWqrY< z?smw`o+j^!?dI@;|Ie1GRHhGptZUe;+9iBHyo#nQOnVoIbWB`+yqMlZ24+UX5k}5U z{o2GmIK%KQO2J2qaIlGt2~0zFQU`@=hfLy4<2E_*ZD zc>AJzTs{#H?NFs+Z5s2t-(V8`vrR%00Tf>J^aA-;^yA1XZ&zJZ3+ZbP%PtX!4Fj~k zI^%m24ub(izb*jv{l}Wa)_yc2c2nqapGg8l3A$<>ZfjWYssXfXxWQIvn1hmAhIG^7 zYT(J zl4)C&2^YpH)mVOV+_p&#a-CLhDOcH|gM6AEpcG=Kmy5N*ZQ3a_q)HPAlue2%qndpk zcQU17t53aPywVY!b)%Q`L5)ux~@-&*+iaxdC8xnNzOIj6q1qbP`4aR6wXn2We$6VD{+rU zQ4^>>Vm?^fN%3;#n}>D&!9L>;e2f{8>Oj?2R$7Z7IS0lve@#t94%gzqXaf4!>+Wm1 zkK48W?^!30MK8Jwx%IMNM^XbX!bQXelzaJ5(5gmb0Vy!Qw!(wRK^B@P7{T)ZvLVOa z9xzqz=Bt@=Z~QO(iMJ6_Ul!#!qjgcVyFAF=Yq21IrF6O?6tk$}PyG@3=56l;d&A+T z{9~G$EA6ICW1)?g`aRlDqc&vB?5r0%Wp|xkIRyY#X<(%o3O-fReLau%Y`1OIJ&nP& zqX6z(-a6jTCIcGQG%@KijP^r<7$LZ|lQ37sfRMF_$CKZ;OA@E0YzrnDS}OC2^D!vz zX&UbjGK&*w+;!gZiU2>;vid1g8tO+PlvWVC+~dxpE0TTkLoQXXl7h_q(M_42x&7Dy zIaYCxw00me%hmjh*hx>@TsVaG+fTROVqO6ED{>0cxkD2JDsNzmNK5d6O4>rwCR9uXg8ZNhS%jwb&Ni>_WzhwQQF@_i=!hid}ri@zvAta?I z_5V4}rF`?D43x!KJAHM|+jiUkgtLhsv>MA6?ipa6k&QxPD-6g%Jt*;I9)M4JzWX>h>1+b z2QJ;<$zobL@|VMB(4HXT6U&{Kf#wAUs_Jf>AAD)`T&M{6u(t19E&WAnJ@=Ok!86b) zu5kTlzn@Y$ZIzKKi)=o80iIcdxO!tLynMX%ea*h8j? zrkcCb?AhkeX?!;yk#^6(VI(O56u0^CT(3HCSkI-fE9PZb*UcF((0E&-*l;!+?c~JJy|QAZVVBJ7-7sAmk`JPa?HVERI@FG*Q{`)oqt2-9j#Z(cYgeY zjnDoVk1Yu^ox}V*{mua|mJHhy;$G^WGUh!g;|1qvnHx{QN)k+VJ@b2qVHX@rM*etN#hNO>bcwaXD}Bd-}4a2{}i;cwrk=|zIv6VX40u< zL8igF=xWf;j5tz zq$Tln+jmiepu$H0qo_8AzlxPc_oienE3W5r2czBn$B;W7jrBS&Be%<7f<2@zbyL)# zs}eH3cv@Pp_(swc&0>v0_ck9fVG8YyT_?Xo*vc5*4~^fBZ@=AqEUz%t&@rO5!uhCU z1L2l`17nXan9F0)k{ zkYpI0bH3y4@#6Y#?l0U=*5I)K-p3!(ci$PKx5U4b9Nl<)5EAsRwCNGw#*5Tj$9x^7 zM-Yp=%PdJx%A&nCBZWWLBgs;h!Tmu&?UQUp6m2aM1=*~4I1OdkrwHj&^4Ly3?L|Gr zzTeUBbs+^mw&VZ&XqC<5^o_;u$qwKuTV&D%LXNScjAK2{Uzvn%ZnBW!Q^8~Hjc8qd zO;Q?bnkxkv?KnUJp&gu(X_5#=!P=utgOw zXiJ`pM-OZfAH~-6FVL&IGj4=0KO?ekEZu_uDzBAP_tgBz$6eDGRb5 zQqaGAs|vcoIYN>yD!VRogd%rB{4u2Ey{-(DmGrL^FbX*q@bTMgF)V+c$$Sfn%kTY+ zP`&U9f{U;dKelNJD|<1PN)u)@y1>`3^%b{MRQbZyMAV$}I@!O=S^qp37&S0c>@cKz7gp7s*5v_1CSgF^fVtVjf<%ZKE<`UM=B}*K$m78 z*mS|x>Piq)Lh-B!M%Shd5!L*azV(_Uy<*FoCUAyIA-bZdk`tMXP74@4$}S0e7bzz_ zBTcS=9!tZnCpR2Mj|u+aFUF$cvaHkC`75+%;&d6f8Y}REPU+o?Cn@fq=V8ECsMrg7 z8s8iGYjCBVZ-jG8 z{N6a|oBjU!ZAdz@^zswbQL2G^BGXWPLB@?&JYfl!O@#? z#UH+ll4xL}RkFeGl0$hK7)42iBrgK>P9Jb^qysRR5aUiLrj8oDD>fgBi#E(K9RiJH z$*9&e-XUVD$22|-2b|y7kn?CKW1Oy`&@U?z8ANdkQ|wsv5=Xqp!w|~w(!$v2S*wAA z`ZicW;(%&(&sZCeB#w!Gn6wZ~Q(q68B zaT4{5q6SF^M??n=zEQfD1kSrGu+WV1owOR+^apA6tWg!C&~>nMO$AxhiiuZj2Nq%q zQlShE@k?U(8T#NdjsP}MFT|=Q8|RKq9I4K=>^LL4`qTTkHPtv2<>Q{3-PD?U;$%>?RMhyQkHE{4PFNj-YG6I_`JGpYx)ly33 z5^EYTG6asPf%##gWS+zcI#>+9N@F12=|h+FODE)ooD5w1*N*7=t#OPXq>LvGYnrsm ztEn~@!4h70@%leRPnx?xEJA77=kQ=Cq9KFAG%(RbplDe?Y+L~xDp(_yyi%2HwE9Kb zHJ?p$sA4rr5~C_%lMEKy1Coj*CJk)ZMJ5rOzz$rw09IQN;!zUTz%UZ@Qj^UJ9Mf%B zF~GIfK$a&l?xYecHn^7=9VZi3ty_OF)pZ&pYAG=e;rsk_E6`8kuZ5 zp8_6`MX-`aWfH^upd>m?3c>6YxnpQ&Xy*L}a!CTg!vw3;5{Ml39Bv2>igBl`jGqJ! zxkMyR10u9mRO@!4)~A8m)%Yit3>KddP1tfYaL_}DBNB5W|5ZGYu$D#`rngGMXlfi> z#t|SEl}ea06U3oM%Zya#TK371kUhmIP>cI-_`rF_u>dRSm92i`NNet9DkvhhFd}10 zQs6|GAr=2px%o*Xm$j8w8Fxl#kVG0-+0;~8k`GPoiPhRtsDg+phn31Dt_2wTkE^z3 zig^3F_l;7slUjRgkF+|Zy6^X)PWq)2{)!&T1RrJ5ML9}@Hh((rfT3gowtwOHcYr8l zHMPIdH5h>*@`wcFErT{z48LN#M@q^pP$Le9=;EN?;4TU*d8(DTM%}B9AWLxl1Z0IL zx*Eh{PzlQih*9?CVbr(_Orlty# zl>3xci)v-X^v)8GR~UV8Q}n=JiGh&*lwGXG;r_+G*MK8;agCz{s}q2|K-gF@d3%+s z-;l_o{DemrlJl@kxE}-v?@tfZRvOQV?vHq$u{NNtN|0NCYAvExO7dU6tIh)sMkPd~ zi3Dq-m7?r)y)+;hqlsr_z7l0F` zq@?*A8aiD4^frvr`aESU1 zI7F*o6c*g*i@PIDOTt9RbyHo5S=|y{1&xeS7lkQZv0m4RUZhpII5aMVL)sC+2vzsM zU&VvwRe%$|8<0NcVF51V2oMH|M%lRCOHt5Y^;D{(dY^%BrYQKHbk7W5($=fWkTLS!Tw7eP`^m7 z1hHmpk?hTlH&FEiDlV*x1Q{zhA#O3Rs9g1{)x9`YPyiS-3@RfzIK}Ajz*NtP2)0>? zEQ!UYZSZ#r$Zh)?Tm*}6CAfm3FHIn+dw~S*GOUY6m!*i5gX)(=xXXGtT%)Q|SUxN( zQ&p#i>15SROgu*v;t2_!3>T`LHOwS5RX8$Bi}WH_$(tgWl|&;H zuiNklJmFaUt9wkvcZGZnzz96lQC?9Yj@qy_SMkN9iuu;R#EvhItG3L=p$oNq!R7r{ozYs?Val z;?RJSpe4cAIaXp&Y7lJlrl~MhKRj)z_A%9?QXVwtq@VPIk`Wm%0HjaIo3b3-H+$u6 z;-OTvo2p!7u5NMQP%uuc+l~PHZ&Gm$g<2c}jns-h)VsWkWp^w!4HOBA&Cvu>(Oe&5 z?5-(C03#GNSyvIjW=$Ku_;a}W)j4Ubz9G`LV%-}=Q*VbJDpv!m&So8p<$aXC09H2x zkEyJF#RDlk(doPth5*S=bi@>mP0Edc3KCB_YO_ogwv)Cth;}pRL04_F*{!|?76Pam zSgF%=ehnH}>#pv_(7?!8tww}RMF#8rCX8B_|EQZn^Mxp*Up+WHp!=rBp`kF+icc)Y zp!J5a&$fGiA_dCFBFY-DDk7I4SO(R@U0^J*xxb9&P+*IKmp>7g!tQEK7mR6yK5)Rb80>NbiXbCu}K(diPrfG42koeo^8~_(Z%p3HRgwavejppx|4rEmUth zL$MOKtbqf<)h;iL^)->k6(cnQl)MJPdZ*aYq+0y}gM;#XRq298zuuC9qidjev7l75 zRb4_diesGy(Y`N;5In5yYf3iIl&?sXF`e`X}>6e%&iMEsSXlLGcI7ziZj*=Z*Zxi5{_zwRG2i;ZU)oGngbz= zU?J6AI1QKt42%E(5CBO;K~x-w+;!KymI>BZWZFDN`Ha;_EJFsP1X4CNk8Dm9MhKBm zzc|+1VO;iYB&uJzqa~6*ED2Q=bDM@1sMJbFp zBjt3B0l`geIp|isN+5m37>z<$)zcx;SM?h3;AJ61_maT*p>#3Vy5UM#skE`ygYYl} zbg(|IfI<$oJ~WY-b0GN%G$hnb-Sf)tYK=xt=lPDyz@`QaG17c9gja;|CR-_<6280K zike8fIxmW3HPsa;B!V!Xg#W^U6uk_pfpOf(wcd>Tf;(377KOfpAdYM|9gE}9G(B4J z8$`q&?ux8 zLrktXqPFuh6XHwWiWb0by1@}@CIK2MPD9tnGAdqmyflgu<48R-!`p*|m1<-gfhbj{ z30;-0cMsRVAxBNyNF$rW4=aaIwFIzP{i4)IL8tSw0056lYxl^zI`9h9d#Nl3;wxM4 zh5f>+qqt=r0!@@*G(kD-{ldQ7m1@7>i`@200!c*)U=*y;!b52#c{rNY!XoOGuwzk+ zSH<|;FEJj83Yi2VR{`E%Rs9lqHD|%2zw1g*x%QF8t(Xi}qVlZ7W&w=VV5Z6mX^p@n zsanNG*Vyr-QT+jfkJ6~GRuYxgOU8)HCFD(8i-cqpSI{v)gx@@&c((!O6(kmV0Bd^{ z=%is;R`|AG35Hc_+IX;%8DtDjR0lcn*m5_x8#?m29Dio@OT2ibya>nC!zAEM!EYAw z0eJ)mLo*-te;oVGrm20))WFg5SfhuLK`N`UD6t_FZziz+OK@bjuzE=H5OhwjdVrP# zP;FAE+C%EXD1&g-HLzCKA;Q;u#G*nDDo)u(DG6Z2U(H?u12qj8X;iL0U>PzP5fs$< zdVi5I5hV`>AK_6Gy|d(olix{R-jMch;GSVU9I9kh>!!e_;?pdEo&6XBI7)>3j#&1B zbpArYdZ!q15U9FF5}Frm>hY&gP3a>}2(CDWfksqgiX)b{#SP^*O6#G6I{rw?Id(s0 zSw=HJkGU>)4{PVl>SjdAHGZIKS2eHdj*wO@>w+tZ3SJ1(eTbrr)v)wsVWWRJq&gos z5rdX6P&1@oH-}e&12Om+$!~hB8QY=}u_&Y)HoolCiCC%apjLL;MK!PzqpQQBvOx^) z`cSGu5BDwZd9O39KW=tIno`{_?DBu%oH+4I~!N+2)p!mnS2#{P| zA%hV(L`(a17ZEEh`LEb;O{rRn6{M2-jzFcADm7A`p^tgB5{wN_Ba%TTZeEGHra|-& zX!kd7|GM{7`L~wP?ylt_&}Gg6R+|A>tjLlzbi$W6HdT)Scb(it2|mqhvgt}|UYUag zq_;sq3rECQ11?zCG9%TP{L6@{hEZ^-$tVph4MtYUauQk(!2{K;f2tchFkDFa)ev6!#cS?VoF!cap!eea#lZkXvn3ri*F35>Wb}ZQ z*S?z>r9#p;Y9b6x$P9_&JzjJq(!t;fYY)b`jNU;UxTH}*qacCG3x)0Dz&IeWYQP%b z*ys~$0{T@T2~=E4%H%SgmYk{CZ>A-x<1wKob5&Q@FqcM&3zLvXO+h*}o9Z5+sWjC(H8&7o(& z)GrSF06-j4zFTnUa}(48CSR3iLiiKr1!0|IWN6s~j^)kl%g}u&??k_ilI33Xi6ifV zcy~$Q{e!gvE5tzxj?Iy9|6bOK9~Q?ca}7>qg!zw@BV&fyK4!z?A{&Nm4{N8|Vksw@ zz|tWTan2Zr`A$@1p#kh`lSKUzInu-#0jfj%YZ1|2tRQuEFIAzkDmzB;T!+Bj8s}8Q z-gCT;3T?TXTkkROdiT;T%p6J+692SFFenxeYEKet%Z(&05*#O6#O)|mdfSO{Pc*S& zsVvObT~@sMm_7ANY%sF8-gOtSvMid>EJ7t74&#g$(*E+FG>MHyVLODknuu^lQD79P zo7A{GFGOnLI(x*e?Hyn4FSW0nE%?b2!F(o_{nzVma<>si{9_T$A#ocSv+fyB0u#5C zeZpJl1gSH+65oR;cGyayuKhPJFcc7wn4BGgx9Il+OK7SVX&x!})W?1aNS zVoAgJy>Y=X_Un;gB|7zmz`o9|Pf>Q1_F|q2myRfE(d9%}ML2`tH0y$ z^2W1Hs)mO*YgCUO{3$ zRDS$&vrPC?X~ZZHaXd_CnL=fnI^kJV+5uSJ7B_;wk+6myiM@WVm=#Cch$*K)xvw7AdiBqLBLBjh#dkj>E7z6QZbUUecFKgzw28TG zx2)fLr^ZiwG}LcuZycazDC2pL)%=cAM;Tt);ZatM@S=}70a)F`$`PVZ##kRIZbbHg zl}gAEQ1ycYaUmhI2nA=v_@R&vwcSHvo=+JNf&>Yy7OyUVbP=il zYhV;V3u!b^#Hs-6r??R9rs$xnK{U~*o+AaYDSd;+mj4>8=KQr$8;mA>l$MMjsv$f3EISm(hA zj&L^!VBN=okvh^SmH<}$R966((~cb=^$S#kq!+tNB&jS?NNR)->qQy7{Ng=9LKeXy z%4=u@2w)U_|7bdx`IW$8jf92Yp|O$h=tIXps|}At=3f%rR(vVy*A|!5(p$8}rYO#c zfBwkZa9UuF(Di5Y`bQBLz!+zp;1>55h|n=C+XJCVpeu)9X=V`N1F@aoC4J%R??8-9 zGFaZis&~x*W271AtUn|>XvM7RNBEDB{)XKp;+EwBC6t}z%qv{CY@d%`jJ4aV#J~0J?RkAiG`y= zM`nO~%Vg78zd6NKpgA$m#q5tHiz+mc2#CfZbP)`7;j3t0e3Q!FQn6IXm-2m9p}**; zU;A#!WU|OJ$vQ3>rg_x5=&Ib80RvX28`)Xou)a!e`HrS#~lY-E5dUox1cbR%lVr;qk2NVw&#eXAOR?i=Es&y$MW7W4#+j zC`LA-Rb@Ct%!I0b5lUj;PEHyRTEYm+P7+rkyFh$`<*#oTRxfqF1ax(xM|1e)T>WA`_ewwX-Mxq_K&HpjeS z>Hf3jaRz6ZyJP#ccnl&m1M)Cw7C&a`dKsWfxZaV$8O?PIyzq!8gC#%M7noRd_w=!- zK9ThGBra}+KO}Go{B5lIm&2+lt4aIYSQ9P+dJpyA{%HRL&xCrSy$bdEL-lo49SVk< z8p1vF-S<@AZI2*em{Y~}NlcMA=->#W9#*&Fo{~0>2#*dVjwi!G9O*-PFRH1Q)7m3g zmZ|;^kC+4w=@W|EW8fu+V`f;*p_JPgkzf+|LD5M{f0Z4#C8uiIV36`5@jO)V6_AMJ zXI(2f2LhPh0;HN(P5UsV821PvTn1OtONC^`$6E-jD>XU_Us08S87pU~5wqH?6JF7I? zSD#v6sm7$TS1`H~%tjiyznLV?uqnHah|LhO-GSLCWl_G`E>!ligqW?EkfP&<#o*2u z_F}-Eg<00Iga!Zr5CBO;K~$NC%%>1rY#=nY{+=vWN{W~-|Eq6spQAo=ICY`H>2_w~IJ!OV+%xEQ^D+C=?a`+n#k`IE@~7x-Zq{_R z+jQ7I)9(EfO?Sp?H;((!S?-!?I=X27OC`DH8fibZK=saoBu!Xwj?T2ZL1O*rqD=Lo zc%fN$q?oKZ87VD7z2C4KMrP4w}W)vf`_rEdl5;HJ27HyKCt9Wf|m@twU(PLBAz%;cAVS3MDJDG|A-G%h4?RB3&xPpI&c z(!8t0Bd!4i3lAjGz23azI5bKFg(qINmajD(o%rV;H6OiS&)tu2`t{YhsS~E&`Wrl| ziMnUTw@kj~!n(OL+yCE9UAI2eeAqsdEVdXn>LA!3i@@jY#u)m+`Clt5_c%EG4r5gIy!l^MmDHdN4z#u$h+@t|I- zK?6q_b<2#@-!ALLnD*y<%O=I;UUAJliLQF_GlV1CWl=dNa;K>G(PKrNF$+VfXcY@Z zM3~QbVam0#F z_r+jQ2J<9{dYl+@5{xQ&n+6;9u;yse*mT6n9x4A>9{d)n%Al%Wv9xQaXcQ$}d)G|G ze-H;jGz>zLwE#AJC@(UcCJYHL!{AZY+$J@6Zw}}X=z+vnL`Zi9k zBh|fq)askJ2#6czs1TdUroZEEmu2$*-K9Uc^`3Gwg!8KWui$= z+z_LZlgnVcC#B9Ao2_fg2xF`Qhn)O48dyG}1R&D3-)1DjLGc9qt`Ds*#R!ZHVEvIm z-jI~R!mIBg0}Z=uLx1-^_#E5qd-Bzl`=3qKuX`w8==1EZy^lDKROmAD#oqruKjzdU z>E`HDjwr2O-)~N(>)N{;_up;w$%l)MR5Me(P1P?oBiHXdxBJe=dhUJ#nJK*bE*fa? zK>d^r(fyPWBxYEJGERqh&kKo}cG5D^#F_N8G*Q+VIDuHg8)9LSl%+*yn`J>em!Pb9TW^6y+L`NYaPN&}16n@LQ#V zJH6^)w<$F=t{&#k^FWtoZC<^q6L@IymZnQ}F z?lcjO7M)?q$XgK_d1=|}OEc@Plc+0Moq^3Pf}Cx(wX@@VZJ0eDEN`x1!aX}?$7W$z z4Vrsd2u&N$0e=Ln(aVi82G-xgL2TD8UcS1DlsWq&mRi12|U{WZ1&`N4?W3!&>Z zmK+J<{Zl*T>olcgqtIjvp+1lDF&ndnaA>bE;iO zop?y+)ps`Tvy&;6p8KB0%}uR8`BK*{5Bf-uSJlw6Kw;wSkK%)Fqo=TOd!5U%splDzyXdSiiHXZ~VB`~y49jE&C z7{V4{S6At-B{m+?S9k$e$^1(~b3ncJ_vZ8cB`&DMX|&8d>#f7An0#G<>c}oftOX|G zIv*~=j+^ByjwMCQGQncaX0ynb-;#-#TWblMj_k%@D^poU|~--0{f`X6ESQfU6vJ!C9v!C0;$MHP_Nkf1hT^JqW54{V?D&?AKd|kwJ@-B}_G>3i`ty%EuDm@nX4KfPe5(J2xAJc- z@&j8|*G&($eDkw?kG)h{VO(U(%}_`8hVTD=@^u$+m(FYFHyyI~lz(1C&BAqCZq{`8 zJ{_0e5)wnEWwiZ4rZCccGm?Z}h*0#&qtb&@@sc(qrkjqWDi_Czx>_yJs<&)wuIWrt zzoD@An}qsFR1)HgF^)I0=SVM6NfFPNd=5e|_st!5YBlydR^>&n>`1i65*!v+OrIfv zalnP;1(&&y4R0?c56<5QgYeP|V=!`ry{?cND+>TfPSP4+aHFjzsat@n{(gwrNF^HI zdet0oHJg8l-{!VTr9Rv6TM$;6!o*)goN%KrLdvvWx96CtS*H^kxgF8&a&1hJX4xQW zZqD^qpCVpxLb%c0<6 zDOI%nsU(uols3|=<7`Gcij97V$>1;kAv|p+>6MNUA_tSU^*4{231=fSah%bUWvxB? z=RNm5J^FJ;kN?G2t+tNUpZvbHsgoWlt=X{l)boqW*0i4Y`LSmm-}~?jYd?R1veFeb z{F2`O&VSv5V$k>aOI_E_7j|D>|BXvNCf7;k_M_E#gNB8csGULo7gqL z`es;NQh^+xu-niJ=6+uzi9;I};4AU0&%DLoP@lEYZa#PWjc${-tgO zYWVHTbLq<_^m5B8^0X!EUtmL^m2VMwvx2#q7kQ!CLeOG|ujL9+T*4@4Sw*&_7Ej0_ z$KmV_2Yei zm>HQZ(G<)&-LX0|m&G9MO24qdpWm$@2gg!Cd7H=Pn~>#Hyp9O%e{naEVfv@*XP5Wg z_y7ur=DWU*^y{9!hB{OzA=#3jBDkr6s^~~>O(!2Q_7~@P4^(tJQh}6lB$UKC2qi`) z(oHa&up~0g(`*D)QVYy>yJ!y6x(CaNGh7Il- zS1c9<4;S6Skgky{ z<{j$2%&7GZrNNM#1046%C4c&h9;SYkYR_BMxvwwJ)UPvxmkZ94qcbhf)|%ntr#yK{ zr6b}iQL*X1*j>Px#o$UFaqVUMhO&b>0SQxFSw~D--Wg^b;aXzjpPdvfJ`GqnCFx^J z#A{D5^~)m3xN4mSFWH)wo{N1t&bioYT3ZB(i)^`rrdgJ}Pa?5|EKz@P z81xc(Q^sGnhPb}VKvN~h4K^qY>Z6Rcyl+`-gy>YZ$1uj^`SVeRekedzXoPgXZ<0>-d}FTMZ$<_cb=^s-W8r1 zZ`o(At1%w}?R@^1x|E#EVA0OZ#W0st+-mKe2={F9j0xkqZ3SEMR?otS$C+Vj-<>w> zl?j`HOr+}Wh-v@;5CBO;K~!%e6L(fHVhdJ#?GjeP(qJ%5bSpMH{>39+KNH&`$g}9m zU+|SWUq;rZHQ0ui2~?+U|G!%~E4@Q% zQ0d(wovT=^gh+4tu)GkxbA{lTj^*Bie#OKK52Z`_Pe(=1mD+q5aQHnnsJTF5w-6AI zAy!iYRbtqF2iS-x&C~|f!1LU18p?CZ%}R#AB2u+qyoCQv3LiTr~cgQ~A2y;()x zcxftYv+hJ+FC}-dv^#~^PRnw&9?b0Q?GzNOW%e}QSa zM9{S29}i(XGx2&VRnHaXs&hBnDGwKItprOpzpMD8tF+zG%iOVTfh7wyCh)J2ackYI`5Yk^tDyN3BL8`QwilHv5T6)!V@F zJeCECb%4Z4n1p$bjBVf`HSiX}gZernLs|Ojn{)s$Pz(B~9*i1=;s`JE^I(Jaz<9$8rb=b z3@BBJyi1e|#N33^k;bzT{ouC1r;xDl9u{sCqD@u)Ydnp*{dQ|Q{U|gvX+GoV`h9m+ z90i>ft$0!8>WmED&mdBpxk`-zKbaw2Zi!m8IDxCivN}YNwWwaua#!P7#Z?S$RM^`f z-gvENqUJ9E91(~lAIet-0u&u)vAy%Oq#gH)skhe*=$)}zL|NMO-p7fl+RHoUIvMi zCH5UAW(sBluq`Z&tae9S+uGkgAui6HQ*hNRaoYrr{$~mCwZ5Ea{kp(eI*WNgPVkJy zH84hEUxQQfiXj%8uUgPm5@LxKF@bU zBumf^l31?|ITc#%pW(?MpI*5Mr(Tm)qiV$bR~g|#_NxGn_Y)BXg9IZsCTH*@I7FU& zxut_WwVr6nrs`e`td6PDGi2UIwUkj)Z5VvVSN_%?fG4(k4BNV{=BZ-I55bFC%NAhi z0gq9(#1K>;oJg*+9n+J-g+j5nyH7FFGO6o{UP~}_Vs_ly=8+LEARC1&q>7MWG*+TQ z;x-{lUM-Z%utCiJfNFxpv>a)Sy}bJql|8LX*cXWfGc^^kId5FFYeps|i~cZ~tyrq5 zAIl=*Ir7E55F(=WTQrP&vg{*bvaYrtZk^qs>nx>-UDj$GS}n{mrAC>);)^fPR6LZ zjp~>kKQVWgRvNjU~P1f>BaF*{45y#hjp?ANO(5d?)) zps{192vUpBcKCf9a%T^Fh-M3@S%&jPs={ZG;=PTCb|3RsDOP+DrOi#0z*zFE9#vlL z>MNTl*>>bwzP~_!nAR22$82S9n_dZc($-KCR}KfxQW_JMrWAK6bt|5OMN_z1Q5?``25owhmOoWGA;aoqb~S=a1DM4OY_8k2utABM$KaHyt&3 zsKV_+41ePW7V03e`UzAnhTx{-YImMfdyr^vy66bvOCyuuaiZ$Mutbo0h0?krUiFh6 z!l~-73UiR!6ru5H3fK@VDk`kG&*P|Hn^D%Ss?MWdB0OmQech)_G9F_Xh?kqX~+m*(IeJLTsbr9 zQTdUR2C~to7<2Bzj-QMAF2l^yP!` zTYFM5xJF@ON-PSj{0;LXIAHOE!14hxShN7v)3Q0&VYsOB0ZFP&_~Y$6){jFo_P&a-zButryvwzsi(l_4eiq`2riPi(LCEawe~q zoI%3Gi;jy!d%!UN$`NzqLeyK9nJYZZlk}EQE;&BC9RwG#eN%c&!Kn}xD0N2=efJwz3q63oP0dbAxp6BmRoe08f5lb7BrK=iavA}y>jI*c9)xS#VuPn+JmW9R~GV|c-f;a zC6-D5_Hoz9!ZcATBWooUMAYf1@dP0W*zf3%N{*P%Tu|ww`?|BD%s!Z zbv}TkWCQV!8;QczI~U~W{}MM=3unYUu&^a3T{mX8bHE)Rj;SQiW(igvF|Xn#ZsSjA zk|Ki&#OfB-JZpC2#%td2hK}pc^k@=&RCLpnFZKj&4 z!((TL3~s>=frd|@fJo@kIFPW!h%q5jUYykd>yyWFTP#MdJW1(xMqnwrK$=8x2*^$n z@}f*|v9QT4PB{~?lETQ8gYX>T7|T4f`fdQ9;d0x=avTISa7{8u>KBlK@|USG0qlZJ zuI8>`Z!2bBFVVzGbzM(auQ*PbPmaZUfg;pDZZN_IA^RTKhk701$43i0CQu|UOywsj zjeJI$ip|d-=1W!C5xQ$NyJzHT?tppL5zIs}nzHfL%wCP8#hm?J7Mw`)ld%^o;UlF* z!*w>xY~WZvBjm|o!jpC!vyPItu&GgKtRFSXRCFSu4TOjv4Q5_&XpExj*5wRqjuEY= zXh#&&n<;Qu`!3)uJk_#}rNE%PpOYq9VFPQ3)IlV!$_R}j9Me-{e&pgNJZvg@Rh4L=cZ6PLA?Oh8w>sevGOjL$TL4-sLux<7A#z!Lj3k zaLYDv7u;eKo0%hv!Ld?fJ~3Dt>Fs1e6zwF+(yMsUt4&>{EcOAYG2@7uSR=R5KoVNV zmz|XX*1bcwY8rw$FE7hgKhal#jSZU^4J0XhgS?7%=b<>Cd30 z4*(`=@H0q6_+3s&y}d24rBCA7FIrG*I8N0mAIk>*t3+nhdk+DpzL{ z&L~+`Ow-(vxo0vNPnHv&BJsXjEO!`KVrXw3wOf8l5wQqq1SKnDZo>Kpe}ARnEgWK! zj01nWB|j4qHmW1i8^4Bzqf!xsX0Gxpfm6Di=I9+A>-_`|3OmH4%%tqG&SGrzYzmiv z@G>_Z4Y_dx-6i_N$~Dx-#BCfk_mSutL z)QPjcG-fl0xnjp&X|No+%AYMe?VNfRyF;&u&|1iNW@L9BvQWs<&}cSfn*PdWi7Rrk z(3vYVPa<0?24BRtbZDjlYlHcFf_q>(u;MFT{!B?$CxjY2;ek|B0TSRTSUp&~8RAQD z4C@&RBlev~Dhizd`Nck9;OeDX&9m{|fstN9vXbB`R!0iEal5Z@B>dqgh{d+JDPMwC z8Qd=}JUuBMY%E9^`^o&9OU&QxP3Av-yD>aSpuwGhH`oQm4?RBpx{tL)fteIu|P1M#iC zUQ})jT&X${*K&@;z78+YIw8$4UkVWtmxmc`x4t@y7934%I3{y(C3S zCy`sa*b_lv(IF*9O+3P`ArHtD11iI#TQP|E4GA{urd>y*Xob>^#Y1k zR)3(ctAUX(I2}327NcZQvG4TyN)jP|At(=5;d&EjJ%xsug_h^S7IoCTTq>0;;?E)W z1g$%v*Nb0SgNk`Zgm6Ku*gReF?`$!xOZeA}yu7g@;&XtRZYR>YBkq%Fa_Ityx%Dod zdtFK;JKC&fguYi1J0BJnLTPJg5_%LPa~-RjW*e4*zLgXbFm8*2gg235Ldrarfb^mX zIjdpWc)=leVQ{Nj#1~B=VXGsIkyfO{3|W(qSi1vow}+H#ch#Hn?qg6DgUu)nL?mKLDCtixN`o4kzMK40HFiJ|2a}2L=%Sbu>JIep4*s!cj z28r5`zJQUTvNXm3Gjs)T;N?h!-{vra2VBS(`g;p}pXyR?H7TwYnb;$Ny9W!BRkRYj zwi-cXV#^h=7V?&%Qf#xxv#h$A^yll^znmGu2zk?yS+sniY1^L6rXnLGdyXONO!8$bv-2PElLzaq@Nvn=p*M)x4auNcxp>45(#q9e@d>yQetF>nv+k1;*!`vHqQ`NY zE@CS##6wDyB>{Nmf{HhwdTRz!#*tx)_Jnbw062COWaJfaRq9M!!{un~X+%-Mh&~2$ z#qZg54e?1yJAa6O#2|w!E?FFPG*R?%1ai=?6e_ytiPy`GqWobzRE)qro=ppE!f_Dl zZD3e4+^=#iS%AY|`{CcCBf{^Xdw|}aJe!EiHJc+D?N0(Bt0y0eQSlFvbg!q}JM9!y$F2T$VS3I_ubM-980ps1tq-W?@Ap=G~YegiQ!_c&!0#iW;USJHu)K=s*|0 zc@A(zce7p#JFfYBG2fpTv>)~+#5yxv5uZ29){bJ5kJ(Y#YRRtQ*7<-gcI=k!XOLu5 zu(wXKt)neux!RQt=%td+S$CS5Ni%$uuWO8@wQz}bwmM>)nv5MQu_L(=;scx9RjGX$ z?|h>P+m{uyWu+V^S71_~R@bJs&h^Xc8ycHhCN_>9mqoc!hUVTK_07x5pT27kg+{{o za8WRqM9o$?Gie%1wf;D`qK*SQ(YgTuLQc09Mv6qA-z)Lz@5w;VSm} zV@+7~p-om92Q!#F)ZkOra|oh$q~JdD0mo=aJl{AfxYp<3kNU#eOc3EHN)}nN1F=0+ z4;*!os+1^$Xm%qC10(-_76Xb=5&pOQ?BOU60f?WxQX^qrv5@%B9ggp;_#m+!$dvE6 z0k0Chk0+rTtBVJhS{q3#1C0wk>0dRH^l+NbZ@M%0Yfu22&yMJw2oD$IN>eS^+tcp` zmTjB7p0fq9YsE!;>0@UVD0T8TGjckEiZk9MTh~O)KKw&u1;y>0o|%+8B2gmR@wl7p zOG|82vNW$)o<%H7Jhnx$lddaS-Q}051kd+$ZQ8gRqq_Ev?p5!<*|TwF%j}&t+j6^6 z<0kQytHe}TUYw!MZZSJXZ2w$%F?t%qU?BCmEa*;%YB${|+MU6cxajfFR z+Ra%0h2$%LWf8S+QdZM$>oOv#SUC~i1!>rRQaStNX(Fg6Y-(HjqFQ_D149Lz&*xDZ z5OIKVjK_tjJHoITtrud9Mt4Z5ncO`p4!b*hN+nD5%9dFcR-a;4Q!c;=kJ0tReiMXz zbEW-uc8>a?$H%i7aS|``gu0Wy zuiNc7z4^dggtO_y%pmNJdFDoA;_Dzk6kE_5yDLs(M`o+?+nGJ=mZ;-mHPkyxd||H) z5bv@_-lo*qARK4^{dyQni+FnxV5xP3y$#bbKRp~wUkq(>L0&UKjM_w{^)M~NLZMJ! zUmxugMMH0cLcUnvP#*{xyGwQWuzrabB zD}BZKA@E{Umx0#QF!C1GIr{rp?~Ve2BhE%_&ZRT>anN4aBXeRfk^a;;1OWyr=)6!u z2I>x`eTcX1+O?2tS8}I9@Hr*^d%&B|n*6!)TG^RwI?rSV)eecTQ{n*qefeUMh-V#~ z8Ot;pm#>0Ht}Ti0LY{-P$czsi+XI19LWap5pggJg5*!*PYa@zsj5!!x=j=hwy zWxBlB>{YA0NLZd+TPqWp`M!Lvu8GR!HLF&wTCt+Lx2JK`=-ilzTkigeVqYIM4~rS_ zi`bR@tU#PW*aQ>l(@NNz`kV1?Xe?xd30)$nU*rxr$I?t=p~T#1S^Aa(vdzoLxpqPL z(`azlxe$#bL9uSBN<|sbMrdqar$DJx`pHjzzTNh_Z#{RX(@sBY{rU~aoVTbfkW#5g zW7~fFJ?3t+)9EZWue-(hQ_e{QgJ2;)&fO#Zpfr9+oF6$*`6NwRm*pxUWlDS-RhBRh zhXYr$>@2FqVa#OpN~H+U}>`-Au1Pts^`FdsNn=!M2a zv_7$0?;?!-g2D06I-(kgcmI&^FyZwatA0as5S|O{`xF|?Y25jP_E7uv&TvPpYO7o8 zq{#@lFy%55ZrVzyB@3|B!GKjS#27~$3ozX*6|Jt09v(j**NoUFZGD>{TkF{JOuI((w>xM1vlT=E1h=DAWvHS=;{wsdB!ChnJk-F7zirV7iw z04xixy%~E8RyQ_eS>KOaMp6$2QhLU{9t`YjOsobFHxQBxzj6}3L0L=(i}F>v+JOu@ zn`_styXT(!mMmGiVg>DoSUqO+=*g2O&zP~{fXEFu+_G`wM(#Fh zbn_XXI}OF=XFvbt<(L11@9wtiF8ADX8{O#b?Yru#e=(<3S@^je+paXW`TsFJ@csS$S6p!oGLy|_TU%RN$B*A;o4K2BJ_G8q zaw)suaQtYo{LAbaho=z}uJdyBV zS}CVJV8X2Hl3iDnAk9QX79hr&>lZZoVqI`qs$=zV;7~|r!hOgY5we@c^In~IMpA~| zDp}Dz8?_5G8jMsXfK4xC&wc1yfQPOCmenm*9fDrE+ItIyVkX0EyzJ6AGfbI5*k1pc zutCn^$Y+Gu`o<+s0Augd!R-1nsfNAZ%s&&Xmbl=vGPRX$I1ZMl61g_^r^`BPQaU+C zf@HKakY&3FxvOBX?Y`dbMK9dH+1#DSOqiLe%VxaK7tuox zG@+$Smuxm;=9n=}of|i7waqRK&CTwpV<%r3_shM+=^(JY{4#;cirDh5tDGn)3 zMT1Mb&p!L&6<1z;|NRdYi$$bk`t<2%pY^#ffBCFjPMn!eQ*)q&ID9-)_5IQ9S0%nf>WcpZLWup4DiN z(g$j!UKeW`qH)y^5DXK!IF6^pRH?Yi7r?}==!rQrF+^jCGpu3_J$+;CS>mu{yZ46*Lp9$6K*i?Y7y_6Cwuh7eu7M%YsocOM#Kqpq_ZLbfd*Nm5 zd_0#APDV&F+wt$>iW-bhc@;+>)4$I2+ME-=E1Ml(Szl2J{`vAwgsAI9vq{K)c13wi zoKO7{U$b$EF2>I{Hm+US-?^q})%O;9yE@$u9XsbsdiwIW{pYrqo_pc*Uq1JLe|Od0 z4?VklUDq3Lzi*Z7yfrkpcxzCxg#5yx+fKQO3Y>k{*Cvz6c&lNnA2AXQ;5>&)sWMp7 z;!&hrOt0ulB~mO}$N=HLstGY{n>^FA`@i2@cH$>bom5{vb;As`FpIm*%}wK5TSG_9Bim4dGV*pwrE ze+p7F7V={X?u|V*Bq_>ZLx#opF^ak-gLPNw&|E|u>L>K7yW^lkI}60WhQmnil1OJD zG^&+%BT4a$1`|?KwM{aHLGc5FNiEF*wyDYuO`B+az5R~PvY73W$wvF@Las%ZT3x9I zL!JxW$T@{WwO!WHc&<5=O}lk0oX8o6Y+E!f#MLsfSEWMilR~U)EnB^2>~)!4rRb!H z5H|&9oOqlzCBaO06K6)RvygL%eeu_8Y7)NgGzZ%`vCoVCUi;zOxMcMei}ZXuIyb!a z_Ukl4_Oo)u^0v18&b#jY)w4gl@QLiI9HGm;a(^mwe6X zohkCS<^H?stET>7T0KPoH#JhypBw^UnRws8P-S z?s?y0&OP_L4Pmh*hMJd8KKb-@>((mTNvNio`ZE0>65&Dd z%tZhh*dG+467;ztY5W8-ksKwoUy^<<)pNw!ut87paz%96(86P_j2K!+pN8;>nlz|D zks0Nva%n0Chi8Q7eB;Pq+_!PhcgC`mb)8V0({p7ncBUD}%2G;{laPNpfqIQUA#Oht zF$UL*I1-}&#r_0Sks2>lN)JNK;Js9b9DcPrR2go!QjIYpino@(1DqOty?JWqlX6>CUTp01R)|Cc(LOX`4(Mbt7%6&JF<_hV8yEd<|oTGcm&AxLU>MG z+pFcOGB0v>xHbE1FPm-aO_9Z&9c>-U7v!26^ZmV)3JB&#F~x z>g#g3x+2x~r=NDxGta&8!IEXmmaNFu)lZ$i1*<37mUsKkiCeZF!zDw!=X)Z6e@00k}m08q9idH&I?Dz66zx&c*P}_AcFGK z!ZAzI>8EwJ+*cQNyJ@0AI|;CHSI+dJuJ5QS5lg|< zV39Sd@R*AgO4;?WCjOKj@KhkFeClZ+AkrUT*fMBWcu3t^!%qOK#a}9w^8E!aIQe^% z8CdyTU+0j!J`*32YYRc!GEB8>)|0;W2xs4et%*w+%%vdfX1420?970*t)LcP{a6*c zu91^kn{5lR#a2hArrZqw(h|;y($~|Xd`7O&y3AOs7rwS~)za+`{Y-b)rp~Uee6jHQ z%kS*_kwwkh?NFbqD-}z*T;`p(7i_u3^!AS4ZRgE-^6BTdo;`cBX*1o_Y}ZY$tRY?XNn z>kG$1WiXDHkqQXrH#N!-P?15RG%!m0L~#6^q@xiMXkdf{>nIWWSV)Y3UTA`nb=c zYO#=N?3o>c0yt?2lHQ(t(3Xo3H%__@E>GXuJAA&bV9j(JTg*1hWFB%&xc0U)2-&tO zv%$c$ZExFtu^)!HIJ>?*Q^^?9)r$RDo_uS6Za0(3DpP0ef!7v!_tmF%I`DWa*VNqH zylVBD|332cE_>|s)U(e`nmT3rXh(Y6bgk!i#}Msd_`kp169=YN68~{Ov=jKW2(TN?gOGfuTZqH z@h2jZy1M$Kjyi$}?YVD#`)l9(?hkIcgQLmDa53s#CEZR`oBI++;6q2yb6f!pUpS z;n7G6Jft{{GfPFy;Y0}xUc1N73tzM}mJD`Rb&-0lHK8iLAn{8^@6$aWov`WdIMShecJqYv6)hi#@z82h82U3T23j=A^lM`zBM;(g)QNz_gb zb6Yo-7p%sZPlRSKcgqpv{;+4~Ge{YGr7BnJ(laVx@AF7Z)3PrKW4}m=XWeyA+WjOF z%|OOBt_y>u`K57YS{JQCu~b)=4cr;=Woy!-vNv7dx48er6Hl#Py+#T7^Pm6ti(mM> zlE_XwZh!AR|2gR3Pi)$>i91sHckg`#cRK(4 zbNAo>V`8WiPB`iP_ZNy`Uw{4iNs}g;W<-ZqmnWY186~#YUVDDx#EAy)#Ngx)Ma*Wh zU;5J7iU4kEYRu+xO5nDQZ8zR{%k|gaw0QAi(S5>%2`7H?xYJKNWy{%HA{|{_-GBf4 z74z@D_r3St7u~6N-e#Mv4>(}I(?55rD7M?$Hto9WM?{}r{>m4A{No?3UAy)-|M$E9 z{O6AT{(d*}+3XQV9QL!H{m-;%(}L+PS+ex<%m4A_n{O>#xUjRci@Q&rJej7u&pvyf zb=H|&S1VMt(NbpHOlaOE6~k_$P|`%XcS5$!6S1+r8E@P!PcFmLLdc)#O1G_2$rid6k=3S? zMa*X!XSrNd1`M-}1tmgAjptFx1l^3o5*%-*M#nr8($N< zzy^UcGc^`I^@QY+&rVMP5t48&x`p{_Vaji|(cfR>A3(0?p{z~^=`FY3uDI;7%g$do z`^U&^bmy?*-VzVP%jQ6EWi#{X*- zNE&59gdg*9fw5y%OYE+@?jnB<3O)DS3x^zXy08b%tATLO~B#E!PV`ek)sf3ZF(jkWJ)DlPljvF%${3P`t`4bC2b{@(1+2fUqgz(SPK&2x00afN(`Bj4&!kDWkXVq zuNsK2WYc>+jnm*Um-Sk&eTLilRE6plQYtZ%TIsQ>wN;=E7~a7Ke=dc5k(pkJ`#m1w zeVfV~;q00*iMaAGduOmu6FCE${V~#5`j8JB`Rq+;wRf>Ic$ogTJaJ8YrRU7F5ytUa zJh$GkXLr~Ak^_^IPSkAF7CQ^B-W@TIxW`eA4Tb)mEW&Hot|=8t8{0N5T>Rmk^B*r3 zdRDGnyWdClT)na5qxZJDc>d+~9QlMX%PphFKm$o}nYj2=DOl-NJ7 z{nuT0&DR}4RGyu2#ur|H{Vf!B2COzli6J4~1ybuYPUXw}+~auPpZ{JzIw%=(*2Cjo#jk{=BiceQFj-Rs2}6W$WfSuu{KOF zHd3wh_xF;X_MlKnO^?maF{3Rj^;mK@=$oV{eZ|djVyU zhhmgnYUP83qzT_Lcp=ze?ImWF>o#djM4kolyAVVTT$RVP)}DPcrgxS6K2H2bHN3k4 zAQ|btoNAaFoCBQf*){nl_NR~Xj{eMgs)?C!F_I>$^1;kp-|`L2zkY=LC7=D#M9i*h zu`CeR-CdiCs8y{yycs#4H}WjfvZ(gNr2XL}K5E-NNk@4~wqIvlv12xNGP3oahrIU6 zv&}8z^M&GuwhdD!wJuz=Vi8&L%S*2O%GoDw+|*N_Lkr(s@W6kc+-0|Ix7=z@e_z+k zEw^YKH>JC?t961um)JA3`Xy=0PFJ22zStF?CXGDF>Y2Ms+(OO|Dr3Jr3C-8Ua*xZ3 zmxz~=Z_sr4Qdo4izfjE8Ww6)+N$}{B>OJV|)~)aD?Nc1L-F9wB5NaR3_S!4#EzDJ< zK8x)g9l!qd??a-Z_QrG1{lWeB-(~bsRvj57ecdhhuemu!czcxA{bh@`1W;0`UbK=k){ zjJwfYyxR3>3J~V5Jx27wh*CvGXHdReRaiNB;GfuPB5GiMi^+xN_k4^9M$oC&D#Pj$ z47LTBC_AaWyo!Y)@xEHbTx_-Ke~H(1LrAqW%A=HR`zywE%$sK>^^ACe@Wb+QP@YlO z@(1x^`-8z4OD0x%$ty_@duC81+C{yA(JJ ze!}?XO&dBkw5|L3um923wr>5VuDoUSc6Byp@yuzhk3aFs&fCr@5i8eF?=Cv+r7NCD z5O#>F5yEY?9!#1F?o3N(9O>?V)Ymy{mZtLsX6Kx^v{tSH@xGsoWWnR4W$%_s7K$XT zXO_fpavavI(U=_P&J7d55<)92m?kxKwzai2G&FqdWBZ}wo6PTbCPF(<2eo-_J8!3X^LC=Yx87>|0}lB3?|%0Oep#EE8c#dzl;8dSH*V9) z{=pagW?fbJGEm5TF|PWsf$EjACH+8uY? z&HCV%#tX14FbwwG1Q_MuM zYLZqGB8KcmL~1$`>qO+_RCqV3h|||oES?Ou^GY{ zN0@OtXU6&HuEj@3JMl0*=DgW0x7jaRl9`ELxn{SJ@nv9FTG@(yF#)XbnV)84?p~<=#8r1 ztFHPRHK@|Q}!sY0`x638(+kOD`|^@WU-;ZLw_G(s}c?5yM_`$uD==b!WDH z{0Yb2`k&h$d-QS9!=gotr%jux&E5_>Y)@5pOUqc~^uK)VYu}oG_r0Qr#fumB_xIC| ziKR=HD`5{fU_Tx$wF6&t(FGS>bg}4R<%*SCZ8gW;sb2LHdS{cMUlR1eW^=e+uoN_4 zvhtkcJWxbQG+JfH@l_!yUI|=5Y$T01Wf9_UCoMwFZIUWj>qMgb=prEzUP!ECdXKEi z*1V(zQ(YPm(VQC=tK`ubz_q*TBXTEOX`W<^a7cm0KU2@_D->L6CB>7d_FDlM9I96@ z0s>{$R73LW45#k^`xk(ke@n#@pD~L(?d0iFe!CZ{c?KZ{Pi zMXXZk`N!_q{ea`@>l*jkefx(Veg3@#i#KfQnlg3Le;<9};6n~;8a-~z*l~4hm-ppq zTfMO5oNenG8hEjIXYDUoMR*%l7$q)`$Idbl>&X6$Gh8~ugexx_=Tt0NzLq?5F6#?$ z{X03y@MPJXYLhvd&FC%`E&7woB_7K_NQfOENj$pxw!2%^coQa!H`mRYW{T8G2=JZn zd}C)%{Zc;r*-zhc%YUAJT3Y*R?YgxQ>!O%2n(qjT;av8M@S%quKID*39DMMBXPtcp zHPtf5yY8Cr%@TJx`|LC8>gvTD9)J9CKmEziySsb1%l!HGo%7W%f9g}8q(4e3V!+L3 z%utSQ+_=$D;*UqgW@% z{`>Fuzyte9xk3>IS9Yo5Kr9;FW3&l*$BFJ3|1>xXorK_hA#=#e;7G!o3<+}=qPH{- zNn0yCGbFH)h;)m*N*7QggZT~Wbh5_Pz>!{v=2%7Gz!ef&E8*U`AEUKbU-bzw6V*(M zStw*mpM)$k?ZA$_dLG=Zrk{TS8R3VlFt{ z^^;xI!)^>qI!SSiF>_&NQf4ql_NSDxd+okYXJ_ZA(W5P#*?rf!3l=Y>R^rX3v>tir z$Ly2OcbAHVQQ2Z=``Ub_F=G|`dpmOtO?9?;mM^k}9D$nUCEz86y~K%J-flaCmabgp zSugj*D`&*aa`IZE?C~@48y#FmBIldB;_b9<-MSlZy!rn7AG-dAe{Q$k zw$$bAx8GHQ-+k9T4?Xy>;@H^OBnsdqOP2i#~v%(vfuJ0O6$_oJWw^ykzfO^;Gz@~*q> z!bLt$wi?J?AVNQvxKHHUTi1Z~j|9aq4%&J(eL9I`u-}?SLq!HxLWn%T!uh45fq7s~ zoZw}aZq#ctZnPEXCrJil6u8w%bU>r8lw=*zB^>mVuq25-95LHnL%w+=OxV@QV;o39 zn?vW_T6H5Z0E|#-X8d!NnlmXgoGidD)b`81{Y#~jqj=evTOuw*Y+F?c|EiGxtsR7< z4-~Oorf-Qq--0lU6tkOhlQI$J5;HrkWAOFw11x<#$l{+G!mbgOAN9jwTm1X)KThgd-JWg z?|$HuGAh%xWAzBiA^J&CRvkZwt}P_+LwQ?AY$dkde2vwPIsuW$tWS z@*%{(qU`A84DmXqxmla{H3&s5sb6*oxh8g}(ai>*6H+Kp%eR%w@(ze9)u#!foicTb z;?myUv2x|A>C>mjjnUBPWz3+aOWA%Al-#M~_Dg8pHQPk%f5L^ZYf{_IINTz`||pQ`RxUww`Ku-)m?ryX+0!C(KzSEmN< z7J;f(B)$n3A<6pc-7;%4LSAI^h74Bpxe`rukXoc{wS=QyKAM=5yacOK zW>Kd)z!yrA!9+P?&MWJk4)KR^MU74p+mX9#$0%!6Ew*e+LBN4hulwyn%NpF~2gz-DE|PTU)ejnwZX zIpt%Ys+U!Zj}>=L+7ey7!Y59zM2Qf8Tr{&7Go6byjce>)4$EBx+AlzdLZO5zA>ln6 z>3z!N$w5cyD?6I@sv#wlIY1184ZZedzJWA>2nlZ{%4rhBRwE_m_aYk^F>2JPJ@?rC zntxug-+mtxJ#5^#@wWfmX>YW(q2z4Xuz}_G>Z`Ba?_&pDb=5yBQNQuw_w$c`eEtzf z9v1GIc8FYi?Y|B=_^{h=yF*&ogvg)55PnGPAEf_L_H}3AwdaYruhF_f6ru;hei2VZ zV@+Dxb;h*05ktnio6EiDW5ioFu^QnxhJS2!z`-L`DTjE3CXLIJC22?*jD&d1g(pFD zAyT2dYKH`!LW2SYNBDh(!&eHlsrH?>Zl-8wN} zEEV(pji_X&+27aQw%R_)lJ(TCD-hqx%|DpLa_i(S<9;nrFrEw3t&!&+iI>BhN6jux$;&=pYz!f}<3KD@ zoN?CHBEA)x3gE^D=|j!QNUveT?#i)a$80rc_Ck5s^UE*4cF;iwYW*W;vg?n3{0nRk zW6#n~8~U@&HrxF3n!g)g6=GYWyjDL+;2J9~f{{DzI4qK&!6cW<9e4aOPdxFY==j|8 z&r^@BuLbtTE&@4Rm*yBID;1?u`frgk@FebVdqdq)BV@8kq>*asG=brm+ zxZ$Q}o_S9BrCQ=CrQgGe!Oy=)roEbS9yGU=L~5b_Hva64D+ULBN&000J>ir$MO zl0g-~X z9^E<>lMHd!dA6{-sI{9xQI$;^1pF9hKusAa=1``i?kF9-IH6JcVo zd%kSYy4Y<&wYohDI@xm2l@V2|p7_b*e*Np;i7x-R;_5TbIBnv@30nVu`} z4meh*Uzj{)lHz{%{M$_nH7nWr)h{nr)bB?> zy6E*ZHdi(9S z-g))aSC=hQ*NCR__?oN#dGRH`LIVg1?6{AdyGX2bn5$;u^>CP!FqXEMJMs3gddxc< z*>j}^i`S+NBsS=TOC>DzPY~@<92!oqfzdz}LJHD1)H@aiZH1>7l@ihHhF_fUQ@{h$ z{FDSJQ8lpEJMlCy4)0Qk_dMasybxm#hvN`08)Zxp*D-Eh9ADc{tj^3 zS1g||IDcL1B3n`zAtcy@xs)hPy$0AD>Wn;_tuOPK zN-R-9W?5by+@n}pKH4{gQa_%S^NiI9TfF7y_~Ehfg`=2RmH#+Hi|u8l@_qdUns}kN z)VrzJ*Fy?Dg^qP~8Pwg^`{sKeZoBQ=_Kj;NjvqgB##VJ!TjS{Q)Yja$X{9Y7>l*W2 z8}j|#7E(rEyD{@}=AZ5LhCTDb!Oj$7E{54OX@rnuhZjEWi^OOJQ@L1Th)B&lX^b=v zl214ay4sKA3CAC+xU{!-eDOKmPZMBu+{?f~@5J9J!etP@*7A#mO2Hbh)ov!=$HOCx# z^p>+{k8K&3&E?i_*nq0fs8P-P@BguL&iT?G|Ma^jo_yr?J8s!^*Ig7pZ@>L6&$;$| zNWvdKpb$+sJar<3MH(^eyN#}Kgh2Od( zrlSK=2<59^TyFW48xTt&BN}L2u?5`9C;7F&+F0Z#ifH}t;F@=|=S7NL{&oP-M;JUr zjESpmUWxMDn|-H8bz=vr16(zriqyyuXnpr73H?wFTiZc=SKH&C`wO0wwPE&E*Ocn4 z;pC<#$tv#CKFXJ6l0UwZ!R`n@;tY-EQ-U2AlEayzFniYh?V3q5cE={ol2s}xLpS-* zVlQTYs;xyVMowzZ|6bWIvRX6@RxF{7u{jhdXJ$<;UXc6Z_W9+YjY%a!_jI_m11*d$wb$tmJ| zi`cPYd)Ld=v87UhcLDHW&+>@w4Dr6JpL_1bPaJi^H@^Or!w)~SwY7EAruH}9cQ`NLJZMm}z<6+>G_LSyYsAAYPqmKRrwbP33S6*@TK?fb!+}y-n)~{dxz3-k^EEKuRK?fhO&%XO8-%mRH2x(Go zu~>Zku_tudGwJ+jSlCleK7ILe-^@$z$;&Rgl!;zq>+qew{he=}@wv~70jU~i3D7+M z?$XQdyZ-@NG@tmyk>C3EH@vr2vMcPXGF^ieBY$liYz*#RP3BpSiyz1C+X*RVT`y+2 zjZ0iJ4?-Giu>Ar+)fo|;#ACI=p_ek;2#mb5*Bz7WzzFHS@{@WYMBS7F(l3C^eEn%c zCWxy1uw`b}?>Um5G@|ZdU4mHLQumb`gD8OloBBgY>qJltldw>9q>2w|HRA@-r`!i+ zL_$(2t=P5G@SvvV09RVNg?!OdhPE-#`Sh-{kTG%1!Ps4<*mByL78X`5W;RL3a$8^l zd6q28p1)52F&6|t^h0A^^Psq{06r_NVw#TBBqIE+^U9;6Lu1}GAJv|jJ2GZ zw{9xfK1y?+wdffU%bOUC1pRAqJ?Tt^EfkCN4Du-7nJM*WvpH%OUH-7|!`^~;Ojc}MzM(rKrk+T7HnMEJl151oGcX`@GvLe9+FuYdiU z>(_4xo=6#GqXehY{h4Q;6`jvL_lKAM?zh`-zb(yhXJ^-qH{Ps-n>%+amguwmmxzx)|06JkDq#TKWHSr4<04_OIwzy8$Vm@?SgBtnB8d97eCp{RRW zy%DAMdqlu^9xDn`O>me74*1l1BC@CQ7%b_lKW$g?hj|H&kNBY~(ZE&2e9qAS?`NMgz)LI;+$P~ z+Z!NFkTUKUc}kC}XM&sw!;Wc0F#i&SxbC%>&MeuZu8Ra&mOHY{nHIw{jMWBmuuw{Etby^NJrw5+47^q{uP}B=x zZIzdPJ*ZT!Wa5Mgzq|C}(@sBI>pMjK{_uz2JM@r)P$;~~N5XTIS{u!{sB;DgAv+s-@W(1WS_m@#8I zJ3G1itFOFz$RUUAzWZ)%8{1xg{dKMICZVb^+Qo_B%+G)B)?05AGq!NyqGOLae(cz> zlO|1EwrshwCKkPQ&p6|BWWT}sZ~M>f;-On^x%K=X|FEg45tW5>J4!CWX0+cvHi_YY z66TQzlZ3-%u#`Lz8s1{=l$VMg`E*Q9VPWI>O-#j2Y(eDU5VfZ}Ea^aZA0tGP+|)R> zPXpDGzOhn{t$_ojOyY#nMw2AjO5Vnz1`a7i-N-qeNLJLUq*Nh+TS8_X45+QG{Y>G z$Xis&5p}c~jXYCu$$9aY*f))swUb8U{N_eW#HY6MLCA>J7k0ZX%ZDp-IqjrmXM<)^ zXtJ}h&TiuVTNx8Kf3{C&9ceo+JcsAgSF*rq_kwbnAXaFEczBm6rd*1?KhV8!A|kstD2+c42#Yz1)8K{J)t~?woeZ+qcUu+>giJ zb7sCNXU@!=`ORpL79A$bZ<$!}GxtisEJa_EX>b);CApOQq88-Fu=Iq2Kzpw`@CQ z8^j26BC4wLUI2-!m1^UCclbxRqm;M@3EW0}yeEr<lVEd_X7oBDD z_~R%X)4EV|hj9N*c(ow%BrzIsmrcA-8y~0mNwUt`@6pNeOQ|cJNcX*TEX!78kFl~p z-bSz@ooYuCKO5wa|LO~AGJs8QhkPpLB2(5=76k3)mD=jjeVymi9JPuhzX9tw~EUHNP?j4C25>s4av5XfBIm+2Xn3PV!5 zfMo^CnN)r_Tjg1P7K4e)vEsp z&M!+Hdw+yO{xKtxpn~hd?V1jA-ToG9zi@o!JcNWfQX275`5b;52Ld1cc%`%Yd&wmi z{q!f-oORY2Ej7o+#=iN@FMsfZ??VAIMoSc@g2#K2rs#Kx;FUOtn>4V_QskU-&$;FY z-#zdAbNJ!+E3bIj|6KLoy}fW%XM#zB;#R+M>wm$KB+m@sP>?DphgcE(do49sC5@IBLdu&98Nt|+v zoS{%$i2+Fy$h*u|Y{RnKBY|$$wN{erhNs$i;F3qL!JIB^CxG4Dh zav2ySJ|1&(L%l2~0$;&Bl*l%n4Z|FAb2(TphztDuBbSg1%xrf#v$txOUD)0NY>aGY z$FjHL7jo?F%5gI58<9eY-~DSbfX#L@Qw+@ZKQmXNR_GV4zKD&Q)VESla_~4J+ZSz# z0#4^m+Y;@%oXwYtGnt;zQh7?skE!*VC`-Dk$?1$`)Tr?-y7ksyqKy6G^$X0i#_Ucj zVC)}O~edbT@LR0#||Up@8Tx@`{G_GjR1Us1XdJuoQ1Ti zoom;w`SFjwcgG*@{QB3w{i7fKB((Szvi+1NKk+3mz5F@Pc_wGuDRDH`Vb(egk^D4? zV5Ct?q8O>A07@Jj8XO)PI`8~*FMZ}S&O7g1j2o-){CJ*z(bKQ{`H#Qz?eBc=yVryk zQIC#|ZrQx~@|Rrxf)_lGPgD@a4}IkCH*DPat#5wo;fHto3+ac4hyL=NZ-3d#Ui$mr z-w}C|ou=>?STUa;dCO>uQ(|$UY*`ITmISN^2j+=61>cqu&q?~Mcwp17hl=?)oeRQN3zHz3jJTMI zLw-8;ke#Gm6IaL<1j%!81F{v*je$UD=;sXL*}pd1_iIzDSME3Z9Dh@Pe%dj;9foesyRu+54ruN>~w|;wNaXQmGK3giTU9)9=W?%2%3PDKc zS8VZcxWCWYU(roMU>FC_2ln^q64E#W$+6k&nE3Li9yl7=y$ihThGi^*g71`YGXX4e z7rBUn(9@G;dGd(@=h`1&d!uph|6n2GMnLW&X+A6?f#DvB(TGOsyyKX}d{7j84kza1UN%0J7&&re zVrp`7YHAvg^Oh}}dwY9Z2C3K8oew?;|E^oNc5HmCHKJN>f!sd)(8J|&xqqO4Y;1Jx z+O+|1uGFC+-+$lzaIyWg?SZq!mnK}*Ney;fak4M`I5; zgu3V$r4}RECBAL9xG-s@5z>!u7NG#`)O6B;uKQJt_Xz$rjiZ@#R*tyc5H3_(Ch?!P zHPk0D4qlZD^oa4{Bibz^?Ld;06Ix!tJMjvkBolK{3+zcvy-634q!qd3-AEv|;N5YN zk#HjNPg+$aya{TQI(5LX{M@`xYpH8RGJj*+M zw=?QuNfIf?(UD>J=Ak0GvQ$zm%j<-;I+rj(M-(k09E4SGa>$ z+McctyyGV|NITIiYZ>8oHI`PlljC$MH9sMMJ50nYOVVagyvz@Q5~njgJdP75J8<$9 zLWm?CFB!IaMWT%|>K@yo6NI!`BS>uA$4-t@@6eT|vdqorF(loRTdJH00JzOBM>8F^ z{@DS&KCBYxBHo5EDi%e9rF5Ht(g33cA%&P#XX2es?Bh~z z`!PWt&Fi0avO)e6c&exalrms^OJ9!VLx(^5Q%_{AZe`qO{n1 z=|qf$}CeRo8qve*+m-A>z`I3M`f@-^+ zHVHpN!qBaS;HdgB{%R~|^hXmHNpQuy4+lg1bp$*#<+~wIx8WDNE*i%SrxA)<5glqM z!88MYPUUOK-X}J#zyq`tudgFby*rh_=dR_qk5lLX1EY8<*qN<39+kh5TuY5(lanQ5 zVBDnobewunmi(j%T|9|QG;w+@FmOyTzm3HM+IaUSI5nV>oH9v-yhr~YI+Md9212a=+`;;7sn25Lt&XkZpY$u!;w&a z+Zl)h0JhQb6B4|{iN0ZvHa@h({|l|K!_FVC5feJ0-4GW@_(Q{>B5B}55*sKQTO$kZ zGK82s5rjBfN+jWVNkfp|24k|%l?!jLDfy2Ctv4TszxJe)C`r@5PBRivA)!|reye;` zg!|Xi!d~qN#2?K7L0t6;<|OJEmtSWBsaf&j_~4P4j=3z?NE*jpwhDj~pOQ_QVSFq{ z`nY9QakCsQTPBWDiJPQpD|oY6mrkXsYsHY*Gc< z(3uW!&?(#2OWnQI$d2_UCl%LdGqA5LDbaz_9%^kYt41ieRoKQ}Q~~B0SW<^ZW-&W^ zWqp=~IJTp>6~&l26N6d3ZlvozFsND<(7A&>ciea*$q%mT7g4Q9q!d=t)L68x+iWv1 z5i^KLfP^VQjZs>Vg`PsaUO{-w)HMN~&ZyhzJdo24bIUQ?Z16SYdHY# zf@lAwz|&FFT5b@*Uop+$Tzc-5&jureB6AJypAVkdDr;5%?9*F!C!*gA_cr$-D%=R z$%ZVwZjhz;Cu6n_o|uH=3wz)Me-wO;F7?{reNclFCT?)P7CKGT_Xr&w+6W&Q)G`AO zu~cv)(%44fxDl_zY(hM>5-y=8(z#J4zL6%>+0IB{v?LxF5uYYyyk%)xZ9~rG zX~=D*MV3SY$H#Phq{DQg?IzZf{}j6BQ*g{NzcGjZl7!|+l1bp^ZIHy1z`?r&R`_^H zd%Z(fmPd|P)9OlVd2GFl&1!kawq6`#Yt%W2*v)Iux_>X8qKmG7yr4abgEIOR1Hl=`Ct82xy=?{!2@m{2 z9h6;MVYBrW#93u=!pPEiVB~SF%^n3KZ2OE zv=5&H?TfV89|T)z$d$xS5`|2NhSLwZlZ3}0i8m3~CIOKjJBsg*9x)-0Z1Rr{>6Y-) zrCWAKDa+0PFX4?G?Mnpum+^`oO+mqx!WAr1VH!TM3e28W7 z+h4g;e=SEJVq@#8Ef&_nb;LO~$z`?Z23jAs5#lcwWIJR1?ZI9UHg1GjS;BJ8rY7he zL0)d%VJi>6`BJ3uVgUk5>5L@jrJn2-IrEQid%loXXufn!Elro^r^+?+-d%@QjrVOb z>$(0xTd&$`b?V5J(IXsuc-OiOTTH!PoIRKsT*D53Lf#{Yj`=F$;$cc6BX2>tqsAbp zQ+oXVUfY|4a7x4C31QTL$IfBP&d}Bk?r$m%?Jjm)=()$l-GdFZx^3D1qyvz^iV|11 zLq>RxPFlo85@xTx0epaEO(Dk~000mGNklESq|lxJOB$mPf)I*_ zF@b*&N{-FH^y(1(3A2OI$eltleDoBvQ25!-e}P!>Bfp* z!lboIcua8h058tsoa?Q?7zl~KN!2oUQk&d)mMn&3D;?v_NPBE{A z`SwI`^urhL>Uk1`W9-$D7N4{hPR)dHv~T#X^VpVGntY$T(v?SAmT}C`X;jOV^dl#a zh9%I{Ua`mYdStKQAu+crbpR*E+~AKi_$P)ZF~$Mn)!)m?<1Rj32bFnyiT&Z98`e*S z3xT~*fV4%QM{RJ$Y%J#-Sxn72V>?79GxUhqp+`1vM9NPK6Gmf0cqI*_uPCI_*&cXu zL6r4sg=lrPR6=6@p@WM@4$o9)rZ;U|(bH#($bM+|p(C}!J)~S-m{qV{ou76xBw)vm zmyBFo>XvHgtYhZoLUg}$`CZly_;>#0k4nPWe=q)vNHlU2UJ>n#Yn;>x;`wLKBzWg? zv|Hl>Bb21^Lelqq3H=En&2tmRRB^D?QEChN2Czri4MlJ-iR2&-^oDxgKnl@lBe8TM zk3f(8hmZW)zM& z@JLSm!U-dJaukDBzG5ClpU^qDZBwmn42)u6Fha?QFfeCvv=VsrkB~U^tJ8(h%aLf? z$#kH~Yhu27l4xoBfD*@JV5Sgb6FS~Gwl&2d?<5rxLDcavCHr*c(I$^vuh5lckdyxP zJ>md3`BT(x**cqMZQqcRhtnEo{5q?YnS$-}vCO!X#cU~AA{I>`atW!anpUr8b6Htd zC`{Ffpa_0uNZ^DX|Js3wjtwpB9hvLuBZ_z(T<4g2@-dzR=bU}Wm=EGvNCv9aA&Q+0 zV<$zM7(U4NF);GLA$ATJwnQ7*qMSj3i7C=Xwq;;l1&(}l?Pg0?-~5s%m}VXLXNc3b zbi>vK%ghsNzKrJ<>*GDPs@AZa#$J9L(i;cNeIYONgncRnX9F|Bwo^8Y+_pU?96Q^6 z{Rn7O&T=^0iQm~5Z95Nz8wVrNq}ihhtSC&rpjaeS&k04it-_9t?qD@L3P~P)$GL|; z^2wuuqxi75A`6c-^bLCPzu1c^aeXRv=i5C&LAV?6h~y?V%68>M9Y-ZrSJJj7a_d^6 zZ}?@!;9=y~OBV@8BX9`eSQv~Ok@HB_;f-)Ol7LdQsgU3_5{hqygv&?#;Vwtf#$qaB z1WzW3U%yFfm4y4&!P*QFugII2CvAsnSFrbzmmI^gO88MasTCa+L%ec}zPiom6Lai5 zO?>6|@)V1KiF>FZ3C%fs(3nK$qGL`lAPHZ&nAY67+?@jSb|T~Or{xiqVBgl2qm>h* zZ|F(~@@RWyk2nB6ngVshvJJpOXeTOv&GENRx6a^|y9X6p7W&b3Kfd|qn`fpMrf27< zNh)m1l6=axjeqhduUfZu9Xm9L@Nqf_jo)eP`}*s3IV@*;7Nl%HppVuVeJy!RFLEMr zP=K%OpgU*rFtNEYpS!f1+i*(}GQx6-AW0BK+fXgFu4H>mLp6y>7YfU%R4Q#5dfM&* zSgdJf!!XrKeWqAbb@QfO^%uN+Xl~!V1LNyJ6VwrDd~X*D;~>u_mNURcjg{eq1dL`0giD$}x9#ts=FWDeE6-!d@TD@qoqyZHBZ_#?K@x{2 zi3>OrlWRGgLdnn<@#Be(p|5{MNF*{UxC!nh@v-AZ@_hPD@_%&FCc;?u1ijiG_QLTK z8SOtYNxVTQL=bt&>Ijg_joN5-~7J&?U*!D51Ws?Q}W{a$-vxB}|Ssg7$<2BMtktz{g1#7&XJd zD1voyi-pi6ij7h8j3qj>-ENPsoS@k{+2qmCH$3vvEybggN5K+k!stHYz#o4-Ee@XU z>n)D;x71>WlF0r8`@ekk*B{>XV7+dYtF>G{qZ=krqVrm9`sO?L9z628*SzfF3!jSU zQMz=MwX@tBdAn7enO6_~*^E==*HIHMEyAs)cGeOLUiKQN0eNW9u{e!8YuzD9OZ7Wl^H$v24pSEVWe1D>+fgih^vabxp77x()%W zmC8*ImuxZp)Tf*-YDEd#eIu&`DQy!HwVmQwu|giEwfTkOo*`%tkRyJDwzFBDwuKv{4U$5v2!`PbmIz?_iE|1j6xzm4P5EK-2fQ&6nF^KK)VP97}g*R z_UqkO5I5y@-s_`aE2;?8T4yLp34Ov<)NHnz;7#O)92#n(~aO_&>Xd@-D$&l6= zNkY_7UFX#hzccdh+H1wfK~9*AoUC% z6b_huws!5>`w#!{FZF6kH_2i}&1KV-imDk92~tGSw9P|@CqMep&)#$QJ%9eTH_1}U zSyt^~JQ^pZd7aaGY=337nB|Ek*8eKY~ZV z(pv}iJIE8#5tQ_yBS&&;*APL1{Mja5HEq-@iwh-`E@ZI?{3uKs*r@_Q{YtT3shM+S zb#SoooF{A{X1OrFv3GD3H%7hOc&I@I+s;W*zSV0U#3J{kUx`GBKYu<#Xcz{Id8f`l z?75t>3s^Dnu&y&pKuE+ov`HU1jqx$~N_G0}BaP8k)1Zl#cQ`=NxQz)+Vy4qWS0orB z8X@8S4~Guu^Ea`tFqoFtgh?cVn1oQ&KR&l;Nst8xhxoAxwtBa6Ho44 zI(%yw3Kc(<^(e<2uOa5u1bt{jRWSSRWL6&wuiB@?m1L)yT=+~F=k6z=(xcCEc1 zJ80BSYD>bvorLSC$pk@mVhqQ($W9s|+`sV(M_+1znjWq8acPpo4`Z;AxSd0!;b6Cw zlepQdCC)u1s1ttxm7KsMBkdG*S7N2xRVgQM6t8SNc!i=1?+K`Uyc zT5_PQv-{V!8^OI8{3XyX#`c+C#%xjD@$pZ%_#E}gvx15&h9TW>gmT6*S5`e}hs1UWZR`oZ8rdU&eS{pg>BVUhLPB!~&e6@L<10#%ZTWV#+(<0Tq?9*T z6n=2{w@^q+5}V(_s4-}dfcelBYA{sTn}Eh%Bwl!az|Mz2;nYH|fxC!zl8_jOMx!9U z1BnX~My9M^&?G zOGt3Td#HPB7LJ>%iR&R_^ik^}4(Z?(G||LOuaW}A8NTxUV%$THI1U2`+GTvV)7+Q8 z^AKj}8*sE%DvyPncsV+8<+0c695W%ySeCe*?hr5i^|^h8`~7tmI3Y#*xyMzYTQcoPh)|irKiL-Yz_(01~dOz5DmQ^Ih+@R3o2~ zj?9)tBup)qw3?cdC5s>t3*}0+RM9Nk9v#TnRpYatzPenT^J1`_6OveJ7NdpTL>bC; zc}bc{dUOyx0sJe{y}OL1bs(#=&X;ieiV<=%?8nUhY-imy@~mee4*mMKZVa|*)Ai6I z5c|Mar&erEXL|I#4_6=FKYOs4d)zZuop*6&#U?pFY#Rps`Vxua@N`dVcuU{P&H3KJ zeG`ih9xh3#oL;Zb%+JQA#j+u=tP++h=j3GMn5X7*=;2lOuwU=J@Q>`nU4KD1_BKuv zR-lr@Y}+*E2FOLet!(Z%D1Ie2%O~M#QB1`;c0yV?5$`YJK;rKMckYOQAdWr{>IJV* zz^oJrdHTvEeCjKwM*<<^&@bVg{m>4TAAK0&9YgE?(>O(!*ClQAxFqx!I+8bZyYw!+ z&E#ACH4RBx{k5Zs;_FVhcmvrXi1YO$X?T%PE%I^@ih!?tjZ0p^cZwPZC!un6(v15u z6ND1pBMDEsgtTzmpkvuP2+~Pv9i<)|Mc{Tr<73+ko`4c~Tykumo-Bh#dtDaaDI`?; zxKJb-O{-)=p-HR?iPLW$TN6L8z2f$QJ~DFR<)|xNX)^)sLTLUF#5&!wjpYr1I&rU^Xoi!a(*NT&z# zX_eqle*bnuw^j`(EBlorGeyl(_Uzev`kDRgFk3f2Y@cdiMG+2~#bT%rC{qT~Fr#?A z^+Y_R4Ba|}tFzzL_JYz|j=tbSIiL~1r(-seo=6PYvP>JNP+=^yQPOUkmq$0|hE`j<@`FSZ_mDif84QS)5?(}RcU;5r6dacwrUcvD@NSM z@`R^$qlZrMFUWD>2w|Jf5wLTZy%@X^HTR(=t{v${oUEKtNYl$eV89$|dChq+UP$Zy zA)u02SxL+qOcEbkQqKG`3A%-X1z-tj=*7Z@=)U0~8XF!!Ktz^Bh5yQgN{%#U6gemFG7!RBAnh?Oq~VAgk%!GrId9c- zA&I+!9lgkM=)^6-31+d_L~?}W^?6`7UB0zA_rd+oiPC;mYcrCLBJ5Nd1@zkv9SPZ$ z<&?zt&^F%0?S}Al8m$gDRm71m5^1zs9B~XsiQNH7Y@0`;-IVL~rg^e7;Uowr2u2NW$^34nRv=XCVU1v^nW z(AU%9dC%}c#Qc(DdY}-1S!|n@Az_)Anr+nUNXcP2cj_iJy&{*(AxUB+EvTBrGDPRZ zCQ&pjQ?&eimNz`8bU80u`r2^J$YQ{;}sJ13j{mn1CH2YTUsm)St{U& z4S}1h`e|_(mJ5r$H-Zz9F!qseA`Fh6K*Wue-2pj9u|wcxz`!W3tq~ssqwtUOR4fqT zA2&fdLLco&A|Q(M!5yZH!x$KKVQ{=G;YmrGZzI@ik``KtzFhm_rL9iSYjrVIKa@yh z3aJ$a4r|6NgpNd(;7Z!=!W~V_mFY3>`KAkD#3VR-lQ$ zyfzGhycM~kyAqQ@M8mMZ`+q;E8Ae^R=%Qi6P(*R_Xy5Bz@nU**t)!fF{`uRsZ-xt7 zH-CM@&t?~Qs+v`*lDGdnjnP!I%Jtt{^N!*4<1%&i+mDKE%r2Fqavz_LwK zZ0sn;lAHntIi=*Wk~efLrz};FHmqDFiHdbCF92t(J91MB9q~+^!$3Crc6e*>n71D+`M!~UJ zWBloLm5A_XBn6PLmt*4Y*uj3ZK^W}u`v1qhQfA zk)uI~ZI9gXvS46zG%)!1HL6F8ETPa^E)l^kx{9_ct@Dw@%t}QQ42%+{Yh!0?L%^8C zb$V{3aZSBRjw8N)3vLdhPc%7E^VOBEbR{B>>>l8y3O}T#ct`XMQwffhCbm%7T>_0= z^T>`-CHsb7-8elpTdnI5RJH2atXN3PS3KiXE7xlRXwp?6le7K9a=rjWYF{q@*ROb- zB(cT9mI=X4(~PWMw!qnOVd)~`TA60>lEcX!&Fi2$?5&Y*Ktv8_29j{ZU(U^gd`^cj z2H2XInMQINcwJJPpPpO%fA9O;WL**@8I(-D4o^YcUArvXB17qxVL>)T0j{2O!385D zLq}%HfR8b9Y)?Cpv#bivSwx73=!Ugg# zJ)jc8t`YR>MnE|KU@+q2Aok8lC`y7zI5*z1^k5!HD9J`<2qKA@^}}*k$NP`8`tu&5 z#b4wFMpHt3ylsm2(&AI&3()H-qFEs%kb#(&5vU%hkzYQ=Xw?c*3W-mCCi<_yQFmgg??h%r1nVkIcX#6mooB)^; zpKSD(>3X0DI~I$X31y0=Ow&-c`fb1ay=EBH!ZSjOm|i_R@VIq-mphSWNfG*2mxfO3l*qJ$=MB*@3{6%V86=kU_;X zEhq|r!YN6%OdYuLXFUDMX;GP7oKZDx_klx@BcXxVVH$v){A3fv!EX+uIy-bN$Jdzz z;2+Rk%8gum&fXzUglBG9JPkYBcF@dK2;9cb6!?p)5nA3xoACK1IDTLeMG?`@KnVU2 z4y7ariC_w6oKN_4V*yMQyP{5@Z*W9IctFM7HDGFNZoO;}6wOQk>&C#{h{N&!YfmEK zV!&+pje9Vbbe^0SQ#iK9Bvtr5gi1IR53d&u=|7VH+9Gd}gyM8>xmwx??f(!&5DCN- z&YSm7C=Pao0}wjsgGe|rUlE6&{us(}#=s~Z2DcYg7Y4T@g!{MSV99=7MZ^vGhnCPQ z1Y#xLr+}=G7SwOY0Y^5 zUANydvwznmPdU$$0VS%st{aBo#xD4w>8J~^v4hsUe7hYV2a@65_6A$n$Hq=>ouMiq zL7V-HnN=Zky1%zql2X9M8i*K{G1#9U7+#66NKA`b#-fjD zVL^nHOrtIe65CpAYihmFH$WsMTPVEZ6_<|>3|8yqKR&SQ-rai;x5C^>-LuiaY#fZNrNl3?Vs_VcpX7TY;adPlbBkaq|)36Cs)O#_K570 z*fs_Z_=IjEU%Qx)Boa6nUwlc$8{>}?KGpn^}O!ast8HL;LV6etoX1w&I;tXes+@{~-rfGi8L z0We+^1wf9HAlk^5j~;884`>R1zBJBDwuTKsD?x#MkHskVM)k4DQv^TC;eiEFC^?h z1vf@cI5uGv7iwwp2#)WQA80uQ`~Sow+^8wR6RwHt#%~Dp78rO|lN+_x(*MkYjsrRE>AFs6sTqqz z=S;D-s)+bl*3(C?vX1y@sOf>uX^xp;JOMW+xj5K>Kk5YLwbQ@iH6w5LK;11?2Ff<~X7G|3`l7pfU2|Iu^a*`~V~{(ONQ+g?l>0K- z9)~lfIi@NSTfb~z3`DU(*F_8L$RHa^EM*bHQZ*%$t(WSSiD!#tji6oo_pTlpXDQ+! z$h7(8j4pjkiye8DLGWNLVkKkY;L%6k5^k4*=9WFX@6p)<%yu0k$IdqP4@nAIfDUa) zW^8|Jc$xGy;$7SRY6ZvQo=Z4H5`smYLth_0xDQF9 zxgfkwc%&BB*xmZF1jOsh)nB~&n(u$VR;xW7(s+&PIedCX=pPwOXB>q5l<&r5kU& z>7_5dBA?H{>}4-`;~W2^Qw-eX<`Kfc?di7R+Ia@t?#Y?F#7)onIm#p-4MN)Z2=MCB z0wW2E?oUD)lcdmubHxPt9S8RDB8rEYNpO|~Cx~!78jgv^Q6M;Sz;;sjaBR(*LLB79 zfnw?G#XQ22^nrMk$z#2@=*meU%gq3{QSI9t-gO9)9fDMFpp>&b*f1;rs14H6#YNVJ zb>p`v@_2uCu~dKkg{wBK9;hr#+qzyDSuH4eEJ$KHB@yd;*WY>dPi|#X{!;XDl`t}VAv!zTvfvpDn000mGNklEmOfi)al-$U0KXnmh%T&QzlG8wrWwRLuP2J<87{YW2 zTgs-JMpcv`M9O5#l}*!}m|Lh+Dm^`Uj@jl}?ndhD*TJp z-U&~h3lF>z3Q)d?UjpFk1lCuhCiM)pSHA+o?8r&KF-yn7W9(3J5TaVM7t5qtM}`T1 z^o5uf>QJJPm_!vwqDBzPCSm6IA(%Jx5~wY4St7E8vl-l1K)FmXsYa1RFfKvO`;1VE zUVZ=Sm%sAw|Mv0syzf2#`tg6;ym@oeK;sDiU`SjuFSboz~HHs2!~Iq;cv0 z`q>D$x`7>=u9y!`c*yEB#RkMATsn=TlHA+I*q3m)HyCFlqCkUkaIEK+W3q1DTDZI9 zl8Zk4;lF+G!JW6=di$nLr@sIF@BPy^ysk|Q94;vwz9GkZSV~$$%VULs{S3IJ#lTDJ zMbVEk>F`n8QYRg_H$}gsNx(Q&526#?XmD{b82jxQ1?oHwHavoO4BTRMwD*C;C=uPp zw66FD7jY$tkoUN^*yWSxn4l|N>B@1Hw6x$f7c;Px98>;VPpZA zI+f3)Gl~w-RKSuXnHG6y@6=CjyQf-Gzy0lBz%5-)osvyWLs`WF2y2)COGQbk3f9-I zyW`C-deZn{pZ}rsU>?Q!4mpe{^mNu9(|ib$G&nq}q;o)fQ*{eslSE`MsMTCHWn&xW z10ZseBDP+4PH#dkBE^PU6VthBxuP3}YE<#W%$~_3XXdv!5AFk1$1z;PfNrZ`loOpY|}VGr{5Q_ZF~V13~SM-l&yt%TJnnDb7Xg*X3wG zIV8!o0WsW5-^5O1oM74Zp(%U5h*ApfFW}KZEK2|&u`HvOX_16W1`VURYQ5c;b0Y19 z@?5wxU;(`wCI%Q^t&;{J;m#KIiP; z-T8ajEwK&&LR`|Q(idX#8KYjEC&wug1ef*;#dHo&x*Ovfb{Bbe`%_ zqTf&$jDnl?IS>C1BNRonBn|@yqsQT^uy;IoZGwHnzim7t*I^-qNc=g*Cy%uI zLk}HUc<7$#bwfGT5^wn9p@*icB5+$+1Y&fozxP$Ie-)6T{;pS^V`K|-ZD*uKY~we7 z+W?1IH z(4eA7)Kar)*2)#Ybb6((Tc)C<1SEX%hqt}=bp%fSd#j^GSrRBB z6dAJ%gfb(mCuXLHdiwyG!0dpW&Ld>#Hc~9h!4l4+36gA^`ozKld{}CA6*9l)$iyk@ z*C~=rY@guu_w?FyU#>HDBxY#mZImu14Fg(;9d|_7oP}#)+oyj+p}g3TXV2DVpq+3! z&MZf;=RJm>6@D}xa&BC5zb;;&(06)XST!o1wh2IQ^8^xZqRzXdJrd3@jv-1L*FU=UhhMzvOIKZeReyhf zjCY5!l-h9=Uv~Eu1XIPar;kL!#rOmQ;=nIAM2yDGfmd!c>w)7y{q-sr_He2b1~<~D zFB9_{;2Wde#xNRjBV5u71Bao0G6n`wQp$%u^uf8g`Io)yiog8JKYzhx&nKaWS|SEU z$9^qz6a%AX)e9$iVzdldWpk7q21dw-!GT;YOJXOCwErl_=%M`%w@LrLbWq7CXO7D6|FhPZ}H0(TLIlU7dh><8pg)I)UT(Jm(>0B$l1pD+mUkBw#9 zN9j6eXICt{GbzNPx0WR0LOMl3n+^mh5&KpHteu%JK3w0u@(E{eON+n0`Ihhf>RwgT zB#I%CtjJ0#b?MVi9UfW9@T1_EoA#{@Q}a=fG=*`trknrx-`~f%Y;m!yRn@tv`F;1_ zFW^*FH-V2$rLt1;_wa^%`WdR;o)Wac-gtgmP)20&0aq0aC^mT`O%GHm+zw zUa)i{-81yv>+gK=rH?}ah8S`2dsbo;cX*J@g|rbBf54o}XPN~8UQ&Z1=su(8R#BZqtE z@vZl|xE0Q*VJzC8L~t%>HUL=@58FGoqy3l50upb{voo-Db`%GyN@xW&Oje*!r3&GM zV70=rl@0R)`#ALUEurR9MM_O>!JZqEQTtTVP-m>!0Y+X?`%b zV#R~Op?sdS7&w^eWA~29QM!{B`kiE?(Wv9#Xscg@yoQJ4Fl;O;_F5;7wj`4935`#= ztw(DX_em$Q-;b_zC0y3*Y08CEX#P>g1=!>~q z-!&2Xq9C*TGyyI{`o_%IqDw(ox!tr$UlJ%L~-GSc%4FYeWS<7;1k_~D2D`CtD9 zoghLIZaVoc@wynbiaxG7M$rfk1#{~Y_WlW~1(9$o80;7~Kt4=$O(=O40P|BtJaF|Q z^Z<0yK}YTKzzBs#>Gbl`pZ?GHzV8EH`O4Q```TCIm_d9%nnGmfp^mdbEI%K(MIB1? zZxyh;{Dfk0UwNQ&>PqKAlALgC@3Bk;&2=1PsTdfcHtbzQ(j`e)H#tyDEU_?`H1|Hq z<)nUyZvSu+$|G9c9`Wife(-}IL?@oK*wevz0!Ty1SraSx3?V=_L#tU@otP>>I-o$= zF}X1A0(2));L5<82tlNjAS?MoR+~F8GO}`bc;v~CKV!|R6^bm2lC*KdikCnC$$f=P zimg@^fvyD-8M)?=DGiClJ9qB>;&*@b>)+l(#MIrl++vwFz|Qhw*{D?^scfMK$jEFy zpX)88vnc?avaCSnEY&o1yckIon~d5ix-K&7>qHRi2)e z((<9%`LnmK^{Gu~TPzcb3`G$#N$FX3O;-p*Jb*k6U9(ILi;#0%$YvfqaB%hLs0fG@ zSYNhg_`0&FACKnV%)OA}{C?mdRd^DR*d-#?^PEekRc!sX9 z$HNQmP_ki}**!4X$+pALIt$cM%f% z@o?7($#EVC5BH<}6ByowB9o{RjwTwGAN}x$cl`d2kNo35MDuVAq!D$eU2{^Va57## zCW4#Xp-|_F<5UyuIs1M%HZr~i;XrU4tC3(Dx-GlVIGkZB&$#5`&wt^ImT7L?wiO2_ zreY0Z;l!I@PL8cax|Ejn4ma^whAiV~$wWKHlU6uT*il35;Gx?$n-|+H9A)=FVw-&2 zB?`6gq(+b9x`9Ytz@gTR!&$*`aVI4ox%3@^{S8Kud_D@~WPFY;`aL#d&uKHM0R7v?2{y)S`x<+(ouFV^)<^%C-%yx(Mv7Wh20x z03!q>+AcPu7)g{BP{-^bmRzdv{a^id!o%-jam5QR)@|YN#9_Tw*6THT z?vYm0Ox?<4Q<+`||IN?Wzj56!|L}+Xnx+B1HL1;MGo8*>OI1)%)mpwM+c!8MEA`%i zUQv?M8A&%RO;sT;x~|u&bwI;#YnqlQ*dmcCrON!=k^YeZ2}_n{0AQd?jZHI~$(pvX zaAZzSW$xO!_uNy~BM(@z1DUXgc#*$68!;N3?a#I8YG>P`n3E0!#d5KzX}X-vFtb$D z_LeM3HC@lAB?jzmC^2m60ubBu6k-{eXEaSm zp{TeybA%ez8hgI>T#?MoOWW3?hL#t!nYA5$#+)=68+8PIgX$fyzTuEu`;CXbL6C~K zuCsUULn8yYzlR6CI2@cSUN7IfcJBJpRbTwS?|+{pvM9$&mKZx}>Chrr`{~9H`9d!) zJfLhCxk5NxU7ef8GG`Kq!I?gZ-g?z2vgWyQ?f%1Qkd{1f6T8rS{M;}4^r!yw;)|cP z?UZd>wrmch+?i2m*Xe}jfl-o5tFWEtDeAmDX&g6MYF>ktg0xWee%e0%_m~Lg66HJ7 za8qgMgj*5k7;JTcuTsP%rUE^Y000mGNkl1tm6NF_ z=t@_35zxslE(~Lfn{6B5BEV6=R=L7J|LRQ!0L{vRUN6GIdT;qzbqHXV8ZE3Bj?1&CL1)7o{Lw{0)<4-(*+0dYb6<+=LoA!OtI9UK^0GtxISAg6%)vM4@8E;QBZ8qmPt zZs{7afUvF_nri4OKwh{}Rn;;ry{-WQ)Kwt4Ydr(G*@^2a#uLsvw^pgvRk~NX zRH`g2mL})sG{`L*o;jPY=x!@WrdR@*$zJYF~sjCxb9&w-At+cW-OM8HCm0a<%E(QCQ|2|2ej1wJ`qtOp z^{)3Kewv237&!7?n%^TYlH(vah+Ifp5CM1Wv1B3GpZLJ&IF-pU71EAU(vgjA1y0l^ zG0r4GHzCG$x(a`igfvZq#CbKEjdxE%b&|BmGXL=krxpyiBP;hh<<6sHFIqgUg#B@3>VnMA{A*O-Vn-P|4c#nmOiwPA%PvmNl^05qEFRdm!_qC_QVRopgCnDW z0n^zOgWRZA(@oQ`EmN)3HC-2&3FKO-M2G?Kbj6w#!>a~zy+bBF3>GM24M={qrmNMu zR?&04J+dTE?Vm1|%QxJy6A{bbPwN0hz`YFe35H=gIFqpL&U8;N{1QRLqJ<2A#iwuG ze0XvaQlan|SYkmeWOFcUP}3kw)H<|)fCEOWSBww!Weu1!Pz|jPkX)agUpO)~g^9o@ zULPc}^Mu(u6J5@>aYmGrL3UOXVK%O895nUppY-c#`Y}_pUf4Zx8GB$D`JX#49@3~a z)XFz$R#iF?92k+uRzVW?%?<>z9^5OPwka-x=%4QwMkFLUR3aQiXrPQ>&fNbI3P4|k zg7CC+=-bFZAV&$f*S&FM`$n{LA2)Dv7tV*0d=8Ws>ELho?uXz1 zzIQ$G{4>rxZR2yF_4Jp#=s8b%{F!H*y8c6d_x`70Bs{&RGTDMflee` zBB8e&`&LloE>fQmACLDIxq!Yyy z$$bdno|o{=0ELxFTqXjJ$Z3g@1VULPykFFSS{p?X(QDCUN!YX9Bu;cmc&R6lJX%V+ zE3P~iU+8h&15Dih@Mym4VJ`rd4(wqE|C-bg6kAVAO+Z<;AW4F()GPDgy-+G;QmIO{ z3g3--y$WR(zy+sL zYON0G0>5ffMpxIWx~M4m-u$7xyA7?D&g7I_rm{G1o1!E#gH#GYZvgUwEK9)4N*SPO z<--pj=pE=?s2dlYzCj2s>62yI-S^AbZ4XRhMg>C|S%Sz+WFZXT{K(wG>fs?l5^Z8b zQc#MjZs>-V%cLbt4^I*m8G`)grn}}AD}aGb!;&*8z|eiYh0(!52j4mrE9Oo$ahEc) zmmD%l#YkF#!Bl5hP5j-w;n(Y~e`KfqaNfvy@I1d`_L5b$>Ty6wIQLQynlxyN+cR02oVU!c7=XISRx6B1XY8h znqX=qntbGn@Q(sbwOmE{Y*;xWPO5+Uy4U~Dm%hl3^;(K(s`~H$_RsJ5i#OeK_g&?3 znfKCl{f~G3;cH*{V!d8J@4UxLQj^UfvDw67ujTuEv>6kQ1i^`Vm{*BKG4btyyNY^v z&LplCp%z<$gFA_FC|b<9hn0N=9MN}gpZLTlyz-T=d;8np%3_H2FevPjc+r*w6AJwv2;i^Yho- zd+Y6cYKx_GPXXZBDk!Xs1)+bg`0_WrbS90!Ek4B>eQ3w-$>P%d{ZMR7wHb9RBUkWqNyh-HGUi zO>C$9so|?=)%1`m@qsbM5^`%Y;*4MgUb0sYh`%S8M`=8AW;C*hNWd|blAObhQ4sP5 z@0uCGilh^8i^sse1C;chL*kaTC|O9%Rh)x2Z$$hn-zNt8HtwxMQ)s?~dke|Xmqa3I zANt1O-Y|e~WZjiQmh3)=Mh2qCvqpP_uU!4*r#$tkXP$K?LNQ52B{Z|Pckk|(zUVpE z|KhqPtDV8?j^E#Y(@np*^qJ3ro*^-nwtKdaB5oN0NxW%8T7Ns@z#oa$@?a|TVPI>(N)a1~L;WM82gmST@X=)*tMv}ZZHxDliC~AOeps%Z1 zCYMoCGVsB`?qYT1XE^;7A>N$ZSh9vmFf>*!?C^*l1y5naDGig{s#HZnFmIF!rgJ@`Z#uY%@;+5+Rb+2EF4 zf32&@wge*vm>Zj!IZ(}RJjc+WH54a{AwVp%Ex?Vs-OM(I_iZNeO)yHWHH?Bp{rnL2 zp=n{&NCJtQ*m*?&t`|CFu!_T`_Q6T(_Im?POi8-@662q*LQ}J;|NXe@VcGVb4}{Wl zyr@0&$DP7nwVMTdYK~lgJ2^OsN)_B!AZx~jOP+uRdlAAh(6<@xjXd#+QFLSmtr|s9 zK#u~tKe*ndQjZD_7hk6lJQ{?w;o`_q7Rt%d#=Fv$j^q&mz{}Z|04wSMD1ochRbVX* zgU$`4GHJuGfV|CQGQjc5ve-X7w*B!>z3axGjgF5V*uRIewUzQN)kvp-DMVxaeHIz6 zAl%c_vu(@92k+l`WO8ED=F`M%;oCRw+;^y4oL@Zr&;f{AR)C|;OixTztJ>JA5mAwK ztp;=^pxOR`!HK5S8=Y`tZnH=h=TQoU|kCIB)WcwR#X%nRAe_Y{$)SfymBHC0Y2*?guvU!kj_C5q~MhX$&1rMV+BYkD?(<7c=2 z*$bW~0N{0)UT2pqfKLuIT9!dzckkG+V#E?8f%3h;mfK@P zBl{;NR8=daQ}6-n&GlA_B}tL%)fzoeiGp{#R4(7Q>!G!y{TtF*e+0{I_q9Au+CitH zM-;m+i@|S?uBY3W5e^=72&3+mCX97Pm~> z9R;}lUS@bLd%h@c-`K(Ku}0M1k2~r|Nzm81vky(0-}zZMI5g}RT@=D!MAh`S{bNj$ zmW>oizWFO2@FDh>e_((5+o&gpHm}7iN65nm$#pkb|M^w?uGixiUlK?wkX?S^b##p9 z-SidEgL~1+QEwa>4`h!VK3uQWHg4Ly6l+xo{o_YI*e3dQWaooBAjpUR;a{8R%+1bD zPtS~wjSdV91j0V>Ak6)2*|LS*5oqkYAKG0imA7u)+SA)ZT}<<#T@U+@;n#`Lv5|Bp zvv2QyJ~mOrTefb689Hzu8Xg=T9(LU4=jNuSAoUSQJvvZ^o@B?42iB}zGcq#bVooo^ ztJki{=W~wUp@Rp@<;sQ)>(lA9mld}HL;SmT?HU^$UAumrGbg3iYkMJYEW5dEX3g5Q zf(J!?IJ|f7-cqS}>h|r5EHm5qWb^N>>i_@{07*naRB~c+VSX|2oKPD@VcRL&_8&M< zDOWab+>p+sckI~VzgS0c>$WYllnB|lX#-@>!L)~u99dXcghCh_9YN8-Ja;m&TN2)o ze*5-Q=jZ1qCML&MjCo`7W*C@6XR2a`=EqZ_7`Tm|>=PrKma>#zNaS}vF-nFzFO-W>{S#+)zo}%VRmvtSJl21l zr0lQlki-JGS;Rn$8wIv_Y;4fBFhz+B8iQjd4bVPYRn>ehC(gG)wZod5<(*}N+ z9x1HWRZy-}D*KO24)qQ8{*!vjmZ$x(cBJ;j zj4yp6UB-;U2)BiW6z+yVvB)BVS(RKS8o*cl&98p_)TccSwJm&d5AE9doo{^&E=ER1 z&pZEum8(~$({5U|YGucc`|kPUoluQKF?{puU;ck@{)?5XR)^gEclLuH{NR)S`H6SG z_q|uV`U>YwIf=gJ)vwN^)4#syw{U&it+&4az3*FGTy%oG{!jnp&)@#`VySe+D_)Kw z@>f@0dB&M%y#6(>~C+m^`Tw6z{hHVC z*#fBi*YA1n%{Sddk3B~KXVvOe|M7`WY}vX6@bGJ{c(tFgLQmn1Z+g?~ z|K#-!_PzcW*Z<@ue?+*?Zsj9=QI(e}Cay-~3kSN%Q&q9e4izLx1<- zn{T@L2iJZd!0^jn@(Nwod7WEtzxk^Fx#|Z$_~Bo@>m6@>+gre;TC2bK@|Vrd%wBWt z_b31k!B#d6g}l)@2@+B8`;2E?{EJ`Q@Y>hD3i&kj(P3cH#;|c&WvLh#C21`uQsqeC zWsZ5-gv4IP+;$e%as_Ji`=R3F(Qk_ga7<*5xL?**I5HLkhaCgoI)uW@E%*sx$02wm zQuL!5`FO^AwvuMG?zp$slS=~iB*CjIU3rwt@nnFHNxO2^f&)QGDMdpksgz*==CfeP zD~cjp8cgVBS1eeTIWjhK<^`ADfBP@p&Az%hI5d9NIp=QJvTbyHg(NDhC#Rh0zQZ&B z^PTG+-g&U5(Ibkgrqfho@Gir8^!xuaHU_(vr<|I*h-0}_DjxYaVp=t9V(PiB}uiU|<#B#UL-Ux-8#4ebwFBEuN& z%J|=(8(;rP`aj+yKK(pDEzbHB+d=+~pNda<93CICe)T(4tBJ3BffofvDVd^ini|nx z^bQn#y2Vl>IYP-kBntNQykHnOm2wl(G&Hk_faOamUeefuzR3g4h9(LO=6VaLR6*HH zOb|~V+V#+d902a9@A&#xzvx_C`;%V|kBmkYpr!!jd*>g1fBnyYdgE_?>C_(pkl*;) z)$e|9*d_w^N(lEGlOs)4-}R1nLd$#aU%zi)aPX^N{>s%~{L<-XocY8jUhwxH{tzha z*|Ya6S6_YRS&w_sW76 z!;xG&cVE5w%Yc5L`m_r#d*O@r?%DI1Pkrid-v5E`{NMjNI;U+rF*`H&l`nt! z-#_+m>({S?_j21Ux4h?F@6Ke>fbjeJdVh57kG^vCmnBJh*Oh6w?jVoCwyDm^($Fu8LBG7aV~ibhNSIS?+&c+jzTu#F49xFWXk#IC z1R@91MW`L@OHjKcFu{QdqT}9BPg*&Nnr~OSvdnVQ?*T@1(V*a*2>?S_%P<5<2D;KT zbXiC{CWzT^Buds%3srO#uWim2tN-?y zZ%oZr0qs^6D~ofBN=hm8_5hhI3-a9L{J>a$?@&*zIKMD8SDIh2bg^D5K5*AfYd4=( zE>#Ux7esMzWF#fa#qy$M>ZV~qmUP{~SWM+pNI;nV6&L1BQ^)lDAb~O1bOkTy7@7sp z5)iYTFW3yj!jsj?m4U)gCYzOIWqxLM#pbnZhI?&O7e)HK02EE#Ib@Ycl1y=}1KTKr zD!3M#Y5XSB0nCeSdJ+=di0hckf*&AtEA<)>Fa7x(Od1?IJZaGl!?J`^Y_B!YO*PXX zlX&*v#N^n}@KFDN``z;v3bXvPDG7R>uw#+iLrM+H&o10`z%AyE=ya6XN@gbn@o=?s z?>T+9xIYF=kZYfpZ3(bz|bP;eOTMif|zNopz{9f*yVLsQrd z#W_cF<&0uNIpLk`Vi_@8U-s^UXtnZ-heR=VUXFEaZ^uWPM;jC@= z38(WcFwL|iy5lbRKc5xe^*Z}szhqzhMzm!uUNcVi9!3uzpev>S_RT~Vy{wQ>j!F1I zvG>LzN|_XyT|~)3s0pjR&%5jead^$SY&N?2(Y4=qF244aFFo#Y=j_?@FmD1no6DVZ z&iQAab@sMx+pl=l>nA6V0QdWqtN*7|D&F+lU%&gke}k4PkZ0gyw{G3~@>ftad&()N z05Ll-IH07`&%cZ!-rwDJD*)itYgRq~vdf$x_uO+g{5v+j;su@y;!!SO_#gb>!lys| zX-|Jz#FLi5{rBAm==aRC&id46KkJym8yOw@@6Uern(uxem}fu2kA3u`=bm@|`1ly& z-Hs<8Ex3BL*fA@E{+)YP^`TzbxHkSoL*vV?#&SAbVI1J3B zzrXLHhjusA0-N`p&Z^zj9*?MmAS-DX#5TjG9pl#604FpFOgeDwRN8!0(#BmFD8?$c zjy%cBZ5}SFjzN=tM;*ezxEThm91$i3?ldM-TT?^+%Pj+H!ZtX(@L`orlt>#45cVxWmhVdp%sI#2p(4>$YxKoVDNyZPV7O`oPG*{KRazxKJsUR`h2G zqJV_PZx~Jqu#K|}_S+U=8*Z^65(g%-t;iHhYg$RIrL$r#m9vR1kUafF**egv1AYB- z3kwU?@?hW4WU(enimK|0O%`TFK*s58s=vPn9%Op4c;Lv9!JZyWjYzvt)_Eg7YNaq+ za83p$973jQ{sSV|Bn0bWk;#C=oR@wYd8|LW$U)pYu4=C zx%0KJe)Th+dFeAQz4T?Tctz7dt{gdX$!U z&$#rNzy8&)Klp+7Kl5472BdxIGoOXo()Uo=JL|f0*&MXl`|iD`P{=>|DNk_*w?KEF z|M>HN`jemDcmIxa&pQW)9yL4?b^SD5|MoY(<9MuIwdzSveiEqt*&E;Rop1l|*S`9V zsi_&5wgB`y%69(-Vu~2V3U35vw<9AX)6>%^^qNBL_9R#c?Ff!w;5Ja$vSQ$qNl25s zPNND}2b9nsg*O1Vmnx2a1QM+ShV%Fp@MsaT5DIj(v_1yPEG(E{IBF}umAuM07*naR006IOEDHbz!s2@VbKGP=;CKX zQ*G0bB!wQR%Q#8kXAF%hq(IUsfnXgtW78A`u~e*l^UGJ?eA69^07!dQVnKrby;`bR z#L5r!^$z#dYPH_}URf4P3&ojx_gO?+wRYvs`}W$V1o+yt%nh5*oSmA_WP7A^dSGN| zVQ!%`H=WMrQ>h$qz|ardCXr+r0I8~~z$F`H&D2%;EGatNtXHOFB~Q1|+GcU)aB+5W zeC_&FCRLi79~vH+nw-J5RWDciNBW0WjZ}+8wOq|*GmZK~NH317_E5}!?8WfR`QiQ6i0t5%?2b9uyCGa4YlPKHqYx`c_*580#XoUE)d=YY% zMiYjbX;{o?WP!6Cjktgf7v~@-=MGqIn^^2{<0aNCob=Uf3?B%8;tmda(c+@ROKz$4@9^?#wop=7@SFT+7jjw(wOzY*{_vWg-g?U) z7K$Z1T^QYPHnA{WL~Wb3YCV@PjI165UMSy_S8LVE`~rL?vOVefNuyjUu3SAhak#2$ zMk_WPb7fIdhsR53bB)TC}(~L|$qhwO`Qc+PPn=LxFY+a!7FauN&+|ZD- zd)D10>p)J6(W+#+SnlcR8OWvUYEG-GfOr9JG7L$NWg@20-#4JoPL)dw!@W7nf`=_Y zndS@mdaYh5*K*l3(qZtbKSWS(ws21W00p1U%EHE$UH5P!2f=zT%KMl`&@T&2X8|0X z>>q!GIU~`HBayhUAwJo^<}6?}6Yl%Sf7Zi(aUbo#w;Kf_pJ%LJ5WH$c zdd`#K-rBJTm{{SQQ-u+>tU8lHK5T>_8&|=f@%DeQ*%@77S-V0$_f+JPwuC}lc%#3& z7guWJ@HARIhO%ily|YijTM+s3wdC4gp{AK8mtTypcrHSS+YId81vOE8Pfd^v^HUZI zSmR3U(n;Hnj%2yxd{?ht`-)e-=Jwle`N8+x9j%)-Z$15tv!3_-7a?Z(`Fr2}_O;ji z-zPuOAc`yH%JA?gYAqzz1)$~!{^o;!^{y-LxZ{p5U3JwDuDRyi^Uebp910T(eBSxz z|J9XOI@i!PdEci!{pruY?6M#J;0H&JOhm(O-bzhRA2_hzM~MgaQ|P;8%Qjx|&;Ro6 zx88Ege|_Q;4onSY8=B0spZnbBJny;t_wBp>7r*%L&wlQo{_&rG@S|(}7xd+;ug+$( zXFcw5Z+PRMop$=^;4(NgbnxIIXR6T|HSgcIAKbTXJH>;aktdDRihMr*^>2R7sXe(u z-UqIiz38&5uKLo>2Y0^Xoqw734yGb4F)+LG3}O+?WrA<3@tc9050pte#MAMY+kQbrQ7cIILI_wfy2p!pv(3Av@ zZAvi^nuOqX+bz`<9DXk+Kx^$vSGsb-$%zJlm-2;GQWR`BlZyZdExj)5s+`I=y&m0U zi-}>FFjmW?GL#vn_L)_!UOBw~@b|C%@o#RrqgYjorDD(Eis4nK=`}#JbktRyD*>1t z8XryPvWB5AOwS@42xOsev`|{C_6(%T^QCm3WLg!|sHOA6{e$C${(`AnwQ5xbzPM8A z8_J7<3@93iUx29qI)R+TSOOXrFngs`0h9~3sdQ#=WO)6`ZM}uu`1tU*{_m%fB^Z{e z>b0~`$oCCs0Kao`E|)9U4R}yV79h;_jVnYz5%iQ_V(WD&m51>tWtas?(`(3sR1}Lc z=!@7v!3))zZjtq4W4fiMQ)!^X6~$&|lQG?t%t}!b#GamlR;iw`ZSC|;zsDx(85}U` z8bEMeHIY>*(}R&H<$Tuz53U|xv2tX@cD~%+5Y}K@*r=js-KUz$QVm^HmdKMJ(q~5H8 z^9zMTXJ_KYaR-PsJ3G62&6-ZTguecMe~H0ecmDqLQ`Sax0D7Hs?&II`ws-vX2R`(d z?|jesXP=^~b;oOTe7rG84CJVB8{Yryy}Y0P^rxTs0RjCBBygN33U3CE zWvrUrKZ2ub9ISaqkAaspM<<>%>z3LN%1K*~8)L%?qhP-g{G#wdW8({lL7{IzY<*QXUSkcqA{5i4Vw!Jk<5_x(BH@{YrjWZUUFk|!967ld;Diqn#;LRd zBrP3PThK2H<+;h8;T5vXwo0=7z>IpeP1CB^EA?uXi1^`$_kH+7AFI@Wi#2Mss)dF8 zz-HT~hLiy)(iOadFfcNh?n~zj%Jjhn3vjcBGkGZ`DTZ1p7s~)Xhf>*jMFh4uo#~Mj z$<)o6i6fd?2iyw-d;y7u?Xr=Dz5?*Sbg{80V2f^4HR@&f(nv~LR5FF$)IWXbFSBV` zl7yA3M?dqq?^nx<0tmJm1~)m!rFDKrzRIHTj?DfeD)=0l@@2Rg+5u7 zL{YIRkt_+4WE#3<>1^dQd~oOqzkpTY*)_wc>E_hJ!sa!rB?0TYomQlo#ra%j6oSFS z+LQ+dSWEX3_xBAi8rH^D8XkF zp&>-=Y$N}mBhTP7j@|m}yA$q=UH_aU=U?Q~z>b!{KDIXdGK&sWCUn8J#jmFJ>xV3h zElohTu4&%E4qik!szU#dO9;y%G7QA*MR8RYhr>2TAtanQLh;EV6#8)oF+EwNYT*!2 z(@0DN#7}_)(}Jft|8#QxX$`vUraKV;;OAY4&e-C*1xq^sMxvMA2#bWC$1qWFpDl?5 z9vU2+ot;~~dJT$5d@tZhCY#%S+8OuVd$)7@{L5ba)C(_ySsLdSYS%-%9=!j)dw=_z z8(#6!=RfJm7Y+@N_~>`#s?~tv0%eWDK=+30f8nsKAkTWvv(7m4EZ_5tGtQizp8k)2 z|M)|@b`}Z+=U}08&p$6PICC!oF1vQ^`qzK{sN(>0H$EH8{7Jr$`}+@n_)TwoBj@H` zY~HflS=hSav5a_Sr3^#4Bhna?7= zB$?9Ity{kL-S7R$YhH7~lb*PD&mKU(D^{*pwR-jZ{CqP7WB>VI|3#9dDEo>?;4JO%U>`SHLad=@9s>u1;84t=5&hKEG{1kC zPn6rl?4BST8&hoa5v2`xwDE&j)xXl=%Cjdu6gnL08Z3|7p2i|iu zrkEg@S4<*V!-zHZ2R8$ik%iF74To>-C=fvyV27J0N=iN9xkJ-LU29lf=}K3kvU~uz z^=hFO;Tt_(qC%o5id1DEA+`pX=A<+`(KoV=0w#LWEm2jCE^4OBp%qb4KK`*!{p!Y> zRfA&Px~lc|<+pEt3QFaSa?O-%;EETf=JS1dV02|{9on@^&I|%$0kAjQ+jHdbd~vae z*r}U4?%p%JVn9};Ts{kFAKATE$z}^ZL$+yXdQqpR7m;*IA=u9Ke|aINuxGR{yY$JqT>c~f@M%H7N~TxI7K*dg-oDI%BXcFqTDxxL z_DyS__O|C+hBh@dkuPA&P~}W7l)tD*hF+(Os43~o_TOR`Si*DG46~-`r>$QPKvgph zk@B$yFt?gPw?I>q%IpIR*Dwj7Yg(bNZ~eN}1A{&D^TnMz@5e~0ELN`h-=8Wnoql?u-G}kgoC(lt>A{KI6P|Qz;F<_dW^0+v~adFTbQ$e z<;UR0L;n>-No=>?H2u&96(X+4n=W^+xL@FYnUSa9_$E9UArb#j6C!NrL5bgy0b%26 z6ak7p1h&5YGkfPgykQj|A8Z)@fA`y_ zWlExS*4gKtd+y_3bot9<h(`07*naROdhcxlckWe!%BG?}aVgeS#$a;<}%G>8dX(O6uJ6&i&iJ|8OY7t{HTH7%L2V(={ql6$DJ6j+R3hBiH03 z>WraLQw1Cv97V>Bu_@44bbWR5+w?Lu>iC--GmElvaFOA=RWp7|68lo)mnXGVsdezsHqwd z%<$mws#4kP@aXWW4J-cPJ%2ISQ$Q|85-@)<1|@7Qgm^aC;cSU_29p1cB>siBD4O^I zz1ReHh_M5e>A|gh5JnxtotQ7A2AcPr z?SZsz`U86Rzmw1XZG!<0=LQjObQaf$BWZ!(#0e^_wU>Pp1*z{ zYA$gp&Cks~^+{)Inwk^{YRhw;d)Zsw_Kv-KcK^lO-rzXOvi!3fZdtv0Eox69MbWr| z`6E@+dU|@$k|hLc+8Dc)OXWh3fBJMnrEUnuVO|Fx02+SCg zg!kvg&OJ&*E8)2UZN=?Kk}EWh{NRX6;wKY_nxKFDVVr7wLyI=i*spfRPETDHW&Tv(A;9mWyfIEuvzhd~tbN^GUG;x^^OUDw1b7fQP*bnoa?9`j^V45jC>EWazz+J&Wpnw#l>k!j``zz1oO+4{ z+#MmAyetS}rL0;;&Bk`UR7+Sk%t5tjG|y zTr69r)!#2#2-rxhq?LvFIki%i6ve@}@K1klzoynR>HhwazW2QK6>>^pOO{y`VI1r` z-u9Z0{@Yg$9GSOLX|p%Gb;a1l7d~!exMvGJR1=b?Lr;LV0J-H%kIk%G8Cs2=twil! z5pTmSEjl2BZG-{+0{#VVmn|t4kbvmXN|yQQtH1O1Kf7XZpr0M6WHE!$Hnrw#nb~|# zN*3~?L;1Y2ar*{UGfRt$iXdUzy6di8h5lYh9!RG`Hs{nz>=Dj7Og6xj1H_Qd0Xa`- zP6Wp&G=t^zxMOF9v$xK<@hU^Bnj5W??Gr|xwq@C&APy>KB)=G2hj4QB!by|L!I^D> zVh31ZjDq_L_JIi$1i%S{r+Da#xDiwn=*#<(9ea!y{$(@~@e}VO7o3TnaJuk>)59rx zCmP|H%((p&4kR8sfJ1>T$q55w(ioc(Tq={*E5ZuFgr0igg>U@w8{YH2Rsfif!n^1n z90G9rpa1?ZiJFA`_(#{kAMg0eSG^w4Z`%N&nIcSPDW3JFR`E0y(q0f&v>f_HT&qC| zBTl#d@%Xf_uRj({sR%; z_qu^jIX*EW{$1EeqH;ou+hJHH} z7yY(;4ibCG_1&CL46^0WFKU8*5lXTb*s7EXmynl)lNJu?gd1R^y&=90gjxgN7sQ^z z8+eegH7pc*G0V}^Lb(Yxj_yL}u5{%@lVxo7OOQu{6=-LC2V+iyo`oy1t)cKIh=M5R zvb!GKv0>8|AccPRvm3Aa>NhpbB+LdhHSCK`8a{oOmui&aYn!qrG+q^Tpbl8{#QI*_Qcl945`TAW|8a=ml%u&x_`^y*b0e(5$; zK*XXV0}x-FohmQR1N^3&bW`a}t{*_R(W?RiRnpn#UV6b$U!gH|>8$fbX!|MaKk$J! zzW)QCE|zMW#|Gc`_LpU(G(iSEI+xm5#h%;Lbwvg$o1$Oa@^;};oJrUcXWb<5 zUtgh5Ny!#tyd8d+pwunt<6tHm7lh6O!_kRw6 zSx~5fEfEP7Q-@LP##7e=t({7x)~{Rf<6r!&(38)kvh(u`(+dkTbMrMIicKKHu_8;` zw{CpWx#zAN9!ALD1B@6RcB(yF5bkX24i zKJ?7fQ+&&3gy0Pb~*PB)NYp=>HNtP4dkKE48Y#fKkyXw&A+A%C10 zs3C9p^LPI7kAL{}FMomBlZ~6Uyz|QUCl4)K4K!@F;t(wMFL`&;9tP&Zx^4u;Kw*Mok|tpcjQ9aI-0!$=$KcT5*w|>a zEO5BAoF1lu$eR^BiJd1qp`;aVOZ0CQa4B&fFCj@H6n5_ zF^*B-elQ9f#A?0}Iv8t6HJBNKl4qI%uo~gGUzAvUIPiVN2?f!Wu5_hid1SlzV~uzWLD~-Fo}oi{&z*r{KDaZvp)ph9xQT%FU;k znras7X<6*)&&=+f`o|BwW!t8e#l_0SPdV+{pWb@Qjd!nJHB_oqDyk)<3BW)h1;|!X z>lH~Bv;AY3+PNZGNvRZzTD=aOvZ`r-zDLG}5A5GxD=w54ClSTWDP1euhHhv%EE%$# z-m-Pwn_vALi=6<(ulR+3Wl1`1+uE;w{#`%1;SVo()`hlK)`z=LRN zRjBNtW&niKRoT?ym#XSo zU8_{}R7$dJJTv>pn}5IK3FmEp`7o!^yVi}D{!WZ6g#~lEG6ALF< zpo)C*Ggtk|YhQN9?`~_UJT|`K3t#+3E}IKKTiZfHC^Rq%L&=z(w2HN*;E*1UohR^P zBkroB2n;5OU&QDv$n*!K+}S}Wf`J30)3z}%ik_{)+&G<3Fh>oCl5XJoplN~IZu{L! zUvjylL|lbP!w#Q{g!r8E1s5u=V>gHnHkI}R5iVSa`C4W@!5!Wfvx*3GP8kx+6$Ba?9fw=rLPj3!D=f~OKE+jTIwN@#W78mQ)v?veu52a)oK%s5a0rAqM#PmC66S}JxMu37ze*`QF znN(Vm6`)uF8WY>Zj30KOuLFZ&Ecvw`{A{774v&mK`-x}t=kk=7Wf&Ev5lm{3Rx$M2 z09c1LK?b)(&k+1Xd6l`ic%63kzh2Suaf$8)B{YB0SY7+aeFZp~%R)QOV z8^1yP+H})zV_G}>(Tsk!xr*pt!<)H#r+D@$k%0>i)#pTXM}q%El}TWW8i^{BXoO+L zmixs~3(q7J7&UK;4vHa7Is#f%|M(y|V+#_R9n|axf8u%P{rcvc6-8;S%8U1Qs@3X0 zf8>Mz`<<_oe@m9Iub#?~^ofOn}Hn zzCe(`Rt4^!<9*`YV|MEDdwL^baYHAXv%A0Cu~|a50j2wNRfPGm44ifV2d_ zgrLOX&Jx9coF<<^9Qlc9@;vVzCdG5?oYx|g}R!!UliXENjSbpx7oC{cBLyP zx+L@sOA?Hh&_OOK6{qdd4>7+77h(`07*naR1j|pfS>}HQ`PjnhbHgYvH$kF zcTP=AFU~CLT6Oi>fiXRua$Pe}whw@{VKYoDDZoQJ z3!u59mFPc&L(+ZydEVl5@Hf#eN36218#kP6-TZu0SV^Opc<398cAG+9-j@XLd2k#W za`DhN%BMGnz9`f-J?v^H;I41zf-N&2Jn!aPZ3azSniZ(J-V%Bna(!_@V25 z`omjq`R!eI-C=m$-G&XDE_l*YU-aUaopHwFI_~)6;Vx?S32Ca>X$FF$R1_W4M)l+N zzcr9wz!8VH0wfJ@W3g`7Jrq-5IP78Im}biB@IeFd0$Vppy!Z7nO8D$@Bnq>{xQD*X#5Y;#3Bx+Miy3%k6jkv8)>#)(xFGq&?&EH$x0G z8EULp*gG+G#~pVJj|^{IzuwTSn}74W=RN1i{r$Z(yItP%fRPhZs54iW06C!ZhPHT>%YVF7?Wv%u`GUS>9%>3fG;cpai70)71C z^B;HF#TR8|(K4z?SFPE7QtzNFDKO1|4IRk}L|mLY^3cA+r=NM+!psp!GM7zHO&qXc z?qY0xu5VbBfOEFJ$MHuZ1d`4dGF;t=VpND=mu;i_A4aEdiNq7S5BR+PHLv-P|N1YOv5E|8 znk5x0Py_G3@19gDwR-j1e4&8al<>&D1>z0Yn1q+U>=HaF$aM=SpePKEYX>MYY;8vI z1nzM}&-*_dF>dGw@(|{V`EO%rW-ExjeXr@6nYX_A&%gV<@9@4T7&#X=pGu&;FCPiq zqQbNa-ZWSJH?U%hDB6xPHNs2?0ANTtoz7DD ziYx((hvygX-mybJ^uQ(0cz*xbN_qrwy_TY@ky8|r5|m114NFHR&8DKH9SBFa>>9eN z)(uU~r0DPl|R|~}c-5vM6Rl(C11$^$N@z-8@foN%!hj-%2qI~MPbW3q6YwIeZ4_N=dZ+^FG znlHcnxd#s&+J5GFmTg#uVXEcZe*NR|H5-ODoSPb0CrP}mEGoHNnp^*jBHzgds6`GV zltcmtgCtA5uU|YgZuyF+FHt~uMlN;_q2#NwDVjk1-FqQu#Ca_E1@EPG?)E8ZJ=~Y+#_l6DY zQ9u*LMaDk^LXi@~(f*+6J#PI@mk5ASyTg;+KorDkw(iYCLDGM20Mu2A3z;l%ylF|0>2_SYaM-R?=c{v5`QBkAOApBuB+=Fl z8npm~D^d*&3n&c`mu`Zkn{NT+0az_h>>gQnD&Rk&RWpTt-LOR&m{-9zOkLO1^1P|5 zePe57K$}o_0PZvmvRNul7J2~9N;<$)wl^03Vb-nb3g-j;F*Ved%y9U+e}Tn^`^Tn zy7;`Q*||47|Jf;aAQN_XHVJf7Cl&ygB1!q!C%$;+0|#sX(3%eA02(ldz(mvl5<%_0 z484E2zi+ruE!7B-ppf(VjFN^K1d)BvMUy@uDbAG!Mh1Iw%9SrTtv^@LW~XX*-$x3$ z+~y5X_^Dh!JxHo|2uV_XVH#U#esN)R%|;of325$3y*y{tYY*OYD^XJUTyJjudA(z6 zB~d{hn(OV&VS#TLF#s5GO+LCl3&luVpUS`qNqik%DA`kU!nXBcb=UBfJFIGqu8sow zqTqll)UELm9zFDpHbl~VT)cBX868BudDMo4V*2@Y*Zt<#zy8O6`4_Z|(r#}b^RRK_ z;MS3NL1RJ&Pzzsqu(uu{kb3){iXgz{-AM=rH}r$y1DtVS3tvz zBw!*2ZoV1#ZEt=1^Pl(JXFumzIJxP^W8mdj2%Yd^;$M2xm|~>u;mOfs;FAOZ9}D!0 zmLC8|GLhUfyWfSTXg3l1hTeNqi7r0&eQ-F21PmN<;$lUS?x9Npccm-KC-Eb&rO9I( z0E-{|;0MvN2x*d`W7pO2CFod?vQ5JROeRpwM;9=&BY^=<5#NFf2Wir5*v zDZtQ$Ucj~3CaFvoVuUOLN2}JVYH0@0uawId`bGeq*K1W>)7TbW8cU^8Q7A7BXjUek z%__RLm%;TF<72(O{deAf&puPzST3yi8x|+#nEI`kd(#2c* zC1O>kCZ~7q%x~FPtri8_suve1s;`#dl_}|hoX+R^2Vh2l+Gb`4H(PqeHZ=+BkpEh3 z##o#{QYO|j+QA=5BH=gu-O;np|;G__^gOm~lH+o!*Td5|&VD2}dg2Tb1BiFD84*BtU z3*ccCgFhn%v0_5Eu^ITU-}iy@AAjD9F25|29Tdz4jyyi%vV{G#3F?#tMy)V#;=5}3 zja<@4bV-4h80t7nvnJ-q(LF|6p_^ucB)B&lDRnycKw@U+LTE3!%3-tw42+{rD6Z!S zE)xmG*@^^?HqIpg;NUfmQ8_6pdRMw~48?5&M>7~{GnL2(JUjwvGb*Yn2+PxUmk|Ir z_r^yPxLv{2*pi`Bqsk5@1q5p_pbIzP0#qvix>PFd7)%yr;3^3yffoQ^a0lE~Db7|G z=P+PXoAS9(+NpGw&_%?QI;IAt5Cw(wk21`ZV5YlXsi9?+B5H(f_}8pabZlDbTn~U| zcs^OlsFlUi%zjI+164Cu6l%hzL`T0Ji{`H?eS5RjmTfksX z9Gn+l7T$68V)5;oyZZJI#S|qyaOhHenTAWaxo>mljx;!M({@a)LbQ|W2`IEhwa7YNQnL%b z{gyGrWs{dRfB9%=gwwY4LBLBz@Cx8yGka?FL=qTUN{$Ha3ZN zNZ^2HqEp}@P$<60_x~iV{$1(HvdQsj16=@&j)P!YF4YP(e?|A`Qrrs{K<65W*kT3dcLM~ZyriiS;zJ5uN=gXyX zt)fss4jicgPmeIo8@2z;sAJ5G95E0}fiygJwN``r2aGf*lxx-Ne)Bs?0Wvxby!F9{ z4^K=?KlhR+L*Y>LOs5e9_CLTk2?{Euq#oS8_u!#vo1Te8hQ|AWeg;Q5C1Y8jB)LFO zDrQEo5ZeiCfG6Nmcq_GXd1~*z^}XbSfA-83t5yOD3>lMBsh;t%EMWfr(fr_8et4yr zE?AZ}U##}@4IMtTueX1Y;s==0FjQMD)fZ=PzvG^TTD4X;9@;yh2)e0OOA`+lMpi57 zd^VeQ>HtD*0$>z3dc_H2g%%ZoA(cme z+vrMHnn)J_qh*m30{}yptLsLsQen%Ub--YNO97~gfI+j_R0;;-lue`yr5QO)EEiic z8&o9-0vDM~23rP%z|7tiM8%+Uh7S1&X8bAzh0a$9Qxj8yEQ*M28>Y!&oa-5&{H|V? z#1tfI8QS8^q1@m~C7olOv#C|)t=haOr&GOy=}d1r-;d~eW8g$>dN2@u5PBXjp(p*? z%uY022u+VELV|6m0M}Ep)SJ)ca@m73(*-3%VJ-l4)9}Bcba^(L5g^Q5GrOr6dRlDW4znfLj%CX)D9@?{FY#iA-F*T%DjA}`( z74P4Dc(Jbc_va5z%}>tP`g5W}>NC6V7(eyN=}g9{1AbiyR}K{Om5-}MxLFO0Nc`9c zhhZm%A{rY)<(mD_L70pITG%-YHvlJFvc3q#62Ea?4)~5n7=Y?A&^K&nI^-R3jK-rI zc)o-mK7eu=v~dlRMAW2vh)E!E=(%yzrgP3a?*s39@2*|D&N=s7w(CBsmGt^>M{qX^ zmr0V!av{7DBfgizmvl`9>a_SRX+lEgcX( zx;9DpiqeQPMp^?Xg2JsRNsqXdEu`&1auT@fEKxtQM2VR+i|GJR7_P=RgNfr zxa(m+yXf%Jt!W3(i|UBl3H zfOCef85W>Eb$)*CD_^~8X7X^UxFCuooz17xdAb!?Q*EsZv}-z@ha#6Hy2uu|R^8MA zf=bK^vaVM}AYCb|tYiuU)Go4|F-;vC`r+v+6h*CGzv#mA z1tcS4v4|KEOa!2n=>fw6x#_O^*KSyw@5|eC5&_UW*6JFRs6Y)_1M5yPd|id<1fx={ zEl$s?0{)K-oTY}>rPSXHy4Y3bEkwY2pK&z4g>0B(Gh z6S$sWrHOS+R*r>*$qt-*K8HsK&_WreBFOwAF)3Y-E!(NM9FZD`WJ#8;g11qu8_hOJ zvgF0%WgJcioD36bI;yE?p@@&n;F$#i@P6ZJ)RT7+Es5gDD8O{Co9~dt{r&wfy!`Sb zhY$V5Ti#69-YcoWp&<|4Vid_@zyz!-(WC`OSlU&J6*AQT_a)j>P%f8fVI`pKXD>HoXzvgd!~A3oII*B8}^%UUS) z_>KXGo;et*;hKCO_flHCsJ1jZ5S(zmgy1KVwAb!%XX>%xo4?_f;&pR4+*xv-EwbnK zn(d(9HlC9tFue_lGqE)lI2fCMiQ^n&eolquXxjrdpw(j8UXX zT*6JW1Y+s*WFrMwVL-n~t(HW&$FY^=KvUu>LvB=4SFt20sZ5WY(Q0K$PFuPrC>Sz} z2(wvj+VnVIpnm~}+9ur+Ol(og*hU@V0jgCrNhU1;7G~5db^tItNtohgKVS!KuW{f8%~SB;M&Mja!Df(amCC_^RH z-`BHh#b~7tkr@_%Hyde&2G0UB2|&2x2#BAcHV}e;bBr; zm|L9E^tw$S&92r|Ny?CnE{c+pwkVk=!EAz>v(Ctows`RnHxuMx$B{fXl^^>yllbSUdv%E;z6PYu}Io%XztrY;h{w{rm-3B zZ46@QR%yI?1g#z+)jC?NkeLMp69)!N99Yz}IEfn_#X;YYQWH!bMad+b!z8Q~g1+1e zJwGzKzCr|k8>$+~rpf9tlud_lFAvqdh<&6QyPOY4ikI-IzVziUhre%r{p%n8yT4sr zTzu+<7oPw4$M^R20T>3!X0vgH*RCY;!JR~u1b3spZA8Gk`jwlj)J;Ah?lKkJ(DouC z$f@I;**LG(V}HO+f@YwD4y198nA7EO(YQl>Rt5aV#FU8t7&ww^FMd80XjChenc3Ny z>6v1&c=Js+-*Ce(2L}f)zx;*w+;>+nMa;$Hmkvo-(}DT!fCNz!PSRT*!JXI2qYRHb zoM~BFT#tZ6bApdPcch)SO~SRJtz=2OW1R74+~{|b(Qm8iyhdzJT-a&%I4KtaFSmDy zul^(oLrLT-8|WB<%E6{dP?!XcZJgXE1t)k#^GKRFpyhAfUFk|!P7XP40Qi`9GJLnz z(^sgJ%LoHCYg0tX4#H)}1J`C}X7=sfyL!#K@zq<$R$AG#RLJJpQAx;Iz-(JY6p^mc z)1jypDvS)9lArZz*)sIr!Id`KS_bgXIf2&i;o0hIot_7Uu|%0-#TKxk)=jOdWc!%8 zEO)CWVGJ*@#Kba0Spnvlu6PFY17XD!g}aDyqVy0W!pv?FfJO`w0R2pZ!sA$2mJzji zZON&$NV9=#ci*ok%pw$_`*`V!=Bb%Ec7ibgNCOCNQ`Lc=&P$4639^O%u&2~JIsgb3 z(CN2-`0Fd*^m2A!vI)o;7+L`_Vp-P;`QG(o12_NSA(~gZ(b#6??vl=xQYih@Glnx9`-HB`{*Wy{nml?lgLmzCQx(VB)3jAmMF*k<9ob>ECq5dU)pUeE}^uehXZ(#HBYKjU3Vfg0S3om zV7`$MeoiZRO9J0HK9T@Pb(gUvHMy8vAAQy3KRr0$fF4DSqbptMN{4bh8Q|mhwaR4D zq9|yp3SApD{tQskG%A3d78VX3-2K3g9Z$I6DTUqvdH@om(nUe6REw5jP#C9HDH;_V z8kipY3u?NqLC>A<8>ZtSwoRAr$n{PGaxgGEZdY&+6;Pn`U}4}%>m_h7fe@zPlwh`r zml~a>M5r!E8A(o2NJ}%Q8=9I+=c&DFdQcNxe$1e??G_)vV2j#rX1;)eO^8lV6x*^? zLzgMFYY4bJ5{hn$280h0Sh^}G>6s%l)05NvBg2)& zVx?T4o1R}R*7|z#jBSRPfQ~ku!=fPY6V5;D`Wx?o*e!NS6Ciz?9hzt{b7GZ+QqMr2 zr5maS(+#RD;)^agr7+MBLDOk?Sh-R+7H3L|B&1{|rPKh87qW0!6P0u}n*-WB*WU|# zcUBRIUY#q~>os+1dV0QG9qtns7fW|NR4Ebp329L)FJjw1ZC%gIs`cY*H#eya9E8M( z8wdDbaGW@e-u%OuXo(~d_oC)dGv1p7zD1SK?M;?E^CaBpao zkr*~n+8f>tkB+|hr7uIvCh=CAL&K!_%mi5OXu=&msoNe<1nYX< z;bk8ru#h>vF$BE%U%n;!3Zck@J^{Skq=`jSiq(&}kr?z%x(lJZ(v`=aJc^b;2RpFg z(cy_hQ<5yu-Kd6Msg#Pv(%@kK>QzsD(i5LXH_%dOY%?ZR0x}lxY9^hl)yu@Bt9~i! zq=umdwhtG&Op?mx7~r*-?IOA)7^q&hrr7|HY_Y}3K>f0ivQ3XJ0@Pfmhbc*lD9CI# zE)}4H4Yf!QPfBHFIYmu98$c=p;fyo+0y2*1_vHWp5CBO;K~w-d0-Cj%{bq=pZowr2 zH9u{$#k01hV@$0I(X2DtSCXV$zGtz#CMa51j2!xDm$$18E*GzM5lj68D*;^-)h zG>N@6^d&Kggw%r3#XTa5dCDXqZMq#hAxXJ!8}#D1&>iO@UfLR(aoHd)435bew<0<) zBt_1F%^YS7{f3r8hSov{)j2hOk+g4oIXvEU7cBdZyni4`6dWug9^ASQ8(9b)lau5T zaR39mrH5m%SFD8LF^*}Ot)e0AB;-kl0JlT+lM_E5{rYFJ49`vCqDtBT%vI%>cv_&} zCFhhyiWwD*qhGiXAPg;J4mFc72^{JMa3};KsB;pyT~r(^gsaS4u1JhhSGv-b$BsM- z_W(PR%jb&a*_50SC81oYN>X~$=9SL6U;vVUuLO3=t!>!`pgXNjfRD`ynRLOn4PZy9 zy;DqbOrQ(UwU^RRaAW zK}?t)aU=p0i$$TY(1Vb>3fd6~r{G}?!}`O$_lU9tK~zJN#KD?QA?uOJxnglq7G=mh z;8=KM_H=?_YPI>YTF)PunO`|HNb$dE!1qdYj#NVQDCD=l>DBN4oBv>pukEDBmTj{g z%NXclC^}%6Ynq{L84wmHk4Py6OOjeu>!xW~B$rRuEWJ9f?%1pTet+rdTL;&VE(AbECLkGM`Vt!DQkyiY$ zB7wY~-7snm0p3W1MSROb z%RvG+slu`PO@zdw@2+&ED~~BTZdRa=W9;5q%)b6XjFogc+tb^Z$z}x+FfZUt5m8VI z#Hr#NOa|ntRTq&UgS#lnvXY`~Cw50%f+(^>i2%aVb;(EsRH+)(vLH&SbjCCc#`=1e zZro+j$h0(D*90sfx*A%7|0&~a==8W?QK1J4TY!E|crto+kRaL2~{mXa$?eNNRB`pK- zo6F@^4v*-j)mO-V@7n7h-g|_`Y&+)-n=}tLu-1AyozXR|R@a{N_%jhD!EIV-2s3<3 zvHCz?VRCAA|A7g1cCv$l2r~+8r2*>#F|MnXT3JcuF4~k;kO3^Q4NslR^$zwA4WtJ$ zW{*OHsiu8oLBH?N;$TLZE1P>}YY!YL?VTs$ zs-v-?JWM1E^%dkyX5+cf$_bx*fFlUB%@!h<`L8!bA(-z#x2~A+IFCC&?$sh zQ4{EkqL!}0NI9I{j-YRo1{nitNHfjjCjr~bIF!e>hD`zW4nQwyM=3^HWC}M^!J*4Y zgTN6zUo+ey8owd4(SeoF4YgRK&^Q!f&{8xGr=4&zaE!I*h7Jye3`WT3i+}jIe2bJ#;sgm0ucD+nYs#0tcMCj5wKjfJO{u}Q&oVVl1woqAU=wI z1?T)EL)Gg#c-N~|rGiA6a=(VoU?OvTWdd+U&Gn#>x^?kmx35U|da| zvax`KF?|#fpfdac#Qxd!x9po(oSt168t9j0nNV}sG&GRXcmMHzAX+W64tck16Jpg3 zAZSfVl(c#cGI#y2Zl0K)b0 zJv>UQ1DD=g0IJqpEL9ha6@oS3&eOSqQL6xmCaK(M8;75L_UN`1>5;yIh^5K0zH6$o zbEdq%R7n@);bF&`5i+j$U z@Rua`=lSEq8PVr71=8?WL9@q9?oiTCBR7)pc?E>J_L(F>yuze8JuyYNgqD z#7K5<^aVx&lfe3dfM(>)`*8-(rViY4!NRjQgf#x=Gk{PyG#6nb*P#Xzh#JLIUP2=A zhQo&IYV7+DmlukZS8TB65_;FoypLKQ732AKOQZoMmr#aBTkLIyPv|zHy@%I?TZfJ5 z8R-0ad8@LR?(3E1f@RbY-EHd(4&A8)mk|Zj4V*)VMLVum$KBawIZt z8Q`EKVrQ?cX;f>Az$!~}DwWOx(xwLv6Fa5I72N=o2?R2{DVuIHhOe0|$SH`1a?xzv zwZPbEdgw8>Wy&*~kdP$ca;fyROP}%j*S=H|$zrJ@OLV_3AmOwk>K6I+jlUC+1&l8; zG^Ey$u3})PO&udcmPHBEea!uX1KYQ)rRdhMsnuplatwXdRegA{|E{|qn4DRp6ET3r z0qtX~YNbpj3s@ND4Ms=DWTb5v5*8}jx(%a)BWvhcN-z%rTzoE<&tOxx28Q~2r5cp@ zEe|aeRUpI3X{%Es1*C`uB)Icn1$b^?pGW#rqrFgGq;A_o`4r3!tX zTA?Be>&I-GjFe|n-z2y8y_YD*Cf4IFO`6kDJ|S1#NrD&h>TnxwU$liMhALj z5s8v~aB2#0{7@l3Fg*67Yrjqp7^ViNO?p6-0mLm`s|oQH`FyO2$f4-Kx|a>mHI?TJ-@gm8%uNSll*csLW|5x$EzoP<3P zN)ksVA$qm}ePci@3I4+=If^(jKP0?~tV8G56x zJ>DM&bKq~$B`z+fk+rr69mTJKg2Kse81Wl3adNQM)tuMBu@$U43U}ogHKT~&ru`h( zRmRkFP6vnLBn{u#Z%)kHk9N`3vmbtb*wktn7x^_8)*oi*Df0A_) zFXMez$tnYX0&iY?3Wr{~%l^%THGNf8(^3^ZnOalTwG(jB(Y9gEb` zGcyw*X0wGt?|_oZu;YA*bNsJFZD`SxljyQ!LAIC+VgTE=4Ip^|0|Ougj41%pwCNWI zz80pbLh9wk1;eZZ<(tp<(UXnpbwgL_dS(mBioCeEm@ni7=X51%nOPzXqTBAlNVI!* z&LyIoc#&Wuiycl(VLfDUu3Q!o22NX`tBnZ~1pwQ#rE)%-nV6s3zIM&H_4W8({GZd>Fnqzp;)aG3++2JrK)aAVZO1Mgig$bVJ9osAT%~PERFj&tNg1V~_nqI535q1W)`Oj-Z{5CBO;K~#?|Oi#t=#Hj@{9(c$| z*ySOCd1unxySb2d{c)RL;Fhj!s2_EEOpYljYK+?IvYIC3{Ew5`K6eu{8yD)QL;Y+h zb8gR0a5O4H8u&K)NW?wlAe36@vZ?SjKBk(*^1z|Zz#&h>HQ(s}C~>{WBSQiQ`|@bB z=#s!)If3Qqy15py9xK7#Se#9mxm}*OXEoa2G>wXCisJIL(UYA44)$Kommyd(fG6{X zY`Itg%xF^Tm3>#7KmxAUOPOpB7Si-ETP*bS^qQtttE+(FfY{CDdo$U5CX=_34Pgw! zoh)D`5-I4UTZG**BqI9)Gn$#MsfOH$lnyls{hxkS0TowE3-IP_Bnz_Cn;W8d6{J>` zQn^f_&vy0;VxlN=tyZ%sFJnt|&o5v~z~Y8CIm?dZwJ9WqJ6%^P8kgucW<%8{<`<@q zOe>1GYV{gI%yLbWMV!fI0sUq(sa!S#Ja$US*e1kdP^8aJ3&!5kaA%?bl7V#LI-ARv z=IL^4Af5$5Os8elp!UOh@bEQyvQKM7A8`4O+ zG1Q71BKevq4*Et$P$-bh@qxbaL|7nh+;V*1bTp1T&^{XJd>~KIQgLtS)!?XOOl1u@ zU=sEB(Ju*jaMsO92oA^oHYn9VLkaP~jeihABye6)+eV>LEL+Pxk9#VT8#J6-zj=3N z5t;;RWT1SBKkAJ>r0a^jG9>YNZuS9>I}(W(e5|VXqfW>Yd^(Ch@+y+z#hsaePI|>8 z!GRB4T_iHM%Ua3;(NPQmU5jH5RGqEI_9^rmLgr zIlc$??HU{ykx?ggraffR2rO@4x?lfAot(6N@VpbIYll&b#PhWE%p8q{P0S9+@6TEaoz) zzM-*vp&z(#`b6}MVS30gc1}ZZ9}7EQIC_E6{PbjHamG0$$tD1CDO@hq>O(_AD^{%& zSRTALLFoC!$TLUHcxgkeQ*vFaYEaVvA#1hD!rbKKk;SQ9g1VSeQvJOJQ?K_9tw{Bc zAe`3f6(r*F{8YU-IXt@ct~+m;m?;-^dwh6k)4H+Vo<5k;IQyBe5hW$DMo>xmekFd_ zNGqKrtVEh?y5>b1a3?b1&)0K|l0j?;6NjUT;Uo}h3;KFPpmw1zNdULF{Z`(#&#@8G z!h>`Ws#V^dLcyqM^tg2tAvGL(hEN0sJ2!#hY?EK&vpFQd%aFLud+t@p19OQsF8Q>$ zc>VEbAZ#MXi}`574mc8z=Z|A@-h>3^u3v!ELFvOp6d42ElQ?D)KO2peH2}jj(@6BiyGuZjIGF-uHm>i^<8+ zm362Ua2_ZE0zzezQJbCs zIasZhWGS8R$@KLM<#YLTIs%5{ao;i<{lx#D6Wlk4m28|>>J z86DZSW$VDepuh-ff##pErPPAMX*;W^eS}X7j?(7Z8D|D|1t| z`eM)ESfPIun0pi1DlpELURj(|OLGuJR`P4kzIf%9v)X7dxVcxGEuO?il~A99<0j&T z^(P3z+RVX%nj*M;0bNpH({&16S&Fa~4Rj%eMa{wy%f_b7y}M?wyya@{B&YD`NfMzU zBbjy#v<1+U!0AC{U5OEDCXnt)!EELXGZPJT@d%18g!V9S5bmPp3!!o3o`df02N}A1 zYR#V5&SWBVY0zz>6JBJQE-zwzIP@8UB!Yt+r`% z6gkr?vJ$2qzy;UK3#D>h)n&n?_N!n-ZCikp`+El^B~78DgZU_S6ey~6=~J635@+4C z<$U>wtyd~#ND|VJQ>n#;X+@TEg&|R7+jiYuxO96hJMjo!i(aX#nyO~qrgzH0M92(9Nb?o&sQ}AVo#?O)kbNF>OsVrTmeS0!$ZTY1`G6g`HjWS(I=HSrPvvrvOm{xHprcb_1YM{HTpkH)!8%?bSpA6{d724zTNO<`H zFyLMt-ji_>7v0fFpxCQ5-OvF8JD=A^Ax9uF3EjtzRCtu^IB@8feLyMnh4-7w<+`5? zUgFvUJ?~QSkZ@2!Z2`wOjxGl7%84gk0E|vL08B{RpWkB!fUDKY&A+`#!g#QMAm3A< zDh%UMlg>J`^Nhr7t{^LEdY~?*;0%x(lux-**8rjEK*0(yoL1H9!tB)c?c0GdW*c4U z3$Yol6GT}Mox}Gip@7**MV6%-nr0GHmNI}t%f(WqJeSS(^bd?ksT9j9wPGbu^hn8K zAdR(J6|k>iV?~m4ne1YO{ZxPfx=aIuQgTA zMXSTbj`E6%~8E2muJJZ>SF7$R^B;a40G3>;fH)kJy zirnFq$SHw63r?&KR1(_;X{8WUi&ic^34cg~5sK{b^@GGfUt1DPHg?RU)9H{wk*+MS zKxI>*#a3&YZcxK*wqJ8v_4utI0r9F4w6J^zr&3BTm+ijLqZH?T)oOKJHvk6H*~-X5 z=m-Gj`C#w2LG^|lpcjEDPYvcDGnq$K19Xb6UZ=;or&Af|haG3ne;EKU#H?zX1Yfd8 zSJ54f_{9!00`L{4A6yg$z@ag#2Y`7uFRs9s#Z#pN0}DPG-C}Q3__mNqLtBV0jtG*# z2z4=VS56Ayr_z=;)?+AL0DMdVFbS=Kj!%l*b=O_j-|)*~aUmtiTQ;v>F}4DDT|j!d zTprL|UDM$Mlgag|YFVvR3%$LPA_GMUG_0o6MZ3_S&d)DsTHUnlY)a1Na?{gO_uc!z zDO)$4dg}J6nVJ3j_pMklwsq_Fbhd|*oq%gC9bz+71Bl#OrL=qZ1EQ#mj;~p@Vg)eH zn1VwazL*sF+C;0DYqfH%T2_>Fp=SutH~`3Mt+H4w85rkagq_Jw%rC;MZ%Pp*K?c|g zSaY^KU#gS}=^mIE?gwn2D-dsP*qa`1Y+Gilk=<3w&djmDR@vcx89(fhz)l1%XM14p zu9{lQ0%E5&xCCnMiqW}HFzHM#o67@ihoYjvWJ*Lsz`=nry04j<)5ebBF1A40vBK@O z0QUoLu~e{g?c3OJ4^?LDIJir)08F?W5H%MZt|D!!#i=F@4*AVuB+8PIWfu0nN-+0j5;?-k~ZwuK>F6h%P35+@zn|Gxv$6UGq7zJuAcw0eAS#maFxrPM2GxmGV$)l@38VtlAl z(Z+^*H?Q9)Vi5!3$si&y$k?`kxX|jwv5}EnPd_-wb~#=gg1p`hygpN}_V+(l-j`E!g?zzV>9ceI44rVfT6ydg-O-3s?5R{5 zC(Oxn)NXhv8v?*|8{QmblUDK?cB;6z*xTRV*FPwyvI=E3WeMAwTGiBArKTCCX%ms< z$8szyi^y82s5Q$bz__Nxs^y;y@4%&1NI-*AgyM&ADFe3E`$H8e5`yFJi(UtX0p)Wfb#z9SVZp9oO z9SMGbyYdJKG~wy#=~At+9GXfe&=;{CzdczzIy%~Yp~qUB_hq9L@_K{>Ygq23Px}TC zFoDin9UXaWH9)86^0|CqdupsCe^}|>?0RkFF;;X(BTlg^Y`c!*5&^)CH^>s0sy;?fcPl9bs16T^f`8c zsnIG28B(0f3@X?R8zRTPGrHHwvrW!hC$ zom;FFi}khZRuVy6w`%41_-H74u3ut;l6&ojIS%D6ai1dQLHtGt`|PM(Mtrdli%!SqVN$@31toR?PRZJP_Z6wYT`0!3>9#b`B53PE#SGKzs@) zsi|=98@FuH5q})-Mfe@Q2{Cvhng&F29>-H*Hi60T@DS?C2_w_fGo_lX8+KFZ+wer3 ze@Yg5^WyOEFzU+jl9`!V1Lg$n5U(3PL?vz^G-7Sh7#@0zHo)20*>oz+EdO^5fZDtg^wdjsUpx8yhHRKitfc~j)??Q;dR%qUlCrq;ou)NmDI)~D!cI8+43$`x^mO$JtxyAIhqs@IL3T9Fa~ zQ8Lz7aOTlQR>m-Db@lM%#N_l0fZoCW{@yeo zV3}rGaPmXPSoFCNmQxu6O2a1mAGllCfB&XcnO$o8<7NKe0&^r6BEUX zJJ%8vr$2GuX_zL!s6UUpFZB4!#KeS+(!3$80NIN;K+F@w^lbO~`1lxl3=0%pA>Shi zt-DZOVA``%tB#F5ri<=q1d2UHC!>XS05IWBPq3`+C*xQNycBLNbQ}qcBF&)-fV*|_x`kQrKNbRCr zACqGa%DNVqeE{r)bt^uygp_CoVSZrEAV0zBFUP>7YMANjz#l<5>4$sU? z&&|y*%r9h9%EpZwM}`L+>|oQC;`E5AJTl0>dwcrwV*ijW6?!(GCuK7BUOOnIu79 z=85_X2p~cCg&u#Q?`wLR;EZ$I;#gq+xFe(5U8(LY%I)pxP1K0#B1y4a>K5J6h*Ru9 zzw=|(cmT{fn5Nz>_G2f`OX=(F_Z+$;a92(y=>lMMG6LY{p_^VV4FKar0+0QIia~7; zLqQ5`XRLrD6Xclf6UHtW103pZ7}74D6U$y5-wpMYOm@HL<{hn=o{qPA34uE{D=RBrUl*EVd@5cLz}kB^c)?z|GBz2d3p@+C zM{`qC`MS{ljKBmnFj6K!0Zd{ifaA%D0rhi{Sol&jlFIZYpg^6f>oNrNbd}TsT80$S3mQ_L zwM#7-(-!FB=S>3Iw3awkZF2ing4WVf^-c>YBAkEvNQgwszj|K9{1kLcwW@yMcZez9 zDAvU{(MDfe!m2M6SOR#1gUUDelo%2c5|!5nloY(<1jD5kn+|f&KQO* z76l(|6$m77&pdH{z9CJcnq#tcTen%f{5=5UMqOR+b3v<~uV%RB&fI#eFM_3C2SH2g zIV6V0HZPcDQ+{O~dz7$n)?nu@lX+t<0hv8Sd|a?{<*EcJ+km~LsQ6IkQ6j(W!fl?G zLaS7%OpxPBrAn0!9X_J0i?6{)`{-2(F&8x?p~A{ls}MvdJv}`$GqXZ`g|I&J3-T-D ztsW!bjy-bt2p7P5D^9rBZQJH%yZ8Tm zc)!=L`@Xtnt~2M%%qdsvrP|l($qtUdL|fpeVy%6yYbAmC1?H5e<Xjs$fg7u5Dwg+7Sthi;b`u~ZJ?-z7Ez6+yQGNYbKv3Q%LZI@XYMRCaMrud;#p z+akQd5-yJP$R92~(K$T)(uBBEDN{${ICB={PJ$g$53qBuB^KqsoAfmF!Ru)jst-`u zy@q@PS@!b0q_s}R2i!OkArjEg(a_OhRhmHAHGiq>Dc68~r*?$VG=jq@@N^*|48ucUBnx35pkhdLSr@i`wJ6)xa)W1^4 z1?HEXu`Y?0N#yVOt{c|j@T{sZJGnlCp zwz85jR&LU8Ve8YBtHBS@cC@k*57gQX66}O@Fm^N!hTE+i2=mKXsjsWsD;U0C-k*6i zPHUr; z^Sc4lu}GP1inacxJN%L^S_;ba@e-XZdB3>`-#b;A48-0ZP4;-1cNPs3N^vx{20Cbl zs?tkCOdQS)ED)9eENlCEmlGR33I05*9pG zLhPq8HKpnvwXqsxxwa-)o_cah_$A|j;F*|nYn6{yDx`;kGxAZ4Rqs)8k&kUE>~+Vf zHVZSplXCY2ulb_-$hGM^{RkGf?5y?Fkd}+C`wjNIdOb-*qf&2J(Jx_>6n$4*7ia@b z!G{Ia1HrMer0%2RU|wx%+_S9gDUHp8#wOU9^|YoJp6+7V$f z8}-Cb=GIbbm*7u{Z>?BuvDO^w@Gz_Z<}{n&o0&Fxh)^%ro4){Ih|~;(2A$>F^9>Xk z6?2m^MK3-pYb#GYl1e_E@45$EWIm_Xaes(?n(uCy*pH$%{~V)~IEQahkz#CSYn{dv z%i-~=7D5J}p~pZ#OKb{ApGG?>Z{HfUv@dv!e0?<*dO~;?D(weYhhQW5^+ngxuoO0n zlj~e0s?-tDX7M?(c?u;EhPXI~`2GnD+HQi+f0U;|us2p652}@LnWlvm3o*(%q)9`7 z!EOY+HDl>Z@%b1?c_(vbbK3G-+r4rA{hcos9eSSxXTGT1yu_w_prT5YLAK;gTw$qi zJ}^!J^`jFS3F~rTKy2OY!TfBY^s4KvDir!eP(GE#cs5U*$XDRYTe(~#v#RS=LIvz- z+7KpA=xeTD@!yjEH`nv5Oxu@0l=}?D@0HBICnqMz;%clG?ZKh`zTJ*j1OJL!Us6)i zEc~Ao%xZ}@)3C5{`ZMwwTrQ_`W^a!dhQ2R{Zb&_-=g1a7uN~k(TF{&OJKO709F5cg zR-@X$>G|6DHXDjbOvHrDZ&2c1G7h)gnARkZXAT;e513unG~jL0u6MmycWXaPhV^@| zUE*ml87yPc_cU->L?rfo4!6a&({Bmb<#LUD48b3II%QwUzer^}%`Pbix%%H`!w?w7b?aL?C`e_d5g#=w*kW&RO5&( zM=Qs7#NDRjF_t>QdDbryMQ|QIi z-x{g<_V*T1$4Qn-%76}{zOoIrijF?yR730~tfX*s`MkcKBY(7dZ5g%9P@4`(7@Tq; zc4M&mIQpu7QBvC*mJgBNn%&7mWBs1T&KxO57PsUfQHv9UdCXMd+p`2igW`Ot7mdpX z=x)1*&c{=k>rJ*^x1-eAPE)*_?QYxcZpSp2kKZRYK9>!}JJ5}xkom3S<1vbeUuKQl zYPF7h`2v$(W24qoRLpo@MK$Kg9BX|tVl7x+F2~XmxQd~~zBr!mcSn;6L_Yg}xB=gw z2OyUDA6HD7yJ%3`l=_;U;C)xx-TblzEGAP~eGW$Mq|%BhmgzYu3rkp1lpWPdZ&v!M zV?X~Sz_`EPSQN>7-QJE%3SRdd1O~njMt0-#xv$Vyzi+o5BL(EwTlj%pG5CJ@cpQ!; z*|b9=6Ism_uxwMQ;penSe&oanhr(b@_ROLoTsv;Wcf6yQU*D86nyWS!1ShXIGIl7>v7Z4MX%F+|!A83;!uQ;Y?bHD=a7d1&$`s}O1 zqPlrD5~le=Zm=Skl<$$r7SS|+2LjQiBfS<(_go)x=;B?J2^BulL*KQ0(sB&aZkEv| zzR|70SSa>c68=~UOLbk>VtDrj4lA@)zuJIbDR(@D+3zq()2{U}8OZ54hD@N5dAbNj zPeDv?;K*_^GBWSa`>i2wIl}$B7oP{CU)FO4j3xQJP6GRvM$UKw?_@QGjkaEJ9jSiL zyTh4SWqo}jFe|01$Sh%-PSZYvfkG9A-IxEWyBR%0fR&X0?rcvovYb_pA>q3Y+KGMc zY0pKzkemFzK9EOLK3*An_4vFVhj+kUcdObjKTeA=H|{d*yXL#UW`_Q(>pAomt~Xsc zeBa*K=twc}yqJ~D4k4~#L@_HkJPU$u79F*)utC1pO zb^CaIm=^qczdxP-`h2r*X;}u=WCAAbp@{fR?l&e^?mKLM2t05xNK!S{8ctsqRHvQX zTCf~os^ImO#+kdZ#vCrzTpVb3XBwBc5GdsqbWvX$QECi2v5buLxEt7WkRlSYms&pTTU; zvcY%rrHV9gsQdQ2sZj^#`x92+oyYo1yU}pf!9L#fwja~I;q!#i0wLz}12Ea_oywf{ z|AjC3S=GU3X7uHCHJQaFKW_?;?F(5n-sX~#?P+!8ao2U7(42~$If!BDb0XTSR3HwG zKrGM!JXy%VV-Ja~2lDG_2;Y8UbTnYyes3Tgh>p(P5d00WK$YMW&TDXW$zV9lXV>kn z&Rq?^f0a)UBg|*B`*K}~>TnyrMmwAl7!jWTmM(U1H+GL2E&@ZZx($K0s0C`#Py-On zh+**QsW4P*(b7Iu5M}8*tUHq@zNtJKSEL2%>pWv1UuLKqnLYtqOioZCF0WM;FW|Tt z7e*b@?AkA~(mAc=vb?dCBjM@(4*gLKf%d-Hvv2iVhY8;5ga$I&{G2tn_cO1`^w4GV zHdC-Qgr-H`@6qcT2g#P4Wqs}{kGn@D^2xuaoM?29(}89`+ajxyT0QRNP#}0oX|hFg zN^izBc1!05)lB-74AkM21?EyB9@Xi5`!y_w7WDHv`PI~^h?B9Ef`)JWLzI53k;#*q zHq`8GkHplaC*3;gUx14&S*74ftO#}F**4z0yRjI3hg`fbb4M%Q2>c@1w>DP&d_gfs zLewZ05Bh@(_S4wKv77>fWhzkEZLF><<--N!i%?BfrGlMwanGhI7n3DK(K=-SM&UeF zLYH_h1*P=9k-(hE+R)PMBC$&jFP8PL`xpN2f0rw$h6E0+@bS<4F@gqlKf-y=(^_Nl zAmqUyc}xas0>Gya@;P{~UEeR7x1n7)JZ>RsH1z#G7zMvN;!7lo7t6oAkJ3)Lx7-Qu zd9uB4TLB-SQLN*OX2rjp)>AIae_BtA{`DSk8uwA`&y*-1+ppbU-5v_w>7!`Qw07Lj zMLsj#)AfW{%KZyAfak^&jXB>|o8&eW*pHegWshZ@y@Mw9hUlyX)M0`5Yad+P z_GtmH-|HK#tfp1aq!wGFR(YIO9DtdfI=ffS6d20*lFF2Wsf4F6I~yAwr`14nw)-Az z%|ZW_B(V<$SI;8=1%T91rd?0vtlqgFFy3Ibcm)ixl+To@M}`u4p0{5C9aE?ChM@i9 z7tJwVucwyR3ZUn_4`++5U!UO)KX-aQ_lN2C@eRFfkAjc|;9Rq?4cw`45cJ)555+oz ztJ=;Q@9F5Aj`KEVqSgQwfa9m*$CZ-6lwmuQ)0HJ9DS%4Eh@=S5TdrUJ#$a%4^H&6123Ys~Tw zR6&2h(g?~I8Q--jb%6I60TdPT7(RG9dn}YFeXjG3wn@Lmr5D-nH?Vs=(&c85d^o22 zbYAgT6c??x2fm04W%>_3x9@4;F<{e+V9&&7aDy|@al$v`)+0M76&YP(eI{@_Lf-xP zO0TA&TC4!c&*k^|uADE?>my*d!GlJcL|3?6q5ZLLpMp|&QkTs1v0L4}bT`}Ta2NCk z6(dEtK(&abj**iSvI;Ua)3zOeAP_+gIyz^-J=1HnN{VD^Gua=Kw`u^4v0vZXucq2w zj{bdj{z*M4F%g+r8!Jm*c#jJNw-Ipg7DDo#uctn5kAyj3`23#tC#&_xK(0Q=g42m8 z&h~|{TazU6K-=1Rza5vU*%oO;I7AqP)I^kF=H-2<8?XAfXkHv(6*1oK0>5^hVElzV z4OH0)RQwKunAkyTA=sJd)B-{n;|`Z6vznhDPZI84>)n3DC2>1G*}4aX*9`9T+E2Sv zJScd=3Jx+pFdW|{H0=M?kl8X%(EL0#76(r-Dby)&91=2|?8}Kzs|qY-mC!*ni%v(h zjE_0n?&G9N4xE8!E%Jj)EgqEA{x_s#g7bF~vM{`e_QiONlhe>yNBzwF_BZmWx&-6h zGzPxM5l*s&uFLd4hYOBIkO|kZchiygsHld8fXO56lBS>iD7NnycL|3BgOF;h=sSjV z8s8z_DZ$uNd>+-h#SHfrL#*KsQSqIyCnk1HY%GVIGTf}-hqUgi?|4Zh?AtH6d)z?{}fV2g!LC%6D|H8pF9`VDQHaQzr3q@gX&x;Cf-ktqU~ac}240aI zoS&w=X=VT-v`u5=O=w4URAph2NqCAhl+VQC`a>`&Sm8^eTp2G z7E8Hcll>U57wYV6fLp1#`Qt1!BXMZp+pH$0$;5)ido`VKV?8?uqapbB9HwQ0Iy{@C zWG(hRI%09MrP<9j7V|?xDTi5n#NeE*iMwS;(0-|^F&hJ|5Hl@a%*G!KXUiW+pFvMHroiDQ9A|&-LI97rwDrw zH{C3@-M0DPPiTvsAs=KHN(X_m@a=B8yXAWrag}fQ-2VB)&9IX&8opzdL8bG*U9cIn*ZrHYr!O9Y+dFzmzLd-8+a^+ z-*zbXzl2=Qw>m?KgR=;51}?kaT)Wom%$!hs2cWsgLGBBse$y<=;%1^I>bbfY-_bD9 z5VH!nU2eEutT{f&CK?X~0YMAZ^x<`>T&1vrMm|O`{_4F&t0!=Ba1)R@lM(uF5#R@$ zrU}6YVbaHNQK~RjCO@yf44~G}(>ce)1s!%sI)X^bdUkw0AI?ajPFHF(XHlW??kd`Xabn~7h zNC2;Nxi=Uo_XB4HGYZ_!u# zP6#1F#G!7MzT*q?*|)Y7Dg%spM+_QymHLB|Z8>s*W8c*DctcWilEa(AFy=q3=h9D; z^*K?C9#+8Kt=p^&qpg%nmw?@XMY>5zF;tdE#{E_05+w@5m?0ME{}{|J68hw{-oh=% zF~h+l?wuB}qPULeB4^=K^N@O(!Ak%gQZb_x8 z@!M(f*ECOhVj_**@zK%fMp9LoBh1K{3YHVpx@;NT3e<3PC*FP8E~qC9VD9J+R2=|} zGzFpzQn?^(+$2CAZR_=F+ixdX_wsz96k5t{Ur8aFEIU4d{2xc;CJBm{Q5{KKz8*7` zX7^cR^iiN^>c5w{d?ToPbjJJHztKU^$XZ?R)-?w~>0qLh03bZOXSZG=P#U>AX8s+y zUZO0@ugN#X!~aY6OOZpg7xLTjU*+pI2sOJ(oklTxV|yuN6PHerS22xzfq7zOyg_iF z^!Cb&KENjYdbQ?HRLtO_eu<)>meg*Z*oWF`a{-cmW|pt#w;#w5IN`BcnEH;6wd=|} z7%rQTN&PL3`v7N{qG{j($pvtgcLV5(zdz366YVzJiV6z@Par`ziWL=~wY%Oeo&(;{ zE80KzcQq;0kI(C&vwhplF&^w4|ESk`Vc4*&QHfUkFv8DrHq{H4{OAuryPPW|?=TF~ z)Z92cna$rTPTes>Y~cY9@ge<6`=K>8&Rw(}wO_8x@0%32*mXd!<4}ag zMo^^>8sVaTx4Lm@;J^r9ZEcZxYbR_^lu`93iJ{mr!TKh zeb1Z0eDf*qYLVaucqSgjbKVtTQGI^E_jfcyw& zb;3C}b-?QWZ1WrlGZy324E+85s>A7Qv0Qc|z@W|;0tEiYid{Cw!zLo-Z3^8OInE&D zA>>xIVK+39yU}Po8!WWf$!w+!L!a&{`rEU&be+Ed6_k)BdkDmTeWKmGpvxVNTWo?hu z&)0uf-Y~Dkeigw9!OIdMp}6ekfGx7u;aFj;n7R2_2;{J>+di5Q3ZKK3hI7L&WTM>N~NJ{(z(? zPeSr#piaoQ<5@{!3Q7`lw~D*QID^CMA=U_!&}Ia0azVkbcv&XY<*vHUhFkE37w3$W)speh5JC1^3$T!t*75S;AQR$dDR zu4hG>rXChU71`KJeyWZ3l@Oo_A)dTKr1TLwx`r~!i=Zb-4!SkQVMrx7;PtSzILR;R z+Q0oaX$FcZ%gK{Oqtd0z(=;b)9ABUQEGCsCRNv(d+ss1-29V*<5s!T1`FPckzi zRHPdJ1j1?gfu63$w;X0~OeMxqE6}n>>#wtvVD;|bKZBW}YVD;H{}?SaenW9m|5*+# z`+LCZ0aG8RnMMLBaThrC=Z9s(yG;NvM&ogonG8mxrKJ(&0_wxvv|t8MS{t*B-ez0Q z6Ztp4)mvC6aP6KX(jo`YUVXk5i-i7qcCd9ZIdRYf7=xK{&`enUyWRe2tbG2{g5(+1 z){7>up8jaU_Mzy`M%`usZ*^Vp*x`0pv-giD!H}>+|Ky)r9k?B-UjV^4U)*g{A%j@j zY_ockW>G}^&DniC*>;8)sN;)puH$7TI$zH+h`p~-4_<(sqM6?w98VNb6+Is!ddLnW zXb!Xx#BpRmLdiOFW>OewX#D>GR;L25C;22n`2I$fhJGhAxzhq~4A~jbM0rHyo|By1 z59honGDL~jT|RI0>SYkh>eU9A=X8-+K8Pt%C09p6TtdVcaCbMu*}I?_-1cig!HCk3 z)3qZ>KuZD!2T_I8Q2_EbF;^()eceldMh@io)N2oZ^YZi+)-z{{jTi0v{l+& z8B3(gG%DwEMb`l?u*$G|OCkF@@I1v(qf)CjqMDugG8)h2^FRKJ4uGX0#BgNL|Kr4#|h!dOnqDdv$pckL}lQ=QV zA*IyjjbF#d+01RPXZW3lupaIqXnJIu@u)_d@x!9mu~z9H*@$1H3Pw*L>}9GtzFM6)A7bwUC)BK>KbA7uLNHlw zUuYlVTl2cd4-}%xq6SQAr49!gDTug=VFH!)D-dSTPJ-uO8e(b>d$1uD^@$HrAwmLg z>fIBA8+1?@P(Q{CnCr`pN4A&MY?8d&slxCMXC_$vyejSqh_a0s}CC76)~ z3iB<1c!p}<(9M@X%>Dg?ZRZFA~?saHwjPTfkK#onN4>*dP@OnP6Rvr@@t zJ(D1yWh~$i#p-&C?u$pzEmcMS!Bd##zdWJyf`fy-c_zn`h00n33s0)3 zO6{%}mAcKh7XVB42Hc^xyQ%Ngidh{%QEsYUpZVQQqx{GXEAP)Rkr&Ks^tDW$dbvW5 zy`i5z>!+xp)9t}`Y=-As;80b3PI74-HZwS_m#ep9*{9FP!TU0yWRMy90l0ewD8(L+ ztHT91q6aANgV+`vHtuLzsQ?o%A|qi_o$}fzqSqwnE-U^V*&22@;17(pPNZgKWO&_8 zx&bsaN321;#dIQ5&k+RWVMo5(2>P*=6~Eo(8a8bC_>`ndAb)N=%wBKax4JGquGV$Ty&_pA9bb^4aO zm+_piok;zM)A@v}$J2RPm-CBzSQosGLtGw*m2E%!hKnqxDQ!i5&WlCO?Vs~S|9~fz z(@4l~z5E-piSMxIzv2@JhZH9LE*0$>qu&4Y-P7XiscgaQb}>@_Pz2oP3HBIYKrqp7 ze+#B%oLpRhq=#qb>vp|JCjw^vLY|zjBkuk>N$5Kcx?HSfzOPv` zqqto71AL55vz=%P6TjC3USfJWo7ot@U0h0E{f@ay^Qr!aaxPkofxaAs@EF~~G#!Jl zQM81r7A@U`!;j0&dviomO`!>LB2us;n3H>kIL;=NHC_lzYg>XZ8{}D+%w6f)K(}a~$(lb?HoV{2iuq-C7P1`)Om1|TKv-sqC9M4oqcCE1dnQV&z>D=Lkr0YB|leY{j1a|e(+`J%xX0+ z`6w7B*@o?7UNK zvM<<>|Lq*!=nR!mc&Pj3h<+xR3>8dbp(uTr0#6pzh-z4!sE##eYcyd`47<;Tg#|##MDZJFI@vkY5%CUmb&W2oENOx975bYX z#p8T3Gm|R{Xt3S@M{xZeQN?np0(WCQsHey6C=JN$SELps09)D)>hc*mM8Qb-g8d)Y#LXBXEh>HQt-c-|2Z zxFBwr)>j1KVaF;gQ&j6*^hyWh1p}Lm4_1sS1x&EaPV<;(#W<33tH;ZkOAFqvag+8` zU#v`4WoG`*1xU)>y5zwb?G*-?fob89uz^l2%p=gM1~xj5h_Tpo zOtn_{B9?DdqovP5KM;6!A@ygP5!Tb-4}%zjSDjfpYc_8Mo^x8+?n}z=G$O8o>5>Hw zcGa%f^On(k)$S;iyC02cd3@bRl*J+&YB5(koVgr~|E_ z1h`8>E&E6;Mm!z|l5hx7ko65jP`NRF2j+l}GlwP*VxDTRMQ6NO$lzsMz~Ed~^@+vFIOW5^B!8yu1K`0b%>HpsE-SE~8ng z!)ZBJ08~RncJ-qP)cuHlQT7jY;LMK&1sEo_g;C0)V%j*>AXh7<;g1Yz8qQr_x!(cj zSEGZLzCNo`n0@kL|2jHgu^*XMq3Xbb-vC44Ehlyn%6{<>+mvGgPl5N%$a4kpS3JS~ zxGJrvH)aCOES8_Sd2xi*=NN`Ppy;Sk!UKwRmgTw>)04V6#rGniU#y zGjWYB|HirnNuiGh)RovjFpD^0`{^xR2@akO1m;IU{nZR+Sf}F^dC9CX6a}l-W)F>? zjZguaBu4LY(l>7ko@0r$Kn{4{2}0iB6Z*QnY`;2+q!t%zceO3}H_2tSz{1WRNm7>9 z#v{epsSIsI5PcFTVn__plcZ??YtDK+3)DQw_*~}zwyxG~X5ww?`E!4mk`25#F>;x& z5PVaF-x|E$E^w)1Un$QX$j;We&$>Lp5eFolJI7#^sKQ~xw|sj@u#{){0ga~D$YHI) zvgtGtNE#RO#nUCq`6P7i#LizIPmT_Zu9j{2( z!oia|E`4HH%uyV8(^P?LM>DuXqrFHULfWyuObi|_kV4k`^As@^RUuKH1B zG&Bxt+y5!BiIyq$`YrDfNhIv2t+@a>sHpGZ{Qywwp%qLxUGMaQhu%dthQF#XGYCX4 zl%$^#V1*HQ?RXMSYMMtY`6%Tn%UbRK+!3T#P=MP3{|O$!B%pu`BCnTWrlF<=aRG*< zj}TxIioJ2>1`1oN6Y$6I8jX~dl_>Hf)$w|V)Ez%HryDt<2SyHNEg)_`P_8l&M8?EU z$yKq0LC1gmo^EDVgwc=SlJZZAJ-uo`BzS|=V%mg1@sAA~{JnBX_8|s(aa>juGam+9 zN;)QaQL7)nV=53?_q{~;!dfcRc`H1CjF?@PTqi{qyJ*W6 z18TNfPFBNpjoPP|6KDsyij5G=kx^adCr)eqX`WudL3Kjss{UN;9Y`bPZ2!J4V&dRJ zUxH`c$e})IgOm2c{K=mmTZHjaH}M+9>w{Bko{9vy$V^2`BxhSHYpAZnF8TpSWv9Ph zKJOdewZUC-Y$SvWU5WX(lcX>P)Tzu+*+d7Sd(GSQD6yd^+H8p<4W-%wWqyU;%Ft3E z?P4Hx1+4B}*gf+FtmHRo z&meF@mK4;b^mD=OiwWonb#)HDVmAIJG4L&uob`IJ?io>T=e4Bl?DX0h@fXm;dz5yd z%HZUMAva^(MXbrzV-1ikzcnSB8+1N-t}$jfI=Ia=97r%EBf%C3Aep>%M+hbukP@KG z%05~2tMRt6*hESNNf|3}ihtU0xr!LcAfbxVS#R%S%8DYQV00Z&Kxm#DlKM=)~ltO&>Znr&^<$@vYt zSBJ*wcq%_Zy`^E1hx6?8Z`=?=R>@uzMmqCZA8>SDuAW6&nuRWh1C{mEDI*9b8n``3 z{^*kW#_*cNj>n%WcfCK3L>2c%qV^v4Xy%o`9ka$sGMc}+2bB>;Rvif8(#hw!xHjkx zhxp~9M0PePX9xS=X**mwut_7ww%)@5CqoUf5vvYmG;Dt+WC_1xs?vp;Nc3l970L;@ zsA`4)Ayy=BOy?2@?T~JtOJ7taum*e(p$q7(i?iT_H3MNC8RiiegIX9Yz;r6UMK5MX zue7$bgH%tXU&&Q}vksg7JUr4Vq{cy@rP@LHqKV@gNjuTuF2QpZg;=OAvwWGcl^+rA z*~=-LTZHX-JzGjg3XL7~*8QW$sV7<&phPmIm#ALmOIc`@ly1HXXOE1~U*S5|W`Rv# zMfpwQM{_Q%PpSIr*g}g~c7`sD;K4Zj{DgTNVy1QJYpH`wj89beuDj1H@OwcTCD5FQkGmN|x=}` z%(xTrgAmbUiHk|XSc1(-1Q;q{eS0FNfmmmbt1c-<#$iRFqbLlK3*0H___fmms?@zk zvmvFU0TZ7b57!He#tZC_gOv_ovCXen1uO>kz;2$;ayk4Xt3Dr12s z94|5X{Ee1~TKYb=p^|7$6CL9SwOdxvM*x#*IIlj7(U!c*H;o zpIkodS=!)pmR!I+efku!q}(oS-XHNx4rO=gr6*#DYsuz_SWyL9JXB2@PYufaPLYY$ z(2s2F*cUuLt*dK++39AQ0h$m}_OF=@{M3OPLcJk(Ob4pv`^4)w-T-d(1GrHDh^#CX zfY+Q2;W2n6dQ4l~w!13+#&SI@iywQo4-U=(`_O<>1a$yLp6xqs%^Yv)B^UIzdRLB_ zhMHq(Sl2M!=QWkKs<4^A0f(vG-ZV1tJ^t@TzI*vwD7Kf0hzSXb1!3dB-%aQ{@$wno z*<*Uh+7(mCZkill5041@5gR{P*mjnv55|yzNk;-5axAMAiM_K!c%VQ&pyo zUeO6!scyP994H;e?4Rq67jAXuzsRSZuCPUO_^xn!4lEp(*>)*IBSt> zLqb4yKF^MoowQ#~PC81(4|>02F_o8bHI2rR$C18CNd$$5F<7lqhmw~!jbu3d{rw#f z`-w-9c$vv&?Lqc_L9g=l_bXHKBQgIh&C{#y4~36Fhfues(-#K0dq8baO4M0kc2gOi zI8ZNDF{r}E*o-5Wlv}Sx->&w}fgKS@SM`mkq7bSj7VzewW!3holw*k0;Q7?`#a-`% zOBvKUrwkQ@54l)o^5~Z})WwcpTZ5fN6dogC>b!#q)KQ}|EsC_&O(0f7v6T?56t_r| znaAeFTqAraMDP+!*#8jSqjJZaE{X9 zj(`bk^si1f_Q(inWyc%JP5!mrzhz&urfPIT;)_`iE+ z;o>`EqvO*-OJw}~g!V499V@%8k&03%?JTHpMj{ngor^bm_uW3j$$)1VN|-E{Mkm>9 znxBuQ(bEo$N}JSM&+Lv8TU)!YHM=mHZ1W%eeyn2G+~5aCZI0=PoCI*k+O$sHH87rt zf4yR$6mUiv+?vpaV5uz;%%xZHutuc9@=~;1#%6Su1dG3!4&k+E1<&B7&n`qBuwf=n z)^6;-&`i?!3Zhjs{xn21$Fh7&mmKU?{qczRpzmT-Z>+flQKPR}mY?~Dvo_VJqBe2j z|6D)@W!|gVluE+5a%dz`d7Sh`UCPGw_*jZ~)AC`(F!reZcZP^fqSh`*W*U_Q zOBEFn9V@zywc@y_Pa!hMOEUM5>;$KVoEjQx&9rdlyMm8ASLnSXZ3=;Cb*V^21sOTn zes~>~=Z9~e9Dt}_lB0#oNnZbirhJLVln6tpBMgxtqwNKbQ&2$zjCOEx9(Fr-y3ZaS z9$`X9CM3jncDWCbIbhNe5#6TqPf=s(zVF$z%cbdDSBd5UPHA3DQeG@ z#*ocxO9q>G1lvROAl?x6tN189RAj=Ac9^V^-XWdl9OhGTK=`|93{6m+X<%eDEoh=U zE`zvN_3qx$wjIb4)>H1Al`;r=E{^TiftQBYj{~q&nL+~E zToBjq6NffoWyGX&6)nl`i?dVS5jAIo5fmj`E@Q& zE%W3h=D#3Z{Nq&cy6LQDLK;G8-M{5S(2vEXrKEm8q57{*CztEJ8LnoXoX@n^UDEcV z&PrMCotvh>oRLf5y|^1N>R8cy3k9Kyvoz|AW1a_FnG3qtH8Brm^8~fI>i2vyF{Sap zh#$?0IwTl&CK7%t@*4U|jZ_xxUxQDy{8-7ysn zQnByPtCO&8y`$1MH)qhbNw^2<>hVAFHgHd3jVY)i5@u?hI$nU(dyz#AfLgrodj4npvc5I0YRkl zE+99KHzZM`et1f)Bn@C^GRdHaF)Ftrg~A^&M!J$cbpGPRVsm(9Zl!F5($>65(u#-g z?Y$(s|V0aPRcOiWw14A-!xu80h)_vHcM50(yw5Rsk(K_s(ArG_#{l)h%R7+@<> zqJBaQ8b8JkV)8BI%=AHY@5vs#N>jPUG&2M&VQ|li>FHdJ7}KsP{nNAyr6Fr@(d!SF z(c;t^PPwt2uzMzmqEIfJ#6xZum+Rn4vbj~3MAVN?hD!gLS$fPbuoynBrcRcpJEa+= z6?jWqEY{%XZEVT4o;2!Y!N!Gi?hhOqRKUecDNbqd*@YPHmHMVJFx{lHi-dVOkhMep zolE()=SZXX_LRm@8_zPge7Tz3@m_*%&3&dNlrNxlRs$0QyS#R`LkODS5_C>PNx92L zwH?B5#6eC}x&(#6%Te{Ng{CW&e%9DU{SjnkyO!LzO_wL*| zH(IKc6OPn8BHx=1iBe^D55JS;;p7>3v#>n4CD%X@QNfHfU6 z<|L7P;S?jN!Iluj;eIx4+er8Kz+$|->ntH>zbjEFU<1Qo9xm)mWvR$K$+ z`;_@*BV^+x+AzCy`>wd+(siGx6ruFUC;BQ2QnL-u{62Kr#c7iLSj@NFC9nrQn6)g1 zKrzv%c8^3c`k&;A;a2MO_WuCNlMhdHc?2W7RtJJUYXHNG@VweR^VT1BF>PGVNLQRv zdO@qGhp7F?=A*wl{`9D1lcUu#ay?8@@Fx_er)VNfXbB~#1=CJu)oZK187ISKxL?1B zc84}Q#_*u3nKYyL!0jA-33)*S%_1bwqF#g6Xtz)Z>XcC;tD*}(fxHlBe4~|Ga^5v5 zsCH5w>NiokYPdJ6Vk(;+IifIAXfeEzSM-T~y`O|e<~-U5y`Kpo@soDZyy5q7rmuEE z??D{PvZ>e|De|!c`x&yiqfu3yuAT2$ay)|-3y$^dzqq)!#@1q4xbmQfDHyDsyY9DZU`xCJVQ@5}j_;1YCLZ$U2X( z^_;&%ntRrgl-Ma=7hWsWuoA1WO~z{}MH8iTZFi%8%w%Ww<&3xFaO!6LiHVKwl3y~#&r*|T6~S8G zN}BLmkS1s1LrM}vGmU&J#>z$}wPtwyZ3x$1`hb%49~OKIcO~#@p0T5D6^!}$tKs>c z|4O|prT7SbxpPZ^$(peJP2E_c++8%y#`qUUI|b zK1aEze#8iSs&^RpC8tt(B3XJ*YBms$cm^X81sl@GYW~xRD(UJ`R7@ow2WD{OU@__= zPBPY1{M^d;scm>pvMEM$Rn@-R2wLQ2X{la$6p)JK+kJRN!sEUv^Cr1f&)#Bc3f$FD9%NaDljCQ~HIJ;^-s zZo3mdjBVvRTpBINWrx5m9&A>fy7Y6f4CmP55WT40ZS>Rm9qDi5rqg%Kb_=VAJC*Qo zPJgTRb(K@Ce~9#Z+<6tn@oNnnTEb=M47}V%4K(S-zh(y0%VOnsrOEP1glhUm@w6?^ zEs`8o7ghTFl&#jQmMl>%lIe>qEk~@YR5r!%Ri*cKIbF9Cn)uN- z?0W0&?I(+17L4NremJa-T;g+N;#x)+&FmG~D5gu((t^P9Fy;|%%*o*Lpt7~hs;vIz zJ3Xw`yU83)_=DYoJ)f1LkT=5w;1(8-ZX2nsMpNHGZ_-pPvqFT!$e8y}MgJ#Txzgf7 z%`8nuK1=GyAwj}n+{o0tts+)ZEG)7gYpE@&7=j&^c=(_Dj7Ina)<>bGuLj?T%hl~+w@SZgR4*;P81tz;FF zrLB?v&`&zUm$;ZDRe1GHd@Yg8u^A)rPm1EImZj~dx?WF~(ZFX&uJWFjB^kG;2kimT}wwFx1?Z3yl%Sg^sJ;F_QbZiBnKySsaE2(H0( z@BxB51P|^mIrG$c@B4Y{`xm}bH9tVj9_zjK>h86>uWPHvTDpIMN{&!Pvwt(SUZRmb zZX0ScWP>ZUcaC3@obEwMVi9qat06bMSbS?guP}T{WvaOGtk|E%lk}qes2)NZD_NV~B$i;J)E1a*Gf}5JrTMHR z|K<4IHfU*fPhkyHHEp}uqNiG~{7*l2`@>KfUZ38Q{at>|exM{?K)Pm{84zGy!KA5b z)Qqx0xEOK0Sv0LcbP~V~ov0HI=V-LXsP%x@*BxUuwCB6nr7vZtlfu{V^?35iyOuSu zib75inr=XSV!IqTWwY}mm2TKg12l0P)E2GyXG1Ccf_ztJK8K0UYe^rxemY*+Ez;qM z7EsXMr4%*b2rFDW`47axi}Yx_(b^&On^A|Zt!tndtk0`fbH|7o_r-i$gx`3E0 zBDN5Q_U#N4^D-d(3PzHZLE(?hed(J{f?g_Nto6J&M4)4|R>FNt@rmJDgIH%&k4GF< z8XVK=wVPGej&qdoWg$apIU@cet{Nhx+n10b5oAno-7g33C-FnqntH+f1S$Ac_Sk-;Boekc7!w-kjWs+dk2bMwVB3 zTs-cqS0lsQu0U6d@~Fx4sWBh-(5MouIO$%2a80is9XF&Yea;aM3ZI=|{oC(})l@fH z<)2m^9yuzEw+YbwT3pSK{;37{A^GWGvRhVk(}=E)Nmdk(2ilK1?|DAB=a?nyF|n{; z@fzy8)kE@>@RJC7g6Xm!d9A#ve)D0>*_n)_WQ;dFwUeyiO*w6)_&;oTNNjC92Dfs3 zx@3&wi&OH$kH#KM7ffqj7%HL5So}c#rp9cbek5F;4^;E{C9d^I7)47j8cN86oMa*1 z$8nL+^l+v68)*widjP*sCS!M~KWl}h!4^rem^)dW9J$bSH70?zYtp~s*ImO**YB7~xL+Et!SnR+#2A z+n0Gd!%>KD5-&@gmwRV^vDS@f3?TZkK;cV?Z}aU{Q!B3{eNXri9D7v>cYzVO4=N)=^h<`*)h*>YpTaN~)y@wr zDy829^;`3HVZhkp=j#< z)u>0df_UnFVrMrsKHuApF9!J$6C40Ia0@?{WI)E3hb-#kavi-r;VYQAnU?=MdTVX| zGg=#r1aOk`)gQ?XsIB9-b1}8Sa~C&23;5QFV~CcvUZi~FD)C^tJX@9y8&2W$NOkwJ zZ=^ih;n{FC@F8feoJWqher57AQs6~qIjuVvHraS}fEZwhCp)}sM`yQIDO3{5XIQ~= zOKY1yIgAOK@29G&EMtOR6e5O=bmAf}#y7Un}j)A53xC8OqP)6}OWWu@hD#_aCK zYqYWknv92yDTcbQEUDei9)?3$brpMeNOgat1R9O^d#MBly&=GMqRl=C-cPNhwo?fN zCuC@_)=Jfi_0?HIFelqK{;E;2DJ@38JShW+3~U*b6sbtn#K$*-?^@ML6&lYWr51S? zFjhaGjJ4Ob-qdPa4Mg+=dDW0sgmQWA)U}LjAXNKyvM*2r`^}qqvDc0a!#;W82D`2Z zME6WEAM*2$E0%^4eTHk;571I|k^+*#+dNnyAI+h87!sCP^8*~5IdMc@OsY%2c>7?= zx+6e8bD?+z(zGf6vYo*@nWW($^VJiZM+pk){0m*cx%C{Pcw8nD)d}}#s*pO=^jQ{E z0uy?exPBkEE9QXZM6q$&1POkGHcqmFMV7$g7~P$(6qLfO2~*ehjYN^!{tsg+QcNg= z#Q?Y2YYFS>@Ktl!8`Ki=dRxuFKN$1wYWP1!6lqIL^@;ma0h4(;(9uir#_IBw*5Omk zCKw*G?ZYJPlx7K(x`>m}<48ew`P_a{T|A;ud;fMYAYO(a5fZ0p$>(-32daq^a#^zA zx3vH}(0?^AlJ1-P2CNxxEM<5G?WqJ_l6Z9LeP>6!>E6vqwRxmcNXu*E1C?V6IW^~! zrbwF4>xRnx(r=ct(@QI^Ye8tDHT*oeURqL*MjWvcODId^qh9)MF@b?`EhRNDUYpWX z{+J5-^1g^h4wWroLk%dcr$4OwB4v>56OAaQw5?7+gFM=$UiDHh3y>9Mdl@}gBivdS zp=jP^9-y92Ycv&1B{@*WT2r%uSr{qZCoX7N~?jIrNrNjvs>vE>-xwoga{KCf zZ^QXw?_FG_Wcu8l(YGd(jL{4h&#^x+-#BnuJ9qtXT9_!V6QxFFj0k(M)#`g(z|`zu zJ4;m*sBA7gY_@qvItDK&C1A-(+y}2#pPk-5@85PHx8VR$sKhf^Ask_D^}GTSl|p_) zjmo&GO=TlGLlR+q{O_^6Z_=q+HXm#toAnUE9Ga67CSN(41P_>N5Q~q9NIs}fu%Y~K zeltf&qWKz?v!o>gt-`OKXsifODpph$FGk;TqpU)Y)RcB=57jgq-E1ZB`DJZ0Swrv%ZC4>(3TqmOQqe$2enr?+%!S{_R?7O;^6vN> z0zmz*+41g7!rP-JEZQVKc+D39TSO}xwPmIK*sHmq?ns8i!!g46kQ-wrD)I5Kba$6n zhB{X(s_`sivcQ3WhbUTa$HdnZ>nM#C(tYLrn6&6NW>;R)u5!Ylo#x{Co#Q<{#+WYv z4q)tlPujah4_mc1`6`bB*9~seT6ynk8xZhY$e1;b(24`J0n;ueS=e%^_w1JO5#gSOgmmg0$j>xj>JX; zQ%RS_?ypeaev6|SzTV4W-h3@1M_K z&|_uK_PWC-E4J2f9Bnh7)S7KPd@5gPQ-6G2p-_ftC{m}>aIPjP4sbm*&z|)g4!_J;)A^z?Lv!`lZ8X`jwC(qLnVbNP8y!R zEpUr1%(9fW>E*CBzGz~n9g0>WHKFsCor;e3S`kfyA=^!zMQ@G>km6lfQV%`P%a{IfJ9Vw@e#5P z0~hh26wwj8N@%Xeci)Fgj5uKF6Y3a@}vhdK7^ZanS< zlwT-cn9!xwRL(QQ^es+}DeO}goovXLH2vtSIt~8^Y^jcYIDsdgd1~l|dbIdP(Zoo7 zYSNUD7U{SGhpEMwaRT4f#HyCECS!u(hrAPSN!CrH{Q1OsQs*h0Y3}8vF=}jsZmq<@ zxvjY2EzC6V2#TO!+x6U?IRUzLyL`^iB(Vb?(q!JR?{M4U5+uKZvr*`>Me=Kde=G~s zD!1bJEsh3-jHyC2YIuvkN#CV2INXU>`4wC7ueg;xV_h|#%55*4bWGeT@XyMgjiRhA zX}~hLQNAUY=}*uoUiU3)s2B0%?o@bPhQMG-#MBjY4XfbU*KTZxH%6`3^7>+AwpP3K zvR}>qtToekP%;52pf_pBip>&mR6@|?Lun4yTwN-@;c>LpHP4KU9CNgt$hUx!rQFb7 zy}QxApTa6EvnY}-_o6=>8*#?_Xe5&VdZh%=UFZ=zaI+jmUtjQlKs!7}3P1UNBgu+x z_9m7{VF7Bsp_ES@9GvtR({lDQl9X*E(vX4h{TbUE=Z=>h z#{>GRf$~`#RFtD}ekP{kbxnSxS||g2J@8D(FzV;BX%EO87O$-p?Z@stk*QiaWe*Lx zqHdks@fD;7Xlv$EQ%40z+^%|1<}J|AdUaWSPyhP$HSzo+vL9CSj)4dX)+{rNll4iG z&g*LwVMo|tq zORcRY(v7Ynnpm()CL%7_{-j7#$b$|vYq7B|T-l|%Kq`G%-4aTZ)Q5gy zfabjRVv}M+PB!e6a>4}9-7*cEbi|vFHd2!BVm>n2ncU;+zv9SKY@I7cWEK28yYD^O z!yre*dD|e9yF48_TEAU)ruBaCJ@7PtjI#QLw+M}@QymtLv`%%l1pNgBE_rWBELf`Y zOv5!}#86RDWtj{p8!SzxR&N!S(XNu3(Sk9^F&zde1Zb6ApcV-xWPX(x6GqU@xlO9* zV3$YdLDP|LE_Sof;149i*}wx~|HuO$P&?+H!gBFWFlP#fiOK;nEmKNLv$VZX_{swy z&TD*I4>aR6$l%$eueKl$6ry#y-DMaI{@Rxy`HfLR4er_Y`?UW=cr=Qx?;>@?aQ-Rw z$dgf5q-wj`7P2b7$aJmilJ$$xg;`X*3}@}ncZ)v)%7OY@9^tC4<;=_+$c&)?J!Rs$ z%(k3J?C<~`j%}zv7qNE|w)Q6uGYn}&F81IN!fWI>s1;U$)JT*cJkIM;ZeVoj`{|PLr2y7&yt5(TA|luel$L)qiX{W z+6An#`A9a^Y|Qe!m0?8_mux}&;L=Qm;`u$TCz3>12T^`mu6*|=B}rb7CI^8?nOM}P z<;j!gMdaseKIjrhm)CNw=rjzw2#T%zGlJLaO>?Nyn%fWk!bB6G2bJ83X5=oG`3;Xz zLQ|0hy|;FfVY6tcTSGJEM!SIu;-UE4v8}@T-4?x-0cu1+oThA68js@`+9@e5;*la>ZYyWihifx0{#KIO%9*H^5`Na)UtNq}A>; zTg!uqR3E1flZ5r#My~MINx;|FYEA0uNY(=0V-_`QhRWnV5BJ~4E6UqEz`isD!n!7_ zd71Q=xJnj$x60V9S$!(k_t(DBH#q@?*d;7E)C*Q7QA&2E^a;=-DqjbXjn)f6_i?PN zx5Qo^Ktihc3-rW4E$e0{!wRbi4WQY1r$4am+O&{|J!sI#jV*%Rx2@rc&yX5rAep6k z_#=SOjvMN^Mw?n@GD*msz=+1^g3IkOIna+}?V|q5`xSKIcmZ`^#EGD(P>-sZ1pP$hf(ztwBQl)96bKU#W!k! zk>>O6Ubtd=VfhZ$g`=Bufz6)2mEZKWwZpAHzn~J29bS5e0Ru95+RG;i^>t>q=(d4F z2Zut>SKuUK3_GJ2B-uRX=fGU%e4V(Ua-E7(B^<>_K||-y$@u!ScD#bwxF&5;uGSwb zuH|~sYUcOB``MY&7A=`032qzs0+(rdbpZ)RDQqsn2(PMmmaKUo-| zqZMyg>MK*TGKom_N5GDQZ!P?$Z6<%#SoE+o1p~heHL!OFYmi&+qwieyL^7A`h`M+| zv5TUA|CMSI!hs5Xh&stRyMI((%6_YGJ%RJlVT`U30_F)@ihV$0;T_gJ$x;IZHScHE zKl__Wnc!A7dWq@M5V*9on2fWgvd6Q$qdnPNd=ysDTZR(G4@c$+Jhcp-nybf`tNxIS zod>4yg?0kV)_OncY3fWvNN_=wD5Bj5YN_55fmv&(>XsT)fxD=5;vHfdeE1qr7>v|4KY9J~T4^2)mcPCyn9 zEtjflSk%irwZuGO>ixBIGHE?y;GZ)bT3-RGlDM|x0IU@&sXh_*>JS<`16iir^kLYI z-@&l(;P%y*$`ERWOJ#|%h$lf^ODm3n^$>4LbE*coEMkd7eCbT(3_o2uS5*ME>zP73 ze5~}$K=((ct;&1ZfQM@vV|7PHn&s>q3SPxicfoy`2oOt=JpRHK)%xNDqs*!Su;Xv} z)VGFkt9Kg^1vuh7Jav(8$NS0#WI4$ipI$6f+JnxT0~WJr-{bzx&9VVw4gSog|By?msG=5ViXK#8xwrnSE0t=*0F6E|vaa>=35s7<&{eAxMi(e%?Yf*0B$B1V^i_FiKYtR~ve zQ2BUB2i_HSq3$!tLH!#qi!ytbzZ0a~H$-o`Qu4d+_~>Lt=%#*L41cWFEsYb-u9?(Y zT!Rb?VUwNG7FT56@^VmkqP@d+b9iz8MorYw%Qto9>WLMrSyYQOljG-n8 zdu)mPT$$#7KOXW-bI>=K>6re=t&gcP>o*RI=8xicEw2>?JMxsFda!$S-H)QwwJw2a zVYDVC9UXuCfHTTp(=$k_9MX>KWHu>jZeCuW*S2S~&5JUF788GMNAx(eSkV?w9pVRj zj!CV6G=+7(R-8PWjILk)X0sC84CFX^`$usuxSg@uT_3@67Jb=^Y(b4ih#bFrRyQfc z#YvtYTu`Cp{x^Kd7@v~mw$%u>euA3CE(Tv2FGl&;blKD*EGgh} zSkTAn%rK)-@uPZoW|H`e%0Vt+^aJCEv9K5gX|w8x!X~_*W!jOcsPZ;5;~_|EIBrhp zZm|0tj%ETf1%Yi*?3>2vd1u(Xg>@T@wz%{${7-dZ0E@Mg(kKe|0x+9}h7&2%c$T>e zZqQP7xa;cUgr<(wN)yBPE&hc|4ugsDTHlx7E>~<7!q?T&$A%f!Sjvm5?vJKjMpyeW zk)S+tiQCyce@G=2v&f<+ck_OT)FpysO3MilfHQ*@qCpaY4r+wskdGm|nxD{oE{>HD zQEhd0b|p!7%Dbba4h(Ut+Y4_U5Uctz;~SIC5$q9Gf&Swf*ud11W~iy!4P6U59O-^o z$dZX#!SU*r{z$#2YA(Q8yK|ZtO65qX0KPzz&=mHx3trL>Qp(D!_wS;QdvkTpIO_g) z;G>>2qZ=#X?7hjL0&`%j=ldIevHquKR}s>fydgDy(<3632jdCl@hwz+kX!YYc~#cz zX%E@}6*4eLu2XrdB3W?Dsf8?RZ%kl{KqxOZtJm52MwdIDUU93-&f&JKtw~BavLRWL z)%#TD++?mcnBd5RaJ8s$Mkb*E_0=y2ZGh>iG4q>()BwuA4*)OX zd&1MHlBWeDZ!AZ3vh1|C<-(tSn;nLW{_xE>CTKvym|80St`WQtD(T#_G=LF=)l>TT zJ@pgxq?VItN%Y5U{C!+rrRq?ezHx8mkGSdjwIUVyi*`IXT)U@XYM#FOKV)uJd@I$J z+q&ZE9~nfjuVSZ8$?wd|B%dP4%9!b5)ogOJ^UI7*n=?OLajzl`rKgc^g06-`*Gktk zQ}J$6TBq~Xyev8>z$p^tX_5-|t>We_aGMxU;qh&IVx2F>lN}DTTG+g-8E#G#Ug0L| zR90k27y1Xv(!3UI9*Uu@UPia56kQX}V?kkKercD^)m=UC$U%2kfbFdYzp-B+L|#{B zL+G~v7AE>HGU0RuFRb-C>{f9xT56fT*`TOWq&n>Y!9$gx+->}$@VTNPU zG}(Ao5qz!`7qk8v+@B&ttEG`=N%=Q+_wg7rpV|0cYfdCV`u8LA-L&kf2x?RSrdR=~ zqXwR*y9x41f{E?qH)UmI6-TOwcOYVT(h8IEuh)7pOUr-Wzttq~+ekK&9xIVjFoNN` zDnyt~-E_s*7}@r)%x9@qk7WrC!VbjBm~)B~T<#5B@vT-qNAMOdW@K}|ZLSW$(;168 zp;~+vxTOcp)r9?A6t&5?JrjBcHGKF$aHAm>N)qRpDAx?e$&+GI98tupQcrw9sUXxW zn>yoSp>~02Pd`hNXFi@o@`#=!O=4Lp<$X*MINDR!JH;*C3L&6NO%WbuD4s1_;Sx!?rIpbb6!Q|k3J<-Z|89FL7&M37sHd>E#q=(J<=}#BiD#BW+_x}oREAtM`n8c-asjfI z^u3yl3B6eNg+0TJHm*0{H)736s6~Qph*EAAF1rpCt-E897)6?myTi4_q-3a?uw_?(#b7kd- zthB%8;Roy}kiU=VChv$&%W5)nADR5r{ibM&Y*kmRg!jlqE2}x3e6nyfk-{qY&(xhv zZVv~sV>6n<?6$uvXbzskCIjG5`R)P`-a;L4D&Nbu^3smRvXo6IisQ}tVZHbyfN}Hciw7#V%e0dqk#t$-ooB&2CkOeK3VTrbKSedVsdzEW4TT<2a z4mJ9QbF*LAUgL)qXJ>3+ME$mmMp`goqa<6S3&Oj_ym2Wop3`Cl?lvb*ZRpfSTz z`{D_H#_S%`J)93+3t}Wfpl%H^3C795&-TlwtWrRgSw7pPX1lbi*hv7i1TTM5FVtX@+?=~ZZM>>wfcaXkF-UD{)6u3<($B5TW=`e<&8dd)9Al4Xc z%0(XWiT+da)8TuE9Qo=4!ONP@^dGo{+RHUOpc2+t?qBza0_sbTD6rBCML zLR=WN%)zof&33SPUMKNOq+#{_X!^uuQTsUEh^6Dqfjq zjn?HxsXMh0*sYvy9Ce=}paNpB`}u#ZNf+^T3Wwrjm4FvwFmsq#N)sT_`#Cp&aU3bSTqn5-}pi0` zHz;=5P_a19d^@}H%2j*DB;_#}k;nUpepalo{VbPNj9=}MxV{F1>lE!E00dyoNxLdI9&W6p zmy9nP-(_0NTyuA_+2LJl&z>GWP8T&Xm5O*Yrb9)z2@PkSRCw&tL^3!kvnn;o#ji8_ z^^s5g4O2|O;`onx+}aZXXoCMuwENLu2WPFengr1-QTRws1XD$|-Z+U;4S^&g?Skp% znd#3YWI;zzZlRs#LMi({Ibu26l7&MDc&EU zor0fS7M;+}62G%^SR+Hb0}E&3YClKB|2*H*A8QRC&){hJ2<%ELu=8Jw8`!ak{GgXG zR3zA;=fi&Y!baV5%v@M}0J;qc9lEyFWLic7$9=gr9*>)&vbmvNqU^Fm-K=gFgx(6Q z-DqN|yU|vUiAKdW8Y_ir2ZLiMYYdL@3>K#5SW;3l;GAYPguhn{80uitWVW?Ci~RyP ze@D0}ng1-Nv$ZYX@klocw*ZHZ0Dh>1Ov9rgzy}oc72Myudx;XB_#%Y6pf^Pt_9uk1 zycWc1y#O+(lQ!@ZxH*%tM*PhVsl-xn(#j;{1l1}Fm7BBO8V}Xm^$V4|A)3*_o-Fmd zvd6iRiGur(huqNal~R?w2^*=twl?6=3K5N0%ag4G=X)QyQdh)`MLbZ!w-DJWvgeY3tn-b$#)5tat zu4X2lP9PTbC5kvwg^OQwV-?0;;w`jL*g?=mA@%KE<#xJBbmKd)5Ya2Psj zl%!ax8$vZ2z7;;qarVhvSAVa}DC3+qN;8$f5ysu5g$zwUSJ04aqq3EjeWw?u)T2U| zpCu7U4l#opeJMcKMyYJnbV{rUcl{V** zJp45P+1voWHyvRpUPdss90{h81Ph@bRVycJZ3Cl5g}8;jEPOlzkb-QPX<6Z^ZmRZ! zLOY2gJQmuBg8KpUJSMk0O!-t6@)iV$-{66+O!g(Tem%^GDGw2J+^wLvS|soGAu6X@ zbA9}{0=K>00YV-p8Y54G(Cgx6uK~$N0JXnK)EV2ztp3zDs2jqSwp7V4TEYwt#Z6XgV}Ej-3bUH_RvM8nTxbn;OBl3pCA z7|~t&y{wG4IVg`0)C}hYNCZTpL~U6)C8k$)kW`)o`uhcUAui7dr>{HNO z!yy{&1*rw3{-SYaCscjz*_wHa5=en>aRTpTj|sCS?GOEeJ3`WRW6>8LSV_g^%j`{W zGYRrtb;vS&8$obC6}nODP}!w5`&xSm?8_jf>CgbT3SQ{dD*DQi^k?Pwj_fy5iJur*+F*V@I18QoX zcnU^)+}O-+KEEJDfuI$++zykOWxkz6F4DoKo#ZSqqlHX5t<i4k;BLj zhW&oau3v_!LZ@lSP3Y8@c8~RJ9QGmZP!w?|wx3Pepx&e#Wbk37*Z$IZZtKcj4BAn> zJFRf8euHC5a&?imbiAWPG~-yJ32*RoqI3m>vh-*5A+zsTR6P#4akk?&Qr zvasOZRM6-U;TaV8Rz?JCP_XnoTf`*xW7L|JKEhw-(MUMWuD(5?yg!j=ER!&T@4<-{E?zWwCN-#L7|BPV^Co${|tsYWtKUUn}U6>2sos|FfM<0yT1 z2<C1av0*dKO-r!4=Jg)5zsS9{ zns%&2{q8XLt3|!(VS-^57RlWQP`#veS3$2DFPSfuZ9%c54+-&OS(J28D(`zTdET(_ z?RsR>E!@(xSwT;Kz1%fB966>SVAY%Qoiz7Pss0KtfU7KeaDhbhKz!@$q3zAdapg+G zw*A6(GvBh}g5w0F(>`WQt~in1a`j_-Sz*4bTX)QfL-50;*ubH-o!p5s+fi)Qi}UQ? zJyg5BYpMsd#Lg)$QCJ6N9t`t2DsR#4evYiQch;xL!2D z>x$ya$_`)^!Q$c@NOA$(-UmE-D==XWg+TEfRa+B+UaoF*&uqB@x{bv`QDR7?waS;0 zh}$p<(ae1XCjF%bQKs&m&{6u8is!t!dApa- zM!pwLfy~O2H ztk39_Y>;e!AdI0UNn15T9UE%YnL-_LlrEH++j93rf=*S(X+3Mc4*ff!>xE;^xdF~r zn7)px&p^h`c!gvOcrilovcp>)ER=Ho2x&gN9A&eg#kWIVp$>GtHBS%o0Ge4WYRo41snX)NZh+5fIe5 z@mHb)8q89bmMO%7N2&_+TX&pRvzo(_hx15hYO?rU2vJXJ@!DIFJ+KqwVfe39x-htA z!J_6X%5^2tN5GcQBcbRhjcp2xi#raqTgq(F_81F)45m>e|=Q>lFY!=XYPZl8~=g->L$v^i+U@F`W^ zFb&e`5k&aWE>TSg^0G2e16~M(#d>9@{fU)ZwLEgBWK^0x?5BQC5HAq1=}hZo;7qRl zabU{}kdG|fx8&RU!=1gTp;-I@B_-4)oShag>*5pkZk#819m*%u1LiFL1)>xoinAZ= z(y)~TZT+cFztp-Dg&P;STJ^(jZ=O05WH2S!TRYV6+UFGH%J2tUxV{vN~N(LiU7VNmmCjQ zgXah<;BvFJ34ZXFyDrBI9PJ?L(jjyGxeW<}D^XL?ZpHlSAP9lJVB<~rgGLJDDCiic zS8~7~N7iE0 zn}fact(q1&>;*K4#1{JquQ=@$fguVuBJPT&xUd2Z1Qr;BQa?>W8ZIX?O&ayU`JQT1{zwtUvrSrzj|-&kyWxaFqe_|CD zu`)})7d8E1(EI%ryYBtXFmksmr9vsA`-j)3U0brt%S$Jxt0EB?PIY8rf`N&Nrq1YU zkC{{;SJ?cQ{o?EO%tQRce>8G9=P-=?`$-tWQuyD%79B;aYlIWI{#D4@b)Px&ay7Z{ ze7ZU%a6DDm>TT2?8q?`{6aRQHvtQ}=cWn!MI5zXufz&$-_YBMz}O7rq62V2}N`0h3Yc^4_A|uKe7{ z6{Rxn4Gi(#emYBoY5z(~)tw(bc2oA(0yjL5bYW^;LvQcw&FL!b1(=pl^3Y@M$HoM| z6#_QG)#a`}v9uz8`4!C58ZOWumiJZ!oj5l+E$#1|x|4v*;jaS8A(+bunsH@Yl;oTC z(qj2A*-a|wT;$ui+#i;^R3@r>`nnZ;cXuja;C{5+y2fXA1N=83$sqH(Mj3dVFI(C9 zTu+r!NcTQw=H>ap$kF4uFRqrBk<#%61ynHf-@A9ucWo}jJs@G>UPVWP@;zc$DDB)| zTt&`_)adwZhEvW}d|hg>IEv07U-!LA|M8WvH{V8pT`I@zTUF*cxK&T(q2tvxUL_IXB7|INQ=i2~bU72zBPiQn+D<9>#@Ls4CaqFawc ziK_!*V8#TS`}3&{zwQp36(3QD8R%=DtL`=8-cp(i5l zvO;Te!NmCZ^ONbk1-nHUTq#AB|EJYPGwy#c7r8+PoE{kUeY`ME7@hd*54G0AA7iH- zSKm(8i{;7HZt?Yy@08Z(d8&bU7=Hp635OqX-OdhCajTJ5Rks#q;KK{-a4Potu^j*0gJN zJLC9mwmYg1Bax4zvJjY}sd3Mq!C3kK(FA!MRyXx4bg*=)g8@`2gi} zR!WLXd>gLmKJ@$>-awjEcwSc4yt22^nB>AbIwa6Z*5QeX^`?*1)JAvZrLIjLUlbHz z8lIm*V1eCamUC($H6oqjh1!<9p~Dy38SsVMSWxeO)_MFl z;-&!dZv@>=;qPByX3j?Ir4iRZy@+Q`86HM5VHh^*HLp`JME=?rS$X-Rg_^X@J~}vk zr}6PPkymRyz4ct7r@-Fd)5ZF7L2-l}x21XC?3+aFzgv9I)_jn7wXK&wK{Uz3pt|rxcqDXkuL_av9PcR z3kw5*K%q`B%$WqUxGfY)-@#PSy4TOJ5WA0Vww(I`%bEyY^_z(~IpQBwooMwZM&Hvs zjR zBT$fKWo2QPOO$?W%T}0QBl3Fa?cJUz(ULU$_FUN zjLm7jQW;F}`Q`85=Z44pFf#2rFz$sY%)Ap&d=v-V5 znx^lA>AJ_W@vvymcaj{7pDR)%+PR#j<9^yP+3m3(G^vu9q7?z3PwS{*djQ$%%KfIf!f4p%8!*R>Vp%DaYH=2JdlyY&*mXVjI{O|G6 zysq#qvPpyeq3FAK3pjx=TfocxHjg*)@g(enPgYxl^8DA@asVhH{Lbdm{{(?(Jo{T_ zSRelH`ygHFBZ^c9{TsB&s7i3u|3145|GzFXnO3-WZ2$e?ET7&)|NrD=Te21^l>oH& z4^s3W{yWS^D!@TP*!sG)wRQiVfy>;`kdlGa(aA~lT15`W`M3AKjffQZ$A6$vCJgj` z6a)l@Bx4j)`S(s|rKF_5`jv7O;J-~8Nbx!hg(9S6=H_Cg8Un1qtp2@+UOU4HFf=kP z5cqHOV zRaD@)Y6I9&4&L&=-v(7vQxoQw&}wzug;@j$XDTycBIN%7xMAe{u~{`ultY+$`{n5l zrYcO6n8>Z{2;557Y?O~Hy8m=?U4M`9_Mdjxaj!ES&xAQlY3S&rJsYKBh?3|OZDGKD zhBt(Sgjkrc)h^oa_$?y?>HHso*n3U~)8w!wg(;6Ti)I&_K5oMl6FVy~}r_F9K^ zoq+`gAv@;Ldl?=fDJlTjXnNJFB=zcNm&ICCMZV%Om<0IWMD)klj6CP{u$}3HoV>hH zVus5|$Ue8-GSce4&&7B>x%ym%s@2oPno$keTD^yn{j=vt+y=`-xnWQng@87vo%h3^ zO^L5XtmE#iTwKMqWk?doIY0H15)-ZEC5cwdJGF4x9@a%}T0j4_eJhEw z)%`46XyjvG=+>wDLj{n2lTZcv6cKzOjf`W)aBcc~7ASKd`0Z4a9hjfEzCQ)M8dp zkW}lIjl)uVkoMs$m}LQ8f~o;9r5DU0QU+=9(~h{G&q$Es^zB~ND*dUVeuz43@0~@{ zS8)!`%NN2Ky_bCzj>j{j(!P{r)k;h*mCq=C8YAY*qzUCJ+9b_WpVK9hF$%(B=1V$$(V zV}|8HEc;Fum_)Xc7RD_db0~95AoBA+fr%Q28fsyEn#Au)9=>x*L7GIyZZS7iVTb!8 zcYdN=zGgc_#*E7 zdK&0Y?$@XxXUnUxL?!$9eM1byp>Mm_9Ixdv)_}2~WHF}$8TtGadTnr+2Yv%K9@)pS z_l9<0TvdYDc!36}lNV{_Gioz1M5 zDwd!@$8xn7!hT{V+hY}9Zekk89nmBvpg@%I zk-Hn1;SK`hHApc3`3NX;%1j*&!IYjT`m?L5HO)NDIxv?;BWUd{@~^QD$^mmQwCQb$ z)q*k#?!g2#8U$0EMSjVC8Q!0Yci88@QhLDqk(00PF9-Z%9&$_+eGBK$Xd3s!ap%jynvY4xN%2mogKiP6P0&~k97e0dukpm&%im-}! zJ{YfYi?)Vn-hk~nzpKSs#Psbz_nnI)&8ywu1ndO&&5TU-x%^2MSY8ijs3~W`q+OPa zyuN=?Iyqbd;kbfi*8r=4zuAM#solFr0A*)9LNyvKT@H%w#~3Z)5X~2-_zPHS4~o z!68|FR29}Wbc4j(k zNu*#L+FtZ2Usj#&!3_qM7+GK!%L5JUbN0j0LoyAGUYOVjtcm4nhdqAl#a3f(D9qiZ zCz1io&aoYquwpDndji6v% z?*&`>X3JBe&ekHp*cNPAt)0rJzwVroHH~2&Yo8AWr|o}myRf}mPe?e zp>VHm!si+OTf8myE8QEe7Z6D`EjQcKqGZFw!8+XSjEoFVL5h(E!}MdE{oy*b%!r1o zNl>Bt!v(r7gUOiRlBq>>Z-7EQux2D%F?F^pUr;DBJ-z9)&?8woNGN`ipKyV13H=dS{&w<&! zwqVv6_s8}5+Z0oE2kp}{rQtb>E6|90VA)-OwmVt7YR9K0g|c`fY+$i6lGZV>rTUobF`cw7YJ0GDHH%S_A8CgR zt2-_;xZd>Rg6=Az{)3yUE|Rp*RFWiXw(oOWvaKc})-sr@?yT+&!O`|%-^HztQmFy~ zw~rk6s2a0soQ@hEX@P~mJu1g!D6QC<_3cCCG3G_7hSr2bPeV)UXGr$MxC*W{}%%Bn1SS1g*LoM&Yc zb*kl7YPOV-FB!**SjWgFV?v--|Rn9Z&r}n#!hl`d` zJ`ea}<7#wAW4}>MUBgfy2pgJMTv{S_D-9f=n=3J2J8$3!=5%=UWsTtRJoQn%&1#U` z%F#P*d{Y?#taAXlx$p0h;9^A6A%`&Y>a(-6AAQtuIb80-BV*-slp*!Ql}mRzS_L)2 z&o}~dU_(TqdX>#=HSkenY~yIp@4niZUwdbPenWdVG%>XDY~kqa6mexf?`J7sqiKj> z#?YKiy^i!$Er^aclAvqImNrEcKRp<e9mmpJC#!TH!e&YwOIu{q$8R}|JKgHb?*ZqhK zo~v9~buz{S*gDbgF!IIZN~2_(c-;mjaKhDcup#nHF*}~$b={NLur?|_ULjRAf{sa% zwXI|&w^546v>yYpz<&Yfx~#RuQh#B#-wWrDIc~@d_!=->ZqAluiLds2XhLwy`zh%% z9IU3DeLXeWi1}EyoU<-9UESuyx{F~sdBIy@DtBgIs(#0~mjUKc;}X#bVH0T|+=)J) zf?9g?bFF#$f!xKa1055~G0=d|Kt?aS;9iLb>T3PkWyKqjuA8q@bKFHlm^98?igbtp zVJrJNfw$q({RIi{Qs6F_6Zv{)s(k)ip{im`Z>{OL008$hsL-c9?Ljq|d9C~P%OmnN z5^<+!5MJb*ODUzx_QuXM7*MEW*ZfJ1TB^1I1n{kK6pnJf2P)a)vi#w0@^#!*Fe2_0 zTxW7V=VfswKHTJ=JbK!qW(|4dS9f*(^-n1pq5UE}3ZnID?~_YdToffG@mjHWxSH7{ zmq^ohIkBrPPiqT+jlr-~i-#s7S?Ju~X|_(rTsP9ALPJxKt5U+kSZ{@Nn+}K@d2UnU zCEN&8#0+QsV&ZHi)jx)k=cdqz>@T^fLPI z0}0V<0V0UgUL73kvt3lY=PnosnMuZBA(8Ub7XyKqPP)I?y_*^RHl^S2Gmf$Q2ou^| z{ALtQZq}$>y&y)EFWy$_AL_U4I9Q-j17vX_4lNo8n6L^+tdxV*d!#@e-YbeOfRkl@U} zEXH9q5)Y61LrADuH=d{6veoTv_(LmSh1~Q0Hze?%wXgrZ3hBWUd$1z@i>+Lv4QrJ{ z`w0R51vlPpe@V_J^b`CSL-{`n&mJZI+oAb`&FSar-CT5ZbbPSzhK7dTO{PlRn6GWt zR(d6?WBsD_-FqrQQC(McXSvs6x(|LsjBBs*KIrSa?Kff5DHqJtI56qOW?|xi4|_T- zzUgUcfF)kHlhSPhgYAE^r@yERX)2j`AmL6XN)l3{f_Q)Mpl%6(A;!ZQE6dC8f|YU< zHkz<0&3?lWHj|M@#q)>(^#0zjK^RQt-P-&>aICO|k>Y&*^MrIV8v;lzpCMr_-ympU zunH>I8W*^Q96RR~MkS4-?mCoY)fUKUMD&Qz@IcY9hgn(;`WLh)+@jws;B;0>pbnK= zSpUAtrf#dS;dl9W<8`N(j~{fWvxv)J?STdgzM3j>^tNMhalTzr4QNj0-vFa8*2|1C z3v0*n^fH+S6cGrIIA0Ey+EburZ)Pqq5Pr4wD(ekA*dmMt$oa64!tEn?Pb&ZkZoIsB2_ z^5;DivY_~%V=FZ;Pb-Y(5Ql>;O$R>~dZP?#qhe#_R1|>h;kcGRo|g7xTJC#$``P+1 z6Nkmr&}!Q1)e#l}5m6m-3OnRJ;xYA&z1pMOB#zU70f4oq+HR}8jh00i7YB#kVx|%- zo95FMJCmh;7oT?8z7j+1#@;VG%G)b@-TprSR)&^g9?;NxrKVAb23f*EoA5aoVl&U{ z(Z8Sn*PT!pN} zA97l0H@IKEg@X`%hETe(mu z_@N<~Ijz9|NxMCeLmIq5V8}I#c4HNIQk@1<3WK7f=-;zDACpXQx*~2M&X&WfD$;-) zlPTqfu?SR1eF(qd0YPc0Z9k`8<9t)gS&5lt?E(9zx}$y&An zLFcQ>Of&5#xwuGc;IBFmv2?=TlvaVk!MWj@*3+kfDJhFu9$M240~^UQGy)CtC0~6f zN0=T3;Z=BO)K!?rMW%|}4x+JaWXe_Ynd2`Pce%$9vZJht0!6yO&5gwy?ApW+zP8}W ze*4CtRsmw-T_Hp*r#ljHmrD57Xw|$o?rzmuVhoF+H=E;3r8UT7RMW*GDlBH5*MB_z zSt}9EZxV*mKBa?F;jEYMSFoqb7kE9{+Tv!aR%CZf=s`@VFDXLA6WZzQKO$nIR zWH9B(TRgd*6W+@Cg5YR}%vkgZ5vX~lKxi|XtsX5O*Q~PNsRpzNN0ZhKu`vDi?oJ?T zmHfYlXQqHy2H)W+vY7StzfbA;+OwugU)=WE^;)%nuekd`2n0f~@sJ4f_=s(M203YX zv~cHx_Q@vOxVr6de*!6(IvO1rd3rQJhe93|p6*Qd$HA|+Hn_m&z+C4W54R^v1-v+U zJ{mz?&jzT3)gKTOj~8m~!Q9o{Iw-<`fyA=@>>N~aO#;z{3(uq^CH*bhEdL2|wB~`Y z+J4MxmTX6T+fjWJd_JGtvavx}#WV4aE-l?af6bG5j3f)W7fDfLzgM>yde<-bLt96i zSGdOU$;)->f1#jmJ*x7`N{t!|y|+%71@*2^WF;!qM9ZE$X$`JfI9$_o-8zBt*PaK+ z&SQ{oaa_4<1u3_7M07*VZa-wj9!hjS--yz5HkJ#0mSJOKGghdD0;kp+!;%T;C!fpd zGVI}0xv4TB4_(&j+p3;%qgjakssv>Vo)_okdjl?KH3IezKb~jDCE7Sa4F+6G8JFG_ zEL0kdC+|u|u$4qv%&;shMI4Q9BNhua9^UkV&Pg*a3(!F+pA^pzOB3eOulME_RBtZ@ z!(4XCi8Cas$O-l)ij{*OI6Zt&eRZC@+IMk>z1ogP|L4GMhFBik)t)4mrWJ@sFX<6T zl0nj2?Q{eIsw?{g7dZbCfL6Xi;DAA0k+RS-P#oVsL@9WwRG@AQj5JXU7n@)-Ep`Wx zCk`9Ed<-FcH!2#g&Ux+>Cw=nQeZzn2+;y^KW&WkMV8inAhdawTC=`fHJmQfwbas44 zy&v_OxhHZP5Q||RC=DKy5vSklRrm8B@Whh??-r4lBJsJ$Ucsx&&z{EgU_O2JjEEqb z(rGfH7(N0V=Vo4EORmkuK1IbEStEW1~` z-s=g>w(Ll&lj*EuLjs>&^Px0RVc~WN_ag@|Qv0x%Wq|kcc-ZRrGqGl8k9;H!=HRPu z9DtbCI(gV9h|y{VQz8cH^P=ie7xhlL0~X_r8|KZP6)$ZiDWYwbGXD1VO_BXceg~3s}=Bo`$7Of!+XeEWIEm-E|)p*%BNpK zR5XVB#9AipZ{%Zvd$h1I4OL$0ju3r9uXaj>#9{+XonnIIn^hYT<{l3+J^NP2UnPWmNmu_sva2mY@P-bpRf@y8MPm zP!bFqcw})D3P#u6DL+A@cw)L94ydr-L+31z2NKdfSF)z5`-L*#X<<^;h{dm#H9PEx zzJHO7{?6VS&@Vjf>##djr1~KJz?vX$w4dp2`m;7^^0BkSn4VivvI*p{2JI6TtwQpl z0{7ufLfp@f_pF%5cKVm6M~Cj2rqgk#|3*bH+uAZ|P*N0IEl?NMpRWQu+o0D`K*}-~ z&#`v|UeqT~CZbBgBhYeS%_@v~VMFO0MO{3bRj5M8V)G59U zKaTFlko}`KhUiJiS|0>*7!nf^1vMPt=$)(rYm_Cd01vnCrx%4wH9u#lR0FCrOupAk z%6AygNFlu{@~Yc=;W@MD7PR9!25pz9advjtvzbPX=jqD5Jxn3(t7&$*2EvVGqq$;7 zL~3LlIUEPK^|fgs)9TKw=2HapPBUdZ#zRl;G`h-sR99C&TJ3{c!mhy3`8jYod{LmZ zj`-{puCI&+H`6?-PGrdRfIg;Tf!df1Ev?z*hs1|OP?M_uNOkIy)rfUPY!TJFY#8_9 zcqhY^kvwi)=Vh%3me}#w7cw<*xL@C_)h6XXV_Q95h2P#lBk$qZV|g&ZU3GOlIQz~Y zy>v5{&2+DFDRNxXMF%V!dhLOLqg=pYOna~feC25MjNPdS^iATtJON}8$wNbBAw zXBKbdPh-B(gD$QH(mQ?>(ssffvEbMCMq9%aR)6_(3i~Y*tG&9Zk{V3x+hzHhAJu7U zFi0w0WOxu+|rBI`R3m8h@lr>$f2M0E}-h>)Y8v9kct#M^dXuR90 z_MOHgN0$?B3I%HjKVKBRY~Y$Jl10|^FQ<`>=BPVmr_e?+Xer9baQ@d| zRZ9P~zv+i+kbKpjt&+cpo1A%Nfy|Lh6~^0@15(vj#_BKO=-(R9Zp-Li27ae_b196I zrGJkH<9ls%)nT_dC@>Gs*0koVJDyDBD;Mqp$K6Dw^_vMSzB6D!167XkTE9jx-|74t zd`YM6;!Kdzrl^+Zz-MebK>1dvdcp(67r`d6A*M&Hx073HRevO%uxu*g1!Wv~{m2ET ziuHan#Gn}yw{!d$gk`mNJa zAYh?f$!KmaJq%FZE5wq;!_z&O^oU{!m}Jhc7qq^FyMikh^?(z)?)!1CtDBDIo8}$` zOXwnI`7l*t+U*Lhc9p(ZwzncQN3%6>Z&7wBt?v(54Z(YCBq1U|Kum1-VcSa~h1|Hv z))15sZ1G`{e+((N+|O2`z)Kw}jb$$ff~!megKF8Mr;n(pT3$Sh3RzC^-_1 z$uwwN4*w)~=KY6bcKY}1&eniyPzB6pWQ^LMa^*9n0Fef-v10P;>vAuzNBS(7%2}h`@OlkKw~AzAB|x4 z@I!Vpm7i`O78#kfCq&z@h6an->L)g*A65tn{D4b@mS2Xa?v@7E?-VLzsUNIeKv{7>Wb-t+2m2aE2hH!x=zlXwIkVxM5%=@ZkX-Nw z0}Y#nDj?}#z@4;QOSd}|Pc}!U>TTf@xgt=rIg$qrnukkJad(r6q}_tRI)+$|de>ts ztC?!IHCv|oh}axF)b{jN*{jO|t7i%-D#wSWl!7XV1xC}ctIN|12)l_2e%khrCO7Qk zEgf87aJ<@E0f*KvA@K#@_cb)IuGVJdqZQ<6GRkz!B10Z(m=o zA{~1Ms;D>q?B(xgE*Y`X)_s+p>G8!{NdA%7>PC!&f9RYBPThDK3KIl6GWWSPu20i8QrGZFCVRobu3{ZxKu9AlMCFBJ(P3>9ZsM@? zo`B^XvG0W;gkgQIPAgS79{|`*kR4fd^u?j-&Q^K29r!V426&I+;V{&l2U_lDCtSAt zK0(Srg$I7OSK^S5a=DwJ?V&)O^a0>h#<2P~o1>7#M4sU$_<_C~rY{xNOJOy3Tebsy@SUlM1?#`i5MEi43>ODE zxfW(aX$&6>R(l=N{TbB}ih#Mj_7(Y7YX%aK#bjVF&6bCFmICk2-!!fHckn0wV_Q02 z`#0OtSJu(2=|8q561{PC=1|iS1fmj1*idt2=L#N&9gC493n?i^gf)2>vL|O0xW`<9 zMC;oF`V>HmjNoOnebA<29EW+OeS+KRBH-XP_7>P~E_WJdrFX6=X{D%!CKvV`f3mSn zRey|t^qt-vDZ>4hHu4*4&WAjH!)?DkA(am5RbnmIgK%1TO?gsQqdUayK-uD=#SGWL zwK~D+3J(SDnX$sy^Ud^3L*jR3rY3So-?|tUkExMTA%+&~v7CJKO$97EX4y9L!pL%R zr2|z@o~O*WZ?(DB2&>-nzurD%nB*0-11$W~(Juh6WC0PXR=X(*sJ);p^qAM#o;aXW zzH(lTaRX)njPBERau3tt)hAT{s`r7mm8Uu zmF(;)wTS7O-D;>*!junILY2v=CB&VZiG#!8bQ}6b0GwbIz-d$>FU@yBaL2U9-Lspj zFvpC+POb-SSE(1;+O!X29qs&9gHSCS^j~js#*v z@IyW<_D7wO4Eq7=YD+RNNNQJO;{-0u+<^xdNGnQ(nznsx99}_gNCf%sT=B+#$47;I z_Wm&g8yye!tu}M1A+vmx#bmK5e2$Kh6n&b9L11c2$ z24<{lN-aVX81D*I9<%iDvk)N_hAut*YQd&8yyJz+Eh_XX}puLJjMr zeg52iG}2( zw3*oVL)(veQ{PL<=@K!-PL~<0IhG$C4Z!Z&-K9?n(76+^GY!3N&8gekmbCb#T4`)l zS&JWFt#Qp=RUk>_I5v?ED z@_u)z`tw15keplz1HLw+`+k!P(EhOl?n<-*-ObNP)Zb|{d+pWbH!?QwT)1p1W1#{q zMPTEjhIDESlSu6C(cF%jz53habuRelOTpzb&)Cs<-Oh9Ofd~A^pf~z9Gd}6d#We_9 z&nalF@jTC0uNn##aF+*=$iP$~Zva{qfTb5tUJjfkyH zt`c*fkiWnG_3NwSR`&YaZg#8NM}BxYit-z3?8YNW=5a*YqF7Y>;)Qjnu38~w4f|IU z1h(H+pFMq6{dD2Dg`;s`aAvUqHHjfs16)G@w_6|$#dC@728&C+`$Fl^vNBMI7~8UR zb37qTZM@DtW{HH4kr&e7o!~y;HR^xD2XGyTz;bVjfG7+Uf-BJO63t>L1q`Szr`uiS z2S5vvL8~eGukpJ(E&qw%tv~ksZRZ-IW?VKVdlMAh9M?2Lim^*H>afb%`63f)=tbK;#Ct0*|%;#kUDD5@Nkt z9<)oWjlDp-HuU1M?QQCvqaFe#^ZLOo**A9@`y&<|LFmIejBaXp>W8JwKoQ1Mg<^ z0lf2usL$e?J$dp(@RW%0>f!Ra`{RreiLrnA$lkdDF#+kfjjn?ez7FxIPr%7Vy6<|2mvX=r^glHD3``g4 zEE#7e*nl3NM$TKh11>xIMNXiF$Qzhb%@>;6Km@)3>eD`EhAh9;)O--fT>a&#e+aPE z`n)Qf1A-Rw`=JC4g4k5`|m5%LkrMS3X+hLBMb)I4z?VavS-D3gS(j%i>Ma5gqTkK}eO9@=5 zB8kK4OI=8sXe+=Z{jS`kr4?INi3z-kB*i5YSQoH%ljWR+jH^Rhn_5I(KW@Khyug28 z0;^E`$3yl8R(pufs-1Z*c)`%;8po<`fV7lBo_5pY)Vs4Kyb<`0OegO@=A z?Ab=9)}v0UU?fNmDI8#YD?Loa9*6~MeBKwL$ETn{`DH&SQiS2VnKtq{%;Z&1%7A;g zuwe{!JRIPKdC{^vX$Zm3*hXD6WL{mlq)z)=HM=)vzb}2ZHD;~?`ki%J`k!sS)@o0d zmy(@pZ!+e;LcBRRH~{`v;&{%t69pQ#BDaO_9EwIn{bm7w7lK#f{{`b3+EVAA6KJYebMJqDiBH*ubZXmkbGFBnRD()I$Akuv zj~0eRp7(`P4s5%eZ?bLSQ*`lWE0%^YrvdYtai%@e<^XO!UH0iy<65=`A>UAnlitKG ztcHgq{;{@!fqj_piD((Cg@WZGg`R&k8VTsHV>icnR#3~klG+{iOcDdV7hA}uyzrNy z4O}egJpg@LJb((hImTdT`%wkh39)t`j@)+twoK%Sw#v9c>mNtS53vm1gJHQNPN~-H zd?~5sNBLA6@v~L}y8L~&tN+c>MjH|ti9<$GwuQ$LNXhSNROeivT&rZ^if2mJ3bV2hTrW+Z)2wY5zAAi z9lel-{WfC5MxH95W82>B+ZfHoj(>Dx?;Ax8e0x%FcjkHy3SdittKffHE#&Ocj`je5 z6cj-IzxgBIy3lx*(u$a!?*31!+}wY($_0|J8_lh0!QlI)K(Bh0YR^-i3Q2qApbiS$ z!iJN(S(9KH6KCS(7-beOw)JBtznVktFEPDlS7kTlP1@U-cNB&*f}YF<%gxdx$YX&h zE!T%oDG^Cyajo0y3GSEY2jvOC4XAS<^ZNB`um%F1f?K=M(`BzNis$wN&Z18c|DcV_wCKNfEC)(*!W<7fnn3>lzunCp;kg7 z5W-*Ap)mV&z0oVl8zZ^Yw#NO^xlpUYX}NQu#@;-+mg7U`I`F?SFlgG?d_0*J#=cH5 zUC+0_J9|OkyD=-xA5-dhkjZv?zCXd`E0LSs-W(=llsKl*{q7bHOJC7+IsD-I@GeS$ z$cWG8<_Q45?7|uh^z<~`j%eliZ`|gWOrLdtQE2G_+m1B7=7SK>s#>!@ZMa_Fh28dt22BbaN$>juoO7>fq1Dqhl7Gf%08a@={GL?lbNh5Fwg@ zo$1>3opk8>BjDaVK3v%k4V8N+eFOlpdaWb+r3o|I&p)U@1yxy9C1I{3$gKiyk*L&u zW0kI=l2BUu=P9wae0tq)bt7_2Y)_;Dc7=qVo;!1U)L6+`%V5Rxxv*cJT;-q(3k$RQ zlC`(Dg9Q1z*3;bNYZ&N~ZLGel_>H8^a^IKtqHs8P@V@0_GZwyz`(R*TUA2jY<$=0> z>yl}CWkvo;!7L;(QPfVVyqa-V81|0OBhgStC*yPzw`P!;gk;^eN!EaO7`d2Sl6y`a&y15oEISU z6wOw7P7v|+soZsS-29woD=w32vQ1vbA*R2-C@8tHu>lB~{tG!JmhRrT_RrTmUz_xznORu$|N1#J)la#) zT$gzsi6gY4>tB`T5qp8pdruJ`mrYO1P-XRg8rtR85L z3{eJz5zGMrFP+|3g+FZPj^#bc=xcnfvj7ADVDigJPL^HsoS9iW)&cA=-y;!hE+Q{4 z&#(3M*R?g$eVx1y+BNRpy$ejS5fMx|vEg0-_^fPg^(-Bbd>%xKC*g{<^-j;9d<(m} z(9_jjVFIo0U(cl>?SUlB{5(8xMNAO6ItB!^nn!YLYk}i;ZoCkdX8*Po6yokFhQIDt z(#^NR!u|1FN6TGdpn3A}SX@p{4wz8jR~LI7ZEegrsb_SJD?>P|=0B2_0t1|#ccy|m zJ4KR{b&QR@lalH{PA@7Uae8|CzWVrRV>q)@L|CLlz4A_bMOc{py3=%p78@H|o9_3j zstw--jp2 zwYvZu&IzkjVEPgLy55Tcbp99RCKblA>!F}jzfHp`eF%g(sD z?ebRhnaOt;1+-M$&?JqFk~&77N`|~&nyq!!5jLpEx1*EnQ@+YB^h`-fiDc9eLtj?J z#KFOdq<>#xzoQD0K4Ell0}D{KS^)`Q|KW-Z?qMs1($OXB7~!F$qp*R*I;)j#2x#Mb zPIq4xZFd^VVMj)?zP7T$puP@E5yI7iJ>Gt&sHn&YZ!r1PfkzQH#2KJ zU0Yu6k7lN(q6+(q)h#nLHrD=Rv+q8&l&oV#Y3bR13n^#~3*F;pVfmT}5EZ9>cPqGq zg22ZSSMIQf{_E|L!TS8UjU2j@o0m0zRDOv2DXbmOp{O+DYJQlwxp21P1&gSZB!o@R zJIn{q&evC?hQxlhdno>1cB)Tb_)V%T7G^HHmepBRRi@V^P-Uo>o6FdQ_|9ZXVmk%@ zm7lAiwY4a`Ac6WDh0?{1(h}QoOPmJ+23fplewx+xkGEs~fU&H-Tf5%QG~?)u29zfZs!F>jO%U+Wn#Q;c%Pm zuHESGJ;=g%>5addXvTwFhVW}pAH*xw%1aO=SYB;}=>ysox(N%5%{4SFo zgL#n*x3X>{PaMc~m%?ZmGSdt=p|-JH<}EYo^4i07c zFpZa@Pwus~wzjslf!!JOKYS>n%67X#o;CSkv-C+?WA5*y#rxd7DR5rJ6|?SU|3vp_ zWnJr;(+J5M%D8mu-Nfi&sPmftMHeiwTKZ;8%HCv$ad;Ttc2JE<`5p1}&-$TLJewwZ ztcB8Q73RsXXyR|@3x0N&=T1C4&@i~n4%ER?`k}OK^Cx4d#pmL?;{%q9Vbp^ocfRUp zlGapKDl2qGszG>3mp5oHz6S-W0;)@9!t07abbh~2!NU!!b*fUNo3#1nbYu`r#%8?I z&31@J|Gm?_9b_j=uxwvnEH{ppe{R94IR)OamVy$k+_TIZG;FP{Pr0FX%gTgyv)m4x zj)?F_eB#Q=7nj+3Mz`#2I8B_ZxkbA$a2m6XH^w4YK{nCc{FnTFDn-QzvYISgcCp#* z8h!l~zKh@>O1`wy^R>mrq4j8l^lB}14Ghg(>zju2lvzsp$*QUvn2jt>7p^iFuDn+d zt;<(DNzKp73KV~5Uj{XZ6?SywC9x4anw3$tRfkor)wlp^@=c_8!i6|?Bo^8VxUq#S`T36f1qt`yNHgJ^nJvzF~ zpideIS0%;8Dc_}}zKufrdV8zgFC%L%cshb9!yynspd<)AT>*)i{dX)ibAzx_*EdvD zRKEi9%_7{ym>iS$Du_NQiYd9gPPar65AD)Rg1hBssst9aB^9Pey37WyufKp7HWXk&v!%>Te|2rxM$vXu+nZ=zOq7+E^T%>!3$Gom zT~}3&%^fq(#QZTb63yEWed9u%;nm&qv|*d~M}5N5h`+lTR>pCS3u>@KIx%1UlvE`D zz|t@*B;*l6cfS+Bpte?4FI?bMrwo#klGxaO?B-LBE-nKJJPt^(+tS*Aw1kA~6|yQh z`SEZb0SDSN`361ZZuQb;DQxcviIFk=Hmo4weV?UFubmTk!pAinU;C^id^aATwkuC< zUx^N!e>bV09-2rjy<>pNp%^UE%pEA&nH}bJnIdNidL;&#~mIxPmz z4<+RA@q@dxC*%)S?+%th)r!zdGJv5w2K0Tk&{tSt#GS18a~D`u_cUFr)g7uV2Nr2d-(4zZl;i6oITR zFOSSsm>hMqw+o+pFdR9qQH;;e!&X-GpL1$e+1T~P?vef-Emj0+S*>8-x8rNCQ%dSF z4d&&y6uOJZnQU!smFyT6`%l|b98ydb8p0XP1}bIw&3tew9_}V&r-+lD^b{(WCg@$d zZpJVi4$9lz&IBFM+dVb-iO6c|FXkR6lMh&ixrq!8%N_G6b|!KxVRH}Hm^8s^U}tU7 z#~M_S#{mK;UH*b4@{ejKfFTCat}#Nq;WEl70( z9^M^=@}kkklSZX-G=Z`S`kxA3k4QElDvoGK#Kk zbU9kx2@M?rX`m7%*yzN^{nGbjcSlrcN&po;TRYxk+W6(}n@nlQRJJ^}eJ|M4ESOT@ zq=T{pn6lsNF~!8Z2R^?}P5oFQ&{3X?JzbEMg*e~ZL%3c=GgJM#@K0qJznj7A-qABc z1PpUrcb*WMg@p}I*uRhYf?XuiOXucBUeKXN8=sJg){}Y?KrwZzudjR`z>- zw)+mxW7(Mm4%6;|hV5i_wpiB7&8-H+chGkc$)IMSub-Yur4}h3vxPWV0!t)lvj@fP zqW5*&^%x3c6O(RMjyAl;#M|vGd!!weWE&az*^Kmr;}0iWnjFoDr$GoQ zVxo2^B^ISSg$2M!h}za{oVlav$@UkA=_3_xO%rriWIA!uA8fn}%C&xf*x$6HW*$G^ z&x+;ZqK1uqQEuvyF_q`%cTs9+4e_W?lO(6^t{(N9t+JJtmUe*ECmi>j?Lc9Bvo6}( zDh(Pnr@NE3^Ro^e@+*-&E2=8d9w(!Qd$q$t4?S&dY%FKK0N3SdVZ-j=*qCPV;?@+l z73!)bf^Ixsz{7fL43AAo@>hIOPT+N8X42v`ZNFw+^;VrRS9EjJ$YE#EX7{zDgjq^L z{!_(|2@lNd%FeDgHz&Aw3*RQ6*EZC66dpA4W8TEXYU#fGb0!T6_DV}l_og5p;1ox@aSU_Mtn3qz3u*a4^$%oE-1pJ!cg z1@>9XePB*O$YKY6rC#8SD4!OQiceq6k;V0aKMPKY-N|N&y1G#(=k@`F2`ax6Y0;h= zw{P}!_5uxXcXP}-5H>%RIXIRW#GO7Aa9zt4-j+!ji_%!X)S0btpW|EBUn9Q@*DqB} zcylrLLBK_gZq>XlVSI!d%$F7y>lqp4+I%3D+ItGk zT6{`RKQ=sSF!wMV9rV0wC@G!hpogm(-(m|43ZiA`DGVKzL1m-GhbpVfcG2)F61JCo zm%{&5sv__!ZC1L$PD`7VZ>k)CosONIy?4u`6)g|En|9@^0=^!L=3G*LAA_fdUsTli zP`bDi?_4ex2?+_XG95||SuUAe$z*mcfwBdfb2AFu7s{n&-sgX*iWcs*0Z%Y(_q^jX2FbtMd3oB^o^hrKF^sow?aQ z+S$=w+HeNh_aqCeW8~j~zDhCkcf9%cG3}q4y#Fj~##u=C>oWa+QIUT!i2o(b@*v~j z#x;yzmk>?xF`EGzI|qm1uR}m1lctJPExtzfzxRlQ(Zd7MU&~gh{FR^efgmUcr)4E; z!zAmd(&QfoRO|irFHtEeqOWa{k&&+a5LwA~g^!GygpxsD9Q;9L%ulUZ%_TZvVt6%nc78Fw)#q{B zs_K~GT|@7*ZTzn1%_6^~5I%w!2jKEo`+NQA3p`aU!?HlD;6 z$kU$&K7_$>C=ku)jtX<#Nlv0)u3&OE137xk-Si6Cc0A^b7Z=lhv@FWnH(7tlBY{~} zZ|?hH@*HM!`RON%ND;7^66VEeUU3w+q02e_<9%oPHhpn3*^}ma1I&7#w}uL8w=?-cDab`K2uasvM)9{YkRczE&tZ%^u>Nyg8IrD zd-tgGG94|xzz?vEWoyz zEqeCqU#qGdjZW$UCyDGixRkFB-xQ8P@U0ByqE+anBnh)}*pD(#A(X<}^Gd5)BNgUb zGczClekqfRHEL~Un`b@+mFO%$U-$dEy>u~otqXKvhlT@4$N1uG_5HKy?WD%`t%4RvbwffFGFk5 z(+Z_gQ&mF32D&+(M?RhOAIemr8;t=Mb`U_%>QEmo24d_f|esd-y6-QpqS^ZazNJJr^LA9IbPqG~KEQqaFZntPW4M6pzQ% zBG{OCV%i~^)!11~Of|vQ;KK*^!!AROYR9RGGD>D$;D?l_ySr}W>Zj+v~MJN>~1qiXNVNjWTX1os!8czI(i#B<@U8-dM+fhULYjBVxb z=&?CcpT891RX550R4pfO2ol0dz4&x_~b?rn>QVi||I18XDi8Vb29)|{@F`TL9Z zjFbhYEZ$o!504UepLEiOU!@*mW?~TB;YUa0=TU>H zA|3~A#9m%r3V4ZN2aj(QJjch!_wL_^2zc~^L^vM}`afnB^~jRt`JGmKgL8$a206|7 zQDNB;uiPAx7Oh9KWO^%t5M&a1A#1ESVTbmrs^=*}SDKo95P<=3eef9=^3A8+Gu(0N zqL@&|=H?so+Qj#4*#BDGt#cU%F=q3=oa#e*6%|L2v%Pu!?c>&|l(F#! zph_z%E8Fk7bB{y${F2*scpdjUK~k1e|I;u8LNJ%x`2)AXlZ!nUBSEqMr@HfuYP#Fj zJ&J;&*k}R*iVD)DcTlNH@4YwaHS}TwUb-OC0|EjGy@pN{M5IXXgkD4Mo#ZUgcklD= zyZ0XZo_oIBZw?0|gk=5KTJxE|=b0}UZ9k^432IEvrl>h@c3`Ai z>)Fs@pO%n7Q485yJ@LPCVkt%AcWksHR#sjv?0Y;@=}bm-XIV^)t*ca4?S-4G9T~Ap zsJ`psjIugi8lJz7q-(;v<$W~Ho3~;MG=WZ-p^{V#X1rJe4PeNHp*;R>MMUCak732_HOedJ6vSSNeDF%JBBdxZ|-uX+YI@%6=f4vf_ApKmX zBT1k+Vi^7=ba3C4ab<31EZx@7qsy=;e>XWJ~3KtI8kPJbxUSp&3 zu3^iq?BpTg;z^;h{3m>Q$-f1bh(Bg@Guc6d?@iastc4y$H z4kFhgJ3C!g?ephtYt!D%cBrUA^3?<(4{vbC1dpS&tn^2n7f4|*SHEMvsnton==5w;igaaSu><0LsJY9h-@$_HH09WiZix+v@vZ53t$T=H@81jRaf_k z4AjiI$Q z(~V2i82_n!pg@3l0+5*`vt~D38WgNA+lT%t>#TwzaL{#4ji+XF!Mw82s%Ozi#=9_1 z)BUx0w@~5)$|m$v({V1fCNPS#dQL00smvDcGok)0UQ?iKgvnlr8wPF63>uBgl#&hOQ~W~3!oRp{<0GX2;C$fv2K%0!SLl_8=91J+p^;}kd< zhQQ+VTHllY5{qJz_Tk}U(0U^$*UHnbJ+56uRi^vibplm#@a|g+j^>4tq}^sS4f# zrN!3p`}v3&D26lnGqQr#6S}K}goAiq9$Y-|VtRON ztW0;eshL$vd9+Yop0%XU?(kGq)$p>6NJ>ZhU4sMW$eMljp}vcd&CNx}xwbA~Sk$X> zIhACNcJ;n~y%#|}s;uGX5xEi^Ot$r-;Azw9Qo;RLvw@l#p-5OLw9qPon+P7!@g%`} zXOYn5@mu`XH(VrDL*s!)4c?1FJO>iH*)&&=RB}$r%->#nu0r&yOTDP_-xMjvh^%H; z3W^1KdZZ?)HrUMzhwBw%#$nP&OJfa0->)up!-bDn`&mdx3y&(?}TL-L7R3Lo?qRmP^Wq#A>m(9bG*~d*7|*Ts@1F4&vpO*W6k%`B$ba<;=fE8_OP#mq*rc#5|5}sE zyFa?)@R)j}ad%Jf@^WkQ=(0q2@Jaa;Z-B%`Wm57rx)8jYeXfv)Bn>?N#VeN7*JQi} zl&7t9V``ioj?^jXx!k|{*xE#X5UKMMEH)6emqaW-^}%BFdO;O#rLXTB%L=u=n$EEd z`q^*ac7)#HPts2ocv!9dF)xo$?Ii?aHm)~2Po_wn>15}!U7|sS_c8MReHs>BKKrI{ zxxF#6Z7aT{&1HD-I70gSxVuz|480mp# ztIwH#-vsBa4kf);e$^qkwtKla%XRz+4-Z;f8-1Gv|C)oC?3!>ci;xo&GugwK?7FH8 z3=eDMOLjg$^vASOzFb^rP0Q^9dMaoGS+N<^)g0=m_Bc5@l7nz@EC%F&dN>Zxy*h`R zaKg$T`eq#8edEiu?H_D6m2k|xTs%+}v+0Ao$8{?UUlB+e^o#2U0i2$E-EX^#!|61r zb433|9)qMWJb_cS5*jjy7gs4Ku7kytLNeN(3F)%TDr9CId^ooS#%QM z-H2~F^$)m7M^JNEza zw9Ve57V-|JUj9*6D=c|!X>DHcG2a6&!-GRm?dIE2jaIv6pVpp$!|=h@7FF+3i%@#{ zzxY-scBm|bp>LXdX+N4{F;FIo1qegx`OQ$c$znDkLmId(8&o)?e%CX(J#^T=DX112 zsvlhpI3KWbJ086P%uzO@tVC^)WU?=1a5qPfyDH@-!{@lY)#_Y^a>3f6+79TolC+f2jr9Z^4c5rw|gq1Q^cNOG%Gq&#xl~iD>wa?`OEu!4$)2L zpB~yHsfG)UO3KRz)+fb4u78k^b?>8bpmTz{6GU00=l!JNFr5e>6z#_ZExZR_TetNI zBesHMVl7Y(Nbl$bqYAXKx)HV`Jn|_bNBwyt3d!PtHFY^KD>}Q$TB*!C_#Qf1LhU^~ zD?BQyPxU}71o<)bZ7o{K>vM)bT8fiCHaZ5LtR-mzjw z5h2x#u<0k>Sz9V-rT|R|gJK;NIGlh0sLu`ZtzEg<7#;C1Tu?^PO-^U+;+sVOTv zF)kLDWF(@H28^g>F23x{sv11osQCEC*=)+&$LS=OR9|Kc7ZeqBjb9@o@HaQ-R-nmJ zO^S@vvgpqDxvhGXAz*cK#K_E?)`9oYVac19Tg}kexc8IOYT}QUmj3?!m=yY78Wq9R z+|NW1-(;?Ummg+)DZ@ZYN@|V}C~Y3>2ZY?e0iYOmf(}io4_RXm+&a&neJ<`^8ChBO zgN2h|(QHx!wGr?pZf<);CQZr=As(DS`;>jrsGJJZWsX#TG&ThNJ8ndK^6M3PS?K8l zqaNR{_6P$+!^Oa!m-8b$#yIMKgcvFz#B0u&GaPrXvfTPdh&kjn?z3Nu^970XpVCl#7Rs{aKf@~%H(ODKhuqHaQ<^X?0@i%0)L6SIPNC@ z2xmPK$6+Or@lSIq64wSAGld#SK&w(upW?h@-)~%PAN%gvBuL7orKJUI788@fJAsxj zV3^Y8&d%(HduY94s!Kap!1A(S@s_)amrgj**#|T+ev^cx%mv-8kzt?= z?rf&bQQO-tlI*8AS*-eF`?r3Rd|9#wPYlM5K~wJ6GOT%>gsS;W{4}f`T>N2Kj*X2O zeS!~fS<2cNTcTSf;L4W%0C>PWVrI^FCWEv~g7md-q8&_z`XC>ao<{_(OA9~gpN44) zP|vYEt#musoK;4T-*Eu*76?D|?rdR>60mnB4m*xA1{oM*t*o;-38lDogsEdKA7JYb zntyA8XP@<}foC3&X@t*55)$t^b>G(x-4&D9T>E=zybqs&h6kxRT{9eAVlM08RG8Y{ zS!hkxkgubakad}ZipnNa_V!a~P&1s8XRW{6({V2QZ&VVrMA#?h#{P(swak|4(*S7M z>^4KXwGH5EH@5m~i6bf(?^sGSf-CR#4rF$%`(0r8yWD;A)ckOsEuKM;sz>4ug+gm< zYJlUDp;htUDueofJ5VBb*c^+jeopf7qh7AIFZ+*56DBbuc*T|*y~aUhm{Xa)-(>Um zLfEJHF(?b6N%6b4egb~x`hN5#L-;Q{!Ybs9l=vlRWyCPB_I~Hu5#{;a^*E{lV>?!A zZ67uhg#V~q`$yz)XU@(%Zc@DYt=knJe|>hm4jV0yE6zkbEdl=H1pJh{&CBr1L2wOw z)X8^0YJ(8BCHWcqz&Ah;)X`P;JX|)zN|b0L9)GG@8W^|zRL`6-8{K<#-c_D6E6l48 z$iI2T#ZK6@uhUY5AWDO<@4ZI;P(oa^xrwckPeZ570BmAsCzd7$2D`)Oy*NV?J4UtE zS|?#<6X{&w%)z2FalyZElYp%7ctVva!Lq-9W=eV&zwD$oi z3_-?zK%dtfL;tA-V951-l4Kd^$Kk;h#_-a@-0)&A4a#(%p4!1CcV3-Lc5z9O&Gm(& zMzV9@=<%JWV#CLey?CYW5rapO04*ykW;%kbs%p0sVK-7RUU+ikXK{o)T+|s}oN4Cl z6>(X(RECSY$D*_QHYB7v-Q<*q?AFv^K6^~}3#`Wb9e;covq_Ay1-i1bn5=G^vyPOn zn$kd?b0COte(Fgo(Z81!p32_aJPAXi7au%qRhP@k%updIhr!-`SM4pkQTk8yw_-vQ zqETHzn6k8*5_+u6c_y8VJn;P1>Uek+~3nBKIXCRYAndexJ<;0uLX8l&^22qb&FCSq|ja0t7+O)g~LTZU7hs_j2Epnw1q> zHvJkQi}q31m0_2~nP=0MImg~ZmqD+h15S0Lum*G;0cUgdGJm!0NdD!L4-ESIsUtf zrl!mG0*2Ef94bm9%LayQB}YX`rfiaPW*+ZPZ#D$(UA(xmv%USP9HbgACB6170P$1R zUV8|TpVrkHc%A0g>ALO)tNPdK(Nqi9(>cT!v2<_zgxlqxVnN}d8md>dpT2fpBxBp1 zYu_fUc_}Fmbe4Enn_>Qw*Re;T99u)3>-1gR*dJ_+tX&gzgYRuS13HX}EN2{2>e>=h zv$-4f2x?CWmbY@q-exZL-}K7Fq`{-r!~K0Q2*nP#qqbLp9q@&WS%?w*Zrho5++;?U zfZljEf89OiApH#T2lYLnBo@>yUXS=otdk)gx+5{e_;wGYgECaA zYd62EydBoENf->XJP+zcAQ{7+KGbz~=6roum~KvMyskEoaEsp$Q{P0xR^xb|mWL-C zeux_2f19X7W^1bj8U8N0D@^*(>Q^sx@!>xeY6LoZV+?$PH|G(0f!=|;OGC9+MmX)F zua9*0_is9^c^{(82+9q7YZF%PEX}LT+i*#$h`l91s&?5U zV31-9&_HG#L|aSC3n?jeRAvEnIE|>jvU2ySw~~mS70gpe9*WG&%sf@&aF`!Gg4WG1 z2H(uLQ)lT_Rpql{RL#rxp{M<~Ku}CgkKgwX+hiIK?EirX%JCeK;gy!~kKX-(@DLiR z16>qfU(Bbc_d#2w3gTq}(#*-&^sikyymRnDIC;B;Nup}M8_nz|x> z?W(76HWyc?g1m1Lb7`)uxKWvZDl<|Ey)#f7NFPexpP}NltH&q@tzNea6%O+i+ch27Z9>;f{QqNt_kt9xcv&v%)wH*aqFu!O1IA1&qX^Ur{&zVPC^9kF73 zbOgPyJ3C{yOKaJP(b)hE!+l+O1^f>Zxcc4+jZwiyiO+_1xvmF36rqAUaGzcux9gSx9T;l}YxZAXh|;Y8S+*FvHm9b)mz2@~6lKJib9KvP)+7 zxw$G5C{X*~qFZD%0tr_WV+|ap`)kLNS5*r*csXO%(%Odr1nAt?S1?vFlAdVoDe3AW z>+QEjEhI;%Uq)CBS=nwnU}|4UdMQO#pAUg7N#FFrNUasEDevkpU{COSzSmCLzE2Q1 zEPgb(hwh<&@ZjBWYb;vh$PjQL1EEa;6FLct~ClU&?fW+$Yv5m&JDK2lu# zT--_*n5z*JVLY;Rgh{-RYNLD%EmG0aWJvv*LUvu#XPg@W6v zJC5CVzP?|{>UdVE6)v(PZgf812dU-vzFZrztU0mK50?I7D}%lrWn{&s)z zj@JMt2pF$G-n0-qd!*9UpU4YUm@Quh*Wi|n;eE?6=G3wwAZtXrV`WOn=C1%9#Er-tG#3b0O{D)4YNL>86y=r55`@_RK z$2|v}TZe+=OWg=ByKlAxAuSBIv?w;EAc*9p(HMd9z^3I2QfKFl&P6Zs5|(8a*Xnu)d=_9D%s1V%-*MhV2(mxNIxE6^=}%xjcxqq(2=zQib{Eji(RoafH>QLv?L zl)0C$iep?K?Neea8y{w5b?EOJaOId?!Og}6!`T7`_aD4yWq^}|N$Wfb}n**us{Uak_E$Yh2 zxi&v|(a6ru4g^{-ffe}YmZhzdM0`B=*C$W!W$#=C8RiYe>j9IUPP5z0cGI@*j-HpS z*~60UZ=)1s5h9MF2O}zbUi|T^DU*Fo&CyPq(Cj~$VqRQnUEFs{%L(hML+dY_)FiU> z+{Pn}^2r3}n2^vR9)8LxMZ$gld`t(ly7POca5dLqy?-I_>^gv{+f@(?gK@{bRbj(& z5`rtD828j#AAF60WF)4_0&r%fwk|HReH}WLmOX%mW0Ps^$Hfn?@Z1UTjsUX#Qdc_7 zP6YXuos|{E$a9)H5ubq0IpCF7$QUzi0+Pex~p6B9CA4!Ofo$UBm0nwUiUsrLp^ z>;kGk(m<^jvV=-4gh{_omhjU41o)@HifL0(q72_<_emQR!hA-9nzSGm*He-{)VX!`6iF*f)IOA6Jk zE0-@DnGRXJkBCsn0wXk39i5$lr(z0FpP)uAa-MGo98=*}J|I#k;Q$`N4xaZsCGd~W zDD?pC5jrp8;Kd*L+7w9(ZEwCT6(xt$ZMMHHCmM-It9*=u6O`-AXR6~Jd%Av`&Q?l| zv!&eNj{ANWJEMe`>FVeRoDW?a8$r?1Wu@-hE7FpZbKB?=v>2y@A$Ddax-}Mihu`U$ zjm?9=hIoGGRT{sf`K_`l7xeMLybQ2b04Lx(a~(jJxQ(B{a&mgWXy6bsw(FEUbX?n? zbF8y~%pn)|I1CTe*I=Zz3+7nDb&Z08!qt@rRC}VHT>B**b1EH}lcz2Zz#nP+`}-KY z*deP{#>{+do^{QZL48J~BORGGh=$*E(kT{iLF9MWJGfJ>*o)m zL~5)0I4OH>%+B6oWGJ_v=Yyot$kqRdlAc{Xk)jdxKsXIq+$sBxgvx=eK(D8>fTT?l z^56gtSzjNszd3Rg&D?=g2gECAm%dc;_V%{2vI0}#;>)PnJJvo+ZRp|Yr^s7z6vaIyT;v$_ef*qkANL* zp8(sn??!bP3jao>^ zx}V;<|9E@E9tl!S!w#E5$t!)1B!f{RBEGzK;)PNimfd^=Uz#FP(r{#}FI~BkbwR`? z?)sVfv_3B3CrTr9D=OCDvF+v~Pc28?XC!MwYYr>a=hYc zX>E%}wMQ~Gt6mr@Ho*eiqi38-&u3G>f{B?CbFzSrFqg-S5Zyx$w*3rccpw@S4sl!3 z#1@^15$DafCl?!StwO8)QrOjE?!s=85Mi5>;Bt|^LC5tPYD@aUbPCC`v%H8b80--v z<03Exf|Ul=`NsA(Gi!{VG&7k03G6)onT2PFyQ4}d-&SS?xBOPiw{Fk#>z`an6X{${ z5|ZKY=X$H zD&=o{nB3f9UxDCBIXg4<&d;y_{4s@1NBhj|1N~QA23w27@US*;`zWMT z%TDh8&F+)5(izzklh@YGS%Q8l{G8!D(R7R!e}~^F(YI?yizWQ#nZ;fQF3X(()arR{ z4BEg$q1;i#{l`E0eI7zM4yF=Jrpp~JzZ8W8i;R8@ywGTsUrH0oxwNj#woN=BD7?kZ08b#|I! z4j;g?>-H~g920iLT zzy#!CtqPH=!a_!Eg{;uwlC|!Xg?ZNFp@9*x9IFwI$T(#t1DRI8E*sZZ$@%h@@vvPR z3f&#l{6Q>hD{IevX68%+;;`+7ImT0_V)7tF1GEura+wz%%IT=;Dl2R6W}A2s61&a+ zOxWCF^Mc8RWy&CB`v`r9BtceUu~{pq%3NGbTb&r3sYHEiK7alUIH%>QdEkyHybm_1 z__<855&bI(fEjOL(ohHyva;rOYcTdh^-#!Xk|X;@`>P>S&iukuvZRFW8K7HH)py*U#8YV%ER4 zc!UjH)xdqUh83X6Y-BC@`wjZ29JFGehKx+e8`d(Q;xoy}w4!u}1az~n3ZD6XQurKc z&wM`y2IHuj%eV)kpJ_!^4hYRGERbUzAGT{MFy{^)(h_`;ZBWt%4LP2vorXL@EE>P4 zrUv!xTlo3)cb82hLvLq;ooHuF9;#bkub*Udyw#x-%c>{20clUV9!^at;+BSdg~`@o6}(}o{Mc6qR$FcX@<(nn|>IbsC09@5qrkT;S3|~>&u(I zjr>}ske(;3v*VV7Kd}gN@!lVd&nmjCist5K_q30qp;TE)ku$O#t=j2@tCSrv)K^qg zT&3g*z17m4!Pbr6_Zr-uT53rD>`a#5#bFBfqkaYAb-fW@d%ji|E_iok$jnom;}aG2 zn``q>&HgC;0QmgXm6R@D69Hkpd(nmfwkKsh-UL)DIPUj1TP4PQk9?jzn+l_h9WHfb zWMBY@!bXt^J=!nKsxnt0@28 z3Qz9nP0q8$`pNrqcW`$xhizTID7h|eHRhTWw81iZD4U5b_K$B<6qI$lHa}s7g%16> zS{E-~ETDJ-|L8<}YAOPgjcJiD)WuG+&O5x&chuYKSLVxR3^l`5xZd8@mR6836Ebbx z+QFs>9Nz}pNs)Sw^Y+1*sF;{M)aZCuPfuQMZfVKV``FmnXkrPrA@=C_o*qsX78a{E zNwfLfT$?K)0vNJK)F1@wR&X8ht6!F{SKrsyCmVp^)$0dgYN-W-VT+22jPy0`<4u6R zucn@y+5@;DF*Ox^&l5U2KWC|jJ|_vhuHD^JEC!hS561w8qkMUJqk86g;68^^IC=0|#{0E|#s^#^$bLZ@% zd?_`y@C}8jd2ZmL(J04kjWcc<6y%$8gC!4ma?B zb9-#^{n9-?ZGaKq=JV}P0J9)n(8^X;j3du0zXO*IkoUnX0^lq(Czb><30;OUTv3%Z zMw-NdrS$KX9yurMFVW-`7B5vXE;%_L4!1muoY5}Z5iPrrp!j!aAqTB)M6CI?!}{W{ zKgyl*-v3U(%)ggoz8FzNJh^N5>v!T1E1TdMg3kVL+2_*+moc0~=65X4|61hDKYK?L zzvU<#ds*5@U~&v;GzR@9Kt(>H_P_Myqgh&TTGWf8ckoW1Ew*rRmh;^6N*CQ+Pha7=guHnEGs8Fk1s&8* AUjP6A literal 189509 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