// Generated by scripts/generate-manifest.mjs. Do not edit by hand. import type { AddOnCompiled } from '../../../../../types.js' type TemplateRecord = Record type TemplateAddOn = TemplateRecord & { integrations?: Array routes?: Array } type TemplateRenderContext = { [key: string]: any packageManager: any projectName: any typescript: any tailwind: any blank: any js: any jsx: any fileRouter: any codeRouter: any routerOnly: any includeExamples: any addOnEnabled: Record addOnOption: Record addOns: Array integrations: Array routes: Array getPackageManagerAddScript: (...args: Array) => string getPackageManagerRunScript: (...args: Array) => string getPackageManagerExecuteScript: (...args: Array) => string relativePath: (...args: Array) => string integrationImportContent: (...args: Array) => string integrationImportCode: (...args: Array) => string | undefined renderTemplate: (content: string) => string ignoreFile: () => never } type TemplateRenderer = (context: TemplateRenderContext) => string | undefined function __escapeXML(value: unknown) { if (value === undefined || value === null) { return '' } return String(value).replace(/[&<>'"]/g, (character) => { switch (character) { case '&': return '&' case '<': return '<' case '>': return '>' case '"': return '"' case "'": return ''' default: return character } }) } export function getManifestTemplateKey(template: string) { let hash = 0x811c9dc5 for (let i = 0; i < template.length; i++) { hash ^= template.charCodeAt(i) hash = Math.imul(hash, 0x01000193) >>> 0 } return `${hash.toString(16).padStart(8, '0')}:${template.length}` } const templateRenderers: Record = { } export function hasManifestTemplate(template: string) { return getManifestTemplateKey(template) in templateRenderers } export function renderManifestTemplate( template: string, context: TemplateRenderContext, ) { const key = getManifestTemplateKey(template) const renderer = templateRenderers[key] if (!renderer) { throw new Error(`Template ${key} was not precompiled into the manifest`) } return renderer(context) ?? '' } export const addOn = { "name": "Resume", "description": "Professional resume template with content-collections and shadcn UI components for Netlify.", "phase": "example", "modes": [ "file-router" ], "type": "example", "category": "other", "color": "#8B5CF6", "priority": 10, "link": "", "routes": [ { "url": "/", "path": "src/routes/index.tsx", "jsName": "ResumeHome" } ], "integrations": [ { "type": "header-user", "path": "src/components/ResumeAssistantButton", "jsName": "ResumeAssistantButton" }, { "type": "vite-plugin", "import": "import contentCollections from '@content-collections/vite'", "code": "contentCollections()" } ], "dependsOn": [], "variables": [], "id": "resume", "version": "0.0.0", "packageAdditions": { "dependencies": { "@radix-ui/react-checkbox": "^1.2.2", "@radix-ui/react-hover-card": "^1.1.10", "@radix-ui/react-separator": "^1.1.4", "@radix-ui/react-slot": "^1.2.0", "@tanstack/ai": "latest", "@tanstack/ai-anthropic": "latest", "@tanstack/ai-client": "latest", "@tanstack/ai-gemini": "latest", "@tanstack/ai-ollama": "latest", "@tanstack/ai-openai": "latest", "@tanstack/ai-react": "latest", "@tanstack/store": "latest", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.577.0", "marked": "^15.0.8", "streamdown": "^2.3.0", "tailwind-merge": "^3.0.2", "tailwindcss-animate": "^1.0.7", "zod": "^4.3.6" }, "devDependencies": { "@content-collections/core": "^0.13.1", "@content-collections/vite": "^0.3.0" } }, "readme": "# Resume Example\n\nA professional resume template built with TanStack Start and content-collections for Netlify deployment.\n\n## Features\n\n- **Content Collections**: Work experience and education managed as markdown files\n- **Skills Filter**: Interactive sidebar to filter jobs by skills/technologies\n- **Beautiful UI**: Modern design with shadcn/ui components\n- **SSR Ready**: Full server-side rendering with TanStack Start\n\n## Project Structure\n\n```\n├── content/\n│ ├── jobs/ # Work experience entries\n│ └── education/ # Education entries\n├── src/\n│ ├── components/\n│ │ └── ui/ # Shadcn UI components\n│ │ ├── badge.tsx\n│ │ ├── card.tsx\n│ │ ├── checkbox.tsx\n│ │ ├── hover-card.tsx\n│ │ └── separator.tsx\n│ ├── lib/\n│ │ └── utils.ts # Utility functions\n│ └── routes/\n│ ├── __root.tsx # Root layout\n│ └── index.tsx # Resume page\n└── public/\n └── headshot-on-white.jpg\n```\n\n## Adding Work Experience\n\nCreate a new markdown file in `content/jobs/` with the following frontmatter:\n\n```markdown\n---\njobTitle: Your Job Title\ncompany: Company Name\nlocation: City, State\nstartDate: 2024-01-01\nendDate: 2024-12-31 # Optional - omit for current position\nsummary: Brief summary of your role\ntags:\n - React\n - TypeScript\n - Web Development\n---\n\nDetailed description of your responsibilities and achievements...\n```\n\n## Adding Education\n\nCreate a new markdown file in `content/education/`:\n\n```markdown\n---\nschool: School Name\nsummary: Degree or Program Name\nstartDate: 2020-01-01\nendDate: 2024-01-01\ntags:\n - Relevant\n - Skills\n---\n\nDetails about your education...\n```\n\n## Development\n\n```bash\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n```\n", "readmeIsEjs": false, "files": { "content/education/code-school.md": "---\nschool: Code School\nsummary: Full Stack Development\nstartDate: 2020-01-01\nendDate: 2020-12-31\ntags:\n [\n \"Full Stack Development\",\n \"JavaScript\",\n \"React\",\n \"Node.js\",\n \"Express\",\n \"MongoDB\",\n ]\n---\n\nCompleted a comprehensive full stack development course covering JavaScript, React, Node.js, Express, and MongoDB. Gained hands-on experience with modern web development frameworks and databases while building a full stack application.\n", "content/jobs/freelance.md": "---\njobTitle: Frontend Development Consultant\ncompany: Freelance\nlocation: Remote\nstartDate: 2020-01-01\nendDate: 2020-12-31\nsummary: Independent frontend development consultant working with multiple clients on web applications and sites\ndescription:\ntags:\n [\"React\", \"TypeScript\", \"Frontend Development\", \"JavaScript\", \"CSS\", \"HTML\"]\n---\n\nProvided expert frontend development services to various clients, specializing in React, TypeScript, and modern web technologies. Delivered responsive and performant web applications while maintaining high code quality and best practices.\n", "content/jobs/initech-junior.md": "---\njobTitle: Junior Frontend Developer\ncompany: IniTech\nlocation: Remote\nstartDate: 2021-01-01\nendDate: 2021-12-31\nsummary: Junior frontend developer working on React-based web applications using modern development practices\ndescription:\ntags:\n [\n \"React\",\n \"TypeScript\",\n \"Frontend Development\",\n \"JavaScript\",\n \"TanStack\",\n \"Web Development\",\n ]\n---\n\nWorked as a junior frontend developer at IniTech, contributing to React-based web applications. Collaborated with the development team to implement responsive user interfaces, integrate REST APIs, and maintain code quality. Gained hands-on experience with modern frontend technologies and development workflows while working on production applications.\n", "content/jobs/initech-lead.md": "---\njobTitle: Frontend Team Lead\ncompany: IniTech\nlocation: Remote\nstartDate: 2022-01-01\nendDate: 2022-12-31\nsummary: Led a cross-functional team of three engineers in developing and maintaining IniTech's marketing platform, driving technical decisions and implementing modern development practices\ndescription:\ntags:\n [\n \"React\",\n \"TypeScript\",\n \"Team Leadership\",\n \"Frontend Architecture\",\n \"Technical Leadership\",\n \"Project Management\",\n \"TanStack\",\n \"Web Development\",\n ]\n---\n\nLed the development and maintenance of IniTech's marketing platform as Frontend Team Lead, managing a cross-functional team of three engineers including a backend developer and a DevOps engineer. Key achievements and responsibilities included:\n\n- Architected and implemented a modern React-based marketing platform using TypeScript and TanStack, resulting in a 40% improvement in page load times\n- Managed and mentored a team of three engineers, conducting regular code reviews, sprint planning, and technical guidance\n- Collaborated with marketing stakeholders to define and implement new features while maintaining high code quality and performance standards\n- Established CI/CD pipelines and development workflows in partnership with DevOps, reducing deployment time by 60%\n- Coordinated with the backend developer to design and implement RESTful APIs, ensuring seamless integration between frontend and backend systems\n- Introduced modern development practices including automated testing, component documentation, and performance monitoring\n", "content/jobs/initrode-senior.md": "---\njobTitle: Senior Frontend Developer\ncompany: Initrode\nlocation: Remote\nstartDate: 2024-01-01\nsummary: Developed and architected real-time data visualization features for Initrode's enterprise dashboard platform, implementing a robust WebSocket layer and optimizing performance for large-scale data streams\ndescription:\ntags:\n [\n \"React\",\n \"TypeScript\",\n \"WebSockets\",\n \"Real-time Data\",\n \"System Architecture\",\n \"Performance Optimization\",\n \"TanStack\",\n \"Web Development\",\n ]\n---\n\nServed as a Senior Frontend Developer on Initrode's Dashboard team, focusing on building high-performance, real-time data visualization features for enterprise clients. Key achievements and responsibilities included:\n\n- Designed and implemented a WebSocket-based real-time data transport layer, enabling live updates for dashboard components with sub-100ms latency\n- Architected and developed a modular dashboard framework using React and TypeScript, supporting dynamic widget composition and real-time data streams\n- Optimized frontend performance for handling large-scale data sets, implementing efficient data structures and virtualization techniques that improved rendering performance by 65%\n- Built reusable charting and visualization components using D3.js and TanStack libraries, supporting real-time updates and complex data transformations\n- Implemented client-side data caching and state management strategies, reducing server load by 40% while maintaining data consistency\n- Developed automated testing suites for WebSocket connections and real-time data flow, achieving 90% test coverage for critical paths\n", "content-collections.ts": "import { defineCollection, defineConfig } from '@content-collections/core'\nimport { z } from 'zod'\n\nconst jobs = defineCollection({\n name: 'jobs',\n directory: 'content/jobs',\n include: '**/*.md',\n schema: z.object({\n jobTitle: z.string(),\n summary: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n company: z.string(),\n location: z.string(),\n tags: z.array(z.string()),\n content: z.string(),\n }),\n})\n\nconst education = defineCollection({\n name: 'education',\n directory: 'content/education',\n include: '**/*.md',\n schema: z.object({\n school: z.string(),\n summary: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n tags: z.array(z.string()),\n content: z.string(),\n }),\n})\n\nexport default defineConfig({\n collections: [jobs, education],\n})\n", "public/headshot-on-white.jpg": "base64::/9j/4Q/+RXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEAAAEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEoAAMAAAABAAIAAAITAAMAAAABAAEAAIdpAAQAAAABAAAAZgAAAAAAAABIAAAAAQAAAEgAAAABAAeQAAAHAAAABDAyMjGRAQAHAAAABAECAwCgAAAHAAAABDAxMDCgAQADAAAAAQABAACgAgAEAAAAAQAAA/+gAwAEAAAAAQAABLWkBgADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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eT9B1P4Vyd541gXK6fA0n+1J8i/l1/QV58cs5kYlnbqx5J/E0UAbV14i1m7yGuPKU/wwjZ+vLfrWIw3v5j/M395uT+ZpaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKF+RxJGSjjoynafzGKKKAN6z8TaxZ4BlE6D+GUZP8A30MH8811tl4x06fC3itat6n5k/76HT8QK80ooA92ilimjEsLK6N0ZTkH6YqSvDbS6urCTzbKVoW77eh+q9D+VdtpvjJTiLVk2f8ATWMfL+K9R+GR9KAO8oqOKWKeNZYWV0YZDKcgj2xUlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9H3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKZLLFBGZZmCIoyWY4AFefat4vklzBpHyJ0MzDk/7inp9T+VAHX6nrWn6Sv+kvlyPljTlz+HYe5wK871PxLqWo5jQ/Zof7kZ+Y/Vv6DFc+SWYuxLM3JY8k/U0UAIFCjCjApaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigC/p2p3ulS+ZZthT96M/cb8Ox9xXqWka1aavFui+SVR88R6r/iPQj/61ePVLBPNazJc2zeXIn3WH8vp7UAe60Vi6JrEWsWvmABJY8CRPQ+o9j2/+tW1QAUUUUAFFFFABRRRQAUUUUAFJS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/0vcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopKAFrI1XWbPSIt053SN9yNfvN/gPfpWbr3iSLTM2triS5x0/hj92/oP5CvMpZZbiVp7hzJI/3mPX/wCsPQDgUAXtT1a91aTfdHCA5SJfur/iff8ALFZtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBd03UJNLvUvY+QvDqP4kPUf1HuK9jjvbOYAxTI2emGFeH0wxRnqi/kKAPfKK8FQeUcxZQ/7JK/yxWjDq+rW5zFdzDHZm3j8mzQB7VRXmFt4x1SHAuI47gf8Aftv0yP0FdNZ+LtJuMLOWtmP/AD0Hy/8AfQ4/PFAHU0UxHSRA8ZDKRkEcjFPoAKKKKACiiigAooooAKKKKACikpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0/caKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBK4rxD4l+zFtP01gZhw8naP2H+1/L9KTxJ4iNvu03TmxL0kkH8A9B/tfyrzsAAYFAC+55J5JPUmiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKALNneXenvvsZWh9QPun6r0rttO8ZxtiLVY/L/6ax8p+K9R+v4VwFFAHusU0U8aywMrow4ZTkH6YqWvEbDULzTJPNspNmfvIeUb6r/UYNelaP4ktNTxBJ+4uP7hPDf7h7/Tr7UAdJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//U9xooooAKKKKACiiigAooooAKKSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArkvEuv8A9np9isz/AKS45P8AzzX1+p7D8a0dd1iPR7TcAGmk4iT39T7Dv+VeRu8krtLKxd3O5mPc0ANooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkxmlooA7bQ/FTRFbTV2ynRZz29n9v9r8/WvQwQQCvIPSvB66XQPEL6WwtbslrQ9PWL6f7Pt27elAHqlFNRldQ6EFWGQR0I9qdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//V9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqpe3kGn2r3dycJGMnHX2A9z0FWq8n8R6x/al15MB/0aA4XHR26Fvp2X86AMm+vZ9Su3vLn7zcKvZFHRRVSiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSigDqvDWunT5FsLtv9Gc4Qn/lmx/8AZT+n06eoV4LjIweleh+E9aMyDSrpv3kY/dMf4kHb6r/L6GgDt6KSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//1vcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqhqWoQ6ZZPeTchB8q/3mPRR9aAOa8W6x9nh/su2OJZh+8I/hj/xbp9PwrzkYHAqSaaa5me5uDukkO5j/AEHsBwPao6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKcjyROssLbHQhlYdiOlNooA9l0bU49WsUulG1/uyL/AHXHUfT09q1a8g8P6p/ZWoBpDiCbCS+391vw6H2+levUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//X9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEryrxPqv9oX32aI/uLYlRjoz9Cfw6D8a7TxLqp0yw2wnE8/yR+3q3/AR+uK8mACgAdBQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABgEYPSvUPCmp/bbH7JMczW2FPun8J/ofpXl9aGlagdL1CK8/gHyyD/AGD1/Lr+FAHtVFNBDAFeQemKdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Q9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKTpS1yvizUvsen/ZYjiW6ygx2T+I/lx+NAHCa1qX9q6i9yp/dL+7i/wB0d/8AgR5+mKyqOgwKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA9O8IX/2nTvskhzJakJ/wA/c/wAPwrrK8d0C+/s/VYpWOI5f3T/Ruh/A4/CvYaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACikpaACiiigAopKWgAooooAKKKKACiiigAooooAKKKKAP/0fcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAErxrWdQ/tPUpLpTmNf3cX+4vf8Tz+Veg+KdQNjpbRRnEtx+6X2B+8fwH9K8qAAGB0FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFHSgCSKKSeVIIRl3O1R7/wCFaWr6WdMkj2EvFIoAb/bA+Yf1Ht9K3vD+m/Z4vt04xJKMID/Ch/q38q2ry0ivrZ7WXgN0P91h0P4fyoA8xoqSWKS3laCYbXjO1h/nt6VHQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAIyhlKnoRivZdDvjqOlwXL/fK7X/3l4P6ivHK7nwTd4a508+0yD/x1v5CgD0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikoA/9L3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiis3Vr4abp015/Ei/IPVjwo/OgDzfxPffbdWdFP7u2HlL/vfxn8+Pwrn6BnHJye59TRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABW9oelfbH+13A/cRn5R/fYdv90d/yqtpWlvqUuWysCH52Hf/AGV9/wCVegKiRoscahUQYVR0AHYUAO68miiigDnfEGnfaIft0I/eQjDgfxIP6r/KuK+lerjg5FcDrWm/YJ/MhGIJT8v+y3df8Pb6UAY1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWtoNz9k1i2l/hZvKb6PwP8Ax7FZNI27b8nDDkfUdKAPeqWqtlcLeWcN2vSVFf8AMZq1QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//0/caKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK888aXu6WDTUPC/vn/ko/mfyr0LpXiN/d/b76e97Sv8v+4OF/QCgCpRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFaml6XLqT55SBTh3/APZV9/5VNpWjSX+J58x23qOC/svt7/lXdIiRRrFEoREGFUcACgBIoooIlggUJGgwqjtUlFJQAtJRRQAtQXFvDdwPbTjKOMcdvQj3FT0UAeY3dpNY3DWs/wB5ehHRl7Ef54qtXoup6cmpW/l8LKnMbeh9D7GvPHR4naKVdjodrKexFADaKKKACiiigAooooAKKKKACiiigAooooAKWkooA9R8Hz+boyxf88JGj/D7w/Qiuprz3wTPtmurU/xBJAPplT/SvQqACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//U9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDB8S3Zs9GnZDh5B5SfV+P0GT+FeR4AGB0HSu28a3W6e2sR0QGVh9flX/wBmriaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiirFraXV8/l2kZkx1PRV+p6CgCvVq0srm9y0C/u0+9I3CKB6n29q6qx8N28WHvT57/3BxGP6n9BWXrWrLdf6BZ4FsnB28ByOwA/hHb1oAwDtydh3L2OMZH07UlFFABRRRQAUUUUAFFFFABRRVuzsbq/k8u1XOPvMeFX6n+g5oAqegHfgAfyFdXpnh/pPqY/3Yf/AIv/AOJ/P0rX07SLbTvnX95N/wA9COnso7D9a1KAFoopKAFpKKKACilpKAFpKWigBKxNZ0n7en2i3H+kIMY/vqP4fqO35Vt0tAHlHt0xxj0ortda0b7Xm8sx+/H30H/LQe3+1/OuKFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHReFJvK1uNf8AnrG8f8m/9lr1evFtJk8nVrOQdplX/vr5f617TQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9X3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAPHdfn+061dOOiMIx/wAAfzzWRTmlM7vcHrK7P8A99HNNoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiirNrZ3V8220jL46noo+p6CgCtU9ta3N6/l2kZkI646D6noK6uz8N28eHv384/3F4T8T1P6CujRUjQRRqEReiqMAfgKAObsvDcMeHv281v+eacIPqep/QV0iIqIIolCIvRVGAPwpSVVSzEKqjJJ4AFcTq+tm8BtbPKwdGboZP8ABf50ASa1rIuAbKyb910dx/H7D/Z/n9K5uiigAooooAKKKKACiinRo8riKFS7noqjJ/IUANpyI8riKJS7t0VRkn8K6Kz8NzyYe/fyV/uJgv8Aieg/WuqtbS2so/LtIxGD1Pc/U9TQBzdj4b6Sakcf9MkP/oTD+Q/OuqRI4o1iiUIi9FUYAp1FABS0lLQAUlLRQAUUUUAFJRRQAUtFJQAUUUUAFYGsaMLzN3ZjE/8AEvQSf/ZfzroKKAPKPboRxjpj2oruNY0cXoN1ajFwByOgkA/9m9PXpXD+3THGOmKACiiigAooooAKKKKACiiigAooooAUP5TLKP8Almyt/wB8kH+le8V4HLzE4/2T/KvdrZ/Nt45f7yqfzFAE9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//W9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaKACiiigAooooAKq3snlWc0o/gjY/kKtVnavxpN5/1wk/9BNAHicYxGo9FH8qfSL90fSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo6kKOSegHJ/ACtu18P6hcYaUC3T1f734KP64oAxOAKvWem3t9zbR/J/wA9G+VPz7/hXZWmh6daYYp5zj+KTn8l6CtcknrQBz1p4cs4cNdn7Q3p92Mfh1P4/lXQABVCIAqr0UDAH0AopcdhQAlQ3NzBZwme5bYg4HqT6AdzWZqOt21jmKLE04/hH3V/3j/QfpXE3NzcXkvn3T726DsAPRR2FAF3UtVn1I7MeXAPux+vu3qfboKy6KKACim706ZFW4bK9uP+Pe3lf6IcfmcCgCtRW5D4d1OT/WCOEf7bZP5LmtWDwxbrzczvJ7IAg/Pk/wAqAONJC8nitC10vULwBoITs/vv8i/mf6Cu7ttOsLPm2gRW/vEbm/M5q6STyaAOYtfDMK4a9lMh/uR/Kv59fyxXQwQQWsflWsaxL6KMZ+vc1NSUAFLRRQAUUlFABS0lLQAlLSUUAFLRSUALRSUUAFFLSUAFFFFAC0UlLQAVzeu6T54N/ar+9UfvFH8YHcf7Q/UV0dKOORQB5QCCMiiug17TRay/bLdcQyn5gOiOf6N29+K5+gAooooAKKKKACiiigAooooARhlSPavatJO7SrRvWCP/ANBFeLdq9n0X/kD2X/XvF/6CKANOiiigApKWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopKAP//X9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqGqLu0y6Qd4XH/jpq/UUsYliaM9GUj8xigDwhPuKfYU6o4v9Un+6P5VJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRVm1sru9/49IWkH94cKP+BHAoArUhIAyeBXVW3hhzzezBf9iIZP8A30ePyFb1rpen2eGghXcP43+dv16fgKAOGtdNv7wZt4Tt/vt8i/mf6V0Ft4YjGGvZi3+xFwP++jz+QFdSSTyaSgCC2tbWyXbaRLF7r1P1PWp6WigBKKKKACq91bfao/KM0sSnr5RCk+2cE4+mKsUUAc+PDOmjgPNj/eX/AOJqQeHNLHXzj/wP/AVu0lAGQugaQv8AyxZvrI39CKsJpOlR/dtIvxG7+ea0KSgBsaRwjEKLH/uKF/kKkJLfeOabRQAUUUtACUUUtABSUUUALSUUtACUtJS0AJS0lLQAUlFLQAlFFFABS0UUAFFFFACUtJS0AJRS0lAC0UlFADJYYriJ7eYZjkG1h7f/AFu1eZ3NtJZ3D2s33ozjPqOxH1FeoVzPiWz3wJfoPmi+R/8AcPQ/gf50AcdRRRQAUUUUAFFFFABRRRQAHgE+1e0aONuk2a+kEY/8dFeKScROfRT/ACr3Ozj8q0hi/uRqv5AUAWqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWigD/0PcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoA8Lni8i4mg/55yun/AHyxFRVp63F5Gs3kf/TTd/32A39azKACiiigAooooAKKKKACiiigArSsNJvNQG+IBIv+ej/d/Ad/w4rU0bRFnVb2+XMZ5jj/AL3u3t6Dv9K7H+nAHoKAMa00HT7XDOv2hx/FJ0/Ben862ewHYdB2FFFABRRSUAFFFFABS0lFABRRRQAUUUUAFFFFAC0UlFABS0lFABS0UlABRS0lABRRS0AFJRRQAUUUUAFLSUtABSUUUAFFLSUALRRSUAFFLRQAlFFLQAUlFFAC0UUUAFMkijnie3l+5IpQ/Q8fpT6KAPKnjeF2hl+/GSrfVeKbW34hg8nUzIOk6B/xHyn+VYlABRRRQAUUUUAFFFFADXXepQfxfL+fFe9ivD7FPMv7WP8AvTxD/wAeFe4UALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//0fcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8r8XQiLWt4/5awo34glf5AVzNd343h5tLkDu8Z/EBh/6Ca4SgAooooAKKKKACiiigArU0ewF/eBZBmGIb5Pf0X8T+lZdd54etxDpqyn71wxk/4CPlX9BQBt9aKKKACikpaACiikoAKKKKAClpKKACiiigAooooAKKKKACiiigAooooAWkoooAKKKKAClpKKACiiigAooooAKKKWgBKKKKAFpKKKAFopKWgBKKKKACiiigApaKSgBaSlooASloooA5nxPFutoLgf8ALNyh+jj/ABWuOr0LW4/M0m4/2AJB/wAAI/pXn1ACUUUUAFFFFABRRRQBr6BGJdbs0PQOW/75Qn/CvYq8s8IxCTWgx/5Zwu34kqv+NeqUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/S9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDl/F8Al0VpP+eLo/wCu0/oa8tr27ULb7ZYz2n/PWNkH4jivD0O5Ax7igB1FFFABRRRQAUUUUAI2dpC9eg/pXqqRLBGkC9IlVB/wEYrzWwj86/tov70qfkDn+lemk5OfWgApKWkoAWikpaACikooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkooAKWkooAKKKKACiiigApaSigApaSigBaSiigApaSigAoopaAIbiPzreWH+/G6/mteWocop9QK9aT76/UV5OU8tmj/uEr+RxQAlFLSUAFFFFABRRRQB2/gmLM93P/dWNB+pP9K9Drj/BcOzTJJSP9ZM2PooC/wBK7CgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9P3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAErxTU7f7Jqd1bYwElYgf7LfMP0Ne2V5h4xtvJ1SO4AwJ4sf8CjOP5EUAcpRRRQAUUUUAFFFFAGtoS7tXt/8AZ3t+SGvQK4bw4udUz/dhc/yFd1QAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUUAFFFFABRRRQAUUUUALSUUUAFFFFABRRRQAUUUtACUtJRQAo4IPpXmN6uy/uU9Jn/wDQq9NrznVht1W7H/TU/qBQBn0UtJQAUUUUAFFFIyNIPKT7z4UfVuBQB6/4bhMGh2iHq0e//vv5v61uVHFGsMSxJwqAKPoOKkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9T3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuQ8Z23maYlyBzbyKT/ut8p/mPyrr6qX1qt7ZzWj9JUKfTI/pQB4hRSDcBhxhhwR6EcGloAKKKKACiiigDovDA/06Y+kP82FdrXHeFx/pFyfSJB/49/9auxoASlopKAClpKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopaAEopaSgApaSigA7V53rP/ACF7r/fH/oK16J2rzzWv+Qvdf74/9BWgDMooooAKKKKACtPRIPtGsWkXYSBz9Ixu/oKzK63wZb+ZqctwRxDFj8XP+C0AemUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9X3GiiigAooooAKKKKAEpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKqXU5hTC/ebp7UAebavol8dYuBaQlo5CJQxICjf1GT7g8VTPh7VlGQkbeyyLn9cV3nuaKAPLZoZreTyriNon/ALrDH5f/AFqjr1KeCC6i8i5QSJ6Ht9PT8K4PVdJk01t6EvbscK3dT/db+h70AZNFFFAHU+Fh+8uj/sxj9Wrra5Pwt/y9/wDbL/2ausoAKKKKAFpKKKACiiigAooooAKWkooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKSgAooooAKKKKAClpKKACiiigAooooAKWkpaAEpaSigApaSigAooooAKKKKACvPNa/5C91/vj/0Fa9D7V51rH/IWu/+un8lFAGdRRRwBk8AUAFWrWyvL3/j0haQD+IcKPxOBW9pOgiRVutRX5TykPTI9W9vQV1/AUKBhV4AHAA9hQBwX/CPattzsj+gkXP+Fdp4RsJbOyme4jMckkp4PXaoAH9asVJFI0L70/EeooA6CimoyuodehHFOoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9b3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsO6fzJ2PZflH4Vtk4GfSucHIye9AC0UUUAFMdI5Y2ilUMjjDKehFPooA831KwfTbnyD8yMN0beq/wCI6GqFej6nYDUbQwDHmL80R9GHb6HpXnHsRgjgg9sdqAOs8LdLv6x/+zV1Vcr4W+7dfWP+TV1VABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnGrc6rd/9dW/pXo9ebalzqV2f+mz/AM6AKVdLoOlCbGoXK5jU/ulPRiP4j7Dt7/SsjTbE6jdrb9IwN0hHZR/U9BXpACqoVAFVQAAOgA6AUALyetFFJQAUtJS0AaVg/wArRH+HkfQ1o1i2Z23AHqCP8/lW1QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9f3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIZziBz/sn+VYNbtz/wAe8n+6aw6ACkpaSgApaSigBa4jxFZeRdi7jGEuOvtIOv5jn867eqWoWf2+yktR94jKezr93/CgDB8LdLse8f8A7NXV1yPhY83Q6cR8f99CutoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAUdRXmN+R9uumP/PaT/0I16ev3h9RXA2VoL7W5EcZjSWSR/orcD8TgUAdNoll9isV3jEs2Hf2/ur+ArWpScnJpKAFpKKKAFooooAlgOJ4z7//AFq3q5+L/Wp/vCugoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//0PcaKKKACikpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCGcZgcf7J/lWDXREZUr68Vzo6CgBaSlpKAFpKKKACl+lJRQBkWtsLXWLsoMJcRJKv13YYfnz+Na9GBnPccf5/KloASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKKACiiloASiiigB8f31+orB0G28q3lu2+9cysw/3FYhfz5NbnTpTVVUUIgwqgAAdgKAFooooAKKKKAFooooAkgGZox/tCt+sS0GbhfbJ/StugAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//R9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArn5V2TOvof510FY98m2YN/eH8qAKlJRS0AJS0UlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRS0lABRRRQAUUUUAFFFFABRRRQAUUtJQAUUUUAFFFFABS0lFABRRRQAUUUUAFFFFABRRRQAUUUUAFFLSUAFFFFABRRRQAUUUUAFFLRQAlLSUtABRRRQBdsFzIzegx+f8A+qtaqVimId394/y4q7QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9L3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKSgBao3yZiD/wB0/p0q9THUOhQ9CMUAc/SUuCp2nqOPypKAFpKKWgBKKKKAClpKKACiiigAooooAKKKKACiiigAooooAKWkooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBKKKKACiiigBaSlooAKSiigBaSiigAooooAWkoooAKKKKACiiigAooooAKKKKAClpKKAClpKKACloooAKOeg69BRVm0j3zj0Xn/CgDXjQRoqD+EYp9FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//0/caKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMe9j2S7x0f8AmKqVuXEXnRFB16j6isKgBaSlooASiiigApaSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAWkoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaSiigAoopaACteyj2Rbz1fn8O1ZkMXnSCPt3+lb1AC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//U9xooooAKKSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikoAWse8h8uTzB91/wCdbFRyRrKhjboaAOfop7o0bFG6imUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRVq0g819zfdX9T6UAXrOHy49zfeb9B2q5RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//1fcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpdW/nLlfvr0/wrH9jxiujqjdWvmfvI/venrQBk0UvQ4PGO1JQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFLRQAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFLT443lbYg/wFABFE0z7F/E+grdjRY0CIMAUyGFIU2r+JqagAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9b3GiiigAooooAKKKKACiiigApKWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAqz2yTc/db1rJkikhOJBj37V0FIQCMHpQBztFa72UDfdyn0/wqnNaGGMybsgY4xQBTooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopaAEpaSigAooooAKKKKACiiigAooooAKKKKACiiigAopaSgBaTpWkun/AN5/yFWo7aGLlVyfU0AZsNpJLy3yr+v4VrRxpEuxBgVJRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9f3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACopk8yJk9RUtFAHNjpRUky7JXT0PFMoASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilpKACiiigAooooAKKKKACiiigAooooAKWkooAWpYF3zIvvn8qhq/YJmRn/ujH50AatFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9D3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAyb9MSK4/iGPyqjWzeJvgJ/u8/l/8AWrHoASilpKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSigAooooAKKKKACiiigAooooAWkoooAKKKKACilpKACiiigAooooAKKWigArYsk2QA/3uf8P0rIVd7BB/EcV0IAAAHQUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9H3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooATAPFc+6eW5j/unH4dq6Gsq/jwyyjvwf6UAUKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSigBaSiigAooooAKKKKACiiigAooooAKKKKAFpKKKACiiigApaSloASlopKALtjHulL9kH6mteqtpH5cAz1bk1aoAKKKKACiiigAooooAKSlooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9L3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKhnj82Ip+X17VNRQBzdFW7yPy5dw6Pz+NVaACkpaKAEooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaSiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkooAWikpaACpYI/NlVO3U/QVFWpYxbY/MPVun0oAv0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9P3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK9xF5sRUdRyPrWHXSVj3kXlybx91/wCdAFSiikoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaSiigAooooAWkoooAKKKKAFooooAfFH5sgjHfr9K3wABgdBVKyi2R+Yerfyq9QAUUUUAFFFFACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/1PcaSlooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqKaISxmM/h7VLRQBzhBUlWGCOKK0b2D/AJbr2+99KzqAEopaSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilpKACiiigAooooAKWkooAKKKKACiiigAooooAKKKKAClpKWgAqe3h86Tafujk/wCFQAEnA6ngCty3hEMYXv3oAmpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACikpaACiiigAooooAKKKKACiiigAooooA/9X3GiiigAooooAKKKKAEpaKKACiiigAooooAKSlooAKKKKACiiigAooooAKKKKAEpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBMdqxLiHyHwPun7v+FblRSxLKmxv/ANVAGDRTnRo3Mb9RTKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKKAFopKtW0HnNlvuL19/agCxZQf8t2/wCA1pUlLQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//W9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK1xbideOGHQ1ikFSVYYI7V0dYGpS+VdqD90pz+dAEVFAwRkdKWgBKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSigAooooAKKWkoAKKKZJIsS5P4CgCxDC0z7F4Hc+grcRFjQIgwBWbpDM9uzN1Ln+latABRRRQAUlLRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//X9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACua1f/j6X/rn/WulrmtW/wCPwD0jH8zQBRilMfB+76elXwQRkdKzKkjkMZ9V9KAL9LSAhhlelLQAlFLRQAlFFFABRRRQAUUUUAFFFFABS0lFABRRRQAUUUUAFFFFABRRS0AJRRRQAUUUUAFLRUckixj37CgAkcRjJ/AVnszOdzUrEsdzdaTFAHQ6P/x6t/vn+la1ZGjf8e7j/bP8hWvQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUtFFABRRRQAUUUUAf//Q9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBKWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5bUjm9f2Ciuprk7w7ruU/7WPyAFAFWlxS0UAKjmM5HT0q8rK4ytUKVSUOVoA0KSmJIHHHB9KkoASilooASiiigAooooAKKKKACiiigAoopaAEooooAKKKKACiiigAooooAWkparyTY+VOvrQA+SUR8Dr/KqRyTk9aWigBtFOooA2tGP7uVfRgf0H+FbVYWjnDyr7Kf51u0AFFFFABRRSUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//R9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACikpaACiiigApKWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKSloAKKKKACuNZt7s/8AeYn8zXWTv5UDyf3VJ/SuSAwAPSgAop1FACUYpaKAE6dKsJL2f86gooAvUVURynHb0qyrK3T8qAFopaKAEooooAKKKKACiiigAopaKAEopaSgApaKSgApaKKACkJCjJ4FRtIF4HJquxLHLUAOeUtwvAqLFOooAbRTqKAG0U6igC9pZ23eP7yEfliuirlrRtl1E3+1j8xiuqoAKKKKACikpaACiiigAooooAKSlooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopKAP//S9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaKACiiigAooooAKKSloAKKKKACkJAGTwKjklWJct+ArMkkeU5bp2HYUAOv7lGt2jTvgZrFq5c9FFVaAG0U6igBtFOooAbRTqKAG0tLRQBIspH3ualDK3Sq1FAFuiq4dh708SL34oAlpKAVPSloASilooASloooASloppZR3oAdRURkH8IqMsx60ATM6r/APWqBnZuOg9KTFFADcUU6igBtFOooAbRTqKAG0UtLQA3kcjqMEfhXURXEcmB0Poa5itCPmJc+n8qAN+isyK5aP5X5X9RWipDAMvIoAdRSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//T9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqOSRYk3H8BTbi4htYWnnbaiDk/0/oBWbJI0rZYbcdF9KAEdmdtzdf5U2iigCrcfeUe1V6sT/fH0qCgBKKdRQA2inUUANop1FADaKdRQA2inUUANopaKAExS8jpxRS0AG5vWl3tSUUALvf1pNzetJS0ANoxS0tADaKWloAbRTqSgBKKdRQA2inUUANoxTqSgBKKWigBMVcg/wBUPxqpVuD/AFf40ATVLDKYT/snqKiooA2gQRkdKWsYXqWUe+fiIEAt/cB4yfbPX0+lbFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9T3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKazKilnIVQMkngAClrzXxNrv25zptm37hDiRh/GR/CP8AZHf1+nUA0Y786/q++P8A48rH50H9+Q8Kx+nJUe2fpv1h+HbcQaWkhHzXDGQ/T7q/oK3KACiiigCrP98fSoqnmHI+lQ0AJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0UAJSU6igBKsw/c/Gq9WYf9XQBLRRRQA1lR1Mcg3IwKsPUHgj8qxND1RtPu28Pag2RG2y3kPdf4VP4Y2/l6Vu1xfiu2HmwXeOJFMTfVeV/T+VAHp1LXGeGdfN2Bp182Z1HyOf+WgH/sw/Uc+tdnQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9X3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAWiiigAooooAKKKKACiiigAooooAKSiuJ8R+I/I3adpzfvekkg/g9h/tfy+tAEPibxB97S7Buek0i9v8AYHv6+nTr04LaduyMcn5VH14FKAAMDpWhpUQm1S0iPTzVJ+i/N/SgD0xIlgRYE+7EoQfRRj+lLR15ooAWiiigCCbtUNWJR8v0qCgBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKKWigBKtR/6sVWq2owoHtQAtFFFABWN4gh87SJj3i2yj/gJwf0JrZqKaLz4JLf/npGyfmuKAPKMlSGUlWUgqRwQR0I+len+HdeXU4/s11hbqMc9g4H8Q/qO30ryxDlAT6CpY3khkWaFijocqw6g0Ae7UVzug69FqsXlS4S5QfMnYj+8vt7dvyroaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//W9xooooASloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpGZUUsxAAGSTwAK8313xO15mz0xisPRpRwX9l9F9+/bigC/4g8TbN2n6W3zfdkmH8P8Asr7+/b69OBAAGBQAAMDgCigArc8OJu1eM/3I5G/8dx/WsOuj8Lj/AImMp9ID+rKKAO6paKKACiikoAa4yhqvVr2qr7UAJS0UUAJRS0UAFFFFACUUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJS0UUAFFFFABSUtFABRRRQAlLRRQAlLRRQAAZ4q3VdB8w9qsUAFFFFABTk4dT7im0UAeTTx+VPLF/ckdfyYio6u6oNuqXa/9Nn/nVKgB0ckkMizQsUdDlWXqDXp+g+IY9TUW1ziO6A6dnA7r/UdvpXl1AyCGUlSpBBHBBHQjHSgD3elridB8TicrZaoQsvRJeiv7HsG/Q/pXbUAFFFFABRRRQAUUUUAFFFFABRRRQAlLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9f3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKSloAKKKKACiiigAooooAKKKKACiio5JY4UMszBEXqWOAKAJKY7pEjSSEKqjJJ4AArjNR8b6fBmPTkN0/wDe+7GP+Bd/wGPeuLu9Z1TVQTeS4jPSJBtT8up/E0Aaeu6/LqzG3gyloOg6GT3b29F/P0HO0tFABRRRQAldN4V/4/Zz/wBMR/6GK5qul8K/8ftwP+mI/wDQxQB3FFFFABRRRQAlQOMNViopB0NAEVFLRQAlFLRQAlFFLQAlFLSUAFFLRQAlFLRQAlFLRQAlFLRQAlFLRQAlFFLQAlFLSUAFFFLQAlFLSUAFFFLQAlFLRQAlFLRQBJGOp/Cpaagwop1ABRRRQAUh6UtJ2oA801j/AJC95/11P8hWdWhq/OrXn/XZv6Vn0AFFFFACEAjB6V2vh3xG8LJp2otmM/LFKf4T2Vvb0P4VxdGARg9KAPd6WvH7LxPq+mEIWFzD2SX7w9g/X8wa7rTfFek6htjZ/s8x/wCWcuFz/un7p/Dn2oA6aikpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKSsPUvEWk6XlJ5d0o/5ZR/M/5Dp+OKAN2qN7qNhpsfm30yxL2yeT9B1P4CvNNQ8Z6ndZSyUWkfrw0n/xI/I/WuSdnkkM0rF5D1djlj+JoA7/AFHxyxzHpMH/AG0m4/JBz+ZH0riLy9vNRfzL+ZpiOgb7o+ijCj8qrUUAOVd7Bau8DgVFEu1c9zUtABRRRQAUUUUAFdF4WONRlX1gP6Mtc7W54bbbqyj+9FIP0B/pQB6DRRRQAUUUUAFNYZXFOooArUU5hg4pKAEopaKAEopaSgAooooAKKWkoAKKKKACiiloASiiloASilooASiiloASiiigAooooAKKKWgBKKKKACilooASlAycUU+Mc5oAlopKKAFooooAKB6UU5PvqPcUAeV6id2pXbes8n/oVVKfK/mTSSf3pHP5saZQAUUUUAFFFFADWXcu38qpEAjaw/Cr9V5lwd4oAv6drmq6XhbSYmMf8spPmT8O6/gRXdad43sJ8R6ihtX/AL33o/zHT8QB715fRQB9BxSxTRrLCyujDhlIII9iKkrwCzvLzTn8ywmaAnqF+6fqp+U/lXcad45ZcR6rB/20h/qh5/In6UAej0VRsdRsdRj82xmSVR12nkfUdR+NXaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0fcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopKKAFoqpd31nYRedeypCnqxx+A9foK4fUPHSDMekw7/8AppL8q/gv3j+O2gD0FmVFLOQqgZJPAArkdQ8Z6VaZjs83cg/558IPq/T8s15pfajf6mc38zSjsnRB9FHFU6AN3UPEusallXl8iI/8s4fl/NvvH9B7VgqqqMKMfSlooAKKKKACpI03Nz0FR1cRdi4oAfRRRQAUUUUAFFFFABWpobbNYtfdin/fSkVl1Ys5PJvLeb+5LGf/AB4UAeqDpS0pG1ivocUlABSUUUAFLSUtAEbjjNR1PjPFQdOKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKmUYXFRqMmpqACikpaACiiigAo3BAZD0UFvyGaKo6nJ5OmXUn92F8fiMD+dAHlsf+rU+wp9AGBj04ooAKKKKACiiigApCARg9KWigCiRtO09qSrEy8bx2qvQAUUUUAKjPFIJoWMci9HQ7WH4iut07xnqdpiO9UXcY78JIPy+U/kPrXI0UAe1ab4i0nVCI7eXbKf+WUnyv+A7/hmt2vnYqrDDAEVvaf4k1jTcJHL50Q/5ZzfN+TfeH6j2oA9qpa4/TvGml3WI7zNnIf7/ACn4OOPzxXXKyuodCCpGQR0xQA6iiigAooooAKKKKACiiigApKWigAooooAKKKKACikpaACiiigAooooAKKKKACiiigD/9L3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiimsyopZyAAMkngAUALRXI6h4z0q0ylpm7kH/PPhPxfp+Wa4XUPE2sajlGl+zxH+CH5fzb735YHtQB6dqXiDStKylzMDIP+WSfM/wCQ6fjgVwmoeNdRucpp6C1T+8cPJ/8AEj9a41VVRhRiloAdLJLPL59w7SyH+NzuP6/yFNoooAKKKKACiiigAooo9hQBNCuTuPQVZpqrtUKKdQAUUUUAFFFFABRRRQAlNfIQ46gcfhT6PagD1wOJVWUdHUN+YBpaztHk87SbR/8ApkF/74+X+laNABRRRQAUlLRQAVE471LSEZGKAIKKOnFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSqMnFAEiDA+tPoooAKKKKACiiigArE8RPs0eUf8APRo0/Ns/yFbdcv4rkxa20P8AflLfgi4/9moA4qiiigAooooAKKKKACiiigA46VSZdjbfyq7UUq5XI6j+VAFWiiigAooooAKKKKACrljqF/pjbtPmaId0HKH6qePyxVOigD0TTvHSHEeqw7P+mkPzL+K/eH4ZruLO+s7+LzrKVJU9VOcex9PpXgdOieSCUT27tFIOjodp/MUAfQtFeU6f411G2wmoILpP7y4SQf8Asp/8dru9N8Q6TqmEtpQsv/PJ/lf8j1/DIoA26KSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//0/caKKKACiiigAooooAKKKKACiiigAooooAKKKKACiisPUvEOk6XlLiUNKP+WUfzP+Q6fjgUAblU7y/stPi869lSFPVjjPsB3+grzTUPGupXOUsEW1T+8cPJ/wDEj9a5GR5JpTPO7SSH+NzuP5mgD0LUfHSjMekw7/8AppL8q/gn3j+O2uHvtQv9TOdQmaUdk6IPoo4qnRQAUUUUAFFFFABRRRQAUUUUAFFFFABU8K87/TgVCAScDvV0AKAo6CgBaSlooAKKKKACiiigAooooAKKKKAO98Myb9LMf/PKV1/BsMP510Fcf4Tl+a6t/ZJB+GVP9K7CgAooooAKKSloAKKKKAI3Heo6nqEjBxQAlFFFABRRRQAUUUUAFFFFABRRRQAUUlLQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVMowKjQZPsKmoAKKSigBaKKKACiiigAriPFUm69gh/55w5/77b/AAWu3rzjXZPN1i4x0QrGP+AKB/OgDJooooAKKKKACiiigAooooAKKKKAKci7GwOnamVbkXcvHUdKqUAFFFFABRRRQAUUUUAFFFFABTSqsMMARTqKAN3T/Eus6dhEl8+Mf8s5vm/JvvD9R7V3OneNNLusR3ubOQ8fPyn4OOB+OK8pooA+hEdJFDxkMpGQR0Ip9eBWV/faa27T5mh9VHKH6qfl/Su30/x0RiPVYMf9NIeR+KHkfgT9KAPRqKo2Oo2Oox+bYzJKo67TyPqOo/Gr1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9T3GiiigAooooAKKKKACiiigAooooAKKqXl7aafCbi8lWJB3Y4/Aep9hXCah466x6TBn/ppNwPwQc/nj6UAehu6RqXchVUZJPAArkdQ8aaXa5jsgbtxx8nEf/ffT/vkGvM72/vdSbdqEzTY6KeEH0UfL+lVaANzUPEms6jlHl8iM/8ALOH5fzb7x/Qe1YKqqjCjA9qdRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUqjcQooAnhX+P8AAVPSAADA6CloAKKKKACiiigAooooAKKKKACiiigDc8NyeXqyp/z1jdP03D/0GvQa8t0+b7PqFtP2SVM/QnB/Q16kRtO304oAKKKKACiiigAooooASkZcinUUAV6Kkde4qOgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKOvAoqVFwM0AOAAGKKWigApKWkoAKWiigAooooAcuNwB6V5HLL580lwf+Wrs/8A30c16ffzfZrC4n6bImI+uMCvLANoC+gxQAtFFFABRRRQAUUUUAFFFFABRRRQAVUlXa3HQ1bpjruXHftQBTooooAKKKKACiiigAooooAKKKKACiiigAooooAELRyCaJiki9HQ7WH4ius0/wAZaraYS7C3cY9fkkH4gYP5D61ydFAHs+m+JtI1MiKKXy5T/wAspflb8Ox/Amt+vncqGG1gCPStrT/EGsaZhbebzIx/yzm+dfwP3h+Bx7UAe3UtcXpvjXTrnEeoKbN+mWOY/wDvrt+IFdkrK6h0IKkZBHTFADqKKKACiiigAooooAKKKKACiiigD//V9xooooAKKKKACiiigAoopKACuM13xdDp7NZ6eBNcLwxP+rjPocdT7D8cVQ8U+JmRm0rTHww4mlX+H/YX39T26dennQAUbVGAKAJ7m5ub2b7TeSNNJ/ebsPRR0UewqGiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACrEK4G716VAq7mC1e4HAoAKKKKACiiigAooooAKKKKACiiigAooooAa2dpx1xxXrcMouIY7gdJUV/wDvoA15NXougS+bo8HrHuj/AO+Tx+mKANiiiigAoopKAFopKWgAooooASomXH0qakx2oAgopWG2koAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopyrn6UAKi9zUtFFACUtJS0AFFJRQAtFFFABRRRQBheJJfL0lk/56yIn4feP/AKDXn9dd4rl/49bcf7ch/RR/WuRoAKKKKACiiigAooooAKKKKACiiigAooooAqyrtbI6GoquOu9cflVOgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtPS9Y1DRnzZP+77wt/qz9B/CfcfkazKKAPatF1+y1qP9z+7mQZeJvvD3HqvuP06Vu189wyzW8yXFu5jljOVZeo/+t7dK9f8O+II9ZgMcoCXUQ+dB0I/vL7fy6elAHS0UUUAFFFFABRRRQAUUUUAf//W9xooooAKKKKACiiigArk/FWtnS7QW9qcXNwCFP8AcUdW/oPf6V1LukaGRyFVRkk9ABXhOpag+q38t+/SQ4jH92MfdH9T7mgCgAAMCloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopyruYLQBPCuF3ev8AKpqPYUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFdn4Ulzb3Nv/AHHVx9GXH/stcZXQ+GJfL1Jou0sLD8Uww/TNAHeUUUUAFFFFABRRRQAUUUUAFJS0UAJgEYqErtqej2oAr0U4rt+lNoAKKKKACiiigAooooAKKKKACiiigAooooAKKKcq5+lAAq5+lTfSk9qWgAooooAKKKKAEpaKKACiiigAoopVG5gvrgUAee+I5fM1Z07Qxon6bj/OsOrF5N9pvZ7jtJKxH0zgfoKr0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFVZV2tuHQ1aprLuXb+VAFKiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACpra5nsriO8tDtliOV9PcH2I4NQ0UAe7aXqMGq2Md7BwHHK91YcFT9K0a8k8HambLUvsMhxFd9PQSAcf99AY/AV63QAUUUUAFFFFABRRRQB//1/caKKKACiiigAooooA5DxpffZtI+yocNdsI/wDgHVv0GPxryeuu8a3Xn6ulsD8ttEOPRpOT+gWuRoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKej7D0zTKKALayI3fH1qSqFOV2X7p/CgC7RUCzD+IY+lTAhvu0ALRRRQAUUUUAFFFFABRRRQAUUUUAFXtLm+z6nazHgCVQfo3yn+dUaa2dp29ccfUdKAPX8Y4PbiimRyi4iS4XpKiuP8AgQBp9ABRRRQAUUUUAFFFFABRRRQAUUUUAFRMmOR0qWigCvRUjJnkVHQAUUUUAFFFFABRRRQAUUUUAFFFSKnc0AIq55PSpaKKACiiigAooooAKKKKACiiigAooooAKguZvs1rNc/88o2b8QOKnrE8RS+VpEi95WSP8M5P6CgDztRtUL6CnUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU0sq9TUJm/uj86ALFRGVB05+lVixb7xzSUAKx3HOMUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABl1w8R2upDIfRl5H5GvedNvE1Gwgvo+BMgbHoccj8DxXg1en+BbrzNOmsyebeU4Hor/MP1zQB3FFFFABRRRQAUUUUAf/Q9xooooAKKKKACkpazdYu/sGl3N4ODHExX/ex8v64oA8X1O6+26ldXYORJK20/wCyvyr+gFUqaq7FCf3QB+VOoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAlWVh15qZZUPt9aqUUAX6KpKzL904qzG7OORx60ASUUUUAFFFFABRRRQAUUUUAei+H5fN0iAd4t0R/4CeP0IrYrlPCkuYrm2/ussg/4ENp/kK6ugAoopCQBk8UALR0qFpf7oqEknrQBYMqjpzUZlbsAKiooAf5j+tG9/WmUUASCVh1wakEqnrxVeigC7RVNWK/dqwkitweDQBJTSoNOooArkYODRU5AIwahK7fpQAlFFFABRRRQAUAZ4FKATwKmAA4FACKoWnUUUAFFRPKF4Xk1AWLfeoAnMqjpzUZlftgVFRQA7e/qaN7jvTaKAJRMw64NSCVD14qtRQBe7cUVSBK/d4qZZh0b9KAJ6KByMiigArkfFcvFrbD/AG5D+ij+tddXnviKXzdWdO0KJH+m4/qaAMSiiigAooooAKKKKACiiigAoqF5GTgL+NQFi33jQBYMqDpz9KhaVz7D2qOigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArrvBN15GsNbE4W4iIx/tRnI/QmuRq5pt19h1G1u84Ecq7v90/K36GgD3uikpaACiiigAooooA//9H3GiiigAooooAK4rxzc+VpUdqDzcSqCP8AZT5z+oFdrXlPje583VYrUHi3iz9GkP8AgooA46iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiilAJOFGaAEpyqzcKKmWEfx/lU/QYFAESxKvXk/pUtFFABRRRQAUUUUAFFFFABRRRQBveGpfL1UR9po2T8R8w/lXf15VaT/ZbyC5/55SKx+mcH9K9NkY7ivQDigB7SAcLz/KoCSeTSUUAFFFFABRRRQAUUUUAFFFFABRRRQBKkhXhuRVjgjIqlTkcp9PSgC3RSAgjI6UtAELLt+lNqxjtUBXacUAJSqN1CjccVOAAMCgAAAGBRRSEhRk9KADgDJ4FVnlLcLwKa7lz7dhTaACiiigAooooAKKKKACiiigAooooAcpK/d4qdJVPB4P6VWooA0FGWANeTXE32m5luf+esjN+BPH6V6FeXTWthcSj+GJsfUjA/nXmwG0BfQYoAWiiigAooooAKKKKACiiigA9qgaEdU49qnooAokFeCMUlXiAwwRxVdoSOU59qAIaKPaigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmsu9SnqMU6igD3PRbv7fpNrdnlpIl3f7wGG/WtSuJ8C3XmaZLaE828pwPRX+Yfrmu2oAKKKKACiiigD/0vcaKKKACiiigBK8J1e5+2atd3OchpSq/wC6nyD9Fr2jU7v7Bp1xef8APGNmH1A4FeCouxAvoMUAOooooAKKKKACiiigApKWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKPanIu5tvSraqqD5RQBAsJ/j49qsABRhRgUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACEblK+oxXpNnN9os4Lj+/GpP1xg/qK83rtvD0vmab5f/PKRl/A/MP50AbVFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADkYofarQwRkVTqSN9hx2oAs01hkYp1JQAAbRilpRzRQAhIUZPQVTdy5z27ClkfeeOg6UygAooooAKKKKACiiigAooooAKKKKACiiigAooooAw/EMmzTxF/z1kUfgvzH+QrjK6LxJLm4gg/uIXP1Y4H6LXO0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUANZFfqKrNEy8jkVbooAoUVbaJW9jVXGOPSgBKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDr/AATc+Tq8lsThbiLj/ejOR+hP5V6xXgumXX2HUrW8zgRyrn/db5W/Q17zQAtFFFABRRRQB//T9xooooAKKKKAOM8cXPlaQtsOtxKq4/2V+c/+ggV5XXZeOLrzdTgtB0gi3H/ekP8Agv61xtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAAO0gjtV/6VQq1Ccpj0oAlooooAKKKKACiiigAooooAKKKKACiiigAooooAK6Tw1Lia4t/7yK4+qnB/Q1zdaWjy+TqkB7OTGf8AgYx/PFAHfUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAE8TfwH8KmqlVpG3LmgB461BM/8A/H/CpT04qnQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFG9YwZW+6gLH6KM/wBKAOB1eXztUnYdFbyx9EGP51nUbi/zt1b5j9TzRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAMdtqE1TqeY8hfSoKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAay70KeoxXu2jXf2/Sra7JyZI1Lf72MN+teF16h4FuvM02WzJ5t5Tgeiv8w/XNAHb0UUUAFFFJQB//9T3GiiigApKWs/Vbv7Bptxed4o2YfUDgfnQB4zq9z9s1a7ueoaUqv8Aup8g/QVnU1F2IF9BinUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU+Jtrj0PFMooAv0UxG3KDT6ACiiigAooooAKKKKACiiigAooooAKKKKACjc0eJF6oQw+q80UUAeoblfEifdYBh9CM0Vm6PL52lwHugMZ/4AcfyxWlQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFPRtpz2plFAFuqrDDEVPGcrt9KilGGoAjooooAKKKKACiiigAooooAKKKKACiiigAooooAKzNZl8nS5yOC4EY/wCBnH8s1p1zXiSXEVvbj+JmkP0UbR/OgDlaKKKACiiigAooooAKKKKACiiigAooooAKKKKACjgdaKimOF2+v8qAKxO4lvWkoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArrvBN15GsPbE4W4i/8ejOR+hNcjVvT7r7DqFteZwIpVJ/3T8rf+Ok0Ae+UUlLQAUUUUAf/9X3GiiigAri/HF15Wkpag83Eqrj/ZT5z/ICu0ryjxvdedqsVqDxbxZ+jSH/AAUUAcfRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBNC2Dt9as1QBxyO1XgQQCOhoAWiiigAooooAKKKKACiiigAooooAKKKKACiiigDrPDUuYZ7f+46uPowwf1FdJXE+H5fL1IR9pY2T8R8w/lXbUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA5TtYGnzDoaiqQ8xfSgCKiiigAooooAKKKKACiiigAooooAKKKKACiiigAriNel8zUmTtEip+P3j/ADruFAJAPSvNJ5vtE8lwf+Wjs34E8fpQBFRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVTkbc/sOKsu2xM/gKp0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFNZQ6lD0IxTqKAPcdCvDf6Pa3THLPGu7/AHhw36itauG8CXW/T57MnmCXIHosgz/PNdzQAUUUUAf/1vcaKKKAErwjVbr7bql1dg5DysF/3U+Rf0Fezavef2fpdzeDgxRsV/3sfL+uK8IVdihPQYoAdRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVYgbjb6VXpyttYN6UAXaKKKACiiigAooooAKKKKACiiigAooooAKKKKAJrab7Ncw3P/PJ1b8M8/pXpZG0lfSvLSNwK+vFejWE32ixgnPVo1z9R8p/lQBbooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACnDoR6im0tADaKSloAKKKKACiiigAooooAKKKKACiiigAooooAp6hN9nsLiYdVjIH1b5R/OvOwMAAduK7HxFLss44f+esn6IM/zxXH0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFISFG70oArzHLbfSoaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDq/Bdz5GtGA/duYiv8AwJPmH6bq9crwKxuvsN9b3nQQyqx/3ejf+Ok175QAtJS0UAf/1/caKKKAOJ8c3XlaXHaA83Eq5H+ynzH9QK8urr/G1z52rx2wPy28X5NIcn9FFchQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFqFsrj+7/ACqWqcbbGB7dKuUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFdl4dl32Lw/88pD+TjI/XNcbW/4cl2XkkB6Sx5H1Tn+RNAHY0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2lpKWgAooooAKKKKACiiigAooooAKKKKACiilAyQo78UAcZ4il33yQ9oox+b8/yxWFVq+mFzezzjoznH0Hyj9BVWgAooooAKKKKACiiigAooooAKKKKACiiigAqCZuiD61PwBk9BVEnJ3HvQAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAhUMpU9CMV7hoF39u0a1uTyxjAb/eX5W/UV4hXpngO532NxZn/ljLuH+7IM/+hA0Ad3RRRQB//9D3GkpazNZvP7P0q5vBwY42K/72ML+uKAPGdTuvtup3V3nIklbaf9lflX9AKo01V2IE9AB+VOoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAq3E25PpxVSpIm2t7HigC3RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVrT5xbX9vOeiuAfo3yn9DVWkYZUgelAHqJG07fTiioLab7TbRXH/AD0RW/HHP61PQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADaWkpaACiiigAooooAKKKKACiiigAooooAKgup/s1rNcf8842YfXHH61PWH4gl8vTxEOs0ir+C/Mf5CgDi1G1QPQUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEMzYAT1qtTmbc26m0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV1Xgy58jW/IPS4iZf+BJ8w/TdXK1Ysrn7Fe2950EMqsf8Adzhv/Hc0Ae/0UlLQB//R9xriPHV15Wmw2inBnlGR/sx/N/PbXb15N42uvO1hLYH5beIcejSHJ/QLQByNFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFyNtyA/hT6qxNtbHY8VaoAKKKKACiiigAooooAKKKKACiiigAooooA7Xw/L5mneV3hdl/A/MP5mtuuR8Ny7bma3/AOekYYfVD/ga66gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAG0tJS0AFFFFABRRRQAUUUUAFFFFABRRRQAVyHiOXddRQDpHHu/Fz/gBXYAZ4Fed6lMLjUJ5R03lV+ifKP5UAU6KKKACiiigAooooAKKKKACiiigAooooAKimbC7fX+VS1SZtzZ/KgBtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFIVDKVPQjFLRQB7d4fuze6LaXDfeMYVv95Plb9RWzXCeA7nfZXFmesMu4f7sgz/MGu7oA//S9wrwbUrn7bqV1dg5EkrbT/sr8q/oBXs2s3n2DSrm7HBjjYr/AL2ML+uK8KVQihPQY/KgB1FFFABRRRQAUUUUAFFFFABRRRQAUUUlAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFXEbcufzqnUkTbWx2NAFuiiigAooooAKKKKACiiigAooooAKKKKALumTC31G3lPTeFP0f5f616HjHB7V5aQdpx17f0r02CYXMEdwP+WqK35igCWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAbS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFAEU8wtoJLg/8skZvyHH615mowoB612+vy+XpxjHWZ1T8B8x/lXFUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUARTNhdvr/KqtOdtzZ7dqbQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB1Xgy58jWvIPS4iZcf7SfMP03V65XgVlc/Yr63vOghlVj/u5w3/jpNe+0Af/0/YtS0631SzeyudwR8fcO0/KQR+o+lec6h4J1G3y+nut0n91sI//AMSf/Ha9VooA+e5opbaXyLmNoZP7rjafw9fwple/XNpa3sXkXcSSof4XAIri7/wLavl9MlMB/uP86fh/EPzP0oA81orUv9E1XTMtdwHyx/y0j+dP05H4gVlAgjKkEe1AC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBcjbcue/Sn1Uiba2Oxq3QAUUUUAFFFFABRRRQAUUUUAFFFFABXbeH5fM00R94XZPwPzD+dcTXReG5ttxNbH+NA4+qHH8jQB11FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2lpKWgAooooAKKKKACiiigAooooAKKKMZ4FAHI+I5d1xDbjpGhc/VzgfoK56rupzC41GeUdN+1fonyj+VUqACiiigAooooAKKKKACiiigAooooAKilbauB3/lUtUnbe2e3agBtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAFFFFACUtFFABRRRQAUUUUAFFFFABRSFlUZYgCtrT/D2salhoIPLjP/AC0m+RfwGNx/LFAGNU1rbXN9J5NlE07DqEGQPqeg/EivSrDwPp8GH1B2um/u/cj/AO+RyfxP4V2UMENvGIbdFjReioAAPoBQB5pY+Bbmdc6rKIkI5ji5bHuxGB+AP1r02NBGixjJCgDnk8U+koA//9T3GiiigAooooASuf1Dwvo2okyPF5Up/wCWkXyN+PY/iDXQ0UAeT3/grVLbLWTLdJ6cI/5H5T+Y+lclLHJbyeRco0Un9xxtP5H+lfQtV7m0tbyPybuJJU/uuoI/WgDwCivTr7wNYS/Np0jWx/un50/I8j8D+FcZfeG9a0/Jkg85B/HB84/754YflQBiUU1WVs7e3X2p1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVyNty57jg1TqSJtrex4oAt0UUUAFFFFABRRRQAUUUUAFFFFABV7S5hb6jbyHgb9h+j/L/AFqjSEHHy9e39KAPUenB7UVFBMLmCO4HSVFf8xUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lFACUUlLQAUUUUAFFFFABRRRQAUUUUAFRTzC2gkuT/yyQt+Q4qWsXX5fL04xjrM6p+A+Y/yFAHErwAD1paKKACiiigAooooAKKKKACiiigAooooAilbau0d/5VVpztvbP5U2gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooppZRgHvwB6/QUAOordsPDOtahhkh8iM/xzfL+S/e/QV2lj4H06DDX7tdN6fcT/vkc/mTQB5nbwT3cnk2cTzOO0Yzj69h+OK6+w8EX8+H1CRbZf7ifO/5/dH616bBbwW0Yht41jQdFQBQPwFTUAYeneHdJ0sh7eENIP8Alo/zP+BPT8MVuUUUAFFFFABRRRQB/9X3GiiigAooooAKKKKACiiigApKKWgDKv8ARNK1Pm9t1duzj5XH/Ahg1xl74EcfNplzn/YmH/syj/2U16RRQB4Ne6VqWm831u8aj+MfMn/fS8D8cVQBBGRyPavoeufvvC+i35LvAIpD/HF8h/Tg/iKAPGaK7e98DXsWW0+dZl/uSjY3/fQ4P5CuSvLG+044v4HgH95h8n/fQyv60AVaKQYIyOlLQAUUUUAFJS0lAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFuJty+44qSqcbbGz26GrlABRRRQAUUUUAFFFFABRRRQAUUUUAdt4fl8zTRH3hdk/A/MP51tVyPhubbczW5/5aIHH1Q/4GuuoAKKKKACiiloASiiigAooooAKKKKACiiigAooooAbS0lLQAUUUUAFFFFABRRRQAUUUUAFcj4jl3XMNuOkabj9XP8AgK64DJwK881GYXF/PMOm8qv0X5R/KgCnRRRQAUUUUAFFFFABRRRQAUUUUAFRTNhdvr/KpapM25t1ADaKKKACiiigAooooAKKKKACiiigAooooAKSlooAKKKKACiiigAooooAKKKTgDJ4FAC0Vas7C+1A4sLd5h/eUYT/AL6OF/WutsvA15LhtQnWEf3Ihub/AL6OAPyNAHDkhRk4ArRsdJ1PUsGytndT/GfkT/vo4z+Ga9XsPDGjaeQ8cAkkH8cvzt+GeB+AFb9AHnNj4EY4bU7j/gEHH/jx/oBXZ2GjaXpg/wBCt0jb+91b/vo81qUUAJS0UUAFFFFABRRRQAUUUUAFJS0UAf/W9xooooAKKKKACiiigAooooAKKKKACiiigAooooAKTAIwaWigDm73wpod7lvI8hz/ABQ/IfyHyn8RXJ3ngW9jy2n3CTD+7KNjfmuQfyFeoUUAeC3mmalp+Te20kSj+LG5P++lyKoKysMqQR7V9EVi3vhzRb8lp7ZA5/jT5G/NcUAeJ0V6Fd+Axy2n3RHoky5/8eXGPyNcxd+G9cs8l7UyqP4oTvH5cN/47QBiUUhIV/Lb5WHVTwR+B5paACiiigAooooAKKKKACiiigAooooAKKKKACiiigAq1E25cdxVWnI2xs9qALtFFFABRRRQAUUUUAFFFFABRRRQBd0yYW+o28p4G8Kfo/y/1r0Ppx6V5aQSCBwe1emwTC5gjuR/y1RW/Mc/rQBLRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0lLSUANpaSloAKKKKACiiigAooooAKKKKAIbicW1vLc/88kLfiBx+teaqMACu08QS+Xp4iHWZwv4L8x/kK4ygAooooAKKKKACiiigAooooAKKKOAMnoKAIZmwNg7/wAqrU5m3HcabQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFNZ1TAYgelADqK1bTQtZvsG3tHCn+KT92v/j3P5Cups/AcrYbULoKP7kA/9mb/AOJoA4AkKMngVcs9P1DUMfYbeSYf3gMJ/wB9HC/rXrtl4Y0Sxw0duruP45fnP4bun4YreoA8vsvA19Lhr+dIF/uxje35nAH5GutsvCmiWWG8jznH8U3zn8j8o/ACukooAQAAYHAFLRRQAUUlLQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9f3GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWigCpdWNnep5d5Cky+jqGx+dczdeCNHm5tvMtj/sNlf++Wz+mK7GigDym68EapDk2ksVwB2OY2/9mH8q5y60vU7HP2u1ljA/i27l/wC+lyK95pKAPndWV/uEH6U6vc7zRtKv+bu1jkY/xFQG/wC+hzXOXXgXTZMm0lltz2Gd6/k3P60AeX0V19z4I1eHJtpIrgDtzG35HI/WufudJ1azz9ptJUA7hd6/mmRQBQopiujHCkE+lPoAKKKKACiiigAooooAKKKKALMLZXb6fyqaqKnaQw7VdBBGR0oAWiiigAooooAKKKKACiiigArtfD8vmacI+8Lsn4H5h/OuKrofDc225mtz0kQMPqh/wNAHX0UUUAFFFFABRS0lABRRRQAUUtJQAUtJS0AFFFFADKWkpaACiiigAooooAKKKKACiilAyQB34oA47xHLuu4oB0ijyfq5/wAAKwKt38/2m+nnHQuQv+6vyj9BVSgAooooAKKKKACiiigAooooAKgmb+AfjUxIUZPaqRJJye9ACUUUUAFFFFABRRRQAUUUUAFFFISFGW4HvQAtFS29vc3nFnDJP/1zQkfn0robbwhrtx9+OO3H/TRgT+SZ/mKAOZpCQBk8CvR7bwFCOb26d/8AZiUIPzO4/wAq6O08M6FZkNHaozD+KT94f/Hs4/CgDxu2t7m84soZJ/8ArmpI/PoK6S18G63cczCO2X/bbc3/AHynH/j1eugADA4ApaAOGtPAunx4N7NJcH0H7tfyX5v/AB6uostJ0zTh/oVvHEfUL834nrWjRQAlLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/0PcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlooAKKKKACkpaKAKV1pun33/H5bxTdvnQH+lc9ceCtDl/1KyW//AFzc4/Jtw/SuuooA80uPAdwvNndq3osqY/Vf/iaw7jwrr9v/AMu4mA7xOD+jbTXs9FAHz7Pb3Np/x9wyw/8AXRGUfmRioVZW+4QfpX0PWXc6Ho95k3NpC5P8WwA/mOaAPDaK9Xn8E6JJ/qfNg/3HJH5PuFY83gKQZNrej2Ekf9VI/lQBwFFdRN4O12H7iRTf7j4P5MAP1rIm0bWLY4msphj+6u8f+ObqAM6p4W/g/KqzOqHbIdh9G+U/kcU8Hoy9qAL1FIrBhkUtABRRRQAUUUUAFFFFABVzTpxbahBMfuhwp/3W+U/zqnSMMqQKAPUcYOD24oqC1n+1WsNz/wA9EVj9cc/rU9ABRRRQAtJRRQAUUUtACUUtFABSUtFACUtFFADKWkpaACiiigAooooAKKKKACq93P8AZbWa5/55oSPrjA/XFWKwvEMvl2KwjrNIB+Ccn+lAHGAYAHpS0UUAFFFFABRRRQAUUUUAFFFIzBF3UAQTNzsHaoKXk1G0ka8MwH40APoqxDaXlzzbW80o9UjYj88YrWh8L6/Ngi18sHvI6r+gJP6UAYNFdrB4F1J/+Pi4hiH+wrP/APEVsQeA9PUD7TcTSH0Xag/QZ/WgDzKkRhI3lxfO391BuP5CvaIPC2gW5ytojn1kzJ/6FmtuKGKBPLhRUUdlAA/IUAeJQaDrdz/qbKUD1fEY/wDHiD+lbtv4H1WTBuZoYB7ZkP8A7KK9UpaAOGt/AmnJg3U80x9AQi/+OjP61v2vh7RLM5gtItw/iYb2/NsmtqigBMCloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/0fcaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaKAI3ijlXZIoZfQjIrIm8OaFcf6yyhHuqhD+a4rbooA5N/BmjHiHzYR/syE/+hbqz5fBCf8sLth7Ogb+W2u8ooA80k8Gamv8AqpoXHvuT+jVnyeGddj6W4f8A3HX/ANm2163RQB4tJpWqxcSWcw+ibv8A0HNUJA0PEytH/vqV/mBXu9FAHgokjP3WU/Qin17dLZWc/wDr4Y5P95Qf6VQk8PaJL96zhH+6oX/0HFAHkFFepv4S0Nh8sLJ/uyOP61UbwXph+7LOv0YH+amgDL8PS+Zp5hPWGQj8G+Yf1rcpbDwzHpzyNDcOwkABDhe3ToBWidNftIP++f8A69AGbRV/+zp+zL+tN+wXA/u/n/8AWoAp0VZ+xXI/hH50n2S5/wCef6igCtS1N9luR/yzP6UnkT/882/KgCKipPJm/wCebflSeVN/zzb/AL5NADKKf5Uv/PNv++TR5cv/ADzb/vk/4UAMop/ly/8APNv++T/hR5Uv/PNv++TQBDS0/wAmb/nm/wD3yaXyZv8Anm35UAR0VKLe4/55t+VOFrcn/lmf0oAgoqz9juv+ef6il+xXX9wD8RQBVoq6LC5/2R+P/wBanDTp/VR+f+FAFCuO8RS772OAdIox+b8/yAr0Iaa/eQD/AID/APXrDuPCH2q6kuZbth5jZwqAYHQDnPQCgDzuivRV8FWA+/cTn6FB/wCy1ZTwfo6/f81/rIR/6DigDzHFISF64Fesp4X0JP8Al1U/7zM38zV6PR9Ji/1dnAuPSNf8KAPFhJGTgMCfQc/yq3HZ3swzDbTOP9mNsfyxXtqRpGNsahR6AYp1AHj0Wg63KPks3H+8VX+Z/pV+LwjrUg+YQx/7zk/yWvUqWgDzyLwTcEZmu1X2SPP6lv6VfXwRpxx580747Aqo/Rc/rXaUUAc3F4S8PxYP2UPj/nozP+jEiti30+xtP+PW3ii/3EC/yFXKKAEopaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0vcaKKKACiiigBKWkpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBKWiigAooooAKKKKACiiigAooooAKSlooAKKKKACiiigAooooASloooASloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEpaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEpaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9k=", "src/components/ResumeAssistant.tsx": "import { useEffect, useRef, useState } from \"react\";\nimport { Send, X, Briefcase, UserCheck } from \"lucide-react\";\nimport { Streamdown } from \"streamdown\";\nimport { Store } from \"@tanstack/store\";\n\nimport { useResumeChat } from \"#/lib/resume-ai-hook\";\nimport type { ResumeChatMessages } from \"#/lib/resume-ai-hook\";\n\nfunction Messages({ messages }: { messages: ResumeChatMessages }) {\n const messagesContainerRef = useRef(null);\n\n useEffect(() => {\n if (messagesContainerRef.current) {\n messagesContainerRef.current.scrollTop =\n messagesContainerRef.current.scrollHeight;\n }\n }, [messages]);\n\n if (!messages.length) {\n return (\n
\n
\n \n \n
\n

