biohazard-vfx/.next/static/webpack/app/projects/page.ba3cb1eb801eb678.hot-update.js
nicholai 56271841f8
Some checks failed
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Has been cancelled
Build and Push Docker Image / build-and-push (push) Has been cancelled
refactoring pt.1
2025-09-09 11:24:28 -06:00

22 lines
43 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/projects/page",{
/***/ "(app-pages-browser)/./src/app/projects/ProjectsPageClient.tsx":
/*!*************************************************!*\
!*** ./src/app/projects/ProjectsPageClient.tsx ***!
\*************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ProjectsPageClient)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _components_ui_ImageWithFallback__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/ImageWithFallback */ \"(app-pages-browser)/./src/components/ui/ImageWithFallback.tsx\");\n/* harmony import */ var _components_Layouts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Layouts */ \"(app-pages-browser)/./src/components/Layouts.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nfunction ProjectsPageClient(param) {\n let { projects } = param;\n _s();\n const [selectedCategory, setSelectedCategory] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('All');\n // Get unique categories for filtering\n const categories = [\n 'All',\n ...Array.from(new Set(projects.map((p)=>p.category).filter(Boolean)))\n ];\n // Filter projects based on selected category\n const filteredProjects = selectedCategory === 'All' ? projects : projects.filter((p)=>p.category === selectedCategory);\n // Separate featured projects from regular projects\n const featuredProjects = filteredProjects.filter((p)=>p.featured === true);\n const regularProjects = filteredProjects.filter((p)=>p.featured !== true);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Layouts__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SectionReveal, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ItemReveal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2 mb-8 justify-center\",\n children: categories.map((category)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSelectedCategory(category),\n className: \"px-4 py-2 rounded-md text-sm font-medium \".concat(selectedCategory === category ? 'bg-accent text-text-primary' : 'bg-surface-600 text-text-secondary hover:bg-surface-500 hover:text-text-primary'),\n children: category\n }, category, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 49,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n featuredProjects.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ItemReveal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-display text-white mb-6 text-center\",\n children: \"Featured Projects\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 72,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 71,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: featuredProjects.map((project)=>{\n // Extract year from createdAt\n const date = new Date(project.createdAt);\n const year = date.getFullYear().toString();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ItemReveal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/projects/\".concat(project.id),\n className: \"group relative overflow-hidden rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"aspect-cinema relative overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ImageWithFallback__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n src: project.thumbnail,\n alt: project.title,\n fill: true,\n className: \"object-cover\",\n placeholderText: \"Project Thumbnail\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 90,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-70\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 98,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 89,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-0 p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-accent text-xs font-medium mb-1\",\n children: [\n project.category || 'Project',\n \" • \",\n year\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 103,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-white text-xl font-bold\",\n children: project.title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 106,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 102,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-3 left-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"badge badge-accent text-xs\",\n children: \"FEATURED\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 113,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 112,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 84,\n columnNumber: 23\n }, this)\n }, project.id, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 83,\n columnNumber: 21\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 76,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 70,\n columnNumber: 13\n }, this),\n regularProjects.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n featuredProjects.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ItemReveal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-display text-white mb-6 text-center\",\n children: \"All Projects\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 128,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 127,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-3 gap-4\",\n children: regularProjects.map((project)=>{\n // Extract year from createdAt\n const date = new Date(project.createdAt);\n const year = date.getFullYear().toString();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ItemReveal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/projects/\".concat(project.id),\n className: \"group relative overflow-hidden rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"aspect-cinema relative overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ImageWithFallback__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n src: project.thumbnail,\n alt: project.title,\n fill: true,\n className: \"object-cover\",\n placeholderText: \"Project Thumbnail\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 147,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-70\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 155,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 146,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-0 p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-accent text-xs font-medium mb-1\",\n children: [\n project.category || 'Project',\n \" • \",\n year\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 160,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-white text-lg font-bold\",\n children: project.title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 163,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 159,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 141,\n columnNumber: 23\n }, this)\n }, project.id, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 140,\n columnNumber: 21\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 133,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 125,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 47,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/projects/ProjectsPageClient.tsx\",\n lineNumber: 45,\n columnNumber: 5\n }, this);\n}\n_s(ProjectsPageClient, \"GJyJoXpi2ajXoAHNvbhzt/lrQyM=\");\n_c = ProjectsPageClient;\nvar _c;\n$RefreshReg$(_c, \"ProjectsPageClient\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvcHJvamVjdHMvUHJvamVjdHNQYWdlQ2xpZW50LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRWdDO0FBQ0o7QUFDcUM7QUFDakI7QUFlakMsU0FBU0ksbUJBQW1CLEtBRWpCO1FBRmlCLEVBQ3pDQyxRQUFRLEVBQ2dCLEdBRmlCOztJQUd6QyxNQUFNLENBQUNDLGtCQUFrQkMsb0JBQW9CLEdBQUdQLCtDQUFRQSxDQUFTO0lBRWpFLHNDQUFzQztJQUN0QyxNQUFNUSxhQUFhO1FBQ2pCO1dBQ0dDLE1BQU1DLElBQUksQ0FDWCxJQUFJQyxJQUFJTixTQUFTTyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsUUFBUSxFQUFFQyxNQUFNLENBQUNDO0tBRWxEO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU1DLG1CQUNKWCxxQkFBcUIsUUFDakJELFdBQ0FBLFNBQVNVLE1BQU0sQ0FBQyxDQUFDRixJQUFNQSxFQUFFQyxRQUFRLEtBQUtSO0lBRTVDLG1EQUFtRDtJQUNuRCxNQUFNWSxtQkFBbUJELGlCQUFpQkYsTUFBTSxDQUFDLENBQUNGLElBQU1BLEVBQUVNLFFBQVEsS0FBSztJQUN2RSxNQUFNQyxrQkFBa0JILGlCQUFpQkYsTUFBTSxDQUFDLENBQUNGLElBQU1BLEVBQUVNLFFBQVEsS0FBSztJQUV0RSxxQkFDRSw4REFBQ2hCLDBEQUFTQTtrQkFFUiw0RUFBQ2tCOzs4QkFDQyw4REFBQ0M7OEJBQ0MsNEVBQUNDO3dCQUFJQyxXQUFVO2tDQUNaaEIsV0FBV0ksR0FBRyxDQUFDLENBQUNFLHlCQUNmLDhEQUFDVztnQ0FFQ0MsU0FBUyxJQUFNbkIsb0JBQW9CTztnQ0FDbkNVLFdBQVcsNENBSVYsT0FIQ2xCLHFCQUFxQlEsV0FDakIsZ0NBQ0E7MENBR0xBOytCQVJJQTs7Ozs7Ozs7Ozs7Ozs7OzhCQWViLDhEQUFDUztvQkFBSUMsV0FBVTs7d0JBRVpOLGlCQUFpQlMsTUFBTSxHQUFHLG1CQUN6Qiw4REFBQ0o7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRjs4Q0FDQyw0RUFBQ007d0NBQUdKLFdBQVU7a0RBQW1EOzs7Ozs7Ozs7Ozs4Q0FJbkUsOERBQUNEO29DQUFJQyxXQUFVOzhDQUNaTixpQkFBaUJOLEdBQUcsQ0FBQyxDQUFDaUI7d0NBQ3JCLDhCQUE4Qjt3Q0FDOUIsTUFBTUMsT0FBTyxJQUFJQyxLQUFLRixRQUFRRyxTQUFTO3dDQUN2QyxNQUFNQyxPQUFPSCxLQUFLSSxXQUFXLEdBQUdDLFFBQVE7d0NBRXhDLHFCQUNFLDhEQUFDYjtzREFDQyw0RUFBQ3JCLGtEQUFJQTtnREFDSG1DLE1BQU0sYUFBd0IsT0FBWFAsUUFBUVEsRUFBRTtnREFDN0JiLFdBQVU7O2tFQUdWLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUN0Qix3RUFBaUJBO2dFQUNoQm9DLEtBQUtULFFBQVFVLFNBQVM7Z0VBQ3RCQyxLQUFLWCxRQUFRWSxLQUFLO2dFQUNsQkMsSUFBSTtnRUFDSmxCLFdBQVU7Z0VBQ1ZtQixpQkFBZ0I7Ozs7OzswRUFHbEIsOERBQUNwQjtnRUFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tFQUlqQiw4REFBQ0Q7d0RBQUlDLFdBQVU7OzBFQUNiLDhEQUFDWDtnRUFBRVcsV0FBVTs7b0VBQ1ZLLFFBQVFmLFFBQVEsSUFBSTtvRUFBVTtvRUFBSW1COzs7Ozs7OzBFQUVyQyw4REFBQ0w7Z0VBQUdKLFdBQVU7MEVBQ1hLLFFBQVFZLEtBQUs7Ozs7Ozs7Ozs7OztrRUFLbEIsOERBQUNsQjt3REFBSUMsV0FBVTtrRUFDYiw0RUFBQ29COzREQUFLcEIsV0FBVTtzRUFBNkI7Ozs7Ozs7Ozs7Ozs7Ozs7OzJDQTlCbENLLFFBQVFRLEVBQUU7Ozs7O29DQW1DL0I7Ozs7Ozs7Ozs7Ozt3QkFNTGpCLGdCQUFnQk8sTUFBTSxHQUFHLG1CQUN4Qiw4REFBQ0o7O2dDQUNFTCxpQkFBaUJTLE1BQU0sR0FBRyxtQkFDekIsOERBQUNMOzhDQUNDLDRFQUFDTTt3Q0FBR0osV0FBVTtrREFBbUQ7Ozs7Ozs7Ozs7OzhDQUtyRSw4REFBQ0Q7b0NBQUlDLFdBQVU7OENBQ1pKLGdCQUFnQlIsR0FBRyxDQUFDLENBQUNpQjt3Q0FDcEIsOEJBQThCO3dDQUM5QixNQUFNQyxPQUFPLElBQUlDLEtBQUtGLFFBQVFHLFNBQVM7d0NBQ3ZDLE1BQU1DLE9BQU9ILEtBQUtJLFdBQVcsR0FBR0MsUUFBUTt3Q0FFeEMscUJBQ0UsOERBQUNiO3NEQUNDLDRFQUFDckIsa0RBQUlBO2dEQUNIbUMsTUFBTSxhQUF3QixPQUFYUCxRQUFRUSxFQUFFO2dEQUM3QmIsV0FBVTs7a0VBR1YsOERBQUNEO3dEQUFJQyxXQUFVOzswRUFDYiw4REFBQ3RCLHdFQUFpQkE7Z0VBQ2hCb0MsS0FBS1QsUUFBUVUsU0FBUztnRUFDdEJDLEtBQUtYLFFBQVFZLEtBQUs7Z0VBQ2xCQyxJQUFJO2dFQUNKbEIsV0FBVTtnRUFDVm1CLGlCQUFnQjs7Ozs7OzBFQUdsQiw4REFBQ3BCO2dFQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7a0VBSWpCLDhEQUFDRDt3REFBSUMsV0FBVTs7MEVBQ2IsOERBQUNYO2dFQUFFVyxXQUFVOztvRUFDVkssUUFBUWYsUUFBUSxJQUFJO29FQUFVO29FQUFJbUI7Ozs7Ozs7MEVBRXJDLDhEQUFDTDtnRUFBR0osV0FBVTswRUFDWEssUUFBUVksS0FBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzJDQXhCTFosUUFBUVEsRUFBRTs7Ozs7b0NBOEIvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRaEI7R0E3SndCakM7S0FBQUEiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL3NyYy9hcHAvcHJvamVjdHMvUHJvamVjdHNQYWdlQ2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluaydcbmltcG9ydCBJbWFnZVdpdGhGYWxsYmFjayBmcm9tICdAL2NvbXBvbmVudHMvdWkvSW1hZ2VXaXRoRmFsbGJhY2snXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvTGF5b3V0cydcblxuaW50ZXJmYWNlIFByb2plY3Qge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgdGh1bWJuYWlsOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IHN0cmluZyB8IG51bGxcbiAgZmVhdHVyZWQ6IGJvb2xlYW4gfCBudWxsXG4gIGNyZWF0ZWRBdDogc3RyaW5nIC8vIFRoaXMgd2lsbCBiZSBhIHN0cmluZyB3aGVuIHBhc3NlZCB0byB0aGUgY2xpZW50IGNvbXBvbmVudFxufVxuXG5pbnRlcmZhY2UgUHJvamVjdHNQYWdlQ2xpZW50UHJvcHMge1xuICBwcm9qZWN0czogUHJvamVjdFtdXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFByb2plY3RzUGFnZUNsaWVudCh7XG4gIHByb2plY3RzLFxufTogUHJvamVjdHNQYWdlQ2xpZW50UHJvcHMpIHtcbiAgY29uc3QgW3NlbGVjdGVkQ2F0ZWdvcnksIHNldFNlbGVjdGVkQ2F0ZWdvcnldID0gdXNlU3RhdGU8c3RyaW5nPignQWxsJylcblxuICAvLyBHZXQgdW5pcXVlIGNhdGVnb3JpZXMgZm9yIGZpbHRlcmluZ1xuICBjb25zdCBjYXRlZ29yaWVzID0gW1xuICAgICdBbGwnLFxuICAgIC4uLkFycmF5LmZyb20oXG4gICAgICBuZXcgU2V0KHByb2plY3RzLm1hcCgocCkgPT4gcC5jYXRlZ29yeSkuZmlsdGVyKEJvb2xlYW4pIGFzIHN0cmluZ1tdKVxuICAgICksXG4gIF1cblxuICAvLyBGaWx0ZXIgcHJvamVjdHMgYmFzZWQgb24gc2VsZWN0ZWQgY2F0ZWdvcnlcbiAgY29uc3QgZmlsdGVyZWRQcm9qZWN0cyA9XG4gICAgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gJ0FsbCdcbiAgICAgID8gcHJvamVjdHNcbiAgICAgIDogcHJvamVjdHMuZmlsdGVyKChwKSA9PiBwLmNhdGVnb3J5ID09PSBzZWxlY3RlZENhdGVnb3J5KVxuXG4gIC8vIFNlcGFyYXRlIGZlYXR1cmVkIHByb2plY3RzIGZyb20gcmVndWxhciBwcm9qZWN0c1xuICBjb25zdCBmZWF0dXJlZFByb2plY3RzID0gZmlsdGVyZWRQcm9qZWN0cy5maWx0ZXIoKHApID0+IHAuZmVhdHVyZWQgPT09IHRydWUpXG4gIGNvbnN0IHJlZ3VsYXJQcm9qZWN0cyA9IGZpbHRlcmVkUHJvamVjdHMuZmlsdGVyKChwKSA9PiBwLmZlYXR1cmVkICE9PSB0cnVlKVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIHsvKiBDYXRlZ29yeSBGaWx0ZXIgKi99XG4gICAgICA8U2VjdGlvblJldmVhbD5cbiAgICAgICAgPEl0ZW1SZXZlYWw+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMiBtYi04IGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICB7Y2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5KSA9PiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrZXk9e2NhdGVnb3J5fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnkpfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHB4LTQgcHktMiByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gJHtcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnkgPT09IGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgID8gJ2JnLWFjY2VudCB0ZXh0LXRleHQtcHJpbWFyeSdcbiAgICAgICAgICAgICAgICAgICAgOiAnYmctc3VyZmFjZS02MDAgdGV4dC10ZXh0LXNlY29uZGFyeSBob3ZlcjpiZy1zdXJmYWNlLTUwMCBob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeSdcbiAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjYXRlZ29yeX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9JdGVtUmV2ZWFsPlxuXG4gICAgICAgIHsvKiBQcm9qZWN0cyBHcmlkIC0gTWF0dXJlIGxheW91dCB3aXRoIGZlYXR1cmVkIHByb2plY3RzICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgey8qIEZlYXR1cmVkIFByb2plY3RzIC0gTGFyZ2VyIGRpc3BsYXkgKi99XG4gICAgICAgICAge2ZlYXR1cmVkUHJvamVjdHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTEyXCI+XG4gICAgICAgICAgICAgIDxJdGVtUmV2ZWFsPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtZGlzcGxheSB0ZXh0LXdoaXRlIG1iLTYgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIEZlYXR1cmVkIFByb2plY3RzXG4gICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgPC9JdGVtUmV2ZWFsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTZcIj5cbiAgICAgICAgICAgICAgICB7ZmVhdHVyZWRQcm9qZWN0cy5tYXAoKHByb2plY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgIC8vIEV4dHJhY3QgeWVhciBmcm9tIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHByb2plY3QuY3JlYXRlZEF0KVxuICAgICAgICAgICAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpXG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxJdGVtUmV2ZWFsIGtleT17cHJvamVjdC5pZH0+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e2AvcHJvamVjdHMvJHtwcm9qZWN0LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgey8qIEJhY2tncm91bmQgSW1hZ2UgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFzcGVjdC1jaW5lbWEgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZVdpdGhGYWxsYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17cHJvamVjdC50aHVtYm5haWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtwcm9qZWN0LnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvYmplY3QtY292ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dD1cIlByb2plY3QgVGh1bWJuYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIEdyYWRpZW50IE92ZXJsYXkgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by10IGZyb20tYmxhY2svODAgdmlhLWJsYWNrLzIwIHRvLXRyYW5zcGFyZW50IG9wYWNpdHktNzBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBDb250ZW50ICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBwLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1hY2NlbnQgdGV4dC14cyBmb250LW1lZGl1bSBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb2plY3QuY2F0ZWdvcnkgfHwgJ1Byb2plY3QnfSDigKIge3llYXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtd2hpdGUgdGV4dC14bCBmb250LWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvamVjdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7LyogRmVhdHVyZWQgQmFkZ2UgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0zIGxlZnQtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiYWRnZSBiYWRnZS1hY2NlbnQgdGV4dC14c1wiPkZFQVRVUkVEPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICA8L0l0ZW1SZXZlYWw+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHsvKiBSZWd1bGFyIFByb2plY3RzIC0gU3RhbmRhcmQgZ3JpZCAqL31cbiAgICAgICAgICB7cmVndWxhclByb2plY3RzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAge2ZlYXR1cmVkUHJvamVjdHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgPEl0ZW1SZXZlYWw+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWRpc3BsYXkgdGV4dC13aGl0ZSBtYi02IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEFsbCBQcm9qZWN0c1xuICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICA8L0l0ZW1SZXZlYWw+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBtZDpncmlkLWNvbHMtMyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIHtyZWd1bGFyUHJvamVjdHMubWFwKChwcm9qZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBFeHRyYWN0IHllYXIgZnJvbSBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShwcm9qZWN0LmNyZWF0ZWRBdClcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8SXRlbVJldmVhbCBrZXk9e3Byb2plY3QuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtgL3Byb2plY3RzLyR7cHJvamVjdC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBCYWNrZ3JvdW5kIEltYWdlICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhc3BlY3QtY2luZW1hIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VXaXRoRmFsbGJhY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3Byb2plY3QudGh1bWJuYWlsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17cHJvamVjdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlclRleHQ9XCJQcm9qZWN0IFRodW1ibmFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBHcmFkaWVudCBPdmVybGF5ICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLWJsYWNrLzgwIHZpYS1ibGFjay8yMCB0by10cmFuc3BhcmVudCBvcGFjaXR5LTcwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7LyogQ29udGVudCAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgcC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYWNjZW50IHRleHQteHMgZm9udC1tZWRpdW0gbWItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9qZWN0LmNhdGVnb3J5IHx8ICdQcm9qZWN0J30g4oCiIHt5ZWFyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIHRleHQtbGcgZm9udC1ib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb2plY3QudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgIDwvSXRlbVJldmVhbD5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU2VjdGlvblJldmVhbD5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiTGluayIsIkltYWdlV2l0aEZhbGxiYWNrIiwiQ29udGFpbmVyIiwiUHJvamVjdHNQYWdlQ2xpZW50IiwicHJvamVjdHMiLCJzZWxlY3RlZENhdGVnb3J5Iiwic2V0U2VsZWN0ZWRDYXRlZ29yeSIsImNhdGVnb3JpZXMiLCJBcnJheSIsImZyb20iLCJTZXQiLCJtYXAiLCJwIiwiY2F0ZWdvcnkiLCJmaWx0ZXIiLCJCb29sZWFuIiwiZmlsdGVyZWRQcm9qZWN0cyIsImZlYXR1cmVkUHJvamVjdHMiLCJmZWF0dXJlZCIsInJlZ3VsYXJQcm9qZWN0cyIsIlNlY3Rpb25SZXZlYWwiLCJJdGVtUmV2ZWFsIiwiZGl2IiwiY2xhc3NOYW1lIiwiYnV0dG9uIiwib25DbGljayIsImxlbmd0aCIsImgzIiwicHJvamVjdCIsImRhdGUiLCJEYXRlIiwiY3JlYXRlZEF0IiwieWVhciIsImdldEZ1bGxZZWFyIiwidG9TdHJpbmciLCJocmVmIiwiaWQiLCJzcmMiLCJ0aHVtYm5haWwiLCJhbHQiLCJ0aXRsZSIsImZpbGwiLCJwbGFjZWhvbGRlclRleHQiLCJzcGFuIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/projects/ProjectsPageClient.tsx\n"));
/***/ })
});