"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/dashboard/calendar/page",{ /***/ "(app-pages-browser)/./src/components/calendar/SlotActionModal.tsx": /*!*****************************************************!*\ !*** ./src/components/calendar/SlotActionModal.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 */ SlotActionModal: () => (/* binding */ SlotActionModal)\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 react_hook_form__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react-hook-form */ \"(app-pages-browser)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(app-pages-browser)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! zod */ \"(app-pages-browser)/./node_modules/zod/v4/classic/schemas.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sonner */ \"(app-pages-browser)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/calendar-plus.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/lock.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/clock.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/loader-circle.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/calendar-days.mjs\");\n/* harmony import */ var _barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarDays,CalendarPlus,Clock,Loader2,Lock,Trash2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.mjs\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! date-fns/format */ \"(app-pages-browser)/./node_modules/date-fns/format.js\");\n/* harmony import */ var date_fns_startOfDay__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! date-fns/startOfDay */ \"(app-pages-browser)/./node_modules/date-fns/startOfDay.js\");\n/* harmony import */ var date_fns_locale_es__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! date-fns/locale/es */ \"(app-pages-browser)/./node_modules/date-fns/locale/es.js\");\n/* harmony import */ var react_day_picker__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! react-day-picker */ \"(app-pages-browser)/./node_modules/react-day-picker/dist/esm/DayPicker.js\");\n/* harmony import */ var _utils_supabase_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/supabase/client */ \"(app-pages-browser)/./src/utils/supabase/client.ts\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/utils */ \"(app-pages-browser)/./src/lib/utils.ts\");\n/* harmony import */ var _lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/lib/stores/uiStore */ \"(app-pages-browser)/./src/lib/stores/uiStore.ts\");\n/* harmony import */ var _components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/dialog */ \"(app-pages-browser)/./src/components/ui/dialog.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/button */ \"(app-pages-browser)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/input */ \"(app-pages-browser)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/ui/label */ \"(app-pages-browser)/./src/components/ui/label.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui/select */ \"(app-pages-browser)/./src/components/ui/select.tsx\");\n/* harmony import */ var _components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/ui/tabs */ \"(app-pages-browser)/./src/components/ui/tabs.tsx\");\n/* __next_internal_client_entry_do_not_use__ SlotActionModal auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// ─── Schemas ────────────────────────────────────────────────────────────────\nconst blockSchema = zod__WEBPACK_IMPORTED_MODULE_13__.object({\n dates: zod__WEBPACK_IMPORTED_MODULE_13__.array(zod__WEBPACK_IMPORTED_MODULE_13__.date()).min(1, \"Selecciona al menos un día\"),\n startTime: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Hora de inicio requerida\"),\n endTime: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Hora de fin requerida\"),\n blockType: zod__WEBPACK_IMPORTED_MODULE_13__[\"enum\"]([\n \"surgery\",\n \"admin\",\n \"vacation\",\n \"event\"\n ]),\n notes: zod__WEBPACK_IMPORTED_MODULE_13__.string().optional()\n}).refine((d)=>{\n if (!d.startTime || !d.endTime) return true;\n return d.startTime < d.endTime;\n}, {\n message: \"La hora de fin debe ser posterior a la de inicio\",\n path: [\n \"endTime\"\n ]\n});\nconst appointmentSchema = zod__WEBPACK_IMPORTED_MODULE_13__.object({\n patientSearch: zod__WEBPACK_IMPORTED_MODULE_13__.string(),\n patientId: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Selecciona un paciente\"),\n procedureId: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Selecciona un procedimiento\"),\n startTime: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Hora de inicio requerida\"),\n endTime: zod__WEBPACK_IMPORTED_MODULE_13__.string().min(1, \"Hora de fin requerida\"),\n channel: zod__WEBPACK_IMPORTED_MODULE_13__[\"enum\"]([\n \"whatsapp\",\n \"messenger\",\n \"instagram\",\n \"tiktok\",\n \"web\",\n \"manual\"\n ])\n}).refine((d)=>d.patientId.length > 0 && d.patientId !== \"\", {\n message: \"Selecciona un paciente válido\",\n path: [\n \"patientId\"\n ]\n}).refine((d)=>{\n if (!d.startTime || !d.endTime) return true;\n return d.startTime < d.endTime;\n}, {\n message: \"La hora de fin debe ser posterior a la de inicio\",\n path: [\n \"endTime\"\n ]\n});\n/**\n * Modal de acción sobre un slot del calendario.\n * Permite: bloquear espacio o agendar cita manual (RF-09.1.2 / RF-09.1.5).\n */ function SlotActionModal(param) {\n let { onSuccess } = param;\n _s();\n const supabase = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"SlotActionModal.useMemo[supabase]\": ()=>(0,_utils_supabase_client__WEBPACK_IMPORTED_MODULE_4__.createClient)()\n }[\"SlotActionModal.useMemo[supabase]\"], []);\n const activeModal = (0,_lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore)({\n \"SlotActionModal.useUIStore[activeModal]\": (s)=>s.activeModal\n }[\"SlotActionModal.useUIStore[activeModal]\"]);\n const modalPayload = (0,_lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore)({\n \"SlotActionModal.useUIStore[modalPayload]\": (s)=>s.modalPayload\n }[\"SlotActionModal.useUIStore[modalPayload]\"]);\n const closeModal = (0,_lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore)({\n \"SlotActionModal.useUIStore[closeModal]\": (s)=>s.closeModal\n }[\"SlotActionModal.useUIStore[closeModal]\"]);\n const isOpen = activeModal === \"slotAction\";\n const [patients, setPatients] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [procedures, setProcedures] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [searchValue, setSearchValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [isSearching, setIsSearching] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [calendarMonth, setCalendarMonth] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Date());\n const [showCalendar, setShowCalendar] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Extract initial date range from FullCalendar selection\n const initialDates = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"SlotActionModal.useMemo[initialDates]\": ()=>{\n if (!modalPayload) return [];\n const { start, end } = modalPayload;\n if (!start || !end) return [];\n const startDate = (0,date_fns_startOfDay__WEBPACK_IMPORTED_MODULE_14__.startOfDay)(new Date(start));\n const endDate = (0,date_fns_startOfDay__WEBPACK_IMPORTED_MODULE_14__.startOfDay)(new Date(end));\n // end is exclusive in FullCalendar; subtract 1 day for multi-day selections\n const adjustedEnd = new Date(endDate.getTime() - 86400000);\n if (adjustedEnd.getTime() <= startDate.getTime()) {\n return [\n startDate\n ];\n }\n const dates = [];\n let current = startDate;\n while(current <= adjustedEnd){\n dates.push(new Date(current));\n current = new Date(current.getTime() + 86400000);\n }\n return dates;\n }\n }[\"SlotActionModal.useMemo[initialDates]\"], [\n modalPayload\n ]);\n const initialStartTime = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"SlotActionModal.useMemo[initialStartTime]\": ()=>{\n if (!modalPayload) return \"08:00\";\n const { start } = modalPayload;\n if (!start) return \"08:00\";\n const time = (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(new Date(start), \"HH:mm\");\n return time === \"00:00\" ? \"08:00\" : time;\n }\n }[\"SlotActionModal.useMemo[initialStartTime]\"], [\n modalPayload\n ]);\n const initialEndTime = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"SlotActionModal.useMemo[initialEndTime]\": ()=>{\n if (!modalPayload) return \"09:00\";\n const { end, start } = modalPayload;\n if (!end) return \"09:00\";\n const endTime = (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(new Date(end), \"HH:mm\");\n if (endTime === \"00:00\") {\n const st = start ? (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(new Date(start), \"HH:mm\") : \"08:00\";\n if (st === \"00:00\") return \"09:00\";\n const [h, m] = st.split(\":\").map(Number);\n const totalMinutes = h * 60 + m + 60;\n const newH = Math.floor(totalMinutes / 60) % 24;\n const newM = totalMinutes % 60;\n return \"\".concat(String(newH).padStart(2, \"0\"), \":\").concat(String(newM).padStart(2, \"0\"));\n }\n return endTime;\n }\n }[\"SlotActionModal.useMemo[initialEndTime]\"], [\n modalPayload\n ]);\n // Block form\n const blockForm = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_16__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__.zodResolver)(blockSchema),\n defaultValues: {\n dates: initialDates,\n startTime: initialStartTime,\n endTime: initialEndTime,\n blockType: \"admin\",\n notes: \"\"\n }\n });\n const selectedDates = blockForm.watch(\"dates\");\n const selectedStartTime = blockForm.watch(\"startTime\");\n const selectedEndTime = blockForm.watch(\"endTime\");\n // Load procedures on mount + reset form on open\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"SlotActionModal.useEffect\": ()=>{\n if (isOpen) {\n const load = {\n \"SlotActionModal.useEffect.load\": async ()=>{\n const { data } = await supabase.from(\"procedures\").select(\"id, name, duration_min\").eq(\"is_active\", true).order(\"name\");\n setProcedures(data !== null && data !== void 0 ? data : []);\n }\n }[\"SlotActionModal.useEffect.load\"];\n void load();\n // Reset form state\n apptForm.reset({\n patientSearch: \"\",\n patientId: \"\",\n procedureId: \"\",\n startTime: initialStartTime,\n endTime: initialEndTime,\n channel: \"web\"\n });\n blockForm.reset({\n dates: initialDates,\n startTime: initialStartTime,\n endTime: initialEndTime,\n blockType: \"admin\",\n notes: \"\"\n });\n setSearchValue(\"\");\n setPatients([]);\n setShowCalendar(false);\n if (initialDates.length > 0) {\n setCalendarMonth(initialDates[0]);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }\n }[\"SlotActionModal.useEffect\"], [\n isOpen\n ]);\n const searchTimeoutRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // Search patients with debounce\n const searchPatients = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"SlotActionModal.useCallback[searchPatients]\": async (query)=>{\n const trimmed = query.trim();\n if (!trimmed) {\n setPatients([]);\n return;\n }\n setIsSearching(true);\n const escaped = trimmed.replace(/[%_]/g, \"\\\\$&\");\n const { data } = await supabase.from(\"patients\").select(\"id, name, phone\").or(\"name.ilike.%\".concat(escaped, \"%,phone.ilike.%\").concat(escaped, \"%\")).limit(5);\n setPatients(data !== null && data !== void 0 ? data : []);\n setIsSearching(false);\n }\n }[\"SlotActionModal.useCallback[searchPatients]\"], [\n supabase\n ]);\n const removeDate = (dateToRemove)=>{\n const current = blockForm.getValues(\"dates\");\n blockForm.setValue(\"dates\", current.filter((d)=>d.toDateString() !== dateToRemove.toDateString()), {\n shouldValidate: true,\n shouldDirty: true\n });\n };\n const onBlock = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"SlotActionModal.useCallback[onBlock]\": async (values)=>{\n const [startH, startM] = values.startTime.split(\":\").map(Number);\n const [endH, endM] = values.endTime.split(\":\").map(Number);\n const slots = values.dates.map({\n \"SlotActionModal.useCallback[onBlock].slots\": (date)=>{\n const dateStr = (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(date, \"yyyy-MM-dd\");\n return {\n start_at: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.toColombiaISOString)(dateStr, startH, startM),\n end_at: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.toColombiaISOString)(dateStr, endH, endM),\n block_type: values.blockType,\n status: \"blocked\"\n };\n }\n }[\"SlotActionModal.useCallback[onBlock].slots\"]);\n const { error } = await supabase.from(\"slots\").insert(slots);\n if (error) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Error al bloquear los espacios.\");\n return;\n }\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.success(\"\".concat(slots.length, \" espacio(s) bloqueado(s): \").concat(values.blockType));\n closeModal();\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();\n }\n }[\"SlotActionModal.useCallback[onBlock]\"], [\n closeModal,\n onSuccess,\n supabase\n ]);\n // Appointment form\n const apptForm = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_16__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__.zodResolver)(appointmentSchema),\n defaultValues: {\n patientSearch: \"\",\n patientId: \"\",\n procedureId: \"\",\n startTime: initialStartTime,\n endTime: initialEndTime,\n channel: \"web\"\n },\n mode: \"onChange\"\n });\n const onAppointment = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"SlotActionModal.useCallback[onAppointment]\": async (values)=>{\n const { start } = modalPayload;\n const dateStr = (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(new Date(start), \"yyyy-MM-dd\");\n const [startH, startM] = values.startTime.split(\":\").map(Number);\n const [endH, endM] = values.endTime.split(\":\").map(Number);\n const { error } = await supabase.from(\"slots\").insert({\n start_at: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.toColombiaISOString)(dateStr, startH, startM),\n end_at: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.toColombiaISOString)(dateStr, endH, endM),\n block_type: \"appointment\",\n patient_id: values.patientId,\n procedure_id: values.procedureId,\n status: \"confirmed\",\n channel: values.channel\n });\n if (error) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Error al crear la cita.\");\n return;\n }\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.success(\"Cita agendada correctamente.\");\n closeModal();\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();\n }\n }[\"SlotActionModal.useCallback[onAppointment]\"], [\n closeModal,\n modalPayload,\n onSuccess,\n supabase\n ]);\n var _apptForm_watch, _apptForm_watch1;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.Dialog, {\n open: isOpen,\n onOpenChange: (open)=>!open && closeModal(),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogContent, {\n className: \"max-w-lg rounded-[18px]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogTitle, {\n className: \"font-heading text-lg font-semibold\",\n children: \"Acci\\xf3n sobre el espacio\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.Tabs, {\n defaultValue: \"appointment\",\n className: \"mt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.TabsList, {\n className: \"bg-muted/50 rounded-[12px] w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.TabsTrigger, {\n value: \"appointment\",\n className: \"flex-1 text-xs\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"size-3 mr-1.5\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 307,\n columnNumber: 15\n }, this),\n \"Agendar cita\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 306,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.TabsTrigger, {\n value: \"block\",\n className: \"flex-1 text-xs\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"size-3 mr-1.5\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 311,\n columnNumber: 15\n }, this),\n \"Bloquear espacio\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 310,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 305,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.TabsContent, {\n value: \"appointment\",\n className: \"mt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: apptForm.handleSubmit(onAppointment),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium\",\n children: \"Paciente\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 324,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n placeholder: \"Buscar por nombre o tel\\xe9fono…\",\n value: searchValue,\n onChange: (e)=>{\n const value = e.target.value;\n setSearchValue(value);\n apptForm.setValue(\"patientSearch\", value);\n if (searchTimeoutRef.current) clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(()=>{\n void searchPatients(value);\n }, 300);\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 325,\n columnNumber: 17\n }, this),\n isSearching && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground\",\n children: \"Buscando…\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 339,\n columnNumber: 19\n }, this),\n patients.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border border-border rounded-[12px] overflow-hidden\",\n children: patients.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"w-full text-left px-3 py-2 text-sm hover:bg-muted/50 transition-colors border-b last:border-0 border-border/50\",\n onClick: ()=>{\n apptForm.setValue(\"patientId\", p.id, {\n shouldValidate: true,\n shouldDirty: true\n });\n apptForm.setValue(\"patientSearch\", p.name, {\n shouldValidate: true\n });\n setSearchValue(p.name);\n setPatients([]);\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium\",\n children: p.name\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 355,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground\",\n children: p.phone\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 356,\n columnNumber: 25\n }, this)\n ]\n }, p.id, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 344,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 342,\n columnNumber: 19\n }, this),\n apptForm.formState.errors.patientId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: apptForm.formState.errors.patientId.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 362,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 323,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_16__.Controller, {\n control: apptForm.control,\n name: \"patientId\",\n render: (param)=>{\n let { field } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"hidden\",\n ...field\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 372,\n columnNumber: 40\n }, void 0);\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 369,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium\",\n children: \"Procedimiento\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 377,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_16__.Controller, {\n control: apptForm.control,\n name: \"procedureId\",\n render: (param)=>{\n let { field } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.Select, {\n value: field.value,\n onValueChange: (v)=>field.onChange(v !== null && v !== void 0 ? v : \"\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectTrigger, {\n className: \"rounded-[12px]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectValue, {\n placeholder: \"Seleccionar procedimiento\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 387,\n columnNumber: 25\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 386,\n columnNumber: 23\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectContent, {\n children: procedures.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: p.id,\n children: [\n p.name,\n \" (\",\n p.duration_min,\n \" min)\"\n ]\n }, p.id, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 391,\n columnNumber: 27\n }, void 0))\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 389,\n columnNumber: 23\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 382,\n columnNumber: 21\n }, void 0);\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 378,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 376,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n className: \"size-3.5 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 404,\n columnNumber: 19\n }, this),\n \"Horario de la cita\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 403,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-xs text-muted-foreground\",\n children: \"Hora inicio\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 409,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n type: \"time\",\n value: (_apptForm_watch = apptForm.watch(\"startTime\")) !== null && _apptForm_watch !== void 0 ? _apptForm_watch : initialStartTime,\n onChange: (e)=>apptForm.setValue(\"startTime\", e.target.value, {\n shouldValidate: true,\n shouldDirty: true\n }),\n className: \"rounded-[12px] h-9 text-sm\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 410,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 408,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-xs text-muted-foreground\",\n children: \"Hora fin\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 423,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n type: \"time\",\n value: (_apptForm_watch1 = apptForm.watch(\"endTime\")) !== null && _apptForm_watch1 !== void 0 ? _apptForm_watch1 : initialEndTime,\n onChange: (e)=>apptForm.setValue(\"endTime\", e.target.value, {\n shouldValidate: true,\n shouldDirty: true\n }),\n className: \"rounded-[12px] h-9 text-sm\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 424,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 422,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 407,\n columnNumber: 17\n }, this),\n apptForm.formState.errors.startTime && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: apptForm.formState.errors.startTime.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 438,\n columnNumber: 19\n }, this),\n apptForm.formState.errors.endTime && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: apptForm.formState.errors.endTime.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 443,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 402,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium\",\n children: \"Canal de origen\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 451,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_16__.Controller, {\n control: apptForm.control,\n name: \"channel\",\n render: (param)=>{\n let { field } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.Select, {\n value: field.value,\n onValueChange: (v)=>field.onChange(v !== null && v !== void 0 ? v : \"web\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectTrigger, {\n className: \"rounded-[12px]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectValue, {}, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 463,\n columnNumber: 25\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 462,\n columnNumber: 23\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectContent, {\n children: [\n \"whatsapp\",\n \"messenger\",\n \"instagram\",\n \"web\",\n \"tiktok\",\n \"manual\"\n ].map((ch)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: ch,\n className: \"capitalize\",\n children: ch\n }, ch, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 467,\n columnNumber: 27\n }, void 0))\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 465,\n columnNumber: 23\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 456,\n columnNumber: 21\n }, void 0);\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 452,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 450,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 pt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"flex-1 rounded-[12px]\",\n onClick: closeModal,\n children: \"Cancelar\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 478,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"submit\",\n className: \"flex-1 bg-primary text-[#0D141D] font-semibold rounded-[12px] hover:bg-primary/90\",\n disabled: apptForm.formState.isSubmitting,\n children: apptForm.formState.isSubmitting ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n className: \"size-4 animate-spin\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 492,\n columnNumber: 21\n }, this) : \"Confirmar cita\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 486,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 477,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 318,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 317,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_12__.TabsContent, {\n value: \"block\",\n className: \"mt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: blockForm.handleSubmit(onBlock),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n className: \"size-3.5 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 510,\n columnNumber: 19\n }, this),\n \"D\\xedas a bloquear\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 509,\n columnNumber: 17\n }, this),\n selectedDates && selectedDates.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-1.5 mb-2\",\n children: [\n ...selectedDates\n ].sort((a, b)=>a.getTime() - b.getTime()).map((date, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-flex items-center gap-1 px-2 py-0.5 rounded-[8px] bg-muted text-xs font-medium\",\n children: [\n (0,date_fns_format__WEBPACK_IMPORTED_MODULE_15__.format)(date, \"d MMM\", {\n locale: date_fns_locale_es__WEBPACK_IMPORTED_MODULE_22__.es\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>removeDate(date),\n className: \"text-muted-foreground hover:text-destructive transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_23__[\"default\"], {\n className: \"size-3\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 530,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 525,\n columnNumber: 27\n }, this)\n ]\n }, i, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 520,\n columnNumber: 25\n }, this))\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 516,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n className: \"w-full rounded-[12px] text-xs h-8\",\n onClick: ()=>setShowCalendar(!showCalendar),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n className: \"size-3.5 mr-1.5\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 544,\n columnNumber: 19\n }, this),\n showCalendar ? \"Ocultar calendario\" : \"Seleccionar días\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 537,\n columnNumber: 17\n }, this),\n showCalendar && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center border border-border rounded-[12px] bg-background mt-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_day_picker__WEBPACK_IMPORTED_MODULE_24__.DayPicker, {\n mode: \"multiple\",\n selected: selectedDates !== null && selectedDates !== void 0 ? selectedDates : [],\n onSelect: (dates)=>{\n blockForm.setValue(\"dates\", dates !== null && dates !== void 0 ? dates : [], {\n shouldValidate: true,\n shouldDirty: true\n });\n },\n month: calendarMonth,\n onMonthChange: setCalendarMonth,\n locale: date_fns_locale_es__WEBPACK_IMPORTED_MODULE_22__.es,\n showOutsideDays: false,\n disabled: {\n before: new Date()\n },\n classNames: {\n root: \"p-3\",\n months: \"flex flex-col gap-3\",\n month: \"flex flex-col gap-3\",\n nav: \"absolute inset-x-0 top-0 flex items-center justify-between gap-1 p-2\",\n month_caption: \"flex justify-center h-8 items-center font-medium text-sm\",\n weekdays: \"flex\",\n weekday: \"flex-1 text-[0.7rem] font-normal text-muted-foreground text-center\",\n week: \"flex w-full mt-1\",\n day: \"flex-1 aspect-square text-center p-0 [&:first-child>button]:rounded-l-[8px] [&:last-child>button]:rounded-r-[8px]\",\n day_button: \"size-full rounded-[8px] text-xs hover:bg-muted transition-colors border-0 bg-transparent\",\n selected: \"bg-primary text-primary-foreground rounded-[8px] hover:bg-primary/90\",\n today: \"font-bold bg-muted/50\",\n outside: \"text-muted-foreground/40\",\n disabled: \"text-muted-foreground/30\",\n chevron: \"size-4\"\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 550,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 549,\n columnNumber: 19\n }, this),\n blockForm.formState.errors.dates && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: blockForm.formState.errors.dates.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 586,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 508,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n className: \"size-3.5 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 595,\n columnNumber: 19\n }, this),\n \"Horario del bloqueo\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 594,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-xs text-muted-foreground\",\n children: \"Hora inicio\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 600,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n type: \"time\",\n value: selectedStartTime !== null && selectedStartTime !== void 0 ? selectedStartTime : \"09:00\",\n onChange: (e)=>blockForm.setValue(\"startTime\", e.target.value, {\n shouldValidate: true,\n shouldDirty: true\n }),\n className: \"rounded-[12px] h-9 text-sm\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 601,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 599,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-xs text-muted-foreground\",\n children: \"Hora fin\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 614,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n type: \"time\",\n value: selectedEndTime !== null && selectedEndTime !== void 0 ? selectedEndTime : \"09:30\",\n onChange: (e)=>blockForm.setValue(\"endTime\", e.target.value, {\n shouldValidate: true,\n shouldDirty: true\n }),\n className: \"rounded-[12px] h-9 text-sm\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 615,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 613,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 598,\n columnNumber: 17\n }, this),\n blockForm.formState.errors.startTime && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: blockForm.formState.errors.startTime.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 629,\n columnNumber: 19\n }, this),\n blockForm.formState.errors.endTime && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: blockForm.formState.errors.endTime.message\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 634,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 593,\n columnNumber: 15\n }, this),\n selectedDates && selectedDates.length > 0 && selectedStartTime && selectedEndTime && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-[12px] bg-muted/50 p-3 text-xs text-muted-foreground space-y-0.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-foreground\",\n children: selectedDates.length\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 644,\n columnNumber: 21\n }, this),\n \" d\\xeda(s) seleccionados\"\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 643,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n \"Bloque de \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-foreground\",\n children: selectedStartTime\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 648,\n columnNumber: 31\n }, this),\n \" a\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-foreground\",\n children: selectedEndTime\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 649,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 647,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 642,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_10__.Label, {\n className: \"text-sm font-medium\",\n children: \"Tipo de bloqueo\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 656,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_16__.Controller, {\n control: blockForm.control,\n name: \"blockType\",\n render: (param)=>{\n let { field } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.Select, {\n value: field.value,\n onValueChange: (v)=>field.onChange(v !== null && v !== void 0 ? v : \"admin\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectTrigger, {\n className: \"rounded-[12px]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectValue, {}, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 668,\n columnNumber: 25\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 667,\n columnNumber: 23\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectContent, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: \"surgery\",\n children: \"\\uD83D\\uDD2A Cirug\\xeda\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 671,\n columnNumber: 25\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: \"admin\",\n children: \"\\uD83D\\uDCCB Administrativo\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 672,\n columnNumber: 25\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: \"vacation\",\n children: \"\\uD83C\\uDFD6️ Vacaciones\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 673,\n columnNumber: 25\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_11__.SelectItem, {\n value: \"event\",\n children: \"\\uD83C\\uDFAF Evento\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 674,\n columnNumber: 25\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 670,\n columnNumber: 23\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 661,\n columnNumber: 21\n }, void 0);\n }\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 657,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 655,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 pt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"flex-1 rounded-[12px]\",\n onClick: closeModal,\n children: \"Cancelar\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 682,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"submit\",\n className: \"flex-1 bg-primary text-[#0D141D] font-semibold rounded-[12px] hover:bg-primary/90\",\n disabled: blockForm.formState.isSubmitting,\n children: blockForm.formState.isSubmitting ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarDays_CalendarPlus_Clock_Loader2_Lock_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n className: \"size-4 animate-spin\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 696,\n columnNumber: 21\n }, this) : \"Bloquear espacio\"\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 690,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 681,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 503,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 502,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 304,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/silvio/Develop/CIRUX-APP/src/components/calendar/SlotActionModal.tsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n_s(SlotActionModal, \"6xgrGFlQUCRe/swlkeTRYrsMTCY=\", false, function() {\n return [\n _lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore,\n _lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore,\n _lib_stores_uiStore__WEBPACK_IMPORTED_MODULE_6__.useUIStore,\n react_hook_form__WEBPACK_IMPORTED_MODULE_16__.useForm,\n react_hook_form__WEBPACK_IMPORTED_MODULE_16__.useForm\n ];\n});\n_c = SlotActionModal;\nvar _c;\n$RefreshReg$(_c, \"SlotActionModal\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2NhbGVuZGFyL1Nsb3RBY3Rpb25Nb2RhbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMEU7QUFDcEI7QUFDQTtBQUM5QjtBQUNPO0FBUVQ7QUFDbUI7QUFDUTtBQUdUO0FBQ0s7QUFDVTtBQUNMO0FBQ0E7QUFNbEI7QUFDZ0I7QUFDRjtBQUNBO0FBT2Q7QUFDZ0Q7QUFHaEYsK0VBQStFO0FBRS9FLE1BQU11QyxjQUFjL0Isd0NBQVEsQ0FBQztJQUMzQmlDLE9BQU9qQyx1Q0FBTyxDQUFDQSxzQ0FBTSxJQUFJb0MsR0FBRyxDQUFDLEdBQUc7SUFDaENDLFdBQVdyQyx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFDN0JHLFNBQVN2Qyx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFDM0JJLFdBQVd4Qyx5Q0FBTSxDQUFDO1FBQUM7UUFBVztRQUFTO1FBQVk7S0FBUTtJQUMzRDBDLE9BQU8xQyx3Q0FBUSxHQUFHMkMsUUFBUTtBQUM1QixHQUFHQyxNQUFNLENBQUMsQ0FBQ0M7SUFDVCxJQUFJLENBQUNBLEVBQUVSLFNBQVMsSUFBSSxDQUFDUSxFQUFFTixPQUFPLEVBQUUsT0FBTztJQUN2QyxPQUFPTSxFQUFFUixTQUFTLEdBQUdRLEVBQUVOLE9BQU87QUFDaEMsR0FBRztJQUNETyxTQUFTO0lBQ1RDLE1BQU07UUFBQztLQUFVO0FBQ25CO0FBRUEsTUFBTUMsb0JBQW9CaEQsd0NBQVEsQ0FBQztJQUNqQ2lELGVBQWVqRCx3Q0FBUTtJQUN2QmtELFdBQVdsRCx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFDN0JlLGFBQWFuRCx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFDL0JDLFdBQVdyQyx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFDN0JHLFNBQVN2Qyx3Q0FBUSxHQUFHb0MsR0FBRyxDQUFDLEdBQUc7SUFD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ZW50cy9jYWxlbmRhci9TbG90QWN0aW9uTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VGb3JtLCBDb250cm9sbGVyIH0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xuaW1wb3J0IHsgem9kUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy96b2RcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIjtcbmltcG9ydCB7XG4gIExvYWRlcjIsXG4gIExvY2ssXG4gIENhbGVuZGFyUGx1cyxcbiAgQ2xvY2ssXG4gIENhbGVuZGFyRGF5cyxcbiAgVHJhc2gyLFxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0XCI7XG5pbXBvcnQgeyBzdGFydE9mRGF5IH0gZnJvbSBcImRhdGUtZm5zL3N0YXJ0T2ZEYXlcIjtcbmltcG9ydCB7IHNldEhvdXJzIH0gZnJvbSBcImRhdGUtZm5zL3NldEhvdXJzXCI7XG5pbXBvcnQgeyBzZXRNaW51dGVzIH0gZnJvbSBcImRhdGUtZm5zL3NldE1pbnV0ZXNcIjtcbmltcG9ydCB7IGVzIH0gZnJvbSBcImRhdGUtZm5zL2xvY2FsZS9lc1wiO1xuaW1wb3J0IHsgRGF5UGlja2VyIH0gZnJvbSBcInJlYWN0LWRheS1waWNrZXJcIjtcbmltcG9ydCB7IGNyZWF0ZUNsaWVudCB9IGZyb20gXCJAL3V0aWxzL3N1cGFiYXNlL2NsaWVudFwiO1xuaW1wb3J0IHsgdG9Db2xvbWJpYUlTT1N0cmluZyB9IGZyb20gXCJAL2xpYi91dGlsc1wiO1xuaW1wb3J0IHsgdXNlVUlTdG9yZSB9IGZyb20gXCJAL2xpYi9zdG9yZXMvdWlTdG9yZVwiO1xuaW1wb3J0IHtcbiAgRGlhbG9nLFxuICBEaWFsb2dDb250ZW50LFxuICBEaWFsb2dIZWFkZXIsXG4gIERpYWxvZ1RpdGxlLFxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2RpYWxvZ1wiO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9pbnB1dFwiO1xuaW1wb3J0IHsgTGFiZWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2xhYmVsXCI7XG5pbXBvcnQge1xuICBTZWxlY3QsXG4gIFNlbGVjdENvbnRlbnQsXG4gIFNlbGVjdEl0ZW0sXG4gIFNlbGVjdFRyaWdnZXIsXG4gIFNlbGVjdFZhbHVlLFxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3NlbGVjdFwiO1xuaW1wb3J0IHsgVGFicywgVGFic0NvbnRlbnQsIFRhYnNMaXN0LCBUYWJzVHJpZ2dlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGFic1wiO1xuaW1wb3J0IHR5cGUgeyBQYXRpZW50LCBQcm9jZWR1cmUgfSBmcm9tIFwiQC9saWIvdHlwZXNcIjtcblxuLy8g4pSA4pSA4pSAIFNjaGVtYXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmNvbnN0IGJsb2NrU2NoZW1hID0gei5vYmplY3Qoe1xuICBkYXRlczogei5hcnJheSh6LmRhdGUoKSkubWluKDEsIFwiU2VsZWNjaW9uYSBhbCBtZW5vcyB1biBkw61hXCIpLFxuICBzdGFydFRpbWU6IHouc3RyaW5nKCkubWluKDEsIFwiSG9yYSBkZSBpbmljaW8gcmVxdWVyaWRhXCIpLFxuICBlbmRUaW1lOiB6LnN0cmluZygpLm1pbigxLCBcIkhvcmEgZGUgZmluIHJlcXVlcmlkYVwiKSxcbiAgYmxvY2tUeXBlOiB6LmVudW0oW1wic3VyZ2VyeVwiLCBcImFkbWluXCIsIFwidmFjYXRpb25cIiwgXCJldmVudFwiXSksXG4gIG5vdGVzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KS5yZWZpbmUoKGQpID0+IHtcbiAgaWYgKCFkLnN0YXJ0VGltZSB8fCAhZC5lbmRUaW1lKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGQuc3RhcnRUaW1lIDwgZC5lbmRUaW1lO1xufSwge1xuICBtZXNzYWdlOiBcIkxhIGhvcmEgZGUgZmluIGRlYmUgc2VyIHBvc3RlcmlvciBhIGxhIGRlIGluaWNpb1wiLFxuICBwYXRoOiBbXCJlbmRUaW1lXCJdLFxufSk7XG5cbmNvbnN0IGFwcG9pbnRtZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICBwYXRpZW50U2VhcmNoOiB6LnN0cmluZygpLFxuICBwYXRpZW50SWQ6IHouc3RyaW5nKCkubWluKDEsIFwiU2VsZWNjaW9uYSB1biBwYWNpZW50ZVwiKSxcbiAgcHJvY2VkdXJlSWQ6IHouc3RyaW5nKCkubWluKDEsIFwiU2VsZWNjaW9uYSB1biBwcm9jZWRpbWllbnRvXCIpLFxuICBzdGFydFRpbWU6IHouc3RyaW5nKCkubWluKDEsIFwiSG9yYSBkZSBpbmljaW8gcmVxdWVyaWRhXCIpLFxuICBlbmRUaW1lOiB6LnN0cmluZygpLm1pbigxLCBcIkhvcmEgZGUgZmluIHJlcXVlcmlkYVwiKSxcbiAgY2hhbm5lbDogei5lbnVtKFtcIndoYXRzYXBwXCIsIFwibWVzc2VuZ2VyXCIsIFwiaW5zdGFncmFtXCIsIFwidGlrdG9rXCIsIFwid2ViXCIsIFwibWFudWFsXCJdKSxcbn0pLnJlZmluZSgoZCkgPT4gZC5wYXRpZW50SWQubGVuZ3RoID4gMCAmJiBkLnBhdGllbnRJZCAhPT0gXCJcIiwge1xuICBtZXNzYWdlOiBcIlNlbGVjY2lvbmEgdW4gcGFjaWVudGUgdsOhbGlkb1wiLFxuICBwYXRoOiBbXCJwYXRpZW50SWRcIl0sXG59KS5yZWZpbmUoKGQpID0+IHtcbiAgaWYgKCFkLnN0YXJ0VGltZSB8fCAhZC5lbmRUaW1lKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGQuc3RhcnRUaW1lIDwgZC5lbmRUaW1lO1xufSwge1xuICBtZXNzYWdlOiBcIkxhIGhvcmEgZGUgZmluIGRlYmUgc2VyIHBvc3RlcmlvciBhIGxhIGRlIGluaWNpb1wiLFxuICBwYXRoOiBbXCJlbmRUaW1lXCJdLFxufSk7XG5cbnR5cGUgQmxvY2tWYWx1ZXMgPSB6LmluZmVyPHR5cGVvZiBibG9ja1NjaGVtYT47XG50eXBlIEFwcG9pbnRtZW50VmFsdWVzID0gei5pbmZlcjx0eXBlb2YgYXBwb2ludG1lbnRTY2hlbWE+O1xuXG4vLyDilIDilIDilIAgUHJvcHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmludGVyZmFjZSBTbG90QWN0aW9uTW9kYWxQcm9wcyB7XG4gIG9uU3VjY2Vzcz86ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogTW9kYWwgZGUgYWNjacOzbiBzb2JyZSB1biBzbG90IGRlbCBjYWxlbmRhcmlvLlxuICogUGVybWl0ZTogYmxvcXVlYXIgZXNwYWNpbyBvIGFnZW5kYXIgY2l0YSBtYW51YWwgKFJGLTA5LjEuMiAvIFJGLTA5LjEuNSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTbG90QWN0aW9uTW9kYWwoeyBvblN1Y2Nlc3MgfTogU2xvdEFjdGlvbk1vZGFsUHJvcHMpIHtcbiAgY29uc3Qgc3VwYWJhc2UgPSB1c2VNZW1vKCgpID0+IGNyZWF0ZUNsaWVudCgpLCBbXSk7XG4gIGNvbnN0IGFjdGl2ZU1vZGFsID0gdXNlVUlTdG9yZSgocykgPT4gcy5hY3RpdmVNb2RhbCk7XG4gIGNvbnN0IG1vZGFsUGF5bG9hZCA9IHVzZVVJU3RvcmUoKHMpID0+IHMubW9kYWxQYXlsb2FkKTtcbiAgY29uc3QgY2xvc2VNb2RhbCA9IHVzZVVJU3RvcmUoKHMpID0+IHMuY2xvc2VNb2RhbCk7XG4gIGNvbnN0IGlzT3BlbiA9IGFjdGl2ZU1vZGFsID09PSBcInNsb3RBY3Rpb25cIjtcblxuICBjb25zdCBbcGF0aWVudHMsIHNldFBhdGllbnRzXSA9IHVzZVN0YXRlPFBhdGllbnRbXT4oW10pO1xuICBjb25zdCBbcHJvY2VkdXJlcywgc2V0UHJvY2VkdXJlc10gPSB1c2VTdGF0ZTxQcm9jZWR1cmVbXT4oW10pO1xuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbaXNTZWFyY2hpbmcsIHNldElzU2VhcmNoaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NhbGVuZGFyTW9udGgsIHNldENhbGVuZGFyTW9udGhdID0gdXNlU3RhdGU8RGF0ZT4obmV3IERhdGUoKSk7XG4gIGNvbnN0IFtzaG93Q2FsZW5kYXIsIHNldFNob3dDYWxlbmRhcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8gRXh0cmFjdCBpbml0aWFsIGRhdGUgcmFuZ2UgZnJvbSBGdWxsQ2FsZW5kYXIgc2VsZWN0aW9uXG4gIGNvbnN0IGluaXRpYWxEYXRlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghbW9kYWxQYXlsb2FkKSByZXR1cm4gW107XG4gICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBtb2RhbFBheWxvYWQgYXMgeyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9O1xuICAgIGlmICghc3RhcnQgfHwgIWVuZCkgcmV0dXJuIFtdO1xuXG4gICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnRPZkRheShuZXcgRGF0ZShzdGFydCkpO1xuICAgIGNvbnN0IGVuZERhdGUgPSBzdGFydE9mRGF5KG5ldyBEYXRlKGVuZCkpO1xuICAgIC8vIGVuZCBpcyBleGNsdXNpdmUgaW4gRnVsbENhbGVuZGFyOyBzdWJ0cmFjdCAxIGRheSBmb3IgbXVsdGktZGF5IHNlbGVjdGlvbnNcbiAgICBjb25zdCBhZGp1c3RlZEVuZCA9IG5ldyBEYXRlKGVuZERhdGUuZ2V0VGltZSgpIC0gODY0MDAwMDApO1xuXG4gICAgaWYgKGFkanVzdGVkRW5kLmdldFRpbWUoKSA8PSBzdGFydERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4gW3N0YXJ0RGF0ZV07XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZXM6IERhdGVbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gc3RhcnREYXRlO1xuICAgIHdoaWxlIChjdXJyZW50IDw9IGFkanVzdGVkRW5kKSB7XG4gICAgICBkYXRlcy5wdXNoKG5ldyBEYXRlKGN1cnJlbnQpKTtcbiAgICAgIGN1cnJlbnQgPSBuZXcgRGF0ZShjdXJyZW50LmdldFRpbWUoKSArIDg2NDAwMDAwKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGVzO1xuICB9LCBbbW9kYWxQYXlsb2FkXSk7XG5cbiAgY29uc3QgaW5pdGlhbFN0YXJ0VGltZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghbW9kYWxQYXlsb2FkKSByZXR1cm4gXCIwODowMFwiO1xuICAgIGNvbnN0IHsgc3RhcnQgfSA9IG1vZGFsUGF5bG9hZCBhcyB7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH07XG4gICAgaWYgKCFzdGFydCkgcmV0dXJuIFwiMDg6MDBcIjtcbiAgICBjb25zdCB0aW1lID0gZm9ybWF0KG5ldyBEYXRlKHN0YXJ0KSwgXCJISDptbVwiKTtcbiAgICByZXR1cm4gdGltZSA9PT0gXCIwMDowMFwiID8gXCIwODowMFwiIDogdGltZTtcbiAgfSwgW21vZGFsUGF5bG9hZF0pO1xuXG4gIGNvbnN0IGluaXRpYWxFbmRUaW1lID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFtb2RhbFBheWxvYWQpIHJldHVybiBcIjA5OjAwXCI7XG4gICAgY29uc3QgeyBlbmQsIHN0YXJ0IH0gPSBtb2RhbFBheWxvYWQgYXMgeyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9O1xuICAgIGlmICghZW5kKSByZXR1cm4gXCIwOTowMFwiO1xuICAgIGNvbnN0IGVuZFRpbWUgPSBmb3JtYXQobmV3IERhdGUoZW5kKSwgXCJISDptbVwiKTtcbiAgICBpZiAoZW5kVGltZSA9PT0gXCIwMDowMFwiKSB7XG4gICAgICBjb25zdCBzdCA9IHN0YXJ0ID8gZm9ybWF0KG5ldyBEYXRlKHN0YXJ0KSwgXCJISDptbVwiKSA6IFwiMDg6MDBcIjtcbiAgICAgIGlmIChzdCA9PT0gXCIwMDowMFwiKSByZXR1cm4gXCIwOTowMFwiO1xuICAgICAgY29uc3QgW2gsIG1dID0gc3Quc3BsaXQoXCI6XCIpLm1hcChOdW1iZXIpO1xuICAgICAgY29uc3QgdG90YWxNaW51dGVzID0gaCAqIDYwICsgbSArIDYwO1xuICAgICAgY29uc3QgbmV3SCA9IE1hdGguZmxvb3IodG90YWxNaW51dGVzIC8gNjApICUgMjQ7XG4gICAgICBjb25zdCBuZXdNID0gdG90YWxNaW51dGVzICUgNjA7XG4gICAgICByZXR1cm4gYCR7U3RyaW5nKG5ld0gpLnBhZFN0YXJ0KDIsIFwiMFwiKX06JHtTdHJpbmcobmV3TSkucGFkU3RhcnQoMiwgXCIwXCIpfWA7XG4gICAgfVxuICAgIHJldHVybiBlbmRUaW1lO1xuICB9LCBbbW9kYWxQYXlsb2FkXSk7XG5cbiAgLy8gQmxvY2sgZm9ybVxuICBjb25zdCBibG9ja0Zvcm0gPSB1c2VGb3JtPEJsb2NrVmFsdWVzPih7XG4gICAgcmVzb2x2ZXI6IHpvZFJlc29sdmVyKGJsb2NrU2NoZW1hKSxcbiAgICBkZWZhdWx0VmFsdWVzOiB7XG4gICAgICBkYXRlczogaW5pdGlhbERhdGVzLFxuICAgICAgc3RhcnRUaW1lOiBpbml0aWFsU3RhcnRUaW1lLFxuICAgICAgZW5kVGltZTogaW5pdGlhbEVuZFRpbWUsXG4gICAgICBibG9ja1R5cGU6IFwiYWRtaW5cIixcbiAgICAgIG5vdGVzOiBcIlwiLFxuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkRGF0ZXMgPSBibG9ja0Zvcm0ud2F0Y2goXCJkYXRlc1wiKTtcbiAgY29uc3Qgc2VsZWN0ZWRTdGFydFRpbWUgPSBibG9ja0Zvcm0ud2F0Y2goXCJzdGFydFRpbWVcIik7XG4gIGNvbnN0IHNlbGVjdGVkRW5kVGltZSA9IGJsb2NrRm9ybS53YXRjaChcImVuZFRpbWVcIik7XG5cbiAgLy8gTG9hZCBwcm9jZWR1cmVzIG9uIG1vdW50ICsgcmVzZXQgZm9ybSBvbiBvcGVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgY29uc3QgbG9hZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBzdXBhYmFzZVxuICAgICAgICAgIC5mcm9tKFwicHJvY2VkdXJlc1wiKVxuICAgICAgICAgIC5zZWxlY3QoXCJpZCwgbmFtZSwgZHVyYXRpb25fbWluXCIpXG4gICAgICAgICAgLmVxKFwiaXNfYWN0aXZlXCIsIHRydWUpXG4gICAgICAgICAgLm9yZGVyKFwibmFtZVwiKTtcbiAgICAgICAgc2V0UHJvY2VkdXJlcygoZGF0YSA/PyBbXSkgYXMgUHJvY2VkdXJlW10pO1xuICAgICAgfTtcbiAgICAgIHZvaWQgbG9hZCgpO1xuICAgICAgLy8gUmVzZXQgZm9ybSBzdGF0ZVxuICAgICAgYXBwdEZvcm0ucmVzZXQoeyBwYXRpZW50U2VhcmNoOiBcIlwiLCBwYXRpZW50SWQ6IFwiXCIsIHByb2NlZHVyZUlkOiBcIlwiLCBzdGFydFRpbWU6IGluaXRpYWxTdGFydFRpbWUsIGVuZFRpbWU6IGluaXRpYWxFbmRUaW1lLCBjaGFubmVsOiBcIndlYlwiIH0pO1xuICAgICAgYmxvY2tGb3JtLnJlc2V0KHtcbiAgICAgICAgZGF0ZXM6IGluaXRpYWxEYXRlcyxcbiAgICAgICAgc3RhcnRUaW1lOiBpbml0aWFsU3RhcnRUaW1lLFxuICAgICAgICBlbmRUaW1lOiBpbml0aWFsRW5kVGltZSxcbiAgICAgICAgYmxvY2tUeXBlOiBcImFkbWluXCIsXG4gICAgICAgIG5vdGVzOiBcIlwiLFxuICAgICAgfSk7XG4gICAgICBzZXRTZWFyY2hWYWx1ZShcIlwiKTtcbiAgICAgIHNldFBhdGllbnRzKFtdKTtcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSk7XG4gICAgICBpZiAoaW5pdGlhbERhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc2V0Q2FsZW5kYXJNb250aChpbml0aWFsRGF0ZXNbMF0pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBzZWFyY2hUaW1lb3V0UmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gU2VhcmNoIHBhdGllbnRzIHdpdGggZGVib3VuY2VcbiAgY29uc3Qgc2VhcmNoUGF0aWVudHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHJpbW1lZCA9IHF1ZXJ5LnRyaW0oKTtcbiAgICAgIGlmICghdHJpbW1lZCkge1xuICAgICAgICBzZXRQYXRpZW50cyhbXSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNldElzU2VhcmNoaW5nKHRydWUpO1xuICAgICAgY29uc3QgZXNjYXBlZCA9IHRyaW1tZWQucmVwbGFjZSgvWyVfXS9nLCBcIlxcXFwkJlwiKTtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgc3VwYWJhc2VcbiAgICAgICAgLmZyb20oXCJwYXRpZW50c1wiKVxuICAgICAgICAuc2VsZWN0KFwiaWQsIG5hbWUsIHBob25lXCIpXG4gICAgICAgIC5vcihgbmFtZS5pbGlrZS4lJHtlc2NhcGVkfSUscGhvbmUuaWxpa2UuJSR7ZXNjYXBlZH0lYClcbiAgICAgICAgLmxpbWl0KDUpO1xuICAgICAgc2V0UGF0aWVudHMoKGRhdGEgPz8gW10pIGFzIFBhdGllbnRbXSk7XG4gICAgICBzZXRJc1NlYXJjaGluZyhmYWxzZSk7XG4gICAgfSxcbiAgICBbc3VwYWJhc2VdXG4gICk7XG5cbiAgY29uc3QgcmVtb3ZlRGF0ZSA9IChkYXRlVG9SZW1vdmU6IERhdGUpID0+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gYmxvY2tGb3JtLmdldFZhbHVlcyhcImRhdGVzXCIpO1xuICAgIGJsb2NrRm9ybS5zZXRWYWx1ZShcbiAgICAgIFwiZGF0ZXNcIixcbiAgICAgIGN1cnJlbnQuZmlsdGVyKChkKSA9PiBkLnRvRGF0ZVN0cmluZygpICE9PSBkYXRlVG9SZW1vdmUudG9EYXRlU3RyaW5nKCkpLFxuICAgICAgeyBzaG91bGRWYWxpZGF0ZTogdHJ1ZSwgc2hvdWxkRGlydHk6IHRydWUgfVxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgb25CbG9jayA9IHVzZUNhbGxiYWNrKGFzeW5jICh2YWx1ZXM6IEJsb2NrVmFsdWVzKSA9PiB7XG4gICAgY29uc3QgW3N0YXJ0SCwgc3RhcnRNXSA9IHZhbHVlcy5zdGFydFRpbWUuc3BsaXQoXCI6XCIpLm1hcChOdW1iZXIpO1xuICAgIGNvbnN0IFtlbmRILCBlbmRNXSA9IHZhbHVlcy5lbmRUaW1lLnNwbGl0KFwiOlwiKS5tYXAoTnVtYmVyKTtcblxuICAgIGNvbnN0IHNsb3RzID0gdmFsdWVzLmRhdGVzLm1hcCgoZGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IGZvcm1hdChkYXRlLCBcInl5eXktTU0tZGRcIik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGFydF9hdDogdG9Db2xvbWJpYUlTT1N0cmluZyhkYXRlU3RyLCBzdGFydEgsIHN0YXJ0TSksXG4gICAgICAgIGVuZF9hdDogdG9Db2xvbWJpYUlTT1N0cmluZyhkYXRlU3RyLCBlbmRILCBlbmRNKSxcbiAgICAgICAgYmxvY2tfdHlwZTogdmFsdWVzLmJsb2NrVHlwZSxcbiAgICAgICAgc3RhdHVzOiBcImJsb2NrZWRcIixcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGVycm9yIH0gPSBhd2FpdCBzdXBhYmFzZS5mcm9tKFwic2xvdHNcIikuaW5zZXJ0KHNsb3RzKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgdG9hc3QuZXJyb3IoXCJFcnJvciBhbCBibG9xdWVhciBsb3MgZXNwYWNpb3MuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICBgJHtzbG90cy5sZW5ndGh9IGVzcGFjaW8ocykgYmxvcXVlYWRvKHMpOiAke3ZhbHVlcy5ibG9ja1R5cGV9YFxuICAgICk7XG4gICAgY2xvc2VNb2RhbCgpO1xuICAgIG9uU3VjY2Vzcz8uKCk7XG4gIH0sIFtjbG9zZU1vZGFsLCBvblN1Y2Nlc3MsIHN1cGFiYXNlXSk7XG5cbiAgLy8gQXBwb2ludG1lbnQgZm9ybVxuICBjb25zdCBhcHB0Rm9ybSA9IHVzZUZvcm08QXBwb2ludG1lbnRWYWx1ZXM+KHtcbiAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIoYXBwb2ludG1lbnRTY2hlbWEpLFxuICAgIGRlZmF1bHRWYWx1ZXM6IHsgcGF0aWVudFNlYXJjaDogXCJcIiwgcGF0aWVudElkOiBcIlwiLCBwcm9jZWR1cmVJZDogXCJcIiwgc3RhcnRUaW1lOiBpbml0aWFsU3RhcnRUaW1lLCBlbmRUaW1lOiBpbml0aWFsRW5kVGltZSwgY2hhbm5lbDogXCJ3ZWJcIiB9LFxuICAgIG1vZGU6IFwib25DaGFuZ2VcIixcbiAgfSk7XG5cbiAgY29uc3Qgb25BcHBvaW50bWVudCA9IHVzZUNhbGxiYWNrKGFzeW5jICh2YWx1ZXM6IEFwcG9pbnRtZW50VmFsdWVzKSA9PiB7XG4gICAgY29uc3QgeyBzdGFydCB9ID0gbW9kYWxQYXlsb2FkIGFzIHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfTtcbiAgICBjb25zdCBkYXRlU3RyID0gZm9ybWF0KG5ldyBEYXRlKHN0YXJ0KSwgXCJ5eXl5LU1NLWRkXCIpO1xuXG4gICAgY29uc3QgW3N0YXJ0SCwgc3RhcnRNXSA9IHZhbHVlcy5zdGFydFRpbWUuc3BsaXQoXCI6XCIpLm1hcChOdW1iZXIpO1xuICAgIGNvbnN0IFtlbmRILCBlbmRNXSA9IHZhbHVlcy5lbmRUaW1lLnNwbGl0KFwiOlwiKS5tYXAoTnVtYmVyKTtcblxuICAgIGNvbnN0IHsgZXJyb3IgfSA9IGF3YWl0IHN1cGFiYXNlLmZyb20oXCJzbG90c1wiKS5pbnNlcnQoe1xuICAgICAgc3RhcnRfYXQ6IHRvQ29sb21iaWFJU09TdHJpbmcoZGF0ZVN0ciwgc3RhcnRILCBzdGFydE0pLFxuICAgICAgZW5kX2F0OiB0b0NvbG9tYmlhSVNPU3RyaW5nKGRhdGVTdHIsIGVuZEgsIGVuZE0pLFxuICAgICAgYmxvY2tfdHlwZTogXCJhcHBvaW50bWVudFwiLFxuICAgICAgcGF0aWVudF9pZDogdmFsdWVzLnBhdGllbnRJZCxcbiAgICAgIHByb2NlZHVyZV9pZDogdmFsdWVzLnByb2NlZHVyZUlkLFxuICAgICAgc3RhdHVzOiBcImNvbmZpcm1lZFwiLFxuICAgICAgY2hhbm5lbDogdmFsdWVzLmNoYW5uZWwsXG4gICAgfSk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRvYXN0LmVycm9yKFwiRXJyb3IgYWwgY3JlYXIgbGEgY2l0YS5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdG9hc3Quc3VjY2VzcyhcIkNpdGEgYWdlbmRhZGEgY29ycmVjdGFtZW50ZS5cIik7XG4gICAgY2xvc2VNb2RhbCgpO1xuICAgIG9uU3VjY2Vzcz8uKCk7XG4gIH0sIFtjbG9zZU1vZGFsLCBtb2RhbFBheWxvYWQsIG9uU3VjY2Vzcywgc3VwYWJhc2VdKTtcblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2cgb3Blbj17aXNPcGVufSBvbk9wZW5DaGFuZ2U9eyhvcGVuKSA9PiAhb3BlbiAmJiBjbG9zZU1vZGFsKCl9PlxuICAgICAgPERpYWxvZ0NvbnRlbnQgY2xhc3NOYW1lPVwibWF4LXctbGcgcm91bmRlZC1bMThweF1cIj5cbiAgICAgICAgPERpYWxvZ0hlYWRlcj5cbiAgICAgICAgICA8RGlhbG9nVGl0bGUgY2xhc3NOYW1lPVwiZm9udC1oZWFkaW5nIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiPlxuICAgICAgICAgICAgQWNjacOzbiBzb2JyZSBlbCBlc3BhY2lvXG4gICAgICAgICAgPC9EaWFsb2dUaXRsZT5cbiAgICAgICAgPC9EaWFsb2dIZWFkZXI+XG5cbiAgICAgICAgPFRhYnMgZGVmYXVsdFZhbHVlPVwiYXBwb2ludG1lbnRcIiBjbGFzc05hbWU9XCJtdC0yXCI+XG4gICAgICAgICAgPFRhYnNMaXN0IGNsYXNzTmFtZT1cImJnLW11dGVkLzUwIHJvdW5kZWQtWzEycHhdIHctZnVsbFwiPlxuICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiYXBwb2ludG1lbnRcIiBjbGFzc05hbWU9XCJmbGV4LTEgdGV4dC14c1wiPlxuICAgICAgICAgICAgICA8Q2FsZW5kYXJQbHVzIGNsYXNzTmFtZT1cInNpemUtMyBtci0xLjVcIiAvPlxuICAgICAgICAgICAgICBBZ2VuZGFyIGNpdGFcbiAgICAgICAgICAgIDwvVGFic1RyaWdnZXI+XG4gICAgICAgICAgICA8VGFic1RyaWdnZXIgdmFsdWU9XCJibG9ja1wiIGNsYXNzTmFtZT1cImZsZXgtMSB0ZXh0LXhzXCI+XG4gICAgICAgICAgICAgIDxMb2NrIGNsYXNzTmFtZT1cInNpemUtMyBtci0xLjVcIiAvPlxuICAgICAgICAgICAgICBCbG9xdWVhciBlc3BhY2lvXG4gICAgICAgICAgICA8L1RhYnNUcmlnZ2VyPlxuICAgICAgICAgIDwvVGFic0xpc3Q+XG5cbiAgICAgICAgICB7LyogQWdlbmRhciBjaXRhICovfVxuICAgICAgICAgIDxUYWJzQ29udGVudCB2YWx1ZT1cImFwcG9pbnRtZW50XCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgICAgb25TdWJtaXQ9e2FwcHRGb3JtLmhhbmRsZVN1Ym1pdChvbkFwcG9pbnRtZW50KX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3BhY2UteS00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgey8qIEJ1c2NhciBwYWNpZW50ZSAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTEuNVwiPlxuICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+UGFjaWVudGU8L0xhYmVsPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCdXNjYXIgcG9yIG5vbWJyZSBvIHRlbMOpZm9ub+KAplwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0U2VhcmNoVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHB0Rm9ybS5zZXRWYWx1ZShcInBhdGllbnRTZWFyY2hcIiwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VhcmNoVGltZW91dFJlZi5jdXJyZW50KSBjbGVhclRpbWVvdXQoc2VhcmNoVGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVGltZW91dFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdm9pZCBzZWFyY2hQYXRpZW50cyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge2lzU2VhcmNoaW5nICYmIChcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+QnVzY2FuZG/igKY8L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7cGF0aWVudHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvcmRlciBib3JkZXItYm9yZGVyIHJvdW5kZWQtWzEycHhdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICB7cGF0aWVudHMubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgdGV4dC1sZWZ0IHB4LTMgcHktMiB0ZXh0LXNtIGhvdmVyOmJnLW11dGVkLzUwIHRyYW5zaXRpb24tY29sb3JzIGJvcmRlci1iIGxhc3Q6Ym9yZGVyLTAgYm9yZGVyLWJvcmRlci81MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFwcHRGb3JtLnNldFZhbHVlKFwicGF0aWVudElkXCIsIHAuaWQsIHsgc2hvdWxkVmFsaWRhdGU6IHRydWUsIHNob3VsZERpcnR5OiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhcHB0Rm9ybS5zZXRWYWx1ZShcInBhdGllbnRTZWFyY2hcIiwgcC5uYW1lLCB7IHNob3VsZFZhbGlkYXRlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWFyY2hWYWx1ZShwLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYXRpZW50cyhbXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e3AubmFtZX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPntwLnBob25lfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHthcHB0Rm9ybS5mb3JtU3RhdGUuZXJyb3JzLnBhdGllbnRJZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZGVzdHJ1Y3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAge2FwcHRGb3JtLmZvcm1TdGF0ZS5lcnJvcnMucGF0aWVudElkLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIHBhdGllbnRJZCBoaWRkZW4gLSByZWdpc3RlcmVkIGZvciByZWFjdC1ob29rLWZvcm0gdHJhY2tpbmcgKi99XG4gICAgICAgICAgICAgIDxDb250cm9sbGVyXG4gICAgICAgICAgICAgICAgY29udHJvbD17YXBwdEZvcm0uY29udHJvbH1cbiAgICAgICAgICAgICAgICBuYW1lPVwicGF0aWVudElkXCJcbiAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgey4uLmZpZWxkfSAvPn1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICB7LyogUHJvY2VkaW1pZW50byAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTEuNVwiPlxuICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+UHJvY2VkaW1pZW50bzwvTGFiZWw+XG4gICAgICAgICAgICAgICAgPENvbnRyb2xsZXJcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e2FwcHRGb3JtLmNvbnRyb2x9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwicHJvY2VkdXJlSWRcIlxuICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZmllbGQudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgb25WYWx1ZUNoYW5nZT17KHY6IHN0cmluZyB8IG51bGwpID0+IGZpZWxkLm9uQ2hhbmdlKHYgPz8gXCJcIil9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBjbGFzc05hbWU9XCJyb3VuZGVkLVsxMnB4XVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwiU2VsZWNjaW9uYXIgcHJvY2VkaW1pZW50b1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAge3Byb2NlZHVyZXMubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIGtleT17cC5pZH0gdmFsdWU9e3AuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwLm5hbWV9ICh7cC5kdXJhdGlvbl9taW59IG1pbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIEhvcmFyaW8gKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xLjVcIj5cbiAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwic2l6ZS0zLjUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgIEhvcmFyaW8gZGUgbGEgY2l0YVxuICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0yIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5Ib3JhIGluaWNpbzwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YXBwdEZvcm0ud2F0Y2goXCJzdGFydFRpbWVcIikgPz8gaW5pdGlhbFN0YXJ0VGltZX1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHB0Rm9ybS5zZXRWYWx1ZShcInN0YXJ0VGltZVwiLCBlLnRhcmdldC52YWx1ZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRWYWxpZGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkRGlydHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLVsxMnB4XSBoLTkgdGV4dC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPkhvcmEgZmluPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXthcHB0Rm9ybS53YXRjaChcImVuZFRpbWVcIikgPz8gaW5pdGlhbEVuZFRpbWV9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwdEZvcm0uc2V0VmFsdWUoXCJlbmRUaW1lXCIsIGUudGFyZ2V0LnZhbHVlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFZhbGlkYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXJ0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtWzEycHhdIGgtOSB0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHthcHB0Rm9ybS5mb3JtU3RhdGUuZXJyb3JzLnN0YXJ0VGltZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZGVzdHJ1Y3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAge2FwcHRGb3JtLmZvcm1TdGF0ZS5lcnJvcnMuc3RhcnRUaW1lLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7YXBwdEZvcm0uZm9ybVN0YXRlLmVycm9ycy5lbmRUaW1lICYmIChcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1kZXN0cnVjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7YXBwdEZvcm0uZm9ybVN0YXRlLmVycm9ycy5lbmRUaW1lLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIENhbmFsICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMS41XCI+XG4gICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj5DYW5hbCBkZSBvcmlnZW48L0xhYmVsPlxuICAgICAgICAgICAgICAgIDxDb250cm9sbGVyXG4gICAgICAgICAgICAgICAgICBjb250cm9sPXthcHB0Rm9ybS5jb250cm9sfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImNoYW5uZWxcIlxuICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZmllbGQudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgb25WYWx1ZUNoYW5nZT17KHY6IHN0cmluZyB8IG51bGwpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5vbkNoYW5nZSgodiA/PyBcIndlYlwiKSBhcyBBcHBvaW50bWVudFZhbHVlc1tcImNoYW5uZWxcIl0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFRyaWdnZXIgY2xhc3NOYW1lPVwicm91bmRlZC1bMTJweF1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0VHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsoW1wid2hhdHNhcHBcIiwgXCJtZXNzZW5nZXJcIiwgXCJpbnN0YWdyYW1cIiwgXCJ3ZWJcIiwgXCJ0aWt0b2tcIiwgXCJtYW51YWxcIl0gYXMgY29uc3QpLm1hcCgoY2gpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXtjaH0gdmFsdWU9e2NofSBjbGFzc05hbWU9XCJjYXBpdGFsaXplXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NofVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTIgcHQtMlwiPlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIHJvdW5kZWQtWzEycHhdXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Nsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQ2FuY2VsYXJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSBiZy1wcmltYXJ5IHRleHQtWyMwRDE0MURdIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1bMTJweF0gaG92ZXI6YmctcHJpbWFyeS85MFwiXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YXBwdEZvcm0uZm9ybVN0YXRlLmlzU3VibWl0dGluZ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YXBwdEZvcm0uZm9ybVN0YXRlLmlzU3VibWl0dGluZyA/IChcbiAgICAgICAgICAgICAgICAgICAgPExvYWRlcjIgY2xhc3NOYW1lPVwic2l6ZS00IGFuaW1hdGUtc3BpblwiIC8+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICBcIkNvbmZpcm1hciBjaXRhXCJcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XG5cbiAgICAgICAgICB7LyogQmxvcXVlYXIgZXNwYWNpbyAqL31cbiAgICAgICAgICA8VGFic0NvbnRlbnQgdmFsdWU9XCJibG9ja1wiIGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgIG9uU3VibWl0PXtibG9ja0Zvcm0uaGFuZGxlU3VibWl0KG9uQmxvY2spfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzcGFjZS15LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7LyogU2VsZWNjacOzbiBkZSBkw61hcyAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTEuNVwiPlxuICAgICAgICAgICAgICAgIDxMYWJlbCBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICAgICAgICAgIDxDYWxlbmRhckRheXMgY2xhc3NOYW1lPVwic2l6ZS0zLjUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgIETDrWFzIGEgYmxvcXVlYXJcbiAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgey8qIETDrWFzIHlhIHNlbGVjY2lvbmFkb3MgKGNoaXBzKSAqL31cbiAgICAgICAgICAgICAgICB7c2VsZWN0ZWREYXRlcyAmJiBzZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMS41IG1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAge1suLi5zZWxlY3RlZERhdGVzXVxuICAgICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmdldFRpbWUoKSAtIGIuZ2V0VGltZSgpKVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGRhdGUsIGkpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHB4LTIgcHktMC41IHJvdW5kZWQtWzhweF0gYmctbXV0ZWQgdGV4dC14cyBmb250LW1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JtYXQoZGF0ZSwgXCJkIE1NTVwiLCB7IGxvY2FsZTogZXMgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmVEYXRlKGRhdGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWRlc3RydWN0aXZlIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaDIgY2xhc3NOYW1lPVwic2l6ZS0zXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtWzEycHhdIHRleHQteHMgaC04XCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dDYWxlbmRhcighc2hvd0NhbGVuZGFyKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8Q2FsZW5kYXJEYXlzIGNsYXNzTmFtZT1cInNpemUtMy41IG1yLTEuNVwiIC8+XG4gICAgICAgICAgICAgICAgICB7c2hvd0NhbGVuZGFyID8gXCJPY3VsdGFyIGNhbGVuZGFyaW9cIiA6IFwiU2VsZWNjaW9uYXIgZMOtYXNcIn1cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgIHtzaG93Q2FsZW5kYXIgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktY2VudGVyIGJvcmRlciBib3JkZXItYm9yZGVyIHJvdW5kZWQtWzEycHhdIGJnLWJhY2tncm91bmQgbXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8RGF5UGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgbW9kZT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWREYXRlcyA/PyBbXX1cbiAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdD17KGRhdGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja0Zvcm0uc2V0VmFsdWUoXCJkYXRlc1wiLCBkYXRlcyA/PyBbXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRWYWxpZGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkRGlydHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIG1vbnRoPXtjYWxlbmRhck1vbnRofVxuICAgICAgICAgICAgICAgICAgICAgIG9uTW9udGhDaGFuZ2U9e3NldENhbGVuZGFyTW9udGh9XG4gICAgICAgICAgICAgICAgICAgICAgbG9jYWxlPXtlc31cbiAgICAgICAgICAgICAgICAgICAgICBzaG93T3V0c2lkZURheXM9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt7IGJlZm9yZTogbmV3IERhdGUoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvb3Q6IFwicC0zXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aHM6IFwiZmxleCBmbGV4LWNvbCBnYXAtM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGg6IFwiZmxleCBmbGV4LWNvbCBnYXAtM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBcImFic29sdXRlIGluc2V0LXgtMCB0b3AtMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTEgcC0yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aF9jYXB0aW9uOiBcImZsZXgganVzdGlmeS1jZW50ZXIgaC04IGl0ZW1zLWNlbnRlciBmb250LW1lZGl1bSB0ZXh0LXNtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5czogXCJmbGV4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5OiBcImZsZXgtMSB0ZXh0LVswLjdyZW1dIGZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LWNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2VlazogXCJmbGV4IHctZnVsbCBtdC0xXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXk6IFwiZmxleC0xIGFzcGVjdC1zcXVhcmUgdGV4dC1jZW50ZXIgcC0wIFsmOmZpcnN0LWNoaWxkPmJ1dHRvbl06cm91bmRlZC1sLVs4cHhdIFsmOmxhc3QtY2hpbGQ+YnV0dG9uXTpyb3VuZGVkLXItWzhweF1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRheV9idXR0b246IFwic2l6ZS1mdWxsIHJvdW5kZWQtWzhweF0gdGV4dC14cyBob3ZlcjpiZy1tdXRlZCB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXItMCBiZy10cmFuc3BhcmVudFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IFwiYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCByb3VuZGVkLVs4cHhdIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZGF5OiBcImZvbnQtYm9sZCBiZy1tdXRlZC81MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3V0c2lkZTogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmQvNDBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZC8zMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbjogXCJzaXplLTRcIixcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIHtibG9ja0Zvcm0uZm9ybVN0YXRlLmVycm9ycy5kYXRlcyAmJiAoXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZGVzdHJ1Y3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAge2Jsb2NrRm9ybS5mb3JtU3RhdGUuZXJyb3JzLmRhdGVzLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIEhvcmFyaW8gKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xLjVcIj5cbiAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwic2l6ZS0zLjUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgIEhvcmFyaW8gZGVsIGJsb3F1ZW9cbiAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMiBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+SG9yYSBpbmljaW88L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkU3RhcnRUaW1lID8/IFwiMDk6MDBcIn1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja0Zvcm0uc2V0VmFsdWUoXCJzdGFydFRpbWVcIiwgZS50YXJnZXQudmFsdWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkVmFsaWRhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZERpcnR5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1bMTJweF0gaC05IHRleHQtc21cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgICAgICA8TGFiZWwgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5Ib3JhIGZpbjwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRFbmRUaW1lID8/IFwiMDk6MzBcIn1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja0Zvcm0uc2V0VmFsdWUoXCJlbmRUaW1lXCIsIGUudGFyZ2V0LnZhbHVlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFZhbGlkYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXJ0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtWzEycHhdIGgtOSB0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHtibG9ja0Zvcm0uZm9ybVN0YXRlLmVycm9ycy5zdGFydFRpbWUgJiYgKFxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWRlc3RydWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIHtibG9ja0Zvcm0uZm9ybVN0YXRlLmVycm9ycy5zdGFydFRpbWUubWVzc2FnZX1cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtibG9ja0Zvcm0uZm9ybVN0YXRlLmVycm9ycy5lbmRUaW1lICYmIChcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1kZXN0cnVjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7YmxvY2tGb3JtLmZvcm1TdGF0ZS5lcnJvcnMuZW5kVGltZS5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIHsvKiBSZXN1bWVuICovfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWREYXRlcyAmJiBzZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRTdGFydFRpbWUgJiYgc2VsZWN0ZWRFbmRUaW1lICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtWzEycHhdIGJnLW11dGVkLzUwIHAtMyB0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBzcGFjZS15LTAuNVwiPlxuICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZFwiPntzZWxlY3RlZERhdGVzLmxlbmd0aH08L3NwYW4+IGTDrWEocylcbiAgICAgICAgICAgICAgICAgICAgc2VsZWNjaW9uYWRvc1xuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIEJsb3F1ZSBkZSA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmRcIj57c2VsZWN0ZWRTdGFydFRpbWV9PC9zcGFuPiBhe1wiIFwifVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmRcIj57c2VsZWN0ZWRFbmRUaW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7LyogVGlwbyBkZSBibG9xdWVvICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMS41XCI+XG4gICAgICAgICAgICAgICAgPExhYmVsIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj5UaXBvIGRlIGJsb3F1ZW88L0xhYmVsPlxuICAgICAgICAgICAgICAgIDxDb250cm9sbGVyXG4gICAgICAgICAgICAgICAgICBjb250cm9sPXtibG9ja0Zvcm0uY29udHJvbH1cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJibG9ja1R5cGVcIlxuICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZmllbGQudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgb25WYWx1ZUNoYW5nZT17KHY6IHN0cmluZyB8IG51bGwpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5vbkNoYW5nZSgodiA/PyBcImFkbWluXCIpIGFzIEJsb2NrVmFsdWVzW1wiYmxvY2tUeXBlXCJdKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyIGNsYXNzTmFtZT1cInJvdW5kZWQtWzEycHhdXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cInN1cmdlcnlcIj7wn5SqIENpcnVnw61hPC9TZWxlY3RJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJhZG1pblwiPvCfk4sgQWRtaW5pc3RyYXRpdm88L1NlbGVjdEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cInZhY2F0aW9uXCI+8J+Plu+4jyBWYWNhY2lvbmVzPC9TZWxlY3RJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJldmVudFwiPvCfjq8gRXZlbnRvPC9TZWxlY3RJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMiBwdC0yXCI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgcm91bmRlZC1bMTJweF1cIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17Y2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDYW5jZWxhclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIGJnLXByaW1hcnkgdGV4dC1bIzBEMTQxRF0gZm9udC1zZW1pYm9sZCByb3VuZGVkLVsxMnB4XSBob3ZlcjpiZy1wcmltYXJ5LzkwXCJcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtibG9ja0Zvcm0uZm9ybVN0YXRlLmlzU3VibWl0dGluZ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YmxvY2tGb3JtLmZvcm1TdGF0ZS5pc1N1Ym1pdHRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cInNpemUtNCBhbmltYXRlLXNwaW5cIiAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgXCJCbG9xdWVhciBlc3BhY2lvXCJcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XG4gICAgICAgIDwvVGFicz5cbiAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICA8L0RpYWxvZz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZU1lbW8iLCJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZUZvcm0iLCJDb250cm9sbGVyIiwiem9kUmVzb2x2ZXIiLCJ6IiwidG9hc3QiLCJMb2FkZXIyIiwiTG9jayIsIkNhbGVuZGFyUGx1cyIsIkNsb2NrIiwiQ2FsZW5kYXJEYXlzIiwiVHJhc2gyIiwiZm9ybWF0Iiwic3RhcnRPZkRheSIsImVzIiwiRGF5UGlja2VyIiwiY3JlYXRlQ2xpZW50IiwidG9Db2xvbWJpYUlTT1N0cmluZyIsInVzZVVJU3RvcmUiLCJEaWFsb2ciLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiRGlhbG9nVGl0bGUiLCJCdXR0b24iLCJJbnB1dCIsIkxhYmVsIiwiU2VsZWN0IiwiU2VsZWN0Q29udGVudCIsIlNlbGVjdEl0ZW0iLCJTZWxlY3RUcmlnZ2VyIiwiU2VsZWN0VmFsdWUiLCJUYWJzIiwiVGFic0NvbnRlbnQiLCJUYWJzTGlzdCIsIlRhYnNUcmlnZ2VyIiwiYmxvY2tTY2hlbWEiLCJvYmplY3QiLCJkYXRlcyIsImFycmF5IiwiZGF0ZSIsIm1pbiIsInN0YXJ0VGltZSIsInN0cmluZyIsImVuZFRpbWUiLCJibG9ja1R5cGUiLCJlbnVtIiwibm90ZXMiLCJvcHRpb25hbCIsInJlZmluZSIsImQiLCJtZXNzYWdlIiwicGF0aCIsImFwcG9pbnRtZW50U2NoZW1hIiwicGF0aWVudFNlYXJjaCIsInBhdGllbnRJZCIsInByb2NlZHVyZUlkIiwiY2hhbm5lbCIsImxlbmd0aCIsIlNsb3RBY3Rpb25Nb2RhbCIsIm9uU3VjY2VzcyIsInN1cGFiYXNlIiwiYWN0aXZlTW9kYWwiLCJzIiwibW9kYWxQYXlsb2FkIiwiY2xvc2VNb2RhbCIsImlzT3BlbiIsInBhdGllbnRzIiwic2V0UGF0aWVudHMiLCJwcm9jZWR1cmVzIiwic2V0UHJvY2VkdXJlcyIsInNlYXJjaFZhbHVlIiwic2V0U2VhcmNoVmFsdWUiLCJpc1NlYXJjaGluZyIsInNldElzU2VhcmNoaW5nIiwiY2FsZW5kYXJNb250aCIsInNldENhbGVuZGFyTW9udGgiLCJEYXRlIiwic2hvd0NhbGVuZGFyIiwic2V0U2hvd0NhbGVuZGFyIiwiaW5pdGlhbERhdGVzIiwic3RhcnQiLCJlbmQiLCJzdGFydERhdGUiLCJlbmREYXRlIiwiYWRqdXN0ZWRFbmQiLCJnZXRUaW1lIiwiY3VycmVudCIsInB1c2giLCJpbml0aWFsU3RhcnRUaW1lIiwidGltZSIsImluaXRpYWxFbmRUaW1lIiwic3QiLCJoIiwibSIsInNwbGl0IiwibWFwIiwiTnVtYmVyIiwidG90YWxNaW51dGVzIiwibmV3SCIsIk1hdGgiLCJmbG9vciIsIm5ld00iLCJTdHJpbmciLCJwYWRTdGFydCIsImJsb2NrRm9ybSIsInJlc29sdmVyIiwiZGVmYXVsdFZhbHVlcyIsInNlbGVjdGVkRGF0ZXMiLCJ3YXRjaCIsInNlbGVjdGVkU3RhcnRUaW1lIiwic2VsZWN0ZWRFbmRUaW1lIiwibG9hZCIsImRhdGEiLCJmcm9tIiwic2VsZWN0IiwiZXEiLCJvcmRlciIsImFwcHRGb3JtIiwicmVzZXQiLCJzZWFyY2hUaW1lb3V0UmVmIiwic2VhcmNoUGF0aWVudHMiLCJxdWVyeSIsInRyaW1tZWQiLCJ0cmltIiwiZXNjYXBlZCIsInJlcGxhY2UiLCJvciIsImxpbWl0IiwicmVtb3ZlRGF0ZSIsImRhdGVUb1JlbW92ZSIsImdldFZhbHVlcyIsInNldFZhbHVlIiwiZmlsdGVyIiwidG9EYXRlU3RyaW5nIiwic2hvdWxkVmFsaWRhdGUiLCJzaG91bGREaXJ0eSIsIm9uQmxvY2siLCJ2YWx1ZXMiLCJzdGFydEgiLCJzdGFydE0iLCJlbmRIIiwiZW5kTSIsInNsb3RzIiwiZGF0ZVN0ciIsInN0YXJ0X2F0IiwiZW5kX2F0IiwiYmxvY2tfdHlwZSIsInN0YXR1cyIsImVycm9yIiwiaW5zZXJ0Iiwic3VjY2VzcyIsIm1vZGUiLCJvbkFwcG9pbnRtZW50IiwicGF0aWVudF9pZCIsInByb2NlZHVyZV9pZCIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJjbGFzc05hbWUiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZSIsImZvcm0iLCJvblN1Ym1pdCIsImhhbmRsZVN1Ym1pdCIsImRpdiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInAiLCJidXR0b24iLCJ0eXBlIiwib25DbGljayIsImlkIiwibmFtZSIsInBob25lIiwiZm9ybVN0YXRlIiwiZXJyb3JzIiwiY29udHJvbCIsInJlbmRlciIsImZpZWxkIiwiaW5wdXQiLCJvblZhbHVlQ2hhbmdlIiwidiIsImR1cmF0aW9uX21pbiIsImNoIiwidmFyaWFudCIsImRpc2FibGVkIiwiaXNTdWJtaXR0aW5nIiwic29ydCIsImEiLCJiIiwiaSIsInNwYW4iLCJsb2NhbGUiLCJzaXplIiwic2VsZWN0ZWQiLCJvblNlbGVjdCIsIm1vbnRoIiwib25Nb250aENoYW5nZSIsInNob3dPdXRzaWRlRGF5cyIsImJlZm9yZSIsImNsYXNzTmFtZXMiLCJyb290IiwibW9udGhzIiwibmF2IiwibW9udGhfY2FwdGlvbiIsIndlZWtkYXlzIiwid2Vla2RheSIsIndlZWsiLCJkYXkiLCJkYXlfYnV0dG9uIiwidG9kYXkiLCJvdXRzaWRlIiwiY2hldnJvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/calendar/SlotActionModal.tsx\n")); /***/ }) });