\n Welcome, Recruiter!\n

\n

\n Ask about skills, experience, or qualifications...\n

\n
\n );\n }\n\n return (\n
\n {messages.map(({ id, role, parts }) => (\n \n {parts.map((part, index) => {\n if (part.type === \"text\" && part.content) {\n return (\n
\n {role === \"assistant\" ? (\n
\n \n
\n ) : (\n
\n You\n
\n )}\n
\n {part.content}\n
\n
\n );\n }\n return null;\n })}\n
\n ))}\n \n );\n}\n\n// Export store for header control\nexport const showResumeAssistant = new Store(false);\n\nexport default function ResumeAssistant() {\n const [isOpen, setIsOpen] = useState(false);\n const { messages, sendMessage, isLoading } = useResumeChat();\n const [input, setInput] = useState(\"\");\n\n // Sync with store for header control\n useEffect(() => {\n return showResumeAssistant.subscribe(() => {\n setIsOpen(showResumeAssistant.state);\n });\n }, []);\n\n const handleToggle = () => {\n const newState = !isOpen;\n setIsOpen(newState);\n showResumeAssistant.setState(() => newState);\n };\n\n const handleSend = () => {\n if (input.trim()) {\n sendMessage(input);\n setInput(\"\");\n }\n };\n\n if (!isOpen) return null;\n\n return (\n
\n {/* Decorative top gradient */}\n
\n\n {/* Header */}\n
\n
\n
\n \n
\n
\n

