From ebf23e42463012864667d38c958d6bb6f12c970c Mon Sep 17 00:00:00 2001 From: Foxix Date: Mon, 23 Dec 2024 18:42:18 +0000 Subject: [PATCH] Update 103 files - /public/file.svg - /public/globe.svg - /public/next.svg - /public/vercel.svg - /public/window.svg - /public/google.svg - /public/logo.png - /src/eslint.config.mjs - /src/api.ts - /src/middleware.ts - /src/app/favicon.ico - /src/app/globals.css - /src/app/layout.tsx - /src/app/page.tsx - /src/app/providers.tsx - /src/app/not-found.tsx - /src/app/error.tsx - /src/app/metadata.ts - /src/app/styles.tsx - /src/app/api/auth/[...nextauth]/route.ts - /src/app/api/auth/register/route.ts - /src/app/api/auth/verify/route.ts - /src/app/api/auth/check-verification/route.ts - /src/app/api/auth/resend-code/route.ts - /src/app/api/movies/search/route.ts - /src/app/api/movies/sync/route.ts - /src/app/api/admin/send-verification/route.ts - /src/app/api/admin/verify-code/route.ts - /src/app/api/admin/movies/route.ts - /src/app/api/admin/movies/toggle-visibility/route.ts - /src/app/api/admin/create/route.ts - /src/app/api/admin/users/toggle-admin/route.ts - /src/app/api/admin/toggle-admin/route.ts - /src/app/login/page.tsx - /src/app/login/LoginClient.tsx - /src/app/verify/page.tsx - /src/app/verify/VerificationClient.tsx - /src/app/profile/page.tsx - /src/app/movie/[id]/page.tsx - /src/app/movie/[id]/MoviePage.tsx - /src/app/movie/[id]/MovieContent.tsx - /src/app/settings/page.tsx - /src/app/tv/[id]/page.tsx - /src/app/tv/[id]/TVShowPage.tsx - /src/app/tv/[id]/TVShowContent.tsx - /src/app/admin/login/page.tsx - /src/app/admin/login/AdminLoginClient.tsx - /src/lib/db.ts - /src/lib/jwt.ts - /src/lib/registry.tsx - /src/lib/api.ts - /src/lib/mongodb.ts - /src/lib/mailer.ts - /src/lib/auth.ts - /src/lib/utils.ts - /src/lib/email.ts - /src/lib/movieSync.ts - /src/models/User.ts - /src/models/index.ts - /src/models/Movie.ts - /src/types/auth.ts - /src/types/movie.ts - /src/components/MovieCard.tsx - /src/components/Notification.tsx - /src/components/Pagination.tsx - /src/components/GoogleIcon.tsx - /src/components/StyleProvider.tsx - /src/components/Providers.tsx - /src/components/VerificationCodeInput.tsx - /src/components/GlassCard.tsx - /src/components/AppLayout.tsx - /src/components/SearchModal.tsx - /src/components/DarkReaderFix.tsx - /src/components/ClientLayout.tsx - /src/components/MenuItem.tsx - /src/components/MoviePlayer.tsx - /src/components/PageLayout.tsx - /src/components/SettingsContent.tsx - /src/components/Navbar.tsx - /src/components/LayoutContent.tsx - /src/components/SearchResults.tsx - /src/components/Icons/Icons.tsx - /src/components/Icons/HeartIcon.tsx - /src/components/Icons/PlayIcon.tsx - /src/components/admin/MovieSearch.tsx - /src/hooks/useUser.ts - /src/hooks/useMovies.ts - /src/hooks/useSettings.ts - /src/hooks/useSearch.ts - /src/styles/GlobalStyles.ts - /src/styles/GlobalStyles.tsx - /src/providers/AuthProvider.tsx - /src/data/movies.ts - /types/next-auth.d.ts - /middleware.ts - /next.config.js - /next-env.d.ts - /package.json - /postcss.config.mjs - /README.md - /tailwind.config.ts - /tsconfig.json - /package-lock.json --- README.md | 159 + middleware.ts | 22 + next-env.d.ts | 5 + next.config.js | 38 + package-lock.json | 7658 +++++++++++++++++ package.json | 48 + postcss.config.mjs | 8 + public/file.svg | 1 + public/globe.svg | 1 + public/google.svg | 9 + public/logo.png | Bin 0 -> 454863 bytes public/next.svg | 1 + public/vercel.svg | 1 + public/window.svg | 1 + src/api.ts | 153 + src/app/admin/login/AdminLoginClient.tsx | 147 + src/app/admin/login/page.tsx | 5 + src/app/api/admin/create/route.ts | 43 + src/app/api/admin/movies/route.ts | 28 + .../admin/movies/toggle-visibility/route.ts | 46 + src/app/api/admin/send-verification/route.ts | 42 + src/app/api/admin/toggle-admin/route.ts | 56 + src/app/api/admin/users/toggle-admin/route.ts | 56 + src/app/api/admin/verify-code/route.ts | 42 + src/app/api/auth/[...nextauth]/route.ts | 98 + src/app/api/auth/check-verification/route.ts | 23 + src/app/api/auth/register/route.ts | 58 + src/app/api/auth/resend-code/route.ts | 48 + src/app/api/auth/verify/route.ts | 51 + src/app/api/movies/search/route.ts | 28 + src/app/api/movies/sync/route.ts | 15 + src/app/error.tsx | 42 + src/app/favicon.ico | Bin 0 -> 25931 bytes src/app/globals.css | 51 + src/app/layout.tsx | 28 + src/app/login/LoginClient.tsx | 317 + src/app/login/page.tsx | 129 + src/app/metadata.ts | 6 + src/app/movie/[id]/MovieContent.tsx | 207 + src/app/movie/[id]/MoviePage.tsx | 37 + src/app/movie/[id]/page.tsx | 23 + src/app/not-found.tsx | 178 + src/app/page.tsx | 193 + src/app/profile/page.tsx | 116 + src/app/providers.tsx | 32 + src/app/settings/page.tsx | 12 + src/app/styles.tsx | 14 + src/app/tv/[id]/TVShowContent.tsx | 216 + src/app/tv/[id]/TVShowPage.tsx | 37 + src/app/tv/[id]/page.tsx | 25 + src/app/verify/VerificationClient.tsx | 231 + src/app/verify/page.tsx | 119 + src/components/AppLayout.tsx | 42 + src/components/ClientLayout.tsx | 29 + src/components/DarkReaderFix.tsx | 13 + src/components/GlassCard.tsx | 17 + src/components/GoogleIcon.tsx | 18 + src/components/Icons/HeartIcon.tsx | 5 + src/components/Icons/Icons.tsx | 80 + src/components/Icons/PlayIcon.tsx | 18 + src/components/LayoutContent.tsx | 28 + src/components/MenuItem.tsx | 78 + src/components/MovieCard.tsx | 93 + src/components/MoviePlayer.tsx | 234 + src/components/Navbar.tsx | 406 + src/components/Notification.tsx | 58 + src/components/PageLayout.tsx | 88 + src/components/Pagination.tsx | 106 + src/components/Providers.tsx | 34 + src/components/SearchModal.tsx | 177 + src/components/SearchResults.tsx | 109 + src/components/SettingsContent.tsx | 109 + src/components/StyleProvider.tsx | 12 + src/components/VerificationCodeInput.tsx | 104 + src/components/admin/MovieSearch.tsx | 97 + src/data/movies.ts | 75 + src/eslint.config.mjs | 16 + src/hooks/useMovies.ts | 80 + src/hooks/useSearch.ts | 100 + src/hooks/useSettings.ts | 67 + src/hooks/useUser.ts | 146 + src/lib/api.ts | 255 + src/lib/auth.ts | 89 + src/lib/db.ts | 38 + src/lib/email.ts | 11 + src/lib/jwt.ts | 25 + src/lib/mailer.ts | 44 + src/lib/mongodb.ts | 30 + src/lib/movieSync.ts | 26 + src/lib/registry.tsx | 29 + src/lib/utils.ts | 16 + src/middleware.ts | 53 + src/models/Movie.ts | 26 + src/models/User.ts | 74 + src/models/index.ts | 6 + src/providers/AuthProvider.tsx | 7 + src/styles/GlobalStyles.ts | 22 + src/styles/GlobalStyles.tsx | 69 + src/types/auth.ts | 24 + src/types/movie.ts | 15 + tailwind.config.ts | 18 + tsconfig.json | 27 + types/next-auth.d.ts | 26 + 103 files changed, 14273 insertions(+) create mode 100644 README.md create mode 100644 middleware.ts create mode 100644 next-env.d.ts create mode 100644 next.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.mjs create mode 100644 public/file.svg create mode 100644 public/globe.svg create mode 100644 public/google.svg create mode 100644 public/logo.png create mode 100644 public/next.svg create mode 100644 public/vercel.svg create mode 100644 public/window.svg create mode 100644 src/api.ts create mode 100644 src/app/admin/login/AdminLoginClient.tsx create mode 100644 src/app/admin/login/page.tsx create mode 100644 src/app/api/admin/create/route.ts create mode 100644 src/app/api/admin/movies/route.ts create mode 100644 src/app/api/admin/movies/toggle-visibility/route.ts create mode 100644 src/app/api/admin/send-verification/route.ts create mode 100644 src/app/api/admin/toggle-admin/route.ts create mode 100644 src/app/api/admin/users/toggle-admin/route.ts create mode 100644 src/app/api/admin/verify-code/route.ts create mode 100644 src/app/api/auth/[...nextauth]/route.ts create mode 100644 src/app/api/auth/check-verification/route.ts create mode 100644 src/app/api/auth/register/route.ts create mode 100644 src/app/api/auth/resend-code/route.ts create mode 100644 src/app/api/auth/verify/route.ts create mode 100644 src/app/api/movies/search/route.ts create mode 100644 src/app/api/movies/sync/route.ts create mode 100644 src/app/error.tsx create mode 100644 src/app/favicon.ico create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/login/LoginClient.tsx create mode 100644 src/app/login/page.tsx create mode 100644 src/app/metadata.ts create mode 100644 src/app/movie/[id]/MovieContent.tsx create mode 100644 src/app/movie/[id]/MoviePage.tsx create mode 100644 src/app/movie/[id]/page.tsx create mode 100644 src/app/not-found.tsx create mode 100644 src/app/page.tsx create mode 100644 src/app/profile/page.tsx create mode 100644 src/app/providers.tsx create mode 100644 src/app/settings/page.tsx create mode 100644 src/app/styles.tsx create mode 100644 src/app/tv/[id]/TVShowContent.tsx create mode 100644 src/app/tv/[id]/TVShowPage.tsx create mode 100644 src/app/tv/[id]/page.tsx create mode 100644 src/app/verify/VerificationClient.tsx create mode 100644 src/app/verify/page.tsx create mode 100644 src/components/AppLayout.tsx create mode 100644 src/components/ClientLayout.tsx create mode 100644 src/components/DarkReaderFix.tsx create mode 100644 src/components/GlassCard.tsx create mode 100644 src/components/GoogleIcon.tsx create mode 100644 src/components/Icons/HeartIcon.tsx create mode 100644 src/components/Icons/Icons.tsx create mode 100644 src/components/Icons/PlayIcon.tsx create mode 100644 src/components/LayoutContent.tsx create mode 100644 src/components/MenuItem.tsx create mode 100644 src/components/MovieCard.tsx create mode 100644 src/components/MoviePlayer.tsx create mode 100644 src/components/Navbar.tsx create mode 100644 src/components/Notification.tsx create mode 100644 src/components/PageLayout.tsx create mode 100644 src/components/Pagination.tsx create mode 100644 src/components/Providers.tsx create mode 100644 src/components/SearchModal.tsx create mode 100644 src/components/SearchResults.tsx create mode 100644 src/components/SettingsContent.tsx create mode 100644 src/components/StyleProvider.tsx create mode 100644 src/components/VerificationCodeInput.tsx create mode 100644 src/components/admin/MovieSearch.tsx create mode 100644 src/data/movies.ts create mode 100644 src/eslint.config.mjs create mode 100644 src/hooks/useMovies.ts create mode 100644 src/hooks/useSearch.ts create mode 100644 src/hooks/useSettings.ts create mode 100644 src/hooks/useUser.ts create mode 100644 src/lib/api.ts create mode 100644 src/lib/auth.ts create mode 100644 src/lib/db.ts create mode 100644 src/lib/email.ts create mode 100644 src/lib/jwt.ts create mode 100644 src/lib/mailer.ts create mode 100644 src/lib/mongodb.ts create mode 100644 src/lib/movieSync.ts create mode 100644 src/lib/registry.tsx create mode 100644 src/lib/utils.ts create mode 100644 src/middleware.ts create mode 100644 src/models/Movie.ts create mode 100644 src/models/User.ts create mode 100644 src/models/index.ts create mode 100644 src/providers/AuthProvider.tsx create mode 100644 src/styles/GlobalStyles.ts create mode 100644 src/styles/GlobalStyles.tsx create mode 100644 src/types/auth.ts create mode 100644 src/types/movie.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 types/next-auth.d.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..1168732 --- /dev/null +++ b/README.md @@ -0,0 +1,159 @@ +# 🎬 Neo Movies + +
+ Neo Movies Logo +

Современный онлайн-кинотеатр с удобным интерфейсом

+
+ +## 📋 О проекте + +Neo Movies - это современная веб-платформа для просмотра фильмов, построенная с использованием передовых технологий. Проект предлагает удобный интерфейс, быструю навигацию и множество функций для комфортного просмотра фильмов. + +### ✨ Основные возможности + +- 🎥 Три встроенных видеоплеера на выбор (Alloha, Collaps, Lumex) +- 🔍 Умный поиск по фильмам +- 📱 Адаптивный дизайн для всех устройств +- 🌙 Темная тема +- 👤 Система авторизации и профили пользователей +- ❤️ Возможность добавлять фильмы в избранное +- ⚡ Быстрая загрузка и оптимизированная производительность + +## 🛠 Технологии + +- **Frontend:** + - Next.js 13+ (App Router) + - React 18 + - TypeScript + - Styled Components + - NextAuth.js + +- **Backend:** + - Next.js + - MongoDB + - Mongoose + +- **Дополнительно:** + - ESLint + - Prettier + - Git + - npm + +## Установка + +1. **Клонируйте репозиторий:** + ```bash + git clone https://github.com/your-username/neo-movies-web.git + cd neo-movies-web + ``` + +2. **Установите зависимости:** + ```bash + npm install + ``` + +3. **Создайте файл `.env` в корневой директории и добавьте следующие переменные:** + ```env + # База данных MongoDB + MONGODB_URI=your_mongodb_uri + + # NextAuth конфигурация + NEXTAUTH_SECRET=your_nextauth_secret + NEXTAUTH_URL=http://localhost:3000 + + # Google OAuth + GOOGLE_CLIENT_ID=your_google_client_id + GOOGLE_CLIENT_SECRET=your_google_client_secret + + # Email конфигурация (для подтверждения регистрации) + GMAIL_USER=your_gmail@gmail.com + GMAIL_APP_PASSWORD=your_app_specific_password + + # TMDB API (для получения информации о фильмах) + NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key + NEXT_PUBLIC_TMDB_ACCESS_TOKEN=your_tmdb_access_token + + # JWT конфигурация + JWT_SECRET=your_jwt_secret + + # Lumex Player URL + NEXT_PUBLIC_LUMEX_URL=your_lumex_player_url + ``` + +4. **Запустите проект:** + ```bash + # Режим разработки + npm run dev + + # Сборка для продакшена + npm run build + npm start + ``` + +## Получение API ключей + +### TMDB API +1. Создайте аккаунт на [TMDB](https://www.themoviedb.org/) +2. Перейдите в настройки профиля -> API +3. Создайте новое API приложение +4. Скопируйте API ключ и Access Token + +### Google OAuth +1. Перейдите в [Google Cloud Console](https://console.cloud.google.com/) +2. Создайте новый проект +3. Включите Google OAuth API +4. Создайте учетные данные OAuth 2.0 +5. Добавьте разрешенные URI перенаправления: + - http://localhost:3000/api/auth/callback/google + - https://your-domain.com/api/auth/callback/google + +### Gmail App Password +1. Включите двухфакторную аутентификацию в аккаунте Google +2. Перейдите в настройки безопасности +3. Создайте пароль приложения +4. Используйте этот пароль в GMAIL_APP_PASSWORD + +## Разработка + +### Структура проекта +``` +neo-movies-web/ +├── src/ +│ ├── app/ # App Router pages +│ ├── components/ # React компоненты +│ ├── hooks/ # React хуки +│ ├── lib/ # Утилиты и API +│ ├── models/ # MongoDB модели +│ └── styles/ # Глобальные стили +├── public/ # Статические файлы +└── package.json +``` + +## 👥 Авторы + +- **Frontend Developer** - [Foxix](https://gitlab.com/fenixoffc1) + +## 📄 Лицензия + +Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE). + +## 🤝 Участие в проекте + +Мы приветствуем любой вклад в развитие проекта! Если у вас есть предложения по улучшению: + +1. Форкните репозиторий +2. Создайте ветку для ваших изменений +3. Внесите изменения +4. Отправьте pull request + +## 📞 Контакты + +Если у вас возникли вопросы или предложения, свяжитесь с нами: +- Email: neo.movies.mail@gmail.com +- Telegram: @foxix_us + +--- + +
+

Made with ❤️ by Foxix

+
diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 0000000..905d4ee --- /dev/null +++ b/middleware.ts @@ -0,0 +1,22 @@ +import { getToken } from 'next-auth/jwt'; +import { NextResponse } from 'next/server'; +import type { NextRequest } from 'next/server'; + +export async function middleware(request: NextRequest) { + const token = await getToken({ req: request }); + const isAuthPage = + request.nextUrl.pathname.startsWith('/login') || + request.nextUrl.pathname.startsWith('/verify'); + + // Если пользователь авторизован и пытается зайти на страницу авторизации + if (token && isAuthPage) { + return NextResponse.redirect(new URL('/', request.url)); + } + + return NextResponse.next(); +} + +// Указываем, для каких путей должен срабатывать middleware +export const config = { + matcher: ['/login', '/verify'] +}; diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..1b3be08 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..0720289 --- /dev/null +++ b/next.config.js @@ -0,0 +1,38 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + compiler: { + styledComponents: true, + }, + devIndicators: { + appIsrStatus: false, + buildActivity: false, + buildActivityPosition: 'bottom-right', + }, + env: { + MONGODB_URI: process.env.MONGODB_URI, + JWT_SECRET: process.env.JWT_SECRET, + RESEND_API_KEY: process.env.RESEND_API_KEY, + }, + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: 'image.tmdb.org', + pathname: '/**', + }, + ], + }, + onDemandEntries: { + maxInactiveAge: 25 * 1000, + pagesBufferLength: 2, + }, + typescript: { + ignoreBuildErrors: true, + }, + experimental: { + scrollRestoration: true, + }, +}; + +module.exports = nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ebb1524 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7658 @@ +{ + "name": "neo-movies-web", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "neo-movies-web", + "version": "0.1.0", + "dependencies": { + "@reduxjs/toolkit": "^2.5.0", + "@tabler/icons-react": "^3.26.0", + "@types/bcrypt": "^5.0.2", + "@types/bcryptjs": "^2.4.6", + "@types/jsonwebtoken": "^9.0.7", + "@types/lodash": "^4.17.13", + "@types/styled-components": "^5.1.34", + "axios": "^1.7.9", + "bcrypt": "^5.1.1", + "bcryptjs": "^2.4.3", + "framer-motion": "^11.15.0", + "jsonwebtoken": "^9.0.2", + "lodash": "^4.17.21", + "mongodb": "^6.12.0", + "mongoose": "^8.9.2", + "next": "15.1.2", + "next-auth": "^4.24.11", + "nodemailer": "^6.9.16", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-hot-toast": "^2.4.1", + "react-redux": "^9.2.0", + "resend": "^4.0.1", + "styled-components": "^6.1.13" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "15.1.2", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "license": "MIT" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", + "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", + "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz", + "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@next/env": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.2.tgz", + "integrity": "sha512-Hm3jIGsoUl6RLB1vzY+dZeqb+/kWPZ+h34yiWxW0dV87l8Im/eMOwpOA+a0L78U0HM04syEjXuRlCozqpwuojQ==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.1.2.tgz", + "integrity": "sha512-sgfw3+WdaYOGPKCvM1L+UucBmRfh8V2Ygefp7ELON0+0vY7uohQwXXnVWg3rY7mXDKharQR3o7uedpfvnU2hlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.2.tgz", + "integrity": "sha512-b9TN7q+j5/7+rGLhFAVZiKJGIASuo8tWvInGfAd8wsULjB1uNGRCj1z1WZwwPWzVQbIKWFYqc+9L7W09qwt52w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.2.tgz", + "integrity": "sha512-caR62jNDUCU+qobStO6YJ05p9E+LR0EoXh1EEmyU69cYydsAy7drMcOlUlRtQihM6K6QfvNwJuLhsHcCzNpqtA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.2.tgz", + "integrity": "sha512-fHHXBusURjBmN6VBUtu6/5s7cCeEkuGAb/ZZiGHBLVBXMBy4D5QpM8P33Or8JD1nlOjm/ZT9sEE5HouQ0F+hUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.2.tgz", + "integrity": "sha512-9CF1Pnivij7+M3G74lxr+e9h6o2YNIe7QtExWq1KUK4hsOLTBv6FJikEwCaC3NeYTflzrm69E5UfwEAbV2U9/g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.2.tgz", + "integrity": "sha512-tINV7WmcTUf4oM/eN3Yuu/f8jQ5C6AkueZPKeALs/qfdfX57eNv4Ij7rt0SA6iZ8+fMobVfcFVv664Op0caCCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.2.tgz", + "integrity": "sha512-jf2IseC4WRsGkzeUw/cK3wci9pxR53GlLAt30+y+B+2qAQxMw6WAC3QrANIKxkcoPU3JFh/10uFfmoMDF9JXKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.2.tgz", + "integrity": "sha512-wvg7MlfnaociP7k8lxLX4s2iBJm4BrNiNFhVUY+Yur5yhAJHfkS8qPPeDEUH8rQiY0PX3u/P7Q/wcg6Mv6GSAA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.2.tgz", + "integrity": "sha512-D3cNA8NoT3aWISWmo7HF5Eyko/0OdOO+VagkoJuiTk7pyX3P/b+n8XA/MYvyR+xSVcbKn68B1rY9fgqjNISqzQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "license": "MIT" + }, + "node_modules/@panva/hkdf": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.2.1.tgz", + "integrity": "sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@react-email/render": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@react-email/render/-/render-1.0.1.tgz", + "integrity": "sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA==", + "license": "MIT", + "dependencies": { + "html-to-text": "9.0.5", + "js-beautify": "^1.14.11", + "react-promise-suspense": "0.3.4" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "react": "^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^18.0 || ^19.0 || ^19.0.0-rc" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.0.tgz", + "integrity": "sha512-awNe2oTodsZ6LmRqmkFhtb/KH03hUhxOamEQy411m3Njj3BbFvoBovxo4Q1cBWnV1ErprVj9MlF0UPXkng0eyg==", + "license": "MIT", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@selderee/plugin-htmlparser2": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", + "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "selderee": "^0.11.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tabler/icons": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.26.0.tgz", + "integrity": "sha512-oO3D4ss+DxzxqU1aDy0f1HmToyrO0gcQWIMpzHAfV1quPUx0BZYvNm5xz1DQb4DxNm/+xNvbBGLJy4pzTLYWag==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + } + }, + "node_modules/@tabler/icons-react": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.26.0.tgz", + "integrity": "sha512-t18Zmu1ROktB7M8hWQ6vJw+mNpI/LPk5PPxLuE+kNB+4Zzf38GfETL8VF98inhzcfHohsggdROzMzwSAfjcAxw==", + "license": "MIT", + "dependencies": { + "@tabler/icons": "3.26.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + }, + "peerDependencies": { + "react": ">= 16" + } + }, + "node_modules/@types/bcrypt": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", + "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.6.tgz", + "integrity": "sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.7.tgz", + "integrity": "sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.17.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.10.tgz", + "integrity": "sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/react": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.2.tgz", + "integrity": "sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.2.tgz", + "integrity": "sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@types/styled-components": { + "version": "5.1.34", + "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", + "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==", + "license": "MIT", + "dependencies": { + "@types/hoist-non-react-statics": "*", + "@types/react": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==", + "license": "MIT" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", + "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz", + "integrity": "sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.18.1", + "@typescript-eslint/type-utils": "8.18.1", + "@typescript-eslint/utils": "8.18.1", + "@typescript-eslint/visitor-keys": "8.18.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.1.tgz", + "integrity": "sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.18.1", + "@typescript-eslint/types": "8.18.1", + "@typescript-eslint/typescript-estree": "8.18.1", + "@typescript-eslint/visitor-keys": "8.18.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz", + "integrity": "sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.18.1", + "@typescript-eslint/visitor-keys": "8.18.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz", + "integrity": "sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.18.1", + "@typescript-eslint/utils": "8.18.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.1.tgz", + "integrity": "sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz", + "integrity": "sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.18.1", + "@typescript-eslint/visitor-keys": "8.18.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.1.tgz", + "integrity": "sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.18.1", + "@typescript-eslint/types": "8.18.1", + "@typescript-eslint/typescript-estree": "8.18.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz", + "integrity": "sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.18.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "license": "ISC" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bson": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.10.1.tgz", + "integrity": "sha512-P92xmHDQjSKPLHqFxefqMxASNq/aWJMEZugpCjf+AF/pgcUpMMQCg7t7+ewko0/u8AapvF3luf/FoehddEK+sA==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001690", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", + "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.6.tgz", + "integrity": "sha512-Ifco6n3yj2tMZDWNLyloZrytt9lqqlwvS83P3HtaETR0NUOYnIULGGHpktqYGObGy+8wc1okO25p8TjemhImvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.7", + "get-intrinsic": "^1.2.6", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.0.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-regex-test": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.3", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", + "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.17.0", + "@eslint/plugin-kit": "^0.2.3", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.1.2.tgz", + "integrity": "sha512-PrMm1/4zWSJ689wd/ypWIR5ZF1uvmp3EkgpgBV1Yu6PhEobBjXMGgT8bVNelwl17LXojO8D5ePFRiI4qXjsPRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "15.1.2", + "@rushstack/eslint-patch": "^1.10.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^5.0.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.7.0.tgz", + "integrity": "sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.7", + "enhanced-resolve": "^5.15.0", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3", + "stable-hash": "^0.0.4" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-typescript/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/eslint-import-resolver-typescript/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.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", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/framer-motion": { + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.15.0.tgz", + "integrity": "sha512-MLk8IvZntxOMg7lDBLw2qgTHHv664bYoYmnFTmE0Gm/FW67aOJk0WM3ctMcG+Xhcv+vh5uyyXwxvxhSeJzSe+w==", + "license": "MIT", + "dependencies": { + "motion-dom": "^11.14.3", + "motion-utils": "^11.14.3", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gauge/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/goober": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "license": "MIT", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/html-to-text": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz", + "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==", + "license": "MIT", + "dependencies": { + "@selderee/plugin-htmlparser2": "^0.11.0", + "deepmerge": "^4.3.1", + "dom-serializer": "^2.0.0", + "htmlparser2": "^8.0.2", + "selderee": "^0.11.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.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", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT", + "optional": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.4.tgz", + "integrity": "sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "reflect.getprototypeof": "^1.0.8", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jose": { + "version": "4.15.9", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", + "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/kareem": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", + "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/leac": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", + "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==", + "license": "MIT", + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mongodb": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.12.0.tgz", + "integrity": "sha512-RM7AHlvYfS7jv7+BXund/kR64DryVI+cHbVAy9P61fnb1RcWZqOW1/Wj2YhqMCx+MuYhqTRGv7AwHBzmsCKBfA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.1.9", + "bson": "^6.10.1", + "mongodb-connection-string-url": "^3.0.0" + }, + "engines": { + "node": ">=16.20.1" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0 || ^2.0.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongoose": { + "version": "8.9.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.9.2.tgz", + "integrity": "sha512-mLWynmZS1v8HTeMxyLhskQncS1SkrjW1eLNuFDYGQMQ/5QrFrxTLNwWXeCRZeKT2lXyaxW8bnJC9AKPT9jYMkw==", + "license": "MIT", + "dependencies": { + "bson": "^6.10.1", + "kareem": "2.6.3", + "mongodb": "~6.12.0", + "mpath": "0.9.0", + "mquery": "5.0.0", + "ms": "2.1.3", + "sift": "17.1.3" + }, + "engines": { + "node": ">=16.20.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/motion-dom": { + "version": "11.14.3", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.14.3.tgz", + "integrity": "sha512-lW+D2wBy5vxLJi6aCP0xyxTxlTfiu+b+zcpVbGVFUxotwThqhdpPRSmX8xztAgtZMPMeU0WGVn/k1w4I+TbPqA==", + "license": "MIT" + }, + "node_modules/motion-utils": { + "version": "11.14.3", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.14.3.tgz", + "integrity": "sha512-Xg+8xnqIJTpr0L/cidfTTBFkvRw26ZtGGuIhA94J9PQ2p4mEa06Xx7QVYZH0BP+EpMSaDlu+q0I0mmvwADPsaQ==", + "license": "MIT" + }, + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", + "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", + "license": "MIT", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/next/-/next-15.1.2.tgz", + "integrity": "sha512-nLJDV7peNy+0oHlmY2JZjzMfJ8Aj0/dd3jCwSZS8ZiO5nkQfcZRqDrRN3U5rJtqVTQneIOGZzb6LCNrk7trMCQ==", + "license": "MIT", + "dependencies": { + "@next/env": "15.1.2", + "@swc/counter": "0.1.3", + "@swc/helpers": "0.5.15", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.1.2", + "@next/swc-darwin-x64": "15.1.2", + "@next/swc-linux-arm64-gnu": "15.1.2", + "@next/swc-linux-arm64-musl": "15.1.2", + "@next/swc-linux-x64-gnu": "15.1.2", + "@next/swc-linux-x64-musl": "15.1.2", + "@next/swc-win32-arm64-msvc": "15.1.2", + "@next/swc-win32-x64-msvc": "15.1.2", + "sharp": "^0.33.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-auth": { + "version": "4.24.11", + "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.11.tgz", + "integrity": "sha512-pCFXzIDQX7xmHFs4KVH4luCjaCbuPRtZ9oBUjUhOk84mZ9WVPf94n87TxYI4rSRf9HmfHEF8Yep3JrYDVOo3Cw==", + "license": "ISC", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@panva/hkdf": "^1.0.2", + "cookie": "^0.7.0", + "jose": "^4.15.5", + "oauth": "^0.9.15", + "openid-client": "^5.4.0", + "preact": "^10.6.3", + "preact-render-to-string": "^5.1.19", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "@auth/core": "0.34.2", + "next": "^12.2.5 || ^13 || ^14 || ^15", + "nodemailer": "^6.6.5", + "react": "^17.0.2 || ^18 || ^19", + "react-dom": "^17.0.2 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@auth/core": { + "optional": true + }, + "nodemailer": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/nodemailer": { + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.16.tgz", + "integrity": "sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/oidc-token-hash": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", + "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openid-client": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz", + "integrity": "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==", + "license": "MIT", + "dependencies": { + "jose": "^4.15.9", + "lru-cache": "^6.0.0", + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/openid-client/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openid-client/node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parseley": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", + "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==", + "license": "MIT", + "dependencies": { + "leac": "^0.6.0", + "peberminta": "^0.9.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/peberminta": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", + "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==", + "license": "MIT", + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/preact": { + "version": "10.25.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.3.tgz", + "integrity": "sha512-dzQmIFtM970z+fP9ziQ3yG4e3ULIbwZzJ734vaMVUTaKQ2+Ru1Ou/gjshOYVHCcd1rpAelC6ngjvjDXph98unQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", + "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", + "license": "MIT", + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", + "license": "MIT" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.25.0" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", + "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "license": "MIT", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-promise-suspense": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/react-promise-suspense/-/react-promise-suspense-0.3.4.tgz", + "integrity": "sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^2.0.1" + } + }, + "node_modules/react-promise-suspense/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", + "license": "MIT" + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.9.tgz", + "integrity": "sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "dunder-proto": "^1.0.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, + "node_modules/resend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/resend/-/resend-4.0.1.tgz", + "integrity": "sha512-EkCRfzKw9JX7N75L+0BC8oXohDBLhlhl4w7AgrkEW2TAsOMBsVcbQHPe8cRWP6Ea7KDhD158TsNjbCBcohed5A==", + "license": "MIT", + "dependencies": { + "@react-email/render": "1.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" + }, + "node_modules/selderee": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", + "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==", + "license": "MIT", + "dependencies": { + "parseley": "^0.12.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", + "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==", + "license": "MIT" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/stable-hash": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", + "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-components": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz", + "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==", + "license": "MIT", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.38", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wide-align/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..dd262ef --- /dev/null +++ b/package.json @@ -0,0 +1,48 @@ +{ + "name": "neo-movies-web", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@reduxjs/toolkit": "^2.5.0", + "@tabler/icons-react": "^3.26.0", + "@types/bcrypt": "^5.0.2", + "@types/bcryptjs": "^2.4.6", + "@types/jsonwebtoken": "^9.0.7", + "@types/lodash": "^4.17.13", + "@types/styled-components": "^5.1.34", + "axios": "^1.7.9", + "bcrypt": "^5.1.1", + "bcryptjs": "^2.4.3", + "framer-motion": "^11.15.0", + "jsonwebtoken": "^9.0.2", + "lodash": "^4.17.21", + "mongodb": "^6.12.0", + "mongoose": "^8.9.2", + "next": "15.1.2", + "next-auth": "^4.24.11", + "nodemailer": "^6.9.16", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-hot-toast": "^2.4.1", + "react-redux": "^9.2.0", + "resend": "^4.0.1", + "styled-components": "^6.1.13" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "15.1.2", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/public/file.svg b/public/file.svg new file mode 100644 index 0000000..004145c --- /dev/null +++ b/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/globe.svg b/public/globe.svg new file mode 100644 index 0000000..567f17b --- /dev/null +++ b/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/google.svg b/public/google.svg new file mode 100644 index 0000000..1f15672 --- /dev/null +++ b/public/google.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d91173b298bf732bd096a8b0a861461150d09e GIT binary patch literal 454863 zcmXt9cR1Dm`+l8s9OKCB7}=7YQP~+sl$ETIeMQr|eDH^OQnKWbcu^ z_g=sE=X+hhe{h}4#q0gNpXYhq&wby|3*CEaR45h{0DwwET~!|dB=jQ^kds2+m}k!S z0pJ1}s>=8MELR!=2WG0D%q1t~yXNr@eYVRSQb?1v%RKarojpC9u(eyYu)4E#Ti@5X zAz79@UY%4K52Iy*PreDtFBq3r=Gq`3hbxidmqQLYn*uF_&df^&s=P~*((_KDwo9fv(T+ z&YBRH8kSOaRBtXwbCV1}N*NXqmn$V+y*l4zV&-)9>r`oS3<`Pn&|Ivqzojz#+F!cj zg_^sL#sNo#$0f-5g_^BgGbvlz)UPJtcB3v)7XVsqI0|hDI;%c;WR&)!#R)GR6xTSvehdpP zl8h+aGc6Bj7}ujSiM}&8uSX=o<3r{*gZ{ivLjd?0ud@m%2`&f~`OkWQuRPK&{Hq1u z!`C9{Qb7PBePGBaLHxYgwLCrDWmH%71U*c>?_1E!)F{=de6gY$Jry|Aya9-w2aQ+} zS#b5i)u<)&P+J&5gLulh;JK52E}2>d{}`ZElr*(kGElE-W<&vW`^g0f7)9jsP?8ZN z?%FGWXixDPhTbp)){ItJanvYhVSM0=%Gpb;>s^=o#=cd4*c$yTWcaf!#|p}dBXB(r7%odj^ayK2mX_}J=VR_ZMU9C z!p;Cn&<0s~#0xMcN}1#agaB~h_Y&7la=V)z8^rSio-Hoh`OcJvn24x3B+~4&e!h_( zE~gS2kLnt0owB;C>a9_y$B5q00~h@{-^TGJ!RALWb?@Uf98Iji0FDOv2#q<8)}tBFL=l2CP(Omx=|S;!ypl!dRWV6(in)U6?W^Q#=(QQj@GBL!?$AOk2eNM zMl91S3#MhleH#TBfu`dUdyIKRU*F*~TnV;zG?o97mgN2+2VIDw5O;?OgWtWemZC|Y znCPMaRAQhJXL`-JA&khofdKNA4`XO$R^nnSegJ%H09{s+0bZ%v07i_S=Vp}x4~pjm zC{Sz}0CZfd9WZxPPl>zicWW!(DpS)zh%6^Tw z{O4M3mojRBxBO)G`=f5Z6dlG8n&HFGBW>iw!Mb&>Azf#F6u^7^Ym3Pbl`?sHBM5e1 zd%DRdEqlbJo=@A!KDrc!O3=e{Ovlb@2tRvN^zAEW8S3AW2r?dE6lJ9-M*`m5zPQ-x z_+mupS-s|=9}7kT91;%`-c+cYtkXX*RgOt(Qe+UOeJVNHM|cQ|kb4YJu;4aMQQ_$T%^ z6$J3}?lhLpP1MCc%(b^jR%H#%?4J}4{&8dsyy>F1eSeke5ED9$ZbP1n>&X1c5ilt# zJ>7LX|3lxk6oM*URi0%@80r}}=0A{``WldbIEPkF=p>WzCyXYVj(9<@rXlvK#rql8yPCokht$3=QOkq z7LS)Vh|J|zU*)H1DS}Qv=%mtMIlp$s*?PtjZ;;2;#IQWt?kRU^YInZl zJv2bi;&v4N>>s-btkKsh`yty+q)g_G;y)DP3*t!q@{n;KE#vRLSc_rNgd{82`24C1 zS$99GmQnw_w(8_Wh}|%ZBEciJDb_Fa_fv{1n8doXuylvu8JWn(&UI=FzV}B|Yjn9{ z;l*v6aq}vonk0@8P)(6CTOX-XU26s=kO>uulJ3_w&{*(14*7FSTlcgI7_8zUEo?XcA zEH;eY)qw$vTAAaAtw{UmY;ik)=k_&B-Hshtrqid$42SDtbcuT_A|UTyVLomPrPF7svtZhsNySCpAMQQa2ZF z=Sqr{rH)s2^|73VU%2Wq_)`8Okq$)|o_(# zb@(&G;57`BoveU3>bRfOlqS3-JM&3f`&g;AMN&V7)rg?2yjEMt4R?PR{mV=j2_qJL z9k>89K@+ZjlOHp#V@A{*v{*iR!341N>5f0Y_HXvm7PaJD>5ea^70GMNd%j=X_9p3X zsDb~&$gTQkHmTW3FF?pSq>)h2te>LCy8a(m<@9GL4m^}$%K{|6O zX#bh@e4X~AasS~8S2nIg?-3PB{^dN)QP-%YY_nhSm=Ou|>!&;+0+S^G5SonCYm6rS zlQ-YH6m}$m^}n4YI9oI!!A=6aGznw!EV^Ho)?{_>*B^1h@=%KZve9w;{fp|3ggHu% z1Ksp350Qb6g6kei(ePsRu7+Ldk@Ioffj2k)Iuayosq692{LO)zfi63W=uFM!3?2#_ zja@S;>)B`T&S0+B)vV&I-y<2 z8*18WLH{Ry$=4L*?sNElC>5?qxj&(`|4p8*aJ!2J5buk?4tp~Jz-o^#3@|c*OqOFH zXJzB3q)i)_$ap+sg$76ZIun}d+^Hg(^q`cp)9rSl##1%@DW8$F%L{J)Ugm~N*TBIV zr+m^m^{$_$0U_U!(wfDXKmvN{S7D)wL3gG_@rQ4PX}d{bpemID2uS*> z;ye>+jp&^T1jrsh%O)BSr9#H*ZrzG%5i%A|=#7FxEpEg99^eIqM?Edu70^{x_MzWYNqyB7F)G_4|o1Y!(^<$$m+#XoVlC@Ykd4>CS>vG!|>5e(PnCYccD(9qM{TR z6@*cV-bxz#AB96Er2lsBHtz9QSfQLn-cTt#ln%e%o3^RR7argC6djj#UMAGA^ZUhZ z6zT3Pi^RR>^`f>{td8oG!#n~d%S7hi{u=hwjtmM+WcJkMaS7vmMA@BaNVId!9m#RK zd9Bs$===SbCBKd;le#krQXG@k9R12H7pAKo{+9R#d!t685Y4BzE4foeQWSj$?ETvr z-IeM2S*MtayVtM}hy-c%qexfElkH2B{nQ(ef_Pv=mV1IRMLfmpYN5SAS3i6I*eYMC zal!~o3A)b$_T%iANFE^oA1$3pJwqE6$Rl`j-c+eu-fdi^q6Ykt)xT+gc($w-mLCm% z42C%^8xZG022OrUCB_4dAj#*qMFfc>Y)Z7M15-V#jeckD>eaq|9002&^8L~B5FiB6 z8kJm>?Mq6W?51*2e9SnYW@G>-2^{BAeUJ7!WCU!V;Nb>QP9;`x%ioUi}*rywdN^dEt!8Tv$CN(|BKviqjyXE;lH!xX2&O=cqXYX%^$TJ)nHuMIJm^6i#d>oCy+nzb4Z&Ib_T)g?< zGDWWg$jv*2?+MDZ!MK_jvT#AeMmi48f8!$KR(>`I_4Dp2l1?svu}H{gpoR%%N&L#w z3x%?4ATCz6O6$S?#KY;n2B6zyWEuNlKTvS?MPuH|8!QJkY-oL*-dJ;*)w9tqJ8ADg zD(N&a_u?-++!VImMSY~;*33do2D(-yG_b#+ck=wvfY4=RKxtP-YOl>uxD7heb>awZ)y~bKDEVM-qCIha8}3O1W}Gw~N$`TJZvde~4fp45VDNm; zoj)J$uuK4uR^wf6<$EKb)0|2jucPv{$N?XPz^6sc2J0S#5zACo?8!UG zi~>r3;Now>b#+32vw8+^yfjS-Jkg*LwLr4q-}?tj$zFL1*Clu&{T_>Ru4qPtc!^Tx zC#l0&K_>ru;rMT4?+#j(Uh$8nxP86J(r{%<-(tu;c!8tXo{U?W^I`#guAy2mWD_KeRZ z{}ROuiP4WEfXa^Yum|cub)Sm%ag9^=2CnQjyt~2ECh)9pFzKy)!3A$`OX@OUmFoN-Om?;A9)@BEE!k!MnChxW7&ys?| z+2Xs_WD%-T;xO>;&U|mpAefZNeivwF*7dUd+0Ba7kB2TD+~yH_wdLd@b*cdXqw^L9 z6v9#3cMw;}PBIELVZ^el)0mhk5WAb*!JV4upR1ND4*_=q-V8QCKQfqAl_lYOo1O<= znm~3W+FDO@_n?)mnimlK7Yrwssx0cbKet3y=6$@wO^3e>%&)ksG}tJPkk<=>T%qiz z_g#BrPGpsJZk&l~k#KPyuSe38fWoPmyLJeGl@rmLn?V2z&y{$e=ZQ9O%$K0|)54w= zR<5pSQ_dR-fRGbb!@hX4Ysr*iCZU@YpXb zs?6u8pKOtU(MFYzuc=_0T<~88nDoy-OIw)_G{K9>mCQO8&w3|2tBN9K(zi^;n&!Vb z%7`|;Jhp$wn4hD#xIgs_D40!Y$k^dN7zCPN&F!Ecj zE(vt@*O(5h*IVM_0x!jI4Ssy*# zo9!}DJ728#Mo)e!x_f+7)D8^V* z&PTl4p3TggOSQ}tOmVXJPi=qhB_*@|)%ipOihn*-;J0q`z0sL{brtJ<=(%m1$ia+O zn2Mr@o^RP;fb>u~^gTrHl>B5Z&GJRcfE|->dDqA|yIgN;!vM!fn0~8P)}NARa*Hs+ zrM?`iHBqgt(2)D*bAT)QED(V?il9SQcgCP zc)G0?J};?LW-l2LfaAihdXs^j9a`vUx^zE(H8=T}P6ggbDP8aJiu!w5Lgp629EA+f zCtLx)FTEOgqobRo$RIwIZlcvV65eR+EFLblIeQFW3Y2{uV0rxFb5X@J>C#jmQGeAx zCFW-(CP}m)cck9sL{Y8U5y+%Js*8b}tK2evruGHIDK|`U_`-;NjX`-ZE-q}xzLn$1 zLA8i9xH6&@qha9GcPqF-aa$6w1>`K&j2v-fLZS18diZ|_y$c@jJ@fhS=Kzj51%HX_ zDLU!T$xs0MZ2E~q6)J(vnH>iFPj4N?xw6MZv1j8+@d1U86qSMip{8kq5$yOY?#o@0 z`SvqW2`IDhyF!Ddd}|-UM;58s&Q0G?#ZO^ zE~)3>{#WL>4)(V}nRf>Ci~V#Z1`4t6KTw7Ix(_GEj3hyI6gzcKydYLF+L=}7_}<&B zo?sQ~LvhB)9^s)5c3iU(c`0g|sJYoso%%!}@_nhMjz17W` zIQ>u_7@>%&b_E9RE_w%A0{o%m9g0QthX0>KfO#p|bC}us!RxrIfZ4pjH&Se~yuslK zIk@ZZnF#QeRiSIoOWD@A;9c1X`n*FU$s6RD&-R(e%j8#7&v*NOd{nFujJxhAW}&2? zqFG9Y`i)Y*n4xQ*!%grP>+WRvxA67aNmnAA7e>gt0I(J=NKh&oLS!)sE!v#w_tO!( zwB|6BSIDTpqK9>ouXvCrAws|6ou)?)vMu)7+0$6TFl*9IaZs@sAmmNvYS*#~u>+Em zk)F5zSpK8D0*^0_DBdU@W-Du*-2C+|EQ7(l!sV3S$!#Pjz=a(S1AgW6`)@=??;LU1E!Aj zQH7ssN>_sg7YoGHs$TuzcNh8WbCV7dfT$iS}Z&pk$sbol-B>{4s+VDyaARg zyJeDZe)-O?_iQ~XYTm67Ci0Yz|AkV$qORy&5F4Pbf38gYN{$2(QWETY4@J-4wpjfT ziq9i_0`6Y;OO~=>5(C*UCE>)|?0ynFT!gITekx$`)S&j-^Rv)!gk3EeqzmEUWWrcD z#(y3N9)s;oA%?iE^)c2Lpa{)v@>7tSI?Je_lTeOw#V`_Q~ z0=z^sCvj%uJGZnN!zsb!!{Yo(EF53lm)Xp0HJv+B4Gl*75tE#K6IMCoUmb;+9R^{* zJx~W@!I{!y8AZzRWyUveYgdw{u8PGt(~YGO#}U>q{+fAUPwDv&+70984pg>E=r4xc zk4**Um){xd!p1m)5>X?+Z%JU4?Q8^ucrWz6;Z-E1k=;$|b_{g(x5+&#zA7u>l%>R( z1n(T@*fE4r#2&Y1lRDuakb3>mN(yJxRAv|`vR6`tuQ|@7nt$J)bepwYRXwuJf4GJ? zz@B6$Yd*fd<6}VX9!9Y3x~MQ;(sb0Z9#7iqs;2*Yxx!_)2nJ#vxr`+LG^Vnl1cPy3 zutHD_U!aLx60hUh_>$q%DK5vYjIcHXINa$eB*Rmh({1px`HCbBTdUNTJ|Ipw}5jqx!`RAPQPsZ`5e(~s3 zvA^;!n7$ZY1YIH}mbN;b(=gI}8j%!^Pv;Ah3B7c9QG*r()9i~TFW&_3N~!_kkDu4b z*>~&pJW~&rP3m7eKe^RQ0u!X*TRz_TZm0`TgAADTutdEta4GT!Um8k_sF8Q?ehJ4q ztJ?*wOpwEt;rNWVlB>J?sax$yr>166!d5>Wl>$YPsK0fT+p#+D^Xk zW6M|F8NEE!7-*6H`%U!f2>fl*2a$7$tBh* zB|E)P%uGb90B zMe+*Exo+8I+)5;m2c_j&xw*Cw?LqoZ)IcB&b&R{fx9!Dp_A0hLj%-k`3X|+H|Mh{w zd;9M>)Vr1kubs1$e5V-nPr#R#djd$POPxSO?%V(~@0I%)Z35|r^y=cLk&-i3gQaJt zzG-hc`ZQdg$Da9_o?cIUtSNcxC1?5&;F_4Pa|H{-TAM-fWwfw&$F#Ie2Pvz2E)@C& z%O`VA|Gfaq2Jv4IL~gj2 zi@eND|Fszx_U6|>R|P|T4nPuBI|*KXX)V`sm3=yAPwt~KnbIOD*bpcomH%_0!rR?`DZz&cPi;KCjf|%Dd+c_TK;J#x)*{X+NMF@IA?pxQn zX*w%E2XGBl3R7u4YE^rBBj-hMBLy8^5d2L(eN(sQMNrMBvHHps&kqP@MX)Vx>+e6f zxzJp1m(f_)7%F;^sR@r`>~5~X-$Uofvf=OjxmU9)GA}i=_elPUBONjt)^nQwzJGMh zSk1v=gnm-NbmD$p9EW+})(=TmUh=f<=xLews3{epy}{)WYn=jQ8X)ZI4vSh$zmH}j-#>#SSztlt(YKbF+FDNU5N zTJbgc+ZH5+Qwz^sFkTe7U1=FbQ*V2;vYH}GoYpe5IIQ`k+0jSy*l2~LJngzs%1Z=> z9VT-Su;p8(f~md*X#o{XIzR??5fEoRHXBkcwM8bcR=#{QmDivXf&ghhj)Ql%?@R`T?SH@W~fy^bOc#qP7%~$tfb!*a>2cE9c7o?Ll)i z<7d6WSSKblKFdZ$zZ>;LJbVVxNcXzEYE@le`1r*y0hZ>P(Bi1Qxy4tx*o1F`0ZSs zEqYQY72Yg({P=T(+cdATI#Wy>@nOn1sw#jISZZE{`6SD$!Iq|0s_S=Fb*WNINn}Qs zIgIV&T6L%;#8`tQbfmj)pO-ao4aH|K@2)-c$HhZEf!SSKt8!-o;5W|%k`b}+OpiQ~ zNdz)8loTBXmqIc|aOK*WET~0+1i)pb{n~?z!;~hoLr z1w}@mVVgx3t6eaR^WW14kY$_b558P zr7OiZkuBM&2`@A!fhFu7ntC%a zP=b`fR=bdTc`}uBL^VNE2nJIDSX|I+6&KWRkt0&@AjMPYGZ`l9vfX`0)GqI}RaH3N zwj!^vTQ^64@nND0Y=E1+2H8$_-nOL)!;%tPP9;R??ghH5Io~7?^_#PNQf4!KREzdg zGYxM#&M&ykUu8?)_}&uRxX+Y2x7awHqOh^fuG>5uTi!YWN-mh`tSQ><=AHMQN=_i$ zt0&vYF-edO;6=*k7((G=nkL~8ZPiKzd#p4KyTglYKQCOSY8h}}rc%#zsAhwjVHA3U z{p9}R>vuJB@#Sp1j4k1CO#ZO7TIR!B8gYio$Sb+Fl}a~)oR4>k@*n58DXw|>06(v1 z>E#g7newLc5ju^kvuYad%{9{g-DZU<`L( zN8;H2oOjT0zn~}dM8m*M??T@SX7Iu7!%4GbUC`Adosr$$Yil>$*~8$cK_~ z9r6IRFPN(cvXqwKMDeLC&Jk3f;kei)+IM^~jM?M#c9t8H5iPO-V#FeqJ1u>*$wK>_OY&>bDJ_{Zav;*7vHi2{j%3FwAH-Po{t zN}MMq1|;kO`Mb<$bJb8<(AEP7j89@sEh|>JRYBq=Li1+^o(f#v5{vCuo2g|2u0y{< zIUpt^)>5i|kow+Nn;`IlGOx~S7hA)ngXG?{U*%ynge|qZkBcLQzTeP3v+!j$f5u(`gNA zu8WXhI#$fAIg;rxM7txd?9sJ#Y$&rJh2iLb*V(Stdfg5Pyk!@9Xto%{N3?#`a`D|j z`hn++1jbAIvt;44O%wbw;05+iarMmz;9Q`sWt-LQzV~72mCHcm>E%$Jqgy3*u<@m<}_cy8iWM`#?pI zyZc1@J4OHdbcld=d;I<%m3L8axCI>qJMKgppJyqSb{bNSC|=neU}og_2*4y=e#UQz zPXHJym?xZAdX)PEyTZHsHzMTO(75putw5J?hhEBCDBZNBQK$5G#42Wk3OiA<94Ek4e9J%s>L}^6_4m!@x$~ zjo5uC(tg{rBAfrc>J#jw{bOlJ8o-~KdP7#KQU@j{AoDv_q&-wp0#!7_=v(IUg#LZg zJsPl3V$KNKU>A~aam9oHaLVpw{tE}XDq<((-7AGDDiZ%#`9ZIjT*_+$GgKxCerIOaU*iQY(WT<``yy|cycPKadhqA;(4KvA zVpD_?Z1{2Bw}t_%WO3v*RkF@^IcveSV+~(+Uof*>dVP-4%X0@9jgN=Nw?N#7<+?U( z;KuS8;T}6ofT|Vu-1{&Qq&yApBN_7`zo6#F##OhMI@82CeBtIO4=MS5dKSq~Ye0F@ZL2oI1*TsX3?e>s)1|6~V=m(LILbyl?D(Qbv}<+C#C-FNHwo572x zzt)T(X}tVWrVa%u7+n=Lw-=y2{`H_X*yMvv>^z>Fw&Bx)gTLN|Ru0G$HhHbq*hC0m z-?|Q2_dYsT3L=ke6(k1!()6Z+3x%y=;BQukqp7KlG$HP`6ne-Z-UN*bf{Y zNRyj>uL(h-!rp6(zvC;})Q#yqvcN0Mx8Yy7Wbl)L4MV9nUViN-N56l6u zy#4bbBgEzM1x1Bf@Rzxz!kel_*@T^;d}=7W2!?6G#A&b_($>iyl;B7dR{1ul;Dh;k zpHuxG1(E_Pk4a^$YN^E#?PFLiX?$kF_yk@B<1i^W^b`^wiIq1qS83nxIg&)$2z9Z6mru9= z_GQ3g@hc?0+Y%P=E{`m(plQ)7W03}uB$_JUT?E)@%jhqcF1E>>1~df>!c>AXi|$l{ zFNfFj9zVmbpDCYi36;*PVj;JWVxFKc)pG!xwlw9;0O)ae@gYVJkHCD!Q^SAQ6=B|j zE{PjnG?=6e7+9`G#=!CSj~_mg@+QTJVN}oi{z_?@!N3F4&FOZ?OgK(fWJ25@=?UC$ zff4t=*lIo#Aoj}#TLx;uF?nMB)7Qi3^@q0u3Y|M(pnb_g%VAusg%CM8d+uth`QwFKf%wwL3QO9yQ zwe!EssT=#1XXPTU$Jlz#*~(s6dWE<)8Vrel#=GJg zW~0e5b+rKBSXBJYtG&m4_=RIM5+8WW{}4-0Bz$YZ#c2RM8AW>OgV9ckAF4)fNd1)& zG7w4H_Zcn)sw4|!tbfqSw+KH z!27^c1aJ+^{Yg$VWwCJaso!}mU2%!gzSB^_-{@hZ%nyFu+gFm%%=`z-e&Hj$kK04? z(71F>nDK&ArxHnT=4Z;o@)FQA?H|kaRW4m>s8KHWs|mwk1<65HajmO@%04^kqixt8 z>D`IzhooBX*J~4DIb!UxbNZ8~h1Y$$uIIe6b^p0>OUq)qZdPCP__Z4+YJn+Jj=A-j zk7C7#eLG7jTatr=TDpjP1cKVkj4;+0L%o1X4lb=paIPv#4Ud_Xl`F;bvyDxGShhVal~M9(q=^&MdJ zt=ZC7Z_<2HlHBhj2kz;v43>R==&>5|sz4Jpb$lN+$OZYK4f0Z?I03Od;Bu7-G^E1M zK6+z9i%w5&^=Z(Yx4{8XSE+5$L6ho$f4SE*N(3xKtwETnquphg^>c|5Sp-R`wbkW{ zyay}=FwnE$=Po)OIBe-k0*FsjdVWSpb3+X)l?nsLH|&IX=TB4__L31!cUG-?Ma@Gc z= zNqzrVWpqgzag)UKgtFuxEIw8I*29mrsSvcM`U)zWUWBvR-Vz&ShkJB{wX8*q>N@n1~{q`y6u2tR~lmY5Fsdgeao`CBjbs7FK@<>GfvP_q9tf3+K( z@(Pd(y8PCTTAJ3?)HM4Tm@iGyRT99odfojZ_$-)8ia$9d1=U&}=H(ypR7-jutms~c zj`dP9tocQVHtty`6j*2l@4AcNx)}5!a|vxlTqU$JQL=gFXR&|R&9R`vf8_}k^A2H3 zUXzfWhu#SHVL98Zgt+lvlx_T3@NNT<$6f-nHeUkQa#ndY^f>8z5#a8SX}>=V%=PW( zj=G5Hx&)q>(2#zmpUfETx2XxB5HpNv(ZgMxh2y30F40D-`lWXv?D+eN^SCo)>|Tl< z4K%`%;_tUB7<@?U%d2vQAn;MPVf$UM5O&d5QoWDU_)5OmU1vk#!LjG??u#Ny0Ow48 zJ5c(SRUI`4tLD#7eS#q)dCo4ff{^{<_f-D?p+g=CHyI=k!hFKW_*+Ihcq_F;5aH)U~tgJS0< zER%Z^)VeALq5KH{!RC_ny)tNBgvzL@aoy}vuc#_)BCE+ZO`fIe#MLd0+lObhhQUwl z?+u?vWvAm(kne-X(xtA(ez2j6GpL~w5Ll$|`PA{b(F6Ia{q4SSs_S8a(=3m;f83Bm=*O@#F@- z2brE}oLDX6GzIaS#kK(dUQ3e1@|w4(4Jf>YBZ^o)?ueVX`%sUHUR zM)*u~FKNG@qv*CTM~%8VI5B;!bdbNVK;6|)B(t{GY+K!ly- z`Lvn9Z=csx+J_R3(E@NlX7^daYcDxqyxrEd zfYUZNR9Dh^R$Mq2@C8KXS7z0W|7nc74jB}%39ZnfhkDZwTt>;d?Cy0zWR4R=O@DhB z$lgkA`ByDxwL@spn`N>iP+{%W_rKzLRyrZa)OX$(Q6x(iLH9x3+M6Tl^!bPcwYnwZ zmN|sj=kys56LpDX?FXvh=w%fn9&0Vx`R-2$B@?lUUgU@6bIub8j{Q-w(F%5J2;(K% zge#dipetNCz>oR!&N?}g$8z4LobX$V5u5LiMw%w%l1p#qry#*U+Bo*K2j>6aAxHaX zh{6Y2nadsaKVEkoD<~g)4<4n#njbIU;Cj3AZGRqGSSz&%(c1V!f-kPZ>npAbk+ge4 zDf~{wa3LdDS`>(owVvc4-R*1M%6U_$dgXM=8J!JY zc{_6$@-fm+sk!P+*XouEZ&#eoI)WSsEZ6e?5CsRdvea(OR|yeHA=m>d(mm#hWyv*# z^Iw2?`mnM}P}LZYw^lgd=HdZtC3OWIiidWRM7Cj0MO~~BbjFT;TEwdJ>(Fb56?t5R z;{`-ZV85pFvwh;owIsEg8g;crrDvlR*O{Lobg-U9j^PCMdwCwL`>fjtz|m7|K_>yd z?1K!iJb=$)Q1homqOrlTV>vbQ>F1t6#uKgz=In2eLo7k{HhO?9(I?$bA@I~iqk)t9 z=;nspZTOK@XaXeflz+kqsoO* z8%+1-^s(1J+&lh}^AbW&HeQfg0d%8Dz`|eiI1-dZE=K4;&5#UoHo_pj4q$Kp!3+LG z)4~XtL1=@AnomX-n$>$qApE~D=qP%Wc6|i4ci_~Q5j3)&OsVR1Br&K zg1U}z6kyPDB=_edKzv^hGlQ_-+IE#Ufoy0}F>5pVF-0jQn9Dy;-g?{8Z`Td?wn0r| zX(S?0kp2G?w}*v@MTlY9BNUfpo{;m-J`IL+zMm-Tcfk9+LK7>-?~0&I$DZ z)hot5a3cDc!bmja+V=Nr-q*Brb*WI;&L)<6z-o?qhf{7=(u^&`)%YO5gL_UNGkE}) zvZD4#x-*vy0<-8+)}Sw6axMH1v_R2kPpv`#keL8*Oy)7%4wi+M$$ozn+A35IExML? z_%A7j!e52RB+?ZimuQ~_!%HsoyrIH}DEQxK6vc;ZvRsb9q1+k8OJSA#MYwM`#kxQ5 zZa{p7r5GicPjNSQEyy@;3B|I34?GlhPhgyFj^Ena`7on39JSC?HpPtShegbmc>;ch{h2=sh{0AD4T;-EQ zq3#19t}A}U?H1(h!L1i&LjJ$B9zhsLaWDL#&T&cx2J@M24800EzfKYDY|X$t^z_JD z_1r;}E=8$$-+&8%;w0}QhS2-M$O8^v$DiS6zu(yG-!vZx##Qa>kNfMDEZf#vD$(37 zP6~UOIGX)$SNqp0XXtnk3#QoW+N%jAqtdu}-iD8Nq9JLRV1Wdu!@FabuFjj?O>ybl z#VI@$&9%OSWPHP+m2hw6AhOEMpN8n2${Y8r;rM#hMJfK$x8GZjl0}sFsDw5eLtb4B z+5PfIIxgdDe)G&-)P_Nz!<)#W*h@QKt*vF?|CJ^P<}P2e4tUAWw7w`miInbW%+I|^HJB+aFIMs0*INM*BFA|qty7{yXL;sIK`pHV zQ@rJwKmiqo2NImcYeikSAq=&86YS%rJfi!*sg^VIsf;F@CuN|^M*i|SO41n+Z{6BA zfvi92!6JsjW|;yo3_I=4V&xneALZm%73hn2+5J@A7z>D^&o^y33j!)&vIoUH&pSSM z=fg7fS1DEYh}4ms&WFas`R`d@hQeQ?uoO0#`0DyqJrJFm=;vD+e6}~)^8DXN3@H+KoOMbH{0L%uL?u_zrq?^%TqLMN61z)_(qYXy1Dmuo7tb8p4p{aO zqer8BgEG_-UOSu$@1AeDcJGo!#eDh*(2@FpW<%i6ee)}XJvdeX`rL?%ad$8ix1=)H zn?#bbw>N+f@n^|ro?^1N3b5tRB<=9zP463e>RoV@;tffhRy+LA`xj{o7q4P)vdp|E z1UYHqc;=Od$a^ZO*TkEqb5<5`Yf+7V*JVNPL~_W4HwhQ305z8zJS5;?vQmS_Y<{8X zBeencpJVujGE2q-$S%+=T?%L-P8N5usW}Cnf=i2>N$I0O_|%Y_0?3xxf+9ef(e<>Gs=JZw0!#i zUVu`OUH}d~tc<@y@HX@n$!!%#kc;C>XGlgF$mwDW8lbG4oP2Yin|J5+5k&QEy>g@g z?7%e)FE|1RSbr-{%gbPLN_3$ES~8drK182nv?&d=&LF!z^Q1cha%rHyYPmy(R~?;K zzMW5wsSTZ-ZJg$~4)JHD9|`sXx-Z~*vh@PAEEBNh5P-2MTgf= z8y0kOY#B&7@H(iQ8yyKCBy9=eJ{!{Nx>7ED{HD;g$1vB>P{G>^IRjnnjO`VaW}b@e znV*b*juPivD!p~-o*g}O0?~bl$N%SXSw-tYe{*CUFY$~l7|OvxRb2^m?j6`Ug}o$S za~w5#(9yU1{^1|$^6o?R0WYpg`MSyQ>pRI*mD>5=j>f$y$$HyIxMaYL*z#(YW)V!` zzNH&`N}UTU^CIuSHwal+vkyL8j8<3bYxGhjP^l{QRX$27K>kosy@@XUD+Eog3)Qrs zTH*~UIYfrlQbWNu5TuoYDZG`)b>>Do9}gU%q17*|=*5ayNA>?B=_(wWeE$D!Fk*Bm z(ulN_bWcJ+I#pUx=}@}I2Lu$QL_m-dkdp46K`0{K3MgHIG^2j!_xBI5jpv@b_bczE z5rXt+tLi>r9Q_Y*ZWJ&WwmZ%S4ISUyscsfRKMpP+*wd^>0(hyvUA3oGCk|0y2iOb= zdPp{~UV^M0^)?q1Fsh9rP9QGrqMapRCVlot1#xEk({kGIjw|9!z?0-#qf5qbZTB+Q zrB{Co>=~89W(_#3p@O(9;QA-#)IxODre!ne@$DO6kl{>e`wP1x-VA3SR5&!N@V#y7 zKa*x(`K{DuZU2=`Qm`5nb##_gue2Oq-`M5Vo#Z~P3DfZKXW~2ALE0ziT_X4y`8Ed= zkGy`|Ot|nySq#{Qyf9QrMZ($Ky6*RQy}7cwm?Vs=7tJwfB0w!e`9)U*S135Y|H3H$ zHUS2MGnvd(%o;fy2p0Y{kuRrydPHlvb7i^}3C;dUWR(=mhum7gmqEzV&#QsJ=pND_ z{IYipcOB^+7{KIgmg~`1N0z70%yIxRc2g=KH@vDdPEZBHGW0>lAPK;={d6P7N|9)a zuQZmgS}+U?KS2hu+&FK`In9f&olqbFlyfW$`B0wPURI$1z5Dy7(Qe6eDJh7- zbFbBytgMZUixk9NFC@l1Y>)S1osoJ+%PmHfQmrKs5paAbM{9E86+T-lcSGlu^A|IT zFFp*j2c#7Kd*WsJ+`AjaR6Pd*)beLl8(S?huM_q|+l1$Cr}We>id}gN4gv;(f9ht; zuN_=}Uzw%1r2S-}WogI1n8_IwE>X(O#6O}@|0{$HqgT$RQWPPX{o6v+9ZiBW`BNeQ zNjXj5BqA)6XsWb4u+8IoBumeihb0Bt^lQ~!&+7=Vo@1zn&j3vE3RLr=BKIxopRk%rQf2MrJ{kdEtR2BJpijKD#! zq03_$V&KvHmQm-c68K)sI*>4;wWLJp<>03CTcMY?-(?UcQCGn$WQ#{4M~#-tZvcJaM6-T>=8d zN!{==MP__#AXx2t?9b-9Ef-qHv)RJA&5cVi{kQ<1upb{aezx{!kA{NIE-i9Q3aK$Z z&ncbwMh)SaWr2S!f>3%&UidH<{h0u_k>BDBn_6yH6#-fQ!&>yj?ZY!$oetNFK ze6WjE4R?j1YTSO14^PY-A}eo{9Jp%xl@Ez@g-o7ZzLSE5VVqIG3J%NNfK+N|SzOI}iVKJmMOG{6lMe+d_7a~eYxpY5GvK<2 z(eq}u3|I3qop+nNK2gp7^(RvH8a}}P*i$|G3n!#Wi59&fG|W-4Qyz4fuJDfcNr&}G zjz4#o>qek=%Q1W|JBDhjB6(pC3U!VAm87_Ir_keXSDlKW{hdWWFP+x_`j`DG+2tib z%?IV;2W4WHfNh{F$-k7N7DU_si2F1K(W%YAbzkNgmjSlf9CiwDV9jpMHkblOpnep% zbYh{O`4FVqKUU0IO?Ixh^Ugnqp0B?SnN!jGzO*zn9%SX+F4XnM^L@Dq3rgEw?5bIAsY3 zej^|-o_cZe6(WM=oTH#mc^@8GxTkirn7f^ZbTevKDt=R^h4UIMKL^Er&@(O8U=M8}o1`&!He12Ak``92srtNnc{MhRzz~w3$v;{ey z`FxRG z5)i`PjVj3Va>N<@m>$bxhCffH*TY3 zLZ1S@(|;d4OC$G`cln#5@^xtG7qg6QZ2jR0=99AHx6Y0~6x*(ndGIscU(ka7p4_=D zk$Il&ucNO?w6Sx$pGFKgULZ9TIP!=?3w0Opr4ngeDNPLhyxUFhhb!*adig$E7oVE5 zhIV7^y5Z6*@13uQ(QZLU?UUq+IvP-++rCf{U|su)%Xi+N2W4ruAD>bZAY$>A%oFRq zmauro-oYJU|4Xqs(QLRUgp9({zhpvP52HY-+_gZ9iQiPY~7slcM+obCHeC0 zP;j=zRp4b+zA^7!hyYV=DYX_h=rh=TGfle=)yBFNX`2$&PID*&7GKVYLk=q7Sn5}@ zq7+>wddxE7rp=MTqlG5XZAxcOVo==gaPEn$WJBV068EJdE7y;b*e16WBJi6+7a=#y zS7F9+9~_1N=3}48>Gr{J{$U$OoN*fnKX38If*M6lcw8q_N|-9GB3M#-F7uU4x}w&*K5>CWZ4m(~?jLG*Qg zp_$RrGVp95-XIOx(WD_F8)7*vz2<#&M`vxv&QxJ)?_tSRS^px_wf>hS`_nd@KppuX zKf6v{lz((-EuO)rLlCpU(e?6qy?d5Yca5qXVZ{FJ-(g2`XoGXgK+%r+7vf8^Ll5V6 zbDG_l=2j}6I|eN=S^Tz*m+3IJ7Shc&PJYr7Ys}%rLInKYlm}d$U~uqiwwxJouIYl# z(;3n46tI1^GaY^1nO91G+o<|7$&%83+<^cB52I5v6I*AY~ zaMjMG9bkJU;Hmh~lHma#uuTeTka-Dp&_O?qdP52z&M@I!H~2&7;n^$W21X!*Z6iG? zJ)?jwB!V~stX*}^cGQPR6lh|~A5Qg@(ww)t5hfeL(bAIY{7GBBkD>8TGYeIgWnE_1 zRPb=km4Ch!y;1_Oo~yfO5HkqPm}^#SFTM6tE!Dv25Ihgp{;CUWTiRVI|2s}cw*2@A zbwvBRp^fWIlL|6A!TbEw-tC)$*YE(!+KhPmOzlNyO35Ql_ z2N~9jcaUc#W>dAK!CUBA~X zxy%JL+1s`ecKFZtq?1?=S|xnyOk+gOStBn;0~WC_l{DC)%+Ss- zzoS9$^bakn0+82-M3%)Zs}R~2R(0hOpUB@hFuQ4`i$eg5M;Rk}jzMn%gR0(q zdXW$k(60P#Gu_Sn&hvxUOOf=?NpROoJ zT7T*FquIUMH}_jip9F-&_ zSaA{DjPklV_vQy0ZdpG9@Rg^*2ED%*CeHA!h}nLcwdT8Rf}L7Ff@=v=6Wgt!NAtna zIDtpI^1bq5(Eld2YcXbR$_yu&{E>gx_4t*A`_7|SF-4J~(Y|F8s0f8jniZ$Pq86ja z34M>i*1H>d?%mSr;4v>3QZ(jM`j_2DM-nasCCUL><;>u_80G5i*FC4(13FfA0%YG=Pxt(qQ58a&mB->sPd-RGKhmz{RPpjFlBtWijrj>j^J_ZCN|NGZ z!YXqW{SzNb>gz3LYzT3`pJ9H-4xNwEV3l5;g>SOb+h~RrAhAK!9&H8eiV77X5kF~4 z@|mvQ`F`AUp{NCHrF@)LeT@(6ZhHR{aSf(eD{#m_VX>S>Vey0&sQ62^xr& zf2i^UtfF7#w4B251>G`x$ZE8P$bY>CaF_*~80w-U*R`ObSH##l>hB0b^JGA5cJWJ~ z*{tNoPM58+-cham$vS+YCM??+SB`F6|LKB0yfMd#q~0jdKsf>I!}f1k#*o!EXZ>nKf*6TC#326F@&&(28(d+yAigF3G*A{4>iQ-GPjPaDji_&brx#5*64pnx z6a1gWctIl%1Sv;R;l3^GU%srCr2y@N&} z2)M7w`5L12jy68NXcYKm?l{+sBnF}>_V{lXfoOku4+*A~&@R~L*R+-x>+j0Fgl#J< z+AixUuK2Ql6r4Z*cslWeR9gJsw40}qEy*GP-?6AV zq@U;o_7kEczJKIz4?dK=B~(ZGcM7jJMF3KJ#Df+Tl6Tn>U-Ae>ZqQJFD$E#mB(+Pe|I&m{mKO z9(UW<$pYN-k699HLkNuce|@{nK`(`<5S3Q??K`hMEM|Ty)u-6f!g%p<4wzCKg{j<=#dnyNfv5U8*hZZv(ds*gwp+3UHtL4#7hz2Up* z`~7#LT?acd{EVHWSL`XkUJ-7Y`hH&~XUERAmZ_(k`bj^Pr~lTa-K|nP0kC|`F;nHN zU%-k6MJM!i_|+J%Jpm86MfB`HiQOwE?FoQisp6u3=Li81)oY(Dn@$saYIhmnCVx!i zDFz}qG7O8$JKnTwja`(4RTfn$V43MzX#v?^Ao^W7=;=@INoo}W`LD8F+1I|`gGF}P zSTl|hRZ|vCbmAr}$6>%VQ^nvO)h0asY{AKD*uuugSn`>>+o!D$B4;{=DG{e9H7dnH z=;cQfc1~wOBIQYTQjVme<($cfk;li9R`>SrmCYO{!4W^#$igwwKh2Ha^);n4vmws% zkGu!SwHs`~A_F63VW45r&X1CaIf3}$1*mgWV7psLpkZ1<&Z)dYi;ohGLFl85!o*;Y z!-s@*Q5d+_c|Ztk1-KLRwNQ1V!4OgJs#)Io>}6RlTGuuu083%M^GaG%fZMsZ@Ks+> zpm%1d4;tY_DE??)ALcQGc=d8l z(Dv&!t=inLik)_Rl4b}`Qa3)Fc+b+t9j6#$y-IYdM;rkzY1W-BOQ}V-lh)R~ z=sl?}Xpojx1Ak1*rq|&7w5J=F+}L>(&|$l5eI}<&d49P1iA_>1<0Hc|5ttOLQu4@! zrgAQDk&YAKw#=RjW@8?rZiY7uFHFo&AVs;q_N`yLpJfo{8xb(e76Plci1L=goK@x$ z80g1yFqAmn*I|k<1U4AtuF}ky3d{LAVd@9cL@%Yk+mW%`zZTK<|D3H&6Y^pML%ou} z=AWe0_O7UNSWFTDo*RnbCy#=+)3=mQW`M@UIC3ajQbWZ3$&%_f%L7-_iVN~;yd2jr zLQsqMWB%cEE|J~Qxo#y9zAE^L@PrF4^BxI`f16yrIjj&U$z1DkqkQV{=KhV{*R>;a zTvJsx|E5T(Z;$>M+Sc6x4SBz$yR6l@Y%TOef9r|qj6~e{Wq%BxE`JOphRjiqF^%Rp z3n8DpJ;ujVB|tI3WlNRnYOnFCO3y@ddA2azGff`lQ5oV;XWxA6o2e`h^faL^#_6=7 zPX-!nn#C&Ou#7{4i zfvgifP6S(D>HyzgGbp8b=>}DQl#2fFO9KrGDYjb6{aypCL%A#iWTWnf`-?!o#;#6N zi`C27)*h@_k=|0e`C}w_-$A!jVb?3s8IaziwkNJ}K7BGJnF$?iC9q3@Z9XnwADA4| z1;ihR-&d(L$QDH1Q_Tpz`=s1K>3DNwJASK_ZZJbNY&=k_Btli``+#+9aX!W3gx+7t zjj8{zw4mMkPs&(F>kDnoh^)LRYg_JxsqKTxgkY?{P+)t-hQ4{n6DoR=TR5VVZ?gnU z_J4yLpsE1S{owEG_wHYAQ-QozQkzXaToS>jlU@>TOjsSg11Wfy z$yc|)e|zc~vdx{&wa>k2l$WW5LCDrV1D#6UU(nm32GRtcA4KaH{lY)NmTvu+YJv2y zZhP%LNp_8U^3Tj#%(60=0HtBbYTOq|uU(tqT(XK){5G3OtS|bEZ-eU=Qf{s(;gZT8P(p!aI=bZ`FoIJBa4#}Co4+dCPxz;cN z$HJxXxqD!?>GU|MK_3G!&2CfieG66@x0FIRcCM8bYr!2ct;MihNXa5^d0Dyj+byQ! zF$;^^qi>OwCBI#~iGbJD1HYKy=91`kZpPUjH4jnEn0i{5GAjhBPU`+1jhUqTqpfwur1_ZZSUv4*vJj$o25YA@Uw7l39@3-K8%W@f))`;k&|@n8h@2o2fp4-c_wQ+;#B3M0C7d3kwkSk*(ao_XlJvV!~L^4MYuMpkDzc z67{pY+8woftvK}ytW!&pdaz{CJpZQz0U`5oTe|qL@b)Za$ob6hRZ4a~+a>ZIy0=z# z{y#G+}?+w znVDfZb^mT?$1%ZtR@LA8Z5HNsdM8e!a=kvU{d1MIcHGUgUhjL=4!pGYjj`<{xCX)W zZ{0Em2ueU8qP|T@-(5+ZbtPu_Tx-XS|J;QJTX!1SAg1&=V{i-!DhY2p-Gt>&dABgD zAXu9avNPzF03#d`C<+;jY0Q+sSWTK@h%i&$TsT)GZsA`)T=ysq+h2S0^s!J4C(qF; z1n65mYFdLwczx(&3u3TbRH4gfk(Wh=6dvjn`jD-7*4d}~qkG0ou}y35@t_2yf(J>o zeJp-F|BglxB1tP=h4b) zyR2ThBPK5MRWoVDNDKVGaf;pMPmvZSV3aRUS}ZkEdT`3vAqP zQ3YPL*f-xS%`DWnM(z47`J`uYRN8U;i&T^-9t;D~Iz^|}dmOWzAfDXUG^F*SO)&}1 zu&kfEBY>1tStz!NzADu3w%E8qAVFlXLADR-p1k^)b>?lPW%JTq8#L z99$jpj7##ClGEfn>)}N_2U1k;4#3HrHnlKmW1GF4V{c9@&TfuS70*b+;!O&G6?fHy473U)0I|%Qb>|RBIE6bX`rTl7WavByKF9zL3RjA zMNZp-J)9f2cg%R<4@}wqRQdDjl>7HhJ_EfldI-zdbWI812Xnjk={r$>53E#=yTP^F zfb{V8M9)&kFIxJfet`Kk=7Y@#)Zz%nTc^J~_256s7ylDA_ATsnFp^y!0Ptf)%9030 zc?)+C*6jPVoRFjzwE3_IGm^`^f*qOh^%LVCHjC8MACwr*3V*9#j<4J3^NX5aZASp^ z)B5&yWqQbfFeCL8C)L7+dE_6VW>**K0dV>LAnMXp1ja3ujbMY7j1##fDt*gviw$VH zy4DKmKa6G>Y^#R6LEH;uf3qc<_W{d(U!cNp7?TToYil6b&Tqrtw@&|Lc4YB&aZKpr z(-#jNJlzZ2hK>km9s;rMS3%mh4TLa;tk{a_Uu z&zpARR&>9cZU|~Qu5|s{T#1ti`CZ#jgN3UH5REfQXuAYF3q{)+hv~W3W}P zpJIx@8Ts>GNj9pCgNH;|X@;W%zj`Fa4xf3SWt{uPh%%~R zTD}SyD{%$QaatR}rwnalV;sne^YlxS8qDm9ou~@gUZ{VO^dlXwoz)h{6m@_yb+Y7`s+d<#!o1Hb=6&H>DhWUy=9NP&dS$cv z&`%i#6y>#<#nz5u|4_U*kSVb(tT#p|@p1r%8!scjU-FvDBf$jWZ*kl|<1c!|1RSD5 zYuu-U(CO0!n*puuIa2}uRoVMBco9%wtW(6c`|CcBEz*zC+GdEy!I%Ojk0@d@2ltwu zq_zIrv5zymK0B*w&%qZu$84M- z&cbtU_i1qF$*P2L;@zJ?=S)!29lfyOo%SJsc|5?E$u|8WbcQ~R{qCE}3pUqrF>;9Y z#_?mjhI`v}XBJEx?}z>(-n>4)aC#t1c*UE5f2_ukmR_?Q+js3a-ss?m%}J(|G>Vcx z@Xsfea+Lr+gMa2pZ~VeHGZ;JNOj~)y8;HmdA^edZs%d4e4Lfksx&$h2u?}LX=nD-I z6yWLoh#OR+x7o*`kl1(PsoiIc!2IX?@XD;!PYFV>hjj^wkw@aj?&WnvMLq%sWbH)H zwS8R?lS)j^_6 zq3mDaq9C}Mn*d0yHC>>fis1>h%G7^yKFo$KTD&CWzoy4!b>aQQ@qE$>~d z*XCfj_gans;>NA0jh*beJ=P+2VDBbh7-)^k3mm#?Rqx9GPN{sP`&0+5SrJ!%ciMh) zBP#0A8*@|IW`@tNgXoRN(gU8dA6$2*FR*F7MRkx3_V=fk_C}eKUzu>^Wi7dGQ0$l- z&y%ZEV_%bUEEnV{#|fA0opsw!_ef3$lW6LJZq5v^hn81Ci+%xc1`X6v!5Zyxtg9?P z8w{1`NlY=%;zy32_$VZ@w%O|6yoluMZBaqQnD9dVQ-y)VvE69;e>;OxEi%7T$8+Y? z1c-VI#lvoXC|%ePcs)xHOkg1I7BG z)d?#%nCfn<=|B&7-anj+=KZLUtzN!Zd56h!o?lY8EN5rS7BpPYn9OyzRNX{61W}11 zv1`ngI)t;fTmM-<~1PVbw2%RRd%P^5%iM=v4P=cWKhfZ=*1= zJO9OV{Bo@xGr02LqxG!9N@}AgiTNEN1Q7JpbX^2sbTPqrQoL;IllbqX?{S4*&O7b> z{td+7O_WFA=WG%T9WYXwG@t|9A7(sqyfks98RF~FS6O;0+^@Z#A=yF{3n2~lD~Qqy z>PcueNK;1NVQZd3@{%R17AXb^bQ+zhgIy-4)C-Zi96#Bnhn8|$F=21e9wZRq7(31j z@pB;Hogkj1NKk8>_cDh*uP z*z_?JBrE7ve!k%R*IeGGX7phd0&@@%)Es4_L>^INOvskivhy0DfgA zm$X^zIaE=6+$`PU3T(|EBy~MVckh}bqcld~gwn$WW682HcTtBu*Q%FGH(efHMpjhp z=o!G}U(=es5ZvyS9Ysp5@ntFB8esjIbI1XAMEaQ0ytP@_$RXr{-xKJWF%e@IS4k2- zGLU3v2@W0SzATDd#R~u+vk|oPCVqx3-MsCc{EISaL>lR?3^vfd_%hh*`tkl{$oX?Z zES}z$0=T|>?|Z}?$cUHX%PY}FI4N6XrE~pPQ)Zr2%L5%oRE`!xS8SKb&{2+@e`cyE zQ2FYDwlT>IeZBEg6o7Gq^1dx!JRP7+V3t1T3hvr({jszXnUP)%Ngv$%ZK)JlVCyOD zJZX!>w)DQH?w2&XeD(Sa0!VF~t#?K}FRx~vGsL=cd{1{gg?Hnu?ZrL}X6%CPt64)z zsJ~t{$WS}&lJKk{*m_}DyCs3MGz{u#(=gn3C3mWA{bWlIKID?ty@LLLtoEP}Z%S3S zQPD=12x{y_NL(ZT3(s$Wk%-DqY6Bkbs)} zksZk)48XYvukqOJpm-2CMLTbRb4yd(f93%k>S`5TMVdckq9jN`{o4o!DjXNE)qnA^ zdgIMCXj6GJRexE*at0oQ_Z=OGyPU@!cd;#TTmDQ$8qEuq$3(&kLd%siKaOXu`R_cU zOJxzWO;ppJ1JG2OM=C>Rr3yc|Nug$jsYyD2sq0vsE(SBkZQkW=z1Fio^;~f37M1`P zuiEatd)Dj^b^;sh>)K@o4d)W@(4h7rcNV= zZDDuOn}2knBg&FBzb;(0&6GY7y;M(u)<$A5?Sn!@3$IMD?`AgZUn4n)PXt$9`}CkE z#^UChOV=z71{p;cFW5T-5|K_cYJZNW2sp3 zJI#Tx9aU>+SrNz%3A`_9%L`a0$7`g)>CQ&sw?IG(=O*V9%BUkPddLsf73Qr4?9wQ;G!*zQ{O}xDx{dS~iGr#i8cpBF2N< z`o@&|2aXV!g9Ot3NZpzOwYtrVV?$bg(TkYeYxE=tEIS&kdIm(*73AXh{-rH9awk7X zv9Oomw2#tT;#4vBUcKK4u!tbfWT^Eg-S>cl#{gRpL!sDeoQpdfOxOfnKoVynTRiS@ z(_q^u$X4K3IS$iU)Ix;lL;hL0Z=ar@3^n!^fH<0+vTo&IKN24AkPsQ;Vh-SU%9z)v zN3j~v*k_2P1H+Rea?46D-HnI$I^ju?P zrJBikt?15s^%QlLC*+o@YU<{E{l!R5ZO`B}K7_)l;%V!FNja0egH13znm_YlKgr!2 z)(&)CPQC2XuxMA}cpXoxBdD^vKBKQJA~P`7HRGNCYm@lKAB~=n#uv|tMjyz%e+pF> zQ56NtG*g6A`Y!Fq^NE)uEcd4?khOK3-&<5%u2O<1&JSJ=M9P)YHM%Wa7s zo${+N8B^SQGbkH4A)sLf@91LVwroxHwhY)H*q#w{sWrdMEN9 zYi67tJ3>FRd2Ks)+TNpYzQ%K>M+C69<)J)`@J#(3nYfAq3h7-t!(*ZAi3KO6mgxvA z(;3CfQ+}jJxn(-Q_GABdWyW?vlG}yogUEZvM@dV&8t{~sj)fx@PAI+(Z zRQ<~qs*hT|j>J_2feP}&q5Y`giBNc{R6_}ZEr=$kjr(Md==BVn%hhN4WuU#i(n{^I zf5P2tcs)|sf1F1ui1WW+D?dt-0#%||VgEf^TX_&pnL5p{Pk2%kTEcI-G9?CuCLq!G`jWDA-$9?tC>WmP7%qq`U3qYO5{pf(g5V zG#u{UI9quO+s+b}yNS?*de6+sBMq%WCv1pmgpLZ zF<5q(xEwUgI7BWBl8D^BR#{-n#c*e>fo&GjYvu`3y6B4M?@N=8QIm9O?e~@2qL7sk zVs#3np5uL$JC?I32yeiYVBwYVq{2x&q2pKK8f8gcsK-yM^TCF`iguR7~p)IDePLZ)BFz19uv;2NX$|XloG5vl2+_& z&;^#DfnQS~6N7LemhkA_!Q|Y5AFS41=PlkR>L5nf>dd-XAs%>6oNFT4bQXpa5-QR?WU>;SIGFgw( zFRv?5=;3T!;Dq_dPniATHP%u6zt9;0R7WP6!hapIB$_u)w@e%Rb}(6qYUqz z^15g>=AzO&q}*I!y%O0tDZ!phkJN{`iR0%Jb!k&`RcyDCT{5?6XD65}EYj+-&E_V> zSXVyitB%a{K*ETco~?I}`a7zbV5_^#RkS1UD#^Lja%+f=RF~+dzGD5iOSFrGr-w&{ zaK?$;y*;m}ch@rz|K|gdN8N@(S^L?>jBXruBS#{R@HZ}w#rXzsvfo5t<=PLxNbUjv z0nrgx3e0Ag4bD2=jQD9~w_CJYz59Tr!G}8WzTGY`#6|4w?hI6v@cfnZiy?AJcqIo9 zVKfPTeT6rQ+vN4}*eD`78H}v96zLuAAhI?@jmGo? z-X#-ZjXqng;4V*c`kl+!b#Ff$?FxPRC_@{2u=?NHsxj_D;jb!K)unWvG4ZzJ zjZHL;?Ihh5Z5VYN!(GJ0;Lyyu&10H}?ITl1adq z%h&&7M41y~4~iOBu8RX(9cNsvEY$736}e^kPjyZOW?igAulTo|*P$!9f8(q9Jj_5t zLwf<;Pes6?4q|QlY6luffBMNWi93>XGc$tOJ8sg$)l#Va|7z*O!&)CisR@j}lZL&( z{0uV3w6-|qMoF#H^~^TQuf|oyreN8ehYaxfv&^vPVEA@52xn=mi_3M!I1K_b87gaG zPlqY>STlVzYgf(N_l<;p4F!jnCrOd3_(BrgUwYfKho`LtGZm!ge$UcnFQvfoB8r84 zav#w19u4v5SWsdJZ3TPjeAx1_Yr0v(V((Z;G#@;2RhfRsp3ndF39^x1bn4s?h~7F4 z+Q~@a5aBuxl9t^UDoF9N2!>x#A+N8_ar`pao#4_RBh$tPHhNB$5d+()Gx@K0rpw?+ z%9`bN!+&wHgXo32BFsADyG3*DDD3j7#0;))+^7%kPK3k#y+6+NMT~z_8(#cF0D9A{ z&9`!?XgC7%PMV7$bj<+|^CP+5kLUf)AMQMQZ z&Pwh3C{7-46?jHLz`mzktJRHQbIR2$|MJtAzoD|PN)}6A>c0j&h=R+~j$`F2iESOG zt_Os|x#_f4r{(A8%#k;tsyW3L zQb$m8bA8Xg>jJ(}d2{W!#bxtD^ML{7*}ZI^_9x>h0V)jXGc>2JG5viDcCt(!%s{Dp zP;fnd^p$j}#fImAtnlD=8lM)3&#Hr{q z$WD2#DZy_`#^HE}W!mOAc1{P^RbJh?i~=r=PjLG~g4D>_prM-?H{LI|W!!O*ZD2zW z!}DWykhvAw1}^_WGQ&_!w(ZlGJqF}Jv~s>%I0pg@T7x?)eofBsQmYzQ(g}hcF^z?(Gfu}l% zbQ)8^8wF2hhTYXVrAEk;gE_^Zl9#l&Ca8n$_*xk)>Mf+nzQpu-=*-;^G(a$q{<}ST`pjhWT zJN6zQD2}$|Hqgd~O1mH08J^r^cD2|Cgy6YjX2S(^o*|BS6;|~W4gK)sh)%L+Vt^D> zp-q@7;Ft>kru2dL3L}-k5n^w!>1 z3)3%B1BJZABBoVshEZX#b5h^OBBx1GARapYyi(gBncm0b{Y2M*qZX-w#7*)XEVCQc zmj!GKl9tAn?QOu+jcCjQPK4ql*G1dujs^Rp8uvi{ERBRMISS%%m&nlFw_w%qB~n%5 zB`N;47i}kzq<;ykMS!!k#8_KV&S#J4A+Pobfcq8CdqEc739M%knQws84!aE)Cmr1o zxc-(FfoL^@Y&sN_jLM7yW?rhqJwO#LC~GU{q)6wFmhYe3R4K`=^&`Nc2nm70qzGSV z5w3qmKk$6TI4lZoj?wREbFjNteK)igkxZLI*n&r-);HB;mhPwAbgh(>l>k?oj|TlN z66Up8&bTjXvxlG++LZ*5@#Jf|yQ55`>+n7=Nr2f!EV+djwq`*deeLgm!@h?%SdRU( zEsNtr8sC^cfQ?Ip(DgZJ@GK8Y1PzUeMu#DBNH2%3(Ip>?KXNX@=aP3LL#CC5xnBRP z#d@`4Wyh>h7ZOcQj8#a~hboRM`#ZiV3}~3Y-D7Qf#YX4v@CcM=HY zVr#yO=;8Oc6QaN%Q&+aKoV!_Pio|!Ms2keL_7zVa1`d9RK9%}@t8RS8CG-6aJ5H`= zi3Flkgg5Y+!vXaoJ)ONjsC;Xew8_%;(WodAT<;?fs{@;7fsFnVc|h;Pwfj!UyX~_~ z<@B4Z6kb_IoLw1E3gy?S4qz`TNHr-J*;NfR(_29MF93XkH5>wL;s@i zImy6ocTMYcoa8^vswz0674{RfSzz^tt#1Ca5u663*H@?NT^aEYP*gTHBl7nyz)C2& zG=2>1gu0_pAWNNU7zX9SYP+iSs4v4M`-f)8HPko6)~ar91>yJwM5;6CRs&-tIhJpP zS94(;-(*P>S;vj5o8oks$bjwParGAZ5D`>#U6_2B@!syb8qC}1#Eh`KSt)l71dC-J znuHt(44#}O+^L@4g7xuK%*nA4hKX+9Xi5>pujM649* z<_Ki)b9hHr5)e!ot{T10(0ab=^&ac`l#D(59TID)(ndUMb=mgqewu-hP_RDv3p%Hc z^$5bsgEs%*puH3Zos4!ecrleq!PaVAsjyco#p9z<3ncbk^S$Ha@%_pw`)3$*X;eAu z9)RXdn=DQ%6_m$UcNMXzFJC3yw5$k}&e&&X=)ds3nhT(GY&LEMiR-w7V1Ag;b z!{io}MGg)DT{ZXCBjRoPdJ?}XV$k%YsQ(zo$-oSaZ9NT6iw66n0=`k!3kcDo^CH)# zaLI`#j>We6J@!hPfWgZ=BO{+EP7A!3GDC_7b2jH7>nj_!TO{(%;A&p2U} zemn5kapOc8X+Jy3#=VDc)QWkyvrgMZMiIwr4)AERA z+wu%5&R=`dY59~3IBuNTDcn^%%?Vp?R&Ds*YyUwi?CrmXnm0vUWhx$w3DBGH<3T1A zY5(5~upza-atq&2sikI|bxN@J^hAx!%Zf#!s%rBcNqQO~9k#X2}bw1M}%IYtj>{!~l$IH(yuG#?~YK4gYguQ+@W{O>4^kMO9&g5Gk>mbS^9mSe(}{; z|CKGcTg}k%{TKUEi05Pn;h-@i_ijUDYL1Lid*V`a)LnjgL%sBWjVn1f;PsG0l}}22 zO1);GmHdJa`WcxK$KJSN;Z`IqFA;Vvjfw{A)F1P&yyzFYLGGI4H5O~5Ho^W&OG6iA zmy9{Qn>Sz(&Y`-s<|V5lKgs>{S>bij(QB#H9?^K?tiPf}37o8fsy*f<*-cJOZj`OI@ ze}PF$fgdO?7IegO{l2UBLV)Jx#|hiRZ}%Ws%%O%@Y2#OHoOF)!vWn(`CWXiRxTB#= zskK1#ruDJ&Q$RitDc&f_ac?V5_o`0t^n&gjN%c(nuM2U2MRny+ZK0_D4ck^rlGxm} z8UNOgduNUfH>SR&98x~e5oGj}zoUjXB>Y`NZf0@KCH$HY@w;dh*3)|P>5?*WZ*JR; zHGz#^(g25W5@>o_HF#qw8;_rwIe|Ntr6vmI#Y1au6*=`xb=W ztqV}PbO`|>`C@9|ZP0Vfihp{n9#S3IBd|MD_O*FLTjfzc|H-jrV(UYP(Im$b;P}?oq zR5CHij=gZQZ$}uvEB1@s%6`h=XAn^fuiKDYIFmsdwBgxnz+`7Yh zecIq1?I~+%HV@8334!r`+vQQ%6~CnRFthIwsW3vRT8P|ZP$qAW!oOf8@XMmAb=nxYjgrbYWE|!!1!qJUnRg$X?B4 zaDZ|54#A)p+Fc=QESl-QKXpa5uF4O0tmFxE%2>!dRYj6#MWLalrl)@WIn2-Ef5Q5l zXXGp?Th^QC&jX2;zyFV>?~aD^ecpbS)q5||TM#w6D4Xal2txGU+ee9RS5Hxb=+UA^ zj~;cA5WN!wi|D;C)_V8*p7ZTvw-b`phT_-z&WqiU|w9VMC|bQ4b;)eqZP-_5MH=Qnr?(@_XcoMuAuU@uUB2Kf>chW`n;S)@6StC#QgY zlYd)-iVcB>e(Mb%>x_Odcg?SDZVLkedE?iDGbVcvfy`I&Dy9=`O$n30iDs1XWsopu zA*h)`R$I7rwB`ESlSotnq>?Z*O7`5twDNMD>T+%$xVtlEqXlkx#c@Nb>9EPP922-p z6>feNFYE=NfU&^VXmlvArz(ZFUn{PMt=h1K3*P~-O8q5xxr^8OZF}e|Ee982g%9;1 z9n>NQQ0IpZFDOc`Dw5f!7+Y#aq7Ov-;fox>PricE-t*Y?nYo}3CEt!|^bE|d`O3@C z*HO3Y(=8bpkwNqMDAXAf8a=pqJ|13SvZ^a&1-*2`x$XK9dK-fkrueY1c}bOaH7&(| zJWicjh8_tyIaM%GDp>o8h}IZwCKV4ji{i_>(ykTe=+$T3KmCxXQ#Owqyyg<4en8|;`06~PKLkJ92rQ;xYKcY z{+NDxYKQN`NoftY6=g_hI18ERWIibV<$v#+dxEr=8ZC#f%(T;5gkjo7EN2l|?1Y(z z=Oj*39hC&4I4-(1@RPsv`D2x2@|>rU8~;fD73|$57?C}#iLzZ4&VpX%tX3a|18`Eg zcz&h|h%n&&?wu$?QFdD?hnA2`4{-p9K={-A7VVNi5UlVE299Ir<4zlg!_d0^vhiz> zkbd-E1HtajCk5v>Z@d3e@7y7gtsPzZyqXr}ocs8u6o#CENWJ;6*CKmL5#Nqy^YMDv zaE^sm!vcOhDF`rzLT^W*-JwNaZ@X@OSy?JPpy)E@opA1{PdUg{@q9zccZ&MN6_$lq zKWt7uMLZrg$34>=b{xpa`q(n?lD9n?>c@O|D;4hEE?*(`E{)yTXtlC_SM`pf!Vi4r zysq39>U;B4km7Z>@#-pzW-4p9Wf%Glv(;BPVnFe}Zxi#lIYZ4u+s)CJNg2cWXuluO zht0EusYLjCzVPaki86crAbp07r(1XUwnm)~p?9sJS`$gIZ*A*OB0AUfsGH=nP~Q&P zp|9b(JxVG6_M?Ex$nbxhrX1DjPtSG9Fg+OK>0_H~tXE1Ap@b*z1ORxbEa$cdrpTIn z;c5u@j&xXpfRRdJAH^S7qCj0KKCbUBAiI?+bud&RtiqQ|0{9?p+J@d93$1lgEK44I zR~vSu@y_AEp?y3-IdQvIiGi6c^9V1(!pha9aPE$boBpL=RTS-X&68!2;Z$}_y^_Ky ztJ!;oWkUT;_0gt$`04Plk;?gU_|5R}wiWtvbJ_}(776WcH4nd9-mEygN1J{4XRtdX zL6(+x7W{3eH$sb_?JblK(CF|gKcM!JK|%ChrWKJd-W6HdPc$+5EOOlOzS4*C4tZYM ztSTywLky3d)U^`S)XE?9qdD~r>I0(R3Y$t+H*%6+Gta)f4>N`zi>Z*K2f8h~(CF(7 zR`mUKM%nGn=^gZy{wGDtnupVSa{0jfigfDAP_GMHRfn5VDQbdp1Y7QFZP{hTCkg%c zSaH?lto+fb`0FR^?c4a{qNDZUa<{cVtMh!5AWOrQl>RRm^x$fsWd#rrHuEAIgVqCE zdNe`({IDR$s>r2zYz$8`-H&{8%$~OQvHy>Ms%l@f-u%mX0dgTr{$mgv=3eDOaPm9% zKr8s~_1Tvd;>2lvD4A*fv-hG*k6{-0c(@Aw7BPf+Qfk0-``^@W}N0I+#SS^xj(+#{=CtP68v9DKhJQMU2 z^2_jd|I0e0ek^?`s{V{EyzN!=Iz5T>7cx0L85(x=xRmnlI6-u*LqF%2_9v}DMLY61 zht7P*+s6-qLHBp8!d4GAWErdvyZOSbP-Nfcnb$)h2M*02L#>4F`=ZFGaaN<^wE=P* zq+xQ{M%PC$$OZ3JgTA+GZxn@KK0J>S8^&9wf7EJ<=g zXu0H*F}LSqpSKQ1I6&11yNHt>a6Z;Sf`P$nyMEvQBRs$f3aK6DmXcjJAL3YL!UU{K zZD3;C(xNQusx{}!_sn>HS+S#kYIO zSa7ohziYb%>i+{ZD=fTvpWodTdY&JS`MJKGF(1&~DhDlv6fD*rE9GXK8l6^<;nd)| zt7*NWk?YX8o0ZRV9q(X|^pu+oFmcsVnLUe`?EKe|rBJhnNMirs{o(e}*FD}_Jyw&ao`rRPpx#{RO8#DiN`xXNRiK{=ukVqYroL=74x zR|u)XSo=HS`fVrXq#qfP&TksRodj|kP?qPC0|v$ipg)zB`n8-i??6Ekf}lCZuSyE_ z5{2#=SWG)iv#P$TK>z&v9sw;jQWdKr&+sQDNG&QiIywOJHm^`(NjZ$SpC*)w+ zh-=AMmixLeybLxq5I}fxe@2(#g-)`v2*1ro-=2M3MOkIk@{eYWw+z$ae9hzU)jj-B z#&I7j(UGC+=PY!nTXuC)G)~{CHtFxzCc;epmGqJx#uCwaN=|_lF|EPSXG80SlCqaM zG*@7XDGf(!YI&Ef)-qBUrT>yMwJC`F@0iS^(Mgr~B_d^N!e>n?lnb*ggVu(5L}pNN zh2Hs1e0oWomo7vm;yd-+MRk_xq9n?o{HW!-P=L|E@r)w$D-4k_kS~1AI;-*P;Z`_9 z@g9o#2*{8odnEK8?Q=s$!;Rb=7#@v8a+F`o#H1s}Gy1!G&sw^4GC&4N+26y9q z=ttMqaQFQP<|P1LnU{R#$?*71N2pFn99HokS=KxNX!5V${U4WfKQFoBQ37A*xSPi~ zI{;S*OE6`wf)E45q859+B|T2sZ>G?0>_MD@)PIT~@8!{4?XDo$RTsRADG*`A=%@q5 z2>8^Mewz{x2-8>2#)5%2cRnSM;UuvTUM+Xsyv_}+#N>ys^xr}+^Mw`fy&f#?Z)%l( zVuYxUGFT18SGLC$jp4e?>Cda&Ogt;#>992$+Y_kN_v)6*YQXn|gC3}Z#e2T8meRC!E(+3XU;*Rp}B`X}`E6Dzfw$PyX z%!zokwl~45s}+q0DSz=8Zz+!I^K5u*pF*qwHRr4qLAb%hMX5D2v)>t)1@3S4$prpO z-C4eFtIz6+Xz!cX_h`Bn-HdVQE&7c0;rPM#W@GhXe0UoZnfBnxir-S>Xm}0rV4;=q z6WbiAf}HPi6^bbYD_J;b%YIL21jq&jqDC%D^3$8rjy_+kx)~RTj+L}f%H$bENc~-c zVH%819?S#tkNzh>1dnXOn(CmEB{&(h7_x?qb8GxAqP^%mYy=+nB1ih)fe+O!dCKZ|`P&y_z`e zI}p4`dSjj7Pr)u#nu}*(KR+K}Sqm!o2JV~sNAX!dx3T$eY~eEHPJ8&XLy&sLgeZ$< z8T)N=`0Eg4n3&*umLz!=Y!(-?9+x-A8N#k!-Cl|$!O#*Pqo6%GTK^9x8N>I(`9dv< zsEtjvCND(N1M3Ocf zt7i(ze`~f_nm)XQS@O?0oNr7TMb$ClecUKu`v1729$Rryd@fteXa8tg-UeNqW*+?? zAU0-IQRYJtp(F_fKSPy~0a}&e{bx9tB;;c#l-JeD{%YEO+qwB~>D`rKfe)`zskz@! zY9xQvc4!}9DN71ralEz3+aAw}L;H<8DNIi{mo6vPJ7}d>G4YCSdv6e^cv>Z@B=v3H2!{LIByT@-j;WEH${#(#ah4DQJ9~0{UwTJcPJYB43sxZb@g$;)ROqp zL`)d=mi~qMNa@7R#_u2Iq~hp);<812Ytc^PB4qsvedx6W>pd4UbkATW=t4gma(7S> zz)3u1BVq2YM=;kUe<;QSYyYW%={#)#BOErPhkVC6@9yGLwNd zHtVUkbxu5u;fTdRP~ajPFS{0r1Tl{4x@+I66`5(uj*aWzA1Xa&Ck)6TFBeq5n|QlF z-ma2Wg#3{w#FT~8-Djk9fEnzW_21T){GSY@*P()>7aVr)ILUmo$+w0A;>{Vx>R%Pb ze{ALYAsqDOl>1ICDd|_oJ=-p&XObGX)jTQLKSALaze)Ul4ldT@e+ z6%-4e>z$Y0TE_0&)Cc16d6r(WA#X+C=hkpQLv>(=)~!iSCPxupT+;EEJT z@{KX||B6?cFLZpB6<00_{1Jy(a6L59$vC7;T*SC};0z0L4kk?-t5VI$s-*=a$ql2} z3og^j|@8|?2zGHwUB z;5Hymb)hQ8tdJ+<6tM)QKmR`Ha8dhu5yzv65g9t^X3Vx85Pj2V+{aPll4?w%zF~yDQl& zZE|y|3yEzOX@*&15E^`dXct9HfNykkYYn!Op=$SWtT@O!Ih~|Cap~PDW*HOjN{Sz} zlWxxp=GZ&%!wwf@Te~w{T1>1N&NHQ0xr64}abf3;q}r5797u@FJPTeSz+`{grN9vlZ+83fWmgEs=S4FN%$iqG}(S+wh_Uw;1YzE4VF3J-aq80P6^DzW(#sv`sYb8 znX{$z|9pRnZUBrLH<_VGUs8C_UXc6MFr!%&-@qc&c5!h0Ev!(hu7Ch_IT@8S(eya~ zD@$Zhyq6rY71T-GnXEShT6M?`BM8FKd>C-Ue*GSK6}l(`o6P13fyH0mY?BtexX)hi zO9}%#56)cZZ~52TCbTZ>{ygWK(Jipb6wOgz8qU6NE3LB;A%nzI-AO|Kjnk;jAHusbKx}t$kFWufWU@%L zlTO>)!EAfbPI3gaaL|i4OD@hvBlCp)3r>jGW-jed?6A+q)BV@BKbKg!CB|AG>X*_* zY?|F#8`8C)?GKLK!AAEKBhZrKN@aFC$&0N5{r^nlKxeDOxG_X=9`4?s z=$LLzE{i-Wni@l;tJp$?=(#pm&Eo(bq zA{%%DjI7FJzv8YVA)r=Jeuj7DF=ISzNMNr4$ARrn(DQTMWcMgy1Vu8QZEt!NMam{={e@5J(LW^9y}ZUBoGScY92gD-TJX#v}jl3O^f0>_)!dLXZ!GJ)agW|8(-` zYCpCp1_>q7QOeqkU!W-9(`5o-q5fn<1$DG9IQKbNnhWeJ<EY%d<2oT0FUIBFvV>ua+_bSp9C>L&@xYBEMMDWS3< zEv%K#6G*L<{YPX*a~9`|tOUp_bHazKvfBL>N-6wz$2UgT&Cd5%N?5X_^V3OgcrZ_L z@{kEV68NQG=~e}0xhd9gfkvLnf=*FfQALQ_`MHKQ1MruZ+*}ORFg_<9#6_0$J;*Hp zcqwjumy!r=VS|fKi~%QJy$VY;R%Kgu`Na(b`NbP?tfkj?fb_Cmwl|!N^lIYEdLG3{ z$l8)l=pFN#)HRm)&#DSKtdHd4Ad08yjPi+C!*Ghyg4fepjT7;XW{fy~5_2Q+E^hiX z`#L7q2gAmy*+w-vIjl~CWd>RjKuH1e-u*pA`-}1MERq8y3xmkU6R0FSPD6O3c)X5G z(ZKoQyP`@t&dUTlt%dC#nLC#Jz(K%Vuot&&*0m)kAvz2f8448Rc8{0{;k(kbsqs+*L{`B|$nc8X*0cZS*;}o*Dr!P-R!^ zoNG?t&J4)vYtmtdx5}Dq-U-UE+T|2QyLcEbx>NqxM2v%J8R>sRt>8q~@bLAQ>d0F`L-u6MME|HeLA%N>0Fw+y#+%dVw`7ou3w>oDy4K z@CkcNBZwntfdV90`}EnmyJmXz^N#CGS)N{(I?sOgcmrW$sT%Foz?tFDXc5le8it%? z&+Qe1i6;0}8AssiQLtvus!1p4L8trU_>i{sL18cyWaih<%qGQ9S2uj0fc`~ZsDYhb z+#qV9_F=j`U>9ZFU6|7y{=UtN!x{gp+Bi9c2ZPPiH4DcENnU3;7s!@&&r$!uvpT=X zCVKsP5^M-$stslLKaLO}f!zJTg5-lQ?<%+ofV%&0Q+4YF7G01v4P{>YipDK~Vb%E{ z`tID(^67t)-W4Ddow8YWx^Sob>kp*xu|nzN&TLN!0_8`)nG{g3`Pj+8=G<1DYTSA; z;41XoZ9iWv)P`^Oi4BX=97@o_ec-RPB+B!M>Sg4cMubyB*kaF2a|Em8oI5t*f5eGv zm<>U_Q=+7QyJpXWzaE!Ng7f|frE3M!X zjeg|tj((;xD2A%y)(>Mqz4`PG`a4{BW@^JDA55409F(A2?1t6W%y6`xdNf=+k!#hZ z+>l{eDx@9rj6Ug|j9`$@M3%l2?%{K1y7jo{7p+8`2%)oI)`yUfp9ch^UR3V>A$NA( ze>K(Bf`B8Ud>bPqnHv&$S8*zve0=sBLNK$Dj?y=OfQz;%8aLvTdxT{7!3{R=F+$TJ9Pkpb*m|==8h}sBurBgBF>Kq^OG1*r=7gExQA`{sJgj)i8X($gr9p~ z@FBe(L&0I6ojm@NdR&<}5QYsCzzgVWCO-M$(qKug!l?mEw-Xu>KK+wlK=3s(nd)r> z_)MgGGeenBbZhls1H+khS`!f_zmA@i$t6JupDkbS%z1@t^hsHAw*|Zm15@tyrTr@y zSS(VA$1+L*@9p+F zJ#4?{LR>;R9S#KUc))A2hkB_E_7_x&u3J7BRkEv7J0O{$kFnna_Sl_vxJT-bK+CFh zsc0jzT)u>TN*lOK%)e#I4Mo4nHgA7^J@!(?OY0AF&h%64-iIcVlfK+FhsFnU5^VI6 zM2`+B&eiqSZTXY7W@?>$S!yc%=oUG1BD#Esawd;|@tZ1>@tiu6Zny&0q<$Uq+T@u>|;ib)eFedYHo$ z);XH~VV`7sy(zi&9}(p&@Yhk;WnnmPl0SD;gN*=KPVsdE>RAh%4V;beXTgEKohA+% zTO`oe=~p@dc^tD~>7>tlX{9MjZ#%P#n`GDs+*yFvL=T~*bwp(D?~C0=0w>4CBp+g4 zQ?r73CUETqyCto)oqLGHhT1J;)x=}hE)|*-@2KUGBMsthr{v2nFNjY5#XB1R=TX5I zDN{EtSx(I8AuQP=ZvA`m{FYBrxn_W~|?B6zk0 z`rQvrVz#okeLpxE`uLb!6b65E@-sQlfk25zjWjk9{I!ZkBBG;Q@y%gfD zT)N;r>vTE*cq!wJ>(uY~OXP9lUiSKi@Kd6^V|-hAv&?Rqt{$;ZayOfOsWc>WlnX!m zKN8)C0wNo1&I3l^hNt4(PO$%ce)z};!jb~QMV1krx| zsJlOJnpc8j6i^Goe6V~t51cJhl{4@{PyEdtzJgfR8cWBUe{AfYjn+?wUTcznrnD9E zb2HVWz=@1eZf$u_0~~qG&sEqc06T5r??%FzsSu_Ts!tjMC@0RHI@>TCsuspPM*+z^ z-*I4`YWzTzaasB|9SSNdE13$=PU^%~*L+NXZ~a_K^W%t7EVygqgRQUFFE2~&Y+@rO z5gF2xe^g-7jrvYK5STlTTv%>J~! zT=D6@52eii6mbjI%Gqg8zB7~(T)?7j{N3fNSs`W`;StnCw?C7^&hKa!uVkCVfQcAy z94rNHsnDbD8?Q=|6q*?E%liT|v>)~D!$x`6l`q4yt<_Za&>R0Aoaa|aF~|1@t4VPr zDgFZiyU{v>tKlCNP(5VtErZ`P_C1kJ2E(REoXN7SIo%x(T!AqNf;>LZ4GlEB?#vu< zlZOA5DTDjSj|*Y4>*UHU#thgvSo-j04;Q2#Q~{pji|{x;o?B?P7{Sb3`Iu#{ay7+q zl0a}^?SGchvQL1EVQ1r4RrP;Vv)PQ?Rt`Q)H0C`Mj7R`M;P3dE(8447WB|2b5jF5f zC6BHM3Pp zznxAw9Er>3qZI`c<8kLRw#O1GUB|s*=nh@~J`RUSDv=4Z``a!qxi=viQkq_huG|)8 zorpHRyxXRu?l>b{zP}N6zMad#XL}l%ZjFzHgVGT7eSk8-xGuyP;$TbBri1mF3R*u8VI=4S`;=Dvu~NAOj|yxJncN zy%^{4mz*?3{GYjuY6%cg z^7BfP1c5QN5va`VlRU!y5;bcHbiF0HG$0cFA~BYO5Og-ULhO@=)3|W(U1>d*ooVE)E0#?ufmQ8&+SCSW0lps)5#CY2M30}wtJVO zp8^Uua=we}nG{{6NttIeBa9!Fu`hRN`T(vOvFuCh-Si7 zTr^LDERrH~x!4X&D--qhU|DEuh)|^N>1bdQYEDAIy^EHueeHUgcSj>N7qY1?^$nSJdlZJeR){$r5@Mu`SEP$SLhEXDWkVcsK7y+dPPi@qNqHyUnC zA5SNjI$>d*5&aa26cJZ>qeY$_W-)gb#j2G^7`lo~5t6n&5f0aAkXkK0n*FqBhh%n- z7ZnzfCpT_Q2w8Y=h~kqv@?Z-jaU*ysx|Ng3c|;`iEYU(e>xy`p4%k@|L*7E=i%vv* zNFkyR-B?@l}NlZfJht-w_Q#S%<)jb`hV#`=aNkwd@;KMaq@s-wi^x6y)|0?hR4 zrrX`iX6dkWFvPp^6>i+;`N+`9JnuLzZ4WmW0{a^f#@kIB@p60WGaQHWr0@hA8O6hG zy3@Zy$33vzr5G?ZVbqF*kse@@-}SrVy(=)+ozxh6nF3#2W6d^;(TZ}=3r8=b?D79T z?z%=64sZ66WTUo5@3_VD5?_uxd;db;Sf4GqOkZrU7EROTl>yzgHHw5{TCY2wqVMU? zK-5$8?+aCa*>gR;Ytj$bS^1ujO$4fbThO|bqePX{b)XgJP~^Il4c&KN;&0$1B2Syt zt4z`08c;(%{X>FfYwE#njfMZQG>_qqiP@z0_Dp(n^&l=q%njQRdneb{{7Ru!g-#L8 zXMx@;oB7e9#*Azr25x(w-q6A!=Y1mIaoTcc0B!8Z$_pLtYeRRAFHGIU$PAX>{6gK7 zSqI)cgg`*+IcdROO|zs_i|2Sd_D*D{^ZMUNZa;R1{BMK(yT}UN0E}{X#%0n$&J4I! zfjP4U^QUu7*O1+_uICz+HfbL#TmernV&}ndf{|6jyXkZt3dXhcbCFC*DLTcEeTqao zjP6*2n!!xTbaZ#@?tMKAH@`A@a_ty%nGB8t6qK$NALJ}7p)gf7ClPEGd|n$Uw7w9J zmun7%O|jcU?ekMaFWVu?H`-d%-$ImWQo=$DTgRwIaWL4O3J_|nBz>;=dZNJ3p^cdO zH3(}NW%p|mot_U^~x6laHiVs=J?Mzvy`?s zBoK|s68nmj{yuV{-Y5d$F0M6!vl{)!#EhBeCtVBz_Zo!Z6beBAJ2xH zwn^#S_k1C#Jck4$2pcr1Rk+fX-NG@XNCI}Xio;BTCyx3R;BvOuF8)iGm91{UZSr%} zhq~A79G@Cbye6w0)boH(XUEi5nUzVU>jAfU*Ii5*HAy`1`Fgp(KdhRCy4sF5u9K4_ z@}ES9xpy?XIB|(UllRO{14=baCj~X(c)-f=a2aT1o-eoPuMEdJoG;Eo!sp$ipyS4Y96k+iU(r6V&5 z)@5fQD~7+$b3%cYgjdS&F+)y*1@r3E8L5e?LY|FyHLU)kgGZxP|Bhvecd_;Yp3xTx z^0r|4DT&oBd$6njh819IZOpHH?HRZHir6%Mf3%DP44AJw!F$JD%EK5pudUmHGae1?i;Vk+SswWa&y^j?Chkqs8O?FspvE1r zm{{1pID0dNC5+P%f+`Pk{sv))X$32)xeb9YI4TyyPv`J}tz=ioeC+i_fyuELD5>XFR^&eM zPLdQyz1-FYQ%btD*JC@x8z|(MAR`*J?RVOcKZ(2#_(lbUi-G^iY&ZivqY;PZ>b*Tm z3|5#3SEZ~qg{g}9Ae~`Ul!&khRn&5HFC@o^ws$V+Y`Fp7QoMY<_nu`u(Ux+Vu4+ zbDWui?_G3Y7bn_)1is}}LcmRgkhFzRq1+f56x{k%?ss}SfXOK)#s1v98kh+uO>1=I2RB589~N) z|JyHaGzRB_U6+91fJGq{Pahj>0J5L}GTFaW^sv$y95OoH_04ztXYnn4!>l~mR^-z4 zY=K}HV!T^h7eR~$n)1l?L>h?%u9@K8f5q0$znT>Tlg6NDVr|Gx;az;59^yf>2^M#D zy+q{DzXA^TSMffJw*GQS)aGe&&C@x*w3ht=la60&%x{D(iMGpty1L&Nv3vjPTg$#- zv3)rVSkDE_9!-<#?_Ih#U{bp)tu<3VKtQ0rdim2;?624T_b=&|tNoK{J8%iAY;W5& zC0^0|WU9WL$uNx}v?YO1xy=6zTb$Rp~eloy5?no?H}A(JjOCl z?9G=Mw|h-+V8d-+H4#mO;P}uWp1;3Lc%8`DiNU|3N|;0Cync=_Glt~~;hY2zq`W+| z%<+W3k`6q!XuDjjRDM7S&$M=YU08m${<01lOq{xoJJk?#&+x_5Qb?Jg<`vHq?Wlwm zpK@TLCZgod6ogP6sHCOMfWSkrIt{VhK0z3PD$k_mSVFh-60T1mAV1;C--h~m=bjM8 z;rx#a>%u!S>!Z%9R4~mb&x@kD`b==(a9dM?a`BCE)tINN)p8#OXLO*d84(f|F2wnx zR+q#>a%Ay>iXb`onIL12{eO&&J7?uukH-~t=dF|Eoqul#t< zQbHLJ8XeIS<41o{e~`gia$g0FHRcxPV+D4Rh}DXlnw3X`&rC$E2c9 z({zzwzkPle`Z{_KMYkh92NU4;)*%4&&Y?Wr^1c zgpe$*abU#s@Ma3@ND1s+)V-k4mc%*NymNV7bJ~PB#Y>foAM)n^mRG((TKF(VTS^YM zY@iIF@c$N)cjpgUdAaKPZC2gdARC(1go9DDylintk9Pa!r3SvmeK)p*OW^)o%SDo) z30-q?gWvs_OiuY){@TG6HAc5Hw#)Dp9jid}XhLtD&XWX*-*}=6i!uR?N4dXYg(ZKJ zD0}Z>AgItVT*dx|xIjB^HeMiSxW+~KfTv(&>I;8|k~mLi&9V0T7aslI#UNfn=!v6C zxLG&M069Y4fTY#lf93%muyLjz`!2*5>?U2BY8K#pvcWq2OE+Bmu)XD*U87^R`gm!d z29@=*uwK~_H57Y$wjm&GRbqSB(u>`-IQtSKo`x2p477k3_#4W~y{)nZ;wx0yXYu=MDlDcmDbsp`o~0btvSwY&uf(B_Z2R$E zaNK6+>^)iiq&I{ab;R1VOUi+^^bhvCnlYFOJjHR9L((?_wS9(}HvON1MckO`H8ucK z?RRJUk%~t+bPPH&pFnnm*ti+h><;q@;z(o3@w1|#QJZ;$RlQVYT0f7ER>(^lTMkk{ zJJALdo+ z<$dwh(6Nk#>Kj^OlVfF`NCG_cp5SSUgwp|X{qWsy&PMwKW#g>(5(57x@ z4kN5NtV9Bo0l;_OI5nXIzbr*Kb7D7S$w90h>4!T}isN-J*k^ieee)%(hEr@&DFl-1 z!<=e6Rax(+1FR`gPyK^M8U_Mrfu~5Sx!>J|JOTivuPUSqB#*h}lMZys%$pyZUcG2i zm!|<}lhaErS}?g|jahG8Mt7bdS?&0bUxdJQ@hT1A*~NJdbTr2J(~!W$>A&C5y1nO* zKvDi-1k4#vI4@4qu6?$>7R?<2dRI`t4ovMtrC(nSuZUd-xH-BzGye8aQahdNMmFV4 z+&aM&xopv+$S_}w?G4%i1bYud&W{Z&{zsRE${t~`8~$ZS zqFBwt_5<7;@lAd;8YX)Xn5w4G8>KhFsy^efgUx}&D_HS^l(B}XW1ZP53v( zKdqgG&!r}gEutFt`h*}5XBB$XF+9{oWUx#yLK4RYqC(!fiK=J9-6;l^ky2*u)x!F zyDEu&^R}evqvMaR9%`}PEAE=z>wUZ=mByMBChkj1ye*SLLUM7Di5FgTKzysh9oW6) z+tT6GyU|Sw{C~1r4*PvMe&;Q=W`WJX7bwBrr~BuHzXz57H_)0Lf|jy?L}RkkEsD zgyj*e!&RpXOpNUpXL*5H;(74hXqrGk6ou_2)`~xQAnceyX+KFunQp6__3!Pwozus= zsn9bg@mu8MU3rntm$kZLnRuKcb(u%?yLE8I%AUBSg}>fI))VH*%^zjnz5aexHD0@_ z5UIFCg>ex985L_S%=g4=iijckBsUrVi;3m|Hc@ei2n>yv`SZf>Xv?g2A`W^v?-zRf zC3294gd(fm*Y8DHCnqCm9HqLlHtY@6yfb#2X;*W?9Vt+0;+76-Obv@JJ{Nj?u`YJ~r0LCRM;>H2c+K|qi9}c!L z(0F8sT}LVE%CnyaxIGx1Gg*1bOI+V-LI!lh?i?*741iXlLD#O3ClOUKPisr_m|nkH zvAiSIZG#*iep+0J^%xzuVtF5=4Qtpoc*m1+K2z!yZ%z8ggS_Ler;WS|Lw&z+{RiwD z43|>477x2MgDM|0uc`&80#W#K6PfY7GUJRYsH~7WaW~N2yjEo@Fc^P)_KrP^=Nrf* z+~O3}V&wW}okbaD5iY~#{zQRTtFd~fx*Z2NWcs%%bYWK4(X<7BjZN+w({yc5{Z3OT z6u1732(;J54WvHyf3pCm`;2T>54py>_uaS0GlAP-vMk^kHN8BFIKW2q`Nx3Rke>r= zPS_U%Tleb^BKi?ZQLtfwdDr2QjtdbBM*4^Xs%y^IGuV?kFE(@<8$pm#)-SLu+#VOB}8et`jyT6 zdUU&Hfm)Wyx#(-V!|tLj zH!p*Sb<*X4#S$WTCdUp5F(JrM zc8n%m7)12YTOEB1Txe+jD2o=_-a>J{(~C(D&Z7di5#r~9n(WNf)X=!f#!Qf5a=HCq>hpqhA=U>D` zCTMqEH&hwzC7nrEDOC?X{Y#lcIp$~Ug!0M%&Th?>lvv~Ro{3~+YxGH?IN3NjlIgrw zL}xSB-lvawhAVSA6HC%xeeY*Q;m1x!CfwADJL$1L%+4wg#e!-r;h5`d=(Um%dT zkwDm#LZ_Begi=}@$ovu|IrR8r-9rB^@7<}IN2PZ1qIedF*0<$n7V-B30?^~_}S|^{l=W75sM;L?KQMx!VJ=c`B zWc{d^2QK5-$+J)l#`@2@E%3A}TKFyZ*9=YTEHEkrlD5jO4gn$9FY24We+GX5AjSsl zl@pngO6%4+;t}g|T&CqeG`*a)G+uZqfC-pnfksbs>WQ!^9*-C-hISd}?<43sMcZkD zm)^F)y0t)SN8L(fgs}eSWsYVzn4skWy#)eJFsFBu^w1!I zJZyOx!MQ4FSf5wq@~9xJ@=`2lhG#l507zyuCU|R}h8_P18wVAH^*iJlRKMvc8r;?t z7*#gWUQ<3MGa&xsDfdWeqZS*2=V1n5#saJwR?7zcB7ZC>X_6AeJFjF8q|)B{$reoK zWVUpNru9P~0$`C76er?(h%GHm?94Yf?|z=ksQZ7Z=s3dMf;`kupH1Kdm5aF3&Bxnny4|bnori- zz9?IG&`aV!Q?n}y$Ed5#r8y(PKOMW`>3C)$cG;9*AsHw8*Ms9zN>*ycs{;?r%Mn5B zYRn~-pr$%1x&+Qxd{k9q>4&eUbhyNW*{iScZr*enTTmfpZ!0jSZd&ooB7pHgoKyYJ zKyp?Vq1Peyjgo+K*ukbKrByZSM<$MREXcr@fHyj}TNOO`?=lNi6+lX(@}gvts|~D* zq$i?L`HEMU1B!y$tvp9|hglo>=ts-9amTNYqms(W)B`0Vw}cwQ+STO21X+5}xl(q> zIyF}vkw@?UqvtQO9VveZWuyBKv0yFk}m0zm;oe|mIi4AlvF^P8AL^; zhLCQM?v7#Rn`eFN{W*WmT65OE@3Z$+TRJAHnl5`>-5%Y?{j~hH{{--y5OBEOCod$l zcMNX3!LJ=Ft!@}$uS!;3$Q>tEqZr_EKKa|1)NpYfK}&Y%YNWj{4;CHe#9*8FEYTR zZI$O(==;l8*3+|ihsFH}TH4BxM(da6^NGF7@85DBm7`H^jUddy`zSCqWee~M5j;vL z83_RUgYtfuF{h6={SuO4%lFz8Qis`;~jH>>1+aKGdxk?x$^#WREp+&-ia13SrfRYZ<2wZ zmyCIJ2JY&EUnPxsr}9PU0oh~k>Paq}!7z5cSiy*AjHBGKrDdTeLdPlBIx|*QU~u;z zr-pep@sbTGGgw$eUTB^yaQRSY;!H!j_pcupyGS%|& z)g_Qq$I*3tqg0U28*qg9-f7CZqOP`Mrv1w`~OE4v64`U0~LA z&XJ}-s|tk$EbA8XSeZ{`X#3u&Y?~LW2o%3k9yZSI&NU*sM_pL-jiV-csL5~nO5zj* z+gIhTpn?tF-F47T6>DU0shrw3|Nbe*Q5Oa(N=owADZ+$%SxSwDHVZ}g(JkIBcys1x zX0A6=+mcyFJDCYJwlwT}>24wvXyG&B6KDk9lRYj@s%aLzi|H#+@Ff?E`YdAIFhvl~ zwA1u4s^>xtYG)Dg6q za#9B(V^}&MyC}FTxYO*SS874Cu02A|n8?tAGugimCQRJYhKW~P`2=cqhdH zvTjNND`-ae9f{9m6B^LG@6CnuJm%U#6tl^;Xvxe6Whr08BY9t~vqNcOM7n>b4Mmw#vzhlyLZ0xZn1BP`f3Pj0wz;MHBv@A{J1I(R@hIo! zYAxaKAG?9h%DD^H@vgB*k&olox1j z;fbHNaOg$vT37y~*vMh(plE%_x{0J`7If%O?#$mFmD(&S;Mu%gpF}_TQ88EjQNb^Q zeUq$^)b$y8pr{{L7E^Q6JbaPX>WE#t@)4yXgp&iT)qf}QQSS@y_}@_z#oRRgw7Z&Y z-yey^4dL_?P2dol$&3xuj&gnUJ_H7nCMgiR=ox##i7@k7{1Wy!Qegks-^sL?a8dpr z9ca=+1vx&)nTs3L!M7WO{$@1-)lNUm0}VXx#8w@Au_YWJMX@^IX-cQT{% zlwaR!^PS5O`_gyX4@RUOp9xW^Z_Jg&G3LHmGb)UpU^|PxGzDbUUt4wkRE=sg6k_{^ z3G@ok+^s-rR}6*a{5)4tV>4^fLW_CY)x<{5dv%g*?);M6;v?KB8L`)bHfB`!!Md4E$AV9HDqmcWk|lqhgVlm9kn!7)-oGH?4acT^;rNa9x0IW{56ktf<35Ir(BT)jT?tiVprx|9)RQxa7`E#%Xx zTdd_BRF>20N-C7%llz5yw?0jOUQWni?ze8>e_O#|HY7b^;zaz1F6%l6@^7|B6M8Xl zz7$A^oylS_TSLC|z8yiDMMDRLu2R8cRFzEW3<2&us01G9a2f%s8G&%BF8Cu(Y!*&$ zcOv{zL+L$&G`=|*+3r^(rBtsDnB$r>o|AEjoDuyBP050uvEJ`i=PTt0bfQ!w48QDj zm0*A=JxXEV`P%aLW`ln@ArJwB%tph(SxlHU6(YsjGYG@0VTlx6T8OR`w{xuMLTNS zGhFEda5{0ccz`;X6j0Y*9Q;8`E>bRErL-I))8)DZ#GCK`}6pn73#6K^hb8r6e zP~HKzn>RuAl`o%%g1QH z-R+^Ta_=I@EB;Ld1Gkd^>+D8W5K%?5Ug?=`UV>c?3O=;x_aU=(0k8c*`azuM`;iSY z>(XQ;oMK|_LQ!51Nt68DF~s=7>Q=N9lq!-I8fCs0Ut^a-%>2i^yu^$H0XB?&jWB{=VsVR{epZ!W~1_aJxKe52f3 z>VLb^eYY1V|F#rlXLI)w1pM*DCcWWUU?j_Zv%X9KQmCd_|+XAl( zFYc<~)Rj9J6;=MN{H~Oa$9UJF$yZWRpzmS5)wzf>=o6t$r@XeCkqAk;r41vcv;h0X zHZNU`z7lW!H6Y44Y3_(+?Up}0?cI{KYhxS4H?A5U&|~LEv3?}EqQF7>evZiShVFve z$q=QtqV?l{5dj8d%GmNdXP3QBL4?#Xnt~{mHPb`+-q43)&Ic43-?mkinJ?d3&Ybs2 z0%Xnp9!;~j1V+GSx@BqTD;aRdLzswuh-#o1u9Ra$Icyi_)ICDp9r9cV^&kZw&{+y{ z?)TCU9{uV9x98}eMvz08=e^~EyaAQ){CENRkbR}A10+1}%Ci&nNVZHMG*FzRl*IRy zbmB5`_Y2bg;qH7_tv$$Vk{GT7!&--sA|5WYOk*h=rNj5Jx_mPrWxd1deuRfk(az;q zO|!oN&9$IIkcb4x>Z_(m)Dl_u5#{<}%W!ci;8nUj{w=`rzk9J-My6euu?Bv_Q=bN; zuy5z}ts8t-VVr|;E)6<}lUB}cj`%6Y$j!eN=7XS++kTjgh0=MWA#~?9mFgYQlk;dV zWXo+7h+WGM)ny|KCU;iA;wGU%wGPg>ucyg+V~XlM3rP;lV{Aa%Gn2*U&IjCtz;RN} zi|K4L>b?-3q<()}={_5(cKCV0L6OZi8=geF#Xu5t;8$I-L2IKO^H<*B)iBuHp>cAkGq`}dx#PHmW(swTtu)BU1pZKK8%NCy7v z3faA2k!qjq@(xzN$XT`OgITcv{j9I=`FA!O18dFtrPB@Dtf9kL9VuYquKhspIdA>o zgTV6-r9zcy&@*OWEhly-p-|OoBPt#aoJ0x_E=rJWcyl}--if&0ylAa6JfC9R92^cS zF?)TiFu-SbfF$99>^X7$(xZN??1Uz4oM6MMZvT=?;cLQXCcaVJ{ne!+^6TSpr6f%j z-PaVUPm2Y{4h|F&MBrCo^a0<AOSp1)NjATCZrb4AR+ zY=PQw=K2$fj}duKxAGxU2pt}gPE6Jme z60Jp}RP)6axKmu|Xx4n$@mbufN{d2&EI ztTEHNxP%_jAge#!`|>I1vunE_G^T>`bn zLGrpO6^JLeO$@fcoePvj0p@yOK7IQR6+6~(f?mPJQW4vx6K(cutw(fu}? zjC2{$^dnM;FU8(#644y9F`6&s%TE^mxDW%cJ(LS0_CTJEBJtuEc(kzRb0SRCCHwUj zc+rgzO)P#HtB~1R&WRg6731^QMyV{E%^}0n(K{>HL5f$;#S|Rc(Eb@6;`*U!HZH8C z`-r}T&;{OJlVG9#Yy%nTxeVKlceSG0TC$&I-%97T`=pbvl%^$y1yO!UR#H}7#4@;T zFE`EtvvxII!^DeJ2VKFx4GY4cKJo>5UzL{jW2A-#He5|cl|Q8!P4G!Z1)D8tcMXJd zF4hs%flTSBK^@U>qK@!4nOuzkGnY?JqSzK0@f$#W!dlC35s9fA3p?iBT8jSGII1PF zBtk7(4=OAbqU04k?{5N4^*XnFJ=kLW6VyL*fae6*H=@;q zPPBsm2=e|#JZ1kGyt}msMaE6kC{iatP@;i>9KRC8IO7cTuU~vag)+u8S!lymvM`+hQb6Xen~;k-?SX1LH|tAlD^}Nc45hT%87N@@C3w+G@eqP=DW`mo z-`~01m;`X#ah?ONx#yxV&6V036CN(3uRQ5f`oPdo?McU!5D17mt3 zl!;B%?{%!DbVGT({v?DxYBkR!CstbQ$CvixiyAhEiKdxsEi-*~8=A#qeZ28ZnZ)Dd zngWE9Eecdb#J>?*%kdtT`Ef6*ihht0)_w1K>iv^Ia$FuF%t&LF0Uo}yo!r~R9(eCq z;GFIgE^zbT`liQpj&ctM52!B1jIT1mWB!$rv!0@Jdb>_}JT0X1AHsMI zt?=VbU!S2bzet2X2xcK6*7MJ)IG9gJ0wg?|+W{D!t&mRi#mP@}k^;VOHofRBDeGtE z>&umj!u;3f`z`hrgW2~s(3zeVV1|D?)3OvYOz{T-QRfh2@on zO?5Sy{i(JK28Sl@k^;?2v1eaG$pA*~%eIw7oHWf#GUD#AfG<=6!(~4lm00#)?A@m_ zLj@&uunx`9Ac%dtF06ix;4u)x7LK?UCR$*c71MQryF{Zc>rEKVhXU%~Bb2AF*W zgtVI{dmyOdV6(TpJ28#UnV`TB9noQ`j;^Ic8{5avyRF=o3O}-w$L$4HhOP72tleTS z{Dxed%sv-)k}2!*`^3*dCdvS+3rOpPA^ zMRWEu8IsJecR?K zHaPkt_UF&}l@2O!taF#&?a&9H*C;A-ilx!`C}L4}n*q)p<%F~3u$5M>J}4l07x%%^ zs9J>{-v_PdmKQ;#%RtTpvDG5QXbfY@&_%}zpzuPvk0lI!m1p}>dTAjUPS@yP!S|~9 z^bWts%@3J^6tP1()4%_6feO&~ua#Tf$((D7xHvv;D>mxTH?-G8P^dfiy9;s=R#~q& zXVSrv_#u7xSE|3b#vTZ$-cZ0RCX)hYGzKj@uF@lP|1Q`xkH3jo!h zvZOdOe#psF{Z9)3lOvhDztqPtM>6*=W_|tUT?~C?OINrg{grxev%Bh) zkZ7a92_=ck3VDG$6c#0lpJ|`Jcx4gV$v+(R4DZJ#ma`2^ZBOvX0j^g~*kRLuUYj+c zDF{GIA9>a~*&IwBQQ5*Zu&*zCvzLd8Ht(XT%DZ;9>)zOKV(99rV08RZ`*hmt)7Tb3 z^xX74na7ex@JLy97}mS%C(dbfmRc3KN2kIDeSMotFEa0L@0hH7q$f(4I{`xM)97U^ zP%btni`42t;ycn_yO}!d|=gddD*fvBx0RedcVkc0L7~nGBL6YG#fs|GGl!PNUEgdM4 zQjgF3R1fk)Q3`^yI+hOplYbfyChNxZK`X@yQc>V;b;xAlTg=iPiMQfbAUUr@HpWy`N151hxY{>aW zDH7-A+JPlK9VBvQSp}t__0@UbvG+k42orGiW}ZKv z7s%!W6KKVCaV9+fO)BC)aBuKLscQ3NgJ;-Xw4t zW%n>vj`Ez2rSZ|msxH!CfDx(58Mn!SCE5^OQYq(~Bsg*bfu&_>MJZQS%$NvFZ61s; z>byN$5RWMHoFAW5-zG#9uPWK$T{L0JYk&Uq1|sXQ8I*@t_6!kXtpBF}bYlkFdmg!@ zh8R)<8*fcZw!T~nRuR5Xo9iM;R2hqiI<8lvSeqp;a=)KO;hVDl#hHq4%L&VVT01OA z504bz+m-3-W$cj-nQHp(L0fm{N!J_04%t{{@^7@0)l_!ENFrilK>IG5(A_H5XEEJe zNi(B^0R&ziJ3(oAj?BR?EOKvF9S*~oz99+y4@x4JtXF5ooFV2H>yd;6h|`=$=4m(S zFzVMLOhL7W)AqQpA>b;|#cm!Hc8cL!*Sl2W0H0k_l&4OqJm2 zU?0Ho;Kzb*Fk(l0G;-Y9&Wj49TbPA{oAu7+}~oTWzbZeJIH06Dst0{ z>~VzC1kDD71}>*2%FoI2)}K_|+1l!{m$yz75{s<7T)X!BKAn75o5+NqLY4Jgdc!d! zZb-cbRc2O9K)Ws7{i&OH{60P(j}NqcXZBlL*^t+HaA5!+wY9xt*g%7fsfD`aN@pg_ z$NhuL`v$f*YrRcR;Qj3gbr50}BV7_lsQ^l}-I}3d8GG3Xf-V`6=N;W)`|8v~*5-OzdHCIF zV^v_G#Nu2DmN?2P$zk1npJ`Y}i!U2S3eYn=rUs_hKf+g@(0JjoMKdCCz-F>_u=Ccb zR=x@Ej1?W?PPMB)VAyy?j!COd!zVo)CzoDRE;$`<-Iu(SQZSJVlDKQHz483T(Y6(S zUxMb0?AxGzH^L%II<)88LWWR?^w6UNnNVMD z#gWszHkb};1GBlaL9jaMtA^LVEGLBM@y673k_!K-b|?=lnPl}=S4*7Mt@FRupdtgc ztFT-6X}cwt{uU53Q!k0G0KA&SJ_PQjKtqYV&j(&%-lr!13=7^%32OWl!Vd}z9j9@7 z`T>N0ZgdpVwob>y&bhDtPB<*-HswUVa3~fe?&l?o^u_gVbS+#PkrrUs+kU``e>f(K zVjPaGHHeZhSIiVJX4*AFk+ZP1qk(J8fdOfy1uXnadq#ql z#8O37W}1?W8K~liT>5$U>tZqzkG5x6**>{9&HdFbss%)aMB@}^6o+^V*UaXXnhn~5 z`wssZo$o(`)bA;kozA?4hEh2aAS^Z+gc`X?p!dQZL+!dsN=ydJ9|DsFdM-S<5=+MR zKEbN&Y}GU9udN~H!c8h?{89y%v`qy#`MCoBrD|PTlK0N)*Pbt=63Dr13$1;e&o8bU z5)Hceeu-Rv0&JMUhL719G}Uw}SJ}-3#uOOHxog6igKKxRhG*gi_`I5MCEXSrfaZ|F z;3xrt9DV31O_K{6G%(xtM47|m;^O7{_`a2d(OvFI_V>daSkB$quST1D~pb7k|yJmTl z6-8v2=SC0kK|%Ry=F{O1QLcbFCwxz0_HT#2TPGNG!$#-t@(g>k8sPe#;OYpBQV02M z@3G?pIWp_lkP@`~U!1Ri#V^fK3U{b$Hs&89K#Lef>;6y&3pH<0krKN6FYl1zORrU{ zfShE=v0vmOJ6h0Hb;TLAhP2DtWU0%-m` zj*Qj7|Gl9G`)7LFLjw*3aT&s8x7t3Je38(dzXNQ1^}cJn_^zuGsQdvGkyPF;JY;*3 zws2c7d}%uwXbsvs4E3;iDQ){{NEugtaXtnM5<{-Y{X*8LpuVuY73fb=YnHW(4Ss`9S_4dXw%*Oj6l4)+YT%J|=VTW+qyUhzF+p@P3sp&sV?cSkK zAcF7b+q_`55v75g=_iSQ*9B#J5W5=(x|_1u>K+2dB-_8@$CfUIGFLvGG1 z$CC#H2O_ku(-^ht35LEkt_CxpS21knFNse;LNH3&5lI#gqj7S-#;jnaZ?w`hu~|J@>|K#~ zvAXu-H3VeIRSDF8y`wJh6+&x6(dB?Yq6b>TVSgy&RI5zsNa&T2<7LxN5*?`Tn;BGH zR`XxP3A8&UQBw8Yd-39?x-~3)4 zY|!~Fm>@OR3q#*&5<^Ee)bCKI)DuW7F0wt2Dt;qD?zJJUKuw0TkE2He_5hR5Z7BVr z#@Jgbb-Goap`gdvt-kBZ5n>oZHL79VY>^X8@@v$N*9DXan?1=Z$9rAJy3GSQN#wu zCDD-EkELbCZ`Of=&unv@guFpq3x%BEmk>bSfrA#HH(gfy4ORxyj!Q(n<`%y{6nYDK zdRyGG`Wq!?MechpoNY7k6+t2VPQOAyvIJ!qS!L|PZBM6Ls#sM&3kbS2xTlL{3Nzu{ z@h>Op$Ni4(F(!e0N2*M;`x?2#g0x_S^9ffVmvANwsirx4}p`$e-W; zgXX1B5#FU0*Sq$Dny#IRGH0K$OW>JXML+f0_ga6@$BwY4k4FRUi05YifHwpY-`v zl{D0BEg|EPt3?kka=JOWps`+SagWCKKt<9U)15Ptm#4_#AIZ3!+7*HyJ4`GCDeEp| z%DRU)WkeN3z}va*6h7jB?^&*3;~A&i8SFy@=kOQ4-NnAqo862a=bQp9s?x$LSKcV4 zkg|Fa9p;v!bxe-}X}iEXe+rcdZ`N=A)bRuJq?2rDtp}HgQMa=me z$UZro_yr)y{O^IYo)eog0@sM$N-XZNRTEYO1LflBT z9}w^_$ZX2<%mrOH`&~1tl&wrC7wPztdZ=DN=zsiXxI$#yvo$6k_{O)F_|xUQZRX3j zI)ppq`Ocq#V+n!MrXPq-AXhZMTTX9h+V46-YqMD8#<%SprH+0lr?vwc*ZX!SHHxCe z9L_gM6crznIJrrlGIm-*3?yt2x*?y{fJ~pRe9R_XdrtoK{j>dMIo_>y;R{B}gs}WI z-sxwwzzb|6uZFCv{#V-@p)!W zQ#4%c1~N>WV6j+9xH#x{`qEg^qj-i7NElps1)CiJeP|j?M=1j+2iDSi3g~9kpmule zKJkI7{jf6kWjI1*sOyx|`RXKV^QaO+z?1#=a{zg`)I3FB!*cK z{-6gRrj~83cQ?1jU1Mt9de7}#4`B)LZ!@@Ez9F<}xwkLbCaGFa6>v5I14>=02!@*g zORX^tu8iMQxClNGr0Pu-4a_!bdRJH~r%o;D4osa8@iK+FeQM~)kHoi%( zV7F*+ymwG#7Q3VB|E}xSp}Dd9tKD3N&y?E=rl3WRldB}DZsE|9U^~iCe*ht>1UI0~Q4afvTrW(jpYamj5Npuh^I*Wj3`vONxOp)d0X?Bx8rECZ|j(jJ((&v4F zU#Smj$RaB}-Sf;;vmKyDRt(;dT=)wH@=Ga@p#?F^NaxLcefW_s3+_k;O|AhwrtC2} zP%Fz>ltfEEPH*5Uf`|Pjs(!dwkDula>aRjrYySENvOZZ@5SNJh)MCvfkXT0l6ygQ% zec)lia5;wuoo19r-u|@)pAv=kImjM^%l@6m3ja*tghA4(35yW0(1389)YbPwoX81w z>WuAYSskeK0sg-Jh21ew*?%lFOoqn4HTm;P?6=- zIS)L5{{dgq)^Kel!kTKD#P9l6Jzz{?7TejwD1;l6VeW^AHWhfgq*q0I-C2gog~_$> zbSo*}K=>}%({S8+lFZjGZBbPz(0uFsd@<=vch=ZJRT>qlOx8bQz8Dm+_^d_+cuv{= zr(dcoOX!~0HWH3HPjRW_OtWv37g!UCFlP9&vz6kFn>P9Qr-z z8;t_XGX~(*b`GoXGh$pzX3oFN!{O%d={|J1uQCQ*@D~3cX0*WD8>Q<{WMRMyX;5X4 z{jF|gC}7onA_In(3u2oi!afH(s7S2UUB+}5fKbtKlT1ht4UpKj5yTuW-Nl|re9c_i}}Qk64=GcD6UJ^C&z(Qzm6MnBHGbE+Rb_`p@^kc^MM}$zTer6 zYXaGUFPZaS1p1^9`Gquq1`0HhK8OuFya+p)@{i8oHD{9^IuSa_$zhUHTd%D z-{ec3N~LX9lv}=6{rE?-x*^2q;ic zUzFe~p^i8Vm2H5$}lv*kHERI?T?8QZ*%Ir^jW{2~_BC^RVd zCZz`4ot_K9SeeSUm@6(nLIce3{7zu&`PQ@ZMwsqpf!nET?0ES+?Jo%Mfnd3Es;fHM zI|iQ^5m-I`vVj);Be>ycd?ZsB*1wc+uZnGwZGc(Kf36Kk;|o~+Ip4~F-)@r>E!%Ac z(({|yP)gn;CcNb4F zZn?r{q4bov54x{+qRrj*ipP%T#Itf>43aeSa=R*1hy4meGbS!K9U9@qH<#m1HlIm( zrqdb>Y6x@EdHFhu?Ofh$bgz|nd}hW9v~dD0AbiUn&z589)Wm{%HWCtOZC_eZAW`Xlk#>tRr+YCZKh$Lq&l7dtTe zC1y9}m1q+06b9+Lk4}+AU(9~*9(Hzq$BmA;jMn6r4RX*{^@IV>)D zW2*=9Iu^teff==i^@Q5k?4XW4|N!p zwRbY(cXi_AjKOd|@fv%ep~n_#mPV+mG97fG?@e3)2A%-7SkE7V*(n`Ue9VY9twp|4 z0CRuV5x4t_#vi>jraKZL-EoJ-l$_sU9b?t&WC84x!@kI^W>GR|99oSgWc_sJ;X_Jf zV`)o9x%&f%wIo6@aNEo(5^25U-Qj!)s zahE5pjveWxSMhvhI(SxGR7m4js`tZp)Y#S|rXD5Z?NB`-XBG;D>Rs@FvSIh4QQ-%- zg)74Rg$tg<$HgQn#Ae$Bu(}`cFXo&oJeHtoB3skn^%(jmO9dpD?FT=U(#bUb-IE|7 zEN8!(I|`sBT}}P*W!QN&U3af4acf}y88sk}y<%7scEf)DEsR)5kis!xKQE{hIK5*s zcS_nSsv5}b7q}XXw#XpnBRZ)qdw**GEC7+2GK#>~i^yK53Ihn6V0r%-)bz16oZ+rj`Q||Yf7xmZ+N{}Eu8WFvGKWUtA82- z2eWQwaSJ;$19zlXfKc+uqnD`)Cw)$Jl5qaZYhg-UNpmH7c?EKiuJ3PqrV#z`+T-;_ z=OGdNQQDA-ZqztUHfKr7TTNQn5)b)B_oEYD>WJuD#)CS<*^q2LqhMYQQ?Coh0 z3|6Wrf;E@ecXIjx&@z@g|L#=r^p8;Y93kSfqj{@og9cXS`|Rr#2$*F}Y5&YPV z1+%E-2hry&6}gCx^*>Si;pE;m5Oy~gO}SX_#$3@fz1I4pn&cT6k8K9r{m)DIjO5}x zwrZ{VoIMgc0@ys+_6+ax83^k!SZ6_)UE>+SSkWZuk)InBJ|9>w5}zvF*I?Wk_+z1K zAsoR2td9MIO<(a+%ADRBte|FY;cG5_LrK}zB7cygvKiog$AL6Mb6xO$hgV@q?UTWi1g(;f8)+`z7sKK zmv=&VS#aLgpL5C(DA4mm-&YWDo!jSX(1@9+!RN> zMy!Ij->{$GT__wA#J8WFW*>PcjPS>CdrGAJiGY&9-a~`G4Fv)F4uyY(F=@zrs!56w z@kHb*hcHGaG!CyzS5kmyxn?}y2>2U{e@m7u{_WN#6X)+{a$8CMBsI~nIPG=6gJh?h zk$LqeLaBehF12BCp3quM?i-}9#qo_nz#YD?@*iPWsa!5DDuCNb>PQ6nOE0RPH#xFM zCm7-A146{Fg*9Fxdr0uec*OESvTrpt5Ob?vj7!mhRO1(k<{3TUIMA-QwDv9}sdg%W zc6(IRNoktxDUq-F8pI7_t9XoY9GKEX0QBpeZx-}(VSNm~mYNwCldDKIfS++84}8ub zUHy_J$4gEiH%D+?R>Y#8Z$Hp}EcVZF5gBu{#aQ&K1!&TviUCmme230@9O*1YOvz?1 zwc+YeIFLwaYa|)TI6=CN4}NXy)bVyUyC32IpKGLzCq(vgE9c1Ts%1YF$bER|_FfluuFgzDi6gL(ykCOmu9i9k#u`ASYb7E2oMH;On)x zpZ$lwff%FH7x+UNAG$Ce5OQ088bW{&f^icf7?!2PT+Fj|L5%~BaaRiMEzE=WE`K9D zlE!m)`^WTMXtCZe2oN7v7HTVY&B)9LfqF{~=o&JZB8vHdx#Ru(^$(Gc=Q9g&Inwi~ zHl2{h2WToXfYqms*c#ok-9QL3n|W8tJfR0RGuAz3tpC7Rl-p!l)j&aFpPwARf4BK@ zh>))Ztu_Sl`xo-@92*5{BlzW@WXA%jif#b~UjJU@dH(4+0V3pY{&Y5lj!hj<1R~I( zKz#yn^{B)IcdQ|BZx*U(C|d)EIEs^R4&h}AoH$D{Tk-#C0ic$*Wr?Mzvu%D2?x`zi z4r3)AolMbZ-+*IsAHL}WMd-M1*7|O)rIO{;1o8xfY}$sJy=J{N>e1=)0aJ=;*ab=& zKo|lSOtu6^J&;rxKsdjc_xkSMN`0U%`THkGUsz=6+%t}NHc(A#q-58rH&@?tCzcLK z>76ez`z!&rdmQlRQK8Zpu=-(O@WF*bzCO{I@)r6vr2gcQ#>^LjhMm&2Y(DtmuAzl5 z`8iQ_=Nn}n)=L=>AVh5fm1+ygHq0(HYl)OtW=vH| z=qCZ<@oVejN8I{w>v4ez!AVD(#Ue5g0qK#hg%qgPWq;qWX@sLJT2k=-%PNaPLD?K* z6-zIHJ>r4d6lf5p#>}bOFwEz!6|oHGyqtrP<=wP0k@!Z6uiMFLy zP#@u(WkWO9m{GET(7jwPq!*0ZsATWZ`Ld_TZq)DAcPpXyh^sZ&u1Nqp@#q8xk)E|q z$6eQNJlVF^D-$XuVv-;Ok-EyMZ_`t9%fGm6B~SMReI~e+L3RTEEqn}e)y5;1xo;j8 zsgaZ=+JZs?*k#rZ_GFX8tZgkNt8UT|`{ZVRH-b(3Gb)E1q45bu8HR5nnog&3bviz; zhDgw`7KWBWfxJ36MN+P_u)T^TRw z)~%6>OuJrBzDI~StI2BD{4fZwi!qVHmz8CvwDXdf8N*^mC(PM-*p3&suy@sxic8$y34`knX*4@wgesgGwH^A=JR{p$q|PR2w0 zu-n$dJBcQn=I#2W!`W?f%1w(Lwh1Wh<)Pth;4T#dKHGa=V8FWp50}D1(E197+rc&s zVNFyYgjgklixZRD!?2g9IN^_RHAUtO5Fo5aB{*H(v4y@EXXknyPyM zZYKopI1>~axtRD2w&iM?QMy_JlieymMdix)N-UNgo{6##($FtOx zfo$_G(>DzyN{v0TXre`HU{~e#j%eY!%*X&=$*&xNp}fT?2%_urN^sh~g5;l94#2$P zJMnW1Vgdt4I~F8PngV{LzBQ*%;Ye-RF!MoLi&7JMN{sd9AQ=GT@sGTW++#-`{Qj%f z6R$d{37?v$WN?Xr(I>7v5sHh0>~?)t7i+((H1#JwRqKGsfd{rAlM$$?a^Gh-@j3DM z%Sl(t7~%Bi6ewp-JVW8OH2~@R>Iyh>PS-MJ=>yjX)`XP)#Y*+6X2)xI)VzP|Eitg1 zEUmrZ)j#7W?b1^oCaxyAAlB5M_u0G3V7(BYn-q>q-s}j3ivHS)61}yy@j-olHjlVm z7_$;-q!$wJ1{hb|m>k=F{2L#j6)b9!`288rf$o=S20(4)t5mk3mv^$GNt9PObD=o- zQqP=An-1yF?8Za=G>$i4>s-?VtZO|iiY*Qyvz|R!dkSY_Aq$WD~`uBc9(%x*@@jg6x znzJ*x$wO_#rT?b&48Z8{d@~M?%T_j=9TmeGdEKwPqS-d{y zsk{vd8vrD%?LgPM?r8KmBH?l3eZDDSeP%$M$_vQtwRqtPY8`Of>g*Ay<8<%`Aq4e* zG+kv>RNvP=Gca_wbazV$Qc@x*NVjx@(m5cF2uez$(%mVIAV@bzgLHSl^IPlvf1foU z&OP_;y`TMrE`|U3@5!xx0@vl(>s16yo_elYsY9)XBe+m|kPDBZgvQTcD0JDnCel!*^=-)RVR$GsmJsV+hSeFOk*0 z|INk2IhwUWqi8z|@!iHkWNG1prLv!Q|Iyh?-JqAIXc81pDcV|;2>-B=hXy=4jG(!y z4xTddX`4&2tHtB@DU`8Bd0|6nr_1y3c-fq{aqHDY0pk$@Sr#Z1Zcw-kI78ZLxukZ7 zxLY5^&pCy+La$jc!K+h3^T3STrsrMq2xlw{!_-<1bjbeI$BZmZ*?;WqjJ*xII0=3v z_B@5iV^eC0QLku?pkYT}@8i-N`qIEC9 z7Ni1c*BW5MWv&_4g6<}_b3@x*oQRR=NJP79kz%S1p1Fj93b8N}I?4xZgz{X*)P_cI zYYOi(oW?JO+WSWD<|x!zS|*Mr>K`L86+vQkpzq%x3c}RC`b&*7CUiyu+dFGBu8FmnF7S2h5>A@Ai%D>DLJG+EIe@TO*nyo7~9;48*hl0nshN^g`QrVp8O zkqHAr%gsf>Ee_H~LQlpP59HE9GPYDo*XdrGPJ`^pzpk4)eDO21DaNS9|SQ{9GaB-NGvK zYC4C8$&iiLI+>648W6N_r{l#Rg@0d}8@L~O_<3-wN#D;?w2&DB_uonRa^WR`W#)q$ zzqGQDw!L7zVFBK>N*F`Z^|nZC(U_I=%l-C633%K?JuJ`)BEmHENj{@wBV9h}?_X4_ z5x|#-yd|Oi0aLLvRtj&s7aT1QP{cKi*;;J~P3FW#Hn8g`eF10PB@_)~7A&ttvVg1Q z>Y9k3p10*`pugb=`hhD61B@n}4xDfh&2eOoywsIAtH4 z@dfT2bV{%jT#7L9RyR%c%V%`)0=%Q*|IkS#;=t*z2#NmB>=1JKWQLu31Gn<&Jc_`G zf;Kh3Pt5n`L4nHm7LIVc6|4a0we$3&+FTRF zVv83Cu6yh9)X_PU;l&UU$+Ml$Z+cb48JERqroSiYM-M8RUe7VkUGZU}Et-gexJ!<` zwqYA2X2>$9&uhEG71D{RSF|-@si+TqDDW!JJ_rP1OX;*eQN_3f)j7|54Kd{k57I88 zN2e43Zt0p87c?gE9dUX0)CeK7JGcnGU~`waluK?_e%1PxAuB1_DF-R<#GO?!LI z2ziwAwiH|=fh4>|BD0cbvVQT~yyWc@cW&o#Hh~A(_vE{rV&3UE06gm>Fs|v-k5a;6 zo)UkpdWr0`&>|y4Sb(e@*UnE9P*t?A(Vj;2+whMa{SbIYvmGx7Gh;j zD>duu4g&5MyX5g05k~$@pOM+P=^F?Q<+#pR_l{&|Rsx6CQfQv9RrIb^mZA-;MOMfp z$>4Z1V#{KLgyEsVXK1JwcS|qW16iE^mA2@86+U&Ub=!oAHkoKG8md}lKHnUuuE7R3 zKHm&!$3+6z>IazI@r55=W>3g4yJuP$mQY^ay7@(h(6)JJX!G2QW3#*$l`m;yBM9SM zmJk3};camoWQU~yxnCg&E|EJuy?N#TLu#I=BI7i#*=628;+#eT=6CZwmh@&((hs8t zKjd}0b7G10-5|UH`+zw5ZjiuElr<3WpNC z@Dou*f$X+z*eDNh0C)uPG-`wJ_=hd~sleGmmux{@Q5qFpAf&V;g9;M;CKSh?S`Qfe z51n?Ge1Z8QMCn&jEERrKf2;+3SDd$Z5Im{ZM^jAv&{#7|e}1xHn40b4SGriy66nVF zbq?{G7rwWgQ;Dh%V+AVl%`}- z7xb`DjI3ahS!JN!(Ea2I=X-nBhfy zvA`SQ%NqlAevuf|4<9^hKk7g7>Ia zLlF<(oBoDvCL)nntHyxwWLV-{_<~6z8wch@4p?!daGno$Hr6~0BMl-$r;*RR( zdW$c5|L;`bet#*C4?54l!aFKUxOMHeX29#(lZ(?MuvMBEj?4kskPa6;rCD0=#7ID{ zbWoH}rF^RbDv;nmpJpIg(9m5Yy?s;}FDb{mDI5?e9w?uatmOj!w;WmfWt`hZdRN!_ zqto#6$IPbSYjsy~3aM-jeo=ooJjKKb)t+e^TjQdk`#I8)SX1igs!pKV+0B3ea(S)= z&~afUdtQF895{2t-9Hub%U%l?SF!bM(CzM_f~|e3i1~=L6yW-*&hPn82+#jGP$`)Q zV36$R*K&D!1LSBc)jaq2%7UFIM{c@kbf$`|9G)u*R z<;>D;eylxFG&{>*&DNU4&4g?f(m`k-Zz}MG>t+{r5-X|5?icGeS%oFUwR5>73SS~3 zQL4Z&%%qLrdQ?qx!S4!o9z>2Sz>ye;31rJ{&I_iQz7qTnM+ZgcIsTc=5*wTjToQti z_K=Pobg2s^IAThAM`Eh`zy})I7gy8W?pXEcNKMMlDjb#zVo_g~iM?(e892CClU4;<3K5}KQEpz^@w@t>`U57GH=|F4m| zW3eY78~T_6bppJ(YV3ApmJC`FF!1b)GdYFP|VNfG>c)nC}?f!Ffxh=q+i z^3&6#MjYF-CI@BVnyk-e(_cfc4$9cF%a`ofothccb;F#BKH0q9Ug_dvdY-phha{^u z$k(efg}$TzN8Sx4C%8@3LBNzVYw?N@PKb1uj))0ry1k!ypfcw$yzSc z&58uiCNjZ43ZVKD)0}4rfB$9-BJ~+IN&LtY*ifgmt$UlJo-Hy}f<#*rJVdAX;<@E> zkd1f84}V^}v$ipm{p@h*!B1HextrSj$si5-ruI|oX8E11^1!>$}YT!~SBt<93J?0(QNU4pb@_jjXXzz)nmWXjG#M&;6cKo)}+*~(blUG+oEuT>dQKnX&M{g<5 zscd}8E79s!AaUX8gI3(EP&UmOw(y+Y>pBS&v7#a*h(ZS#oI!%Im`+x7d5wF_;QWgm z29^gisQ^va`TO9(?x{eB>t4$zjG_RHG(kN8*tzfX^1;iR9U}LDz$wMh@QDjNAL8=b zZiu zVJrXas8DUp;uD#6@e`Hg3f&!gsYzs7BVi@iS_t6hwW-}dW&gMTArQ4v#GHjgy}iO~ zptLq`Dsf64fW9Q(w=5B@yl`B+@c4lCm;i|;*}szTz`lq6+?oE}Y>1S(v#=v%>x;ND zrj)1l@jIoW9j2gJ8Y-|(Z84P&{C$_37kW~@gwu>{ZSsu$o_%)ynam0ju(Z!kx>vK5 zLjo;IM+d1@);9hd1tdx)q!?R@&(HWmeHgZHwT8pIjkXATM>%2NoMt)2%^g>320!PZ zV@gpNeTSJEI{K;wsiW)?V96{k`M&7Jk;iz6VKL=)`x2k4uf*wEr?!|GG{`1Ig=o&o zh-R&|J-m&~g2jx^>`fsY*dG}5?+-|~q;WrWj#Fp6=x9qps)2`^TI1{zS)wtOKF(l_ z3@~6o+ViAR9o{AWGfcEN{`ujX6h7!fDr|23cq0yIt-TGPjA}VYXZZu#bzqiMhj2X@ zqiGr!W$%UNl`C2PdV^fR zMrx`R7Pxi*`yI5xjXbbpZgFpPf1~vux!*8ov!XqWgLf5{s)lBh%<-KG1KoRCA@=Hi zFb^DtyI%~v9dGCN-L%p?xB9qf1^*WNyev7b5~ohA9}PGqFILu?VqB3K$3xS~xqgo0 z1FXzW-J?`>Dc!}r+3&0Omb6ka5?1vWb1^dn0WBGFr0DE~3384 zTSJ$RA&X7#vG9=i3iFJbV8yu{7R81yP7mo`EE7axyz{d(fk;iaB=vu5vW{l(=zS5y z1>j6m%KxAx!E)6-2#b@`WOLoejt=T1rtxlI(7F7VHmQ5E|xT&6;+1xh34Hd z86dHft}@#Y>^684E!UR(^*VR=KV`*N*!u<_;t=Mnj!E`gQeaoWn8=s%2P3G4?`aSh z=l*L`onQz?oDh^K$dxYGbhgglJ*o6?PSuWbruG|{N7xD;pmGlHNq(+q)7ljDswns2?Ww?^L(rkMu}B(zjiU3Rw8Mh$4g$3qyeiUDU0 zBTNs9lofn%*IMSD6e`-RpXM>_`Z>Ss1ATM263d6cc)rr* zn`X*b7;V>bR$mU+pzRYt#0RkLdyI6!P1Q*45Kry-xU7N1EVFDOww{=3vc;3G*j;r~ zN>r>vET0OLbRU20NQx#x`z}QVcoSJBn}m48MZ(H`=mD7! zg>cmy!jGdK2CIZN#WlOd<3t!v>mk3SO~f$v7(hgUU+|DEe@sg=Hs-Wt$j(Pnn`|nI zzCWKG-*q@ef*TQ`SqraM13UpSH^brz=6B-OO61*z`W-j8+ri`BS=GMuhHzJaA*Y@B z;YNDf5YeiZ!H$Oa;H3-t@S)my=pb$ZHX_VtNGiH~Oi{Y?OMotV-+hnhZbxl^pxN}& z(}r=RJHkjxMm*Vyij6<6{Td@xm7Wl=b1a``Lis@cQ_sg=>*d^TPk*1V{Yq*1qDe~i|m!Sc$V7VgV3aoPUgCV6{?@;c&_uX-}6Nnoi+z}?;_ zPZ}BE+A}%i);mJcB!bHKfDx)snmOxyudakfHaAQI;vq>>IlX+5pRk`Ey!GDf97}QE z*)o^KsVaqlU7LnzAbRxKf;?6`Lj$yJiH5*`%|PJlKW5tw$@vW-A~4X5jOL5rfj7KtgL@G_Y{ppWQdaYh~pnrfbMN0R=Hw%KO5&W zVT0n(0*@X8SvquNOA_w%?d169w3VvKMm%PE&CjjtO}g*b?mJu`W~%DCee8Om>iZ_2 zvt*m1oH`=9hG}-VdjA*%U$!xY8GoJo$`jql?`52E-FJgJk}Sh^R82(6SwYl8uitUv z9OTe`mK-R@;$QL|eYH9>9q=AR3XaR|O>OL9e4USdYMlSef_>FrjT}sr02-oku zI3;Old^3~vdDqy~ayZuL<6Ft=kK7EL#Nspm;{pgUhHEoAg?qR9i4e&?%szyg^qB3< z+FxI9yiW_9$XB}iu)%{<{kECH0~ckwfwLK1@a6AU1xf|P8c8x4FM2yCa!>WR{WPC= zt8a;@Nu2g@McDfawfX+dsC!~O3nLh#(aJ9)3va3K9mi`XVT=3TE`h*^Ue7FU{PlJ` zc+kodKt00bS$*@>$o1cAZPC#KH^Cf;$`m9$IJM~$$QCNMv}BQcN&))Z9k=Y|Wb2II@Jh;m!L7s- zNrzsMv`Yw89WYG1;Qy*|GLXD=CtN;;ZW#LPyIVc3j@guvh`Cr2scKAip;o9Yr!<$L zj8H-qI*&85L$2(3S5aFLaIgM0MExVe|L?A{xDD-y|vUgO<%jpD*c+=Tgj}LgWf4-|< z-LP(P+?Aw@SE?|s52!w$VA(_)uyxO&3&iZn;RH6ehOC%lG8u#&5o9$E_`x(}P=1n^ zU5IAy1L*_O`4IIOm*E^E0unV1ZYNuOUCzTIv%RUhe)DkJ%!TgH{I9#{ml}1F_~7p;jHG!Q4R%2VCXC>Y7!LmQ%N`hsXgbEK zaN31AZL02v4=3KAbS>7@9&r}#M`=bsd>5MtZ=T&*g}Oe9jF+R>k%4TSyY29AWJnw} z%>ZPeQ?u)WDHgvHvtlAdP|(enpag`pCbtavhA8C;eP!1fMp^2Wbdw{5xw0AUgLfgZ zsaIezqQ;N-`}0@@+PlK$Q6Api(SeAPY6mwklHlr=O515?_S6yao4}b9gA@Xc`o)PN zmr#fHw|dK)XjXyII>x!P(L7`3%L@aOM0zvF2wwqi`JbG^Dh=OQfz5SDU$*-{y4Ge% zqNAXdx=eXcv2a~nR9+ZuXka+v;cHlSQMJaQbL-B!j|BY9u{Lj8Q_FTQF@PbB&mJzN z9mJ;3+7G?2-s5DYScHxt;%(s{mewIo(eIc??nXM>7CJ;0^8_vZ7c5Ztw2$|%4n+(E z3#%`xknKnE!tlS4{96O73WBLXTaC}e*6H0(A;3%YaQynWk?6xL%{VH;TnVRF)8bpV z=P3sWyGC+hV1xfVNIN&$?Vf^2b;KGS^dJVE2P`^DbtPOEUxKvS3SCMh^@ebEJQXOM zYG{tVq=saojeH#0_0dM4qsk(D@XfLsAI*eOXK4!#usP^rHJ(#_={JZKRBSsr&JT*-IaB2y_SnFqohctyB#Uiyh=m zcg>^)mj_~Klf2&+P2sCZsa#~h%>XprFcE!Ab;XzYMLDpC3;T0UT@)w_D()zg_~y_y zWSE_!f$6pP?4xiIJZPE}tP4{2=SK}SIUE*@km5nF2!z&0t3mWrlji4ykJ|okoZ9Ji znhu7jAnkafG!9>@u%64lELHl*j~Z88TC`R)e|Z(~LyCe35pGezM$YO-SG%gz(Y8Ub zoK*uT@mIfasco+hnB)(g4v(X%zqpM?Y%ev*FS8AIt|GP{2Bwrx@HmGRI*B&N+#-Of z?H8kRQgUR_^N+2p97)|7#-ZoE&w&M+9Tw_SpocQ@`_cGZ`QUN+W&n53w#Qi(_J?3B zWNZlq>`XZzQcGRwT>2g!cquGEX*9+rk+t^LYL+TW z7k(GQ{^~DH9ry@L&jtM>oDt}aSoKuh;tvC%aKM=3m&3JFqY`^^kAoD@KW%W1O#!bT zlsF)T>(&@|PQATYNuzVU%0FmYwEmp@=;keLBoXB^Q`}X+xsbJen{!KBpr$Xz zhaTaHQg6^MILchjEjBt&C3h9P;L-Nh_cK(B)kPB`weh6^1!&@_2L(MfC0%2YQ1onj zL_J&nonL?iD#B%9d+g7x2bddBl(3)DJgVtEcqd$!>H{nPND{c#Mc=tsJ}211tCIIAvK5qK|1ZcHEVR$QF}jqo*6^{-ngfnbiM+9FRtbz#QsRfDPMOhymAiwh(QmwzHi~Q)^k~C zig1aIijjrcRP7@<>a0cWFLM6(u_)j;wOg9pBpkcfaj-&pB(Yug+P+Dlq{8=K^L0DE zE+2J(&jd#BCDL*ng;XQ++<4iRF8`}iU@s;c=8po)ga1`7MN&JuC{nWY?*lv{js7N?^txyiKcl+MYviNnXi zO*%R7UMHdD9tS&C6|Fe>)4FbyloX+WItl!II4RGHZ)#i!hWJyp)=Ryzxeb2@TJ#$j}xhSh;=%#Ih!1CN%pm8aU`VzO&V=nD;(?p%J*gLSqSkdepV8_ zjB%~=jv)E0zkv6wzXFe*CQU5MnGy>Ft@zVlm)by=^9TmP?}eD%n@R*T7-#4s6b-Eiy< z;`ll$r$=;DY9~Yn#u)eL{3JR;TV|JE3d_!0dV@d53=pzLo6%}`XQ5ZByeK+^mrqI8_W82t`p;U zg)&?A(no=Sewk{cqJ$^!hAMk~euO~atwO{qu;otao()4!M0nc=8c!72`u1v_!`4tQ zxMVoTQH1K}H&&m#;OTvg+a9(MofTxT>H^XH4AQyW4>rby>L-KAxYTSJQ)$28HUJKxG=)sZsph<@c&h=Sjs)P1tt7 zFL~VVi#bOj4Bt$+w1d7(M>c&V8_5eb;g2__sIoi1Z%X&~FTHKdE60vT@34-tqSXgZ zp8iR8F)Y)$vPDSK^~*|vHf)9=dBv-ampKPytGAz_maG*fAp84f*th=NB7||1YQy!x zjXJ?%Yr0={cmi^SVqH32CXs`(yq9ypZp0UwJBbXxy{7^a-XF`Z1a%+j>>)S7WSTDe zZwN}TEYpPY^hRbF|Go_v)7X=wbG#)GE$9+~!YwbxRR`Fy?GOmfO8M_##;S&shp%sA zjf_SxNZ?Wy79WKcl|)m9+G$9wXe&g1M=0K&KwX-vt$zVWgQO8crbw>x@p5>+_P!1Z z5Iyg^xpOdA{aT=*Xm+0-AMj_B&}IMGDn!-hZr5b|Y{O*qyRIfCp2hEX%rAtG$Yuvy zP?OJKz23yWzsi;yr|<*IIFXCTN*0Jo?RjK^=#P?jUn@#n#FQsISqn&V!~rGdoU2P+ zWBf+H*fnd;+Uk{x6hOtZokLVW*0k7v$|ek0Z3?!r>ip|c?Lp?=@JA*XWk6uq**xUM4s?x}|n{AFVIhUL2GmD1cNC=_)ONWQw$FsM=6% zvGJc^m);!;TSgL0@H}bbF`05gZ#vL9&V?tNpofev zG&4`I7@Y3}d!b{F1w5khG2u5sW`knG(6NUkva8#!DMaNxmcMTh`BClS9)reA)$-`~ z$Su@UaB*}D5)M{x2}F8S_H{()MJBW#wwU+##M&omsq|puXTISzPMNJCN;bO_OE>(x zpPFDKPKyjG$Js?oOQmX8?IM@Vk_|*xd52lGVkchDGG@Ew&t)s`2}cEdGjo@SSB8JL z4#!X%_3>&k+5C(ot9;CjeuSujbB2Zs6qo-jZPlBc7_V)g-24~J)(r3dhGUp+z@+QI zsgX?&yC4T{@W2*S8GfIpmtP2pa)0%=n4;vmzElwS&`j3ZH?9cvT=sr(Nqx^NezBG{ z))gy(O&Cx2F;PRV@xw!DUb-GZS!A&U^q)PT?Zr`k687H8!|FcYXZ<~FioZF`u>Fl; z@Num=1|r*v_3}mV&(R+0G}kfQPxq+B1}I?Dt{8wf*44V6I1+fT>Kqd_JCBW7!%#q< zKYNnr-(+leOKQ1ff@g*$nsxY^FS|*U?MZi$%i1z#F{b${pvVpNA)yzFxTKs6{0 z4e;ZKwsZfHnhGc3fG=3$9<<@@Bs=sjlF_bH0Q z=1cl;!f9YZL!j+K)#6xEAeX`YSB?TSrc>hN&!$d(A>*%oelmNYN-b>bQdWstfL%Y6($R8wX;`1M<^lf|E6|Z zC)S}yDnS3x85s-=Wgfox=HNfilT}9OX}G?B**EnT8C;rE{~53FEBDh?GIF3_|6(H9 zb?r>zonzrTHH}m%E%OFQ}Q)fs! z)Uu=umYrQ(qoeSq;Nu@kq5x#!#Q>V16&4+Ve{X35!<-}^2}J`}8CaegrL*6STB+`N?x_(Wv$+v|@ucc5^Cg<$zc=qg+Z)Xq46WE)V ziazFZJ+v7!X!+EZdeVaiu2<8}`7NQ#b=UFeV8@)q8;|3;<==$URkLS4a+vKH@tS8* z&c~s=ocT*!AI( zQ~Ei7$eDo=mumC2KG})|20wd_1IgHP28TYreXgVLkD~7ZNwrjy*(0)kZNrX`ELI<1O-Ct_<8SJaf-%Zbt=o^|Q|Xh{wg65MjwI$mmq@8umI zaZ(@$<0JUO-A>r5Kr$t`dU*DFo_YNv?$-!rE;pfd>cdu?Z8Idxj{#SZ`n!P3{`Z;O zH{VpQZ#DnIpN0EqYgbxb@rRY(hS>8;NQIerT<=5ncKJr`Zj{{4=hEEVg1q2cSew4# zUp?noIU5Oekxn$N2GKbp(11{dm#0anzS=C zhh$O)N;xCeWao>%S*kgMyjcp}sE}p!A=WQq*AS`ul1N}`U+le0ysIctw|GTDj+9oo`os-m-lopER`%GC*?8rh+#xB+8@&{eOZ=28XfTl*Zmd^7jL)@C~Cp-&TpCI_xT=Z;{na9TE8nLoZdp(3dBs)Tt) ztFS&*s{p!{Oi39}!>V>){A^HUyVoN4C$guC8863&g7<$Uu_sAK6W7W3}2eW*AqLIlBuhKY^%mc9pota57T)vLu=0$0Z zAwbXzUxC1Fnyt@IfQ{ilPOsaDnfSe5X&&vH_c^UgS4P#3VnznS1+KYUCwG;TCci%5 zq@y%J+b}Pdgs%ViH;ONCD;>TOkxf(H36P$g{qe`Ln1esJZralP{B$-me*cZ1V%Dar zx%iBtoYtlLO{TrSb8sQz(U|!R=x)uXmLmZYbo-*xeJTPjJYnr8Y$LQVW#IB!lg^>S zzA#uDAFO-&*Xso9puGtyeX#I;P=~-PBvPTpWUK1l73rg;&VJF_S&!^S3;w|(4f|2d zE{}@7)Ome2k%5a1Y>4+tM69aJZ-?9UY2EFuz z9M%s%DaYSpVRF@dOMD_&eX7^(WKbShnQY+?W$bJt2DQac{Wn4OdpY(d#i-vVjb7rx zlarb#2u@GhUyByiDn6x=*y%xX|6-X+^nj&|6MX?a)9;?8 z_RNpWFqWNR!WG2|H2JuXqr+Q^Yc#oRe|_S)4X}(mkVI-pwq6#uO}yhJZX$Xd>yVuM zbhFqta{&QvXE_kkSC3cbkuNYDy1`!_5NCep%4`BjI7Tt2B#<)UUu*bUanmd{Wzs#o z?)9|=|H%oGK+1uFQ03&Wd?a`jb7`}echXV-6yEqprV-zQRN_x{io)byV_#f=@lY1z zf(7LVtPqR3Ov>P7nv9ImuB^xO8y7i5h=NgjXERc=nNT}#>5U)b_6Z7bFSyqDNvwf-msJB*`@0 z{`IuEN!;AJJHy96jQt0AP$(a9`36EZU3Mf&;8GCNBZb1O1$k2biqYnX9Sry)N zXjUML8ADD`Knnis>OkHpyvo(o?=HvXoxT2uH>s*^oKfSQzSk#y6s*1X5&Nk;XbsMO z?q2ofPMenm$m@qX=|@PcOUD=_1uaFGN1fcL9WKX@-QV8X#!{F)K$b0!o>k}D+TknxF&PU;1 z18j%66aJqFUZJTAa%Das`S2Pn&t}kxpG-PyUe1<}-7l(lukA~JH-vU? zy>L!<^}q{Y+)94XgMvS>!qs{ikafYf>d=uMi|A6sp5!8+>7&@@23$Z3_pmU_Jr2=M zCaodw+Igi9%X=53oT>S1M+kZ)Xley)a$*J1`?{n701YDmsV#rF6tl`lv#ZIK*Dj}X3uvZb>6HOT0M1A6I6*0O611=4op3rKt&5Li$&bO&Zbv;eBGBw z?Nu-8mYCWlJs>2mk0I`~^pBP2SxL`(Q)h+Z#wfIdgAVngVf}(yX-8~0UDX?MAe|P?u1=H$ml8deK--O26Me|Q;x&#idQ=^^1+}fcQ#`rTBu^Tzc4C$eNnw80uNSK{GZ^qe&ES7SmA#{{ulb@|1M)l? z@KJn%Df?eTFO1khMq1El6m%`UM`6?5wl;gf4`xB$6fgij}sK0mP{^iDWXn zv3|O*Co>s6p#;lrjDHW3TLONZXVLy3=QhwW<#`AF{4JlgJA5#-q4Bp}9y1N-)Bd%? zXUQqeT^OP7%ittfb17~#<%r!fpgPq9SM0lM=tmIktsGv>%Ok!Awk%#PXY|%OCPM%8 zRJXWSn?IS{F};Ph%6#Dd60{E5|0Ii-%IKnN)sG=|DNk<;3iZ30Xj9ZPo;eors7$=q z1X9VlMqj;aKHwlMQ(e#tuP8gO-?-Wcp9m6y^+1-$R*8vcl@A}ehNH7~tOw}SULeQ| z78iE~o&mIFky@x)_+53imip6_XtQsH8DPk;s1Ud#8X7_iECzr!$pF6uz4x7xg}K9t zS%zAp=g}b(&K5F;Nxj&Q?G~klYqIvP2s{DrU6MTlDBWWXZw+ z$L;u|{>AUJ9f9O#|O@QXBY3zPI?uBYEif`T_dkf$ZA-%NbDyHCJZw?kZT*^^r8?~cOs}xqGyVQW zI}Ukzso~W8aF)Ksp}zme>|R;H6QCm|0lAR+P2Nn!RzZxhhk(4WH7p;`kCXXj30_1d zC=;Q1q4ykomd@fZP?P>FfV^@U@1Q%KZ^$Hq_vzgQ~m{QZ!i1(*4W*Z7r;GOlE1GRHbww01k0V0jIbXwu2 zQ4RO~xd1Yla2KhjeyLgth3{*4UDlF9;OJf&I5iSdfH$F&`Q@7ErNgEH9eiIpFcmqx z(_87Qrf5QNxEA-DPy7m6NyCU8N$+kaDhP85=r)~H$6EP4e2Zi0`!PO2ATPoP@$opOZlv%1 z*8q1p0pvS_OW!OjT6n6cDH}+$fsjenp2*EXLE;y6{0dgeh(&8HN#zQk(IK>^ z<5Znb)SRFDY5 zYWFB6EmaQ7c7830-f=ZI*LLU#OszWhDu6)DTfgUZLj{iRY1YaaH|J0L>j@_Ghkmb) z`SwnsCekhbMY_3dg83}ChP2UCadg>>b$_v3XZ82999}_O!xm9P;Y8*&byT;>NM~=d z%A1!#Q*7$fsqIr8{Z;O5*TAkD?mp(&$TF!0vs0-7MX(Zs~0c$@*;Bg(lYREaa zcYd>Mulq`VM~!_TabLM)f_}gpXcN53zgfZ`T{~41iY+lME>DLK1t8XvB&>XxF1vnG z0xk%xItQFSiQH2!7L_GP{8)VTVf6Y*sr)8usDIyV&9miH-5XKS+9h8)i&f!u(rLq@ zk3Frgp1qFJ#gRBy&|V*-BD2?$JMzqHC~kZzC2vwcap{NzXLgA{UXXgXMY42PW{aNE z9>s%w8FiHaib>PYN!zXo?9kRG)(4Yq9!}B(o;O(Ieqkt@zZ5k$gO_Tk+~yx_6TU>x2J`J4S6cWx16+4dX3 z4jHXpKNjOjy4!E7>y&-=TCUk>;NTj$IYkXoy!}?+Uh3z!tDu7MYN2xVNn&kXKS5{N zCx~tl`{B+@=sW5j3JPYd0p?xI35(=Cx=P^fvs7$}kKb@%04=MW2nbNaz)o-yUR$o| zV5h>rGE?F@T=cWJ<3~60nhlM)8>jhGlot>LOm8FfB%)6Pb3_(x)-JF;>eYS_H)k$M zGI%%|*Hiw1$#m!jXKC@MA@g+Se@tSQQR3mH86n0qGMinN39GW&{W1)j5yKkP>4$+i zZu6h#{ZI**YI(0ieo=J&^bSvN*2$|X-MnW?T5vy?`~4ED?Gu%o!a+Kesh+0RS}&>S z$16m<-i>I|Gv%JoiMi2AS<;?Tnl0IHTavY&zaeEntdGWa5>FxUy6fU5iQV&>x%unk z#EAbY-&W0o`E0%=s3`N(jhUPGEiOUKgw%-QLiQC0+zf@QV~W+iX~O}gqt7Zc5xDw) zLq|qKxI1EnK1k>AA!wg&_H8mfjQ#bpIwyESP|>J4xo}7UOrzfX(Dug*h|SYX{VSR` zYJm{BVJzfJsNB=s>e->a{m6Esfw>wL&_}>Tv!9W3$^aPxi1nkA@9|h^OKG=6+)gej(Cay|fUK zi;B%0$^X%GmTytDT_4^vbazQhw;`NJTOpU2?+7FD7x7S!VFFS(O)S;C+GQDOfi)hW7)F2nUaDQp^Dr2W zc$}g`DdF|Z+WqC+`T%!{!Z!Y^Wlj(PkdRsQNWTAxLjqN@!(Vxr+}1o?^FgDg1QsqN znUh2N58uwQ=FMK%U==^qLO;cJ9iYqZeEtWT~l?6`qc|0qLP zhLGFM(z%S}0NzA5QoqOwCxYnCt&XYgLscMe6OI0ri=b|bR$O%H7w=K)MG6}h+~nmP z>G8+?yc`OeF?$wGvlvRe?(OLp(W)a2AWR_%&%=cQq{yHUe~M%$j_rtI*JWvqsJ)K& zu_(RXe^03yu1i9szt&=)?eBnMfg1a$3Q5ZxkC|qK(L(ej`3`%4l7R;4qE%rTtT&wI zXcEKGyzqx!=XAP3vMnpc8N_>}*wfdi4Bp)0>4cp6t?^;8#LF}9%w6N;x{kjErnH^1 z*3v-$1ju4{I)dClz9n~%hs>=+{QVJ;u(tQWY(c$N(j2qu*fjqC8iJ7Bcst1r=WKrb zyk(;hjimkEFSWd(@gFEeDG($;VE&848frBLe{XMfD@&WIJMeC9?gCgR=3hG}7z_+n zyY-u#-ej4aS*oyxqSQ7_i|8qbgUhk!gVeMwVi+2!OpoYhGG+FxNg+I}h%!!|4%Zqa zfIZ;{W}&KuPJdWO4AbQ2pZIKm08X{s4*_uP4PDA69C}i)b~0Hrsi>BrIu(OL?Rn?$ zL`BLe%-}Y0PEUO~xT}A{;0}G>C3unRT2TestT{>L?^CFY2G-A9>NT)q!omzoF1Z|#EQVv2$2%Co)YU%6^gMm`l2v}6dpte8fO{;%^4zmjgYW2JJ zXhE1kl5H8X<^GRj>q+6(5+0xdbUb8I{i|4qOxgz6mVPk)!!;;HRg>}1IxzO%+f~bx zM-b4MDphbW#Kx!aqPTLd&lR`?nRbBwE2;Fl7%S5*A-&L4;YlfH`5etEaXkwM7(Tfq|AJk2rrgWX?(uJ?4x@QJHNWpB zX2>wEn6=z6O(6n5L+@_U8bw`>PW1L=F_=vhyA7pgxdd&; zGn`*#xMJ|rLlEf_ilzrfVa}<~7dO= zuJs}z0$dXFY0yRMY^6t3U3Crscx#nO{-n?Xo$RfEm}%Sf6s?zo#N%G|YL5@u!drny z-x6tkg5gj+c8xrvl4XdU~eE202}yyKeP zu=9zFyibN$g67QSbI-`qk-#;EenoMb%3Vowf`c0|Nc{2mK-b@aE|ei?VC2df=zjV+ zT_X)l@h)iIW+gPu->)KUmk5r6p&k#labDMMLxkq@$5K0PmZTv|pGk3m*WMPpj6SI z(!32P5rw9%YdGJ%e};P9(^3}nGU)GdAUYPTCa3-F2zg7VuE08BcNa6EGWEai|4fmk z!!>Pq^a~8fC9vwp`|1qb6`gYC@PZ9oqPE!s32 z;DFXQxHeLXprrTe5=a8Ds!g{)H-$P+RlNFNI@RS*!59mt#w#TeS?UD!Yq@8m-u%>u zgAC|TZ1?D|HCV>JNe@`3>Vcy9qFISs1~|Gqh2QOn{`L1>L{DbmYC%66*kYbso8QPo z)F*m>uovE3LMQ>7X|*%PxXFhv*vB(J7cR`;L$3PB?2+m1TwJ84?!Mw zl+J+NF3-80mcMH4+cEaB!)1of>wa%LPyGPmK(IfWL;|e3KZSrgZ$k z{5^+27lXn^B0N0Y>?1yf1cc$dZ`aW6QESO5CFJD_QYin0+Rk~mgZvhMWWk>^(jB0I zBjyfpbh&Q_W>dt8xIR3(E$h*8+?(#*AsyNo4xb-8vH$zYx9qC<^cdAa) zU02iB>Gdbbo98}`1AM^CDVn8-0uYBU%N&gzw++Ug2p)H_kkU7VQ*WKi6z$~w^=7s0 znUw^*&VxdH8jWhn_NpN^py#-4W~)tuWw(&hQ{K*8UaD5;4vY?#DQFs~E-n-WKvWaj zv`<|akt6Mr*JW>#UU>o$Q#&ru=+`6&SXqiKFLb|$xx0f_N8TcXkjuzEiXy5OPE=si z^19M6uImTNR5JP?YULO#M*zgdzHk`rOT0kymuOn%>c{n7XMvULB6!84@UXMzF*|7J)$&=3YiQN~yX>?FWNKowR ze8N|Hp)HXJYw2+RPrk-C^Q%su%G{JFL z>~T+aJvo}uT?0AeFiJaE=3AtGcE(#G69#dTsV-z-{x1=!<9q}Xkl9VHFHm#6c6br2 zWgYpAP<8)bs$gGt#It`WUc3l z`tCcN-Hkv44ZH}5)*IO|%YvbzZ!{lQyDm%T{D_@keISL)Sz5qU-QO^)^e_m94Y9Gs zk}fMM51SrPB(xZ1H4C^VH6Kd2=K$TMPo{W4s2!nuHN00v8B_TelOE3CSyvzT^naq4 zx_SYRa@+#sQ}v_gFI3&#dd_{}wJ;k7F!($F4d$vfGUhnRHDRhRnOfoo?F!CzqB$!A z5kr%!U&=VUyCSfDy75Q`lOIzZGf*$PX~CbD6ZBv!?Cs-!16wLF`gNG5|#W*=D> zQd2(Dacli0*%4FdB^^3!(vcLLt8L?Hvhqe}ZtJj1;KjA0N=r}W>iff0Gkt}=vB zkI=b>>7oGuo|7NZ1Z-*F(4POJEicAMGMPbCx$C-ua(Yw+^5*T;*DqTXY*qBC%}9(9 zwJeN|WUo;e{LBC}8Wu1^C9JNb5B1qCuk>@R2g*B{-0i3cpZX1K*lXwP=2z{BfMx8& zjTePQma-TmSn*nn$yIoh1aG=(j$}e%oJprC(sHX?k_vWSff#4HW1{I2sTShfK5sHK z1PsAuMi`7E$HV}7SKbAHJSEo8Ptd`AHtFe^ahb?85N@Uk4=^_we2ZxX@|+A0%vD`p z=l75!UizMtv2lZwmw+epz;z4gr73sO3}_;{>rp?`u=lgSa1qT^$)JnHQisY{1T$JX zHo#}Ba;%|n;SR&Q2MM4MMBxHdSwE_4*-!!&SkarsIsvw%z*r931!eSg=6V&Dcv+p6 z;@RXFZq*-NkoZ6@@8-9W3HQQxRnXde&Xk7EviC;Ul>*8g6N#+df|Cu`gPt&e9)LWp z37=-c15y)mbgzq`fT9oZ!1d)~lhw>UTF}r;rr>`HUn4ubKV&85bX-Pn=U2H+atVfI zFh%ekM#0IWy>2y8GPw|rGze0`+acQmM=!qjM{Kzfx9ZMG`QL`nR50SAEA{g)yqezw zTW(>lEAS7FkxO&TNQ)nLIdB8sb?g$k&x#aAsBQ{2;U30Sn&9x~z1#+T+*`X-)(fXe za^5vI4eFK0SoFdPG|$J6!Sz?u4kf_g0~#O^#sd~MEO{1zux?JLA3QcK8`O0~KP1m7 zgB33ATUKv<%UW9RWF3tefs1a^zWC4&=OpVRG2k%9P3P4x`;&DvJXN)~+G7n;y6>Xw zjvm2982{5;YjV7lB1_Hbe4fb&Q{1fpUdW5Z^|shNLBy4lL(b9BT7guA-usk|(cX8s zhNzzs4Pw{^FSk8;IR{gU9iy9goBqVXzh&nAA}4s$a#OjqZRMJf7}w94Z|_ozPo;0c zlsAE|uai%d|7&L*QdvJd}GN&XsE)d_JGhFE#NZ#>L{mPcNnAAE;8IQ)%=Z@IKDdj`G(&kdildlzM2P9CKu$fFcX&zJN%!fW0w)eRnsST*5 zK{m_(Fu`mDN_XZ5v;J#zsJ%HNw^e$O^_!ynsc~PJrj7 zG_%$!!&=#~#_V_qOKP$tUsO-qX)fB*GKwL*Z(6-e<>mH-->_Bq*+7z`AejbMH+aAL1Cx*|Z*>cK_OXVj$Q>QFw6T2hn@VP~S zcS3^hg8`DOWIkscAmu6nHl*2Y07H3jf-q1zr87S%Oga#`3m}BHp|vDS5N}X0)oZ@w z8U`*o1W3n>vRJ(A^iu*$bYA)rZ>_>yqqb2Vwh#cfLNX#S2w+SThGUAJy5I|(57G2FJ$dAQn5)|7Wgg(k8G5%CM7NGBh60Tj z@9{3pgV)+gG3Qt4*aJE3%IUDeHtWn%l+{f{l5YrtHnah~NME1(}{4EMF9!_27@DUkEd#mlT zkvLx96#W(vM@@UB5(etCBWyi7d=fW)wFJcHyB3-%vucq49y+OCGdK5HgN9C)LOWDJ zll3Mz09ALS=&}z7N}7BO3VGFoyXPZj&dYj4{oTpr%z!)9a;tPUBM{olHK9sH(m&)l zuY@LER;z2}nU(K4?3<5ZA|I^D>ZtcE>hld6!1^Ymbw!I0HkQE;r+OOXYCvuG{{S-% zp-&-@{>qznI5jM5Sl)J&TRH_&!q6Bwc!1Yn)nLsv|f=cN(tg+60guJs;$zuz~uoCzlig5M!qZblv zZ;iOiH)NKd4Rlnm<3>Fp11S^#Rbi)V#T)*pP8;kd;>zIO8lM6qTh1%BRy*crP!Q@4USh{C6)4LfMc+tmY>YC?ZvpA2dmV zTg@fpXRii6K2J;SO!j{LNI)x4Z4e3S`!F)#d2M$1MZ(yw@#WsT8O7wlp{&CYeltUB zlN$Q9N`=}^c&p)8FDn}KVXw*xHzTnJKif;RvpiSVOvwh3B!l=ZgKDn6affab>~!T1 zF&%)F$g&JhCD;-p`1V&`V;I2yX$M2;cJ+2UV&L42(cWTwqA!96^qksmZkC zt+_J_3%Y31p0mEc)=4t3qTIU`_Q;u7WHuLXH&iwI5_K37%3w_FR&rCJYS|B4ijfRlwAGBhWq5=T}b# zGvRp^Zb`*)8*44m#FO}?g6T<5zS<~Z4gk#tTI2Uq9v>WGZON?iee$} zr)N#0@)|Uu35U3P9M1pKGd4iYlXrzZ^@Xa}amW>uY>`YU7+ULFFHPNe;1vXAKYMqi zLJc(U9<+a(@v46Daa!-zyWX3XK_5Fn6D!8+haXg?O21~I1RfP6YBK;0{Db1?dc8>us{Fw@20<2CyKSO8t%ffbJQ(5f=?ze)3) zj`a-wP`)vO4$D3#aNjWnS#r-Uo7esYR&Dqm0u?PwQUvuL8Yyr+m}+`&GG2mkGjtI>NY`wM0O0P=O=b>wfh9gj= zBEr0I?g#+owN$?@K?n9TiOySo^|_gQ0Z{td%sQY)sLV2fu!Dr$YmXapF4jwaM}YyP z##m6{9b?6#Fy=B-tt){5!=tlSIB1q#K5`~AB61l3B?%$aolvJ3=3Un9LSNWYdN+^^ zFKra`b!+SeF-Ktg*n{I~M%M=Ps7@;p-v*Wl~}yXSlj z@d-nuO27^5%hrQ%GtsP)5uDx-JChPZt;oo5 zK74y*?&%`v7PELXjFXk#qx?aspnzTTfUrOKFTr+M{0I*j$OH$Bkn-Jry?o1c1chUq zeXxdm^}h%~(aY!~(CXuT1K+=ZrcZ7+{@aS}Ek2>HbWorfeOyC}md&&lWJ?QDH<{3} zCu*q?Xt(m>yNVk7#toy@Et`)24;9N!T7dK7ms6|y$%3X z?QfmILYop{y7`OgR{oGjg%F<#^Y$VL_BXuv2!(0{tzRtLly6re!Jo*U)wc}2{XbmK zdn~=*@qL$?6W(lQmCQjmIkm% ztizB{cIw54lIDzmNnLV;lN>azEzx;;qn_uWnpKxyBIk9^BVQWIMaOy~1n9WWwgBA? zd0H+KH7xm<*>9l@AAw#TPiwq4SStI6G`V?$flubGUjA7RO^$s$-m>rg(_62Z&s0c3 zEc^Bw-yQElWAY0VU~M3N7ryldI51ErVxf#ST9ar$1L+;cNK8$wu&QFWrN#|}P2bl| z&Ly?+&tZ3&VJ`!4C)i*;xDoM+mkrRmz8Vm-AIEpFe;E9*$l;cOs1sN`rV2Z~ZPeS9 z?nk#lBZtFHt0PmeRQb~L{g145oRBAWgarf>_q676m;KOS4wrHZA6@38Vk0U@x5SvhIx}>2TZNV4THTJ!%lu52txU!HRr!N{_^*{ zf7?1=bZiYIm6^~0-&+_{TF&>XF!?Y-f;9x`<{kmWZB3|N*d8f&;j}drZ{*3C?4J7y0qhII3|F_!km=O-X?Oy9d?jYsb-khouH)_QzF^ zcAE0J&p(<|%x&6hL=+trX`_S_gjQ*MN$DxQho-IP2C#@^$L$+7zXa^x2FhZI-MD0C zbKOPAQWGAfHy|y%*vTE<$!ktf3lPEaPDV+}bDd zA{WsP=n2=V8@TkLv@@J+lN8f1e9xqpo%K$QiXb-Jq${!`5^Je-J`G-4gPvdzMpLsW zWPlhx4T+W1X8NgN_*}lfk3v;*s(XWfTwoFp|6x~`t`+?KR+7m~0`lGzyS|Q>Z_u6?)I8a9rN+^+3m#s<9;$0j6j^quTsof=dxHJ* z2!K^HyZy#Z7Z{mTLc>MaA5SK^-bLAbA)nc~idM!}Z@m3QTK_P9G^?*ca`-~vn`zf0>8ErEe=DME3#==Kw2MMGj!dQyIWao!pI8wQ_KN6h?c2YtA#CV$b z90F=1ZoC}v{zuAt88U=lmOUr~uR)Q_3T~R`OHEdzzW=^nXAu6_y^Zc_dq^_u7DBz- z4PFSf%QFjqXle+*Gm(uTg)X(um9(Fx~&-OS$y^*Uj&R`1~Vib8jhqY6|ovq>)~+q$0_ z1t82hZM0mqBujAW!I@EPcI$a?a(RL7Z&LH(q>RE7`tN2AJ?o?PPAn-ce@Uk-*{Q^ngA~z(_M*C;I3A&{QgCBdsA~WHR>bv{na}5s<<|LBFIk#`=LnRq zLPaogJ-^(Sa>6gad@A9}guOmn76IDl1WUMtQ%fZI6_nRYweM$T88}|*`?*9y{|$db zht6m}&_7?jj{tSX5?SdkFPM^Cp*4D>dHG~Sh07hEP)(w6dY0cJlv@oz7;fMh`~+ob zQ{YX*+1CQ%9CKYhq$p&PUt@#85V%*blSiwfhF#FKBEwBl8VoBg>Se&bgYEOnxM{#q zlbhpm05CNlao5^j@PC4VLk%X4q5EI%lkz%4@{OLp>4w#t3xGOTt+8z}o5;;@FEBBQlF_EvU;b8}(=G{3v6^kVL&_$X?= z8$6AJnA@Qa4=6Yd!hwMCjD;Y|RjencMqKlSHM+s)J||OAQUGAiTmog+TT%l1JLCl2 zUHP7MKD>#w*_tN*C{JL*0g04+anATO9ad(A^~?@#Q5i<%dqxD}6t$uf&M)(w0$Y4A zLrJP9{rV_(Z$iTd96nUoax1-X34H1F^1x=YP!VEt!KLl)p)f%!MJPADw-?BWH38ir zDj5Za#5;rLPTrq^smR@rI3wdBeJ2b6ddJb9839utGsa`;ZmXfMO`2A4Uw`9Y!*a1t zxR-^k`4XbU0oAP>UPizffwhr{n;6{&ED+Tr*6q)oqkMiFyPFUg{_Sq;z57K}v915( z*CM%Qd=Y_sgtoeZ-hk6I;@$`0AvktZI&U6lo1SM4XQekqy~i%(EaqEu??zQ!pVd6ETGi}hfqo81tDb11T2 zr{$qt-)+E?sM@+JBQ`24cZ^pEJdj%uUY=;3KgCRWaAUh(OrcCOC;3 zVWq{m9ni=ifO&yx{=*87!GAvL-GtqYdUozPUd2Ugj0qZD+AGyGw^Ic_a_ECSso|wM zQb>nrBIh;gd4Cn#*y&J*{t`#sm3uQZ7#OV+i6Et9P8W{$Ac`gs-!`OTG;E|^K(mFC zW~&}c<1A`${m0;|gGZ%#U`0hELYL-9T8IXT_#RCnZ5Za;`+4yIMbVcgt#gOV318|q zMbGby6Vj@K0xJi7l?OdYS3RRJ&*AxYokAG@$SUe|@oiW|8u8*s0KN1cZKcbqWj50p z558P)t#Wl{kAukG_^(2Q4alb0di8>vyv=8V2!>temHd=&jy6b!vN8rW_oZoI?Gbge z?M5ms6^`mkJ{Ny0+Ms+^7YsN=$y^pFy4~oUAT(Tg!C7ATO{v3kV2U>XoofEk3zN_5 z`Yer?gW-$iq1h??I_slQAV@WPXSFTRpK}*{Z=(O$JJ=+3@2>xRIWTqE&^D{Ic~j&V$Cg8~}Q{=(6zXd^+ng*{AfOP`+)i!6t3^z3_;=7H{S;|z) z-#9yOqZpX(|0Eo2&*bJ~=_DcUFZ4->%Kehn>uCVa2Z?*JJxc3Hdcy(~v)ac}Mr~32*yiP8fZ3#*=V1nK95fGnvXoLq2?F_|U-?tC|c!8^7b)y%kZ6}-P0i0(( zLACr){dX5OcC|M0*ze%G8*zptj498OQ64OJ<-kzXr!B$gFJ2bWEww3ULrnq;!r{yD#J8DYSrc9% zKJOT!n7#d%X2+#^XggtwfkXGY3qNzPg69UDLT!#H55}198;HGM=9cqbu5cFtiN{Vd zQo&9{^D!Ug0A8I33oCG0I4g>q&U^S9DnY01)l)yPlcnfNzZ@zs!TH`N{xUs#THZ@G z;rS{3>Q~_Nqaj%EQCsowI8X_HOG{7Qn*p6x92?-jUhz7_4?MIB# zF$qGZL75V;ZxslOozs{ZepXKScjH$M2hHC4=RQ$sg!YDp0xvso<6`>zEt1^TqF0xE zdhR2AEl_M)*0wx2fNFK`9n&KYg`zD-UKX%=afeWr(W&@?blnsAgaV4yiuJ__PD=g* z>b7Pzk!wR57B9XZ=J75g#6_!lkvvN^vq^qE0WW^-Ewx2J>&CoEj8qD(VXvb_1!V>^ zv1lLw3yKVX+rD4@962QbY=VumBu>>=^K8Dpha#W+&{Dn)pAM?5$Khoez08+PXV-Na z5@`5Mc==(>nBa`#f<2M!C}X(EtEKjAu^%?JE~B8P_$ecJ6w_;rLvl9T05nd#b93zZMw>6}mKS#g#Z4$4 zW-lD?WX_P92qf~?Kl}6~R9Cye{*xakFEPrS&aF+yiADLi-%kb_MB|HZIq|yFRrF%~ z;%9K!jfe7;cJTEGtLD^1rtFXdlitW99B#X^RFiVu4+#y(Bz-6S;qSmx=#?8KJoa1! zq;QLUm%Xt?KB!fm_v*2f*-lC9<<@jutxM_kzf>uzWC z4p=_asQiuyxD#Fp+)U=qEar1H?C;eb!)f$-7aAXa>x?Hls9VXB;GccS30&ViuT!Qw zdOk_sIina*|Hlp`Oeov$03r! z1gY0HMw%K?Kf+AYOl^LVo;*6w-){LA|aN{=|{{j88yECi- zaR(1Rc<}rmbmrmcvM*`Ep!rKYXFIba{k-hHsQas8^Hr+h^BteMfQ%%t^KOA?-^Yct z^tNo~AI%-j{$^7u=?kgHeJ3SdG9Qgk*2bz}T-cNHelt=+f$>xH>g(Ps`HF~`6fyEK zQZ@*Z2hH}5h*y6ggj4s>N_2voEqOd!jRQlqs$>bqo5${L{cp)S5D(O2n9|9l z;|lqck}QR{e!pl$0#zsVQ*8o52@&35VMeQVYdOQwTfB4#wkQ>^`G5N|2??4&YNA?D zcF}@sgq{gyNxUVIls9L=pheG67)8-W?^g6o4ZH(|enz#tCOGz~gC+4_j%DW&8A8!Y zVC62-xQ9Y;;CF;P#Fr9R6xus!s~5wXM~)lfkU#~`4jk=WI(+0T1QTVUccHrE-ELF! z^ZuAWIlxo8@31ms$4w8}r)4znSasUaiL-EgA6IU0HMw3nPb9A6`op3VHO%1!T+05CpI<)Pn zZoCJmFeHNT`C<_{&5qg1%E(rI^b*b?o4dC z7NpJzJL_N2JmgpCH8UIPfZmtuQbUW%T>N#=Gn8$_c_6%qn+jr^Gu{E)SC&ZC1NEmd*N8@wzr%kd6?CEjiW;$? zo`^*=C-O3tV@eb3nF(S$3^jFE#g4sBiAzdI?nFGr_nyeDlpdDg1^%|DXh9%akz`ES zl6Uu-M7+=Vl1T9NxB09smxk65(bmK+VX5rIm-mNek~BSyIyudqfFD`GKiH@k6ek^z_AN;qy9ko#))Yb9Ll?h^ynjTPQpD za`Y$gu;Uvc%ot<1%-g>G9Q~w((cvockkqO6#-4s?hcQyhm7MS6WZrO9;ilEg@W3{~ zywDLY8Me-BPa}b%9Ao+=OulAaEj%AUxQ-{ff-Q~}^m)N5xzslYJK9Q4l@~Ce(rX{mYW-mH9D%Jk+GHHWFiID^S5(oz(oKPk z%_wKWQ4A{bbX8Hhn4Lzhon&*FjYsN~9;W5~2VioKqf@#Vi#?IkJM62SZEZ=snsWyl zwF%D9TU2h3j_+`_mbVJt9Hr^AFd+T)FVv#3eR-f@pT0W?Y_wNg6|mbn_{GdL%Y~ch z&TI(sH8%7XVUWQ*qXf2H{$I)hF}rhO+WG~t{O5o@UBTyx)0vRJ3Df81O}1RW1}4Ds z%dBuEkm7y>6pJ#}k_UbR^AX6u=DekK5?G}fGaTpO%Vg5VebK2=2(@!sVtwMub08mF zMAbOl*i(hz{4 z34#~dW(h2UtaYJl+Uz4tKfh9MYciS!GF&cc`_p<&Z{@6<4elZmYt0mWGx~9BBe;`1 z>CdSug?jX1Nv#vkj1my%q1QKt@YPrz;Ec+l+9!h>c}~nS8l_a0ABco^K^hC2&RO*? z4XJt$@{Jh-I-fM`FagEC#w;czY&?MTe8$E**<-qtM_?XbZp}Mh(D(&W$w>_4WsHao zQahub{F8(5hCG0E(Qj4WoVj%+fG+6jRCVbY7X_8|b)_173b5~|fDNw@$qu0(IXCwI{{a`aByt*ys3_9L2>Vm6M-aRG=GwDgSbGHEcauH>77 z@Dgp2^7acK0>CVob)5nHDH>R#2YFE7zd1@!q0VA0+RP|bFFp1)tVaWbxL?%aRZ(A9 zN!0+8eclo{AiO@wNW8*l-}i<0o_Q3kfJ6CSQ#@=s;y{Uivwu$DdaX_FQaezpZwI|u zpnUEVVk7OreLWpeJ?tsDuU!~B3Z9Z>$bHc$d`|R|3~~v4oxf1})J6~d9L+a`(F?U0 zynN1LI5A(6v7PDHc5rn|9_6l9f1`-pGXzQ!QTl|Z4K~@L7>N#eIVXK!d!>cNG_t;A z1Zd%Vigzt95?j+#hO53$Thd4U>EnLRu=C~!?ywYdN}Hp~(8JpXGUi?F*>2Sc4;!5u zwptNM5+~P!x1W>A)(UqlBty0+ZqQj#;+=j+5Sj}HZdBRabiID z;Zzd6`SgYc&)Ex;h2HaGj#WYD{V3N9YLp2?6_#Q{A6ss&hyb?7sM5FgAO)+Nyuxq^ zr|{2Uqx)ZlYKs8lIvfzuJpFCVr4E87prHFToC6X}HE-C=bCcBK{&W$84aJdD2a`gs zY!QJFwm_T{^jyDxDlAil%y$fTQo}bRfLUX!2i@1d9B2UZfarpk1G=bQxd-KnnqWig zZf6fYqrTpg(@T3SSxLI)79U$uG#}=?dXFHXmUBypsl!gc1KQD#^-HTdlOzO_p>VHC zhCUvCYXYoWNFlT~><%ELzC>Am2OIo#Trlg*z775#3vm5!t@!V|Mngbj&#+%5L*V>c zpAONs)yTL_vx~2Xn;bw#_*2?wc-=7-aDV@ad99feDR7{5lV@h&o6*~>dL5?^itmub zIptWzFe7^B{oI=K621tz!|1xgohDcX>_zdN=Imb?+L?bdqo>J9MYm`VGuOJZufF$P zNu1dIph4>4e@&Sba1m$tW)nR`v6ERk;8|D=$n%kv$FAmsZEOG9m-B&T=|#1F=4rpr z@9NL%-J06Ph27hw!Si)w$DZ{|bZnTEHyVcmIFloWq$Vt9=y^%rla1)MtQjQ#;W6y% z7ORPeWyk7-ed1+eoHg{Tye*3@tLW_ar9p^hRIS(I*=wH$w+JK=&7o_$M zzvS{=lw0u6(eD(-ulqG>)ta}DZ2{I_caQL#jztU%v(FC+whseU(|5>@(b?GWgirwq zi97Nt1buaHk5w}vLe)2LQ^k3XKCdu(c@#cbX6q%Iz6__4;szJ+JpINYPei${8J->y z*(-B$z$v=2*I!hv3(s7c{P~a&)GE`^dhj7IqSfut{r6w(|F)!Q2sDUtl_7;xH(n|r z0dqd<$#Qr|K@OF=o5G*w<(3*RfH4ZRJ;xw4XXJwF;7&<5M%M*{JzgU-r|U&ga>q=2 zmsDZ@4_66QQw~7z@wZ{Z=KNN~?iYJUo+5IHk-b*dPZl6zF6+OH=F?L=fpfMU zE&u9TX6OBhy8F>7u*qP@N^$kIF_GhMlZ zV3gllAFQanJL_-ihGiRH(kbkENL1Ygs^ffO9cBxlweQw`7D@!{9)5Qt7sPxaJ1c^U zXNA$+8iJuxf<-RY(m8m|x32Bx&9AFLk4_ibff86RE4kCd$bOg}=<(sbA!ZYgSR3m6 z2ULTsn!m$qJC34iw}eif>ImLm-`NTD<7yp!#1e0P4_oNaGxZ~Hs-ISyTn^7+Q1C6n zh-!DEmPg{GmiF&}IwqA$-jORe-O0Y~Dk>=CO{KjM6OWlpO6y0J{BHVE3 z!9agcx*&Eh^J{}ZrGUbh6a3j0njwQf$y&A9(nu|D4`A!ue($_KE;vJcLX{%$F{t@xP>*09hnerq`ijNlKY*D#e-ea)@%sZ9tZ zu+v};&#;U4XYUVt)bMZlm+Q(obHEvqV;qPOBi=lxvcb#SZQ&mHOsdy$PWr~#Uk~`l zn^?JxJ3+7@u?3kS8gtRLWK?Kx6TGt7T2VD&b{z$g0(lN>31xOnAPtzIrL{`cSYXB+i(a`o<+0>4SK3tV>47Y&Xeb6&JDs z#lR{XT4Q&^@#*rwXHd{MHjCXkt)ip7`9HIq6V>itc6wQsE%Xq~EBgH=7f$9$%7OQq z(=0W+GGyBQuOS2{?MMQ<+r;_5vqi7w|6Z+jy%5bp9yMDV#2bxwH{_7BdNbBt=x?Z1 z&g(#co&|zktYnSbkuVy3zgC@-L@e}#1vDr_APjwA;wRpxk_B?$F zM(o?cl1XmVXl(`?ynt?r#Sw%9Z0ir?iB<^OWH4R-(Y1P13|vEex?gqCy<1Al!o0{h z8nCy1hHwU6x7_`SPxt?8`sC-Pw5>TgR{OqKb(5_3;f*`C1m0*YhE*GXx-vV*{zdw$ zI0InIKia4hsAo{>8*Agh^EtS$bQJ+pIfet>f> zrd_(Kmy(t$*)N_S;_Pp8HE2QODyycvD7&*W6oM=sbG}E=*j{r@Oj;sIpdJf zmuyauKw}9(M+fxQed(&HOBznR#Hi?>F{Ka$ZT*r7*he-8u!2pj|9nN5t zjVWv|RABC_CsR)m&o_l2HHQa4d@g=O{8+tHYTpJ9Y-q=V4`{5fS-o1Ib5)oNGHxda zLV!G5kd0lJ_m?Z9LA~8K(%k7f! zruPvGVuJ$8>xXRse~-K+v3)1}7w1PBmEUI!uOxAz7qoGw%ijm?@$C}Ko6QKotkRj- zv=~W1Uj2hQiUj^z3E#JIg&d3kNb@%u5A{ZeX}#yXogs%$ja-diyr zRa-_sxeYG>>u>ct?c@FYz9!eMsPmfBdC$D^X#7G)o-2k;9li)MP?iNGtPWSphp3b^2s_%RIXBfH#q#Ft8?)rc<64H&N z(v9>G0@B@G(%m_TbSm8`-CYB}`TlX=&)~fFIeVYA*SfCvMR>ir{#vuYIXy|cz_;ay ziJNF1;lf$Dar_N8y7(sdn?_c-u%Ial+X#6VTrJj?RXuo=41&T_$hz+lk^k{mj_Zae z!#=Sru?7$EZz21DkP@~tR=cvM`XpdHipE}VCOGzfZS9ov6cuv#rtjuHiGGY#Ekn^L znIKMiw;(U`%(dFuPgp7=ncZ4?QyD{Eo1ct@4A848JY{I-8TdQ^#1wFdq1yYuKsKlv~W+O|mYvKu|~dFQZa~Vcn8NL~p=4;5{zlGl{UuOHds=E<33TofZ2n zJ&%`M^)@Z88tCX(ZQ$zK13Te!JV?@G+sKI+!*Ijb;?K{Pmy_2I*LSZ1c*5hR_CDwp z4(CkoVDiWi7%+k(p8{Il0{Y{}1W^vH4(9^C|e(Wp6A}M1sFKz>QdFl}D1veqG zJPO%>fJH1_Vxcg7pxH|@lv8_svj^u2k2}V1-}<<3JRg8_f{s3+4q|^Q6Mnm6&SKl# zv3DNlscv^p&2!%-x^W$0N8+FS$%4Ohq#DVq47VU#6MC|FY?&&JT8-=7fw9sUSjsbT z>eE=mu}lg8h-v7Qu(2vkfT@R!m) zBQwtiR#y!uhfnF0{`8~bbjJeOoE10}L9)O#-!oDAE4FV(*%=RIHDZR*Q8{tHpr(!} zex1#ncJlv#f1J8@nML_98|ij7`I6*4{dQ~l`tyb7k4jH)dn?w)*{DhJLs)KL)9{a4 z1VdK2U+8M@&!wuDoQiQ=|HDB#<}aD3?;f2gz7Hz*9PjuPu?UDzRBpCP?BXL_KK%C3 zVg&QO*BAv`F5Y3cncS%VR&YPQxDJY_B51`E!QBHp`6(z~-)uaJs7iRauK2n!V<`Cv zow7Eoda(byGa%wJ9e=!f)t02xX>AV0v*bqzUw*XAg+%SDq3h*`s0&|c?-j*GHM!y; zuSs7K8Ry|M#fy22{?^v>$miwOMMX+j<$iCR_0ah-Ra~|wf>uOTV?GphL~ghxM4CU9_5?#HE2X>i#*DKERxfiiy$cfY9@dn zCGcj`hwI&5@9j%VJpa7zm6M37FKhXYZfo=X4lhvq%73r>r+p@M^(Eo2$RLLBZNFs{$npKEy2vZv|Itg-Q$@3uz?W_s0f)3L)qgv+_V?gt(e#+o*uL~C@d>qp*BSh9 z$1AxcQP>-As)*wV90&fMTvtPS^0C@_sNB}@<9nm1kKM^=9G{4FI_JmNmw*?7RbRLb z`RcnwwP4RhlO%cw0;Kv7o%I#Lhg#BX@T9{ZJP}}hr1!0*D1yph{+fDd0@%86@jiyZ zwf6x}xn-~7h5;OdZW#QKiZy~K^sS3*xi8O~v48&T^?bN8f4B766iu6c1c7atah?Eh z`}kv|zM{K@exv$&)nLhd5Y_8kH-yEjy%xGynSD*SUM_o~UWZTQB z=bn$^=(gyQx8?(JTBcXt$K^Sqz``32!V8VSvD`c<^arG_`znX!p3qs^G+=gBSH=7w z8ZgD_FJ~o;)6mLr!qeYd!$N zbJDvaTu?s zK)ea$se!`ROq@E`+O$QHdKc!hM1`{lkK*yPjjYq{=BFn;J2|*uP7naPF1w=4u2leyPIZZKK4OQ< zZUn%Do@t$QdAyFhE~{U!dq!}zmC(HU zy_#o4j>2MO5J-^o^cTh}Dw7|HpE|k0xK{=9va~p3!Dzb*U`bOPE(1nWiZLkmaWD95 zg-8<2(N9B`&MY_ZA$1U#ao#KN8Vz8(fi}U%A>|4Q1E^dR0!t;t%`-SxjusTLg=YHxK0l7;hon@%Hgf-kwRRzbi?^p`jH zgC!}8jm!)YE}r10K;*9&7dCNK4!yrX%Di!27*T%dolkmg_hm%?Zi}CKFU_+geB~kF zIw3+%#e?Qn=g?EnBkNQwRi1c*O~DhXe)geI_27>0NH31uXYkdYD(29m|w^*ji~P&cUrl?e{H0 zffbIn8ZngKk{Od?EQM>xfaLGoEwb?eby&HrDX~5c(I+2=loLsx(#LAnb^omY|6vRB|z`I27NyP;U_KVU;h)v@MMZijv*$TR#+P%p0D)z&)b9^NT3b( zWm$TB#KF&-c9D{X4Js;35ah+16rwoG(*!vn_R4>!8oC+J2)2sV%=7%iig5K8_@S^giG04{$L-JJU(5q1&+1;AoA!iIz+tGCDVTkynBk}dM;sp zL6E`(VZI}CQWp03`GalHkiGN5(Pi7y-=O*Icqnc*Ol$_Uu=e{oqYpN336xv1ngM^= za#Qsh9#Zu%YyhXl{5ab;g0>#I0@+LeF>ffjS7m!EJIh)!X8ZQHuSQmEf#`U;Z-K^q zLLL80Y}N{1?PM z($13MH_J?Y@>{-}o}B(1?4jJg2a^^TvFrW5LVrp8>zv8WHPEJY+ta>P(I_a0wMB1S zHr#dTw8x4EK7uRr-#vbMlzy!Nwx48I+u9{alCt53eoHMc!+&6q7M)hpISpkALNA+v6(hQie5cP4_ydG?gV9_VGF{SGK;ztC50GAg&X!Qw=MgRSc z$jMfk)A zZjD>S`kDqJrgw?Z4M4<0eNKNz{c-Y5>M{qZ%e<+uWi>4>v0AKsWRRW@AT_n z*C7ZbrF$mN^AqDlZ~3E{7SYD^Y0D$*C|;5s_(D`O#Ua3O7uXGRxi)!Kdz84(MO|)3VJrkm@lgk2-_i%Oh1g0~?uY_$ws?I) z=kRmL{q~9r49UlDEdQwI5m?bKsZ%vyf5)+$W4W#)p`(-+fjEZ-aIugNsm#;?x($ua4Fe>{#ko$|ggczTph|=B7-a_3zmelJGzd5Rx!#KW61VRc zd+ym;Yfxr>j1WZ3CKJlcbhQq4R3?W;KUqYJ|aip`VWgPk!A4h zwK8T=M?PNL#yK|^@!J!Js!w(Hh&9YEX#w7!^0C!L>ye{YA|)Q{RvsSbizGVfqygO3 zuNwUA;2nT+`$Lv9LhlD!?4UHbrv^!G{w(oiFDLb3fL^GUxHdj|I9v0 zr4+fYB3@*bGcCpsr2UC}vvF`V)k;jI<|u|+e*r%nXZX%Ya#u;M%dle1gKRUZtWxn6 zFE3T_;P%IMbuWj)a3xqtxLt?OR>CdW_%(|jxh%dXAT@ogFpSWtgI6R2EE z2!jjrF{3-|Bp$J{%m1ahM6a9?0-Oi0jnQ##ktY6dH~66z&*a8*-iJ~^k^$krAO!BZ zu={V%)t7rQ4D80E6~Fn;<1gher*8Gy@yu6`p4xBl?rwQjak4rN~m0FzH(2HbmcKf)Y` z`(a|oVnci8rUZzjq`-4ufbzaY2fz|N(MCuQ;!-G2S}Vq6&;Ja9?rEgWY-y|LxZmSG#b)xcb{aXX zn6~0cX_B0c71&{suUmD0Gt4Hq|2g(lX&c?uONZLJ)lQHheRCI&7z9;Vbgm06qIwTz zT$T3PRS7=5Ab({zO>0hY!mTkf;FzlQd$5eB^2bR;+7Q})p~>1cb(IbcZyUz+L=;ME zH5DdfnSbnaFv&Rc%59_!h$W|1i7|Ug7m^*YhhO-Jz_s#>|3DB+?h6~V5_+QGkMTLS zv?bc7z5h+Tt8+KDlE#Z>)acI@63cwFrinbm8pv}6#kz#H zyfLB#zH}&D7?TY}2TtJud9pZHdtVe8%Dxe{Q;aTca6yZ=6w~iBvt&Af?GM2gbF!`I zy9bR#7-`F8(|2J;l zMaa7~Hmban1YZArC0^E}ic@nZXiHI8!M^>D-Za?vG-DSJIQH&uAE%IHS!&V(K}&>_ z0%K&GO(tT}0bu2L2x+Y1G_z%AVE)x4e%?_jOyN&63ipSCY{Fele3bmYO*QZPc>q#& zTjt@s`eQfiEi&zlggYiQFC>BN(+}~vIK(1kK>C+z02Lx;`CFZJBPCNyG;#qTtv+3Q z=vS+YbZkCk!de{ay4}i%#&_LaNUWuGCb4P)zs^ukw21h1v zYuv|8|MmY^x!WK4q5QpUY58O>K2P=6;*UX5>~<`h1E=OIf(hwnh89ZgYSn|^b?zFX zw-ImjkN{3Y?X3cv#}Ui#{bUabg6Wy`s}#d%Q$-j%>$if=fnrZyS^`%HI6Uwr&X5Rh z^k=0bGa(sAn&!WVxMnrqEi2jYIr&)3Celz1dCm4;TXHM&wnTOF_p6@E+qZ0A-R*T@ zw|&pxP{gC@=f&MGsDao{pg3^}9DRWG>~H4T1bLy%*RP#R#uz{S;Dtw)U@1=tiCb4f zwb-flZLybCFc6ia^|)!2>WOsX`!2*XPpML!Gb62&;QTxCqA1L#No1g78XJ%MWO%># z>EEN{bFRxaGq!C0bjFZoIkqV-j$VaX;*HKE8%*GJHo=t+oy~9iu|ws!o=_O@9Ekby%o1d- zwkY+y&5r$bz|ZuM%=DFFYXkXnXbF}DVsiqdln*6w}D5m9R55MxscJq}+ttOza z{`cKVccTC3rvP%E;~z||vi&D5!d7PRpbpABz&Em{!)VgsH@SSKS8QJ~)aZX}CokEt zd4KfjI@^oZG1wx&Wag6qf3C>t_IE_ZHddWIJNa8T+g?GQPAP{D8f1*oXc6WAuLY3i z{{mMYOFqy=Q3RoXgm^?T{$7yBZxv%>&~S?1So%wD*v72mzb&wH+s{Jm zYQKZ>$6fQ3>v^_M`{Iz%r}MH+igZsQh7{*~j{^Cvp~C9;Yy@NFPZ4I-&680FmFSAw zjEXESr?;hfCIuJW;TNP`sUGT7)vOq;6R{h3bH|u*yeRDKk#vjQUUDA(cdydT$8~N4 z;bH?14ybhKJRcz5W5e$ejITVA$96?Cr=p#0m6lT3hqelHTvwo|(xDh=Cm*F0>Xh={6b0L#FSp3?k-%EMP1{9WBhnpqf zdyos;UC82Qkq{j=SfYEiWRpAeEnqbpoZfxW-gvqaXv^85Pn~&v~i6ZsD~omw%En2BXMU*A_hx3cKkdw zMJdI!b4pN`SlFlKnr9=MiwwY;J8U#6YaV>MTWtX+d+CcD)^M5>Zk_A&oJ>QLOWktO zm1`UopJ>a6a)KkHI{h$};z8V2r0{gKSX$0!@2Yge$HfX4e1$)xJ_1QtGw%`!*9Zm* ze^ur(yXCcC_r|C)YM(5S0%M7~_cM)^YcWp;kK0s3N%~-jzG(V*XhYmp&N+gv`~Cb~ zE+g84Y{()yF(14(xo&D2d2RqfMb9UrrV~S4CN!wLpEeKyNz!y4)@mp2knz!RLVf{V zb;gAxeq2XolFo7IgK-fjz7KPMVqqfhUhZ+X;%MyOSHG`M4oWI=S9=RgIXJOHT}cc7 zrGcQN&lTcqlS04(Bv6T{P9;^Z4z%*d!ZB)R#NwSu0Ia3{{>2kl8b9U>r*Haw%)lut z!fOOJjX0W+DfcBC4HP$ju`7P%hpGJm8t|boaY)ko6)hy` z8^aAqZnO>3u$QwmKQqEXDzd8gfQ8R-2Vg3sSKVN_SU(b!<<*4RlK*X*6amn}RbA+y#udMH2@A<1pJUe(uq2in>jkV+%TPCH7lSIDuuy>c~%#KVu3$AOk&zU5vV z2#UiyI%%Ewh%ftiQ*_O1Q7c?%Ga9i8NZ|&8o^tb4DdX0;$(#L005d8@To=Y8TF{h0 zoHF9Ilvdx^z~4p4qkOAZrfpbau|U1LQM8~o2(Yh(E5j-8_pnR2H*&oODm7?An_$?v zqL-2)+Y^U#f5Z%3dxw=XS*Iu0sVeprqlh?wA?Kf??jWcp4AtRVNRCaRUl` zjoD}-$Z_ztvU;^sRTJJq^7}3}8JR{Lv1!Hyp4U7nju1KmOcRf7@84glC80TnYehky zGk^8BbO=Gjd)QN7`iTCWFWwEm5Zf_?m{0@X5Fv5<&ft7CD4_HcOixnMPc z@`di+dLe+}sIANd3&`0i?H+^!B;5u&tC{*rnXOj@o1+W%Lq-0*3zLUcPsamTXgq{T zf%^5NmIGGm>Tr;N=PY2V&`Y#Z@>uktvZvk=9uHx&4TWJtQF3bIQMhzS@Gl&4yy@6c z1j06ChbDIE7yU0HUCwu=xkD;GnNykL80=wV{`kRfBKS=!Ncnye33r=2VJkG-@+21@crN|KH zT+H{wc)?SYRG&S}RI1PcsGA7B5WD@}K<~^os)At(9rC+9@?Fd)+t9JZt6j`$=+JLJ zTh(31&gfQ%$kL4=m*$YSbv87EF>OdUa~Rugk$p(i8Vs?ZA~aUVw4kD)cEltlVP%_c zYSQEh)Gm{|U%bSGwz7^QwMJiXS}~Zk!kFjw{=Csu0Ki<@*v{DPut1ZB?cP6s-19Z+NUxfkRJ=J`&>ilBL39XyX7D*XyrKUGu%F{8CG|I@r?H z+!|lFU6)K!tzOxgFNzqv@Bhs(^DYgXxW7&)g*KjsM6BH7-@`_9x{|US@XYx4zW1(Z znyfE|WZ#K|@M)5ghYx67+f*~uUm&az&YiTwgfe5;lwyoPSVx)awTLFwx{l5!V-Z($ zeXH;yR{3`yd}fD_#LpBXOJd7V2JgN~iR|SwY6x$H0Fv#efBU~Xgho8bp@K8f87?-~ z*|MNm>vvIhelL+O;9)dE`RDvE3Y<>Mf=IcaK{_{9LL|O4*1b$C=Q+DfWgsYzfT|*d zZcVrb&VQTzev7Kg^*mg!t}IT$kx*?uVrhJ9xoy(T@xkof{DTbG4EoJG(OVnBqaCap}X))Lf_PgF^7#BH~%k%LLoeSo>X;&=m< zplf#2eGnk+5xxfT-n#e)Kr9C|M#PziypMtcyeu0!na8>dgj0}Slu2Y1Brxw&i7scX z85xE-pPR-kF5De>lrLBKx#cYz=PW>ye80KtqmD?%)UvMT&;ir*3yoV!`T&go)Ln!0 zn*U%=NDSm>fTQ<(kIt|xUnbbTuKI($KH%o!<8UKxgh0soYocP8p_?Qnr%N1UKvu#j zd>81tuTUFQFYbEeV)JmLj$bti*hC{~S3F$;dBUhNDf|Oi&Z`{5TIcyRwiIF&7 z?;tDZKlyLJru^BSw@eKyu8r15-Q&!ELX_OWen~f@_}kt>{LHdkA_~+VU)dgq;=gBZ z#9psD5r4C}MNjh}ThWDlxY}!7Md9GL>N3k(6cf=&c70}O=mZU^+0FiLryN`Kw0bt2 zE#aroyo;jNV7|YM)&HU~)`QC1c*5FbqOL;$KEEFv6T=1$xyXfs6+DA0@*-41E8OxN zduuLz{mxeD0~-*5C7)hWfK_0EJ9JC|1SzGQeT=GRUs1+=2hauS$?aLt8nv1r=ROsY zi(kA0qH@M$TLbsOhx0RMX-UXmvHjrljdKmT}2>{pW+vpfiV|$NH za+T>$QYKsu(J&b~!U$f2ZoU`kW@Tv1WSeIJrWkfBBn_A~5Bf+z)F8=Tp!LUk9K1Qh zljMl2!1Zo~(J|>k^!Jsi>W*bDUwz&@ZwoORLZ70$F?$iR*auJ#fb6Ib)P=S>#aF#| z!#m$OhAc21iNcCcgv_c{Adg&iZw8X6;)Hh`p9juKUpFyGyYXvL^`v4ikMnDo<0 zM;C06?L5wR_NnaLE^|QBMi1_zG9I(ja_9kGH;_erZ&0|O2U?1rB6EYCB4Mc55*ZY6 z*ai2H@@n-j1RCEnK;KsA-Zf>Qm}uLG>J?|f$4#I9&IP5T)N0vpI0Fz53L7M1@-;dr~n_8Qh1)=~q0` zjgqbc?N}^rr^QPuXwu|(fa7N47%{5)n+jgYB>*utpv3`xGw6+fc0l+hGu^@s3`M2S$OQIT_Pa21Y2Zn6 z`|2ANv}z{A6g)|9P~|p(pdVi8*@G+(x7Re#0Zjz#BOQ2JVN>s5$xNPX>p(YG|9$vy zL&R&mhFa@Hnc}zSnS#w?X@gpvt^W{DQPT^M4P$qMGwv|a!z&a@)~f_8e8I}lY`=qi z%=UfN3l1-qD3fF&L!?%eTI|OT7HMI=>P6b&;$p4G+;B?>FT;a>T^$ z?6w#u^n1Rju$$3w2d#1k&m-=skG=3iMs9Y41kPy??4qhc)Koqr|9*dL`>laI{Y6B_Hu3$@9~B^`kcAju+_T0d_s zYTxqr|6-ErL@2I{TuGemyRS33yWAA8Nx)%Zg8!Y{vaXr`MkT0?I*+Ul?E|h6AcXrH z4iK3AX83!sd1~^9{ciYJQ(=Fh#{}j6C$bx!9EYy;mC7W@bYG7M(99GzLuHuz_>-RO zBgENs8*9y5>D2cI=ik<;2sa#1I4RS71_n}0)&`x z|CAm-^UyZM(BtMU`)mPu<&X}9pEpPF-C5FA)^~%C2w0nrkexgyh8M}Ax@z&gYxDcl@Dc(3ZcND*VXZx1W*1t{+PUlps( zy^G6x6AjPL>7#_XN`k=h^OFK{zXGb4rvp7^h~CGRJn zE3|W%f@|ud3u=)llxw-93hlZcLXTfhb#Pra*%k*n)5o0`+S-1&CqykV{SK@vD`@@6 zTK~V>9C0o#pj)EwbJ!PyB)a6KbCOR|I!{{0+%B!;dc@-JKmC!@1|09w!8$MmiX z;a&84;O>!|l!Atz8qX8ZRa1WVc3^;5&q{p%w&VB>K3R<3dq=wM9qqFq-cWf#7g#&5 z_=}Q@+eHGa10Ai{O4NUPpDe#P;qkuhcPWsdvn(?TxiM71b4q(q`tq)uRV+`!^`J{# zeXcs$RCdgT%M{*okaI7e3iAkxLyz@xY`RIeLF+e;>nz;&^E#alo&EZ#3R5Ebn{>*F zDL*OL5+<#Jq)!NJH2g49n`IlQeBW$$;*6WpV0Hcv{PxfNC4t3Z=AhX%Qo83nG_Iq? zs0MR75*9zQrKBAJ%Hq>q0LY4aJef4cmKP`N56pg*d4&Ym^S>By_IdhMy#x8MFG2tN zV?5mRdS$N$6IL9T+2=<>H}D>Qw@VWln;Xlu0T;!OIZb&1*PflAfm{68;hV_-y|o2@ zU;)vbQDcxhnHT@3v+#b=7w&o3HA=`j$i!Z@NNuF{=PgL#naMDcp-# z%itgG!j}s#_FgcS9=7S+m&}nz5jj-+G?nlMz#E}^kKFl2N;JSF)JiXEfRVu+(h>5U zAScz}UHnURWAn0V?{L1c(^>*w$=$l5bH5PwbFn#rw$!nL zJ`bMp2&uqATsNFI=w+pDW(I~nnNx#gvzw3NUV;ah8=`3IvoeE2I00NNlI$dA}80VJO!sYfBR8_Ed6QBKZ^m_4+V&&Ux6VCG(U2-M@IhWO+pXII}F!dDgo(x>p zYkc)WV>{)rTbeIcpyPS>`gF9-<+HXL7q;Rzp}y_D{QFa>WL zL>5m3fy$*9tz44;d>t@Amuf7QIrDmSg2aloAaiw~n}Ml;uu}8AZ-QS6GkPGbKKg@Y z)$5PnQ~@suL(!hNc*QssNFMmu+PiG+Q*<8ON{wzo^~ngtv&_UFv49j5U=NeeYEgg> z(EV&2n&h*8-TbTK(7+arJQ5MEtKh491WCS@nArn)$^8vjM9F>tYQwIkcRZJm+lf&< zEZrnN7==nMAy(zrMt*)pTELIG)D09qa4j;RlZheBZZyOxZjLGW`_`P$1St-`s@ISd zxbMqRC$#^)l}VxK_?klgJj?R;{vx&rhqpR9@mz>MYFr$1^#?N9Gmyukx?){-ofMD7 zkN`>Mm6?=T-JmWC0G_mSy`OsT!9_boJpw=0sC_sv^zU8 z;F{}xA6e%Xy{>B{X&d}HgKRE?oL6I*2}+xZ&XY1T-Ltols)H$ejZ3C1aC56~51IY< z{rFSI*nQi##9db&_G+Z%Lmx(vq}9*KF@(&|q)Vv6ILj@A)NxHY^ih)VKQU6EVLR|| z+4P9rp&Lv4B&HESEjJWf7@Ck0`BP8fgtMNC0+f3l{K0wHZV(06q5{fPRuh)rc$38; z5q@8$DGdWqa-aFy8tRZBXQ(u~`FCH5WQJ3&XSBg`Fk81ABA_vir(3A$GER^mS&wqx zuLc6CXbza&)1f3;Lx8`!hK*c(jr#yWpg5Z+%k{BTIuXk_Xmq2S5dPZs#Dcr*XCRqlqPCtdU>-7vBYGlZlf zI-}$IKsV)9S8$shI%Fn?32D+K`S0@r|K^K`+}x11CpA$oYUkDZi|pDKIOXfb zqr6-Q^(z`)A|WTaTke1X`&%nxzuE8>$+7~EDg=1uw;GBe_Hg2QCayp`haXv3t#J)H zkW!Y~HrPU;6bL~irqE-dmLMfCq|G#~XmpmGTUt%-Cp(k3btHN=_J-G?hUNobO*+gV zH|!<`m)DUU^UQP7{{YE;0~HE>dT%X?9VVmF*KAPHMy=IW>gGR|%X3E<)#dK&Aa3N_ z2=CTlG)R2j$S=W&K?Ec6hlG%_BoKhLae95k?cF@$s|#D3^6g&!5304?b9hy8XKIY5 z1cG>{8A$pSI1`aCr%ABA!`*4s4$A>1_MFNbW8_>YxZ+}8j>+o5%cWsc?>qfsLaY`7 zOVfrVQ7;4xAtwuChCh||e{tXKERid90P9#Ax!mH4IQ1DIU46|1GHHybMHAE%yKk_C zwiJj6yY%Q{o5L}h=F2;HKbr2t$+;O}{8ApRe0#yNDt7#gCrwzaC~NR!CsW}Qm7J6D z)EQAY9lVM}x;&7XXuWtZl?QTwPdgE1$BdpM2>Qmpq%@!b49F!Dh)cgM5Z;6PSWYjv19h8fDjfvQ0n`7 zp}B)yX2)3JPYG~N`>$yr95baTG_|F%jn3-iUzV>0B+%KVdurLMq5@USJ(h=^D?IS< zJ7K#Y`s3R~4Xm@D$c6boAMrZj3Yu?0*?x=WU|EuR$Uof(#1ov{eQ;QfV|x}0+$R=j z3#?@l^HyN$U}l@-KJMZ6kckgTaRp&lC5_$;ABbwLl{kSU>3l5lr{;U>5B#=|s-r+@ zLV9d@b$cJ%NdeL9e3KqNHjrmq`Jg47->G2y$BHpFydD#*Mv`q47~|k-I4z>{@>@~JeoZK;L9esu$v5TN&#^u z83DKoaeZWm-ezDq;2LTHrEhe%h1VGbzJ!kT+*>)Sdc0mP)4pEfw;{x=f%v1lC?(xF z0W?haWr~HtA9ckmmT!}pK}hCmw1i<5@t<{Z-gGpq_gcBLf;m44-+Q6dXNi8(YFG7B zTOwi~38$upNF9O(?9zF@__?04@N9ey-8BP zwot-_(;N)OhC1R@_Q$J_w#cTf%jmPmZ9fbKrN*xhH+hf%anPJhPua35RKV`D_8r0h(*k_fAKO2R^qL9n z;;}q87fJ}r*D!f1lz98F<{58+a-qq!9)s(s)$aEdqBe1Qi{afv&mz(FQgw3K_#<#hJTe{qzU!#DLbIJgPLAF@kc; z71aGm2!c|vHAwQvt;6j}$s$TP(a4VMoF#WIcbJgUwKyse<)bS$An92po5ZMh?L1dj z4>6TS1#siC3}vi_U}pg)*gY`!-vIgOKpx}MbiCoQ<0zu5Bl?sR{*@D+nzis9Las$#rUiH5t-x-uPXKV*(a{s5(s9BV)MwT}UL z-DhctAyKMNF6K|;TDwG?6o!Px3cF;9EbTfOGCzCRYQmtrc=_&%m;y(i1K_EQ_T%aw%gT zf~b4bU}+0Xon9Od%nnT1-R7PekE?OPhs*Zm@e1$;?P=A{4m5K zExsm_bkZFMzCA!^X!>J5EcET>q(Z66>$}F(L;Z>%cZF5nVP zovF~Kq$LEG`5hA{WyOy-hDgt@?k-viRVaX=$BJgviSvpH81nrSTNV=%`s$rw{O8@A zI4U`vdCNIGrUc11fNt#M`GR`22U04>sb>A3VpF<8}CmhcQlPvY5Z!5bKxOGw`19}Mh>N4T?YFlKsVqtEWYwG9dZQHZ ziA@19oAi7p(t^wmXWGVUCw)%Y)Zr z6HCqz=SXR%f#+oh2S{01tDtH8b?*vUAH{-UDCo;tzUrUp0bM&(xt_83nZl}sm<^Sg z?~u5N@gJ?0(!QSG9@H15q~aF+=Ajm!^#p$mibZ&#n)^_q)Tl~xb$R|}#;Ya?d~fVe^E}Wu2Dz{+G4oMcw4kpMExi*@R(Szo4`@ zZVAW)pCr{F`oe4_lKA#QF`<@MNOZK*F|eVqthVdNh@+i-FL~4LG<%!s^|E8(1BcRA z%z{e?HE6$mIM2hovYHZ1T3vsoYrF5F8uFDg_o0q;J|43Onw=s>{ z?i|gvP+ISbz&54;3`6<6`DNX5D90;|axgg0dTdD`&73y3YkH)u?ndQ`)G_f%4d$*N zBV0mtXZ2UQ?oj^y;}kO_t3!1D4{dUd{3pM@uJZ7X^b~3TUsGkeb{Op^;(CXVP`ic1 ziMh9JuygajPj@B>ur--@KRfT*FR{WXf3qBzO#e$hsC^amXaxoZDiflbY@-b&^2ixgW5OW-&y_8#s38IFr8A&t#0CUkh||_0ePlKe}%>B6g?3I zU_0gij8Y${=aOKsiV>Eqv+FO2_E$Gy(N%4$k^vo;;n2=+omO%=>Dn+iD8BqtI#joK`PuB6^MNY89VHFI4xgxWU{xOoT5DC~0%^5B|00oT z=Q;;!L*;o}G~6*6L=+q$g+rg5@q>;k!t`>G$?(74kJ!9X*~|FhtOCTLiZuWHyRw>C z*y1RE=0tS0TG``NHR$)TwdRekg(gH;sW!#2H8;V(cJEvAp6}yu6cN^VSwxW;wE$<& zpxl46n~KbAf^Xw~73JRZX$#-wVBTNrmeL17*GY#yI34;uemG|bBAj$wVsYHC zZZB3j@gZ{8(5b6}+hDv4NqAJ>Gy2qM7wd+Hkscl!PfV2|e8=XDs*VKkqPQ~uk>l;b zC;OqO2KJ-|Xrlz7moLcs5W(wCSA)~1Mb&?MCQlKKMDiseLd63#i~hCo`@@h|jex7e z`{ziO@NQ<@{ciS7!<5y0t2ffg zo4Twjj&{2)nURRRML~091O_$?tV*yVepziHSIx+2kVyS0|@SdGn zgm@ep*Q@K&KYRMPQa9Xn8t~`%>SN>diho%7#UFL?$D)W2bNS24JngxvP>m2I0InrI z0^u9X%(PU#Tn0(c7;A?uxLj2kyx*AkBhl8|C-x{%Jc^)a3{TxztI9%xc+E$^mtPT~ z!062^q!ja|?1I=7*o{_d|L@YQQmJ{gQLIBHgqU4{ytv+cxH|D5x6^$g?Ly|L5d<1U z27dQ^to39R0bb!kQ6%iY`lblYkX=`Bg`{MHv0!RS*|m`RrdBygV{qlKIk@3Qe{}!5 zyhO7Bme7aRP&9w!D6!CZ;Uc3MxzJDhgX2Wq)Z?+f@(xDbCES&s8@D3qXJ7!4SP;>N zfT?D+IfEn> zLPk%H*fV>eBEn7I~#*LG-Spn&`p0OyABt;}V(~zF|oj2qR9p)g)|K zG*j`cKP`=L>o!ur`XasD_Ab0E4FfyPUm!%f^DLqN5quc!5Nb%*90&dw<2J}vmpb99 zWi4a$>gcd%OQgsHhF&SKF>1_))dkO2-xhcj{&@Ee)Dz zx#csBvn{-+ex_9ZUzhtU8*VeI>?UzxtH-x~c8QB**;Z|O+I{PWe;?m88GPxWF0rgY zJA}mpxC&C>VI+u*^BrwHF_F8lsN=Fbno@$Y0c zmF6JpVY0QMSL$oND#Z77j>`KJ0WVPSFMw$IifGg_zVcjH9b04NK}Z;2o0_`>K?c9V z3tv_1JP*T+%kOq-gJ1U@_c6LybTXZ%ct`Mm$>qAfyYz^-h@S-&Elel;LBO-mcP=8~ zx3(U=_#0Ai?^6v3ERAE6|09m(DGi2~apEyuGy&q0zKkgmy$KZDt&V zaDIEZe`7`gP6FJ0*cc3|)A+(&dr|um8I|oeg}wuIbMWMn1K~`#Zgp!!H~2DDh@G@$ zHfbDUGTWae*2FgO!+SCoYu!=pH#izi`(@MeqMT}7YovFDV4DH5^>%81cL;2G1xd9= zYHC1;jU^|Mer$5W$zvCzF=9ngP?(SG#=htT7BI{|>{S@LxDsHS$>A_$jRZLd06RI` zZpQ7mDX;>~lpw1>2YNl~x_=KmNsKekttmz+nJX^zl`~Ck8}g@2p>M6GOSeVCX<%U; zd4gLfBV2#P^Qo9+fQ-;gwIvfBkZGgUOkfZBY)WoJ;%{Zs45NsAWdaZ79kJ0%# zLx6XFh4akve)B{T`<^wW<$SV?ddP7@cY)z_tlg-B0%t5#bmn$4@eXn zWdC(t>!qJ9zGb-CvHhXr!wg~uaoVa5V~@Ghaqd|W?8%YmV=SNntwjGUBEG}VVVr%# zk)o1_U1u?LB(_g*eDvqad2F`!-QIzUt@Nsm#H92gz7Z6W2F)Pe#@GgwOWOzcdi3H; zOuls%+v|9u1<%-Z9c(@cK%W3d+RtThL78@S#r`X)UR+OMc#VgRGdXY9Be%ut)^jZ~ zj@!(607wRoEevGt_8S`cVK!tS%kl{kc}s-H*n16GxS?oijvL?XIcgwXz|D z*5~=-$>PyvdWG4)ZU@wBOF{^JK~R9|#blYy$(6NcOC4oAJGF>(Am26 zifYyF1CL;jpg-gT*XKSA)SomM%l%?22Yd3GYwgUi&C!jQ1jpkZU&%`lfLn7-(@Yk2 zM#1wRZ%D1hGV10SNUzKOeuP+fE|u1Vt&F7Ivv>xI*&Yfk-bc!{zK0b2hBPO1-xP69 zL~rR*v;8IhDCW$OzTsw1s*Q3==rAN6^>6`{zEAEH77GDX)wv zu~8^uo(9uAQqpYUe_>Ezo7jJ?CPb5H40bb{tp%g5cuKD0KJq@!?s;{X`DgCd!878co1Ct0} z>O-9?KCVv2)u8E?XjlY641TkY9;R$B8^MMOuWRE1TxXS?O{T{g^#jI54LT5s>kX|< zOjr)iPVHB%@|eRn%cnmTWXBSNAuwRMW{&3}*UM*@j06YiW>x~$HS>RFVa8zo#xY`< z-F1mAI|NK$zk6q-1Bw=O3>Z@YA?+jFtRA74mpyzZH`S;I2;Lc+T*!n4ScQEwk$uQvf}h-U_)i*?7&TdNV1?9pC0kp^9w7c<;=CVH?0muUIG zIjAlr64ZPm++Yd>BiMQXY&Fkkh5(zchGXPHg64sEmYT1gTy7?u^`2e}?NM8)40$nz z+IJX3h2sCtTIeP0KBE|ySvg}Nq5}Fv1b(Zth0vQQ%X*BD&+m3x{m>!4t#Y7wcu*vTQRDP(n2ErHb zJaMlqp`!nN@@i&n(tUHXcso%&bW-4a6#KVfr48ZU3D2P=4?ec6RREL-rs0^X{dT>~ zmj0b_3(R;;d6`^pQ39Z*TelBDq-b|2y!q5)K5Z|ck17SVqUYg7pn8L27VuPe4Uepk z^}5bvZ{qaS@$Aa4@Yfz~=N_$leveo!GSAb{23sRoH@NZ9ylEbN9e7%@0ZU0?U8L|g z^XBw@)xFhw1WT5>9y+=Rb~31w!m`mfHNTeM2Sy^aUgBH~dH-fSAVw8s%0oq=eLeiX z0)X(E?1oPuntna_`L_DMky|kr)u|EmExpwb&cF80)D4_Qkq}S=zZhv+(QUhN4nJ%5 z!1$u_vJAf*-j5Ybfpu+fx=*ACXAy*H6SP1*mY}U3w4o@|+}4mh@2;8aMp}85l3bxw z0!G}E0@R10(l0?DS)u$D5uhJTYQzue~UQ! zZJ_a4MO?5ndw7G{vbV(uXpI^XSQozaDPvTU%MFARhxQBVpWEE`C(L32Q_!O1LiAHN z91!hnlf&y0Vya*N#Pe>ng{==XB5-)Vbkx2M;O#1$6K<#URG56}4TeV+-TE-ze9zg+ z!?PvO4n&MlAuAPD4M6!krRy6^0ihTwZ06_7Kb$bQ*6{mYntEvzK{H8b7{fEnV`=uL z?PWMNwkJ32MNjNf$GFY&7+v=y{4eLel^%ef-%41o`Ii_#|HQ2=ieE0pg8nVN||%e0T)tpBY5XPNg^e2nMA@ z{zaWO1!mg$4F>*Q)6O8lLe2z~eFaeanhUWmmViEqsC&of&~f92%>tf)g*|^>oJ4xB z$7eohaVCvDZ0i1n9}g~rt>qzLk@+A7*!#D1_;o$!Nf2zh;~hMnW`lxpRBt{Q!=vx9ao~ z^MG0B6|5tcU0p_;na<- zf70KBn`u}{JtZpzuOr*n?c}UNV+<0fo+PM0<v!OyQre}^B=8WzOZ`q!! zava3ZPHYx9WxK5q>v`Ciuu8nfgdMOk$vXX-DJJ_bw(1Hu|c z3kIb>ahNh_vl&aklKq{#D>fBV-}pj}!QU$67E~A!t&$GIuu)Xf45Lp;7bhDP8R@#V zF$pJ+4l7Jh-+nMViV!TToYYSDK%Fh5T0@KQi`YnVxlsQO$Isp9SpfLeLseqQpyL zQ_)9e^won>Q)pVH*<{2xc&lqPls)&0PPK(r_h5C+CX}MQ_i67xE2ciX_X4i2dmZbi z5CA3?2QFg}>f)E^-?TQQv_M^h@&ojqp_k1gP2AcKXW>iZrGZq<=&8B?u3VPgZ`cV$ zp4jGs6r3T6;N~0yp!*}jtVys$;L>BVR4ZaJ`$^YF4LlIUTm1v-)z5Y4wh{haLqU~O zKsD!}gGHu64N!`*(z&k%axK-PGa^f@EMKc7*d<#TP=F^;g^6D(Q~<8!N(vlAV|iJ( znWRSP;UMYjt{bI1LDS%OCfJ;kyivNpzP{~(M1|!GH<6O4iK+wm7h39ABeaGc`33u( z4ZY>j0yEsGyN;JqhrXg-9Y!U*SueAzS7z^`(`0-`Z2s1Q9w0P=s0jz>NZ|6AP+<4*k+axX&n%GypReeQ|b^hbya=KVX3(omkI z34(s1i&-S-;H;ZTq6JlgX369J1&wET2uC{ORUH9vMm@k4`$^`$m(G1BLTePr4jwEJErx@3nL)M`UZezMm}tL!LP-T_e0Y{vuaMPM{JAkBJq zPm>j0{LLe!6UK=vyRmWUooY}dWUf41s{4&bIF=z8x*{xth`Ac#H&jJF%~befK(j`E z5D8Z?wt>~zf$ds{$Nadiv_;PHIwv5Bq_Rd@=C{j!GMB4sthLqeZa16&&IMRC0@Z(x zq{;CK7K*~YLtv3;9>W?7HjN=us=SzY1!!{FYHb~REQ;PkdwtGp^_t-o4b7`Q48aZo z)**JEyW05=o+N?Scnpr(>YKtpIP9=&s!H%mEJ(nYTP=rIK@21NEEm)j$USt=dMt2c zK&g#`9YltCk(cBb*@ZGrjZaYP;7q6P>bBdk`RJSPvLo8qgPL&@%ZL2^5QL7$ZyjU5 zwS*|KVgfLL$vULT3R}o6;ebJsEckbCBWT@;Qh}=3vcCLgDNF9wp$4tK@DT)@RbuOv zve&${SDLEyzg5^+lW!kGOG3h{Jwjitn7VMaFFIn1@s4s%Ql8lc?G9;_c6&BUC+dsh zAbB06wNjTqWB+?h(r*qGHfu#onK{(%gm|u!!ol*gi^*Fk@}gU$u7{U)&GO6uXX+7d zpWWidGZda%k|V1`yH|VpRk``?ZA;n_SEcQ*H5CcfEQOV13(Eb^X5JB`R&)e?7a%t5 z1Ja&DS=a|>NKpM+;PfQ!aBo~Gyv0!s;l6RR^D z{BRB$u={9?Vqb}46xe~WA-3{dF2$3DgeDBRo8R2fwVGW0ZPW+k(DRJ@#F_uo0uTtq ze@Wj&`*ojA_8jW0`%-?=_{_J}g5>zy5SVl(v#KdF{!bsTf?CQ^ zwu|pN=ll-j!;RG3`G}R-wI2d1?pBB~_6BlmVh+UXfq+k!UoVU?oZtcSh2rNJ*ME16 ztYZ&3Z&HnBB!^p6W`UA{3{GEyEl?0?j39pNEx4b9oQ8DH1jE2<423qo{bPyLmZ|Gy zdhq#=%e$s8DnZ?`fk)?7$ZK`j#h~sh9lcQiy+6%yGuaXA(z<(GAgL!T3bAgJS}vYP zgBw5^71HsQRwgh4WeZ-HqYA%zEU&i*2H{Wfq{3jJ6n?uB3rH2{Bwmm-&~ids=R|r6 zYHdP*m%uK)>xegtw)(F+KNdx~8W@9TUC9k1rKsye=twtTG)(!$F+^AC6i-ttr zYKUJ()c;;Z2vP2B!CB+L1Pa!u5s6d1kym#@|1qQor;LxsNG5Z~#+1hObW)Ks7=k8t zBRvbMhu|%Xv<)|r3(awGbMHhhFDh_Q%A#6{dp~L_vt;VfZV~Dnrt^+!HRu^uW)xYH zjtB(f>pJs~I*rV}%xcK841=ofJCYwmd|c^G$7$07n@%4cANEDR%Zn*QOtqH+QR- zg;)Nr$f^RrME(Nt?bB)~?rYd-8Lw`v_%U8Y*T-r{yv~XTA?*zU*b7Futn^6afr;~n zK6;~Xnp(JW)~i`>+*jPSAy;aMS$hzbAZdK<tbvca=kM!`A7(#MVFajQnt`pLCWB;1%(iYD zkaC`s3nB*Iy@}SK=8gezB~(Hk{~x`hTdJTxH3Sq$NW7By?};Nx&nDOEx`{gduj!OX ztVXVpTMx9eNNY-4WQsL)MB)wZ!T3J=AA#{m-zJiV8f_nrhqK7t7AgQA)lgSksFvpn z8|Y?vZeq@M|&Z~Cu-yfcS+DyQF6HaaJ z(dNO&gL#getbd*YAnbf&i~FdXsCDt4bnt})cstm+GLr%t7#X00*=sR?Epb4@wtlK{CcjQ=E6a509&KoFL z>nA4O$LseCnLPn70Ay$W>UTceS>TzL;1Z+vli4MtYsw>_1EwzS1#)ZvB?G-lBrrOT|$lq##kzHhz!{-)?)+!{iYL!N%_;v@_u7U_`lhqtbO6v;!^@4#4%XM zV?oD@4)x z1Tdkzr8#_r^%1NN`*%p>bCxex!>A1Cca}LXhY>AOCam-7^k#nNZa~U^j_Wq3>m$qg z&z|h58QNU)1zQBIp&WiCm*vw#ys z#7JEeF?oc-d^_5zZEu$JGn9v!{>R&WH(c;yS1*M~oiy=q5MDD9lQr$c*4R0jw2yxa zQ1y^e3c>D((#Y)JnIZ(tjWZ3CDkpRGT93~P5hd=y=z+KqRb^aheHs!zXk}t&7lVMI*kPNSlA8?$q0nfT&gHandsv z&^>plq%yz_^H9VeEZfnB0LX=vbe1G{dn7?@h_e=XGL1U|g6+NnY`9EhPsy5JPpAGP z`n2s5M_-mwXl{fLg0$m3%ICphgm_94Y9k7`6^!aq0l#9=J8{}Ftn9_({q2T%af3_mVu{bRL|YnWhW zQ6ZD+4R__}w*yAU_to=ZbZlQP0sT21to`5&$yN}|hg6uLEi>mczMD~8OPk|HCy>f)!3@`xy7bMa2 zu?}@V@lVD3MDlwU38xDP{@6{ zDIaQ6gT3ThfLvb~_t`oN$j!dB2>#Dfhm*Yhr_W8XCIav;0j^`hq*_61FL70ID8|tH&2P9Td4!dfDjiUHLW=@Wp$uvcvh5CoZ>$M$R-+U!}C;^|Vlj1eXl}#fxMLLFSHM4gTBH zf3R_G1gdi~vyLB$panSUyhxx%^-t@8>eLStr;Am3%YZE9f-+gpq@83*Jg2SWGU|BCqj0 zwJ2cy5a`vEJ9C&wtq;Yj^<*#xFR=U{$Uc)wlc5-45IwrB2ra*GVfzZc3a3%t=>=Fv zF2@y$0r*O&qBcDY61>q_A5~*BGPFgwueD2|Fnuv582qbs-#i{AntY#mbq{1Fl!t*z zVqB(H|DU)vu!HG00jj)Fjb0xM9a0A@8?tBH{o_agG?#S zlexo2j|D>_EMfK(P|YYxU3x@BleW>V)Kf1pcIuJ_bMxa2?j^eD__9}a{2Apryac8L zc-j_s6_LoG0W=tc>|Z68aA4mZhF7{3J5N!vz6igd_YjbO#D1Hzay3W_&v%A z)+cXaQttHmbTdN+m8-)+`DfF)jGdIu?;Qsg0PZebCvA(9Q?2wMsLs)@guPS6WK3+w z;azGcvvPsv5`AcQubj4NwT(ftZ*be6I1;%(8uJXWJ_{j>o2+`*pknH$J5mP5`D>U z^pk$-$Fh?^Rdf8(pIv(uyB<&TY@o4WYcLeo(3F+pb;5o;`_({*_*lX=1%HueW68Dqld}<#C)Jtv_dh1xlZ5-r>h|2W~C> z=cT(1(0TLe%|$qwdLwAF<2FLF5ueZ3IZPK6Ioy!|M=UcMOqNlpO=$8+&M#&651!Fz zE6qA;L~2~s$z-7Yn-NZQpmi`<9!{lE>SX2jGCxV{ge>Cswcr~pk*fEjnB7S|Z#kae z=UP7TWW{lM-N2xJ&CQId* zreF|gUVg#04#P&J&-$fJhO?*g-y-y#TH2+7=*~8KtiBIT#8QTVG$&xPS#vGIH<_4z!>1TOKMr$R|d!ro1PIr3p9O2 zzo#%`v&2PF8ls8PNn-4;9X)=oyYhIf`A=o%VvuuwA05D_eKUBOrP| zBgW)3!)0!M0n608!aQdX)vC;g9&Bp(SvrL5DfS}~I_@(@J!~L<&o=}O2pYl5Kh>7U z29emiztLQnZ~D_v5Uwn?!T|i`+$Mcus8g>=u$ktJ$xVae8aHr|AY1$2bBMVH#v-uw zg~m-sirG&&Q50&i!|Pn!(xQZ|Hcu#tQnaG<$8DSsvLaL1LVB?I3~1u8cew&u#0CbP zSKBEje*I)^c&xnz81``ZBAnIOp@ckJdc?F?Kkh0+K=?VvA$Ty%Jw{yCMtMb{*FQSR zI^0?jHo_4W!W;N~V_2=otI|Nldtn%X4pf9~$>~!Bd1Iq6Yr($+hBl4+bl|t#E*J5W;DlB(nmg&m#sSFg|V-Pr#N%SL9_GX;idfvl#{V!R%h4sPF4g!KDd4 z6+35xf6~}AqXx(e?kl82Q=)A!uOn_G!!P$#Hkw~QK_Bz}aOD-Piy&YgA?u1tx#(iF zmg7GPTl)D2IqN@sHp6!d%Ex=#~o@KyWEb8SAP5#WA^-m_L0u3 z!#xl|U7CwkjX$7(FK{KaDv3Tq&o-eeZY-Uo`2pC;~WJ_o=r5t5QKni741 z_ck=`t9OxJ{*e9md35r4nry{^p7D*>0{6e}VCIuTqOD*6<2^fEL@hL9Q^%O4>Z48L_EL{+35BB|ITfDN^uUk`ve2^$vUljr{7M;a$U*j8b^Fsp< z`o<*SU%a2g=Ii_4Cc!Z)!Dre4lb0Zz{UtL6PeO{{L>P`7{4Iy^>~~1YCr$ z%(6*;W}|d8(OGcUX;l{V!AF2IPTQg^L9;^~d~)VW_*=lp;k8GfrrYu1nUuYz+D|Qw zh4ND_2n4Q~jsLR83A|P+!&h(upN5j)KOX+eTq_UZnSF#Zv;zv7PETq|6~7^clVTj2 zz`nH{OB8p_ifR=z59C44X|AhKkrEIAHPE|8#!Xu(REPKS9RxwA`J_@4!%lQMsRHyKYa>aYf%eb#I2gQ0 zZ&>B#k}e>_$MHIeU5>}sxwisUTl(B= z1uC#3PVhVKbR#e-Mg@wEtp)^32q3#O!7Wyru#foo5KBQuB^ED}RQEro8$9;&b;b`A z&9~qtyHNqXXDCH++k)Jy(eSd`m6moLRs$ck^eVxFS|3Ns&8wLBc=6mYbc6?H7G-qrHbJ4=sEs-_X3*O>)(&2 z;vf0g0ZrN+7;Qn(1hl|ERV?=U#~n-5oP=Dq<-FG{d9?fpP)@$&PCaYA!8f3L{+8yp zr3yWX#-1U-{NY<2OPWB+-)<@^1)iQrx3f%KNki?jtq{F_@*ZnVYf6$hOZsaHG z*dYa^M$Y7n7aP%Bb{lb%m_)`f$EfpIQ7O}W$oKt+8(8s9Eh|Zz&ZbYpR1$T7=muxs zUwN;UfTP~ER0;{NBF4IX5vp~(E-JUZ;j7g=T?xGl`$P&Q0EWZ1kU`InQVn%66ja=) z942NjVx+6-v;m#}fokoloZYrWw5>|bmM@M3r+DTa!Y0$a%tqIy$+KKb`|v=;$-gKh zAiqed{nJeHFIginP_5_l+<4->L%r;M?D9PioaUUaWMi}33)-d%(J?iIp{a#t!Jo>~ z0^6lupahGt$@(i#4YaXhjna)T2>O}?i}&+Taohh2jJ?@M!WKpj0LAF-&_>5F)c)Fv z2Yo5?yG64hyXoK*fuSAo9dG_)560Mnv|jA`Y1z^$=k$a2PfC(Fi_t*%<|-(ux?eD2 zOm3`)+qN(G?TARzPO%&oKy`C)4p|R2Vmp#u+#%j@4+nCmM8{#@%ctGL48~e8vuqjr zazfTZ@fw6gVlNqenG?=^@I>(qWhgc_f$xk1TZiNsBxr{47tqihZjo7@wzs!`RhYn% z=-MiS@8L24Bj-&DahtWgKW8IbtUp)T<6=@Jbzg_GPkvS0%d8;Z4 zrwcH{yjzo4XgiJQGPO@DmN3GK7T&6AU??ZioX}s*gKi^cB`W& zOB`g9vxh!?g5_kkSWIH z)f;i*vUdF07?D^J=rsUdo7YTwB=q?siofv>vh}Z_@5oNuv)n{i$7Yt`7{^Hz^AXJ@D{Pbc$u{J{dEpt$xmvxKckM{xA^3#=X?CK&}@52%0-6lTbmjgWjA~*+u$HfpV z&?0`tG6PLQ#Fu@>NB2^#^XA)XSSX}nI$>dW>7}j?9G1eN*9=p1;dR&5Ej>6NLM@q9 zDg3_C4N%c1)l~rC13%gs-??pyeL9sOPKqvwY91CMrn)j5B~EcLe^Xc-zyNrDJ1($` zopd`0L2@^%P=E7Y+V1yH z%$W1H(08~$qDtrN<~_4z7!1J0!BGQW4>G4wp=dXqMJx)Cj@n0~o2wHS%b#wdM}67! z-wB~|@d#fErLyhP=@^hOVzzsu>bUhgC-V64;MLs;2ctdzWs5K#TLt2eziy@ByZ0wQ zyLBDKw3MYa(%Z3HBz{Qwv|)Af5+~^t@%_QXRXH;mwuf60o-##YwWQhnQO-N1|z*9oEvAFB*TfrxPe`TgcdIhbI3MFD3gTht2m5f&6wq z{bX$mRO0X~-+^)M51SQ2^2c-l;w$*p{PLvuZ^F(;i^pywma_Uiors)FzpZ9|H5MEw zd$_~)XTgqM-0zxn(?AvqmPYVFsz%Y&c76O+`{Dv+HYt(KZ$e?HJO3+0FX#*=aAcf- zIjTM^FbTT5bZfnVqSIkQ54uBzR?Ox0gZ2w9Uxs#F_X&p)WzhZQr6b;>3@#kGi{xgk znV9j%oSpziq6KR{5-3$QKmsxun9r4?yl>5T&Qbn;VpMQR4d_PvAtN zgB(2{g1x00?rNpidpf!gOQMvnJIUzKIbCW0kGhu<_r#)A~- z`c9CR1d?lEqg8O-ie%+TGwZ6JtLo$14=aWMesqlLKYZyJ+{(zl=ako%+ntCecPDi- zFh;4G(a6B$A&VJ0vW73$I*{>=)6*9*lod$>xkz#u7@^a$qamv45-zVl4r$ct!bGwb^plUiDc;HH3;!!#kG-XWw z@T~w%y_MW67ZaHQ!P0OVziBp$?|s|t7gl||{c*@5z26f0#PO`rf!r9p5ScbQFNd?J zC0S%4z8BVx;=r?V;|DG>49*Lp#m)gTZ`Hx~JDfo7r39K#_|s1(zxvW{p1}l-u|~RB z2soc|^>Xk%uJ#VxU|%8-Fr8S>598j?(n0uywA=uGywWR}*{@9&hGEG8yj#Vp(e9p3 z%*iz;qW&v>N@-(`Uw>jr`SdkKPpnbl7atlyGJSLl5X|EU zABk1;91pct3=x_>1fEfQ9NQifbU~TnO4d`#VKgFZ)yjrwfN%mH{R%2g{DY8;8ZnJ< zafJ`*bR`Izg&$#Aop1WO1(Q>^llSRNV$Pl;PvJO)W9!=nh2)0m6!WYJ(CWg~t!t@V z^fY?&L*`ubgk}n12{5?xQg(`~p+sR>gDhN%Ryk`T} zkM=C8*WMa5iV}lha%yTwj3mad8~2<)0QQQXn%sKG7s6;U(J=3G6;p#U^(mT`I7uY~ z0jMm`faB`cZUAs*VY4rHHSowt*jcO=-Dh8odD2YjnL^rfp%XYTgTbx07}B?D`qgDN zQCaU0%Gu^BkMRDtYj^@NTgiYZ-5xEw+6eR0K>syo{0mfCoWbm)mEf{}rR>p!ATZ4^g0btLv3h4nEi%XLh7ZGJU8wSXv z{EMD;U-25p1tnBc5@GsMDuuuRm+$z}@)kR0=%&6bD+Ii1Lv%NK%jX<`-b9=y*3iC5;c~!k9(3dAE+q;F2}Y9?!Nn`ECwZ&wru;EZ?tU( zP*0%=1F_j(jhgRx8a-?Ie#%tUQB$5Uo@J1Y2Qj;Z+0o z#+@PZ2zVxh%zuJ|A{=3EsI{fqqDt_EKb zgF+Sc(ZJzCd*(>`GJxnSn_SI376WYEb=piK{1XGl%e4>=tP-`2Ve8klvAK>THl&e$ zmZ>#4u&(oN%N>oCEXPl<6)EP+^pxK*!n1F6?{<4V~sLKpX;CWS>uPi-G zvNaue>Ul4d=Xk9hAR;OQEoSRw9OzJ|4%qh*9Tf(`oH%ezL~P&aVBUubuUy@NJUA6s z(GhU&dfvvM-gQAuAaWNO`Lrs71S1-dN`_NkEJ+3>0ceYCpeXJFCzoHGP=PIWKVQoZ zstBH`9m}4DnQ97${hSdY*00(XsP`t>Xu00^LfE@!F>zs$cD0_euAIb z7U5d<9j24Hc}vY-$q6<*{q6_!Jq{Zo7l2LC-@=HZvkWyh#c>xp2jUhXk~V=`PHUZoL?s(AK^osr*5KACI-Qqghw?WqPi9iMrACl1I>gX>brB zf#60Ub~RzGqI4M=7V4;|v}Z8DG*rxdxU?>9@9kX7+H~essp3A5_TL<0m%}Q4bJLg!*`|S7?dW*E3D*{7+5K!7t0p@Vy zqxujIh>l_gR_%t3-vRQ!DkgY2AZ@ef`MqUXaV)}=LpBN;cBzAslY7YC<~#@&@+^?C55eD8sNPD_a->n>9qn_(k}Yi zg@*O3c?;-&dVh>ivT1htq)+bc7#P%Yzb0L93sbvlV;F#*{9k}|)*#I+y5&4+i^8Q| z1J?b4r=8Xm6>z}s!VLRjAx4)+-2&aWJe5~x4^M;^m5*F~%^?R;VPFnnmS`hlOi?*q zqyKRjuAO#X?Q=YzxfNjCb0E|gYAyS>xf3?yOK^E+IMri_;cHy?(dUDLyTh`5{-jciTCbmDj`ytQbF>MCLVU&09MtY5YZ ztzC2fRn)(nq?l-CtFb0)p_68?ElCO}cHG+mr(sDnmk=eJd#qmMyn}+rbmPHs7q5wv zcTejx@^hA8H|5fhCp6XpNrt2s4QirT4-g{QXrYdxG#>8CDm5gMb+9_J+5eqs$>oV28Gmf201m7p#CE@0-i;$4e}Dzj1#Cn|ZO_(60H$>K-NhIgWESoMsO*!zW*!5& z>wV5!b(ofupgn6>gQ=r_Gh;cGmgok{aA};(SDOXAr~dD5 z9?>}bs5kD14a*?Ti(h#_4N(%V!1M+mi|?onujd41iM4fBY4;E4k%zd1+U^<#B8T6r z`pm9B?3qO|jMSSr%m!-6p)_2*jZ3=*%Da3M1bi=bz$J2YDyE@86V=wVF3RGEgJT5ZhO4EP%P*DXBXeOx;Pfb0>$+jY`=uosK01Z zFYX^8a>s29>!w|^%@@g~(nqhY8^%H{DLQJx5t1UCwb+cQj^RhYS4&oPODEG-Ohl@e zec5x>9kB`6W=NG~Sz5Zyo?gE~F^R-N992bRfD!8pYa*7d1T~rJ*ihZK~pf%m2lqo*=U5Zn>7@?3XSKBS_pV5lN z=oU^+928n6yAga`)jdz>)6+_JiGkrz7>8mX%xnyZx)>TnrOiAUPTVPld8lkUVqaH2`~!t~ee@tWG!?=}(!|Ri9G!yK!$%Zfhv5OXdkiCv?)=CS50KqH*&pi3KjFp6IrEbET@_CYl z9g6L&{<{OGe8wN^R=uvulU-r5-le68?W}EUkn`vrWCUX0c zSiBzJpv*}9Bf~~$)sDt+uP7|l*T#@$FJ=E;&_KlMm*gJ~YRyLDk$4NO+D}&dGsbpq z{LlQ?CNRa~zaZlCnrAaQ1I_JCQzhacWb(L&3lkb`9|u7R#ObN^5VG9C{VvfCxhhIN zO-g5aaXgus|3}kVzeVwXZG3itMY@!b4nabir5g#!k4SfScQ1l~l7iAHNOw0&NOyO4 zcgM5eAD(|;uWNQ@-gC}>NMkih2d@LXQZJiza83Ih66c@PJl$Jrvn!Dp6> zAi1*A*4!r{HYC&$jiTnFTSS7B*dDT&Ap?aL`;bKnLbQ3vT+R!+7}zGk6m7Aj6uG9- zySvR8zrw&74PMepCL_g#Ah7UfV*fIf-}wBOLS2LsZ};VabBVVVX=aADe5Fwq6Z}|&;lZKQ zibN=f)O|u$`hn~ux23lmc)d~c!;t`pp&Z|+%vsaf;>q$!S;U4gR<8|Vz8m9xdzdW7 zDyRy1&~_!Lz$e8KRU)GBkGMA4Rjvc9V1X<*v|eEY!0X5jn6U^jx|mRs9gE_l$6PL@ z2L&v}vN@d{LGVh$|3btOQM~uYB=JVPb8<@-Z;ckbnp8d{Agkw930We|+|hIfVUI|yb3(>_w3yPAZY5I{2R6~f&xF1wLw6LGfr z3|sr~hh2_dJ#0U~|5zjJOWFTm}J$w>^Q1!cHA!dsPZCfP&a%f z&YpW<5U)vS;VA(GCjsCb#!pw?m;knvK?H7qZT(c1%<_xA_gQvE&Ylsf!ZC&GBPek( zqLwC}5x>|~z@(St%s}|-IT$wWhmZnJwwjKkIvg1m=b7fe$mjJQGk$Wi!I+7V#{o27 z?e+3YaR9Ubg1^!V*BHH|zFY;2AGO^&OtxO&D>jy=B){UA1SDhJ-c~+4OCKW#2R(0W z%HW?0#14@}!(Ah~{LRK|Y+895e>NC-R%~m+tTT%J zM1@HW)%AlX;&Bi8mhBqef^Rj$Ac*U`dR963D}sVcyzOc`aAhT^T|nX_s$!I;kS8r@ zU~Sbg7=>8NAMeEBtl=eScO6@i&DM!e3~hSBunSDI^V#+kJVKQL#gFwg7&LZn7hQ>> zwhm4`mGhW<&lN&AfLy}1_qO(XgSSRJ$%5Gro;=gGQs&*|b&lXBcKwQ>2`f{QR~ix8 z&@V)@R&^lw(5lRIGM44Z)Pd_pgM-S=Rzf>^S08VL{sn8Fxedu|_vpv26wfOB*PXpo z7?_!)oct2O&{i67`BXJ0b(E3D0HijVaW(>f_w+jPDEF z&CJNGgGlsRPf#4=oN{L@=n1$~A%`^(i3ob4l>L6M$YK6MVkzWa71wq5O z^=hZdZ*W8u``VFI!bx^(QewIyHjJT;tD_zM#@rz@xUgpWP)c~kKQJr2_7Q*TnxxH;H7f1glRCa21Q_QBne$)3ri!0Q(o2xE9`dNEOFK7QK`R1=2FgOMjt&k)wb{ zwbJzyHq7fS0>F8%0Rj}c%qEb@r--BI2n{cG0n&3kO?FJ65EsOuQ;H7cZ#Na}ITddp zh7>|hZ&WOr*#?CmDuIKPs$@~;)VH2|(y`~{0*iB5;TiWVN21rrSnZDl@Mt?)#0Zx6 zWq}{2vQJynWXto}zL_GFY+$(YzO@E%_rS1ts%C(S(^B4;Y%rV9m}~^T>)_th0pGZT zhSqi7VPoI;U-}8$FF2@N)ErELo7@AD1&Fi-Wx?G**0^%>HQ{~%W)d6)P<;QI^++Fq z6Mw28BXCIKKtLY{WJ~;W7d*0RaCA<1&vd8Lr)udMoJtUL3d{)X(a@lY?5)sN~|7rechGqDi zq>5knG#4{5n`LW)>)r-9-Ms&E=*ce*AV%)9sj+fCzw;BT3v_Q z*NpdnLp8MzyScXcA%DBkp1ON~2zAgmo$Z=T`dt1e0JC97UAFMh<@*oAa*XUCvT-=k zwx1Ap*ecv;HQ$G?RKuOXh(V3rdtkZ@->0{r4GT=4WJasN_MJJtIBCjw5n%@G*I$2T zHvbkp>u%;&jFW13T1IA>#SjAeW3~d~_v{Yp_5AL%3x@qYFk3bQ!TR_RgSP=7qT#Yp z@%@Qi+1v|?zzFJFlBA@Q!-nAi69+}jWwRFhQ-Mf2DU5O;r4wZAz@an5G-Wh1n}UeS z$xLP_Kz2UflD~9lkSRoh^`&leq0k%H{7WPk?M)Iw)roCCxWlu}AUWb489RQ+_;bV{ zDm~-G-k69MOTDTeL^9BQJodHsG62!Y9Sr-Nm3{^?$1~=b!RB_!AWOAw)Zv<#OlZlNw*I@J{&`PB$H zc>W~KoBiP=RphNybSoLR{xGB7(t}Dbd10YzQZPzap;N$Ey<3<6oy+swiS)k}d zBLNtAW5`gg0eTsH*G=P)o8%S5QcHx2>UvQ$qOy}GiqLFUqhoHr#`(J@{tT`6Fi)o+ zS=iR;lBB-)+*BtIg4xcNn&YZ-Sou*IlHQwQzT@n~u^@7w?t)W8r>cr@Mz1#b0g($xcYXXPiVvFJIQkd$$IZdPH* zs7Th>+!!kM>Of69(on9TT>9q@ltg*7g5$(g<4U$?e*_^0q*M}zr=~HrP<8gIb{P4; z=+MzEjK&t1-=&WUFL9*?trFFd58W|PN>AsA&q_c}XI8I;uVL1MM0c|Y@$WlBp8Ql> zr6j#-?a(RZCj9qUKw(3&ejX`s=&XrDcOL`KHaxE*G@R_bPU83rTiAyG(E&{9diq>kCx?++?0?COVTqaEb0}DPo$ei!z zhAG9u?g83qSPG7Q)&=DY3l^J*1d{Y^wT(Q+!U?_7E*}Mv1ARoeNxotpHo)B!SDE?a z(6Z2WI_Z;2^v!SjFKVaCSm&mlwc|}!o%$Mtd8^38_z-gQ5ThSiOvdR0Dy!aDd*coP zGG+c-B>O83fyHgI$m9Fyp5I!sO@CwRRbnB`o&B7^Kj9DL*$ilabCV!JZ`K6N=OozM z5bd(!J4Iwnv*80751YZ?JJJ;eu6k^zSR}{;-5?CtzI@G`q$*UUJ&^;*l(RNHkea!5 zZEqWGA!#vRFWm2NUX7pLL*Pu@A`nxesXWBnphZP(e$cqG0AyBAafx(>`0{LLv!l>< z6e38p;=9iG!u3O}I6uGce>+4DfN`|hD(loUrF*~2fNntf2Q>j%ZbPI z5ORPPV!uW7Ap3Jheqnjp2dHim+omfj2;)?49}oZ(;}_X1ruLZeMS82i`=tcDAf~c@4Lb$qHZed6-Mh22A`rD3h z-%!Z?uA!unaKCC6+*mvrYV%PkLrRx=<@WU(SyedKopE}N1?(OGp112R`?(CVmIvB` z?7CcoDas`rpBG%-)`U)`(c*=*en}btt?kck%?3Q)R}BEwg3#LJ(tunw5O8Z^U=?q6e+4g$4qrMbK0q7=B+dt=d^$KOhWTPW)CpD@gW#il?uumkT zm5&b3dlAyy`;0$)H!MG)zUpYZxK!o#*;oMd4nJl3<|E9r5q~@U_7$|B`WQ|0C*W%+ID~r=56WB!G*xhFv=;p&L`I zFS2t`^vmDA2(5ae<46Yta^EjVyX}?{yR|*%U+{9^-U2-L5qS1mxNX|~aiDxa-2J02 zx8HTifS9ky9N9VM@eebEDkM=pSHT=mYL88YUplaL^9743eC(nY1|$TI?Z>Vun^Wk0 z7Pt>-q^XQwoWL{%vGq$FK68DX`54d;Q-Y|@yA~@Mqk>vwTlte9=(q zqW|1ipJ3?W>c*oESf-HGXxzJGyauy3fXWcs2Do^? ztkMJn2)oUprDG=s9iSE z#NcL{2r;aA9P_6FDRi5Lgmj8((IpC?o^CbHgj5Ip-g@2h`E|E0I+aD z5oOiwrNKu>rh?fYc}@062_V2LJG_97waqrq{U=XlB)`k?ioXiGdws~Ie0SUig|3<6Wl5EmAw#Pc6X^z9_m}bo)f_QZb^nH|5hZVvXlBy9ky!_z zo?o>xXAIQo9$1e2K`9+c;{gTxW%nK-BRM;>4I#fyk8(gFPcU$Aun5U#>X{|IzCpun zJ4Yvg07JT14d)CToLm)D{F|^s7Z=}G*QRk%*R12iG9rpYbuDq%YaPAmpbys}>`S=_ zsf&-<&v@=r4aRAIn!m>z6~qH|bz_AJ%ta---64Z7P(r=AYNN#-+HfxHE=OKIg^oPF z!+xHxo;s#Udb>@!9q)*pD=RzO`QNu%G^__UG+9o8|Mvonx+e<@J@{ z2Av#Slc-HZOp<*->3<@leL9G2tX6$4mN&qF84vUKLDspPrsE2;_BN?$GcQ4>zTYUo zT`NB^Y<;?88$%-tDF!X$3TEggLm==N@a$k(A}nRwUrPrXZBAr@RC(V;*57~jb4?8vbLT!t-NxX7yn4zFG@xWpuZVMqTyyajhHdOtiA z+*FAE)rd(-g@1u4l1S0-(v~;A1HG!_cFd32%|k3>alSbz@yP}Z8`Uk4UHVC2F8bNE z<@y`!)dRMEhTap?!KLIBqgQMJLHD9}4CT+j^O<++)W`T$JZu>f_Cq84>&z;+%65ZU z!^`|Z6lde2Fmix85-iUMoF)K_*1aMT|3`Q*K{eWlU4yI?hs-B!=(qI_cj}$@2H^rC zz_)dD$GR->8f_*Ui#9OHm#it8aZ(X-I$J_SMbT55RC~QgsLAJZ@+?S7o$Gtq1HX>;#91#a^zGd)q1S3Up4OMA!{JEcT4>y9{}vyOUulr5hk zPkb{7SDq+{c|Ul<^SP;+#9u)pQrqL>f_L}ciA6UHV3R#ayLW&4s(0XuF}S03%GM${ zMLYL-1_I185L0ZLg5lJ1+L^rTSdY+%EeKt6fPKQfgFiF*@nInFO5B8YDb`cmgpLO& z8ZYlQ4N8mr+s!dD_}gg-`h*?B(UOTnzLxAAeCajO_lK;Jty9I+a2ysE(c##3V9f-l zK_Mg6Heb8h(Ze>eiC&TpQ5jM*zivT@Fv@%_hFKquHX_$Gp2-#e;m})CI+iPe)W?otTHnMhjmcrKYVb}#V^j4OClHp_j6e|VTpv{Z*5o05%KY|k;?p&8 zaSF$^h2zUs=LpmoP~v-rKSHkpF8!?ipS&Dju_xTBVD~}(b&s2!fl$i)eCzl3`^Z); zD8If#O+rW3m9{XuY*QyLoo2)ydR?~$N@)ga?Nm89Br z%Xe6ENQ;FumWc?(0hvCHiCp84fMNB^$hNCNK#B5Oz*T1x><9^P1TS1P6O3Ya_xp}QOvBaHZGt$Ph@b}xR_uHXbw6$Y8((sRn>70lU z`lp`FJ%qfZAW{0$X#EwJ43gK7R(Qxl6Svg#&~kQJHV8kze1V|$O@}(?am9~8O-!JX z=D$^a_n_Zg>PXbs5y+&30CCF2^-cd6nwnB<@UDK%Tu5c$STD}MRuZ$w0)0NvM`lS5b!t-M{KcYMzF?q7AV}t1 zk~-2eTfCwnLvj8vDq(a(KQnoqr4`6Qd=xHtbC?_%P0AT}xef_0j@5AWlW5hUw7|Pz z)(ZY1taMKj4ljlab)t7i61JdU^Fg~6Gkx|_L?Ip8fNYCoxgS4O*VJ^3DXWM z3i}V1&gREce=}Lf?gaB*yy6=pmOF;NJ1+OOH2bk^@vA6+C@k-+N5O zPv6Yo*JHfH<;qv*Q9hRV`CCxxJsR-#?zP#2i`jb;@0#?5ZoC0gk>9ILzTTW^ol_bX zS7t=|&%TR$W5+%jIg-eWl=cW}39KC@F`&ww5>xzN_fN$Jks%FIi>v9y+xK>}^dA=B zxSEtmqXY21Y9}=HHHfyadAN`fz+U&<^wl&|IVhmki;ndKT_XX@B~H@JnDs*=Mk71_ zpU$21>^=;((J1UCK*9#kQa#`FgnQ=YeAJX1vwK5bpsma?)4n%Hw=wgaBMSUvE zIg|4eTt=BN$5bD-+x?Tq+ZONeAH;kR*UW$8>iUy|^~r2$m3hW3 z5c-*`a@)&LbjQSSJ2$6T@`u2{A>N6=FL(Ftv(#|55gAbG#X-`&5c1HsnKDecmiV;$ zM?ZLm#|lk|_$>NBkA3yA87cDN);0jAOh&w^W%GvqW2SrEU_~PcjR6OHr-gP+|)In*`F#wNN+6?{EIwnimh>eivh_9j|+96Jl^DQkcVwIOHG*_w3w~l$XM3*DfR# zRg&=T<+e9DNhVA$h(`{&IMb3R(Hq+r~8al(@7!dUD z`?-a!k7%b(ep}*BsBU?>lEo-Oe|AdKB{G;p*1l&`SEB?hi9e4Mfoe!xv!+-^K5YyS z8a*vwLTxXmSwKW9DEpnB<(wf7edRWUk5C~VrnwCsW(G^tpL z0<$`G?48ywdgcGl&sav*l4Fd z%)yH#N_{w`{O_U9W5SJ0VAMGLz8766I4W=NRq-)YB1K#~`N@>>$M&T{7>KxLKtss* zrlf4lquaaT`T3U4P@Qcg3mVN>%LsM-hb=Qio$n`0bD`tI*L&mm@_SQah{HCEQSW|e z;PTwS|GPW3!>B7NKq<6q2e3Oa5K@IP6iz+or2TV|AV>f0qK6ecqxat*GmXGE25~;k z&FO<8$%pT+dZb$i;uGR2P=F6O#7#;f=Ar=sEQmeQUgz+sM!_1^vUvD8elG_`>OWCv zw+6RpeAz9D4<~((t_$=P!0M_?U#f~a>Fs`Dwh?b)Q{xEkVMpmnPByM;ZmUsjqP#;M zTD}$$kcc0@vkgNbE#mBXA>nF~i-fs~27cq|%yc52s;^6CfpTn9QRCM!Qb`F^c%8d=zLKsaK4@d2Y zuhV8)qTb>NiB&yALs?W)kfAhggu@7Zy?0^ENGoL|hj2}~>b~!vTK|3{`)$I~>aDJ~ zWM_xDcEgn{&hvOl%t?Bp%}yc5v$LEEcbt%xs%OdL3#Y0cs>n&jv|F5a6Sa)qf3@%R)de$L?Rq;n;s2fQULUsz2F}nR}m( z*q>7ba{%S$w1PqIzK9J84Sy{BEj=csdBM?I_=|g}K<~GuS3} ziQ_!Lgc}gB8*vbiSHx)`A`tdlDIT?p^IUGtY1W#IkqN^BzV^ zg9xEN6aPbhoH%}u&@HFF^%Z#Z+1DIcirO5Ib^@--hRUP>ab<;OfUJst6gBee?@2B) zvzpN{xTYtH4q4epF5E|UCaBS!KM+fwXlAPfyj+cy?v{<9k$Qy$M5EUe-}hV2 zumXz79v+%8@(X_&y*JzF*s54dl(+x;;cL7W<|*fu>i8%rGS)MRSGQ?QZ%bx|?x~j8 zt!@y)hw|>4HHl|#a)cqg*v6m3F$oFCUNsQd*9svZJ9Ubs83r$seMPAc5Q_xO4yKZ5 z9u&q}GornrdCJ2P_H?mA3Njn0wBGaTig!l_T#0K+J^8v!U2-(LF0ipbh01;cWG`RM z`LhXKIsM^n4Yj{whq%YI_yx$?)jx5n$l5A9{rRPUpXI9m9rLua#svhIXkwq4uNQg$ ztDvcM`da>q+7n+n6`yDo_ckGw`d-Wy2{@+)Q?9KA8xeJVy^ao$sB69F*~f-Vir2q( zKeeNwb?ipbEK_807V-V0cSy?$*WSr5MJOBllGA$aOeKfyGyjNTZ{nG~WDo&7Cv*4T zeKf(;hW%kV5MYLjZ*juG1R0f==^aRHL9u^GXv-xlc7!D!IiuV$^#M((ctKN=-)4_G z_6=qe`FyK)()P*2`w#jz^a8urj)g;cFJVu-JxF15;uEy5&G8kk8b zB1hg}={nq$-~kGl6_q;8R}pzWxxZ8az#J~Daq3NwTJO=oun3F^mWSv#rk%82<1gLK zS5;rFhfj9;aj_%a@k3r>i#@$nEiZ$f8Y^j8kb!x#B%j2mq6n*Sv-}bdoq*KWNTW+s z7Mc;@R%RlasE_ks$)YoZ=5a(n#UUn0o+o6`8G&Aro-^a^$Sp8SUjO^-zgJOvl1M<~ zJr~Y%#ilOAHGS`Oa#8UE|6C{zz=6uNMu%(ElBlQp1B6S7L(}b8h4$y8mZgb6KYRP2 zU+%KIui$rrzibAJP1U8W1gbTHwcgxdM9ynQ8a{Y%R7FS9Wje}fw|0efAl|`}>kG2G zInY(u#P}tccUN_m#-$5o50*8-hum}oQ~*xI?^ijLMH8~Dw&RTI_8@0|+YH}53PUZl z;7~RTHe{nEb)jcH>5>mL@#K`jwUA8wjb!j{ib5zA*-ida>5b|REoD~w@yEW)h5cG1 zigrN>p;n#)oWpl1R=*+`&A(TrTX^N9QKqm4o|w=IsTV)_@~eL-?z(?)`vl)xNo^IF zqodL%?sZ`|5TTP zc*$KUji<}K?x~(-ykDP^;u5!rO5Hr{_4Gdk?&Ggw#T;y#ydYp;MFW#J!5qGKO~Jo6 zhEp>)Paz)`p}oAn)C zAVQdQVU4j5Lq0R_QxXAvi1>+NvgzxAn$qjnc!o1V@U)6rJ>bOUG@_m@V^aPR8R+uG zX9?el?tAPv(;S?yG|#phP1MvY4WH9O0tg&s2jIE8D4_&(jXINl z69lfVYeKUqep|x>EMhPic-^WzE|jb+KssO!$W#t!L|k9H+31{Mdi`$*F%RSHZ~I0& z9ZnFCg6>;RGM)55ro!M5jezs&MaXW2jObr$6L9r=DgM0b8-Gb^D;YB0rO@Cp6)QoG z8L+VW zWJerX3DYKXk*65D7=ql>frB1qH&BnE1;%S34Xwq2iBiP~-3Cxz3aS z900IApGBShop@islOZwv699$<*!< z_E!&5W%UOUQYCjt*7i0@yvml7gGY^t9slZFy|8ZbP&?4whz;EnaxwdccdG;Xsdr7?Fv;B=dG zNT*A5f{-O32_uP!7IX{Qo=eR+B)x{(`q!DqILeoLo&s*RYP9Ts&I#*^9MM73>tWqh z&_zE%ZnBdJ{^DrWuF?jlE$YV8Inh5)12}SoLd)+raL9|KxpqA-%%F}EQ)8^3;{{V} z4!i$06pE)TujPjdpe;0ARVc8P~W3`};#0yE`vWZ21@SSo3oWS=7*o59JOzY4+>b z8m_nm_+FjP99;0Mq3MCZxG3G7K5bntKb!w$WL3mZ}w=PHKN4bv;jBn%r zAwVw}rNnu#2aW!X%Cr=dtN$wdTUUfs;|I-W)2JOe)T88ROu{o2TC(dSS=pi3xL(Tm z$bX9ys_A1Hg*s$6J6lF)%SCZGu-?%#;uuVmdTJ2B)NMrm+>KF3{=_2U7kI}331DbM zM)|=0Qa|iWyxXh`g6(&*x6?oiizRBFIrUM6#y_W_#^YFEjktzX`bd2{n8|-eCP)X6(ts=B6fY(JWA%0kJiniZikCOf0?^tkZ14|-IjT_rpOLnn3P#3i(=sh zuVqH^Gc-yt$g94nT&R)9{2F^xFyJsv!O5)8M5Upp#LL;zUy98?l;)2M-kzSF>CyU9 zS*o*Iaj7P`z`IRH*XP+s`xQsF^2q@Srkh)A;H~eq@?RIgLJQ;U7E5y8_pwGxl}4Kc zR?l13-_|b^Jfr99f76NkG$5CPHdxM)Cr*eIv!bCWGmZF3+GAF4XDh%F?R12;RstAxcUtRe z3B#M}%Jmpu!=l2}dt8!&^m6FD?%kyV8~|%;qh& zQeYYAW(FA}=IgKk&J~vId?vs%bu|N#LH)?CX@t~uO$)~5SnWyrl$D+6L|*}T46D98 zqwcO|g{omvN7OjrBHe8w6s|nCA@S{vOLFo3!^L8Jmlkcwb6-fJS z&rE~x=h`@d-kY$_i2FWMvjb}XK zwRoS2>|YJjy8fsvyVWNNd!+U6qoa18)@nYElfs}XBZ zmjBd?MFs}G&*;(N$L3ge3%BBolJ&Xr4I4PPhGMr~*G)d1MRNp1twv7%X_Z9crkPiv`T;gYQp`8ME!^~6~1sT#{`ljGxboFhV4sJVa#ST>$U=m*O^78akHHO zFsJ`%M0Bt{pAz`eck?Ua@Z7gHt~n0^@J^+VFw;aS4qulk*-%88CgMT1Kg9O=1y;V%&DwU zn`%ul38A$$<0!cAw?ZQpB#eG*jhc)jU|(2&b3WfkCxbLUCil3XR06BXv9MpLK!tb@ z2S-oB#>6Q~#C+5;d#7ub-teotiHwPMjf{`bK0IPB!-BOhu~;+Eb=x0KNZCC-t=E3r z{TYY>W{B?Z-g;p6xYKmP;fTrjX-w+x zpz!et=M(9t^Z)2f5yZdc_vS#ifV{Wr%@pTB0uEwH+9`a0mDbVpom5LBkmM8r#tox{&?GfohG}{z zy8pGPMS07;mYAw*&}W(60tEy6K{8X@u1Ji2?NB+IT36OL2)pFAV!V^mA5Jh*`OLwX zUA6CyBp)#%hi(^$-DSxfS}U}KcYH$vm{L1L;h&IT4U(A%^uYwb#r?xLRVJin6BwMv z2th;ilXG#gu@VF1mUrnB$1Ue?f;Pg4yUw1q*<)}|gI}R$1|tQNcZnT8U!pYLiMB~K z$^L>`l%uB03Ij)2#XDrysd~P4D!qE4h?rC_AEpt&HO0jm1dn}kn|Ht{`E6zJ_ns9A z`8?*Uu?GnZ;mn^u)}f8#s6hubyNUUZ$W>;_;>CUOtD{72F}`x5Gm)y}J%4hlEXYrJHUd-|@rxlW6?;&2S4`0o6v?oZv_juz}JB5y&Lr3!-3HFKs%-SxOIMc`lj|kM$XWmf=I+Q zhIL=0lVbQU+SlyvpNQI&mJFVg@5w~br9X_+K{0iP3HuJYi2wy?C>|u!)+22-qrsHi z-nRohN5OkbbVwtg6?~es2?L?xVZr>kL^9zkdbT2jvR}AENUt%EB{xDTbFXWdxux6< zorpsGtxa4w%*?S5gl+DNW|&UDvXNST$;jaiy;jq5%qv)=nP`u7nTyzyj?002WUxsm z`WSE^R;FsaAetN!wM?^b7BZaUEglNN&wa^zn3XKIL@Pk!f%LYQ{zB?`_$J3Qx|@ zOT2zV7G-P~AEcOWF;1sb)kx)8%!5gzT{_nHE&AE||GfZ5{!b1mU&b!7W{X-@denzB zvr-Dw4oeR1TNMuU5NLpx999t`4-y|M{h&XRsufLsfT8)%8--jo!Z|mz3f8=MF*P(6 zE_<7}?80AFH_RGb(XW}=UlhJGBP@<#))*N9Nd(7zmq2Nl>?TN~o|bH?X5~WP+HY6V zHM`|w$uui_gpspD$L&Pm<e*`7$!ERbp0NVc9Y64sI@JO0sm>(*Z=MC~g^DQw>f zWpgMWhj(=kVA%mR_5D$<7=c=u5CdHkNg57sfiG_I27Oa$KGUxu)2e_<739iv%YDd6 z6YfU7fxGiq9i;MJc>bYEH0z1C4NIRumWA7V$CjP4-TJegabebd#a4l4;Bp`y<)d>? z@=;c-Ly3c+5n3Wg$}9!zXx-0M*9PeX$kSz9DMq;^(%C2JR403|@e5w1xj{Qw(^WQ+ z<@uq(7`AQZv}v%EIsAtB&8{P}nKLN9w* z2?7+=m^A;}?}78?x1AT~F`3|i9?p`$`&Jom%lKXM1L>6il92$HlzDW9-GNs*|1*-) zBL-xcHW$WR>(Ea2_CLZbiv`ypU?q?8KD#{E5?$)M9c}f} zF0=cJ3Wb3&kyf_VZqZrTmN3LaZ@PP+01V8shX1ejN*B6tb4U zWg3b7M!hJ_l@8_QmLwxkXA#Rwtb6xTmwYxc3X{*>kFBwiHE}PEadxXLx?v)%yHwaD z);D;ceFB9TSEYu>_Nwdfod=SMHl?c>Q;hO6@WJkz)&al#-=t1+mUr%AQrBj=Ce1B` zn#D+GRkCV&tIpA;(if7ZJfc$ShFv^7YgpsY16;3FZD}bp{u9iKR7JUtH> zWM4CjN*?N8<90s=-E_TDfU}B;nIAflnf*ObSXgSntsvK&NkD9ljNDhrSZWa$59UW* z$tH0|olrDwaV!`oX&3l^vB?#n8Y<&JupuH$4=jeOktITwB^*RdLRORPA2~EcnB^aG zl-LY=(17_AWJ}#Dqt_6ss`zq}b%Hp&rrwq-@=3p&&|RgQ)YMI0__K~<1PAoX9bF31 zmzL#3==`Tew@#KaWM~KW|FC-Tknjw7Uaf377BC;_yw*I6g8O1QYrAof2Tok;ekW zh&Swd6N3N(D0fw!5Q_vBkEhR&e;wSW(?0jc>WrE zi7b?6@B-pj5}CM)tcx>%J^GI%xQ^sNCTLB9;}1SCl06~e2IcId%Q6DwJt{Ehi3(~> z{q*O8d#YBr1j2uRGOd@J13x&e^Sb@uD+8(gKg{rkKMoShWeu_z|m&!j!Hi@bP`dHGXkUYf=Q-9OgOeiHyS8_9be=@EBD@?dUYGJN()p# z7yU7un8rNX3fUS7hRNhIZFQsl7Kk7rwK<$>%-05!{)7pJU;&8=nP$*6(t^D?7Va`y zB^;pF7Tl_!Zt%P$v)D%c)oX$lXLNWXBR7FfNGkH#ubQ~M*A6>VYz^8IA&v@sL17fD zu(IRiOwn);{i&MB6h4`ZrO!It1r(FO@;pAPy`@#>(goOqxuvuzz^kT*`%ZC-CT5^` zMf+$}5{rRFNPe)`S)#>4+k>+A9kW4Jc%6ZS1bSEQL1#-kh_QU!T(~|R?70Hw;}L%v zvN9`n(cSoU5>1kixWL!nVu=E)vXyQ|_Ys)gkbl7wuVE9YkoI3oH(hpwr5Os1QZGwn z*^5OupC2k@EbE)T2 z04ZVSZnWL&w{o9a=NfZ>OtRHonE@~?5*g*JEpCg2HHR?lUBzK+P)-#RFi)Cj27>>o z8ASo6<_kBIE02kB)DKEwns~60=hk_F)Yb&I-@ETg1clmOzwgT!0`lGHVOr5Kc*OSb zR5GdUzYu`PJw{RZdKv*I)R(I6r_(1N5ec7+ zdsXj}DwK{DJf23f5zuG8uA5Q*+7YLB0DJD~mXDIIY3T;Y?~__l>t67?%$|N8O#*x4ma$*W4gi^(! z@+-(7R>gzLO#onkqCEb$$#rXCsQX8Ug33DW(%J*>{_4h#q-MH%_5@9~=}za>fr^Y0 zo|qYW1j`i}(QO+}5yJ*p{v6;N>M4B)RQ!~wbX(Er>T;h2USO+Dx|tfT=VR2!Zx)<- zb+AjQB%bK!YJo{hu2oy>Sm<6IfRTy(^*joDZ}=N(!A*Of)%AAWcz$Rk*DqTW%zE4k zK1|ERuG%qDgU;)45T=n|gL&o%p%Px=Ysb2X8k4J^|0Ur5hAlXhhW~n8K;PDFcY|Kq z3;z7-fysB=_8FTYnO)H3nIdHwJ7NLtp|U!~^?4gB+5cgI`!ob7vCZ>2(U*B9@_x>QRuY+Yk) z!qv-lGi#xHT*YBK+UmVTckd?dMA+6~1KJ(OE|gKZXNdp^;Y!lp7zfz4-P%7iEay0; z%9z!??bd&rA>Ex4ciMhbMN^yH`z-gRf^Z`{^uB`e| zR}Fvpa0SP(2B*@UU#*a04+`<`=F&M>R6$`ca_6@CvJ7-(onNH+vB&x zEDwv1wdhq3ETjRS2ZkDF>f+Vs6y~nVA0+P?Cg8rfS23(ffp>#&9|H0*K0Yw+D|#wj z%N^OT++gs^6xCn;SE)9qpSPuy0um;Cldv*|$}!Z&2cu2XO&@|yLOE4EmthA+Rr08^ zww2#-O}j`I%bLH{KHpBbZjAM`Kho}Rv^pW7X0zOqpb9C(9Abt~!>YJ~-}Ne#FTUN0 zDAo)P*EHhaG)S3Q9lxFVcTUWTsEdRJWen?}?n$?{^#wq0TjiDCrGb z#Ubo;rOUJoAmDu6wucWtNS|$yAa&UTFQB;dj3@K-c7^P=6|K_`Jg*~=H@uxCL+m2t)D3Zi=PU2?^X1>a z3)EbZqmFO?GG5PoWlu2yjZ;&kaWbf2o9nHtums@OU@aPc6LNSi_AI+tO0ECBOXJ1j zOaYcgg-GivR^_kA3CCxh^cjSIr(LzSV_FD@gV^umk|JO@t@pV`UH9QqGdZw*qDz|m zZA^%up{2+r72dk1(`&IPr1wdI4Qzw$kn}fVatUjki5CwS#=_>r*ND`_htATXwzB@c zzGl3%M*Bt}6VuMFWMKrYXkhWs_VKWBuCWD8y$IhsKYee9)zf-^?P0NbB;D^gdHq_^ zJbj-pfR%dIE|j@W4G?ok?Ll|C*9BDOZ7L!W>O!lJU&jB@bQWw;yo1`QEi`u65JCnmS3iOg_K$tCC`)s>bWf$f4^+OEAM9&dRDd5m(d^heDMH;Y zbZo>ieauqo$(B*~22ZCuR`=x%6D2K#KduO!bhyfU(a1;~H9AG@&yCbNn-js%NI;S! zO~?LOQ;U0FXEYyC1rr#WlTCVj``_}olyQNBOW13DD*fFbBTwsam%&WOdz~OZ8D*(O zHQ*TcM0GLvNU05iSZh-BZu-m6LTx#|2}`yhKxC~WlriXtc|UG-cE*UW?nKb??sZtUmodDG z&}F{xSk}&m7iW*iQ%!p~Uu?ri#+%N8bz}g_SOuSyjF1zSNX~_a{;&T`a(e-f3C#_InGe&n?!!_ zLLe8E;XI%FHQ4_O9s6`qmW0z!$+r>d2#rBl z8rQ7!c`id5L*)%IM?2yihDB38vOs}|hVMnUdCGmeDrOteBZeo=>nrt0JYp*XeXOvM zNb2v{SXh?gq=83KU6{AmeDG^X&y!aD{%_;u+@&F9S;y%h;teX0J zAlUo$-wx$(u>Z63vP%el4c+Yp!E7_}_(Po9{P@HKm=~??e3wI?%W+j^5OGD%y|3V@tS-Nk2pe^D0sGiI+}$oLHGy z6&anNnCE%x+a#W1Q5=iz7{Rk%6*~lt?|ahZ-*ejAIzHt_B~Q&lJ&n;ZM-`<<6Q4hA zibx?IDfjb(Fu{?uJtyM?#(;iX_I$sqxb00~3}^Z~5EMO$5gU6SD~g`96q_JkgZM%( zJ`m(%LUS(;re^R>ccvs<0sg^lm2DUHdmFkGMg)XhWrxa{gR|WG`x0oc+H! z*F-~-Al|QF5~(`WhOK`x(9B#%@Tu7+_X-DcGwMQ{pJ=rM2Hn393neDBIIWaWL7EbS zE>-7-@vrQqSNK*xO7zHeaFHl{7tn2lIUF=Gs`QpCeAL5W5(OclL(c#uJVFPl$rji`mZ)rWh`?W4EfXKVM z{jIyYErrHW^8Is*GD0C9;EIJ!Bt!U+c0>;WNQa(Dsitqk(OY$HcnlT~_cM`{z6dr7Y#`Y%6${E1@naQ{VMsNGf?e zR*q$Ubm72+u_=i~O56A{Xn@*o7-(HcFj&gk_yMn|&&ke{fSBBWGFl@a9%CPWl;-ES zt~HRI%eJ`XO!{G(=L^_%O+7%RfudEu3zNS(kKQeeYy*-5u~-)-qCu&sgKDRvlD^f! zMAW4Pv=AxIJlM5r%}?Q@5e)qj zHjmy*^COscv75b^a%CGD@KJTNi+JhC*I~a-6g)P5pyD%pVB5#u@=BJygG(r!jHUYJ zZ4FJrW*+*j1=y49M14weO8j8^AUI41=aFZFo3`*Du4pA_)myZ~|TQ{Bd zu@iyH@LkP|ubT)aFa~*1lE`;~(|rtShDE|dq8dX4L3Zn>7dcCL%RUnCTU7m{$~`<} zGswSVz2e^>LVdNW*eRyKM(1lBfa>#1PpX?2Cdx&h$8VCb_sN`o@@7#FSC9hWBzRBf zQfoGQ*GtdM%Z~AU)}}o43yFMe>wsh8s^i|qdZj6(3lyvXT4fl>#U`94DrNRG) z^tDm)ZNmZA@KE<+8tT{8hHd8FUPJ{+m{%^&`oq%l@~=Tk&p3h;U);H)%2n4dz^kep zimyyvPA{h?kf?QR+71-p(q6{-r=ERREDJq^qDhHI9Y!LRzn`~F;ZHMdAp0{`T&IFs z_w`C|<3n0>UX)ESf=Yvs5aRRUpAL^GI13>Ngz<9iW&L;?hT<0@s8wV^S-5ieGMJJ* zj;EaI=B|e>>0WW6hx$X^Q1N_QPvuZ`0Umf&B0}-jji9KVpMV~x(=vesq5m}1cia6i zuU}x`NuO0I;n}b0Kiw6T?!)yAy*5UoU`ke2on#ZLT*!9Gt~yC_r&e~lklZo`KUOC8 zZ0gXTHl09Z>#G~tlmJ;B9QHp+dRE&8kX6PVZ_-yj_TnBhlVtLg#%J2A2HekJ_RRtA zRh;rAcb^l(MgN+ZTVnlOzOlp-qb+utp&oAaNt?*iFZ%1}zfpG~@x#Jeh`k-V3g5|x zPTqn;?mS#&;=81~hiXhVdt8;Tq8)~wjgz1AE4-Tby;v^N-6)A#O+4SZrc6Z>nIQw5 zgfU`rn%U1Bt|$bn0N3B}j=m?JV7ygR8T2o#1!N)#+MOh;b-mi5s6+#CnaMUva&Lrd z+PByfVBSX**-+!v>|Nf+&C4o3#=jBxGL-$%xX+u9mp?*BpV%2+_Sup5j1pkpP6mVLnXIP=>44}S5Z&I2dZjrY= zN4uWEjZ^9Ufatp%-`jJlcuLnTL^QU~cAtBdyRX-Bmh?@e0vgF4M)evse;A^x{YC&n zkM(lBukw-*js5WPrs0YThx+>#T+=b zLjJ;rR`s1IWNQ|cHHvLEnpU^4DLNLO)$iR%vv3WjS0AP5Tv6BzdIx(2!Tz?`u%QjD zL9fZjgv{0f@3V)Zbd^7w(b@F`|TlVLz6HfvA6g@QK8Aj!t-+G%CVNB?#E1L<&Vh)sZh|;kOA6Y z%$aj2DE3kM-WJ{b2teigfla5g^V8|0%7w-+*tI-C zsLS$=t6zBnHP`GSlmcBiFvw zY(@FCryI?g6cwXDnhwpVjAAy2jubi4E1r~4{AOXZfRDJjic1G^e-4P!Q5nY8ec|;m z(-joYm|=J_BL1V1g;hsCHX8bryuc{}P_cQty1Az7Kc2tjj6`-6u%~d41BXY;{K~0P zkw8Y=ohFo`r(0QzkpXUhEX}IH1kAPED1u8s1tW;)7M<|bOSZJ`gbwQt@Jj`IR-sTF zCD-j62rZAdmc_biJWBWXfWJ?@dGOR~ZeRlhiqy2?hQ#ZKh1mIB&jcJTYMPE?P88-T zzxe)WD}5=j2_WiFxSJ-c%;vKHef>HXO!cVLNyX9p@vHV~PCxMm7ciD+hYoBuhujBw zF=~rjw!b<4feM0B&lsdPX(CoOJE%Zq8RT@m4TJ#BT5*OgL=}9zHuGtRCusjaW2AQ= z$*2=dt$Gw!Dwn7}v>a|SdYT$`pl14+oJnZmU2a`R#*?=7^WL>5NK)nV&s3;Rm$()z z{6RqMCxx!}f`czho%kK9_t8I%-F-VxRdlPb((2|3j`fBJCF#+T)an+_fX*6@vF$Ts0nAIEmG#qIK;JPkYOsJb0-|&& zZx;8rHkY&;-4t~W_q6Z7!PipE0wo2K6rKW1x`&S{&Y!$>Z5>|8ga#_@IcegBq+ zGj;O`5QC#}tiPD_B5@Sf?8zYgp;X-k%G=5sI^wUh?s?l5#gLVwC+v=n>C?%UH_z3o z5T;t}YEv;kn25@Zt8};LkCTF*|GJmVnUB4t?rs4PvG@-s6fV;+Bnt#|Zmt|dNx zTb_ErZ)g=S4cWh0FAb}pc442I^D#bMoeuQxu;{)-wtXCL`49%Js_!eCs#Oi-vwB&uWiKu?(N$cC_V?(`*DDb7Pl+&U zn0pf8fBklWvqt<5)@Pf_BxyY}F3>*Mh}|?gSHsXeS9!lYDH|AdHwf)Nmh1QHK#e<2 z!ZtB9$9#Sz9Jq0=kS%nR;$EXz;xku|2=>`aB!5AFO%qp1GWuxJ)S2eI(2pW2HN^29 zqo25Bj@+P^iZa-dF$5YWWgbO{$<34JmkDEU$3vZ=@=gpCb|1j^30q3aWWua7BZBSPq&AYpQu*4cm3`75)6XI=oA5y0m=(*G3 z(#6WdtG4q|4(ui2e6gWo;<(+RSflg`Oc?ACWb?K#nxEF~tZpYZR)d+x2LrvwP1!a2 zv)k5p>Yo~-_yR+77$Tg{-`aT+8|q3(F}v(@Fc8v4FObO?IB=0Z7wQv6m&CNu&a7Mq z50C3<&UI(_J{*uNn*Dc8i$5BRM+AC)@JA+zhp6P|5;Lf0{As}1v99b;^;y{2<)dS5 zJlz`|dj`k+vpqmCHl~iuG%9jDWZ~cBqaxzgWd=bzkG01E{bUOGY9kYvA;z;twr9!Z z92}L1a{WDeJ<3FUz>3eoYpyJLX{o^VY})2OZA9V7;3=b-+?GH0N5eMRYO_L@Kbql3 zezZlnV~6F?2MN&iRLhJD8>HbLw|MjE!{JG zgkl8u8}z5x^Q=|_;kzp^)^HGSZ=I&p>!Yn#|MLR0?>o;pKmWJQ?Py~3%N2^f;pJl_ zNKYFOswgah4jur2EPqnF8&-?$Tu;J3dO)&;GM|01Q2cYyyO$8j!5?}S`;?>xa+q)> z{~!G%9Bdy+oJCB5wm{R2P_~AXGG=1EiXC^g`&G(w7&~o!rHU-|tO_30fBm`Q`xPpn zw(hYmP!ml6yzxGT3d(TBGb}6J1RRg!T@&G7$SaK>5D=~{X!j{;dZu|^ zGDACjVw>TJpEaUZLzIgQbz3etC`mRr`UK+~$k9^~f;Sh)eolMGp@CLGzRGPyLvAL? zNC4gmDCWti!U8Tf2}I>IV_1AdCRgU}^+_9v4Ug!ghfiy;_bf zE@Q{x>>qB_y6~x$eco~X2-4S~ z&~Esn3Z#a+qsgVM-jQBY22`^GM93!RU>gm9^EH?Yq?^IIRF&KI3fKiNrBtM&apjB1 zPOI6#?l<9xH)(VQ^&|{QuPO6jkd|wI^7q73@1thibYZ#;TnY#p0L{Q@91df=#kr9(4}W0aA_U)thhD_deV za{Ek$2HbZ_Xd|bdZHYvUdkYojom7waQ)LU8a@9u()o1<4OkB0(Y{TDYah)Eq-Q;CpI#D?;*AY6nHby+ir-HO z;J?qY&Gz!B<|>yLnoD*9!E4f1XMKtsDy93xHnN@g`_@gV0v*WvSP+$G*J;DfnfxuK9Vt$=Hv4AuDuWuh&H?+U&|d8PuOW za6{c@H_a3#q{Tb$S8YUShjeRd@r$X?KeR8AG=^(?oeT_E#1j1oom#U=j*W@IvDW$~ zyYXA;h2doD&U7GSWx$Uo4AVBMaFS#_2ZzcKtPq#*j(zdONeli}^!EA++aP3U4w=A5 zjV^pfFS+eC(>3D{e83lQ~Df>yf~@FjbMQ{%cO}bIdQvV`_uGxeRjw(q#$)bbE2X07?ASdE52d z)#eaZ_xLtF>$a01!8Ly@{#LQ2wi?yH|oBNX|U$)jy!uAlclJG`(}o?vlXuY=o`(sVpFW zuERI|9(b(pq$f3TK{-w_?Xfiq8YGJ|rzPDKMghKjqRw6@!BL<%RVzpl!y5fcU4O}1 zJljazvX|Nz5uvXx9M_pj(T^rw86ekk^WkRvofR}Fj_E#QgHT~C!1R%~3XY1m+=TBd zm0h)&m-vkfZ;O_5Ltal*@!wh;>|yhi$zQvZ{sknt2zSR?{@GtvAXo9Hi=T$<7XQWN zbF1wXz3_)y#x7J}jKF^UgB(q&MC{Bw#~(Ez!EB7Vz<6SNZSRL7jNE^NmjOS0L=PBm zFf5SF1?KsQCL=-IU|NctN~g7Zfv%lsXxpcP7mYSrbV>4#m_g}FlY!^K@)l0t{2=W0 z#ADs|Y<9o>n7!TDzCEZFS7XBrNW`-;CgRl-TRl#|_xrDP`TL=<4&s_`$EKX*4B(nG z-{Z;OFu2>V5BYiE(CJW5Qz!MrZ#A3by2v3+fLQe1DgyfUBm19M${jB^uD3@!mT1{- zI3lT7?R3(Du#VuR?@j4?BZDUxa9)JIJDiu*YJka98d#rSAbusC_%I^IxSpq|*_Slc zBxjDVT%}G8=e~&IFFBrkqN(9p;A}MHc{wIWr3_F+!{1^;0Ep2uR>NulRSK`*dCCXD zBLnXr1YPuQRYWmP&NC@Rc*lr{o3dQ+3|ntCfzO<*^pd`RV9d3(HYXGRjxS({@k*|z zV-gN`8q&Ol_eH_^LN4ZIRQAIe0$X;7^#wR}{`YvzXC5m*d)I7gC%}Rz{A@w8M=A#E zvZx=hlj7*oE6d*lR0p`3%F`C52jqp1%|0N>qpxkW`sMzNzF z0kQgr<~}RWHBpRIBowfh_`3fn0yLu^${}uP;uv-#R{to?&iOmw9~<0;@qUGyaea5P zniQ85;LRoV%}H>8YtyE^MH$G6J}nL{U$*CHfXbl@sVDX7<@OznB=e3HWFVANfD&B! zUdPu(@V>Q>yUGInp+Y{a(9Cq^(00zSE0-28=fj}>c6t^A4W0@*EN6j;*ewi<9Sppp z&tiIJg;!_38wUg+-i`03Oc{+k1=u^$MXTBVA)p8WL2x`z%=r2eWsXxAmYkDq(5;y= zRnU-bhEzbh(3?4haVj$wuINVjuLGu-i?wn(MKXN*IwM~ZS?#P}d-hzFTeI*C?Zdj9 zV^I0+muQjmQxNR{U-j>2bAL#_<%F5}~D730V_s<*XCO%xq z{{k2L{{jrT3`r1xL8YbrI^j%JxaBam1q-M>O8J>IOMzcl)3f$v3Ru-XsN&IIf#aEM zPER}`?GjA=!fwGqIaG>FJ9c%e8`^stOIv3e#j?t6nU92;A*Vl#ow z&K^z7?XG<&!EVC?x2$6K;@S;UHV@N=ngNo?WeP-4K7cWb)J>{_ z&FQifVAl&>#y~NoE>8qrPFsQ`w|SOlPxSH!rfhhd9C27B0qAZQJwNMEfjvO9N+c%> zuPpm4%pweR?OkjL&! z3#>BVhrEkGzJ(v`$yQc8kG{mXC5KCPO~q%$eKJxggiY|1B&Qf2J&R z$Z%ux0G_9-c&;mj*#)G86;%9lnCpoct3Bbu)b7q6%Y|nMRl{+SJHO3Gb}?h7YvA7c zM0vlkBxs!qaq6cJG>ZM>vv7{B+!zJ^!)Uvy-P$PZ`GD4H#1Va=NT9GRon!n|XC)sF z^ia#*t81LMBm3dJxLN=Aeh?7l0TH7t@&dcxy3JqakogtEkB3B!7X!9V=f0>$kvbL_ zD3<0z0MTd#apTO7U?>;r)Jla0LU|x|ly=R!jvtW2y_)0}u3h!kV{hX_(8(tN%4ry~ zg%FlJlF;km$>S#R$V;x@_)UM0h6|)pze7v3Z3wW}I|DgH*WNs)3zXWcRji8nD7Wei z7m9js2$-2X=FZ?4VMRB^HR=C;FZ~K2s9Lt3X@g0_n9yv19%9S!%O+fYoM~6uDR?&t zrgVg^v=G9ok<=X#8^$rY<0d<-LC=D zf6>!#68UA{_tBM-Kb3-jcZ@Yyss`rFt^A#BSYk?%HgMuU55DmbYF7kL*!yd>9^E+Q zs4$S_@5E>{3(B$lbM-F{SwJu|qqlZu+7U8*;+q9$7*U5N|NiWC>!blU)b$?{$j;1; zak^eAYCIIeV>tI|#GJAUlEyr}b|rTW7(nxdhg^GdXe83mX~tz=wVU9!6hlJkYyb7lNCJ1wxbUQv}4ZKA}fJ83jFDU{aN@I z{D3|!=HoomsYRL9eFMKq;ePChTuH6`#UEUA7e%X+0VhrUsYtbPBfQaXwQ3zBqMflx zU`M@8eARpWiDSb!Ux?<23m2=l>c@IvWI_@TVqNxE>(M~Z^mkxk-&?2oheM0q-o&un zvnsVNAnRtXsE?8Ol=%ndqN%~r0$?r8&j9ubOC`W2w4D>FEz!Sr$FkId?8fs8)|e>6 zKF)0~^4ugMJv0U^iT7V_#Q{|WwYK|W$1DR7O*kUJ-G%aH+HH6JWB`%0&p$@E|CQHX zuj1u?a(3=?WCtNZ8IcyJt55;HgbAtCkf7B$vbTP|dJjpEVK)8=<%Beu16kH9!{Jm) zA5_oedb(ccnuWuO6_d)>UuaG3&E2tQ(;6xjjDSj?D6p$pn~DhzHHRgll7-939y6O&R_q{mR*_%m zmSo`D6hbDL{3`R`bscxn=7PlHhC#{Giehc;2tQMN#wVk_Z$qBr_mbOx%mv{~E75BITA{yF<&DJ&P@pJ@3rF_lvcpjCVK#p4oR4Drp0|r{oW(MKOZAJ&- zj=U0mHyey8uC9-!){){9N38|OlMf314XJwr=X_!-6@VCve^Cq1O2VI^T!Pm{_{b}!ByP88` z9rx;~o6JhY&ov&#i5xV+bj@-HV(kslth4H4o`k2qtBR6z`WB8@=V-=1ql@cYB=~Ny z_8wVYq$)$S4Ca}Q?L81rTmb!k20Mb6OtW(|NjvS7IWfw2OkG&;s_iCIjJcd0N04Hx8TJKd81|JKvj;Y()3LVRx zJW>AIZds8P@Hh@STgu%wjfxk_=r=jD-AG8cy4`L*07=>xp&`K2hu#cI#%3A`}=UP;+FRYoHc*hvsV0P`b(IoYHbt-0Cj1+W$!hCwk-Owbt43;v^qw7(WIoC z7eY=#03@CE%!|+@b}jTxdZL-AqR{aw=z!gY{?oMO&X>iL)*A>QnSGFSa)({a4Y!Q; zO5@bz?H8~imVZJ5q)#xo*5BHb}9HaU&0@Vs?TS?irFypkxf9-KWJXJ1u(3C zJBQ(o4{%QH99oasS{|8WxbqhM3orZD6k=-nTWLD?8=D4WO|8;1z9rD9}jc$4H1VNYdn10OV3LjvJ_yG*<6SyBa zO-IMJFou+sFg4*BzRR6~Ti)o({+=N~`%s?mwCR<^KA@d_-H54c=It&P&Mxri)LNrM zY{2mdDqm9FkvP*9Zhc`U=j$|IW7QJ`QI5t&U?n__)P@ZGvIf-)K=n0wg%WRU6~z%VP)LL(P3}d8~@Di6u;V+sH?t{Rni8%ncb=LT87aU;XK`0OsUrg2her5 z^$g^IJkH`P@C%U9q6_0_XOi}#&o_IgV#XrMU5n#E9!dI9^R$rh6zB}sQ-1MPyA@t$ znyaLU*g~iR=xqxngFG#3#eUbq6(W{-#d&x8ORFA1qP!WUun0>+y?XSARAmGx^|gUx zR9WCta%`ZwJ{U|VNWr}O=>l`WoNct2LRkxX|K{*>_GF)WJBLD4g@iP68e}X1n-9A_ zql|MmEaclwP-EYGXU3*hC=AgS-F%63aJ&Q z8fE>ckGPDEDjXT(px8#I!-J`Q2Mew7N8?HEt4fMT`_Uq4_$PsB>YYt(Op-?El}q6# zg!H<1gPee!j{G!ZI#=0}yhX-Z)DdM)5INwd({cA^$?KYUUpGJlcFB%w<;DTeA@25zNP;|3!9uI=#D#eob^(B3jc zk_Gt^OHgjv(?A&e?rdUWwXq8A`o)FifP>85l#76|vWsM^owk$0xrJqAWWSNi!Crxy zX8=H8H3hI6-WvxkZrQ$1kka4g%~JeQnR4S)dNvO6J^1=@S<{_Tt zZ1>o!S;WCCUoyo{i$gM>U;BxzWd)-d5{A))tI5^0iS3_u4)i?8wDLrN!nFboeP6-- zazBW(G2BUOImRU?lb5v74$*+6mqWw1WPg1m&8$3^1B98eq3Be(940lg6U)*q$50VF4UA;Z4OvlyOX zT1Z0)=D-gSze;zY(3G%n99XfOMf!-w#QbEh`7;tgT&eVcYDfvdMqZcq0H-^rzA0Uq zXO=hO%`a##B5jweCT|rsP3h2pV9{j!hZyzvBCkUPXjA*xO)@etV@s()6mV5$A%&0* z1_q%4tke&%4|~Xdp3pr*O!+sjApoqmR!Y-6%=O78Ksq|$g)1|iwuve%`|F99`{(03B?6A~E@l#G!HYI*+86CnnGft;$u7&AQHqm*`}I-|`Mwov6;? zL0b4`^WEO{GQKIo^qI&lp)T=`ZEbZ6hB0LOPX%hpm@Uc2ymm66F)%g-fZ}u&VFSDy zCg7`u#W9hEH=0Yk3{MUEU_nG+TaT9SAVwfd7b&$g#pH<8yI_s*H+9Rs&0yK(RnCEahXH2Zj#2WD$*pdDsE2n76+5&>ttLAB>D z^h*S(dmM#=v)H8<0DF1bB}13~oxi_~LQu}&aKzc|lO=Z-n^gcETP-Mtj42R{z3%BB z#UJFrcxRNZ&!7Nw+>tiJ{N$El2jxQ=@u%0PdMke=P4dEa%aFtRXP1%k8Wa~OpBdSf zuc({n#F4+TEf23!;sR!!670CyL7?M$mQCspD%n%~@c9ejI~XD+Wl0mXz~}4z%CnMwCGPuejsbJxLzfHQ z(FSIo1@uu|u5Ao!!rE`AVO#lFF5aiB(DHz@L79$w)%oSUF>(G|O7F)175y zrf84)8weSETa@vjD0uW@lDRxZ+&lSH8J(ZNh#xVI%8TTj^hZd^mslPoiLHcg}F0bR7l=Om-mkoi8z9}ajlF6d8z`tlT4Wj*feti^dd zvfE9pJSt0#L*{*uHFSXNP(o4lTx)oj-hDLs*Jt!yZFOYxsp1Ze<9F)*AK#^ecAIH= zED4>w>W@ebBxt{w|8oT+IFoUm=}Wc=rv#{b(kZQ_!Xn(UzpJuC>{CMu$xkP^Gp^0= zHERr!40+)KB=3@(wxft#ztp_fLW||iME0*0hs->B*ta_bZGSg8V=&`j%{{bdst&cX z!sgTPa)n(?B}GZc2VAWRj8EP7@m||FJ`g|#Hz%|*tkXA{Dr-NG-+1ACZ6+jd;qqMb z`P+QQGZIQ5^t8&~-szmI``vP1O-q`QVfFRzJNQt?k_VVFlEMJ&{g+etcnBeZ3QQJ{ z*v;^Ylkh*j7eK+YkuHNvAn+~p#W(gvLKfw-h(t9eTUuq|AZRXxAw7ERSWdz+&M&1$ z7(`$==6o%hzxxvs)<{g*|5Xrbr0C#JdenNNfY{v5n98Y_zOmB!nk(>pTRAqeC^yBSyU6#!)KogD>@HN36LWi2%U-hZnv5i z_OG5mhW*70q++xXc$#&}e;5RsH`^mREk!K!Rp#!4>N zVgNB9!wwRHu5~3tTEaIz=43fP@S&n?x~L-AT^CdWW!npGpSS>%`#K`P6-4RbVSh9cFl_!i8ubrIMx1A6F@NdnH6wcTP`;7X!RR#siNg!8mK!>V8_@82|`1B_SW5XvAdbfA7m#Fe*0dO^%qzRId?N<SH_nzNH9yM}esb z|2@_)UG(Vw?t3PoQ~OQnCCSn?=2O=7=QIjUq&GU^ZfbSHCKG=G0#vl!a<^R`)=c_b z;m@xP%}+30#nKr=+Bidflt|GznPLR~v|?JiQI*@a_H9+*ZVW&Ga-c;L@w&CcVlDvt zD;iL3i}SDK^cxo-6pLo@(PCOHFN6y=Br$S|RyTkuXwOk!baTp=rr#n@>weQ~;Wt16 z*iU5C6x04qqd0)KC@dBnID2j0erqRX1Z2p7Wk=U67JTY13xt#DBdv)n?c#$ZoqDE| zu}Z5!;;HZM^}B3&Ru&E=)b)w4;x7v~vN%?MLW3}oXPZaOmIk$qye!9*mK~lhYDfR) z1>jK<+sHQqm}9ck&8(jG;W56ZuypKRBwlrh(f#?*?KlEowMSo&6F#qMDsHuc`!DqcFJ3i*iRG%5oJ5vN$>mJ zs_t&z*;qSc*&CX)l<5XsgNgd15j)BIiCV}-*=QZ1p$sKNzJDF)K}`^){m}|&ZUsHM}<)<2WPzwjW>qi zx9i-W4Lo8HX%xi2UBaquVQ<$uQ#9ZZZN`aSJ3O@G3}Qx?Myin*%lVYCvLlyCzdmHE zgG|btt|RiaKmB%H{#zJqJi3BOVcje|5H@jZ%TR?8#~lG@^dD5tw@W)h}0A;l^_DFdb$*Q zeO#c*S|iD|Z0gkum&)g-x2mR9xAmAV)FHpTIiSej3%PIvZY2u ztztG6Ed|>%Og8>9wW)T+P4*oHFH1DKlB}^U{$-sz+_2X4*)HbEJ_23?pFqRmF*FPp z2_WnGcj?3Q*58<*M?&S?6yH%VEYpNRz~Q%!H|e>w zP|PEhQN2eU?Sqp3^>*MlO|xz4U=nQcjNFKBJ8YF}P9e6+Ai(d-8@0~Q%+_y#*CTuB ztzXrB5Mu1Q8>;;eR#$EQJYR?ry*KPUF{H?r@Qn6^9{Bfv<}1AM6(aL1VR6@W3t8f zna-AD0HOu=<$jV`y$GsU!0vm7o%4h5UZRGiEyDyvj1ypM>SZ0$DD59+v5&c`nIa9A z5BF}(Pltq3U}?Z>C{KKSJ}UJC8dYWV&bG;rR3*Y4+#&dP$%=kt$et%41<^&=%2??o zqc^ttOt=gMFyFU0An8&|k9{?^je|~b)q_C!Fh)Wj8!Dl z9QyFRxlr{tAQ%~7jSB0)kKP?d0d_?whM{uw6rW&WG!Wqar`FsFZ%H!NV|;4Ls`ylW z5abk12)-I-#B^?|8k0gT<>bh1W+_Dk?{6cwg+%>5>np9h2Z8PTgY+5q4ibPfen>hf zdL8cVk~AN4isEu-(S>T%0%I_Ms^*sNeZ&-ec)xx4x@ZHHyV`{&R!&%o*<*urM zoC?wzc$4j|Um$#t$RlR{SF;^1Fq$R8Q5a}Z`cRvVmdBiyg_BYctfesw3>c=~b-?Mw zDI~qO_+9a;M|T!dUG&@z$_uqC#}n6m5(@DR9caX?H)Xb|Pc@p~!Aw-g!VN6B6H}EJwbfTGgrbqGy4=R`7tQRiaTN4? z-~DSUQz7<%k@j+kWDPP~=^1cGyMdiiD9{R1rPOwkAnM4zD-$>?`%9c89!@iZdq+hO zWZU-Sef|ET2PrBLFZVP3kR_YPbi_IMrVt0VcKvjNhAoJQ_H*I*pD{1k=9AF(WHSJs zhSWZGd%}ZG-W7GxO?nTUL;0lKi1j0~60bvHJ|#vNM{5k`4=+yM@@c zaisf0G7|CWY+IDUQl8IwN|b3a-y~tbJB@G+iQI4kj1Ne6OC4F^ST8cm^J)N+1GvqAnH{(-i zb&l#C(?ws9Z<$)vRF`D>!qrfP`a*>375Za%@6FHGIqH%RaR zIiuL}L`eA2!6}9ZC!_Ub3Y2adW#1g;BsgXE?|#%IVKADXZP$d(uN9nXhktZ=HSuLCsw4Uf;4zm|TesDo{mN zZ3eV|{m>%!pJlzU0BVPe@O5_oJ;D2Z!-ZLdFW-mUXY{>d^`Fl*i(P85DzWUd!?F6< z+2q@#m7x-Pz}q3MSR&`>+Zpk7>~7MmZxt!xyUKu`7Px zU-rlrb-~bEDzitW4kUWR3NzVFTYN$`y8&5G*n z@jhB$KII1mjh_*n*{{8E0-h|d9VGsXx8`Op2&~aWVG}iekG~_jSrHnIFasG%6MQH! z=YNc!t28ZpO5S?&VKmfSdyh}Y#{~t*@_-Rqrw{?#Y-4-?dc>)*zX2F_F?UQ4TyfVe z@B#@(-?V-)Ht0W3gm1h0?&&w*M~qG^3AEum*T$A4#d#~dE^tF{?W+@j{v z&sH%wu$vUX4o6DvaNqMBX`$%r*21|4U0m8TpY@u{Ff@citBJN_!RNhB!e?skw`i^)K@ zz6ZXdo8@NK4Fqewv;U5vO6v34{(yR&O!>GijO1nsS#cb*lqPMKs>o|=h@ zw1-c8pXO|Ves&l-rl+x)q+pmEMIUH0nCh^Zs#HzFwbQ=SoO$Yem5!VofDzE2qrz75 zxnLIw9^jpKsp6NMdUxFxyLCR4!E2NZ<|HOV#*#b$9n_a)09l8y`RL%S;R>}>m8&&C zbSy@A_iYN$%-TGsGR&fVM&U~3#nr)%34 z{h}qo?NUIIk86<7*SgCmL;w{695n_dXbA~{W(f!5(R$^!CJ3~r>;o8Pw_m2CMUWl$ zw}%xCke=`1j<3&bXN+cS5QYj>Uu1b#tK~1!1Wl#Jht|abJGaOIU z3YUVMMI@E%8X4TN->0h{8zU{UwYg(me_}4(wJ+L9no}!>$M|;Pnn8V`PDKM9TslKr z%dRjG@v|5Yu{j}1S7WTiYm6kPy6an~^q2R*UTj9*s_n|j?8AD!MvohCYVOwS#3Qso z_Z+?QZ9SvHu`uJ5xi+Nv#32>#)o&X6xEp`_=~0~Bm5Z&422%~UaS>k2&9 zT$%DE-+^*`EsUj{|8Q#oebDPvsFCsU7P zO!4O#8Ha!rdk+tsiaN#UHN9OGvR(WzF-PLAa@*eF^qOuZ?T-5;OcutJc9Fa!`lddau z`)Bd7)Y-KvG+YdM_ zbcwe?gQftLOZXnx;nz}(m{izJ2mVmJn{@s4RT2{4y!YmEh*)5lyiR)CAV+ABJvP|5)cm*d>7o^F3qM`f z-7RWW-2L>P<#JxLL&fJ^1J`0`Tr_T486f%HDG#7xb)0iUAFF(GQ=mGkzBSpmzh8l9 zf2*e^I{l+waef|l0}s{W$3s2oyL65E??+tTZ0r3WQ)jsqSKD;!)wsL6ySr-$1P|`+ z8a#LtG`IwJ2q6S_cXtWy4<6i|=Ii&z9%G-vS~cn}nRQK!yAiQ(m_|n^6~IMn{G)|v zjj+bmySpXe2jta4QYf%VpyjaHxd2b%&wdq+|GfNf6_`v&m*!Jr_wz;bs~sqv@@%Uo zO_X}H4Czv@eYe-3OAqZ$8_|HMG)^&17cx#OOT1r;qhc|VuxrtvP*Kd*>*a=&YVAH z2uoYVx#Gv-uN=qXSGt~rD@wLerU>%p(Gjwrcz7aFyQ4XOA6f-bx|O*F}m4CW4;>`y&w*_^<@cX)E8T5 z_>h($fDM=Jo68jVf%RXD%TD@E0Fg#OApOcf9}TKls3cpD2U8V_$Sx*SeBe|E!ObsO zDZcn6nqDQ{YCYZ~n^iweVrF(DK;UJ?(byY`{@#LN2n&=mEv5ogtSD8<+c`2WO@_Jo zrR_C+uQ?!1Mnu5)Ve?1LKHTa>kt5!|K58_5`<2Cw5Ak!7m^U3x2g1Hw6rF;_t+es z^18dm)7AW^_j#fgp@JPyYxZ9r>tO!$>|?J~~D6oKt?8x-Xi#|be7u!Sav4m|r%8Su=6M>HqO<60gKAldW{S?Z&D|k9V61@N{}QVp)+cdGUN%e+m@MKRE8fDot1v z-9Bad+`Xb@2%krq@6@lTHU#J6F))rd2j(t>jB>wX4Wl0z8#{4Szn%-;UN60;iG&)? z_hvXww0&XTby{`6hR2w;ydd)5u-`}35%%Svn9L1l zJDX-NOOzNIK5j!AH?ki1^}*o`*MHCW4kq0nn_pg{lEOYvImO2X_39h0Sk!#aHw4H0 zU1nG8Tp;WDVJ!PtFdWeFm#dxWq{}An-_Rv%-LYb?I^~F47Tr(GR(8AUf~uIZ)ttR* zb{kkG+Hqx3C+S~HildiDnTRqo(?34<(7GCU5o=tsLaT$5Y|fR)O71YguI_&2;uAz% zkmHZo`_~WJP2vG>mGhn27zbj3gPQ{}gs@Bf^=GQ72`M2*M8nu8TmhJrU0-xQOFZuJ z{Ili0Jz-0PbN+T>pzsbVKQn*8F%CM8@q8Wex0@T(lat3zoMz|{%loN{!r=ac$5%qK z4k;`>O;$MY_pP#Rw~wZy{lC6>LK`~uwm==&K;LA{E5wUa2NiV{EFYZ&5^}mm3lz-p zE&?{lFD{Pl!dbgB4WF+u9Nn*ueosol@|~hSiL90KvdDoTSU5e<>PZO;YN)*m02~ zWbUj!7pMt=Wx3~)!LpJIf4qzijuaovxjS9Ss3P0^mAwV=cX&IHb5JvPi{T!!bm07E z{w+^$j;f9X_~CD^E{#Up?Inndp!=2gr2U2;`T>|O+_|^oX&7U^NW1jdmiFl8#73q9Xhs zfYYariO7rD6;5z!5|uA3U=@~F9)$y~Ct4^3a8OsQ0kb^RF9BjjORSdmzZwGJg#xIG z`5tG#>EQz;z9c7-wGE2m4a;!U62HblUWMos&H2WM9nXhv67kZy7I>-fU|*f|KWK}7 zhke7qGCNBVw7t6v(Rh}6o`f8-j*EjoDfKL4;mtH7rAFYvBLn16F%qudEL!e= zc853{4=ddWul~GooTlN@e-#=f>*dXZWpEb$OL&E;>94ZPBMq<@uJ|m-GJANeG!+de zBig%vjNJhI5Rc=Hxk;$ig_Xb3j4b}h4`ZXt(J9p7Fzx#J!ZcV~u=}20Bx>7a>mv;a${UuO@4Bb9pAKGC5Xm<^OY z@~2YLrODKq+N#TQKd~ik#kd4Xbph%^6Z!`QP;QK~{KJ1U@*)+4G=7O z+!kMnKYZRjrcilE#DeQ~rGe;C>Q2pEe9XvLBRGR{DbU&6%oV*GN)9bemD@W++P+Nt z7>~%cDC3n7o$GOODf)aSUfc3ye2e+v*30LtWAT7DZg-F03{L;3*CRHFqrv{g>NKZP_MfBwIVmOMGzj)U>;o!oT z^Nun&*~PP9&;5z`)ontOsbvVqiUo0?_-)q)~GVHu@|*k-vqW;iIyT ze>{@^nU_qsOXDs<)8T8OPoh7|d^baaM||XpiIt_&fZ+K5tNZQ=0vNqakF)%l*Inp-;!9+Cfxh{SCs%ub`K)RuoI(=Rr_E;@0ifM4l&hHD?^i59`WS+|CdF~ zQ_RnOkfjhS0OTD06se1IX9tuLLO*aYb4F`)C?1A_i_>YtmDKOFYvY46S20` z;0%^TrErf%v}RO&3`o4t48ARE{>#Tq-`rp^j#-AG6xu0MqC44Lfeoi_qc{AlZa zPq84g>corUYP3{G0CxK9h~vwB zj{YL9M|y?8oXL7-JJ<*dRSxKL3^*E)_@TX2OzFa%25dnO&HjW+YLlAcBy>EidU3dK zG+rFu#V#qlSPsLY-4Rh}ej+78`i)a+XIaxHzZdfNnu-TxS>$unOq|im^fhsgIVE=B z-o}|2uv?-(SE2?Xbm>~xZJT~4FF}vgv}8wE7Mr>T6~xM-+ZZZ9xZz((`^dW=M*Qs` zLe*xA z7iX1!(4@exf~|FAxt~tBpos`pG>?4%ad&901o&PEN06eHLdcu$kG4k{?VbrQ3dNN# zp(0W$;L`_bt+f$_6{8;UTJEG}O`N?5W5ciF2f^1x6Z)#;gZ%ZvqMrsAOD6`(z2kR` zV0+Gp^lb5fKfQyWffW|icb77>PG=`F(qe3WldpLZl26QMpdt_T$KPw=errFGD?p^; zQy%Fps4qW`y#$~w*%Iw!BaD>t#2g|QA?szqGbSU2+4u>u#p|Ru6burOd4Pz>cLD=r zQSpVqEFOMD2mJbp5(?8OSmCHc{eudTsi`{huP5d@i9=ob(*#BZVhW1K+q7^JZ%J>) z&Jnl|+pqOBQK*hdwZ*mP%9ktCcYXcXj;_bH$2jO%K|wk%Wse@mmdD~gx0nwb%s%4N zWwJ;gvhF8SJVuJRwdA3dko$0)#dF}Q4Ac3zstj&YY87Qe+8&k%N{Rt3CoA&EH%##- zUW&P*Zuwoobv0edD`LO1F|VwPo@dvuX!3GXD6x(M&uaR>byEDO^28|SG6ff3-YtOf zT_(8O1R(P6<^j@Y0fLiRD1I`1I; zowU(q9V%J-HNt^sXcUPA-cgj?8^D~rMZRN59f!UUh1EOQCvae=!a;&SY(t!@^;pON zK}e3iA41fGI8^K4@U5aJ#&O9$V%bvcu+AFJU0_xUHct$&v;C;1|8;P8JPVgxuLRJn zvk8}q=xod718yrbPY}Re&w^Jtvy(rs^?{6ZtHCAQa-ioY8#CqQ*Gj=Nfs|7`_^LIX z;wK|*%~4aaaHuiqe45|uIbM+*(A!2Mgm-BfNNhl@S>Lq+={(Pc#UF~dy(Tf* zUHz9ZGuat9aYC!-F3(3!=Fl@-AoGuf1Mr+Lenmc_!&I!)&?4SC$rL{+)k>0jx@Rt9 zZ09r$g*O{AP-o;x@r`^(kCDWHTQ)tNi7G7~G+upw>;8LIEv|wHJ3yH*)R8GAgVmIU zpd;T`F0hyjv5T%)Qx;9sZc9?18m= z04Wx|9TUtiS&WgyF8JF=>0PfDSU|R>ZxmX2fKV{2sAH}z@Ch#zULv0m`sD?M?#T{i zc;k~CBu)vAg1}E!9{r2+_mQ0VtVloMT_#poieiMoUtqf~P|#O1hCzrvW{u*t1Xv!A z135pj4OLsndtg``k`nvLd~j_g9anU;+-IfNpYrn>XAXBx>W6qw^l6l|IlY_tDE-;v zWLb`@Z?>)T_Dut#N(T=UE`~W=5Fqp#b@Wq~TNN?hMnij@A$M3ST>37baz0j?+UZB& z_=FWyUVzyvQyyO`$|~1fH@bNGd(Hp23cs!2es5?j;V0PJ<_2Y)ub%$RKNTT;qT|9^ ztX;?VqHX-8c_bATjOJMUgcl4eg~rv?vN0e|K>+sIdevEdd3~4e-zbOiBSk$@eViB~ zYOi@zO$OKG{iNGANEmt>#Zhl@cCxRk5@Z*RKY0;g4B7XZygL#fGSJ4X)8fI*G@Z>y zz!f-+QPD15W72|X}n)#M>BalC;=nz4m%b1OU);5wYmu3Mk5A17)UCN~;>vY_;fEmbY0rA2vW<7bp_csU{bH+8dBd_L<4 z^Zr$K^q#ubqTDhJ+L=66c^LRSvjH2v94pIZ7{y%=cH`V5qcBolv=soiEv*4-+;d>o zIxG@sdxBU&7&JoG$>G}-p>jo5>6ENNsgIfrOGEjZazbzDpw~WKZ=bMb4w$Ku=}-a< zzd7<_HMbCiAOx7P;s*ReNwiP|F#T#5_B?Ki*Agb6)Uiiq zn%vx#&618Z>K9*vTV;R_^z;0wW}*%u0n)JM%8V=su+-QXq$X>hC}-GmtJ9+$}8E#cV^&HXMXtI)q@H0GvPe~+eJg}?i;rxY4JtuHVm0@w`xQC z^!Jrsi*1K0Np3A5wkAYpOmW?f_`dC{!*4AFjW8%4B1g8c5MG`KywAz}F)6=cG_5W0STgBSRSh54&b#7ErO(~9 zone@8d6O!2CZQNTSr7TP1o}H(6SS%vfDq|w#*QYt9guS2g9qSS{I`A4 z0a@`v$R=xuQJ@EGp<_kAlWu;^xXm<^01z8It#dVmP9)3H2O@w(2FLyzn_N0tOwa!{ zbP*i$b>s_b9_z+P1o*16EL{Y*k&G$4@M{}I)q>UYAqh0ONc&e--;KH7Xrlw;qh(zz zRM0@li{nVvuv4M~^zngb0h%UMF2lz-5Yr=F6==CGV`6~jd+Pj(lZ;Q2zWW9DK=YG_ z-h1z#4-<;ZXExtd_OR4s(0Uq@G3e8E{Tx$>f}y-Kqt(lzPAw(Gtxg0$?-s*RGh?%X zT{}C*LsJ`Qk$$vY*ERZYn1jWj44-Ps(vY=EY)HtF9MPkl@7vR90wnxA;K6q_fuZQ} z&r3E2pmokc%`Y+d3IoiX`&>oTuR`8;Zrkx4NMOMB3Q3J-^~Cj}x<7w78I4>)=>9`o z4T^>W+Ul8T2&jx(BR^(T(+Vu5C3rD1`pli>f%xL#&Boo7e2f`nEl^;jreU>Ka99V5 ze8PZ&R^4kZBG&30M3f@)laU;5^H52`pg)DS>tnCL46oR}@j<6cZ2&il91k;)k%}9C ziBd^34mQk>8q<3pt!LE(PyhkS1c^Q9V(zuxdMBQ+R%ni={w}$qu_T!|eTdA&eGQFN zc9pc362@=#Cngc7V2N_-C}Zup*Z=q3V{p-ZHpS2EDE#G*FnObi!=wPyxOtzNl8jbH znCh#M>JjbvTP)hyz2~YRUsv*l;7`F+PN~3sdj+$80&p3N@FtrC(vfQJIe+aP<%!~R zqUIl%nLIDEUw%ES~#r^mE2>`C@b7cdb zHac2Vg=08V5Ue^J`$~SHKWt+2D7!~J^&?UiIOe~yZM3*kR-`}jwDj}Uo_%oQ&2kSw z4_u{WMMMT-E74TwL$OrT?h_T#UL+pRNdOMUW%NyYXPagvX`}3ntO~~aIOB4>nk%g( z1TYHZs%P#G*UM{@Izx`l-^Zw`&S#cRNJ+Kk;Q{OXY0q3*N*GrIpPO^RZ^a#~O0pM$ z_Ewx~&^Cgo<&(VbCm5cG7P~)?U(X57g;t7G8%hs8Q*~WE9q4?$h4l74nM<6;P~M=w zeO-*x&zqz!XK`RgVwssX=?_$l68suKSy7iyY(VM!v~u2+8OO4jS{FS}$o1>W*{%-Y za(=S4>VIg@*Q&#Rv;IwS&l?RCB*#$#Rk*L2*N=JnqcAlzfbw)CvQZ2s-)&2j7iOOP zBvOwaFP0zzm_+0{1@Dn}i7N-TKa_uKDiQMoDc_O13`NU3%{ez^#OBLDq}?k-?Jv0$ zLRUVf>ftUn#~{Dcg1AiDxkBnJ*qgX{6-Iq;4~z`UIv!hj%TGF&{fF>p*Df9Xwp8oh z!pTzTsl&cL^em9-MA)LY6jPpdfLtEQ(1Dg<8*&jOE7)}_I4{uwO$;1y5eiaBm_L`J z)lWX~^gj`#Y3Y3D0kC$H#j~sm%RmLyYdY}Y`&EKiOyA^PE2S-M*dBK0jC!4l|K$*Z z`cz8}H~hiiRFYq6nYiVkcnW^=L86rgf*Mr|Kxo(^fRH!X;~ji-rKbLnd-1b9P5^J6 zB7Oi72>tRl2oo2q4hz-k`e1o5;KQmjf<7_BNh6gCa5}!T-E3O3k2(-;M^7F$_?R1p z1KZE3Cc3kC#E8Ut!@E=zs1?X=I0^cs`p{Y2U=#*}tO#Vv$L@YNe~!LoijrEwka98P z3c0!ILGwb3qc=6cGmzn98$Zt-6F&osfOTN&s?yJ>B+8J%MLU)ny^rpn{GTRg(ctzD zp#X*MJ+jK75}v8Xk*(aF!k1WIy~ z91p@SH@;M3;lZy)5#IMC{}g$xQq!86wCZl1DV!f|ml~NqRvQbtvVu4!XBp%OuzyLE zJ(RL!-o|0|+~`AdA2Rxi*i#nG^RY28@Qdwz&eGgG4l~Izo~x5;?zlAbo_~A8&j$@1 z`)2y_z~i)glPEIlsGl}W(R@rIgoCf+9>K4lF~7*r^($%IeJ{QON~u=2?8u>*wZ6o zr!AIDH7{ZuKza=j64a9q&C5H~wc&E*plt$yF?}`-=pOE4xicxS2mb|ykVnUiFv=dE0Se53LtA$NT2)3xBp-9Tp&4vUVK4Y6l_#c(7tq zZ#2fvNbvMu#49SGK|%u@NpycjG-3oXlV$1nx1aqG-r#^hd}lClC{&TD3Nfh$Oarx|Xg~J8){ni6NY!dq6aWB+ z?#pwPH60cV82PnckP_lM-SbEJVsX0&UZ*!R$QFi-#sQXzDhf94!H-XLx$r*;DYK4{ zIkj1i9t{k1nVq2X7IPByqZoh2X>_FDY`|@=WRNEXFd-^5uGhYHlEC3ek;uEvc^BJ* zoQvM4@jxu>$JP-*<6)eDJKhTbw{)YwVc!0bNe$_E>%cF=@ZXf}z~r>8=y9x0&u_CK zLIx=U^4zWVwm&H%WOuf}p#TEFkz*;Rj-d6 z<~g~3v4jZRRJ@%=AO2%T0InO|r5q~W^$yLe5nt;hJLGarA+aujyTl^km^UnctcWA= zd%?a(Zo~@jWIo?KGLB5a_B*fP(6_+r3mz}tyN)Pe#${J;u#sdsS+dCRaXQ z(bZ4;zp5m}#e7h=jxaTa$+w~d6|25d>=$1My=k_kvoiKPN$E;+Es|Q5Nol0yz0li# z?7_&a$<&k2>K2hTul;rF+t3%4uD?&Z8pVcsTW-~fjZhs-Y5;0#IF<5RDj0FW1;oA& ziT}NrIdg8-r!UcA_2|<4_d{vKU4{h~7(DJT5V6iGv2frC*nXoL`U@LHeYeK>#?BAf zO`mtPTsPZ374U{z=c_Td(qo$be5x+-3Pm7rEV-2WrlSMCp}RpAO0+9@^x4=cVLj&_ zXg!Zmu=U5n;t&X3L=lxhUbH0{Jp;qMjBiz1=K*o6@HyF8oElK4ci2HIJ@D67 z9fm0EwqPv2F{Gq~_LKXmN)WO8~!jw&oljAHt$=%7T>`%PuN zeO=-wV~bFz8yj3@@qm6&C8M5Yv^ddEG7O=ZV5s(TZAsutqJ6TJ4E6j5<_r%o`jCh- z{FohQAM3{NKfdW8|bi|8K~kgBm!|Ie`d z@F<7=bjuA+M{|al`nzy2Q})XdG2>Vfk0VX|#UO}i(e6FQS@0$Eapwi??JL9o1b0MQ~yO z*CSlHO1jqqMpyqWwc{y~_4+X>xznDI4ujkm-T%6x(XCKt{Ksmo0h{fNPcQYf(OnPX zSwZiJ^T6w_=9z?%>8~8;_DDd8N3StF3L=XB@f!66R@u57dR`@h!v&}x$m|kW;}5D% za4+d|7@@W&7hA}s?w44Oa^C~E!vSG?uv;I)=+wqMC}M(*9} z4>=3?KPWV6xairq$2*4t+nXnd{_~HgDNx;|;AEt6G}rXBa0E}NgOj@>lq?+AS72abo)kHA`-LMFUc$u zuxF~ckvg<((QY0$t+u}(>fcpzXQ_jRxqqzT{ip7UvAmg8cGr&xECh^hWw-VpB{v1x z1r4_mWiu{sh1)v6psh3lXj_5z?I|m!V=fmoT90Ab70{U>+vUx*NU{37L(huctV%0{ z0~UaXe6Nf7Dp12^Cs;7DGkmp|k@dzwes1#XB>$OaqvJxF#G=q91qT5f7M?>G65*ss z1XBmEvGwoU13B`m_flr9F4st5%mXB8tUQ$Ds`3JM47%%-x5l<+;eroKhoTtGjD3 zR|&NNy{jG1zZBPw#|zj;uhPB$l)X1vEe0reQ{9LS(~BYG54lfU+W+9FM+AnZt;Fe? z3bo+%aiFr89^dn0IbcSrf0^C{))Aq?k`CsdMNvM7!F<3Twu9u==eCu#Qq=~;-`o*} zI6V;*j0k&U?O*kO!vL^>!W$a&!`7L#hNd3zP`&3^xV_Y2 zl6mjdQ0+Ni65HWiz6n%k;u~+!4WU0XugsQbC;R-!GKe6U@i*eBVfwaCMYZHm&s_f#9r*7phK#@+1U2GkijMkd(=t z6KYSmH{<=ct{mLQIF>qQCEOPke7s`%)rUR*U0+{IZQ!V3mw_D^zlDvzVGR8=_?<_` z7~SgoUa)E2dSP$(>kkCUSBad%q|Z1mS7J7Vxfpn6EshTR{L_Q<^J9(hW(qQ;FM$>d zsXzLg5U#_Wl@BzWa>#&w+%FEaR+CUxC|6bU@K@)XF@6K1*2tkV3>7zQKL*OJ5owG_ zcZC8qk(A0hD;ATA0IKBijFvP5ZZk`4E07uXp#PrJLTL}rwn*(|t+4>@6#uC%9`2ms->#$F8500aTx<+Ta?(Vy zllN6QZC}VHhn&KegDtb({`%P6YSKYk++ar~x8-KThOrq{aWGNtVW8$ens=jP()y@l zbV-^X3H*E!u6eqbB+YL420K=qm7r~#edGTx5TLefbHvec|D{abOsfCipb8t)pZFnOh_66{rD@#hgQl#<4=# zZr>%$_E_9DWB;qraNuS@R7tIf9l) z#JT>e)d6KchRaIXy8;~L7DfXLcpF>qGgcpu4e0vC1o<$$cqu9&tjMTSqQR7Wg`p1vI|=!;1m?x?lnV)mbo zwl41&`Y&z3%!0X)|9wUI*!%~iD`I~eL$74~A**W`DGkTfn28qrI~3Wojlt#LpNfV@KZ&*Y&?a+axpf53I)O zusx{*K5nj6pzYD7Hx^(f$FG_c@|}dqg~48bAY0W$>o1A-*mFYa48wY#3rO|!^mHco zp2GO;mhj)=+LrXLNq*qB1=Il;^;Yz?b9)3}HM+a$;t-k38Tfu42oip)Sf37tj*xd7!UHnbnyS9Z7~B?RI3p3<~*G(;C? zvpabwAN+;(%*$QiOl^H`!x6;XiT1Y1w=RrE4|=V@YF)zFo`O?Q>F9l0$uLc-aj?E?Y#f;ez7d zAPtglnX(CDgok^ox)<)&cF&!$p*b604~V^E>UO@=-!yFj;0OHwHSN-ba>g-Q?Aq!h*Dl11$3nT zpBCVT4xzvlLjthtm26UvXGAbzGx9Nyh&vy4MLzNmhPFX>Q_sf@P~nl@LsSW!`T?Gv zXLd=R$<|)(X(Np8%5wrco4`B{2cVqGBMNXy^xB3KGJe55K2duLr$CC>2P>}EJUkQFJ8W@D zyb|}xbv8VoD6)F`EaDR}YRu<2YCh3KKejShR>^Y&ZP3=fvKokPT*v@3;C7+44qi1a zSg?*eI^F>3+NfVpD%}pXAau}Baf(ykb*r4l;ka;~i3spsJODlO{3KYMqT{QJUq(G< z%azmG6A^Nav8er<+CG zRI8>|j{b^H3l&?r{na}`T}|nk*DaE{^!Mzy#z>qL8WKX)Z+%|tT0AX}{~qHOI2xk; znaJ7*94LZzBJ4!I_JQ%DVU5qO=NWUr^=g;$@7~%w81@e-AEol|g@1h-HMAwi+Xl6B z=S={jY!o}x6h>HK4s(C2`u&o#vNi<;WIjHHjNaS7ZelsvQpGe}@9pahYFQzG&QNUj z{ax}Y>e#sO^Vu6~C7LZnuc9-Z+&QA-*!j~ID!f#_0g0COdO8#xMDk$oUB z7Wwhj9U&Z&Pk87Qeo^sPUMU;Fk+7RIEQ0JheuMA|_(I-=JGR8uIvk^I?RcnxlhG9& zTP7WW(+@4Ft5l;Dyp9OUjGLh8F;v!R&9=CuWr-#j!=K)(OZ z&8oS7ZRna5U16FO936JcSdjM+IuZG-8Iw?5Au3R-4x}cF%9Ak%<+Yn9l)~q4jq2O~ zZOf5HwgORI=xPXk>W|{X+VM5L%f5YOvN5>iZQQ; z6c%B`T|N4~9Runc`5@Ir2Bk$fwI=<|JYw4yp2aJRSQBgjCGo!(&x!7i4Dhc)w8!sD z4Kt9x1}`1%Uoaq0P=@ARopGQC#-AVat+kzjPEf@H^wh_DJR!!KFhb6D_^(nIFOWEH zg2rY9*s;Bhk%3>T|7!_FKw=^m0AA?`7z%{aeWq%Yd^-xJ$?8kC-Y%q0yWc-lyUXMn zlf}z$CUYY+Z?6Db?T&=Ok&;dzJp_QHRSPx*`i6Yt)eh`kN$g1jNi_j`n8OMY^nNk8 z#~t_bEf5LWNa5~oj@7SIdZ^}3|;Ze%~sA{A;if9CKV`HU~q&1TdTJ0aywg} zI`{mrUbI$91l<+qS-s~@ool=g=FiST4Ow&y!Q z$}eDuJ^&NTTd=dD0&B%4_|ecs|F;GjVC-1eu$c^nV#*`IRKWm;A}g{;K--C1o?+Qq z`b5M`Rp_?_dv#m{@aP>3tygyW)2MOGA^=oIKaQpONc?Ne^W?aPmC}~91|7*%yf&td z+u%46i~jkEKDk&MGbOA<2l zvhT`0ye)IXz|24c-{>44z?NK2+FvIIR{`1 zQ;Qn^96I!V3qvmX&c14hW-kKv|57d+XA&8qS84#h^yitT=BB39a8uq_gx17EJ2M1e zhBDk?mm&EbuwNyBE4&D(>+_}?qq6cZ!FNBd!}f^bzSRLIGVa7#ybPzlpsZ|EDDv|Apc|9Hp9 zSoLrD_UW29=}81Oc;d>5G`F`#v3dXKCByunJdRM;pgQBDzLQqw>XW-|kCOwRwZOi3 z`^+sy=z+brWYld&qC^ph{=oV+aq^9M<3SeVCBkR*1GV?)T@!t&=(!+_yTII&;7Lc^JR#R~I6%yhj_D7JJ~s zf4TN^Z=oJK)^nZG?5tqvaTK{O_j^BRe;oYU-vlFtQM8E-2o(|w1e}H}lf_y0lJ5?n zCyoDpnN9c%O8_3u73UsywSeC{P4QrbAh@0yjo4YxJqb$qDp`N+uhB@jVqU!?t4~%~ z^5JE*lVj0B4u|@}&JZ?#ymwSB;f=;&Z3gpJ+} z3H^IW#D7GogQd+3nF?^o!C%Ok$`HJN5S|440G6i~z9U@62R7ZL+Yq=0tvdVD)C?ns)42t_=bcE7|Ra zBr=-%Y7+n~OOgm{BF{VsGB65P{^adnr31pI0?DS$P^I*k@3M^BV%+#U=ZjhMA36Da z$6-C&|CSzbGt%qLV7+r!9;wj0vL@Xb00o|O<3FIn-$Lf?ZvmzRqOgqDkp_{+(o>c1`bDS;q`k+hp}7%9V8hNQx< zq-Ah`+Dj5YAhtmO-Ti)&JM+x`XSL;`+A!X+fB@!yWu>j1G^R!Q1i>FI z=%dF6n&f$b9_ETmLQTB@D73DA4cw zpw&Npbr4>hhR~nw*^I|+Yt;~o6i zLat)>?$ceo)P2jp8mT>sRMjgkfzu2Wpo3OmzEDJ6=^6rgMi=W5f~~;NE#W>)&RM4K zaZ0U}gN5$kDEcG7C?lCu*o}@AV_zHmT|}3&U&d$7TT_7*k}Q16=KD9b5n#-brG5G(c1xe#`% zFfRWtLmag5t7=`O9chq=-)trBAJI6YQ{e$DxTxG9XIz2Cc_RukeBMBFUUcT8+J`qz z6ZNSD6?kfml89g?bGasBO!>zRY-NZj9NZeTt98m#mfXKcd<vN(*j!%WNv9kA&0Z%X)ZblYqxd z+i1Bzydp*CF_NY2(-KN&+0DNZnS^>k_JlfMG{`b-UtaxAEy*6N1n|4>PX#QHb!@^1 z5E=OhZftOl+)RrD9aLv6iw>)Q43EP6Dmkkto7&(|EFexK(9W_{D@>5_NI75#{Y8?g zw&tOq(@(*OYXC-k`QPW=tL~!BwXKiMHOy9$LmUEO#l3|Y=l#-XU>W9uoz;Edqo7ie z9+Cmh?ZbvUX-WwRjoK&%3${{cWmj1PTx_Gl5n5wda{EVADN4E#J&5mf{As3sFFqg? z;$=#>LPH4ky;KN(UQM?{?5%tNmNBt`_VAQ*gmqIVR4HP$QxrCg^tCe>BYIqif9L9^ zdipRhw+;OHfxJHbUsHB6{WB>QI{3kOP3k)vi%8R1_s{d4?o$1bJomS7e1z`M`eS!8 z=>9@SqEl7BekI8GGM&ZLY-G))U!pKffCd5UpBzim+-1D8ZD8UZON~GaFhh3zUC!E0 zWLG8?4s3nb!BaIXR{i5m3m!}?bp{%^Z@13lb@|W0gkh=(73lQ(3)Hkom;-j9^H9mB zUP%b%)9X3f4CczZ`ScRPCTWpbDB_lMx+DaT+&Bmp-JeLxX;e511=tG{$;oYp7k3!q z=G#apVH~_RKmf)(#+$8I1gfh=V{n)XNh`|?tZ!+G`&%r3HQv>oW~?<4r`xy{aPydJ`c15h0vFPwMVbo@XBmo0o`hb=pT*eA!=Q3EGM!*28%dI_ z5^?}<6K~VO>)%{EMd9plx0L)y(;#)V@K^a5e501W%g9}+s|)>*=^nX&i+UhdWy}MA z6P>AndLMeGRet+t;T(PFwf;pG+1gnJsHr%q21^9Q`s<=V3QeiMldAwv&&zn{kk|D8 znfxifAi0q918<3UJ`%DtsL8J9Aa8-kqTk}(Q1S$tlPphtK2-7N670Sn zmm=2u)VbOSWmuXO%2^@im8kT>km>DkH&2djD~p1z8W`2LP|omdR6)2KP0Cz(Cx-m!+Py~{V}zaw}d`q<4K zk9)Px5?PkBz8?@Z9{(RrXB7}t*GAzpG=ijbOLun)0wUcY-QC?oBds7UDUC36!yqY* zba!_*{PSJ>mvc2Y`<%1i^{(}-q^nylY#@n=q+DDZWqNyuJNm{q{0w3kI;?z&-Qm$X z_~4RZA&z+pn=gE|(p6mztpeQt8 z^LJ4_T*SJOZ?I8ON4no2!^|NZc*o$-cjXHLWE=AwPQq`>9uv4?@*&+FyN?PP7-Z|y zK*p!RZHhB!_RBPUZLLx{#Y1R3fy*!W@+@e&3YDIV16h;z16UKg%Jm>AarTWI$sRBo5Q<<>Cq)y2B4lpGP1KMmk z`ZUn@#O;MYG}3d&UBeU-bds_2C6b-`)S;=rg7PHU&@afo!vnTa@*&D8<%j%H_x#75 zea(QUHs7J(S(ll~NPA8sBvfXGYsxhM(At5a0EmlU<6_&(w<1H9 z_}&W_P_E9qFPTClM@>R8UYoQLQN5hw=)lzp(g8>XqPCf3LyAp)Ois4tys24 zO_RdEHZf=?I8LtR1bqsnc%eS-a_6%(6YF~k>Bmb@+D^ zi2s_n+?Jc2F8Ff=NDg4v=nxcMJ{v-LX6M8YJDv>iFji=1{bn%_%v*z<4%N`z$s!X*Z zas^C*50|NC8?j$AkiJ1+0YpkHw3g~YK=UgJmRZHCDG>G2`5L+U@7T#d-7~?l z>obBBGDmwT+U@!bm!v5c64?lfN@K2Aug0A=d0MD2eAQC0x?3Y8y=bC_V>Ie4hIMZ$MK-I00Eg^Y) ziU)vorZ(t01JyY)J!-nroB`oFndS4{@9<*-SaPV*Q6t}IHZ=UlhKkwtQll%Qlq_ewHN|_K!Vp08>fwkeD3*VPQDAvaKk~ zD7(L@gS|P(#H8Xc%|X`PvvV6i$3R1@304+Z4hDiS0m(yggI#51gFHi^Tq|L<*7BoT zJ<9bp9*r?z{KA@PGotf>@5E3jqA#R25K@DR(=~$|N2FApNp1fWZ&TGM71T4^njkK{ zd>fGFXdFqv`-5w^@?(RrhP|$dF8Hnwuwqnv7OOS2&wXLE5CRfsK(9IJa8zg# zFC83}IfZwXrL4z-!i96T_3E}*dQF~r5V)<8_+Hw=>G`}ptn*w?KOXzBJ#w9qmB1Z6 zp4Z!;J^=}>))LuNjva3WQm@^qb#!RoAL$r6r;)jjeMST&b8JESS?QcqXzu#6a2%c! zZvG6Dr)Jt6iAmeNgq&^X)#6NtCU@OhIOw-iDGZ#q>TYb^`v{)rIFz|x#I@F9tcK_C zmnTZ3H=oIf$ta0FRYi`FP*RTV?;UdU_#%`S$JSS52Q@2m?3qRN{vH-DHnnhl-B@)A zb|+if?y7%rrLB1fphxl6kJ{YNRrdTnUXo!VuN+tn7C=H;sA7hHR(pmvcGWD!ET<*p zktcatGJl*CVyL8{JCgs^S02$U!SKINP7RQ ze($LJqimahGF*`7K7TGdE7j~nih80%Syl45-`xYA`}-VnoDIl8_fNuuB*OdD%>>Z7Xv5-sMd;c@BS{-UpY6 zDUM%w&_8w=uC`wN&J(obwJP(GLWsl{W})mZfE*Vj6#5^5FJ0JXyBUPBj4_O&?g+S z_|1M7F5xv0iuLjVWjr02GI_q;=p|m}^-6i_WwXlU1c8IlqeQ%0pu5i(+5#a9{Y-Go z1IjJON)3%qmuVMdt)nm`#f-B??kK;uqp=VusxwotaKj?r-4}$He~!etLtI%q`Q8GGprtq! zwRn~#x&2^ru$G1EjU#jh1(?*+t@~cF`$AaZ+0KRUJ(_!?D-qqYz9;2xK=p3qD{}e( zhfxp~lnko@ZVTy2*P)b(k|ON}`(z6xwD`OWQ{`%<^Ox!?d9`Tkik3qz{p*&hRa>DmqHBasGmin zzb!2G*}$JD#yiZs!vcUa@aWIRFB|mr2`at2aQEKI^)O`hb?YQ+6b6^8+x`5T`s0~y z_|!#3k>4+%Q**1*5ym>|kbUxQ zaps;V5q5e|)D?>rHx<6?&BHgQ*nQ@Ob!OQFQ~91h%2<@NUXSKfC*yPtM*2wci6vb> zrj=H%+1;F4>VB}YWNp3IWB~#;*^p|;Iq08}@ZNr5-GPc5wKk1ie2{+ZIMe^;_=;}K zazbWnZVjeC2d;hJ5e@0~oa>=;^sffNz=hW~Egq-vO~tZ`d&-k2Y#pD{=+4-SgNO;9 zn)JKi*HwatMu+our&eL66h+|8m zSpDk1Lh5<(Ba)lgOJG+=o3Hgtvs(PbHefxu91^SK?a`) z*0zUj(=wJZ?M}9>5HzaHoD)C&w5;vAna@0kty0B4!oa^17?djHp>WfV=Vz zwU#3*ZJ=1Bo+3;B(Z`z2Yz_zQi z9nSr(B)>JvMe%<&1UY?5XRQG$TB=tx`b%=kX;g@SY|^Ks4c%i{`s5weT&vE@hv43z zERM*v13%!fb7Cw|soN?i@8(#zZmfDCcP$qU6FzMWCmW=)>3d$+_aE^Q;OM z?X}aMztDmMXAl3$yG=X);quIjZ=3Suplwf$i(6i8Pd`$dJlrns*=69^-y9v-Ta!uM zg)C*K8!>095}mh@VsM~0o_gZ`;J#noZ}VUk^da(C%#@b;FAVE(?Yyk=1XiSvGho~F z;qB*wREX5hI()MF(jjsEv-o}R$o_{SAs7H>2dc5-w5>FjgKw2Ao8P6?DLc8IIQjB# zTTl|?c?ivYcX13mKX-t1)f`Q4PevU*iw+}gAr|2Dq{9j6p*e>jj&!mMe?L zFMylT(i~jX)%*IaPYO%Ksye?Fzw3epFA$wVwvrbS8j+ro%qjda_5Jm-V%Hu5>R!{? z$0;gBqof~j^3O1GpU5ZC_m541z3RK6TFR&&D8>2*w+$z?-fsXd45r?a4}&L5?&92VKZjUpi|Ra$sT#GA6xmlN z)#srD=paa9?j>d6so2+a=EHP3k$k>lF2fXr*rFX@$x%i0_AK@iZQmg%Iet)q82yOp7Ji>ey4*G1D(OfVeEsi$*KNuxZJaTl> z5L$ytX)r1z3wde17ixc+X5Tcv(mXgQ<=Nm_fIKA$QUEI7DHN>;9YxY$1Fyp4kLF^S zQRJ7q@9Y$Cc4cmKFj5&(>j>zWUu*YC7HH5O#LO^(S}|$vD`y^}?@Xuw24riMgZXV0 zr8Xa`9bBh*(u)nD0zEKJs@Ri2{pu}M%Y<+uqW-YxPSS6;z1up(vDY2b9B zIL^UoU^MeuK0DOZ8Q4Q{sxQwK)HZOmfF)%71;34GKjYz{0(aWE(Uf~ou@6TjVV<@t z$0umqRH;?q@k5(}2%b>%0h*5r1>YdXKm`)Oef}iSknJ{?n(m}L4mUolO$<@O2?+N3 zgMO%zeQz2abP?5cw6s#ZQ=I+l-0vl;uYm3vYtkv|3?q(BKPVFN!WS9s`_p*7$eoJ- z82p%1Psp+wMV~AFgIytDn^6wh)LZmWx36t?;aZ9SDE`A_gf|uvA*az|p_h@$a+#NP zCxN-iozH$-?d|omQ|_!LC(^&&L^p|YmKc0Ute_SG&AhArkvaauJJy1ALTL={EIGq} zvx=8lZg1Rc6S33?Oa8wIT^%=qvY7k~GbXUp?3wIuA21(5v&NKO{1zbMp@A)JU*wMH z3`;;PmLsUk0h5_FuYboT)-F7BxT*RkojVqBGW$GeAN@0Oe|0EF#XCH`~>LZu+8rd>!`mUs#Tm zKJFT-8qdkTN4ho)LabyZZm3nmC>PhVrq)S3B!AfYW zbs%s}p4lc-e+vtej0m53w3fwKjArBTT*@wDnDuwjUu?BAm`Ua|Rr+~+Z}x+SK+un) z<$wfZW)JARTk$IhFOhQ0#&gElrzl(F<4qr-W@oo3gS&~7wV3C2T#3nf)l&e?Vg66J zzgb7{Floyp3mUHphr?06mbMbR11h{9qprzf0b zfybw%_Zu;FtE7`C**L1@>~`vC(b(`3o{xAa2|*XZWznGW&`5g_Fsw6>1wq-QiB~*$9MBMw(P~9RUJ8GJaa1~g9a8v+lNq$fo(l5mqUlnsFNCCv z6T6X;R`mG)N##t01X6wOEJL218K5Ei=-J&a1pl2-Bsn#JF0HyCH?qS>nb{CpoV<*( ztpl(zS4(d5S-=(YdF*I!^r2Z(-I}3u2J1saSNkF0={;fZ(n=JdNR`CFJO!bN$-^E2rMY)SzW=U-FO- z?;rmY6lKoVI<%tYA5YJ0kAY#YNi4;zSGb;t*|p3Z$eyx62{)dl6QR76-J)%f@K-Z! z6Zq#HLi%CVSj`^}&&P+aoGfTM;e`(n!KlIX!{(*Rl~gzhL_p3|r`jX!vh?Dmjq;om zrIt;FO7I_6U0HbTKX{zC;Rb1i%yTN-yWnAup_B(?INV=L2BL00JCAR4(+ihKl@(Hh z4~tch?kN8tCT@?h_0 zpIs?;lFHax&YUI_H~y}_q)M9^Km_DfUUU>iSh-oW92nPnAFZTeF{%1FSp3}4htEhy zE2S6#z`aV1(!NrS0B6moDt8jO8&@1Hwaa_Gt_x4y^(wEwiRGL<0>Horlq>mn%QOUW zZ+u5`co;sRY_=Ce>NQ0&E=;hEy~A zp}mfPL(zG#FPh)mshp%UPUz%dKA1pp8o!{bta>dl%&40SzNQ)|C zuMRg|U(W)8A36|Zn0;h9>>T2;PY_(bkSI2hveEHG;Qf1Yz*K*Pr})+Ne2R6~KRXJ% z_Gr%4;r7eSTw0!hO4~bN965cfvMMI3;1RI+<%US^4p#x)29#?rDHM(q0gMT1eTjAw zoq=^Z5b5u*VXL`9??!;LJoQlk%A7E*PBa_z<7_BrACGrK!#~FqFuPM{Rb!@ zO&@AnUcva_4{tZHanN1|rE}~{fh;gZn^|1^p{g`^Fkl1f9y{72dL&v*1ux6Oj!SQ$ zbRe)GC!oGvNy)MMFENI_HFM$N#hPnLAxxldH>YM7Bn>$G+@*@y z%fm~s(MIx}kJ;?}?E8~m6;CD5N@$x9%;%m(wIluUrhxo=wu{!k?i-BjZ10ewQyiIkCk929(T*{93xa!ENaQ4#DM7YD!G`$$A*tcKcG(ck8s6K1)#@B`=M)HIwkP!+4Gy4+-_>O; z>p2gSnW*zyVePq9pIf|2PuL%J+W+LM7_Z!eYqKYry46gS7`$e=5oEmuztsbLt3Sai zLud2UWR$a*PLl>Ekg zNw?|ufT5}yTpLv>i;wz|i3eBgj9_jZHfr9EVnU#3LDp-72}^~m^`be^Ge;wDLcpk^ z#_%V(^9F;CE9EFIJJ~Sn9eFJqtdg&>ZwT5seqj6E|E#rb##Kqns8K<)FQf`F2FOL{ zXBI0O#-)ukBpT`zA+S_enxMGy->TK%sa&$~E2>iHJ!7xHb^Zi*Sq(BSG2n{Kf1pBt zvB#Pt=~`}#afLoq31>m)s+0>NS7b&K#FRq$#Zb;7kw8yU<65LqOemEsEt;=Zsj`pM zT=jvP?h;>EW+C>24e|lYKHs4`>p8Nh-o81jVsyOF ze!bK4y)F-u`rXRUKs;(g@D*v7kfy*|!QjcNQ@MS1S^oY2#{T1K7ZQWIvBhgHa$%NM z3G$-C=E$j!K{f3Eg+T`Wel(_UGuUubJgGYk#DMAsAMaOmx~2h@cglwD*Bis)Lpdn) zjgh!*1Uj2)Z$1FFHCw6_?oWJ}+z*;Bg>B^l_GA zVhve&l2+o<$BhEoF5Q|-i;EDOfT!>9yxW*>B>q&3XQ!QA9o(RD^rROcV{Mt2q$=WTeem^=LqU8^06oIv8k1`CdRO^_)KKlM$#_4wTy`9a{88INy&HxFD1c&rr;eDprnY91MepsQP7 zy;x&kWS2*ueE5z=9XtXDeSfw)O|O7Mj|vwf8rt;YDnnL*tAp7hE6elRfBNsLf3dVYLkZIF*iC80zMbCFg&3XOyDWf{_$1i**J_+|V!{Hg1z6gs3!wq_JTiTxn1? z^tkXbx|oFo4jg`#z=?zearLrFHEMX6OpmOl-uCkXL_D23l&Zv@y{3G(8|zkWCap30 zrF4)y1*1A}w-&VWr*#w$GL~7Go7Asd%ofJz_|sw{tsgV^ggzyZ4%x|RgQn^OHZUq17hmIP&mF? zytSI4k-wAN1g(}KU9tJkYcy5)K*Vs2oGY5} zj+qcbq>*zTVK|iwGhr6WKt#~Nc#i`o;_Kj5ySG@)cdxKPvyOxuCktKWHHwP+I<`qk zr|ewH0DThfEFe^$KLEe$tEx6{|hNO64vi~VE|X8toLk25Pxa&H6yy1=q1dyC z>NzS?>sx9%;%XGFtC>NWzKhpm$l!TFn2zK~4}0kG-yVkKX9)o!B&LJxg{K-`B!@6n z(ZT))LP_BdR}zxD-><`XnaJP+MVoS@7v1KTHRH^PDEPVcFvO@8v8G)nUJAe1e6RLQ zq*{!T#kU6vxg}Dn=O6p!gdOH&V-d^}heZPMf zxHsI^xjB}+PX6NfzOLupxL?g8{en~*Pdplm&U-t|DnZzJwCI{d%B7#q(lVRIeP`%RoU5fnu#T8KGSH${n12$rz^3?tO zn_Tkt^2diIzd@TP4yG^7c1!>4RwAwojk{+E>{Ai6j8bC`lC0*;#+<%te}uah^c{B( z+Y*fO5Rq+468!ffGpBw8wFvaQ4yw{_lOb@hxq8tf+}ulx-#(#Ut%4u+R0L9 zoCF>5KB-_$W(Fyjkj-8v&j1f-iEcr=ms~YEb5SdMkavnWyMiHZH#(WqgJ@Av-Wf!I zZ$JEfo?Lz6UuX@;^i_>Sf<)U=7iok^%$eDf>nR!Ad5Lj4_Syh@>h8}tqhN%ghcQo8 z?o$JP0DVlk&^JP7O`|@Z>2~WfP?Hld_oS*^5o%Dg08p^rf29K=^z4a7**5ReSqpad z>>dk{$o|}!Ek!cViY*2Ei3YRKxp6Fd_vi`4zI_R+SWvV3X%=kNkX1SA^>W#(8Z3s_@LY+V9}NK`uE3gu@Z2~MmsF8 zukkF?eBQTu?%M+)_8rSz&O0ff$bC-m4>7c<)%=&X5QohwN^du)<{e;lRElX=k0i)4ZJK(e#JW=g#%Zwn37o!!g@0ZAb>qp@^~_)3}{5yVeXC$ zWADW2B{XC8;SEfSoRYCl_ACx=3aa4ewLwPy^|oh~R7&}?n6zViC0@?!mmpDFG>JyL zDSR+9dJ1mawIrMbcb!k3NCR_>jV05w?swhnaL( zTpZT}$F55dJ!o$V?9|7cu3Tj}_*(dq#T*(NWC_{d^mPoS{2_aF^m#up0@d5>V4bxN zH;d*SBOlE>KS;@q4Ky9xDmSWpy82?DN^g;F^-#=vvTXIYT@bbZyYJm%WM}F#{BU(~ zl%Gh}+ulhN0$BX8*fpZr59zhn+B51dNZ9@GB4FzEkI@7W67(oua@jvy*EB6O6&4KYC*aRH0)eYu4-dI@!S`5Qq>lHvsqYR_L}a&mk~ubo zyp3DdN4J;_{}$3VnwMUiPDeU4z3iT!FYU(8wP&Mi!5ioR*2%#R$Y5!*x?!aMt|v}W z%s`1!_NByC5y-fLr2w$Rbz~klE$jl#&x>@DOt9))T#G-cerY?E;+boX4i&mX3N>?H zv#Za8Xu%DuG%R4lLkpMmv^1;(QUcQ1%#`-7S2+O@s_p$FkM&7r7b0tx!9B|bHZjQg zCny@=qvM`e2WMVK48vh##mt=-1CKqX1ngL47R8ddidMsg9q#}uX7#u z?SPNyL~Odh*b=0Gg#!qEphZcTaS)>9IEu{ZftJ!>i@$NmdftUByXf8%_>MknwG~&j z(2;g-v@|tJduhNLp3Nwo2q?qMbfuHzma)mo>h-tRO*0MWgE-0+-*sf3mvc<(U6o$rACC|^2o>C`aA5W=@Nb1%$2S*-S-8H{ z!>uZkjo2Bh|0}-xLC~Ko{d)=v*vD}X@cr9A+lcoGiUg)2^jinzri*Bi^v&mX4>{UP zio%qkzkWtAgeA^$$7zxPU$F+?5Sey}^W|5#esfcK(S`*xZ36S(X3_-Tyh`8NbqYK6 zpxzRQD{q!#nvR@IOx&T6@HTCse}hP{JbiDOi*Bs;+-g#?NrQ@~%=i8#0Ww^DmuMW& zBnp4(q=1X3vREMi_GlKq;#3@a3^Ez|8?Zeku^DPfUqQt? zg5GkzN*c7i(Quu;_ke>E8irMnN#ZT!pS}fne82OQ^7ai={rYQICS-cvW>DC^<4w@u z5%n190=Fj`iAPCAH2}xq93ow4vlMv#^J{wwoNsW04$#)m-ND$P^rmaE;#IIo)u0%@%6zVWscVnLh%IsI>>_7OL}Ra-Fe&}8rkPx%i~Ulol#!*WC?I3f$B zATQ~!W`7@~4vcxe)nAD|VGkS!e%_b%Q8Q9CTF7rMW&4bXx^{haVgQ{`u zj5!^hvxp6|)S4zWLkZ+|c-z-ftAmA(nJV+zY;`j56k(fma|O{S?kt2CuRG zJ58)RP{nHz&%*@f{@$bbFS1}#XI}WH&0mx#B<#_S$TJ~a$~q@(_o(72CAwHo7CGsv z_{zY`d?5px#gS?|8{n;W_=>~Y{EyW~W%6kS$eMGN%57`-GZgGZ08b_Ge=mT=;#ag$ zEW|}|`z?H)-uFDxEDVxJ(>_&bb~;F*&OZraF!ia|=`=hxb>|sFg`hR!wxI-7&4QfQ z!(^I+CvQ52Ek9)&0Zm+QL?{FVE)5s{vF;yt)Wi(40BISx)k)4U%>zSo+f08z@%0-# zYQXs3j~rP(i&aJkr}N=$Q0_n7UlhTpb$w|$E|lCd^F;$;_+Kp!G`LzQD3;`B#a`ru zeD{udqQ+&h3+zGV66T+}$y)c8qu}>Su=o6VQE=rfq#uiW5uf6ntt z<*a4A-QjlqF-N>@k3S0n@gu(eJM8G3U-E)E=wjVJPtxaoj7UC;n;n1ylUjX!#9}X6 z+MKh9R<0sxJO9IOye513xT4T%bO*QGPLQ3~0Lv2+OdHKV6 z6Q{Q%|K90P&olFV$qzPWH2C2?Lu8=NB&{wuLWw>Pxq_yGcj*XD5)tyR<*PCV?D*vI zw|bd?degtO^Pfq@pEm3(bCu8W|N~z9RtRoDw<6NWR z==`&qT6g7}*QZId2Mg1#s$GTE)j^Lh&99aVrSE~O;DK>M4j}Q+lx5!^;2688`m6_w zh`CzhpK$K9Q}>wck+M5ePD%?PH5`yoyYVgsH4}My*}M!O+q`xsOyqcXIDW{qg~1SJ z!H=p|9g&-|O`yxmqb7wS)JvS8xwl3>qWY>vU%InY#ZBdDDBZ3t4ZxRxu?TyUAu0aT zrk%iFb#CG)VNnX-lh*^UtB2Va`eVg-?7$Mxt*_@}?=aO#Cn=L;+z1jK`pG_PgFeGU zT5xKy00?jeqh9N>1HENIGs^amiczx|>fGQf3|~HW(zC$9qxcl_j~{xr|CJ8U z=Z^GPbbu#D)~7d6I-Cy?h>__COgNS~U}8T!#JEl}MHM*COdl&7o;mcIZ`fTN7hBbN zo(EgUqc0o_a%I+d;OYleDJ9t4ExGaB{Z%fR%z6(I85{-@xh-pB(8}{F&bUf85zrw_ zoH-R3L$lhX6nLz!(G@Sz-%*NK`ex=9xv@eFPTmmrH6>Q6g|#&^A&6`F>^3YN9%yq_ z6^s!v$Ig{O&Aw_EVc7qqON^>T*u<2LCd?Zfdo+k%dm~~tglVYl{nLeI_s7$3PD-~( zA?Lx0>J*Fg7=6mpJ9W7J!_o3CIU$b#g*wzLHma!pLPnwc2;ch!IeEr z_e{UIQ2)~(>efBx{KGlxvat(;?d zPy|L*-d2JOg9Q{uuoa5{fc`B&VqiZ>O0UBG_+8sZE2N2Ho=u_DPwNwra%TN6NfLx) z`?aw)yX(*DkW9x#l8TpWa!Yb(_X?#Z`uX(`O6=I1bXNJti263iNGJm|!ndnkC z%3I!q$I4E#DaVL(paD!c3~9xnBI`6LVBMbU-i7hYLC5fWRqUrtFFX*~0@}+3)fsL{ z6r4J|u0}!7M+CeVl@yEDk#uUfrTEe25;>o(`|7_+F`!nRcgxU@B8VJ@8gw)k+vY8g zB)JmtSj`&W>yLpGlDcVusvrMfk!3_L22 z5hllx(1Um929lPm8Km4%_>2euW4F0{z0}j(uGUq>5ib!L*(BV9BTQ?5xOS8yiDqv@ z2z@wb6w{&gL3HJOP^B+{uv1p4%`PdheG@m@*GaV0 zP2jab<8qj3Bz=+KG>)+|ZXRL)v|t{7s2QafS5O#;ls=;m;I3@9e6HV(P_EL~KWz-I z8z}Unm13zA_et-^TOs9A(PSv=@Q}uVfS_0+&g%x?kq8_1&zz3cLrrj1B@{mb@gZl^ zi}y^00Z0}$L!J>HiAPw*;(H_G1_QHifsAV84vGrvqmV+VAjaURV-$B2jasX8>dVgQ zo|o5(+~rT*m#q&pRFc$uCd!} z1@;g7Kcem|P>4_{m1l=hI{C`;F$xGw%f@E$u3je(uSZZlQp6DYJ7kzD;e*rfJ5MZg zx8d`rM2+3Sb!>yzi=>Yzt^s)I!GiGgp%ieypMVNP&tr7d4>XPh`bH>~iIQJ8v@PmB z>(SxuM3R6>t`TPWwQv|w%xuWmRI1VM2x=)Z2I=g7eQ!ByFGm1odu?M+!L{vfWB_Go zVAfT{EgAW(!y3Jtc^IkLDbdE+Y>RKCqx-=N?c@R}3N;97zC^Q0D_j*FTsHoY^fO2> zqBjEs&5iNfK_CzUtgcmUV!pO+!xQM1p!IR{4S!tZ$k@9;U$fom5a%uqBHx1Q$yuc! ze>yI9064mnCyqA|6tiM&LIlkDts?6}d0V+D#wP-*3Wg|N8QR^ir^j=!cAeY@h(uLf zl&*TThb}{wwoyhE6@mjg4V3sLiwlLXmass@54WjdS*sRvR5? zd29vE8?e4_9;={8|62$a?^u9DZF>^K92TjBH@}`o7m~%JQ-Bmc6C(5!$J8)TZeXfC5~#TM?;@2N*F# ztd%Y3rkWk&rU_Yg+yl_zZ(I4?z;Un%d{D@DTY200ydGo(d{9&jIO3*t1j&j0%ellS zQN#vSIIh0;$vpg*u&nSRXSCLQ$5E4-e2Do!uJTYz`Qe5BsgCft`g(a;1J4|xyqmvK zO6;qO$6ilFaVwV~5QBFffyDwtl@O(HE8k#;ZI#eW9%ZR4t#-;ZWA%#Saydh|J!ARN z&z1@eI6DMDn{tN~e%uA^6mD(DzVN$4@&~tcbV7MDjO?%7)Np##+sFpJS$jc;tyhm# zK|eAaETa|9=fN^j*bHpYr&wHy$XyLpO6-UB|K>PFZ63(LP)rZ8T`H5e_{7#~8P4fAt)2&OdgL#EQjT(W z-=%HzfxXuTUpHF%uK{uuD)Bl>_cx3tCYZF8WHvZQ~!L^ywi6P-J1)AygyH^|$` z8*od4f1=Xrqan-rT|75DJVTh>M?uOmBCy(Q)@<0xxwWW`hmcy^)}ioNB!cP8(gEw= zEQ{rS2j~JOZy~p%$v_^V`9Aj3p19FXQ8<5-B*~qTNJr{!xlyJ#xZkroz?yqp^lqEnT#f zc0h8eSku@Zs1BZ>WasCNOTgklrm41L!w@b{qw)V2!MV!v%CpcyZqcXKb_C6#=liWf(NB zaJ9GX;hKH_Y)Dys(~Di=IBOixRr10LPM{!4<`G6qAAbD8 z20um@ul)undqII8&kFxC7C%@^#BP=J3sdr5oV1;RT1qY8r})mgu#BTDNo5B%u!NbGW8iG!8S!G%L+i=l0_v6 zopbbSeE$VjA3Yhpj1%J7dq2OH5F{z99PsrE`zwZO-;YKATGpW8^J3dWZivOAN#o*! z9UZM>n*Ic?u~rY~?+aICAp$yxCHi^Z2l;#~AU{`r zQu*f=#*MGiSsscMZ)L!3rQW}JoFT*s>or`&eKjs;>J;^@*R=2Dq$G5ZV-Yf|G>5<4tN%Cm@8xwRpbi*_{1xpuNr{wD}$bgc%E+>ZII`|yVNwVdtI!AL`u8dcv~4} z%X6R2@nFkoY5^x8S4dU^lDDY9ZUS)G4eDo_02$|N2LuG)K-LfaC)5Oh!fZVUKpkpG zG5W7vsyBSY4t>o63F66#8=xSjx9L%Y!W zuE7G0z*+s-bJw(R>1D8N>1z@4{$6tWicS?eFaXXzex@`xH%nA`w$`b6pdg}FF7&8E z0?IMk7uQ~{gM(PwC;@94dk|Qp(X!3jw9Anj6{|W?&rg^qJaqz4SXkbVx%$`XpT4)+ zsVpkgOFU*GY|L}KW;FhLfmE!Ja@2ky4{8E^j2I6Idu(b7)o*S^OGywTj0&5GNR6I!uJ3pb`3-6 zhBKAUlX>GGr@y7%0*Hmu@XLTUMohheF5yqv@;ynsEOv{*1xs?gnY;E(t|S1mTAgA}|`HOBzOq z0SHJpC?G1`&FJp#lGho;csnIp@O%8(F&{D(9axUA~j))))!%0rr&e z$|&U!3eH&6f$%ra@Z*)^(a*TRf@eI%KCxfCQo zfqOVRAr|L`ct~O*+RF?izNahzSZ3r(Mz5mr_&B$1@i4A( z&dZgWsWph^zO0hIl}{eHO%s^(4EuK{wlqkdhnP*@^ory0rK{2HXIU&$#B2P)OywOw z?)9g%TK8Bg1OgPanFV9FX%&s|=y04cb)N%@v7o<_-$}xW67tXXKiS;hD{qo5DPrz7 z#Yj&0S^BjC^WXrX4>D%oe1xHBp^x=0?`qF-KXU8HRcm4AQ=XQkkl=&&^9uVLi3xO@ z`Et;6t~t+s@y?q5b|HFv=m)>SyRgEQNLDL>k)+!OQNx-XH%o zcP{;4Bn&n`xVKT1jSOo+5!~b(9k?-x#qkS{o%!kmG@?MS!T5WGU!cO66p%MK`dziZ zedo21j-_8KjtxrB(`7hq{)(27NFD)z95BcFJB#qIDpR}3xI~X&@T5;0@F96_Ebs12 zZ8;Q0$hOt|$&Av=@Len{75(O{rXx?*@WO8B-zO?d++M!)zd!W6(FEW6|duUm&lL!uqb*I(g)cJ|i`1lz(=zjiY z#~+p%A(5sEGqL4O?!D!+%+Z15kA2X6{e=grxlN>1J=i{p`9e2IIjK3uZg9prujw=} z-y)dr{4R@qqgM-LBJ3xUsnLM2Q0XjdNyPF&W*N~*?LrWWY2H}~*$ZQb1|F#U$^b*g-(BEO9SgOLQzR-O~-PZ8gc8e~1ATK5$-iXxq>%pL`)uMet z^rt@9dC~uhf;a4}mab~YTcDk67-X3kaFq-CPy+CoNQ3k}b#;<2tBzKLDw|Rvo_D+`wsV=0YlAYgF{P8 zH15SQubSU(1F(w%7Lu6ro^ZEopb`B%#M#N+h75O~(r!OpguI?W=PvWe3s-D376sO( z_ZB;){=g}^(m2FQ2;j8!nRQTo8EJis2dsmh)O2!GI0#qEwmwOA`c6!sTmtogSAXih zbdzUPz5fwbQr64Kfzr!u5?SALLszeThc?k2pa* z`AINsj`6dfhvVBc4hz9b&B$deAAY3u?P$ixR*Z4(`5`(ZOEY7&^|+bCyun8J=}qYExT3QZUiL!)G( ztTg{)3pJ(`kV49_bIx}o+bdGsc3d-lbcY3G%M6_MPUD7XjUjsd2${t>#+2mk76|Pq zGPjm`09^6#Rc?8i9J`PN2Y|=yBq4~m2L7A}1o#$*Nd}57{(1iCF#u+!#UJ1E>KtOz z{zX(U3EajS26|j?z8&C6k_i>HtF(GbvGn7D4VhI(@P_ACxeURj)p~|dagN|hA}`B{ zzzV#{1{C95cJ76t6vpKDWlx0z&)wym!{wy0KNnbWz%=f%3@A;Cw*4|@*>-qo-6Ybv z!+)Y#v#8EcAr?39Cr29?@727C8AuJOlsf^cDElu)IkF*@IkN9iP-^stkD;a0_^;1H zGtLISjyoH~JMBV3*bv0Jk59T-CSJd!f%E`r>ao*8%WV>a_QMt9=#hBS)6>~SD5LqK zApPEy&-kAcdlC)ke1v!LON_u!Ttff->TkvurRCxEX6XeGBo&wafs7ci)?2k?FSZr< zTp|iB&cE>mnGFQjRAjQ0*f;b$=-^7mog`{6E$Z)|X)!cJCB}>Z@IV$yz|QU|5TE}> z2E=Yg9OV8~^FT|L0B{I~M}8$0DO9DsOLaaF^;Nn@{1#y5zeNF5L?GfX&2evB*=Clt zq99PkRnJFhQ&k)TO}_WDdoYkGzH=dewW5f044sXpC

oZpa8tS!zy2#B=S`r!IIDnQdqx+=p~{Z!r$H69YNScc3%AbTgYhw_>02;=?bR||`fi3}kx%TrHi zI`%^Rhi5!s6BXC8zz4eaoBHlkS|xf0Po2 zo=_61^wx|8du`z9;A#6mHrQ0=l7jdcKs5wZwO^oq8?rM|(Rw`4=W9hvE@{b~Sej~G zjBUKc^=_x=QN`%tH2=uaWMhzC0My)Fxs-5IS?1R7bG|fhG5Ty`fQ% zjZ6NDD1K_~)H7@{2qHh>Bz49c6z@h6yMmfLvsO+ztT!?5)VLxk-)L^s84 zl)1`Xl)bMqe5#Dq!woXEoZM@E%pF_#stn^ew7^Pe*fQAk8N%MyJyR5eJ^z#B|Cjp1 z&f}bX!kmLg8tu{UCxQO^R|}0CxFcIsW`HwU(}8W&uld9i8R4IPMR{yzgOb?AO1`Yd-fqDV=L^oSLcW){;+_VDP&seP1Ung*B z-#K(iK%NAnTGkCSa0LRkJ1}AuE`^vh)~0agb=Cukyg#HgQhIHRzJcgp4x`1F4EVh% zUZ<&AEkjd`c&S0-jXS5iNx;uJGqU|dDkWqlh@qqUoXAA(G_LKMp$$; z8q4_9%T8|DewkFkHdGByW8`XIoS_MQtJ$NC>V{fPC==T83nLc4yoZmQxjHGPYf%jx z@8sMAhW)6;i2suA-{RLif<716G3xmIv(tk1dN6gK@Ri2z$nc-`x8gKurb|rH0(hCq zD&Hr3)&!I5_vYbfMo+t740=Eym!zJ&{B_r4F_yaYZlARhUAiByh8Xu)v2S&qkYRkKlNlf7dFB8j9W1+T~i184CB}XX%x0W1_Ajyi!+=0Wy4*}P%wMT0) zlsT zZ73?c8tVn)FqZuFK3j4s!*JZN;L5#>;wa<2^j_DMrr_-W3(#Zjb;);e2Ta_%FS`5D z5G}V-odCW|HGh6X0RjEOf`F;jo5V!BGs6Ov2Mz|%!CLt2_R5>)jjL#ye~(yeP}if0 z@HVPV-KPF~suyU)E`qoRW%nOw&4MGTttLHDZ~E21O!Jh=FK5aBomZk}j?IJEVC4ht zG7W2Y(vtu8BM+ROt!l~KqwyP?1HZ_j(}>S^m@sWp)in6oa}px*n>bP#UNq2gF`Imv z{dr4sv9zB=FOA{#L=PRXrgiNB@@7*&eri2L{qP%AgyTruR+NMPz1rCA^s7AV?@uw^ z-u|Q%q@CG(;fip_g(4~&Eq7v2(Rm-ji}AuPaZz`=e%Dpsi2@iHv}*FQP2=>W%u{#Q zJ|=+!0o;4ZLKR!eqLXWYl7+^ITM(yHa;Vx}j-(}^9k#=9j^sG1NcJL|n@dxR%%9Kffq z9iNb#mXwxwZdx6#kma{AI;dQ#o3SHZHZ1E@MWs zThH)v(E>x3dZF6}=MAUT7?(AEYij4FRmu42e9$2nctyMWJ`dJ~jclV>so4jsw96-} zPs2VeT%lJi-m=py-aMAFu-GC~(s~`V$`$7PTKHu@RZJyTV%~J7Ws_6KQx$d_TCq&- zv<$Y~LYuAkmEK3yOWqx+(GZYyRj|k(cw?^BL6}&6DDl2k?T5Hrki)5=)OF8jxsN9n zg8o*1Q@umtJ&+%No}zA8U`QQo&js`(=^&x_$AEmS0KKx&6yj;uX*8wvI~T4uroZ z;rE2Ts~$vRNKjAiYW%3+ZATv~%zI4DwQ}SB@y>(Xb!Wy(Rymk5U6~<`c^|5&)dJp; z11hwKYWlwbh~wOspgGhe{%O>NN7W1n1JB`S*|8AB2ZPmS!Uaz^ESy%bR-G7L%hLOS zRPLw0RMW0UqWK$PnO6oF9T|#1o;D4pJ3#ZH zeQ_vr9CF2U79OR^`8guh$YQnewhpbT@lmhMvtsjRXJg`j zO@Hqq--*9{Z<4O|jLw1jNzf^Ge)+Pa}PfN?Sa@jB6YBlsjnmX`1 zAsfZl{eH12;RA2V`HME=p(6HTOK83|i_Vfc0cy7+c!_*pN(jD%#SVV_i_(jPV)-1H z;|S!wQB?x)avl+}GfAhjE0#a4u+75UwQIZhW4fwQ;qHi8Bg_u33ynAcCids`vY@G1^$(Gj~dS68BO@-D%*`DdK#L~&-BHfICoM{!4nBv2=6 zAn?mz9eISTTy}Qm+r~Zd>TPqyLnryVH)^qeaz+S6pm?q=WQAsM_m96wq8Wv`2`oCmhwWsgAcALf(1(SH_cgeVR!|ns?grh+L`hX0m ze(RhXIkNk&^VjF<_zfxO;nn8k)Z3Y->wmd^lsJAyxt-+jLkAwxA4R#_&O~Q3x+WIa zkyaNYzxv^MEXMREY>gP-kw+Z(v(bBaEMEjwzn#jnO1(?q=WH26NrIAHwU*~8G~KiB z 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�i(rICNhBbf-Myc^as@AXKod!kLUZ?Pbi8 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 z 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 literal 0 HcmV?d00001 diff --git a/public/next.svg b/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 0000000..7705396 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/window.svg b/public/window.svg new file mode 100644 index 0000000..b2b2a44 --- /dev/null +++ b/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/api.ts b/src/api.ts new file mode 100644 index 0000000..e7dc46e --- /dev/null +++ b/src/api.ts @@ -0,0 +1,153 @@ +import axios from 'axios'; + +const BASE_URL = 'https://api.themoviedb.org/3'; + +if (typeof window === 'undefined' && !process.env.NEXT_PUBLIC_TMDB_ACCESS_TOKEN) { + throw new Error('TMDB_ACCESS_TOKEN is not defined in environment variables'); +} + +export const api = axios.create({ + baseURL: BASE_URL, + headers: { + 'Authorization': `Bearer ${process.env.NEXT_PUBLIC_TMDB_ACCESS_TOKEN}`, + 'Content-Type': 'application/json' + } +}); + +export interface MovieDetails extends Movie { + genres: Genre[]; + runtime: number; + tagline: string; + budget: number; + revenue: number; + videos: { + results: Video[]; + }; + credits: { + cast: Cast[]; + crew: Crew[]; + }; +} + +export interface Video { + id: string; + key: string; + name: string; + site: string; + type: string; +} + +export interface Cast { + id: number; + name: string; + character: string; + profile_path: string | null; +} + +export interface Crew { + id: number; + name: string; + job: string; + profile_path: string | null; +} + +export const moviesAPI = { + // Получение популярных фильмов + getPopular: (page = 1) => + api.get('/discover/movie', { + params: { + page, + language: 'ru-RU', + 'vote_count.gte': 100, // минимальное количество голосов + 'vote_average.gte': 1, // минимальный рейтинг + sort_by: 'popularity.desc', + include_adult: false, + 'primary_release_date.lte': new Date().toISOString().split('T')[0], // только вышедшие фильмы + } + }), + + // Получение данных о фильме по его TMDB ID + getMovie: (id: string | number) => + api.get(`/movie/${id}`, { + params: { + language: 'ru-RU', + append_to_response: 'credits,videos,similar' // дополнительная информация + } + }), + + // Поиск фильмов + searchMovies: (query: string, page = 1) => + api.get('/search/movie', { + params: { + query, + page, + language: 'ru-RU', + include_adult: false, + 'primary_release_date.lte': new Date().toISOString().split('T')[0] + } + }), + + // Получение предстоящих фильмов + getUpcoming: (page = 1) => + api.get('/movie/upcoming', { + params: { + page, + language: 'ru-RU', + } + }), + + // Получение лучших фильмов + getTopRated: (page = 1) => + api.get('/movie/top_rated', { + params: { + page, + language: 'ru-RU', + 'vote_count.gte': 100 + } + }), + + // Получение фильмов по жанру + getMoviesByGenre: (genreId: number, page = 1) => + api.get('/discover/movie', { + params: { + with_genres: genreId, + page, + language: 'ru-RU', + 'vote_count.gte': 100, + 'vote_average.gte': 1, + sort_by: 'popularity.desc', + include_adult: false, + 'primary_release_date.lte': new Date().toISOString().split('T')[0] + } + }), + + // Получение IMDb ID по TMDB ID для плеера + getImdbId: async (tmdbId: string | number) => { + try { + const response = await api.get(`/movie/${tmdbId}`, { + params: { + language: 'en-US', // Язык для IMDb ID + }, + }); + return response.data.imdb_id; + } catch (error) { + console.error('Ошибка при получении IMDb ID:', error); + return null; + } + }, + + // Получение видео по TMDB ID для плеера + getVideo: async (tmdbId: string | number) => { + try { + const response = await api.get(`/movie/${tmdbId}/videos`, { + params: { + language: 'en-US', // Язык для видео + }, + }); + return response.data.results; + } catch (error) { + console.error('Ошибка при получении видео:', error); + return []; + } + } +}; \ No newline at end of file diff --git a/src/app/admin/login/AdminLoginClient.tsx b/src/app/admin/login/AdminLoginClient.tsx new file mode 100644 index 0000000..5660e2d --- /dev/null +++ b/src/app/admin/login/AdminLoginClient.tsx @@ -0,0 +1,147 @@ +'use client'; + +import { useState } from 'react'; +import { signIn } from 'next-auth/react'; +import { useRouter } from 'next/navigation'; +import styled from 'styled-components'; + +const Container = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 100vh; + padding: 2rem; + background: #1a1a1a; +`; + +const Form = styled.form` + width: 100%; + max-width: 400px; + padding: 2rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +`; + +const Title = styled.h1` + color: white; + text-align: center; + margin-bottom: 2rem; + font-size: 1.5rem; +`; + +const Input = styled.input` + width: 100%; + padding: 0.75rem; + margin-bottom: 1rem; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 4px; + background: rgba(255, 255, 255, 0.05); + color: white; + font-size: 1rem; + + &:focus { + outline: none; + border-color: #3b82f6; + } + + &::placeholder { + color: rgba(255, 255, 255, 0.5); + } +`; + +const Button = styled.button` + width: 100%; + padding: 0.75rem; + background: #3b82f6; + color: white; + border: none; + border-radius: 4px; + font-size: 1rem; + cursor: pointer; + transition: background-color 0.2s; + + &:hover { + background: #2563eb; + } + + &:disabled { + background: #64748b; + cursor: not-allowed; + } +`; + +const ErrorMessage = styled.div` + color: #ef4444; + margin-bottom: 1rem; + text-align: center; +`; + +export default function AdminLoginClient() { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [error, setError] = useState(''); + const [isLoading, setIsLoading] = useState(false); + const router = useRouter(); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + setIsLoading(true); + + try { + const result = await signIn('credentials', { + email, + password, + isAdminLogin: 'true', + redirect: false, + }); + + if (result?.error) { + switch (result.error) { + case 'NOT_AN_ADMIN': + setError('У вас нет прав администратора'); + break; + case 'EMAIL_NOT_VERIFIED': + setError('Пожалуйста, подтвердите свой email'); + break; + default: + setError('Неверный email или пароль'); + } + } else { + router.push('/admin'); + } + } catch (error) { + setError('Произошла ошибка при входе'); + } finally { + setIsLoading(false); + } + }; + + return ( + +
+ Вход в админ-панель + {error && {error}} + setEmail(e.target.value)} + required + /> + setPassword(e.target.value)} + required + /> + +
+
+ ); +} diff --git a/src/app/admin/login/page.tsx b/src/app/admin/login/page.tsx new file mode 100644 index 0000000..da44a9d --- /dev/null +++ b/src/app/admin/login/page.tsx @@ -0,0 +1,5 @@ +import AdminLoginClient from './AdminLoginClient'; + +export default function AdminLoginPage() { + return ; +} diff --git a/src/app/api/admin/create/route.ts b/src/app/api/admin/create/route.ts new file mode 100644 index 0000000..1467e85 --- /dev/null +++ b/src/app/api/admin/create/route.ts @@ -0,0 +1,43 @@ +import { NextResponse } from 'next/server'; +import { User } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function POST(req: Request) { + try { + const { email, secret } = await req.json(); + + // Проверяем секретный ключ + const adminSecret = process.env.ADMIN_SECRET; + if (!adminSecret || secret !== adminSecret) { + return NextResponse.json( + { error: 'Неверный секретный ключ' }, + { status: 403 } + ); + } + + await connectDB(); + + const user = await User.findOne({ email }); + if (!user) { + return NextResponse.json( + { error: 'Пользователь не найден' }, + { status: 404 } + ); + } + + // Назначаем пользователя администратором + user.isAdmin = true; + await user.save(); + + return NextResponse.json({ + success: true, + message: 'Пользователь успешно назначен администратором' + }); + } catch (error) { + console.error('Error creating admin:', error); + return NextResponse.json( + { error: 'Произошла ошибка при назначении администратора' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/movies/route.ts b/src/app/api/admin/movies/route.ts new file mode 100644 index 0000000..4f91055 --- /dev/null +++ b/src/app/api/admin/movies/route.ts @@ -0,0 +1,28 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/lib/auth'; +import { Movie } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function GET() { + try { + await connectDB(); + + const session = await getServerSession(authOptions); + if (!session?.user?.isAdmin) { + return NextResponse.json( + { error: 'Unauthorized' }, + { status: 401 } + ); + } + + const movies = await Movie.find().sort({ createdAt: -1 }); + return NextResponse.json(movies); + } catch (error) { + console.error('Error fetching movies:', error); + return NextResponse.json( + { error: 'Failed to fetch movies' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/movies/toggle-visibility/route.ts b/src/app/api/admin/movies/toggle-visibility/route.ts new file mode 100644 index 0000000..a5e4375 --- /dev/null +++ b/src/app/api/admin/movies/toggle-visibility/route.ts @@ -0,0 +1,46 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/lib/auth'; +import { Movie } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function POST(request: Request) { + try { + await connectDB(); + + const session = await getServerSession(authOptions); + if (!session?.user?.isAdmin) { + return NextResponse.json( + { error: 'Unauthorized' }, + { status: 401 } + ); + } + + const { movieId } = await request.json(); + if (!movieId) { + return NextResponse.json( + { error: 'Movie ID is required' }, + { status: 400 } + ); + } + + const movie = await Movie.findById(movieId); + if (!movie) { + return NextResponse.json( + { error: 'Movie not found' }, + { status: 404 } + ); + } + + movie.isVisible = !movie.isVisible; + await movie.save(); + + return NextResponse.json({ success: true, movie }); + } catch (error) { + console.error('Error toggling movie visibility:', error); + return NextResponse.json( + { error: 'Failed to toggle movie visibility' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/send-verification/route.ts b/src/app/api/admin/send-verification/route.ts new file mode 100644 index 0000000..f6cd8bd --- /dev/null +++ b/src/app/api/admin/send-verification/route.ts @@ -0,0 +1,42 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/lib/auth'; +import { User } from '@/models'; +import { connectDB } from '@/lib/db'; +import { sendVerificationEmail } from '@/lib/email'; +import { generateVerificationToken } from '@/lib/utils'; + +export async function POST(req: Request) { + try { + const { email } = await req.json(); + + await connectDB(); + + const user = await User.findOne({ email }); + + if (!user || !user.isAdmin) { + return NextResponse.json( + { error: 'Доступ запрещен' }, + { status: 403 } + ); + } + + if (!email) { + return NextResponse.json( + { error: 'Email is required' }, + { status: 400 } + ); + } + + const token = generateVerificationToken(); + await sendVerificationEmail(email, token); + + return NextResponse.json({ success: true }); + } catch (error) { + console.error('Error sending verification email:', error); + return NextResponse.json( + { error: 'Failed to send verification email' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/toggle-admin/route.ts b/src/app/api/admin/toggle-admin/route.ts new file mode 100644 index 0000000..810064b --- /dev/null +++ b/src/app/api/admin/toggle-admin/route.ts @@ -0,0 +1,56 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/lib/auth'; +import { User } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function POST(req: Request) { + try { + const session = await getServerSession(authOptions); + + if (!session?.user?.isAdmin) { + return NextResponse.json( + { error: 'Доступ запрещен' }, + { status: 403 } + ); + } + + const { userId } = await req.json(); + + await connectDB(); + + const targetUser = await User.findById(userId); + if (!targetUser) { + return NextResponse.json( + { error: 'Пользователь не найден' }, + { status: 404 } + ); + } + + // Проверяем, что это не последний администратор + if (targetUser.isAdmin) { + const adminCount = await User.countDocuments({ isAdmin: true }); + if (adminCount <= 1) { + return NextResponse.json( + { error: 'Нельзя отозвать права у последнего администратора' }, + { status: 400 } + ); + } + } + + // Переключаем статус администратора + targetUser.isAdmin = !targetUser.isAdmin; + await targetUser.save(); + + return NextResponse.json({ + success: true, + isAdmin: targetUser.isAdmin, + }); + } catch (error) { + console.error('Error toggling admin status:', error); + return NextResponse.json( + { error: 'Произошла ошибка при изменении прав администратора' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/users/toggle-admin/route.ts b/src/app/api/admin/users/toggle-admin/route.ts new file mode 100644 index 0000000..810064b --- /dev/null +++ b/src/app/api/admin/users/toggle-admin/route.ts @@ -0,0 +1,56 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/lib/auth'; +import { User } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function POST(req: Request) { + try { + const session = await getServerSession(authOptions); + + if (!session?.user?.isAdmin) { + return NextResponse.json( + { error: 'Доступ запрещен' }, + { status: 403 } + ); + } + + const { userId } = await req.json(); + + await connectDB(); + + const targetUser = await User.findById(userId); + if (!targetUser) { + return NextResponse.json( + { error: 'Пользователь не найден' }, + { status: 404 } + ); + } + + // Проверяем, что это не последний администратор + if (targetUser.isAdmin) { + const adminCount = await User.countDocuments({ isAdmin: true }); + if (adminCount <= 1) { + return NextResponse.json( + { error: 'Нельзя отозвать права у последнего администратора' }, + { status: 400 } + ); + } + } + + // Переключаем статус администратора + targetUser.isAdmin = !targetUser.isAdmin; + await targetUser.save(); + + return NextResponse.json({ + success: true, + isAdmin: targetUser.isAdmin, + }); + } catch (error) { + console.error('Error toggling admin status:', error); + return NextResponse.json( + { error: 'Произошла ошибка при изменении прав администратора' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/admin/verify-code/route.ts b/src/app/api/admin/verify-code/route.ts new file mode 100644 index 0000000..78a4687 --- /dev/null +++ b/src/app/api/admin/verify-code/route.ts @@ -0,0 +1,42 @@ +import { NextResponse } from 'next/server'; +import { User } from '@/models'; +import { connectDB } from '@/lib/db'; + +export async function POST(req: Request) { + try { + const { email, code } = await req.json(); + + await connectDB(); + + const user = await User.findOne({ email }); + + if (!user || !user.isAdmin) { + return NextResponse.json( + { error: 'Доступ запрещен' }, + { status: 403 } + ); + } + + // Проверяем код + if (!user.adminVerificationCode || + user.adminVerificationCode.code !== code || + new Date() > new Date(user.adminVerificationCode.expiresAt)) { + return NextResponse.json( + { error: 'Неверный или устаревший код подтверждения' }, + { status: 400 } + ); + } + + // Очищаем код после успешной проверки + user.adminVerificationCode = undefined; + await user.save(); + + return NextResponse.json({ success: true }); + } catch (error) { + console.error('Error verifying code:', error); + return NextResponse.json( + { error: 'Произошла ошибка при проверке кода' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/auth/[...nextauth]/route.ts b/src/app/api/auth/[...nextauth]/route.ts new file mode 100644 index 0000000..3b5f4a7 --- /dev/null +++ b/src/app/api/auth/[...nextauth]/route.ts @@ -0,0 +1,98 @@ +import NextAuth, { DefaultSession } from 'next-auth'; +import CredentialsProvider from 'next-auth/providers/credentials'; +import { compare } from 'bcrypt'; +import { connectToDatabase } from '@/lib/mongodb'; + +// Расширяем тип User в сессии +declare module 'next-auth' { + interface Session { + user: { + id: string; + name: string; + email: string; + verified: boolean; + isAdmin: boolean; + adminVerified?: boolean; + } & DefaultSession['user'] + } +} + +const handler = NextAuth({ + providers: [ + CredentialsProvider({ + name: 'credentials', + credentials: { + email: { label: 'Email', type: 'email' }, + password: { label: 'Password', type: 'password' }, + isAdminLogin: { label: 'isAdminLogin', type: 'boolean' } + }, + async authorize(credentials) { + if (!credentials?.email || !credentials?.password) { + throw new Error('Необходимо указать email и пароль'); + } + + const { db } = await connectToDatabase(); + const user = await db.collection('users').findOne({ email: credentials.email }); + + if (!user) { + throw new Error('Пользователь не найден'); + } + + const isPasswordValid = await compare(credentials.password, user.password); + + if (!isPasswordValid) { + throw new Error('Неверный пароль'); + } + + // Проверяем верификацию + if (!user.verified) { + throw new Error('EMAIL_NOT_VERIFIED'); + } + + // Если это попытка входа в админ-панель + if (credentials.isAdminLogin === 'true') { + // Проверяем, является ли пользователь админом + if (!user.isAdmin) { + throw new Error('NOT_AN_ADMIN'); + } + } + + return { + id: user._id.toString(), + email: user.email, + name: user.name, + verified: user.verified, + isAdmin: user.isAdmin, + adminVerified: credentials.isAdminLogin === 'true' + }; + } + }) + ], + pages: { + signIn: '/login', + error: '/login' + }, + callbacks: { + jwt({ token, user }) { + if (user) { + token.id = user.id; + token.verified = user.verified; + token.isAdmin = user.isAdmin; + token.adminVerified = user.adminVerified; + } + return token; + }, + session({ session, token }) { + if (session.user) { + session.user.id = token.id as string; + session.user.verified = token.verified as boolean; + session.user.isAdmin = token.isAdmin as boolean; + session.user.adminVerified = token.adminVerified as boolean; + } + return session; + } + }, + secret: process.env.NEXTAUTH_SECRET, +}); + +export { handler as GET, handler as POST }; diff --git a/src/app/api/auth/check-verification/route.ts b/src/app/api/auth/check-verification/route.ts new file mode 100644 index 0000000..9af30b5 --- /dev/null +++ b/src/app/api/auth/check-verification/route.ts @@ -0,0 +1,23 @@ +import { NextResponse } from 'next/server'; +import { connectToDatabase } from '@/lib/mongodb'; + +export async function POST(req: Request) { + try { + const { email } = await req.json(); + const { db } = await connectToDatabase(); + + const user = await db.collection('users').findOne({ email }); + + if (!user) { + return NextResponse.json({ error: 'Пользователь не найден' }, { status: 404 }); + } + + return NextResponse.json({ verified: user.verified ?? false }); + } catch (error) { + console.error('Error checking verification status:', error); + return NextResponse.json( + { error: 'Внутренняя ошибка сервера' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/auth/register/route.ts b/src/app/api/auth/register/route.ts new file mode 100644 index 0000000..be6b8d4 --- /dev/null +++ b/src/app/api/auth/register/route.ts @@ -0,0 +1,58 @@ +import { NextResponse } from 'next/server'; +import { hash } from 'bcryptjs'; +import { connectToDatabase } from '@/lib/mongodb'; +import { sendVerificationEmail } from '@/lib/mailer'; + +function generateVerificationCode(): string { + return Math.floor(100000 + Math.random() * 900000).toString(); +} + +export async function POST(req: Request) { + try { + const { email, password, name } = await req.json(); + + const { db } = await connectToDatabase(); + + // Проверяем, существует ли пользователь + const existingUser = await db.collection('users').findOne({ email }); + if (existingUser) { + return NextResponse.json( + { error: 'Email уже зарегистрирован' }, + { status: 400 } + ); + } + + // Хешируем пароль + const hashedPassword = await hash(password, 12); + + // Генерируем код подтверждения + const verificationCode = generateVerificationCode(); + const verificationExpires = new Date(Date.now() + 10 * 60 * 1000); // 10 минут + + // Создаем пользователя + await db.collection('users').insertOne({ + email, + password: hashedPassword, + name, + verified: false, + verificationCode, + verificationExpires, + isAdmin: false, // Явно указываем, что новый пользователь не админ + createdAt: new Date(), + }); + + // Отправляем код подтверждения + await sendVerificationEmail(email, verificationCode); + + return NextResponse.json({ + success: true, + email, + message: 'Пользователь успешно зарегистрирован', + }); + } catch { + return NextResponse.json( + { message: 'Ошибка при регистрации' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/auth/resend-code/route.ts b/src/app/api/auth/resend-code/route.ts new file mode 100644 index 0000000..4892311 --- /dev/null +++ b/src/app/api/auth/resend-code/route.ts @@ -0,0 +1,48 @@ +import { NextResponse } from 'next/server'; +import { connectToDatabase } from '@/lib/mongodb'; +import { sendVerificationEmail } from '@/lib/mailer'; + +function generateVerificationCode(): string { + return Math.floor(100000 + Math.random() * 900000).toString(); +} + +export async function POST(req: Request) { + try { + const { email } = await req.json(); + + const { db } = await connectToDatabase(); + const user = await db.collection('users').findOne({ email }); + + if (!user) { + return NextResponse.json( + { error: 'Пользователь не найден' }, + { status: 404 } + ); + } + + // Генерируем новый код + const verificationCode = generateVerificationCode(); + const verificationExpires = new Date(Date.now() + 10 * 60 * 1000); // 10 минут + + // Обновляем код в базе + await db.collection('users').updateOne( + { email }, + { + $set: { + verificationCode, + verificationExpires, + }, + } + ); + + // Отправляем новый код + await sendVerificationEmail(email, verificationCode); + + return NextResponse.json({ success: true }); + } catch { + return NextResponse.json( + { message: 'Ошибка при отправке кода' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/auth/verify/route.ts b/src/app/api/auth/verify/route.ts new file mode 100644 index 0000000..da05528 --- /dev/null +++ b/src/app/api/auth/verify/route.ts @@ -0,0 +1,51 @@ +import { NextResponse } from 'next/server'; +import { connectToDatabase } from '@/lib/mongodb'; + +export async function POST(req: Request) { + try { + const { email, code } = await req.json(); + + const { db } = await connectToDatabase(); + const user = await db.collection('users').findOne({ email }); + + if (!user) { + return NextResponse.json( + { error: 'Пользователь не найден' }, + { status: 404 } + ); + } + + if (user.verificationCode !== code) { + return NextResponse.json( + { error: 'Неверный код подтверждения' }, + { status: 400 } + ); + } + + if (user.verificationExpires < new Date()) { + return NextResponse.json( + { error: 'Код подтверждения истек' }, + { status: 400 } + ); + } + + // Подтверждаем аккаунт + await db.collection('users').updateOne( + { email }, + { + $set: { + verified: true, + verificationCode: null, + verificationExpires: null, + }, + } + ); + + return NextResponse.json({ success: true }); + } catch { + return NextResponse.json( + { message: 'Ошибка при подтверждении' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/movies/search/route.ts b/src/app/api/movies/search/route.ts new file mode 100644 index 0000000..437b8fa --- /dev/null +++ b/src/app/api/movies/search/route.ts @@ -0,0 +1,28 @@ +import { NextResponse } from 'next/server'; +import { searchAPI } from '@/lib/api'; + +const TMDB_API_KEY = process.env.TMDB_API_KEY; +const TMDB_API_URL = 'https://api.themoviedb.org/3'; + +export async function GET(request: Request) { + const { searchParams } = new URL(request.url); + const query = searchParams.get('query'); + + if (!query) { + return NextResponse.json( + { error: 'Query parameter is required' }, + { status: 400 } + ); + } + + try { + const { data } = await searchAPI.multiSearch(query); + return NextResponse.json(data); + } catch (error) { + console.error('Error searching:', error); + return NextResponse.json( + { error: 'Failed to search' }, + { status: 500 } + ); + } +} diff --git a/src/app/api/movies/sync/route.ts b/src/app/api/movies/sync/route.ts new file mode 100644 index 0000000..193176f --- /dev/null +++ b/src/app/api/movies/sync/route.ts @@ -0,0 +1,15 @@ +import { NextResponse } from 'next/server'; +import { syncMovies } from '@/lib/movieSync'; + +export async function POST() { + try { + const movies = await syncMovies(); + return NextResponse.json({ success: true, movies }); + } catch (error) { + console.error('Error syncing movies:', error); + return NextResponse.json( + { error: 'Failed to sync movies' }, + { status: 500 } + ); + } +} diff --git a/src/app/error.tsx b/src/app/error.tsx new file mode 100644 index 0000000..919b2d9 --- /dev/null +++ b/src/app/error.tsx @@ -0,0 +1,42 @@ +'use client'; + +import { useEffect } from 'react'; +import styled from 'styled-components'; + +const Container = styled.div` + /* Add styles here */ +`; + +const Title = styled.h1` + /* Add styles here */ +`; + +const Description = styled.p` + /* Add styles here */ +`; + +const Button = styled.button` + /* Add styles here */ +`; + +export default function Error({ + error, +}: { + error: Error & { digest?: string }; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( + + Что-то пошло не так! + + Произошла ошибка при загрузке страницы. Попробуйте обновить страницу. + + + + ); +} diff --git a/src/app/favicon.ico b/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..8b02691 --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,51 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 237, 237, 237; + --background-start-rgb: 14, 14, 14; + --background-end-rgb: 14, 14, 14; + } +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); + min-height: 100vh; + font-family: 'Inter', Arial, sans-serif; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +/* Стили для Dark Reader */ +[data-darkreader-mode] #__next, +[data-darkreader-mode] body, +[data-darkreader-mode] html { + background: rgb(14, 14, 14) !important; +} + +/* Скрываем индикаторы Next.js */ +#nextjs-portal { + display: none; +} + +[data-nextjs-toast-wrapper] { + display: none !important; +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..68578eb --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,28 @@ +import { Inter } from 'next/font/google'; +import './globals.css'; +import { ClientLayout } from '@/components/ClientLayout'; +import type { Metadata } from 'next'; + +const inter = Inter({ subsets: ['latin', 'cyrillic'] }); + +export const metadata: Metadata = { + title: 'Neo Movies', + description: 'Смотрите фильмы онлайн', +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + + + + {children} + + + ); +} diff --git a/src/app/login/LoginClient.tsx b/src/app/login/LoginClient.tsx new file mode 100644 index 0000000..21ee954 --- /dev/null +++ b/src/app/login/LoginClient.tsx @@ -0,0 +1,317 @@ +'use client'; + +import React, { useState } from 'react'; +import styled from 'styled-components'; +import { signIn } from 'next-auth/react'; +import { useRouter } from 'next/navigation'; + +const Container = styled.div` + width: 100%; + display: flex; + flex-direction: column; + gap: 2rem; +`; + +const Form = styled.form` + display: flex; + flex-direction: column; + gap: 1.5rem; + width: 100%; +`; + +const Title = styled.h2` + font-size: 2rem; + font-weight: 700; + color: #fff; + text-align: center; + margin-bottom: 0.5rem; +`; + +const Subtitle = styled.p` + color: rgba(255, 255, 255, 0.7); + text-align: center; + margin-bottom: 2rem; + font-size: 1rem; +`; + +const InputGroup = styled.div` + display: flex; + flex-direction: column; + gap: 0.5rem; + width: 100%; +`; + +const Label = styled.label` + font-size: 0.875rem; + font-weight: 500; + color: rgba(255, 255, 255, 0.9); +`; + +const Input = styled.input` + width: 100%; + padding: 1rem; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: rgba(255, 255, 255, 0.05); + color: #fff; + font-size: 1rem; + transition: all 0.2s; + + &::placeholder { + color: rgba(255, 255, 255, 0.3); + } + + &:focus { + outline: none; + border-color: #2196f3; + background: rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.1); + } +`; + +const Button = styled.button` + width: 100%; + background: linear-gradient(to right, #2196f3, #1e88e5); + color: white; + padding: 1rem; + border-radius: 12px; + border: none; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + margin-top: 1rem; + + &:hover { + background: linear-gradient(to right, #1e88e5, #1976d2); + transform: translateY(-1px); + box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3); + } + + &:active { + transform: translateY(0); + } +`; + +const Divider = styled.div` + display: flex; + align-items: center; + text-align: center; + margin: 2rem 0; + + &::before, + &::after { + content: ''; + flex: 1; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + } + + &::before { + margin-right: 1rem; + } + + &::after { + margin-left: 1rem; + } +`; + +const DividerText = styled.span` + color: rgba(255, 255, 255, 0.5); + font-size: 0.875rem; + padding: 0 1rem; +`; + +const GoogleButton = styled(Button)` + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + margin-top: 0; + + &:hover { + background: rgba(255, 255, 255, 0.1); + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); + } +`; + +const ToggleText = styled.p` + color: rgba(255, 255, 255, 0.7); + text-align: center; + margin-top: 2rem; + + button { + color: #2196f3; + background: none; + border: none; + padding: 0; + margin-left: 0.5rem; + font-weight: 600; + cursor: pointer; + + &:hover { + text-decoration: underline; + } + } +`; + +const ErrorMessage = styled.div` + color: #ff5252; + font-size: 0.875rem; + text-align: center; + padding: 0.75rem; + background: rgba(255, 82, 82, 0.1); + border-radius: 8px; + margin-top: 1rem; +`; + +export default function LoginClient() { + const [isLogin, setIsLogin] = useState(true); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [name, setName] = useState(''); + const [error, setError] = useState(''); + const router = useRouter(); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + + try { + if (isLogin) { + const result = await signIn('credentials', { + redirect: false, + email, + password, + }); + + if (result?.error) { + if (result.error === 'EMAIL_NOT_VERIFIED') { + router.push(`/verify?email=${encodeURIComponent(email)}`); + return; + } + throw new Error(result.error); + } + + router.push('/'); + } else { + const response = await fetch('/api/auth/register', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email, password, name }), + }); + + if (!response.ok) { + const data = await response.json(); + throw new Error(data.error || 'Ошибка при регистрации'); + } + + const data = await response.json(); + + // Сохраняем пароль для автовхода после верификации + localStorage.setItem('password', password); + + router.push(`/verify?email=${encodeURIComponent(email)}`); + } + } catch (err) { + setError(err instanceof Error ? err.message : 'Произошла ошибка'); + } + }; + + const handleGoogleSignIn = () => { + signIn('google', { callbackUrl: '/' }); + }; + + return ( + +
+ {isLogin ? 'С возвращением!' : 'Создать аккаунт'} + + {isLogin + ? 'Войдите в свой аккаунт для доступа к фильмам' + : 'Зарегистрируйтесь для доступа ко всем возможностям'} + +
+ +
+ {!isLogin && ( + + + setName(e.target.value)} + required={!isLogin} + /> + + )} + + + + setEmail(e.target.value)} + required + /> + + + + + setPassword(e.target.value)} + required + /> + + + {error && {error}} + + +
+ + + или + + + + + + + + + + Продолжить с Google + + + + {isLogin ? 'Еще нет аккаунта?' : 'Уже есть аккаунт?'} + + +
+ ); +} diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..a308475 --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,129 @@ +'use client'; + +import dynamic from 'next/dynamic'; +import styled from 'styled-components'; + +const LoginClient = dynamic(() => import('./LoginClient'), { + ssr: false +}); + +export default function LoginPage() { + return ( + + + + + + + + + + Neo Movies + + + + + + + + ); +} + +const Container = styled.div` + min-height: 100vh; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + position: relative; + background-color: #0a0a0a; + overflow: hidden; +`; + +const Content = styled.main` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + max-width: 1200px; + padding: 2rem; + position: relative; + z-index: 1; +`; + +const Logo = styled.h1` + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 2rem; + color: white; + text-align: center; + + span { + color: #2196f3; + } +`; + +const GlassCard = styled.div` + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(20px); + border: 1px solid rgba(255, 255, 255, 0.1); + padding: 3rem; + border-radius: 24px; + width: 100%; + max-width: 500px; + box-shadow: + 0 8px 32px 0 rgba(0, 0, 0, 0.3), + inset 0 0 0 1px rgba(255, 255, 255, 0.05); + margin: 0 auto; +`; + +const GlowingBackground = styled.div` + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + z-index: 0; +`; + +const Glow = styled.div` + position: absolute; + border-radius: 50%; + filter: blur(100px); + opacity: 0.3; + animation: float 20s infinite ease-in-out; + + @keyframes float { + 0%, 100% { transform: translate(0, 0); } + 50% { transform: translate(-30px, 30px); } + } +`; + +const Glow1 = styled(Glow)` + background: #2196f3; + width: 600px; + height: 600px; + top: -200px; + left: -200px; + animation-delay: 0s; +`; + +const Glow2 = styled(Glow)` + background: #9c27b0; + width: 500px; + height: 500px; + bottom: -150px; + right: -150px; + animation-delay: -5s; +`; + +const Glow3 = styled(Glow)` + background: #00bcd4; + width: 400px; + height: 400px; + bottom: 100px; + left: 30%; + animation-delay: -10s; +`; diff --git a/src/app/metadata.ts b/src/app/metadata.ts new file mode 100644 index 0000000..bada6bf --- /dev/null +++ b/src/app/metadata.ts @@ -0,0 +1,6 @@ +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Neo Movies', + description: 'Смотрите фильмы онлайн', +}; diff --git a/src/app/movie/[id]/MovieContent.tsx b/src/app/movie/[id]/MovieContent.tsx new file mode 100644 index 0000000..bc2e0db --- /dev/null +++ b/src/app/movie/[id]/MovieContent.tsx @@ -0,0 +1,207 @@ +'use client'; + +import { useEffect, useState, Suspense } from 'react'; +import styled from 'styled-components'; +import { moviesAPI } from '@/lib/api'; +import type { MovieDetails } from '@/lib/api'; +import { useSettings } from '@/hooks/useSettings'; +import MoviePlayer from '@/components/MoviePlayer'; + +declare global { + interface Window { + kbox: any; + } +} + +const Container = styled.div` + width: 100%; + min-height: 100vh; + padding: 0 24px; +`; + +const Content = styled.div` + width: 100%; + max-width: 1200px; + margin: 0 auto; +`; + +const MovieInfo = styled.div` + display: flex; + gap: 30px; + margin-bottom: 1rem; + + @media (max-width: 768px) { + flex-direction: column; + } +`; + +const PosterContainer = styled.div` + flex-shrink: 0; +`; + +const Poster = styled.img` + width: 300px; + border-radius: 10px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + + @media (max-width: 768px) { + width: 100%; + max-width: 300px; + margin: 0 auto; + } +`; + +const Details = styled.div` + flex: 1; +`; + +const Title = styled.h1` + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 1rem; + color: white; +`; + +const Info = styled.div` + display: flex; + gap: 1rem; + flex-wrap: wrap; + margin-bottom: 1rem; +`; + +const InfoItem = styled.span` + color: rgba(255, 255, 255, 0.7); + font-size: 0.9rem; +`; + +const GenreList = styled.div` + display: flex; + gap: 0.5rem; + flex-wrap: wrap; + margin-bottom: 1rem; +`; + +const Genre = styled.span` + background: rgba(255, 255, 255, 0.1); + padding: 0.25rem 0.75rem; + border-radius: 1rem; + font-size: 0.9rem; + color: rgba(255, 255, 255, 0.8); +`; + +const Tagline = styled.div` + font-style: italic; + color: rgba(255, 255, 255, 0.6); + margin-bottom: 1rem; +`; + +const Overview = styled.p` + color: rgba(255, 255, 255, 0.8); + line-height: 1.6; +`; + +const PlayerSection = styled.div` + margin-top: 2rem; +`; + +const LoadingContainer = styled.div` + display: flex; + justify-content: center; + align-items: center; + min-height: 400px; + color: rgba(255, 255, 255, 0.7); +`; + +const ErrorContainer = styled.div` + display: flex; + justify-content: center; + align-items: center; + min-height: 400px; + color: #ff4444; +`; + + +import { useParams } from 'next/navigation'; + +export default function MovieContent() { + const { id: movieId } = useParams(); + const { settings } = useSettings(); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [movie, setMovie] = useState(null); + const [imdbId, setImdbId] = useState(null); + + useEffect(() => { + const fetchMovie = async () => { + if (!movieId) return; + + try { + setLoading(true); + const response = await moviesAPI.getMovie(movieId); + setMovie(response.data); + + const newImdbId = await moviesAPI.getImdbId(movieId); + if (!newImdbId) { + setError('IMDb ID не найден'); + return; + } + setImdbId(newImdbId); + + setError(null); + } catch (err) { + console.error('Error fetching movie:', err); + setError('Ошибка при загрузке фильма'); + } finally { + setLoading(false); + } + }; + + fetchMovie(); + }, [movieId]); + + if (loading) return Загрузка...; + if (error) return {error}; + if (!movie || !imdbId) return null; + + return ( + + + + + + + +
+ {movie.title} + + Рейтинг: {movie.vote_average.toFixed(1)} + Длительность: {movie.runtime} мин. + Дата выхода: {new Date(movie.release_date).toLocaleDateString('ru-RU')} + + + {movie.genres.map(genre => ( + {genre.name} + ))} + + {movie.tagline && {movie.tagline}} + {movie.overview} +
+
+ + + Загрузка плеера...}> + + + +
+
+ ); +} diff --git a/src/app/movie/[id]/MoviePage.tsx b/src/app/movie/[id]/MoviePage.tsx new file mode 100644 index 0000000..6db019e --- /dev/null +++ b/src/app/movie/[id]/MoviePage.tsx @@ -0,0 +1,37 @@ +'use client'; + +import styled from 'styled-components'; +import PageLayout from '@/components/PageLayout'; +import MovieContent from './MovieContent'; +import type { MovieDetails } from '@/lib/api'; + +const Container = styled.div` + width: 100%; + min-height: 100vh; + padding: 0 24px; +`; + +interface MoviePageProps { + movieId: string; + movie: MovieDetails | null; +} + +export default function MoviePage({ movieId, movie }: MoviePageProps) { + if (!movie) { + return ( + + +
Фильм не найден
+
+
+ ); + } + + return ( + + + + + + ); +} diff --git a/src/app/movie/[id]/page.tsx b/src/app/movie/[id]/page.tsx new file mode 100644 index 0000000..ee864ae --- /dev/null +++ b/src/app/movie/[id]/page.tsx @@ -0,0 +1,23 @@ +import MoviePage from './MoviePage'; +import { moviesAPI } from '@/lib/api'; + +interface PageProps { + params: { + id: string; + }; +} + +async function getData(id: string) { + try { + const response = await moviesAPI.getMovie(id); + return { id, movie: response.data }; + } catch (error) { + console.error('Error fetching movie:', error); + return { id, movie: null }; + } +} + +export default async function Page({ params }: PageProps) { + const data = await getData(params.id); + return ; +} \ No newline at end of file diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 0000000..ec93761 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,178 @@ +'use client'; + +import Link from 'next/link'; +import styled from 'styled-components'; +import { useEffect, useState } from 'react'; + +const Container = styled.div` + min-height: 100vh; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #0a0a0a; + overflow: hidden; + z-index: 9999; +`; + +const Content = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + max-width: 1200px; + padding: 2rem; + position: relative; + z-index: 1; +`; + +const GlassCard = styled.div` + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(20px); + border: 1px solid rgba(255, 255, 255, 0.1); + padding: 3rem; + border-radius: 24px; + width: 100%; + max-width: 500px; + box-shadow: + 0 8px 32px 0 rgba(0, 0, 0, 0.3), + inset 0 0 0 1px rgba(255, 255, 255, 0.05); + margin: 0 auto; + text-align: center; +`; + +const ErrorCode = styled.h1` + font-size: 120px; + font-weight: 700; + color: #2196f3; + margin: 0; + line-height: 1; + letter-spacing: 4px; + text-shadow: 0 4px 32px rgba(33, 150, 243, 0.3); +`; + +const Title = styled.h2` + font-size: 24px; + color: #FFFFFF; + margin: 20px 0; + font-weight: 600; +`; + +const Description = styled.p` + color: rgba(255, 255, 255, 0.7); + margin-bottom: 30px; + font-size: 16px; + line-height: 1.5; +`; + +const HomeButton = styled(Link)` + display: inline-block; + padding: 12px 24px; + background: #2196f3; + color: white; + text-decoration: none; + border-radius: 8px; + font-weight: 500; + transition: all 0.2s; + + &:hover { + background: #1976d2; + transform: translateY(-2px); + box-shadow: 0 4px 16px rgba(33, 150, 243, 0.3); + } +`; + +const GlowingBackground = styled.div` + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + z-index: 0; + opacity: 0; + transition: opacity 0.5s ease-in-out; + + &.visible { + opacity: 1; + } +`; + +const Glow = styled.div` + position: absolute; + border-radius: 50%; + filter: blur(100px); + opacity: 0.3; + animation: float 20s infinite ease-in-out; + + @keyframes float { + 0%, 100% { transform: translate(0, 0); } + 50% { transform: translate(-30px, 30px); } + } +`; + +const Glow1 = styled(Glow)` + background: #2196f3; + width: 600px; + height: 600px; + top: -200px; + left: -200px; + animation-delay: 0s; +`; + +const Glow2 = styled(Glow)` + background: #9c27b0; + width: 500px; + height: 500px; + bottom: -150px; + right: -150px; + animation-delay: -5s; +`; + +const Glow3 = styled(Glow)` + background: #00bcd4; + width: 400px; + height: 400px; + bottom: 100px; + left: 30%; + animation-delay: -10s; +`; + +export default function NotFound() { + const [isClient, setIsClient] = useState(false); + + useEffect(() => { + setIsClient(true); + }, []); + + return ( + + {isClient && ( + + + + + + )} + + + + 404 + Упс... Страница не найдена + + К сожалению, запрашиваемая страница не найдена. +
+ Возможно, она была удалена или перемещена. +
+ Вернуться на главную +
+
+
+ ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..4667c9f --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,193 @@ +'use client'; + +import { useState } from 'react'; +import Link from 'next/link'; +import styled from 'styled-components'; +import { HeartIcon } from '@/components/Icons/HeartIcon'; +import MovieCard from '@/components/MovieCard'; +import { useMovies } from '@/hooks/useMovies'; +import Pagination from '@/components/Pagination'; + +const Container = styled.div` + min-height: 100vh; + width: 100%; + padding: 24px; + padding-top: 84px; + + @media (min-width: 769px) { + padding-left: 264px; + } +`; + +const FeaturedMovie = styled.div` + position: relative; + width: 100%; + height: 600px; + background-size: cover; + background-position: center; + margin-bottom: 2rem; + border-radius: 24px; + overflow: hidden; +`; + +const Overlay = styled.div` + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.2) 100%); + display: flex; + align-items: center; + padding: 2rem; +`; + +const FeaturedContent = styled.div` + max-width: 600px; + color: white; +`; + +const GenreTags = styled.div` + display: flex; + gap: 0.5rem; + margin-bottom: 1rem; +`; + +const GenreTag = styled.span` + background: rgba(255, 255, 255, 0.1); + padding: 0.25rem 0.75rem; + border-radius: 1rem; + font-size: 0.875rem; +`; + +const Title = styled.h1` + font-size: 3rem; + font-weight: bold; + margin-bottom: 1rem; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); +`; + +const Description = styled.p` + font-size: 1.125rem; + margin-bottom: 2rem; + opacity: 0.9; + line-height: 1.6; +`; + +const ButtonGroup = styled.div` + display: flex; + gap: 1rem; +`; + +const WatchButton = styled.div` + background: ${props => props.theme.colors.primary}; + color: white; + padding: 0.75rem 2rem; + border: none; + border-radius: 9999px; + font-weight: 500; + cursor: pointer; + transition: background 0.2s; + display: flex; + align-items: center; + gap: 0.5rem; + + &:hover { + background: #2563eb; + } + + svg { + width: 20px; + height: 20px; + } +`; + +const FavoriteButton = styled(WatchButton)` + background: rgba(255, 255, 255, 0.1); + + &:hover { + background: rgba(255, 255, 255, 0.2); + } +`; + +const MoviesGrid = styled.div` + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 2rem; + margin-top: 2rem; +`; + +export default function HomePage() { + const { movies, featuredMovie, loading, error, totalPages, currentPage, setPage } = useMovies(1); + const [selectedGenre, setSelectedGenre] = useState(null); + + if (loading && !movies.length) { + return ( + +
Загрузка...
+
+ ); + } + + if (error) { + return ( + +
{error}
+
+ ); + } + + const filteredMovies = selectedGenre + ? movies.filter(movie => movie.genre_ids.includes(parseInt(selectedGenre))) + : movies; + + return ( + + {featuredMovie && ( + + + + + {featuredMovie.genres?.map(genre => ( + {genre.name} + ))} + + {featuredMovie.title} + {featuredMovie.overview} + + + + + + + Смотреть + + + + + В избранное + + + + + + )} + + + {filteredMovies.map(movie => ( + + ))} + + + + + ); +} diff --git a/src/app/profile/page.tsx b/src/app/profile/page.tsx new file mode 100644 index 0000000..4bb43f8 --- /dev/null +++ b/src/app/profile/page.tsx @@ -0,0 +1,116 @@ +'use client'; + +import { useSession } from 'next-auth/react'; +import styled from 'styled-components'; +import GlassCard from '@/components/GlassCard'; +import { useRouter } from 'next/navigation'; +import { useEffect } from 'react'; + +const Container = styled.div` + min-height: 100vh; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + padding-top: 80px; + background-color: #0a0a0a; +`; + +const Content = styled.div` + width: 100%; + max-width: 600px; + padding: 2rem; +`; + +const ProfileHeader = styled.div` + text-align: center; + margin-bottom: 2rem; +`; + +const Avatar = styled.div` + width: 120px; + height: 120px; + border-radius: 50%; + background: #2196f3; + display: flex; + align-items: center; + justify-content: center; + color: white; + font-size: 3rem; + font-weight: bold; + margin: 0 auto 1rem; + border: 4px solid #fff; +`; + +const Name = styled.h1` + color: #fff; + font-size: 2rem; + margin: 0; +`; + +const Email = styled.p` + color: rgba(255, 255, 255, 0.7); + margin: 0.5rem 0 0; +`; + +const SignOutButton = styled.button` + background: #ff4444; + color: white; + border: none; + padding: 0.75rem 1.5rem; + border-radius: 0.5rem; + font-size: 1rem; + cursor: pointer; + transition: background 0.2s; + margin-top: 1rem; + + &:hover { + background: #ff2020; + } +`; + +export default function ProfilePage() { + const { data: session, status } = useSession(); + const router = useRouter(); + + useEffect(() => { + if (status === 'unauthenticated') { + router.push('/login'); + } + }, [status, router]); + + if (status === 'loading') { + return ( + + + +
Загрузка...
+
+
+
+ ); + } + + if (!session) { + return null; + } + + return ( + + + + + + {session.user?.name?.split(' ').map(n => n[0]).join('').toUpperCase() || ''} + + {session.user?.name} + {session.user?.email} + + router.push('/settings')}> + Настройки + + + + + ); +} diff --git a/src/app/providers.tsx b/src/app/providers.tsx new file mode 100644 index 0000000..f900ca9 --- /dev/null +++ b/src/app/providers.tsx @@ -0,0 +1,32 @@ +'use client'; + +import { ThemeProvider } from 'styled-components'; +import { SessionProvider } from 'next-auth/react'; + +const theme = { + colors: { + primary: '#2196f3', + background: '#121212', + surface: '#1e1e1e', + text: '#ffffff', + textSecondary: 'rgba(255, 255, 255, 0.7)', + error: '#f44336', + success: '#4caf50', + }, + breakpoints: { + sm: '640px', + md: '768px', + lg: '1024px', + xl: '1280px', + }, +}; + +export function Providers({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + + ); +} diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx new file mode 100644 index 0000000..96a1bc5 --- /dev/null +++ b/src/app/settings/page.tsx @@ -0,0 +1,12 @@ +'use client'; + +import SettingsContent from '@/components/SettingsContent'; +import PageLayout from '@/components/PageLayout'; + +export default function SettingsPage() { + return ( + + + + ); +} \ No newline at end of file diff --git a/src/app/styles.tsx b/src/app/styles.tsx new file mode 100644 index 0000000..96afb88 --- /dev/null +++ b/src/app/styles.tsx @@ -0,0 +1,14 @@ +'use client'; + +import styled from 'styled-components'; + +export const MainContent = styled.main` + margin-left: 240px; + min-height: 100vh; + padding: 2rem; + + @media (max-width: 768px) { + margin-left: 0; + padding-top: 4rem; + } +`; diff --git a/src/app/tv/[id]/TVShowContent.tsx b/src/app/tv/[id]/TVShowContent.tsx new file mode 100644 index 0000000..6d70283 --- /dev/null +++ b/src/app/tv/[id]/TVShowContent.tsx @@ -0,0 +1,216 @@ +'use client'; + +import { useState } from 'react'; +import styled from 'styled-components'; +import Image from 'next/image'; +import type { TVShowDetails } from '@/lib/api'; +import MoviePlayer from '@/components/MoviePlayer'; + +const Container = styled.div` + width: 100%; + max-width: 1200px; + margin: 0 auto; +`; + +const ShowInfo = styled.div` + display: grid; + grid-template-columns: 300px 1fr; + gap: 2rem; + margin-bottom: 2rem; + + @media (max-width: 768px) { + grid-template-columns: 1fr; + } +`; + +const PosterContainer = styled.div` + position: relative; + width: 100%; + height: 450px; + border-radius: 0.5rem; + overflow: hidden; +`; + +const InfoContent = styled.div` + color: white; +`; + +const Title = styled.h1` + font-size: 2.5rem; + margin-bottom: 1rem; +`; + +const Overview = styled.p` + margin-bottom: 1.5rem; + line-height: 1.6; +`; + +const Stats = styled.div` + display: flex; + gap: 2rem; + margin-bottom: 1.5rem; + flex-wrap: wrap; +`; + +const StatItem = styled.div` + span { + color: rgba(255, 255, 255, 0.6); + } +`; + +const Section = styled.section` + margin-bottom: 2rem; +`; + +const SectionTitle = styled.h2` + font-size: 1.5rem; + margin-bottom: 1rem; + color: white; + padding-top: 1rem; +`; + +const PlayerSection = styled(Section)` + margin-top: 2rem; + min-height: 500px; +`; + +const PlayerContainer = styled.div` + position: relative; + width: 100%; + aspect-ratio: 16/9; + background: rgba(0, 0, 0, 0.3); + border-radius: 0.5rem; + overflow: hidden; +`; + +const CastGrid = styled.div` + display: grid; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + gap: 1rem; + margin-top: 1rem; +`; + +const CastCard = styled.div` + background: rgba(255, 255, 255, 0.1); + border-radius: 0.5rem; + overflow: hidden; + transition: transform 0.2s; + + &:hover { + transform: translateY(-2px); + } +`; + +const CastImageContainer = styled.div` + position: relative; + width: 100%; + height: 225px; +`; + +const CastInfo = styled.div` + padding: 0.75rem; +`; + +const CastName = styled.h3` + font-size: 0.9rem; + margin-bottom: 0.25rem; + color: white; +`; + +const Character = styled.p` + font-size: 0.8rem; + color: rgba(255, 255, 255, 0.6); +`; + +interface TVShowContentProps { + tvShowId: string; + initialShow: TVShowDetails; +} + +export default function TVShowContent({ tvShowId, initialShow }: TVShowContentProps) { + const [show] = useState(initialShow); + + const formatDate = (date: string) => { + return new Date(date).toLocaleDateString('ru-RU', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + }; + + return ( + + + + {show.poster_path && ( + {show.name} + )} + + + + {show.name} + {show.overview} + + + + Дата выхода: + {formatDate(show.first_air_date)} + + + Сезонов: + {show.number_of_seasons} + + + Эпизодов: + {show.number_of_episodes} + + + + + + + Смотреть онлайн + + + + + + {show.credits.cast.length > 0 && ( +
+ В ролях + + {show.credits.cast.slice(0, 12).map(actor => ( + + + {actor.name} + + + {actor.name} + {actor.character} + + + ))} + +
+ )} +
+ ); +} diff --git a/src/app/tv/[id]/TVShowPage.tsx b/src/app/tv/[id]/TVShowPage.tsx new file mode 100644 index 0000000..b1a2c47 --- /dev/null +++ b/src/app/tv/[id]/TVShowPage.tsx @@ -0,0 +1,37 @@ +'use client'; + +import styled from 'styled-components'; +import PageLayout from '@/components/PageLayout'; +import TVShowContent from './TVShowContent'; +import type { TVShowDetails } from '@/lib/api'; + +const Container = styled.div` + width: 100%; + min-height: 100vh; + padding: 0 24px; +`; + +interface TVShowPageProps { + tvShowId: string; + show: TVShowDetails | null; +} + +export default function TVShowPage({ tvShowId, show }: TVShowPageProps) { + if (!show) { + return ( + + +
Сериал не найден
+
+
+ ); + } + + return ( + + + + + + ); +} \ No newline at end of file diff --git a/src/app/tv/[id]/page.tsx b/src/app/tv/[id]/page.tsx new file mode 100644 index 0000000..2904848 --- /dev/null +++ b/src/app/tv/[id]/page.tsx @@ -0,0 +1,25 @@ +import TVShowPage from './TVShowPage'; +import { tvAPI } from '@/lib/api'; + +interface PageProps { + params: { + id: string; + }; + searchParams: { [key: string]: string | string[] | undefined }; +} + +async function getData(id: string) { + try { + const response = await tvAPI.getShow(id); + return { id, show: response.data }; + } catch (error) { + console.error('Error fetching show:', error); + return { id, show: null }; + } +} + +export default async function Page(props: PageProps) { + const { id } = props.params; + const data = await getData(id); + return ; +} diff --git a/src/app/verify/VerificationClient.tsx b/src/app/verify/VerificationClient.tsx new file mode 100644 index 0000000..35ce0a4 --- /dev/null +++ b/src/app/verify/VerificationClient.tsx @@ -0,0 +1,231 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import styled from 'styled-components'; +import { useRouter, useSearchParams } from 'next/navigation'; +import { signIn } from 'next-auth/react'; + +const Container = styled.div` + width: 100%; + display: flex; + flex-direction: column; + gap: 2rem; + text-align: center; +`; + +const Title = styled.h2` + font-size: 1.5rem; + font-weight: 600; + color: #fff; + margin-bottom: 0.5rem; +`; + +const Subtitle = styled.p` + color: rgba(255, 255, 255, 0.7); + font-size: 0.875rem; + margin-bottom: 2rem; +`; + +const CodeInput = styled.input` + width: 100%; + padding: 1rem; + font-size: 2rem; + letter-spacing: 0.5rem; + text-align: center; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 12px; + color: #fff; + transition: all 0.2s; + + &:focus { + outline: none; + border-color: ${({ theme }) => theme.colors.primary}; + box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.1); + } + + &::placeholder { + letter-spacing: normal; + color: rgba(255, 255, 255, 0.3); + } +`; + +const VerifyButton = styled.button` + width: 100%; + background: linear-gradient(to right, #2196f3, #1e88e5); + color: white; + padding: 1rem; + border-radius: 12px; + border: none; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + + &:hover { + background: linear-gradient(to right, #1e88e5, #1976d2); + transform: translateY(-1px); + box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3); + } + + &:active { + transform: translateY(0); + } + + &:disabled { + opacity: 0.7; + cursor: not-allowed; + transform: none; + } +`; + +const ResendButton = styled.button` + background: none; + border: none; + color: ${({ theme }) => theme.colors.primary}; + font-size: 0.875rem; + cursor: pointer; + padding: 0.5rem; + transition: opacity 0.2s; + + &:hover { + opacity: 0.8; + } + + &:disabled { + opacity: 0.5; + cursor: not-allowed; + } +`; + +const ErrorMessage = styled.div` + color: #f44336; + font-size: 0.875rem; + margin-top: 0.5rem; +`; + +export function VerificationClient({ email }: { email: string }) { + const [code, setCode] = useState(''); + const [error, setError] = useState(''); + const [isLoading, setIsLoading] = useState(false); + const [countdown, setCountdown] = useState(0); + const router = useRouter(); + const searchParams = useSearchParams(); + + useEffect(() => { + let timer: NodeJS.Timeout; + if (countdown > 0) { + timer = setInterval(() => { + setCountdown((prev) => prev - 1); + }, 1000); + } + return () => { + if (timer) clearInterval(timer); + }; + }, [countdown]); + + const handleVerify = async () => { + if (code.length !== 6) { + setError('Код должен состоять из 6 цифр'); + return; + } + + setIsLoading(true); + setError(''); + + try { + const response = await fetch('/api/auth/verify', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ email, code }), + }); + + const data = await response.json(); + + if (!response.ok) { + throw new Error(data.error || 'Ошибка верификации'); + } + + // Выполняем вход после успешной верификации + const result = await signIn('credentials', { + redirect: false, + email, + password: localStorage.getItem('password'), + }); + + if (result?.error) { + throw new Error(result.error); + } + + router.push('/'); + } catch (err) { + setError(err instanceof Error ? err.message : 'Произошла ошибка'); + } finally { + setIsLoading(false); + } + }; + + const handleResend = async () => { + try { + const response = await fetch('/api/auth/resend-code', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ email }), + }); + + if (!response.ok) { + throw new Error('Не удалось отправить код'); + } + + setCountdown(60); + } catch (err) { + setError('Не удалось отправить код'); + } + }; + + return ( + +
+ Подтвердите ваш email + Мы отправили код подтверждения на {email} +
+ +
+ { + const value = e.target.value.replace(/\D/g, ''); + setCode(value); + setError(''); + }} + placeholder="Введите код" + /> + {error && {error}} +
+ +
+ + {isLoading ? 'Проверка...' : 'Подтвердить'} + + + 0 || isLoading} + > + {countdown > 0 + ? `Отправить код повторно (${countdown}с)` + : 'Отправить код повторно'} + +
+
+ ); +} diff --git a/src/app/verify/page.tsx b/src/app/verify/page.tsx new file mode 100644 index 0000000..b34adc9 --- /dev/null +++ b/src/app/verify/page.tsx @@ -0,0 +1,119 @@ +'use client'; + +import { GlassCard } from '@/components/GlassCard'; +import { VerificationClient } from './VerificationClient'; +import styled from 'styled-components'; +import { useSearchParams, useRouter } from 'next/navigation'; +import { useEffect, Suspense } from 'react'; + +const Container = styled.div` + min-height: 100vh; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + position: relative; + background-color: #0a0a0a; + overflow: hidden; +`; + +const Content = styled.main` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + max-width: 1200px; + padding: 2rem; + position: relative; + z-index: 1; +`; + +const GlowingBackground = styled.div` + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + z-index: 0; +`; + +const Glow = styled.div` + position: absolute; + border-radius: 50%; + filter: blur(100px); + opacity: 0.3; + animation: float 20s infinite ease-in-out; + + @keyframes float { + 0%, 100% { transform: translate(0, 0); } + 50% { transform: translate(-30px, 30px); } + } +`; + +const Glow1 = styled(Glow)` + background: #2196f3; + width: 600px; + height: 600px; + top: -200px; + left: -200px; + animation-delay: 0s; +`; + +const Glow2 = styled(Glow)` + background: #9c27b0; + width: 500px; + height: 500px; + bottom: -150px; + right: -150px; + animation-delay: -5s; +`; + +const Glow3 = styled(Glow)` + background: #00bcd4; + width: 400px; + height: 400px; + bottom: 100px; + left: 30%; + animation-delay: -10s; +`; + +function VerifyContent() { + const searchParams = useSearchParams(); + const router = useRouter(); + const email = searchParams.get('email'); + + useEffect(() => { + if (!email) { + router.push('/login'); + } + }, [email, router]); + + if (!email) { + return null; + } + + return ( + + + + + + + + + + + + + ); +} + +export default function VerificationPage() { + return ( + + + + ); +} diff --git a/src/components/AppLayout.tsx b/src/components/AppLayout.tsx new file mode 100644 index 0000000..d41d41e --- /dev/null +++ b/src/components/AppLayout.tsx @@ -0,0 +1,42 @@ +'use client'; + +import { usePathname } from 'next/navigation'; +import styled from 'styled-components'; +import { ReactNode } from 'react'; +import Navbar from './Navbar'; + +const Layout = styled.div<{ $hasNavbar: boolean }>` + min-height: 100vh; + display: flex; + background: #0E0E0E; +`; + +const Main = styled.main<{ $hasNavbar: boolean }>` + flex: 1; + padding: 20px; + + ${props => props.$hasNavbar && ` + @media (max-width: 768px) { + margin-top: 60px; + } + @media (min-width: 769px) { + margin-left: 240px; + } + `} +`; + +interface AppLayoutProps { + children: ReactNode; +} + +export default function AppLayout({ children }: AppLayoutProps) { + const pathname = usePathname(); + const hideNavbar = pathname === '/login' || pathname === '/404' || pathname.startsWith('/verify'); + + return ( + + {!hideNavbar && } +
{children}
+
+ ); +} diff --git a/src/components/ClientLayout.tsx b/src/components/ClientLayout.tsx new file mode 100644 index 0000000..3759510 --- /dev/null +++ b/src/components/ClientLayout.tsx @@ -0,0 +1,29 @@ +'use client'; + +import { SessionProvider } from 'next-auth/react'; +import { ThemeProvider } from 'styled-components'; +import StyledComponentsRegistry from '@/lib/registry'; +import Navbar from './Navbar'; +import { Toaster } from 'react-hot-toast'; + +const theme = { + colors: { + primary: '#3b82f6', + background: '#0f172a', + text: '#ffffff', + }, +}; + +export function ClientLayout({ children }: { children: React.ReactNode }) { + return ( + + + + + {children} + + + + + ); +} diff --git a/src/components/DarkReaderFix.tsx b/src/components/DarkReaderFix.tsx new file mode 100644 index 0000000..eddd99a --- /dev/null +++ b/src/components/DarkReaderFix.tsx @@ -0,0 +1,13 @@ +'use client'; + +import { useEffect } from 'react'; + +export function DarkReaderFix() { + useEffect(() => { + const html = document.documentElement; + html.removeAttribute('data-darkreader-mode'); + html.removeAttribute('data-darkreader-scheme'); + }, []); + + return null; +} diff --git a/src/components/GlassCard.tsx b/src/components/GlassCard.tsx new file mode 100644 index 0000000..4a62be3 --- /dev/null +++ b/src/components/GlassCard.tsx @@ -0,0 +1,17 @@ +import styled from 'styled-components'; + +export const GlassCard = styled.div` + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(20px); + border: 1px solid rgba(255, 255, 255, 0.1); + padding: 3rem; + border-radius: 24px; + width: 100%; + max-width: 500px; + box-shadow: + 0 8px 32px 0 rgba(0, 0, 0, 0.3), + inset 0 0 0 1px rgba(255, 255, 255, 0.05); + margin: 0 auto; +`; + +export default GlassCard; diff --git a/src/components/GoogleIcon.tsx b/src/components/GoogleIcon.tsx new file mode 100644 index 0000000..4e209af --- /dev/null +++ b/src/components/GoogleIcon.tsx @@ -0,0 +1,18 @@ +'use client'; + +import Image from 'next/image'; + +const GoogleIcon = () => ( + Google +); + +export default GoogleIcon; diff --git a/src/components/Icons/HeartIcon.tsx b/src/components/Icons/HeartIcon.tsx new file mode 100644 index 0000000..daae27d --- /dev/null +++ b/src/components/Icons/HeartIcon.tsx @@ -0,0 +1,5 @@ +export const HeartIcon = () => ( + + + +); diff --git a/src/components/Icons/Icons.tsx b/src/components/Icons/Icons.tsx new file mode 100644 index 0000000..fed52b4 --- /dev/null +++ b/src/components/Icons/Icons.tsx @@ -0,0 +1,80 @@ +export const HomeIcon = () => ( + + + + +); + +export const CategoryIcon = () => ( + + + +); + +export const HeartIcon = () => ( + + + +); + +export const DownloadIcon = () => ( + + + + + +); + +export const FriendsIcon = () => ( + + + + + + +); + +export const CommunityIcon = () => ( + + + +); + +export const HistoryIcon = () => ( + + + + +); + +export const SettingsIcon = () => ( + + + + +); + +export const LogoutIcon = () => ( + + + + + +); + +export const SearchIcon = () => ( + + + + +); diff --git a/src/components/Icons/PlayIcon.tsx b/src/components/Icons/PlayIcon.tsx new file mode 100644 index 0000000..05122a1 --- /dev/null +++ b/src/components/Icons/PlayIcon.tsx @@ -0,0 +1,18 @@ +'use client'; + +import React from 'react'; + +export function PlayIcon() { + return ( + + + + ); +} diff --git a/src/components/LayoutContent.tsx b/src/components/LayoutContent.tsx new file mode 100644 index 0000000..d81a965 --- /dev/null +++ b/src/components/LayoutContent.tsx @@ -0,0 +1,28 @@ +'use client'; + +import styled from 'styled-components'; +import { Providers } from './Providers'; +import { Toaster } from 'react-hot-toast'; +import PageLayout from './PageLayout'; + +const MainContent = styled.div` + width: 100%; + min-height: 100vh; +`; + +interface LayoutContentProps { + children: React.ReactNode; +} + +export default function LayoutContent({ children }: LayoutContentProps) { + return ( + + + + {children} + + + + + ); +} diff --git a/src/components/MenuItem.tsx b/src/components/MenuItem.tsx new file mode 100644 index 0000000..806719f --- /dev/null +++ b/src/components/MenuItem.tsx @@ -0,0 +1,78 @@ +'use client'; + +import styled from 'styled-components'; +import Link from 'next/link'; + +interface MenuItemProps { + href?: string; + icon: React.ReactNode; + label: string; + subLabel?: string; + isActive?: boolean; + onClick?: (e: React.MouseEvent) => void; +} + +const StyledMenuItem = styled.div<{ $active?: boolean }>` + display: flex; + align-items: center; + gap: 1rem; + padding: 0.75rem 1rem; + color: ${props => props.$active ? '#fff' : 'rgba(255, 255, 255, 0.7)'}; + text-decoration: none; + border-radius: 8px; + background: ${props => props.$active ? 'rgba(255, 255, 255, 0.1)' : 'transparent'}; + transition: all 0.2s; + cursor: pointer; + + &:hover { + background: rgba(255, 255, 255, 0.1); + color: white; + } + + svg { + width: 20px; + height: 20px; + opacity: ${props => props.$active ? 1 : 0.7}; + } +`; + +const ItemContent = styled.div` + flex: 1; + min-width: 0; +`; + +const Label = styled.div` + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +`; + +const SubLabel = styled.div` + font-size: 0.875rem; + color: rgba(255, 255, 255, 0.5); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +`; + +export default function MenuItem({ href, icon, label, subLabel, isActive, onClick }: MenuItemProps) { + const content = ( + + {icon} + + + {subLabel && {subLabel}} + + + ); + + if (href) { + return ( + + {content} + + ); + } + + return content; +} diff --git a/src/components/MovieCard.tsx b/src/components/MovieCard.tsx new file mode 100644 index 0000000..fb5629c --- /dev/null +++ b/src/components/MovieCard.tsx @@ -0,0 +1,93 @@ +'use client'; + +import Link from 'next/link'; +import Image from 'next/image'; +import styled from 'styled-components'; +import { Movie } from '@/types/movie'; + +interface MovieCardProps { + movie: Movie; +} + +export default function MovieCard({ movie }: MovieCardProps) { + const getRatingColor = (rating: number) => { + if (rating >= 7) return '#4CAF50'; + if (rating >= 5) return '#FFC107'; + return '#F44336'; + }; + + const posterUrl = movie.poster_path + ? `https://image.tmdb.org/t/p/w500${movie.poster_path}` + : '/placeholder.jpg'; + + return ( + + + + + {movie.vote_average.toFixed(1)} + + + + {movie.title} + {new Date(movie.release_date).getFullYear()} + + + ); +} + +const Card = styled(Link)` + position: relative; + border-radius: 16px; + overflow: hidden; + background: #242424; + text-decoration: none; + color: inherit; +`; + +const PosterWrapper = styled.div` + position: relative; + aspect-ratio: 2/3; +`; + +const Poster = styled(Image)` + width: 100%; + height: 100%; +`; + +const Content = styled.div` + padding: 12px; +`; + +const Title = styled.h3` + font-size: 14px; + font-weight: 500; + color: #fff; + margin: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +`; + +const Year = styled.div` + font-size: 12px; + color: #808191; + margin-top: 4px; +`; + +const Rating = styled.div` + position: absolute; + top: 8px; + right: 8px; + padding: 4px 8px; + border-radius: 6px; + font-size: 17px; + font-weight: 600; + color: white; +`; diff --git a/src/components/MoviePlayer.tsx b/src/components/MoviePlayer.tsx new file mode 100644 index 0000000..13b916c --- /dev/null +++ b/src/components/MoviePlayer.tsx @@ -0,0 +1,234 @@ +'use client'; + +import { useEffect, useRef, useState } from 'react'; +import styled from 'styled-components'; +import { useSettings } from '@/hooks/useSettings'; +import { moviesAPI } from '@/lib/api'; + +const PlayerContainer = styled.div` + position: relative; + width: 100%; + height: 0; + padding-bottom: 56.25%; + background: #000; + border-radius: 12px; + overflow: hidden; + margin-bottom: 8px; +`; + +const StyledIframe = styled.iframe` + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border: none; +`; + +const LoadingContainer = styled.div` + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + background: rgba(0, 0, 0, 0.8); + color: white; +`; + +const ErrorContainer = styled.div` + flex-direction: column; + gap: 1rem; + padding: 2rem; + text-align: center; +`; + +const RetryButton = styled.button` + padding: 0.5rem 1rem; + border: none; + border-radius: 0.25rem; + background: #3b82f6; + color: white; + font-size: 0.875rem; + cursor: pointer; + transition: background 0.2s; + + &:hover { + background: #2563eb; + } +`; + +const DownloadMessage = styled.div` + display: flex; + align-items: center; + gap: 8px; + padding: 12px 16px; + background: rgba(13, 37, 73, 0.8); + border: 1px solid rgba(33, 150, 243, 0.2); + border-radius: 8px; + color: rgba(33, 150, 243, 0.9); + font-size: 14px; + backdrop-filter: blur(10px); + + svg { + width: 20px; + height: 20px; + flex-shrink: 0; + } +`; + +interface MoviePlayerProps { + id: string; + title: string; + poster: string; + imdbId?: string; +} + +export default function MoviePlayer({ id, title, poster, imdbId }: MoviePlayerProps) { + const { settings, isInitialized } = useSettings(); + const containerRef = useRef(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [currentPlayer, setCurrentPlayer] = useState(settings.defaultPlayer); + + useEffect(() => { + if (isInitialized) { + setCurrentPlayer(settings.defaultPlayer); + } + }, [settings.defaultPlayer, isInitialized]); + + useEffect(() => { + const fetchImdbId = async () => { + try { + setLoading(true); + setError(null); + + if (!imdbId) { + const newImdbId = await moviesAPI.getImdbId(id); + if (!newImdbId) { + throw new Error('IMDb ID не найден'); + } + imdbId = newImdbId; + } + } catch (err) { + console.error('Error fetching IMDb ID:', err); + setError('Не удалось загрузить плеер. Пожалуйста, попробуйте позже.'); + } finally { + setLoading(false); + } + }; + + fetchImdbId(); + }, [id, imdbId]); + + useEffect(() => { + if (settings.defaultPlayer === 'lumex') { + return; + } + + // Очищаем контейнер при изменении плеера + if (containerRef.current) { + containerRef.current.innerHTML = ''; + } + + const playerDiv = document.createElement('div'); + playerDiv.className = 'kinobox_player'; + containerRef.current?.appendChild(playerDiv); + + const script = document.createElement('script'); + script.src = 'https://kinobox.tv/kinobox.min.js'; + script.async = true; + + script.onload = () => { + if (window.kbox && containerRef.current) { + const playerConfig = { + search: { + imdb: imdbId, + title: title + }, + menu: { + enable: false, + default: 'menu_list', + mobile: 'menu_button', + format: '{N} :: {T} ({Q})', + limit: 5, + open: false, + }, + notFoundMessage: 'Видео не найдено.', + players: { + alloha: { enable: settings.defaultPlayer === 'alloha', position: 1 }, + collaps: { enable: settings.defaultPlayer === 'collaps', position: 2 }, + lumex: { enable: settings.defaultPlayer === 'lumex', position: 3 } + }, + params: { + all: { + poster: poster + } + } + }; + + window.kbox('.kinobox_player', playerConfig); + setLoading(false); + } + }; + + document.body.appendChild(script); + + return () => { + if (containerRef.current) { + containerRef.current.innerHTML = ''; + } + const existingScript = document.querySelector('script[src="https://kinobox.tv/kinobox.min.js"]'); + if (existingScript) { + document.body.removeChild(existingScript); + } + }; + }, [id, title, poster, imdbId, settings.defaultPlayer]); + + const handleRetry = () => { + setLoading(true); + setError(null); + if (containerRef.current) { + containerRef.current.innerHTML = ''; + } + setLoading(false); + }; + + if (error) { + return ( + +
{error}
+ Попробовать снова +
+ ); + } + + return ( + <> + + {settings.defaultPlayer === 'lumex' && imdbId ? ( + + ) : ( + <> +
+ {loading && Загрузка плеера...} + + )} + + {settings.defaultPlayer !== 'lumex' && ( + + + + + Для возможности скачивания фильма выберите плеер Lumex в настройках + + )} + + ); +} diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx new file mode 100644 index 0000000..951da19 --- /dev/null +++ b/src/components/Navbar.tsx @@ -0,0 +1,406 @@ +'use client'; + +import { useState } from 'react'; +import { usePathname, useRouter } from 'next/navigation'; +import { useSession, signOut } from 'next-auth/react'; +import Link from 'next/link'; +import styled from 'styled-components'; +import SearchModal from './SearchModal'; + +// Типы +type MenuItem = { + href?: string; + icon: React.ReactNode; + label: string; + onClick?: () => void; +}; + +// Компоненты +const DesktopSidebar = styled.aside` + display: none; + flex-direction: column; + width: 240px; + height: 100vh; + position: fixed; + left: 0; + top: 0; + background: rgba(18, 18, 23, 0.95); + backdrop-filter: blur(10px); + border-right: 1px solid rgba(255, 255, 255, 0.1); + padding: 1rem; + z-index: 40; + + @media (min-width: 769px) { + display: flex; + } +`; + +const LogoContainer = styled.div` + padding: 0.5rem 1rem; + margin-bottom: 2rem; +`; + +const MenuContainer = styled.nav` + flex: 1; + display: flex; + flex-direction: column; + gap: 1rem; + overflow-y: auto; +`; + +const SidebarMenuItem = styled.div<{ $active?: boolean }>` + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.75rem 1rem; + color: ${props => props.$active ? 'white' : 'rgba(255, 255, 255, 0.7)'}; + background: ${props => props.$active ? 'rgba(255, 255, 255, 0.1)' : 'transparent'}; + text-decoration: none; + border-radius: 8px; + transition: all 0.2s; + + &:hover { + background: rgba(255, 255, 255, 0.1); + color: white; + } + + svg { + width: 20px; + height: 20px; + } +`; + +const MobileNav = styled.nav` + position: fixed; + top: 0; + left: 0; + right: 0; + background: rgba(18, 18, 23, 0.8); + backdrop-filter: blur(10px); + z-index: 50; + padding: 0.75rem 1rem; + display: flex; + justify-content: space-between; + align-items: center; + height: 60px; + + @media (min-width: 769px) { + display: none; + } +`; + +const Logo = styled(Link)` + font-size: 1.25rem; + font-weight: 600; + color: white; + text-decoration: none; + + span { + color: #3b82f6; + } +`; + +const MobileMenuButton = styled.button` + background: none; + border: none; + color: white; + padding: 0.5rem; + cursor: pointer; + + svg { + width: 24px; + height: 24px; + } +`; + +const MobileMenu = styled.div<{ $isOpen: boolean }>` + position: fixed; + top: 60px; + left: 0; + right: 0; + bottom: 0; + background: rgba(18, 18, 23, 0.95); + backdrop-filter: blur(10px); + transform: translateX(${props => props.$isOpen ? '0' : '100%'}); + transition: transform 0.3s ease-in-out; + padding: 1rem; + z-index: 49; + overflow-y: auto; + + @media (min-width: 769px) { + display: none; + } +`; + +const MobileMenuItem = styled.div` + display: flex; + align-items: center; + gap: 0.75rem; + padding: 1rem; + color: white; + text-decoration: none; + border-radius: 12px; + transition: background-color 0.2s; + font-size: 1rem; + + &:hover { + background: rgba(255, 255, 255, 0.1); + } + + svg { + width: 20px; + height: 20px; + } +`; + +const UserProfile = styled.div` + margin-top: auto; + padding: 1rem; + border-top: 1px solid rgba(255, 255, 255, 0.1); +`; + +const UserButton = styled.div` + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.75rem; + background: rgba(255, 255, 255, 0.05); + border: none; + border-radius: 8px; + color: white; + width: 100%; + cursor: pointer; +`; + +const UserAvatar = styled.div` + width: 32px; + height: 32px; + border-radius: 50%; + background: #3b82f6; + color: white; + display: flex; + align-items: center; + justify-content: center; + font-weight: 500; + flex-shrink: 0; +`; + +const UserInfo = styled.div` + min-width: 0; + + div:first-child { + font-weight: 500; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + div:last-child { + font-size: 0.875rem; + color: rgba(255, 255, 255, 0.7); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +`; + +const AuthButtons = styled.div` + margin-top: auto; + padding: 1rem; + border-top: 1px solid rgba(255, 255, 255, 0.1); + display: flex; + flex-direction: column; + gap: 0.5rem; +`; + +export default function Navbar() { + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isSearchOpen, setIsSearchOpen] = useState(false); + const { data: session } = useSession(); + const pathname = usePathname(); + const router = useRouter(); + + // Скрываем навбар на определенных страницах + if (pathname === '/login' || pathname === '/404' || pathname.startsWith('/verify')) { + return null; + } + + const handleNavigation = (href: string, onClick?: () => void) => { + if (onClick) { + onClick(); + } else if (href !== '#') { + router.push(href); + } + setIsMobileMenuOpen(false); + }; + + const menuItems = [ + { + label: 'Главная', + href: '/', + icon: ( + + + + ) + }, + { + label: 'Поиск', + href: '#', + icon: ( + + + + ), + onClick: () => setIsSearchOpen(true) + }, + { + label: 'Категории', + href: '/categories', + icon: ( + + + + ) + }, + { + label: 'Избранное', + href: '/favorites', + icon: ( + + + + ) + }, + { + label: 'Настройки', + href: '/settings', + icon: ( + + + + + ) + } + ]; + + return ( + <> + {/* Desktop Sidebar */} + + +
router.push('/')} style={{ cursor: 'pointer' }}> + + Neo Movies + +
+
+ + + {menuItems.map((item, index) => ( +
handleNavigation(item.href, item.onClick)} + style={{ cursor: 'pointer' }} + > + + {item.icon} + {item.label} + +
+ ))} +
+ + {session ? ( + + router.push('/profile')} style={{ cursor: 'pointer' }}> + + {session.user?.name?.split(' ').map(n => n[0]).join('').toUpperCase() || ''} + + +
{session.user?.name}
+
{session.user?.email}
+
+
+
+ ) : ( + +
router.push('/login')} style={{ cursor: 'pointer' }}> + + Войти + +
+
+ )} +
+ + {/* Mobile Navigation */} + + + Neo Movies + + setIsMobileMenuOpen(!isMobileMenuOpen)}> + + + + + + + {/* Mobile Menu */} + + {session ? ( + + signOut()}> + + {session.user?.name?.split(' ').map(n => n[0]).join('').toUpperCase() || ''} + + +
{session.user?.name}
+
{session.user?.email}
+
+
+
+ ) : null} + + {menuItems.map((item, index) => ( +
handleNavigation(item.href, item.onClick)} + style={{ cursor: 'pointer' }} + > + + {item.icon} + {item.label} + +
+ ))} + + {!session && ( + +
{ + router.push('/login'); + setIsMobileMenuOpen(false); + }} style={{ cursor: 'pointer' }}> + + Войти + +
+
+ )} +
+ + {/* Search Modal */} + {isSearchOpen && ( + setIsSearchOpen(false)} /> + )} + + ); +} diff --git a/src/components/Notification.tsx b/src/components/Notification.tsx new file mode 100644 index 0000000..9beaf7f --- /dev/null +++ b/src/components/Notification.tsx @@ -0,0 +1,58 @@ +'use client'; + +import { useEffect } from 'react'; +import styled, { keyframes } from 'styled-components'; + +const slideIn = keyframes` + from { + transform: translateX(100%); + opacity: 0; + } + to { + transform: translateX(0); + opacity: 1; + } +`; + +const Container = styled.div<{ type: 'success' | 'error' | 'info' }>` + position: fixed; + top: 1rem; + right: 1rem; + padding: 1rem; + border-radius: 4px; + background: ${({ type }) => { + switch (type) { + case 'success': + return '#4caf50'; + case 'error': + return '#f44336'; + case 'info': + return '#2196f3'; + } + }}; + color: white; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + animation: ${slideIn} 0.3s ease-out; + z-index: 1000; +`; + +interface NotificationProps { + message: string; + type: 'success' | 'error' | 'info'; + onClose: () => void; + duration?: number; +} + +export default function Notification({ + message, + type, + onClose, + duration = 3000, +}: NotificationProps) { + useEffect(() => { + const timer = setTimeout(onClose, duration); + return () => clearTimeout(timer); + }, [duration, onClose]); + + return {message}; +} diff --git a/src/components/PageLayout.tsx b/src/components/PageLayout.tsx new file mode 100644 index 0000000..598b974 --- /dev/null +++ b/src/components/PageLayout.tsx @@ -0,0 +1,88 @@ +'use client'; + +import styled from 'styled-components'; +import { usePathname } from 'next/navigation'; +import Navbar from './Navbar'; + +const Layout = styled.div` + display: flex; + min-height: 100vh; +`; + +const MainContent = styled.main<{ $isSettingsPage: boolean }>` + flex: 1; + margin-left: 220px; + padding: 0; + overflow: hidden; + + ${props => props.$isSettingsPage && ` + display: flex; + justify-content: center; + padding-top: 2rem; + `} + + @media (max-width: 768px) { + margin-left: 0; + padding-top: ${props => props.$isSettingsPage ? 'calc(60px + 2rem)' : '60px'}; + } +`; + +const NotFoundContent = styled.main` + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 100vh; + background: #0a0a0a; + color: white; + text-align: center; + padding: 2rem; + + h1 { + font-size: 6rem; + margin: 0; + color: #2196f3; + } + + p { + font-size: 1.5rem; + margin: 1rem 0 2rem; + color: rgba(255, 255, 255, 0.7); + } + + a { + color: #2196f3; + text-decoration: none; + font-weight: 500; + + &:hover { + text-decoration: underline; + } + } +`; + +export default function PageLayout({ children }: { children: React.ReactNode }) { + const pathname = usePathname(); + const isSettingsPage = pathname === '/settings'; + const is404Page = pathname === '/404' || pathname.includes('/not-found'); + + if (is404Page) { + return ( + +

404

+

Страница не найдена

+ Вернуться на главную +
+ ); + } + + return ( + + + + {children} + + + ); +} diff --git a/src/components/Pagination.tsx b/src/components/Pagination.tsx new file mode 100644 index 0000000..2606ebf --- /dev/null +++ b/src/components/Pagination.tsx @@ -0,0 +1,106 @@ +'use client'; + +import React from 'react'; +import styled from 'styled-components'; + +const PaginationContainer = styled.div` + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; + margin: 2rem 0; +`; + +const PageButton = styled.button<{ $active?: boolean }>` + padding: 0.5rem 1rem; + border: none; + border-radius: 0.5rem; + background: ${props => props.$active ? props.theme.colors.primary : 'rgba(255, 255, 255, 0.1)'}; + color: white; + cursor: pointer; + transition: background 0.2s; + + &:hover { + background: ${props => props.$active ? props.theme.colors.primary : 'rgba(255, 255, 255, 0.2)'}; + } + + &:disabled { + opacity: 0.5; + cursor: not-allowed; + } +`; + +const PageInfo = styled.span` + color: white; + padding: 0 1rem; +`; + +interface PaginationProps { + currentPage: number; + totalPages: number; + onPageChange: (page: number) => void; +} + +export default function Pagination({ currentPage, totalPages, onPageChange }: PaginationProps) { + const maxVisiblePages = 5; + const halfVisible = Math.floor(maxVisiblePages / 2); + + const getPageNumbers = () => { + let start = Math.max(1, currentPage - halfVisible); + let end = Math.min(totalPages, start + maxVisiblePages - 1); + + if (end - start + 1 < maxVisiblePages) { + start = Math.max(1, end - maxVisiblePages + 1); + } + + return Array.from({ length: end - start + 1 }, (_, i) => start + i); + }; + + const handlePageClick = (page: number) => { + if (page !== currentPage) { + onPageChange(page); + } + }; + + if (totalPages <= 1) return null; + + return ( + + handlePageClick(1)} + disabled={currentPage === 1} + > + « + + handlePageClick(currentPage - 1)} + disabled={currentPage === 1} + > + ‹ + + + {getPageNumbers().map(page => ( + handlePageClick(page)} + > + {page} + + ))} + + handlePageClick(currentPage + 1)} + disabled={currentPage === totalPages} + > + › + + handlePageClick(totalPages)} + disabled={currentPage === totalPages} + > + » + + + ); +} diff --git a/src/components/Providers.tsx b/src/components/Providers.tsx new file mode 100644 index 0000000..4bdd0f6 --- /dev/null +++ b/src/components/Providers.tsx @@ -0,0 +1,34 @@ +'use client'; + +import { SessionProvider } from 'next-auth/react'; +import { ThemeProvider } from 'styled-components'; +import { GlobalStyles } from '@/styles/GlobalStyles'; + +const theme = { + colors: { + primary: '#2196f3', + background: '#0a0a0a', + surface: '#1e1e1e', + text: '#ffffff', + textSecondary: 'rgba(255, 255, 255, 0.7)', + error: '#ff5252', + success: '#4caf50', + }, + breakpoints: { + sm: '640px', + md: '768px', + lg: '1024px', + xl: '1280px', + }, +}; + +export function Providers({ children }: { children: React.ReactNode }) { + return ( + + + + {children} + + + ); +} diff --git a/src/components/SearchModal.tsx b/src/components/SearchModal.tsx new file mode 100644 index 0000000..0c9f6cf --- /dev/null +++ b/src/components/SearchModal.tsx @@ -0,0 +1,177 @@ +'use client'; + +import { useEffect, useRef, useState } from 'react'; +import styled from 'styled-components'; +import { useRouter } from 'next/navigation'; +import { Movie, TVShow } from '@/lib/api'; +import SearchResults from './SearchResults'; + +const Overlay = styled.div<{ $isOpen: boolean }>` + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.7); + display: ${props => props.$isOpen ? 'flex' : 'none'}; + justify-content: center; + align-items: flex-start; + padding-top: 100px; + z-index: 1000; + backdrop-filter: blur(5px); +`; + +const Modal = styled.div` + width: 100%; + max-width: 600px; + background: rgba(30, 30, 30, 0.95); + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); + position: relative; +`; + +const SearchHeader = styled.div` + display: flex; + align-items: center; + padding: 1rem; + gap: 1rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +`; + +const SearchInput = styled.input` + flex: 1; + background: none; + border: none; + color: white; + font-size: 1rem; + outline: none; + + &::placeholder { + color: rgba(255, 255, 255, 0.5); + } +`; + +const CloseButton = styled.button` + background: none; + border: none; + color: rgba(255, 255, 255, 0.6); + cursor: pointer; + padding: 0.5rem; + display: flex; + align-items: center; + justify-content: center; + transition: color 0.2s; + + &:hover { + color: white; + } +`; + +const SearchIcon = styled.div` + color: rgba(255, 255, 255, 0.6); + display: flex; + align-items: center; +`; + +const LoadingSpinner = styled.div` + display: inline-block; + width: 1rem; + height: 1rem; + border: 2px solid rgba(255, 255, 255, 0.3); + border-radius: 50%; + border-top-color: white; + animation: spin 1s linear infinite; + + @keyframes spin { + to { + transform: rotate(360deg); + } + } +`; + +interface SearchModalProps { + onClose: () => void; +} + +export default function SearchModal({ onClose }: SearchModalProps) { + const [query, setQuery] = useState(''); + const [results, setResults] = useState<(Movie | TVShow)[]>([]); + const [loading, setLoading] = useState(false); + const modalRef = useRef(null); + const inputRef = useRef(null); + const router = useRouter(); + + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (modalRef.current && !modalRef.current.contains(event.target as Node)) { + onClose(); + } + }; + + document.addEventListener('mousedown', handleClickOutside); + inputRef.current?.focus(); + + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, [onClose]); + + useEffect(() => { + const searchTimeout = setTimeout(async () => { + if (query.length < 2) { + setResults([]); + return; + } + + setLoading(true); + try { + const response = await fetch(`/api/movies/search?query=${encodeURIComponent(query)}`); + const data = await response.json(); + setResults(data.results || []); + } catch (error) { + console.error('Error searching:', error); + } finally { + setLoading(false); + } + }, 300); + + return () => clearTimeout(searchTimeout); + }, [query]); + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') { + onClose(); + } + }; + + return ( + + + + + + + + + setQuery(e.target.value)} + /> + {loading ? ( + + ) : ( + + + + + + )} + + {results.length > 0 && } + + + ); +} diff --git a/src/components/SearchResults.tsx b/src/components/SearchResults.tsx new file mode 100644 index 0000000..f20bec4 --- /dev/null +++ b/src/components/SearchResults.tsx @@ -0,0 +1,109 @@ +'use client'; + +import React from 'react'; +import styled from 'styled-components'; +import Link from 'next/link'; +import Image from 'next/image'; +import { Movie, TVShow } from '@/lib/api'; + +const ResultsContainer = styled.div` + max-height: 400px; + overflow-y: auto; + padding: 1rem; +`; + +const ResultItem = styled(Link)` + display: flex; + padding: 0.75rem; + gap: 1rem; + text-decoration: none; + color: white; + transition: background-color 0.2s; + border-radius: 8px; + + &:hover { + background: rgba(255, 255, 255, 0.1); + } +`; + +const PosterContainer = styled.div` + position: relative; + width: 45px; + height: 68px; + flex-shrink: 0; + border-radius: 0.25rem; + overflow: hidden; + background: rgba(0, 0, 0, 0.2); +`; + +const ItemInfo = styled.div` + flex-grow: 1; +`; + +const Title = styled.h3` + font-size: 1rem; + margin-bottom: 0.25rem; + display: flex; + align-items: center; + gap: 0.5rem; +`; + +const Year = styled.span` + font-size: 0.875rem; + color: rgba(255, 255, 255, 0.6); +`; + +const Type = styled.span` + font-size: 0.75rem; + background: rgba(255, 255, 255, 0.1); + padding: 0.25rem 0.5rem; + border-radius: 1rem; +`; + +interface SearchResultsProps { + results: (Movie | TVShow)[]; + onItemClick: () => void; +} + +export default function SearchResults({ results, onItemClick }: SearchResultsProps) { + const getYear = (date: string) => { + if (!date) return ''; + return new Date(date).getFullYear(); + }; + + const isMovie = (item: Movie | TVShow): item is Movie => { + return 'title' in item; + }; + + return ( + + {results.map((item) => ( + + + {isMovie(item) + + + + {isMovie(item) ? item.title : item.name} + <Type>{isMovie(item) ? 'Фильм' : 'Сериал'}</Type> + + + {getYear(isMovie(item) ? item.release_date : item.first_air_date)} + + + + ))} + + ); +} diff --git a/src/components/SettingsContent.tsx b/src/components/SettingsContent.tsx new file mode 100644 index 0000000..53069e4 --- /dev/null +++ b/src/components/SettingsContent.tsx @@ -0,0 +1,109 @@ +"use client"; + +import { useSettings } from '@/hooks/useSettings'; +import styled from 'styled-components'; + +const Container = styled.div` + width: 100%; + max-width: 800px; + padding: 0 1rem; +`; + +const Title = styled.h1` + font-size: 1.5rem; + font-weight: bold; + margin-bottom: 2rem; + color: white; +`; + +const PlayersList = styled.div` + display: flex; + flex-direction: column; + gap: 1rem; + width: 100%; +`; + +const PlayerCard = styled.div<{ $isSelected: boolean }>` + background: rgba(255, 255, 255, 0.1); + border-radius: 0.5rem; + padding: 1rem; + cursor: pointer; + transition: all 0.2s; + border: 2px solid ${props => props.$isSelected ? '#2196f3' : 'transparent'}; + + &:hover { + background: rgba(255, 255, 255, 0.15); + } +`; + +const PlayerName = styled.h2` + font-size: 1.125rem; + font-weight: 600; + margin-bottom: 0.5rem; + color: white; +`; + +const PlayerDescription = styled.p` + color: rgba(255, 255, 255, 0.7); + font-size: 0.875rem; +`; + +const SaveButton = styled.button` + margin-top: 1rem; + padding: 0.75rem 1.5rem; + background: #2196f3; + color: white; + border: none; + border-radius: 0.5rem; + font-weight: 500; + cursor: pointer; + transition: background 0.2s; + + &:hover { + background: #1976d2; + } +`; + +export default function SettingsContent() { + const { settings, updateSettings } = useSettings(); + + const players = [ + { + id: 'alloha', + name: 'Alloha', + description: 'Основной плеер с высоким качеством', + }, + { + id: 'collaps', + name: 'Collaps', + description: 'Альтернативный плеер с хорошей стабильностью', + }, + { + id: 'lumex', + name: 'Lumex', + description: 'Плеер с возможностью скачивания фильмов', + }, + ]; + + const handlePlayerSelect = (playerId: string) => { + updateSettings({ defaultPlayer: playerId as 'alloha' | 'collaps' | 'lumex' }); + }; + + return ( + + Настройки плеера + + {players.map((player) => ( + handlePlayerSelect(player.id)} + > + {player.name} + {player.description} + + ))} + + + ); +} diff --git a/src/components/StyleProvider.tsx b/src/components/StyleProvider.tsx new file mode 100644 index 0000000..de9c522 --- /dev/null +++ b/src/components/StyleProvider.tsx @@ -0,0 +1,12 @@ +'use client'; + +import GlobalStyles from '@/styles/GlobalStyles'; + +export default function StyleProvider({ children }: { children: React.ReactNode }) { + return ( + <> + + {children} + + ); +} diff --git a/src/components/VerificationCodeInput.tsx b/src/components/VerificationCodeInput.tsx new file mode 100644 index 0000000..e15ce71 --- /dev/null +++ b/src/components/VerificationCodeInput.tsx @@ -0,0 +1,104 @@ +'use client'; + +import React, { useRef, useState } from 'react'; +import styled from 'styled-components'; + +const Container = styled.div` + display: flex; + gap: 0.5rem; + justify-content: center; + margin: 1rem 0; +`; + +const Input = styled.input` + width: 3rem; + height: 3.5rem; + padding: 0.5rem; + font-size: 1.5rem; + text-align: center; + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: rgba(255, 255, 255, 0.05); + color: #fff; + transition: all 0.2s; + + &:focus { + outline: none; + border-color: #2196f3; + background: rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 4px rgba(33,150,243,0.1); + } +`; + +interface Props { + length?: number; + onChange: (code: string) => void; +} + +export function VerificationCodeInput({ length = 6, onChange }: Props) { + const [code, setCode] = useState(Array(length).fill('')); + const inputs = useRef<(HTMLInputElement | null)[]>([]); + + const processInput = (e: React.ChangeEvent, slot: number) => { + const num = e.target.value; + if (/[^0-9]/.test(num)) return; + + const newCode = [...code]; + newCode[slot] = num; + setCode(newCode); + + const combinedCode = newCode.join(''); + onChange(combinedCode); + + if (slot !== length - 1 && num) { + inputs.current[slot + 1]?.focus(); + } + }; + + const onKeyUp = (e: React.KeyboardEvent, slot: number) => { + if (e.key === 'Backspace' && !code[slot] && slot !== 0) { + const newCode = [...code]; + newCode[slot - 1] = ''; + setCode(newCode); + inputs.current[slot - 1]?.focus(); + } + }; + + const handlePaste = (e: React.ClipboardEvent) => { + e.preventDefault(); + const paste = e.clipboardData.getData('text'); + const pasteNumbers = paste.match(/[0-9]/g); + + if (!pasteNumbers) return; + + const newCode = [...code]; + pasteNumbers.forEach((num, i) => { + if (i >= length) return; + newCode[i] = num; + inputs.current[i]?.value = num; + }); + + setCode(newCode); + onChange(newCode.join('')); + inputs.current[Math.min(pasteNumbers.length, length - 1)]?.focus(); + }; + + return ( + + {code.map((num, idx) => ( + processInput(e, idx)} + onKeyUp={(e) => onKeyUp(e, idx)} + onPaste={handlePaste} + ref={(ref) => inputs.current[idx] = ref} + /> + ))} + + ); +} diff --git a/src/components/admin/MovieSearch.tsx b/src/components/admin/MovieSearch.tsx new file mode 100644 index 0000000..b4f7478 --- /dev/null +++ b/src/components/admin/MovieSearch.tsx @@ -0,0 +1,97 @@ +'use client'; + +import { useState } from 'react'; +import { debounce } from 'lodash'; + +interface Movie { + id: number; + title: string; + overview: string; + release_date: string; + vote_average: number; + poster_path: string | null; + genre_ids: number[]; +} + +export default function MovieSearch() { + const [searchQuery, setSearchQuery] = useState(''); + const [searchResults, setSearchResults] = useState([]); + const [loading, setLoading] = useState(false); + + const searchMovies = debounce(async (query: string) => { + if (!query.trim()) { + setSearchResults([]); + return; + } + + try { + setLoading(true); + const response = await fetch( + `/api/movies/search?query=${encodeURIComponent(query)}` + ); + const data = await response.json(); + setSearchResults(data.results || []); + } catch (error) { + console.error('Error searching movies:', error); + } finally { + setLoading(false); + } + }, 500); + + const handleSearch = (e: React.ChangeEvent) => { + const query = e.target.value; + setSearchQuery(query); + searchMovies(query); + }; + + return ( +
+
+ + {loading && ( +
+
+
+ )} +
+ + {searchResults.length > 0 && ( +
+ {searchResults.map((movie) => ( +
+
+ {movie.title} +
+
+

{movie.title}

+

+ {new Date(movie.release_date).getFullYear()} • {movie.vote_average.toFixed(1)} ⭐ +

+

+ {movie.overview} +

+
+
+ ))} +
+ )} +
+ ); +} diff --git a/src/data/movies.ts b/src/data/movies.ts new file mode 100644 index 0000000..229045d --- /dev/null +++ b/src/data/movies.ts @@ -0,0 +1,75 @@ +export interface Movie { + title: string; + description: string; + year: number; + rating: number; + posterUrl: string; + genres: string[]; + director: string; + cast: string[]; + duration: number; + trailerUrl?: string; +} + +export const movies: Movie[] = [ + { + title: "Миссия: Красный", + description: "Санта-Клаус под кодовым именем Красный похищен. Начальник службы безопасности Северного полюса должен объединиться с самым известным в мире охотником за головами. Вместе они начинают кругосветную миссию по спасению Рождества.", + year: 2023, + rating: 7.0, + posterUrl: "/movies/red-one.jpg", + genres: ["боевик", "фэнтези", "комедия"], + director: "Джейк Каздан", + cast: ["Дуэйн Джонсон", "Крис Эванс", "Кирнан Шипка"], + duration: 118, + trailerUrl: "https://www.youtube.com/watch?v=example1" + }, + { + title: "Веном 2", + description: "Более чем через год после событий первого фильма журналист Эдди Брок пытается приспособиться к жизни в качестве хозяина инопланетного симбиота Венома.", + year: 2021, + rating: 6.3, + posterUrl: "/movies/venom.jpg", + genres: ["боевик", "фантастика", "триллер"], + director: "Энди Серкис", + cast: ["Том Харди", "Мишель Уильямс", "Вуди Харрельсон"], + duration: 97, + trailerUrl: "https://www.youtube.com/watch?v=example2" + }, + { + title: "Мауи", + description: "Юная Моана, дочь вождя маленького племени на острове в Тихом океане, больше всего на свете мечтает о приключениях и решает отправиться в опасное морское путешествие.", + year: 2023, + rating: 7.0, + posterUrl: "/movies/maui.jpg", + genres: ["мультфильм", "приключения", "семейный"], + director: "Рон Клементс", + cast: ["Аулии Кравальо", "Дуэйн Джонсон"], + duration: 107, + trailerUrl: "https://www.youtube.com/watch?v=example3" + }, + { + title: "Мулафа", + description: "История об отважном львенке по имени Симба, покорившая сердца миллионов людей по всему миру, возвращается на большие экраны в новом зрелищном художественном фильме Disney.", + year: 2023, + rating: 6.7, + posterUrl: "/movies/mulafa.jpg", + genres: ["приключения", "драма", "семейный"], + director: "Джон Фавро", + cast: ["Дональд Гловер", "Бейонсе Ноулз-Картер", "Джеймс Эрл Джонс"], + duration: 118, + trailerUrl: "https://www.youtube.com/watch?v=example4" + }, + { + title: "Хищные земли", + description: "В суровых условиях Аляски группа людей сталкивается с опасными хищниками и борется за выживание в дикой природе.", + year: 2023, + rating: 6.4, + posterUrl: "/movies/predator-lands.jpg", + genres: ["триллер", "приключения", "драма"], + director: "Джон Дэвис", + cast: ["Лиам Нисон", "Фрэнк Грилло", "Дермот Малруни"], + duration: 108, + trailerUrl: "https://www.youtube.com/watch?v=example5" + } +]; diff --git a/src/eslint.config.mjs b/src/eslint.config.mjs new file mode 100644 index 0000000..c85fb67 --- /dev/null +++ b/src/eslint.config.mjs @@ -0,0 +1,16 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [ + ...compat.extends("next/core-web-vitals", "next/typescript"), +]; + +export default eslintConfig; diff --git a/src/hooks/useMovies.ts b/src/hooks/useMovies.ts new file mode 100644 index 0000000..54b4826 --- /dev/null +++ b/src/hooks/useMovies.ts @@ -0,0 +1,80 @@ +'use client'; + +import { useState, useEffect, useCallback } from 'react'; +import { moviesAPI } from '@/lib/api'; +import type { Movie } from '@/lib/api'; + +export function useMovies(initialPage = 1) { + const [movies, setMovies] = useState([]); + const [featuredMovie, setFeaturedMovie] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [page, setPage] = useState(initialPage); + const [totalPages, setTotalPages] = useState(0); + + const filterMovies = useCallback((movies: Movie[]) => { + return movies.filter(movie => { + if (movie.vote_average === 0) return false; + const hasRussianLetters = /[а-яА-ЯёЁ]/.test(movie.title); + if (!hasRussianLetters) return false; + if (/^\d+$/.test(movie.title)) return false; + const releaseDate = new Date(movie.release_date); + const now = new Date(); + if (releaseDate > now) return false; + return true; + }); + }, []); + + const fetchFeaturedMovie = useCallback(async () => { + try { + const response = await moviesAPI.getPopular(1); + const filteredMovies = filterMovies(response.data.results); + if (filteredMovies.length > 0) { + const featuredMovieData = await moviesAPI.getMovie(filteredMovies[0].id); + setFeaturedMovie(featuredMovieData.data); + } + } catch (err) { + console.error('Ошибка при загрузке featured фильма:', err); + } + }, [filterMovies]); + + const fetchMovies = useCallback(async (pageNum: number) => { + try { + setLoading(true); + setError(null); + const response = await moviesAPI.getPopular(pageNum); + const filteredMovies = filterMovies(response.data.results); + setMovies(filteredMovies); + setTotalPages(response.data.total_pages); + setPage(pageNum); + } catch (err) { + console.error('Ошибка при загрузке фильмов:', err); + setError('Произошла ошибка при загрузке фильмов'); + } finally { + setLoading(false); + } + }, [filterMovies]); + + useEffect(() => { + fetchFeaturedMovie(); + }, [fetchFeaturedMovie]); + + useEffect(() => { + fetchMovies(page); + }, [page, fetchMovies]); + + const handlePageChange = useCallback((newPage: number) => { + window.scrollTo({ top: 0, behavior: 'smooth' }); + setPage(newPage); + }, []); + + return { + movies, + featuredMovie, + loading, + error, + totalPages, + currentPage: page, + setPage: handlePageChange + }; +} diff --git a/src/hooks/useSearch.ts b/src/hooks/useSearch.ts new file mode 100644 index 0000000..a8eca0b --- /dev/null +++ b/src/hooks/useSearch.ts @@ -0,0 +1,100 @@ +'use client'; + +import { useState } from 'react'; +import { moviesAPI } from '@/lib/api'; +import type { Movie } from '@/lib/api'; +import { useSession } from 'next-auth/react'; +import { useRouter } from 'next/navigation'; + +export function useSearch() { + const [results, setResults] = useState([]); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [hasMore, setHasMore] = useState(false); + const [currentPage, setCurrentPage] = useState(1); + const [currentQuery, setCurrentQuery] = useState(''); + const [searchFailed, setSearchFailed] = useState(false); + const { data: session } = useSession(); + const router = useRouter(); + + const filterMovies = (movies: Movie[]) => { + return movies.filter(movie => { + if (movie.vote_average === 0) return false; + const hasRussianLetters = /[а-яА-ЯёЁ]/.test(movie.title); + if (!hasRussianLetters) return false; + if (/^\d+$/.test(movie.title)) return false; + const releaseDate = new Date(movie.release_date); + const now = new Date(); + if (releaseDate > now) return false; + return true; + }); + }; + + const searchMovies = async (query: string) => { + try { + if (!query.trim()) { + setResults([]); + setHasMore(false); + setCurrentPage(1); + setCurrentQuery(''); + setSearchFailed(false); + setError(null); + return; + } + + setLoading(true); + setError(null); + setSearchFailed(false); + setCurrentQuery(query); + setCurrentPage(1); + + const response = await moviesAPI.searchMovies(query, 1); + const filteredMovies = filterMovies(response.data.results); + + if (filteredMovies.length === 0) { + setSearchFailed(true); + } + + setResults(filteredMovies); + setHasMore(response.data.total_pages > 1); + } catch (err) { + console.error('Ошибка при поиске:', err); + setError('Произошла ошибка при поиске'); + setResults([]); + setHasMore(false); + } finally { + setLoading(false); + } + }; + + const loadMore = async () => { + if (loading || !hasMore || !currentQuery) return; + + try { + setLoading(true); + const nextPage = currentPage + 1; + + const response = await moviesAPI.searchMovies(currentQuery, nextPage); + const filteredMovies = filterMovies(response.data.results); + + setResults(prev => [...prev, ...filteredMovies]); + setCurrentPage(nextPage); + setHasMore(nextPage < response.data.total_pages && nextPage < 5); // Ограничиваем до 5 страниц + } catch (err) { + console.error('Ошибка при загрузке дополнительных результатов:', err); + setError('Произошла ошибка при загрузке дополнительных результатов'); + } finally { + setLoading(false); + } + }; + + return { + results, + loading, + error, + hasMore, + searchFailed, + searchMovies, + loadMore + }; +} diff --git a/src/hooks/useSettings.ts b/src/hooks/useSettings.ts new file mode 100644 index 0000000..2d29304 --- /dev/null +++ b/src/hooks/useSettings.ts @@ -0,0 +1,67 @@ +'use client'; + +import { useState, useEffect } from 'react'; + +interface Settings { + theme: 'light' | 'dark'; + language: 'ru' | 'en'; + notifications: boolean; + defaultPlayer: 'alloha' | 'collaps' | 'lumex'; +} + +const defaultSettings: Settings = { + theme: 'dark', + language: 'ru', + notifications: true, + defaultPlayer: 'alloha', +}; + +export function useSettings() { + const [settings, setSettings] = useState(defaultSettings); + const [isInitialized, setIsInitialized] = useState(false); + + useEffect(() => { + try { + const savedSettings = localStorage.getItem('settings'); + if (savedSettings) { + const parsedSettings = JSON.parse(savedSettings); + setSettings(prev => ({ ...defaultSettings, ...parsedSettings })); + } + setIsInitialized(true); + } catch (error) { + console.error('Error loading settings:', error); + setSettings(defaultSettings); + setIsInitialized(true); + } + }, []); + + useEffect(() => { + if (isInitialized) { + try { + localStorage.setItem('settings', JSON.stringify(settings)); + } catch (error) { + console.error('Error saving settings:', error); + } + } + }, [settings, isInitialized]); + + const updateSettings = (newSettings: Partial) => { + setSettings(prev => ({ ...prev, ...newSettings })); + }; + + const resetSettings = () => { + setSettings(defaultSettings); + try { + localStorage.setItem('settings', JSON.stringify(defaultSettings)); + } catch (error) { + console.error('Error resetting settings:', error); + } + }; + + return { + settings, + updateSettings, + resetSettings, + isInitialized, + }; +} diff --git a/src/hooks/useUser.ts b/src/hooks/useUser.ts new file mode 100644 index 0000000..e9127be --- /dev/null +++ b/src/hooks/useUser.ts @@ -0,0 +1,146 @@ +'use client'; + +import { useState } from 'react'; +import { signIn, signOut } from 'next-auth/react'; +import { useRouter } from 'next/navigation'; + +interface PendingRegistration { + email: string; + password: string; + name?: string; +} + +export function useUser() { + const router = useRouter(); + const [isVerifying, setIsVerifying] = useState(false); + const [pendingRegistration, setPendingRegistration] = useState(null); + + const login = async (email: string, password: string) => { + try { + // Сначала проверяем, верифицирован ли аккаунт + const verificationCheck = await fetch('/api/auth/check-verification', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email }) + }); + + const { isVerified } = await verificationCheck.json(); + + if (!isVerified) { + // Если аккаунт не верифицирован, отправляем новый код и переходим к верификации + const verificationResponse = await fetch('/api/auth/verify', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email }) + }); + + if (!verificationResponse.ok) { + throw new Error('Не удалось отправить код подтверждения'); + } + + setIsVerifying(true); + setPendingRegistration({ email, password }); + return; + } + + // Если аккаунт верифицирован, выполняем вход + const result = await signIn('credentials', { + redirect: false, + email, + password, + }); + + if (result?.error) { + throw new Error(result.error); + } + + router.push('/'); + } catch (error) { + throw error; + } + }; + + const register = async (email: string, password: string, name: string) => { + try { + const response = await fetch('/api/auth/register', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email, password, name }), + }); + + if (!response.ok) { + const data = await response.json(); + throw new Error(data.error || 'Ошибка при регистрации'); + } + + // Отправляем код подтверждения + const verificationResponse = await fetch('/api/auth/verify', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email }) + }); + + if (!verificationResponse.ok) { + throw new Error('Не удалось отправить код подтверждения'); + } + + setIsVerifying(true); + setPendingRegistration({ email, password, name }); + return { needsVerification: true }; + } catch (error) { + throw error; + } + }; + + const verifyCode = async (code: string) => { + if (!pendingRegistration) { + throw new Error('Нет ожидающей регистрации'); + } + + try { + const response = await fetch('/api/auth/verify', { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + email: pendingRegistration.email, + code + }) + }); + + if (!response.ok) { + const data = await response.json(); + throw new Error(data.error || 'Неверный код подтверждения'); + } + + // После успешной верификации выполняем вход + const result = await signIn('credentials', { + redirect: false, + email: pendingRegistration.email, + password: pendingRegistration.password, + }); + + if (result?.error) { + throw new Error(result.error); + } + + setIsVerifying(false); + setPendingRegistration(null); + router.push('/'); + } catch (error) { + throw error; + } + }; + + const logout = () => { + signOut({ callbackUrl: '/login' }); + }; + + return { + login, + register, + verifyCode, + logout, + isVerifying, + pendingRegistration + }; +} diff --git a/src/lib/api.ts b/src/lib/api.ts new file mode 100644 index 0000000..8ae72bd --- /dev/null +++ b/src/lib/api.ts @@ -0,0 +1,255 @@ +import axios from 'axios'; + +const BASE_URL = 'https://api.themoviedb.org/3'; + +if (typeof window === 'undefined' && !process.env.NEXT_PUBLIC_TMDB_ACCESS_TOKEN) { + throw new Error('TMDB_ACCESS_TOKEN is not defined in environment variables'); +} + +export const api = axios.create({ + baseURL: BASE_URL, + headers: { + 'Authorization': `Bearer ${process.env.NEXT_PUBLIC_TMDB_ACCESS_TOKEN}`, + 'Content-Type': 'application/json' + } +}); + +export interface Genre { + id: number; + name: string; +} + +export interface Movie { + id: number; + title: string; + overview: string; + poster_path: string | null; + backdrop_path: string | null; + release_date: string; + vote_average: number; + vote_count: number; + genre_ids: number[]; + runtime?: number; + genres?: Array<{ id: number; name: string }>; +} + +export interface MovieDetails extends Movie { + genres: Genre[]; + runtime: number; + tagline: string; + budget: number; + revenue: number; + videos: { + results: Video[]; + }; + credits: { + cast: Cast[]; + crew: Crew[]; + }; +} + +export interface TVShow { + id: number; + name: string; + overview: string; + poster_path: string | null; + backdrop_path: string | null; + first_air_date: string; + vote_average: number; + vote_count: number; + genre_ids: number[]; +} + +export interface TVShowDetails extends TVShow { + genres: Genre[]; + number_of_episodes: number; + number_of_seasons: number; + tagline: string; + credits: { + cast: Cast[]; + crew: Crew[]; + }; + seasons: Array<{ + id: number; + name: string; + episode_count: number; + poster_path: string | null; + }>; + external_ids?: { + imdb_id: string | null; + tvdb_id: number | null; + tvrage_id: number | null; + }; +} + +export interface Video { + id: string; + key: string; + name: string; + site: string; + type: string; +} + +export interface Cast { + id: number; + name: string; + character: string; + profile_path: string | null; +} + +export interface Crew { + id: number; + name: string; + job: string; + profile_path: string | null; +} + +interface MovieResponse { + page: number; + results: Movie[]; + total_pages: number; + total_results: number; +} + +interface TVShowResponse { + page: number; + results: TVShow[]; + total_pages: number; + total_results: number; +} + +export const moviesAPI = { + // Получение популярных фильмов + getPopular: (page = 1) => + api.get('/movie/popular', { + params: { + page, + language: 'ru-RU', + } + }), + + // Получение данных о фильме по его TMDB ID + getMovie: (id: string | number) => + api.get(`/movie/${id}`, { + params: { + language: 'ru-RU', + append_to_response: 'credits,videos,similar' + } + }), + + // Получение IMDb ID по TMDB ID для плеера + getImdbId: async (tmdbId: string | number) => { + try { + const response = await api.get(`/movie/${tmdbId}/external_ids`); + return response.data.imdb_id; + } catch (error) { + console.error('Ошибка при получении IMDb ID:', error); + return null; + } + }, + + // Получение видео по TMDB ID для плеера + getVideo: async (tmdbId: string | number) => { + try { + const response = await api.get(`/movie/${tmdbId}/videos`, { + params: { + language: 'ru-RU', + }, + }); + return response.data.results; + } catch (error) { + console.error('Ошибка при получении видео:', error); + return []; + } + }, + + // Поиск фильмов + searchMovies: (query: string, page = 1) => + api.get('/search/movie', { + params: { + query, + page, + language: 'ru-RU', + } + }), + + // Получение предстоящих фильмов + getUpcoming: (page = 1) => + api.get('/movie/upcoming', { + params: { + page, + language: 'ru-RU', + } + }), + + // Получение лучших фильмов + getTopRated: (page = 1) => + api.get('/movie/top_rated', { + params: { + page, + language: 'ru-RU', + 'vote_count.gte': 100 + } + }), + + // Получение фильмов по жанру + getMoviesByGenre: (genreId: number, page = 1) => + api.get('/discover/movie', { + params: { + with_genres: genreId, + page, + language: 'ru-RU', + 'vote_count.gte': 100, + 'vote_average.gte': 1, + sort_by: 'popularity.desc', + include_adult: false, + 'primary_release_date.lte': new Date().toISOString().split('T')[0] + } + }), +}; + +export const tvAPI = { + // Получение популярных сериалов + getPopular: (page = 1) => + api.get('/tv/popular', { + params: { + page, + language: 'ru-RU', + } + }), + + // Получение данных о сериале по его TMDB ID + getShow: (id: string | number) => + api.get(`/tv/${id}`, { + params: { + language: 'ru-RU', + append_to_response: 'credits,external_ids', + } + }), + + // Получение IMDb ID по TMDB ID для плеера + getImdbId: (tmdbId: string | number) => + api.get<{ imdb_id: string | null }>(`/tv/${tmdbId}/external_ids`), + + // Поиск сериалов + searchShows: (query: string, page = 1) => + api.get('/search/tv', { + params: { + query, + page, + language: 'ru-RU', + } + }), +}; + +// Мультипоиск (фильмы и сериалы) +export const searchAPI = { + multiSearch: (query: string, page = 1) => + api.get('/search/multi', { + params: { + query, + page, + language: 'ru-RU', + } + }), +}; diff --git a/src/lib/auth.ts b/src/lib/auth.ts new file mode 100644 index 0000000..b546ef2 --- /dev/null +++ b/src/lib/auth.ts @@ -0,0 +1,89 @@ +import { AuthOptions } from 'next-auth'; +import CredentialsProvider from 'next-auth/providers/credentials'; +import { User } from '@/models'; +import { connectDB } from './db'; + +export const authOptions: AuthOptions = { + providers: [ + CredentialsProvider({ + id: 'credentials', + name: 'Credentials', + credentials: { + email: { label: 'Email', type: 'text' }, + password: { label: 'Password', type: 'password' }, + }, + async authorize(credentials) { + if (!credentials?.email || !credentials?.password) { + throw new Error('Необходимо указать email и пароль'); + } + + await connectDB(); + + const user = await User.findOne({ email: credentials.email }); + if (!user) { + throw new Error('Пользователь не найден'); + } + + const isValid = await user.comparePassword(credentials.password); + if (!isValid) { + throw new Error('Неверный пароль'); + } + + if (!user.isVerified) { + throw new Error('Email не подтвержден'); + } + + return { + id: user._id.toString(), + email: user.email, + isAdmin: user.isAdmin, + }; + }, + }), + ], + callbacks: { + async jwt({ token, user }) { + if (user) { + token.id = user.id; + token.email = user.email; + token.isAdmin = user.isAdmin; + } + return token; + }, + async session({ session, token }) { + if (token) { + session.user.id = token.id as string; + session.user.email = token.email as string; + session.user.isAdmin = token.isAdmin as boolean; + } + return session; + }, + }, + pages: { + signIn: '/login', + }, + session: { + strategy: 'jwt', + }, +}; + +// Расширяем типы для NextAuth +declare module 'next-auth' { + interface User { + id: string; + email: string; + isAdmin: boolean; + } + + interface Session { + user: User; + } +} + +declare module 'next-auth/jwt' { + interface JWT { + id: string; + email: string; + isAdmin: boolean; + } +} diff --git a/src/lib/db.ts b/src/lib/db.ts new file mode 100644 index 0000000..706f106 --- /dev/null +++ b/src/lib/db.ts @@ -0,0 +1,38 @@ +import mongoose from 'mongoose'; + +const MONGODB_URI = process.env.MONGODB_URI!; + +if (!MONGODB_URI) { + throw new Error('Please define the MONGODB_URI environment variable'); +} + +let cached = global.mongoose; + +if (!cached) { + cached = global.mongoose = { conn: null, promise: null }; +} + +export async function connectDB() { + if (cached.conn) { + return cached.conn; + } + + if (!cached.promise) { + const opts = { + bufferCommands: false, + }; + + cached.promise = mongoose.connect(MONGODB_URI, opts).then((mongoose) => { + return mongoose; + }); + } + + try { + cached.conn = await cached.promise; + } catch (e) { + cached.promise = null; + throw e; + } + + return cached.conn; +} diff --git a/src/lib/email.ts b/src/lib/email.ts new file mode 100644 index 0000000..c3deeb2 --- /dev/null +++ b/src/lib/email.ts @@ -0,0 +1,11 @@ +export const sendVerificationEmail = async (email: string, token: string) => { + // Заглушка для функции отправки email + console.log(`Sending verification email to ${email} with token ${token}`); + return true; +}; + +export const sendPasswordResetEmail = async (email: string, token: string) => { + // Заглушка для функции отправки email + console.log(`Sending password reset email to ${email} with token ${token}`); + return true; +}; diff --git a/src/lib/jwt.ts b/src/lib/jwt.ts new file mode 100644 index 0000000..89e8707 --- /dev/null +++ b/src/lib/jwt.ts @@ -0,0 +1,25 @@ +import jwt from 'jsonwebtoken'; + +const JWT_SECRET = process.env.JWT_SECRET!; + +if (!JWT_SECRET) { + throw new Error('JWT_SECRET is not defined'); +} + +export interface JWTPayload { + userId: string; + email: string; +} + +export function generateToken(payload: JWTPayload): string { + return jwt.sign(payload, JWT_SECRET, { expiresIn: '7d' }); +} + +export function verifyToken(token: string): Promise { + return new Promise((resolve, reject) => { + jwt.verify(token, JWT_SECRET, (err, decoded) => { + if (err) reject(err); + resolve(decoded as JWTPayload); + }); + }); +} diff --git a/src/lib/mailer.ts b/src/lib/mailer.ts new file mode 100644 index 0000000..c493cd4 --- /dev/null +++ b/src/lib/mailer.ts @@ -0,0 +1,44 @@ +import nodemailer from 'nodemailer'; + +const transporter = nodemailer.createTransport({ + service: 'gmail', + auth: { + user: process.env.GMAIL_USER, + pass: process.env.GMAIL_APP_PASSWORD, // Пароль приложения из Google Account + }, +}); + +export async function sendVerificationEmail(to: string, code: string) { + try { + await transporter.sendMail({ + from: process.env.GMAIL_USER, + to, + subject: 'Подтверждение регистрации Neo Movies', + html: ` +
+

Neo Movies

+

Здравствуйте!

+

Для завершения регистрации введите этот код:

+
+ ${code} +
+

Код действителен в течение 10 минут.

+

Если вы не регистрировались на нашем сайте, просто проигнорируйте это письмо.

+
+ `, + }); + + return { success: true }; + } catch (error) { + console.error('Error sending email:', error); + return { error: 'Failed to send email' }; + } +} diff --git a/src/lib/mongodb.ts b/src/lib/mongodb.ts new file mode 100644 index 0000000..a31c342 --- /dev/null +++ b/src/lib/mongodb.ts @@ -0,0 +1,30 @@ +import { MongoClient } from 'mongodb'; + +if (!process.env.MONGODB_URI) { + throw new Error('Please add your Mongo URI to .env'); +} + +const uri = process.env.MONGODB_URI; +let client: MongoClient; +let clientPromise: Promise; + +if (process.env.NODE_ENV === 'development') { + let globalWithMongo = global as typeof globalThis & { + _mongoClientPromise?: Promise; + }; + + if (!globalWithMongo._mongoClientPromise) { + client = new MongoClient(uri); + globalWithMongo._mongoClientPromise = client.connect(); + } + clientPromise = globalWithMongo._mongoClientPromise; +} else { + client = new MongoClient(uri); + clientPromise = client.connect(); +} + +export async function connectToDatabase() { + const client = await clientPromise; + const db = client.db(); + return { db, client }; +} diff --git a/src/lib/movieSync.ts b/src/lib/movieSync.ts new file mode 100644 index 0000000..97d9a1d --- /dev/null +++ b/src/lib/movieSync.ts @@ -0,0 +1,26 @@ +export interface Movie { + id: string; + title: string; + description: string; + posterUrl: string; + year: number; + rating: number; +} + +export const syncMovies = async (): Promise => { + // Заглушка для синхронизации фильмов + console.log('Syncing movies...'); + return []; +}; + +export const updateMovie = async (movie: Movie): Promise => { + // Заглушка для обновления фильма + console.log(`Updating movie ${movie.title}`); + return movie; +}; + +export const deleteMovie = async (id: string): Promise => { + // Заглушка для удаления фильма + console.log(`Deleting movie ${id}`); + return true; +}; diff --git a/src/lib/registry.tsx b/src/lib/registry.tsx new file mode 100644 index 0000000..fa40fab --- /dev/null +++ b/src/lib/registry.tsx @@ -0,0 +1,29 @@ +'use client'; + +import React, { useState } from 'react'; +import { useServerInsertedHTML } from 'next/navigation'; +import { ServerStyleSheet, StyleSheetManager } from 'styled-components'; + +export default function StyledComponentsRegistry({ + children, +}: { + children: React.ReactNode; +}) { + const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet()); + + useServerInsertedHTML(() => { + const styles = styledComponentsStyleSheet.getStyleElement(); + styledComponentsStyleSheet.instance.clearTag(); + return <>{styles}; + }); + + if (typeof window !== 'undefined') { + return <>{children}; + } + + return ( + + {children} + + ); +} diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..0434dd7 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,16 @@ +export const generateVerificationToken = () => { + return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); +}; + +export const validateEmail = (email: string) => { + const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return re.test(email); +}; + +export const formatDate = (date: Date) => { + return new Intl.DateTimeFormat('ru-RU', { + year: 'numeric', + month: 'long', + day: 'numeric', + }).format(date); +}; diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..2031ac6 --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,53 @@ +import { NextResponse } from 'next/server'; +import { getToken } from 'next-auth/jwt'; +import { withAuth } from 'next-auth/middleware'; +import { NextRequestWithAuth } from 'next-auth/middleware'; + +export default withAuth( + async function middleware(request: NextRequestWithAuth) { + const token = await getToken({ req: request }); + const isAuth = !!token; + const isAuthPage = request.nextUrl.pathname.startsWith('/login'); + const isAdminPage = request.nextUrl.pathname.startsWith('/admin'); + const isAdminLoginPage = request.nextUrl.pathname === '/admin/login'; + + // Если это страница админ-панели + if (isAdminPage) { + // Если пользователь не авторизован + if (!isAuth) { + return NextResponse.redirect(new URL('/admin/login', request.url)); + } + + // Если пользователь не админ и пытается зайти на админ-страницы (кроме логина) + if (!token?.isAdmin && !isAdminLoginPage) { + return NextResponse.redirect(new URL('/', request.url)); + } + + // Если админ уже прошел верификацию и пытается зайти на страницу логина + if (token?.isAdmin && token?.adminVerified && isAdminLoginPage) { + return NextResponse.redirect(new URL('/admin', request.url)); + } + + // Если админ не прошел верификацию и пытается зайти на админ-страницы (кроме логина) + if (token?.isAdmin && !token?.adminVerified && !isAdminLoginPage) { + return NextResponse.redirect(new URL('/admin/login', request.url)); + } + } + + // Если авторизованный пользователь пытается зайти на страницу логина + if (isAuthPage && isAuth) { + return NextResponse.redirect(new URL('/', request.url)); + } + + return NextResponse.next(); + }, + { + callbacks: { + authorized: () => true, + }, + } +); + +export const config = { + matcher: ['/login', '/admin/:path*'], +}; diff --git a/src/models/Movie.ts b/src/models/Movie.ts new file mode 100644 index 0000000..f005d49 --- /dev/null +++ b/src/models/Movie.ts @@ -0,0 +1,26 @@ +import mongoose from 'mongoose'; + +export interface Movie { + _id: string; + title: string; + description: string; + posterUrl: string; + year: number; + rating: number; + isVisible?: boolean; + createdAt: Date; + updatedAt: Date; +} + +const movieSchema = new mongoose.Schema({ + title: { type: String, required: true }, + description: { type: String, required: true }, + posterUrl: { type: String, required: true }, + year: { type: Number, required: true }, + rating: { type: Number, required: true }, + isVisible: { type: Boolean, default: true }, +}, { + timestamps: true +}); + +export default mongoose.models.Movie || mongoose.model('Movie', movieSchema); diff --git a/src/models/User.ts b/src/models/User.ts new file mode 100644 index 0000000..aa109ee --- /dev/null +++ b/src/models/User.ts @@ -0,0 +1,74 @@ +import { Schema, model, models } from 'mongoose'; +import bcrypt from 'bcryptjs'; + +export interface IUser { + email: string; + password?: string; + name?: string; + image?: string; + emailVerified?: Date; + verificationToken?: string; + isAdmin?: boolean; +} + +const userSchema = new Schema({ + email: { + type: String, + required: true, + unique: true, + lowercase: true, + trim: true, + }, + password: { + type: String, + required: true, + minlength: 6, + }, + name: { + type: String, + required: true, + trim: true, + }, + image: String, + emailVerified: Date, + verificationToken: String, + isAdmin: { + type: Boolean, + default: false + } +}, { + timestamps: true, +}); + +// Не включаем пароль в запросы по умолчанию +userSchema.set('toJSON', { + transform: function(doc, ret) { + delete ret.password; + return ret; + } +}); + +// Хэшируем пароль перед сохранением +userSchema.pre('save', async function(next) { + if (!this.isModified('password')) return next(); + + try { + const salt = await bcrypt.genSalt(10); + this.password = await bcrypt.hash(this.password!, salt); + next(); + } catch (error) { + next(error as Error); + } +}); + +// Метод для проверки пароля +userSchema.methods.comparePassword = async function(candidatePassword: string) { + try { + return await bcrypt.compare(candidatePassword, this.password); + } catch (error) { + return false; + } +}; + +const User = models.User || model('User', userSchema); +export default User; diff --git a/src/models/index.ts b/src/models/index.ts new file mode 100644 index 0000000..dc4798a --- /dev/null +++ b/src/models/index.ts @@ -0,0 +1,6 @@ +import User from './User'; +import Movie from './Movie'; + +export { User, Movie }; +export type { IUser } from './User'; +export type { Movie as MovieType } from './Movie'; diff --git a/src/providers/AuthProvider.tsx b/src/providers/AuthProvider.tsx new file mode 100644 index 0000000..0648893 --- /dev/null +++ b/src/providers/AuthProvider.tsx @@ -0,0 +1,7 @@ +'use client'; + +import { SessionProvider } from 'next-auth/react'; + +export function AuthProvider({ children }: { children: React.ReactNode }) { + return {children}; +} diff --git a/src/styles/GlobalStyles.ts b/src/styles/GlobalStyles.ts new file mode 100644 index 0000000..565d692 --- /dev/null +++ b/src/styles/GlobalStyles.ts @@ -0,0 +1,22 @@ +'use client'; + +import { createGlobalStyle } from 'styled-components'; + +const GlobalStyles = createGlobalStyle` + /* Отключаем стили Dark Reader для определенных элементов */ + *[data-darkreader-mode], + *[data-darkreader-scheme] { + background-color: unset !important; + color: unset !important; + } + + /* Сбрасываем инлайн-стили Dark Reader */ + *[style*="--darkreader-inline"] { + background-color: unset !important; + color: unset !important; + border-color: unset !important; + fill: unset !important; + } +`; + +export default GlobalStyles; diff --git a/src/styles/GlobalStyles.tsx b/src/styles/GlobalStyles.tsx new file mode 100644 index 0000000..0ed8a1a --- /dev/null +++ b/src/styles/GlobalStyles.tsx @@ -0,0 +1,69 @@ +'use client'; + +import { createGlobalStyle } from 'styled-components'; + +export const GlobalStyles = createGlobalStyle` + * { + box-sizing: border-box; + margin: 0; + padding: 0; + } + + html, + body { + max-width: 100vw; + min-height: 100vh; + overflow-x: hidden; + background-color: ${({ theme }) => theme.colors.background}; + color: ${({ theme }) => theme.colors.text}; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, + Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + } + + body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; + } + + img, picture, video, canvas, svg { + display: block; + max-width: 100%; + } + + input, button, textarea, select { + font: inherit; + } + + p, h1, h2, h3, h4, h5, h6 { + overflow-wrap: break-word; + } + + a { + color: inherit; + text-decoration: none; + } + + button { + background: none; + border: none; + padding: 0; + cursor: pointer; + } + + #__next { + min-height: 100vh; + display: flex; + flex-direction: column; + } + + /* Скрываем уведомления об ошибках Next.js */ + .nextjs-toast-errors-parent { + display: none !important; + } + + /* Скрываем все toast-уведомления Next.js */ + div[id^='__next-build-watcher'], + div[class^='nextjs-toast'] { + display: none !important; + } +`; diff --git a/src/types/auth.ts b/src/types/auth.ts new file mode 100644 index 0000000..07659ba --- /dev/null +++ b/src/types/auth.ts @@ -0,0 +1,24 @@ +export interface User { + _id: string; + email: string; + name: string; + isVerified: boolean; + createdAt: string; + updatedAt: string; +} + +export interface LoginCredentials { + email: string; + password: string; +} + +export interface RegisterCredentials { + email: string; + password: string; + name: string; +} + +export interface AuthResponse { + user: User; + token: string; +} diff --git a/src/types/movie.ts b/src/types/movie.ts new file mode 100644 index 0000000..4ae335f --- /dev/null +++ b/src/types/movie.ts @@ -0,0 +1,15 @@ +export interface Movie { + _id: string; + title: string; + description: string; + year: number; + rating: number; + posterUrl: string; + genres: string[]; + director: string; + cast: string[]; + duration: number; + trailerUrl?: string; + createdAt: string; + updatedAt: string; +} diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..109807b --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,18 @@ +import type { Config } from "tailwindcss"; + +export default { + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", + "./src/components/**/*.{js,ts,jsx,tsx,mdx}", + "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + colors: { + background: "var(--background)", + foreground: "var(--foreground)", + }, + }, + }, + plugins: [], +} satisfies Config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..c133409 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/types/next-auth.d.ts b/types/next-auth.d.ts new file mode 100644 index 0000000..db5ddb5 --- /dev/null +++ b/types/next-auth.d.ts @@ -0,0 +1,26 @@ +import NextAuth from "next-auth" + +declare module "next-auth" { + interface Session { + user: { + id: string + email: string + name: string + verified: boolean + } + } + + interface User { + id: string + email: string + name: string + verified: boolean + } +} + +declare module "next-auth/jwt" { + interface JWT { + id: string + verified: boolean + } +}