\n Resume Assistant\n

\n

Candidate Evaluation AI

\n
\n
\n \n \n \n
\n\n {/* Messages */}\n \n\n {/* Loading indicator */}\n {isLoading && (\n
\n
\n
\n \n \n \n
\n Analyzing experience...\n
\n
\n )}\n\n {/* Input */}\n
\n {\n e.preventDefault();\n handleSend();\n }}\n >\n
\n setInput(e.target.value)}\n placeholder=\"Ask about skills, experience, or qualifications...\"\n disabled={isLoading}\n className=\"w-full rounded-2xl border border-blue-500/20 bg-slate-800/50 pl-4 pr-12 py-3 text-sm text-slate-100 placeholder-slate-300/30 focus:outline-none focus:ring-2 focus:ring-blue-500/40 focus:border-transparent resize-none overflow-hidden disabled:opacity-50 transition-all\"\n rows={1}\n style={{ minHeight: \"48px\", maxHeight: \"100px\" }}\n onInput={(e) => {\n const target = e.target as HTMLTextAreaElement;\n target.style.height = \"auto\";\n target.style.height = Math.min(target.scrollHeight, 100) + \"px\";\n }}\n onKeyDown={(e) => {\n if (\n e.key === \"Enter\" &&\n !e.shiftKey &&\n input.trim() &&\n !isLoading\n ) {\n e.preventDefault();\n handleSend();\n }\n }}\n />\n \n \n \n
\n \n
\n
\n );\n}\n", "src/components/ResumeAssistantButton.tsx": "import { Briefcase, ChevronRight } from \"lucide-react\";\nimport { showResumeAssistant } from \"./ResumeAssistant\";\n\nexport default function RemyButton() {\n return (\n
\n showResumeAssistant.setState(true)}\n className=\"w-full flex items-center justify-between px-4 py-2.5 rounded-lg bg-linear-to-r from-blue-500 to-purple-800 text-white hover:opacity-90 transition-opacity\"\n aria-label=\"Open Resume Assistant\"\n >\n
\n \n Resume Assistant\n
\n \n \n
\n );\n}\n", "src/components/ui/badge.tsx": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"#/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n \n )\n}\n\nexport { Badge, badgeVariants }\n", "src/components/ui/card.tsx": "import * as React from \"react\"\n\nimport { cn } from \"#/lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n", "src/components/ui/checkbox.tsx": "import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon } from \"lucide-react\"\n\nimport { cn } from \"#/lib/utils\"\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n \n \n \n \n )\n}\n\nexport { Checkbox }\n", "src/components/ui/hover-card.tsx": "\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"#/lib/utils\"\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps) {\n return \n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps) {\n return (\n \n \n \n )\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n", "src/components/ui/separator.tsx": "import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"#/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nexport { Separator }\n", "src/lib/resume-ai-hook.ts": "import {\n fetchServerSentEvents,\n useChat,\n createChatClientOptions,\n} from '@tanstack/ai-react'\nimport type { InferChatMessages } from '@tanstack/ai-react'\n\n// Default chat options for type inference\nconst defaultChatOptions = createChatClientOptions({\n connection: fetchServerSentEvents('/api/resume-chat'),\n})\n\nexport type ResumeChatMessages = InferChatMessages\n\nexport const useResumeChat = () => {\n const chatOptions = createChatClientOptions({\n connection: fetchServerSentEvents('/api/resume-chat'),\n })\n\n return useChat(chatOptions)\n}\n", "src/lib/resume-tools.ts": "import { toolDefinition } from '@tanstack/ai'\nimport { z } from 'zod'\n\nimport { allJobs, allEducations } from 'content-collections'\n\n// Tool definition for getting jobs by skill\nexport const getJobsBySkillToolDef = toolDefinition({\n name: 'getJobsBySkill',\n description:\n 'Find all jobs where the candidate used a specific technology or skill. Use this to check if the candidate has experience with particular technologies.',\n inputSchema: z.object({\n skill: z\n .string()\n .describe(\n 'The skill or technology to search for (e.g., \"React\", \"TypeScript\", \"Leadership\")',\n ),\n }),\n outputSchema: z.array(\n z.object({\n jobTitle: z.string(),\n company: z.string(),\n location: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n summary: z.string(),\n tags: z.array(z.string()),\n content: z.string(),\n }),\n ),\n})\n\n// Server implementation\nexport const getJobsBySkill = getJobsBySkillToolDef.server(({ skill }) => {\n return allJobs.filter((job) =>\n job.tags.some((tag) => tag.toLowerCase().includes(skill.toLowerCase())),\n )\n})\n\n// Tool definition for getting all jobs\nexport const getAllJobsToolDef = toolDefinition({\n name: 'getAllJobs',\n description:\n 'Get a complete list of all work experience with full details including job titles, companies, dates, summaries, and skills. Use this to get an overview of the candidate\\'s entire work history.',\n inputSchema: z.object({}),\n outputSchema: z.array(\n z.object({\n jobTitle: z.string(),\n company: z.string(),\n location: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n summary: z.string(),\n tags: z.array(z.string()),\n content: z.string(),\n }),\n ),\n})\n\n// Server implementation\nexport const getAllJobs = getAllJobsToolDef.server(() => {\n return allJobs.map((job) => ({\n jobTitle: job.jobTitle,\n company: job.company,\n location: job.location,\n startDate: job.startDate,\n endDate: job.endDate,\n summary: job.summary,\n tags: job.tags,\n content: job.content,\n }))\n})\n\n// Tool definition for getting all education\nexport const getAllEducationToolDef = toolDefinition({\n name: 'getAllEducation',\n description:\n 'Get a complete list of all education history including schools, programs, dates, and skills learned. Use this to understand the candidate\\'s educational background.',\n inputSchema: z.object({}),\n outputSchema: z.array(\n z.object({\n school: z.string(),\n summary: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n tags: z.array(z.string()),\n content: z.string(),\n }),\n ),\n})\n\n// Server implementation\nexport const getAllEducation = getAllEducationToolDef.server(() => {\n return allEducations.map((education) => ({\n school: education.school,\n summary: education.summary,\n startDate: education.startDate,\n endDate: education.endDate,\n tags: education.tags,\n content: education.content,\n }))\n})\n\n// Tool definition for searching experience\nexport const searchExperienceToolDef = toolDefinition({\n name: 'searchExperience',\n description:\n 'Search for jobs by keywords in the job title, company name, summary, or content. Use this to find specific types of experience or roles.',\n inputSchema: z.object({\n query: z\n .string()\n .describe(\n 'The search query (e.g., \"senior\", \"lead\", \"frontend\", \"startup\")',\n ),\n }),\n outputSchema: z.array(\n z.object({\n jobTitle: z.string(),\n company: z.string(),\n location: z.string(),\n startDate: z.string(),\n endDate: z.string().optional(),\n summary: z.string(),\n tags: z.array(z.string()),\n matchedIn: z\n .array(z.string())\n .describe('Which fields matched the search'),\n }),\n ),\n})\n\n// Server implementation\nexport const searchExperience = searchExperienceToolDef.server(({ query }) => {\n const lowerQuery = query.toLowerCase()\n\n return allJobs\n .map((job) => {\n const matchedIn: string[] = []\n\n if (job.jobTitle.toLowerCase().includes(lowerQuery)) {\n matchedIn.push('job title')\n }\n if (job.company.toLowerCase().includes(lowerQuery)) {\n matchedIn.push('company')\n }\n if (job.summary.toLowerCase().includes(lowerQuery)) {\n matchedIn.push('summary')\n }\n if (job.content.toLowerCase().includes(lowerQuery)) {\n matchedIn.push('description')\n }\n\n return { job, matchedIn }\n })\n .filter(({ matchedIn }) => matchedIn.length > 0)\n .map(({ job, matchedIn }) => ({\n jobTitle: job.jobTitle,\n company: job.company,\n location: job.location,\n startDate: job.startDate,\n endDate: job.endDate,\n summary: job.summary,\n tags: job.tags,\n matchedIn,\n }))\n})\n", "src/lib/utils.ts": "import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n", "src/routes/api.resume-chat.ts": "import { createFileRoute } from '@tanstack/react-router'\nimport { chat, maxIterations, toServerSentEventsResponse } from '@tanstack/ai'\nimport { anthropicText } from '@tanstack/ai-anthropic'\nimport { openaiText } from '@tanstack/ai-openai'\nimport { geminiText } from '@tanstack/ai-gemini'\nimport { ollamaText } from '@tanstack/ai-ollama'\n\nimport {\n getJobsBySkill,\n getAllJobs,\n getAllEducation,\n searchExperience,\n} from '#/lib/resume-tools'\n\nexport const Route = createFileRoute('/api/resume-chat')({\n server: {\n handlers: {\n POST: async ({ request }) => {\n const requestSignal = request.signal\n\n if (requestSignal.aborted) {\n return new Response(null, { status: 499 })\n }\n\n const abortController = new AbortController()\n\n try {\n const body = await request.json()\n const { messages } = body\n const data = body.data || {}\n\n const SYSTEM_PROMPT = `You are a helpful resume assistant helping recruiters and hiring managers evaluate if this candidate is a good fit for their job requirements.\n\nCAPABILITIES:\n1. Use getJobsBySkill to find jobs where the candidate used specific technologies or skills\n2. Use getAllJobs to get the candidate's complete work history with all details\n3. Use getAllEducation to get the candidate's educational background\n4. Use searchExperience to search for specific types of roles or experience by keywords\n\nINSTRUCTIONS:\n- When asked about specific technologies or skills, use getJobsBySkill to find relevant experience\n- When asked about overall experience or career progression, use getAllJobs\n- When asked about education or training, use getAllEducation\n- When asked about specific types of roles (e.g., \"senior\", \"lead\"), use searchExperience\n- Be professional, concise, and helpful in your responses\n- Provide specific details from the resume when available\n- When calculating years of experience, consider the date ranges provided\n- If the candidate has experience with something, highlight specific roles and time periods\n- If the candidate lacks certain experience, be honest but constructive\n\nCONTEXT: You are helping evaluate this candidate's qualifications for potential job opportunities.`\n\n // Determine the best available provider\n let provider: 'anthropic' | 'openai' | 'gemini' | 'ollama' = data.provider || 'ollama'\n let model: string = data.model || 'mistral:7b'\n\n // Use the first available provider with an API key, fallback to ollama\n if (process.env.ANTHROPIC_API_KEY) {\n provider = 'anthropic'\n model = 'claude-haiku-4-5'\n } else if (process.env.OPENAI_API_KEY) {\n provider = 'openai'\n model = 'gpt-4o'\n } else if (process.env.GEMINI_API_KEY) {\n provider = 'gemini'\n model = 'gemini-2.0-flash-exp'\n }\n // else keep ollama as default\n\n // Adapter factory pattern for multi-vendor support\n const adapterConfig = {\n anthropic: () =>\n anthropicText((model || 'claude-haiku-4-5') as any),\n openai: () => openaiText((model || 'gpt-4o') as any),\n gemini: () => geminiText((model || 'gemini-2.0-flash-exp') as any),\n ollama: () => ollamaText((model || 'mistral:7b') as any),\n }\n\n const adapter = adapterConfig[provider]()\n\n const stream = chat({\n adapter,\n tools: [getJobsBySkill, getAllJobs, getAllEducation, searchExperience],\n systemPrompts: [SYSTEM_PROMPT],\n agentLoopStrategy: maxIterations(5),\n messages,\n abortController,\n })\n\n return toServerSentEventsResponse(stream, { abortController })\n } catch (error: any) {\n console.error('Resume chat error:', error)\n if (error.name === 'AbortError' || abortController.signal.aborted) {\n return new Response(null, { status: 499 })\n }\n return new Response(\n JSON.stringify({\n error: 'Failed to process chat request',\n message: error.message,\n }),\n {\n status: 500,\n headers: { 'Content-Type': 'application/json' },\n },\n )\n }\n },\n },\n },\n})\n", "src/routes/index.tsx": "import { useState, useMemo } from 'react'\nimport { marked } from 'marked'\n\nimport { createFileRoute } from '@tanstack/react-router'\nimport { allJobs, allEducations } from 'content-collections'\nimport { Card, CardContent, CardHeader, CardTitle } from '#/components/ui/card'\nimport { Checkbox } from '#/components/ui/checkbox'\nimport { Badge } from '#/components/ui/badge'\nimport { Separator } from '#/components/ui/separator'\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from '#/components/ui/hover-card'\n\nimport ResumeAssistant from '#/components/ResumeAssistant'\n\nexport const Route = createFileRoute('/')({\n component: App,\n})\n\nfunction App() {\n const [selectedTags, setSelectedTags] = useState([])\n\n // Get unique tags from all jobs\n const allTags = useMemo(() => {\n const tags = new Set()\n allJobs.forEach((job) => {\n job.tags.forEach((tag) => tags.add(tag))\n })\n return Array.from(tags).sort()\n }, [])\n\n // Filter jobs based on selected tags\n const filteredJobs = useMemo(() => {\n if (selectedTags.length === 0) return allJobs\n return allJobs.filter((job) =>\n selectedTags.some((tag) => job.tags.includes(tag)),\n )\n }, [selectedTags])\n\n return (\n <>\n \n
\n
\n {/* Sidebar with filters */}\n
\n

\n Skills & Technologies\n

\n
\n {allTags.map((tag) => (\n
\n {\n if (checked) {\n setSelectedTags([...selectedTags, tag])\n } else {\n setSelectedTags(selectedTags.filter((t) => t !== tag))\n }\n }}\n className=\"data-[state=checked]:bg-blue-600\"\n />\n \n {tag}\n \n
\n ))}\n
\n
\n\n {/* Main content */}\n
\n
\n
\n

\n My Resume\n

\n

\n Professional Experience & Education\n

\n \n
\n\n {/* Career Summary */}\n \n \n \n Career Summary\n \n \n \n
\n

\n I am a passionate and driven professional seeking\n opportunities that will leverage my extensive experience\n in frontend development while providing continuous growth\n and learning opportunities. My goal is to contribute to\n innovative projects that challenge me to expand my skill\n set and make meaningful impacts through technology.\n

\n \n
\n
\n
\n\n {/* Work Experience */}\n
\n

\n Work Experience\n

\n
\n {filteredJobs.map((job) => (\n \n \n
\n
\n \n {job.jobTitle}\n \n

\n {job.company} - {job.location}\n

\n
\n \n {job.startDate} - {job.endDate || 'Present'}\n \n
\n
\n \n

\n {job.summary}\n

\n
\n {job.tags.map((tag) => (\n \n \n \n {tag}\n \n \n \n

\n Experience with {tag} in professional\n development\n

\n
\n
\n ))}\n
\n {job.content && (\n \n )}\n
\n \n ))}\n
\n
\n\n {/* Education */}\n
\n

\n Education\n

\n
\n {allEducations.map((education) => (\n \n \n \n {education.school}\n \n \n \n

\n {education.summary}\n

\n {education.content && (\n \n )}\n
\n \n ))}\n
\n
\n
\n
\n
\n
\n \n )\n}\n", "src/styles.css": "@import 'tailwindcss';\n\n@plugin \"tailwindcss-animate\";\n\n@custom-variant dark (&:is(.dark *));\n\nbody {\n @apply m-0;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',\n 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family:\n source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;\n}\n\n:root {\n --background: oklch(1 0 0);\n --foreground: oklch(0.141 0.005 285.823);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.141 0.005 285.823);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.141 0.005 285.823);\n --primary: oklch(0.21 0.006 285.885);\n --primary-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.967 0.001 286.375);\n --secondary-foreground: oklch(0.21 0.006 285.885);\n --muted: oklch(0.967 0.001 286.375);\n --muted-foreground: oklch(0.552 0.016 285.938);\n --accent: oklch(0.967 0.001 286.375);\n --accent-foreground: oklch(0.21 0.006 285.885);\n --destructive: oklch(0.577 0.245 27.325);\n --destructive-foreground: oklch(0.577 0.245 27.325);\n --border: oklch(0.92 0.004 286.32);\n --input: oklch(0.92 0.004 286.32);\n --ring: oklch(0.871 0.006 286.286);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n --radius: 0.625rem;\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.141 0.005 285.823);\n --sidebar-primary: oklch(0.21 0.006 285.885);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.967 0.001 286.375);\n --sidebar-accent-foreground: oklch(0.21 0.006 285.885);\n --sidebar-border: oklch(0.92 0.004 286.32);\n --sidebar-ring: oklch(0.871 0.006 286.286);\n}\n\n.dark {\n --background: oklch(0.141 0.005 285.823);\n --foreground: oklch(0.985 0 0);\n --card: oklch(0.141 0.005 285.823);\n --card-foreground: oklch(0.985 0 0);\n --popover: oklch(0.141 0.005 285.823);\n --popover-foreground: oklch(0.985 0 0);\n --primary: oklch(0.985 0 0);\n --primary-foreground: oklch(0.21 0.006 285.885);\n --secondary: oklch(0.274 0.006 286.033);\n --secondary-foreground: oklch(0.985 0 0);\n --muted: oklch(0.274 0.006 286.033);\n --muted-foreground: oklch(0.705 0.015 286.067);\n --accent: oklch(0.274 0.006 286.033);\n --accent-foreground: oklch(0.985 0 0);\n --destructive: oklch(0.396 0.141 25.723);\n --destructive-foreground: oklch(0.637 0.237 25.331);\n --border: oklch(0.274 0.006 286.033);\n --input: oklch(0.274 0.006 286.033);\n --ring: oklch(0.442 0.017 285.786);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n --sidebar: oklch(0.21 0.006 285.885);\n --sidebar-foreground: oklch(0.985 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.274 0.006 286.033);\n --sidebar-accent-foreground: oklch(0.985 0 0);\n --sidebar-border: oklch(0.274 0.006 286.033);\n --sidebar-ring: oklch(0.442 0.017 285.786);\n}\n\n@theme inline {\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --color-card: var(--card);\n --color-card-foreground: var(--card-foreground);\n --color-popover: var(--popover);\n --color-popover-foreground: var(--popover-foreground);\n --color-primary: var(--primary);\n --color-primary-foreground: var(--primary-foreground);\n --color-secondary: var(--secondary);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n --color-accent: var(--accent);\n --color-accent-foreground: var(--accent-foreground);\n --color-destructive: var(--destructive);\n --color-destructive-foreground: var(--destructive-foreground);\n --color-border: var(--border);\n --color-input: var(--input);\n --color-ring: var(--ring);\n --color-chart-1: var(--chart-1);\n --color-chart-2: var(--chart-2);\n --color-chart-3: var(--chart-3);\n --color-chart-4: var(--chart-4);\n --color-chart-5: var(--chart-5);\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n --color-sidebar: var(--sidebar);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-ring: var(--sidebar-ring);\n}\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n }\n body {\n @apply bg-background text-foreground;\n }\n}\n" }, "deletedFiles": [] } satisfies AddOnCompiled