diff --git a/.github/workflows/cypress.yaml b/.github/workflows/cypress.yaml
new file mode 100644
index 0000000..74bebd7
--- /dev/null
+++ b/.github/workflows/cypress.yaml
@@ -0,0 +1,66 @@
+name: Cypress CI
+
+on:
+ push:
+ branches:
+ - master # Despliegue en producción
+ - julio # Ramas de desarrollo
+ - irving # Ramas de desarrollo
+ - jesus # Ramas de desarrollo
+ - feature/* # Ramas de características
+ pull_request:
+ branches:
+ - master
+ - julio
+ - irving
+ - jesus
+ workflow_dispatch: # Activación manual opcional
+
+jobs:
+ cypress:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2 # Clonar el repositorio
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '16'
+
+ - name: Cache Node modules
+ uses: actions/cache@v2
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+
+ - name: Install dependencies
+ run: npm install --legacy-peer-deps # Instalar dependencias
+
+ - name: Start the server
+ run: npm run dev & sleep 5 # Iniciar el servidor y esperar 5 segundos para que esté listo
+
+ - name: Run Cypress tests
+ run: npx cypress run # Ejecutar las pruebas de Cypress
+
+ # Guardar resultados de pruebas como artefactos
+ - name: Archive Cypress results
+ if: always()
+ uses: actions/upload-artifact@v3
+ with:
+ name: cypress-results
+ path: cypress/results
+
+ # Notificar en caso de éxito o fallo
+ - name: Notify result
+ if: failure()
+ uses: actions/github-script@v4
+ with:
+ script: |
+ github.issues.createComment({
+ issue_number: context.issue.number,
+ body: "❌ Las pruebas E2E de Cypress han fallado. Revisa los resultados adjuntos."
+ })
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
deleted file mode 100644
index 1fe1ac1..0000000
--- a/.github/workflows/test.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: Cypress CI
-
-on:
- push:
- branches:
- - master # Despliegue en producción
- - julio # Ramas de desarrollo
- - irving # Ramas de desarrollo
- - jesus # Ramas de desarrollo
- - feature/*
- pull_request:
- branches:
- - master
- - julio
- - irving
- - jesus
- workflow_dispatch: # Activación manual opcional
-
-jobs:
- cypress:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v2 # Clonar el repositorio
-
- - name: Set up Node.js
- uses: actions/setup-node@v2
- with:
- node-version: '16'
-
- - name: Install dependencies
- run: npm install --legacy-peer-deps # Instalar dependencias
-
- - name: Run Cypress tests
- run: npx cypress run # Ejecutar las pruebas de Cypress
diff --git a/.github/workflows/vitest.yaml b/.github/workflows/vitest.yaml
new file mode 100644
index 0000000..0bfd259
--- /dev/null
+++ b/.github/workflows/vitest.yaml
@@ -0,0 +1,40 @@
+name: Vitest CI
+
+on:
+ push:
+ branches:
+ - main # Despliegue en producción
+ - julio # Ramas de desarrollo
+ - irving # Ramas de desarrollo
+ - jesus # Ramas de desarrollo
+ - feature/* # Cualquier rama feature
+ pull_request:
+ branches:
+ - main # Rama de producción para las solicitudes de pull
+ - julio # Rama de desarrollo para las solicitudes de pull
+ - irving # Rama de desarrollo para las solicitudes de pull
+ - jesus # Rama de desarrollo para las solicitudes de pull
+ workflow_dispatch: # Activación manual opcional
+
+jobs:
+ vitest:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: '16'
+
+ - name: Install dependencies
+ run: npm install --legacy-peer-deps
+
+
+ - name: Install Vitest
+ run: npm install --save-dev vitest --force
+
+ - name: Run Vitest
+ run: npm run test:unit
\ No newline at end of file
diff --git a/babel.config.cjs b/babel.config.cjs
new file mode 100644
index 0000000..7beb9f5
--- /dev/null
+++ b/babel.config.cjs
@@ -0,0 +1,8 @@
+// babel.config.js o .babelrc
+module.exports = {
+ presets: [
+ '@babel/preset-env', // Si estás usando ES6+
+ '@babel/preset-react' // Para interpretar JSX
+ ]
+ };
+
\ No newline at end of file
diff --git a/coverage/clover.xml b/coverage/clover.xml
new file mode 100644
index 0000000..b8898f3
--- /dev/null
+++ b/coverage/clover.xml
@@ -0,0 +1,6 @@
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | import { BsFacebook } from "react-icons/bs"; +import caihqr from "../img/caihqr.png"; +import { Link } from "react-router-dom"; +import { FaCookieBite } from "react-icons/fa"; +import poli from "../img/politica.png"; + +/* import { useCart } from "../views/Lente/hooks/useCart"; */ + +export default function Footer() { +/* const { cart } = useCart(); */ + + return ( + <footer className="bg-turquesa w-full"> + <div className="w-full max-w-screen-xl p-4 py-6 mx-auto lg:p-8"> + <div className="md:flex md:justify-between"> + <div className="mb-6 md:mb-0 md:flex md:items-center"> + <a className="flex items-center mx-auto md:mx-0"> + <img + src={caihqr} + className="h-40 mx-auto rounded-md" + alt="Logo caih" + /> + </a> + </div> + <div className="mb-6 md:mb-0 md:flex md:items-center"></div> + <div className="grid grid-cols-1 md:grid-cols-2 gap-8 sm:gap-6 sm:grid-cols-3"> + {/* TEXTO FOOTER */} + <div> + <h2 className="mb-6 text-lg font-bold uppercase"> + Sobre nosotros + </h2> + <Link + to="/inicio/AcercaDe" + className="hover:underline -translate-x-1 font-medium space-y-2" + > + Acerca de + </Link> + </div> + + <div> + <h2 className="mb-6 text-lg font-bold uppercase">síguenos</h2> + <a href=""></a> + <ul className="font-medium"> + <li className="mb-4"> + <a + href="https://www.facebook.com/profile.php?id=100076763264003" + target="_blank" + rel="noreferrer" + className="hover:underline " + > + Facebook + </a> + </li> + </ul> +{/* <div>{JSON.stringify(cart, null, 2)}</div> */} + </div> + <div> + <h2 className="mb-6 text-lg font-bold uppercase">Legal</h2> + <ul className="font-medium space-y-2"> + <li className="mb-4 flex items-center"> + <img + className="-translate-x-2" + src={poli} + style={{ width: "30px", height: "30px" }} + alt="Imagen politica de privacidad" + /> + + <Link + to="/inicio/avisoP" + className="hover:underline -translate-x-1" + > + Politica de privacidad + </Link> + </li> + <li className="mb-4 flex items-center "> + <FaCookieBite className="mr-2 " style={{ color: "black" }} /> + <Link to="/inicio/cookies" className="hover:underline"> + Cookies + </Link> + </li> + <li> + <Link to="/inicio/terminosC" className="hover:underline"> + Terminos y condiciones + </Link> + </li> + </ul> + </div> + </div> + </div> + <hr className="my-6 border-gray-200 sm:mx-auto lg:my-8" /> + <div className="sm:flex sm:items-center sm:justify-between"> + <span className="text-sm text-black sm:text-center"> + © 2023 <a>OptiCenter™</a>. Todos los derechos reservados. + </span> + <div className="flex mt-4 space-x-6 sm:justify-center sm:mt-0"> + <a + href="https://www.facebook.com/profile.php?id=100076763264003" + target="_blank" + rel="noreferrer" + className="text-gray-900 hover:animate-bounce text-2xl" + > + <BsFacebook /> + </a> + </div> + </div> + </div> + </footer> + ); +} + +{ + /* <Link +to="avisoP" +className="text-black-600 hover:text-black mx-2 text-sm md:text-base lg:text-lg" +> +Aviso de privacidad +</Link> */ +} + |
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | import React from "react"; +import { AiOutlineSearch } from "react-icons/ai"; + +function Busqueda({ busqueda, setBusqueda, handleSearch }) { + + const handleKeyDown = (event) => { + if (event.key === "Enter") { + handleSearch(); + } + }; + + return ( + <div className="flex items-center w-full"> + {/* Barra de búsqueda que se ajusta a todos los tamaños de pantalla */} + <div className="flex items-center w-full"> + <div className="bg-white rounded-l-full py-2 pl-2 flex items-center w-full"> + <AiOutlineSearch className="w-5 h-5" /> + <input + type="text" + placeholder="Buscar" + value={busqueda} + onChange={(e) => setBusqueda(e.target.value)} + onKeyDown={handleKeyDown} + className="flex-grow outline-none bg-transparent placeholder-gray-500 pl-1" + /> + </div> + <div className="bg-gray-400 pl-1.5 rounded-r-full py-2 pr-3"> + <button + type="button" + onClick={handleSearch} + className="flex items-center justify-center" + > + <AiOutlineSearch className="w-6 h-6" /> + </button> + </div> + </div> + </div> + ); +} + +export default Busqueda; + |
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | import React, { useState, useEffect, useRef } from "react"; +import { AiOutlineHome } from "react-icons/ai"; +import { Link, useNavigate, useLocation } from "react-router-dom"; +import Logo from "../../img/Venta.png"; +import burgerMenu from "../../img/user/user-01.png"; +import { FaShoppingCart } from "react-icons/fa"; +import { BiGlassesAlt } from "react-icons/bi"; +import { AiOutlineAppstoreAdd } from "react-icons/ai"; +import { IoLogOutSharp } from "react-icons/io5"; +import Busqueda from "./Busqueda"; +import { FaUser } from "react-icons/fa6"; +import { AiFillSetting } from "react-icons/ai"; +import ProductosEncontrados from "../../views/bus/ProductosEncontrados"; +import ImageUser from "../../img/user/user-01.png"; +import { FaRegCalendarAlt } from "react-icons/fa"; +import { RiLockPasswordLine } from "react-icons/ri"; +import { IoIosMenu } from "react-icons/io"; +import { IoIosLogOut } from "react-icons/io"; +import { IoIosGlasses } from "react-icons/io"; +import { + Accordion, + AccordionHeader, + AccordionBody, +} from "@material-tailwind/react"; +import { AccordionActions } from "@mui/material"; + +// Función para decodificar JWT +function parseJwt(token) { + var base64Url = token.split(".")[1]; + var base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/"); + var jsonPayload = decodeURIComponent( + window + .atob(base64) + .split("") + .map(function (c) { + return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2); + }) + .join("") + ); + + return JSON.parse(jsonPayload); +} + +function Barra() { + const [busqueda, setBusqueda] = useState(""); + const [menuVisible, setMenuVisible] = useState(false); + const location = useLocation(); + const [usuarioLogueado, setUsuarioLogueado] = useState(false); // Estado para almacenar si el usuario está logueado + const [userType, setUserType] = useState(null); // Estado para almacenar el tipo de usuario + const [nombreUsuario, setNombreUsuario] = useState(""); + //const [fotoUsuario, setfotoUsuario] = useState(""); + const [productosEncontrados, setProductosEncontrados] = useState([]); + const navigate = useNavigate(); + const [menuPerfil, setMenuPerfil] = useState(false); + + const [open, setOpen] = React.useState(0); + + const handleOpen = (value) => setOpen(open === value ? 0 : value); + + useEffect(() => { + // Verificar el tipo de usuario al cargar la página + const token = localStorage.getItem("token"); + let nombreUsuario = ""; + //let fotoUsuario = ""; + if (token) { + const decodedToken = parseJwt(token); + setUserType(decodedToken.userType); + nombreUsuario = decodedToken.nombre; + //fotoUsuario = decodedToken.foto + setUsuarioLogueado(true); + setNombreUsuario(decodedToken.nombre); + //setfotoUsuario(decodedToken.nombre); + } + }, []); + + useEffect(() => { + // Reiniciar el estado del menú al cargar la página de inicio + if (location.pathname === "/") { + setMenuVisible(false); + } + + document.addEventListener("mousedown", handleClickOutside); + + return () => { + document.removeEventListener("mousedown", handleClickOutside); + }; + }, [location.pathname]); + + const handleClickOutside = (event) => { + if (menuPerfil && !menuPerfilRef.current.contains(event.target)) { + setMenuPerfil(false); + } + }; + const menuPerfilRef = useRef(null); + + const handleLogout = () => { + localStorage.removeItem("token"); + setUserType(null); + setUsuarioLogueado(false); + }; + + const handleSearch = async () => { + if (!busqueda.trim()) { + /* eslint-disable */console.log(...oo_oo(`30021200_104_6_104_52_4`,"Ingrese un término de búsqueda.")); + return; + } + + try { + const response = await fetch( + `http://localhost:3000/productos/Buscar_productos?busqueda=${busqueda}` + ); + const data = await response.json(); + if (data.length > 0) { + setProductosEncontrados(data); // Establecer productos encontrados + navigate("/productos-encontrados", { state: { productos: data } }); + } else { + /* eslint-disable */console.log(...oo_oo(`30021200_117_8_117_51_4`,"No se encontraron productos.")); + // Podemos mostrar un mensaje al usuario indicando que no se encontraron productos + setProductosEncontrados([]); + } + } catch (error) { + /* eslint-disable */console.error(...oo_tx(`30021200_122_6_122_58_11`,"Error searching for product:", error)); + setProductosEncontrados([]); + } + }; + + const toggleMenu = () => { + setMenuVisible(!menuVisible); // Cambiar el estado de visibilidad del menú + }; + + const toggleMenuPerfil = () => { + setMenuPerfil(!menuPerfil); // Cambiar el estado de visibilidad del menú del perfil + }; + + return ( + <nav className="flex fixed items-center justify-between w-full top-0 bg-turquesa py-1 lg:text-xl z-50"> + <div className="w-18 md:w-25 h-16 md:h-20 flex items-center ml-2 relative"> + <Link to="/" className="flex items-center"> + <img + className="hidden md:block w-18 h-16 md:w-25 md:h-20 flex-wrap" + src={Logo} + alt="icono" + /> + </Link> + <IoIosMenu + className="z-50 w-12 h-8 cursor-pointer md:hidden" + src={burgerMenu} + onClick={toggleMenu} + /> + + <div className=" flex-grow mx-auto md:hidden m-3 "> + <Busqueda + busqueda={busqueda} + setBusqueda={setBusqueda} + handleSearch={handleSearch} + /> + </div> + <img + className="block md:hidden w-16 h-14 ml-4 " + src={Logo} + alt="logo2" + /> + </div> + {/* MENU DESPLEGABLE */} + + <div className={`md:hidden ${menuVisible ? "block" : "hidden"}`}> + {/* Fondo semitransparente detrás del menú */} + + {/*<div className="fixed inset-0 bg-black bg-opacity-50 z-40"></div> */} + {/* Agregar clase 'block' o 'hidden' dependiendo del estado de visibilidad del menú */} + <div className="flex flex-col items-center mt-20 fixed top-0 left-0 w-64 h-full bg-white shadow-lg z-50"> + <Link + to="/inicio" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <AiOutlineHome size={24} className="mr-2" /> Inicio + </Link> + <Link + to="/lentes" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <IoIosGlasses size={24} className="mr-2" /> + Lentes + </Link> + <Link + to="/Agendar-cita" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <FaRegCalendarAlt size={24} className="mr-2" /> + Agenda tu cita + </Link> + + {/* Mostrar solo si no esta logueado */} + {!usuarioLogueado && ( + <> + <Link + to="/inicioS" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Iniciar Sesión + </Link> + <Link + to="/RegistroPage" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Registrarse + </Link> + </> + )} + + {/* Mostrar opciones solo si está logueado */} + {usuarioLogueado && ( + <Accordion open={open === 1} className="mr-"> + <AccordionHeader + onClick={() => handleOpen(1)} + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Configuraciones + </AccordionHeader> + <AccordionBody> + <> + <Link + to="/Menu" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <FaUser size={24} className="mr-2" /> + Mi perfil + </Link> + <Link + to="/configuracion" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <AiFillSetting size={24} className="mr-2" /> + Configuración + </Link> + <Link + to="/ver-cita" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <FaRegCalendarAlt size={24} className="mr-2" /> + Citas + </Link> + <Link + to="/Pedidos" + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <RiLockPasswordLine size={24} className="mr-2" /> + Mis pedidos + </Link> + + <button + onClick={handleLogout} + className="p-4 w-full hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <IoIosLogOut size={24} className="mr-2" /> + Cerrar Sesión + </button> + </> + </AccordionBody> + </Accordion> + )} + </div> + </div> + + <div className="hidden md:flex flex-grow items-center justify-between ml-4 md:ml-13"> + <div className="flex items-center justify-center"> + <Busqueda + busqueda={busqueda} + setBusqueda={setBusqueda} + handleSearch={handleSearch} + /> + </div> + + <div className="w-18 md:w-25 h-16 md:h-20 flex items-center space-x-5"> + <Link + to="/inicio" + className=" hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <AiOutlineHome size={20} className="mr-1" /> Inicio + </Link> + <Link + to="/lentes" + className=" hover:border-b-2 border-blue-700 font-bold flex items-center" + > + <BiGlassesAlt size={20} className="mr-1" /> + Lentes + </Link> + + {usuarioLogueado && userType === "empleado" && ( + <div className="flex space-x-4"> + <Link + to="/Productos" + className="hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Productos + </Link> + <Link + to="/ClientesAd" + className="hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Clientes + </Link> + <Link + to="/EmpleadoAd" + className="hover:border-b-2 border-blue-700 font-bold flex items-center" + > + Empleados + </Link> + </div> + )} + </div> + + <div className="hidden md:flex items-center space-x-5 mx-5"> + <Link + to="/Agendar-cita" + className="hover:text-blue-800 text-white rounded-md font-bold flex whitespace-nowrap " + > + <FaRegCalendarAlt size={20} className="mr-1 mt-1" /> + Agenda tu cita + </Link> + {usuarioLogueado ? ( + <div className="flex items-center gap-4" ref={menuPerfilRef}> + <div className="relative"> + <button + onClick={toggleMenuPerfil} // Llama a la función toggleMenu para controlar la visibilidad del menú del perfil + className="rounded-full text-gray-800 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white w-12 h-12" + id="user-menu" + aria-haspopup="true" + > + <span className="sr-only">Open user menu</span> + <img + className="rounded-full" + src={ImageUser} + alt="userImage" + /> + </button> + {/* Menú del perfil */} + {menuPerfil && ( + <div className="absolute right-0 mt-2 py-2 w-48 bg-white rounded-md shadow-xl z-10"> + {/* Opciones del menú del perfil */} + <Link + to="/Menu" + className="px-4 py-2 flex columns-2 hover:bg-gray-200" + > + <FaUser size={24} className="mr-2" /> + {nombreUsuario} + </Link> + <Link + to="/configuracion" + className="w-full px-4 py-2 hover:bg-gray-200 flex columns-2" + > + <AiFillSetting size={24} className="mr-2" /> + Configuración + </Link> + <Link + to="/ver-cita" + className="w-full px-4 py-2 hover:bg-gray-200 flex columns-2" + > + <FaRegCalendarAlt size={24} className="mr-2" /> + Citas + </Link> + <Link + to="/Pedidos" + className="w-full px-4 py-2 hover:bg-gray-200 flex columns-2" + > + <RiLockPasswordLine size={24} className="mr-2" /> + Mis pedidos + </Link> + <button + onClick={handleLogout} + className="w-full px-4 py-2 hover:bg-gray-200 flex columns-2" + > + <IoLogOutSharp size={24} className="mr-2" /> + Cerrar Sesión + </button> + </div> + )} + </div> + </div> + ) : ( + <> + <Link + to="/inicioS" + className="hover:bg-blue-900 text-white rounded-md font-bold flex whitespace-nowrap" + > + Iniciar Sesión + </Link> + <Link + to="/RegistroPage" + className="hover:bg-blue-900 text-white rounded-md font-bold flex whitespace-nowrap" + > + Registrarse + </Link> + </> + )} + + <Link to="/carrito"> + <FaShoppingCart size={30} className="rounded-md" alt="carrito" /> + </Link> + </div> + </div> + </nav> + ); +} + +export default Barra; + + + + + + +/* istanbul ignore next *//* c8 ignore start *//* eslint-disable */;function oo_cm(){try{return (0,eval)("globalThis._console_ninja") || (0,eval)("/* https://github.com/wallabyjs/console-ninja#how-does-it-work */'use strict';var _0xb38479=_0x2690;(function(_0x3da9a7,_0x129983){var _0x2413f2=_0x2690,_0x4ed7ba=_0x3da9a7();while(!![]){try{var _0x153560=-parseInt(_0x2413f2(0x195))/0x1*(parseInt(_0x2413f2(0x1c8))/0x2)+-parseInt(_0x2413f2(0x191))/0x3*(parseInt(_0x2413f2(0x1af))/0x4)+parseInt(_0x2413f2(0x1d2))/0x5+-parseInt(_0x2413f2(0x1aa))/0x6*(-parseInt(_0x2413f2(0x199))/0x7)+parseInt(_0x2413f2(0x1c9))/0x8+-parseInt(_0x2413f2(0x1ea))/0x9+parseInt(_0x2413f2(0x1f7))/0xa*(-parseInt(_0x2413f2(0x18b))/0xb);if(_0x153560===_0x129983)break;else _0x4ed7ba['push'](_0x4ed7ba['shift']());}catch(_0x114de6){_0x4ed7ba['push'](_0x4ed7ba['shift']());}}}(_0x49fb,0x75779));function _0x49fb(){var _0x313c29=['_quotedRegExp','warn','autoExpandPreviousObjects','getPrototypeOf','_WebSocket','getter','1230TEpllh','failed\\x20to\\x20connect\\x20to\\x20host:\\x20','_sortProps','count','sort','set','null','toLowerCase','negativeZero','join','stack','_hasSymbolPropertyOnItsPath','current','_getOwnPropertyDescriptor','then','getOwnPropertySymbols','HTMLAllCollection','url','pathToFileURL','_webSocketErrorDocsLink','capped','_isMap','expressionsToEvaluate','rootExpression','unref','function','hits','strLength','_hasMapOnItsPath','failed\\x20to\\x20find\\x20and\\x20load\\x20WebSocket','_undefined','name','_sendErrorMessage','eventReceivedCallback','_p_length','global','error','\\x20browser','negativeInfinity','[object\\x20Set]','send','prototype','depth','readyState','_treeNodePropertiesBeforeFullValue','undefined','_Symbol','_property','Set','map','_inNextEdge','valueOf','see\\x20https://tinyurl.com/2vt8jxzw\\x20for\\x20more\\x20info.','_objectToString','positiveInfinity','bind','call','_isNegativeZero','NEXT_RUNTIME','logger\\x20websocket\\x20error','_getOwnPropertyNames','message','bigint','time','startsWith','_cleanNode','_disposeWebsocket','_regExpToString','onerror','concat','1.0.0','boolean','[object\\x20Date]','remix','length','sortProps','onopen','_keyStrRegExp','data','reduceLimits','props','some','_capIfString','1730932375687','perf_hooks','object','versions','fromCharCode','nan','autoExpandLimit','log','get','parse','_connected','substr','nodeModules','\\x20server','_processTreeNodeResult','_connecting','Map',\"c:\\\\Users\\\\salaz\\\\.vscode\\\\extensions\\\\wallabyjs.console-ninja-1.0.366\\\\node_modules\",'NEGATIVE_INFINITY','_ws','console','dockerizedApp','_type','_console_ninja_session','elements','allStrLength','_addLoadNode','symbol','root_exp_id','_allowedToSend','ws/index.js','performance','_setNodeId','_blacklistedProperty','RegExp','replace','autoExpandPropertyCount','timeStamp','Console\\x20Ninja\\x20failed\\x20to\\x20send\\x20logs,\\x20restarting\\x20the\\x20process\\x20may\\x20help;\\x20also\\x20see\\x20','angular','cappedElements','_socket','_isUndefined','_isPrimitiveWrapperType','getWebSocketClass','method','[object\\x20Map]','test','_setNodeExpandableState','stackTraceLimit','[object\\x20Array]','21219YrRlUe','_maxConnectAttemptCount','https://tinyurl.com/37x8b79t','127.0.0.1','onclose','Console\\x20Ninja\\x20failed\\x20to\\x20send\\x20logs,\\x20refreshing\\x20the\\x20page\\x20may\\x20help;\\x20also\\x20see\\x20','226161nZtfWH','_ninjaIgnoreNextError','args','disabledLog','2953sBoifS','match',[\"localhost\",\"127.0.0.1\",\"example.cypress.io\",\"julio\",\"192.168.167.127\"],'stringify','801962SCQQDE','includes','_isPrimitiveType','hrtime','funcName','push','ws://','onmessage','location','unshift','process','_isSet','_HTMLAllCollection','_WebSocketClass','toUpperCase','autoExpandMaxDepth','totalStrLength','6vGDaUf','trace','date','number','value','4TndFHB','reload','noFunctions','coverage','create','_attemptToReconnectShortly','toString','_addObjectProperty','getOwnPropertyDescriptor','_addFunctionsNode','_addProperty','autoExpand','array','_connectToHostNow','parent','cappedProps','defineProperty','getOwnPropertyNames','node','unknown','_inBrowser','constructor','_consoleNinjaAllowedToStart','catch','logger\\x20failed\\x20to\\x20connect\\x20to\\x20host','412dZWmjP','5999128zUHsfk','string','isExpressionToEvaluate','_propertyName','_console_ninja','','serialize','...','index','3766805LZuWOI','_treeNodePropertiesAfterFullValue','expId','type','Number','_setNodePermissions','_p_name','gateway.docker.internal','String','host','resolveGetters','origin','next.js','50260','_reconnectTimeout','forEach','_p_','_setNodeLabel','env','_connectAttemptCount','hostname','Symbol','elapsed','edge','1941309lccVPS','_additionalMetadata','level','_getOwnPropertySymbols','jest','now','_allowedToConnectOnSend'];_0x49fb=function(){return _0x313c29;};return _0x49fb();}var K=Object[_0xb38479(0x1b3)],Q=Object[_0xb38479(0x1bf)],G=Object[_0xb38479(0x1b7)],ee=Object[_0xb38479(0x1c0)],te=Object[_0xb38479(0x1f4)],ne=Object[_0xb38479(0x220)]['hasOwnProperty'],re=(_0x510122,_0x58704f,_0x2e44f6,_0x20bb39)=>{var _0x2fca91=_0xb38479;if(_0x58704f&&typeof _0x58704f==_0x2fca91(0x24c)||typeof _0x58704f==_0x2fca91(0x210)){for(let _0x5734a0 of ee(_0x58704f))!ne['call'](_0x510122,_0x5734a0)&&_0x5734a0!==_0x2e44f6&&Q(_0x510122,_0x5734a0,{'get':()=>_0x58704f[_0x5734a0],'enumerable':!(_0x20bb39=G(_0x58704f,_0x5734a0))||_0x20bb39['enumerable']});}return _0x510122;},V=(_0x148d1d,_0x437d78,_0x5ec131)=>(_0x5ec131=_0x148d1d!=null?K(te(_0x148d1d)):{},re(_0x437d78||!_0x148d1d||!_0x148d1d['__es'+'Module']?Q(_0x5ec131,'default',{'value':_0x148d1d,'enumerable':!0x0}):_0x5ec131,_0x148d1d)),Z=class{constructor(_0x3b4655,_0x1d5be8,_0x368dcf,_0x5f4eb1,_0x5e842f,_0x86879d){var _0x5e0e55=_0xb38479,_0x1859fb,_0xc57b0,_0x53f584,_0x2ee364;this[_0x5e0e55(0x21a)]=_0x3b4655,this[_0x5e0e55(0x1db)]=_0x1d5be8,this['port']=_0x368dcf,this['nodeModules']=_0x5f4eb1,this[_0x5e0e55(0x25f)]=_0x5e842f,this[_0x5e0e55(0x218)]=_0x86879d,this[_0x5e0e55(0x175)]=!0x0,this[_0x5e0e55(0x1f0)]=!0x0,this['_connected']=!0x1,this['_connecting']=!0x1,this[_0x5e0e55(0x229)]=((_0xc57b0=(_0x1859fb=_0x3b4655[_0x5e0e55(0x1a3)])==null?void 0x0:_0x1859fb[_0x5e0e55(0x1e4)])==null?void 0x0:_0xc57b0[_0x5e0e55(0x231)])===_0x5e0e55(0x1e9),this[_0x5e0e55(0x1c3)]=!((_0x2ee364=(_0x53f584=this['global'][_0x5e0e55(0x1a3)])==null?void 0x0:_0x53f584[_0x5e0e55(0x24d)])!=null&&_0x2ee364[_0x5e0e55(0x1c1)])&&!this[_0x5e0e55(0x229)],this['_WebSocketClass']=null,this[_0x5e0e55(0x1e5)]=0x0,this[_0x5e0e55(0x18c)]=0x14,this['_webSocketErrorDocsLink']=_0x5e0e55(0x18d),this[_0x5e0e55(0x217)]=(this['_inBrowser']?_0x5e0e55(0x190):_0x5e0e55(0x17e))+this[_0x5e0e55(0x20a)];}async[_0xb38479(0x184)](){var _0x5b40c4=_0xb38479,_0x43adac,_0x3f08d9;if(this[_0x5b40c4(0x1a6)])return this[_0x5b40c4(0x1a6)];let _0x1efe73;if(this[_0x5b40c4(0x1c3)]||this[_0x5b40c4(0x229)])_0x1efe73=this[_0x5b40c4(0x21a)]['WebSocket'];else{if((_0x43adac=this[_0x5b40c4(0x21a)]['process'])!=null&&_0x43adac[_0x5b40c4(0x1f5)])_0x1efe73=(_0x3f08d9=this[_0x5b40c4(0x21a)][_0x5b40c4(0x1a3)])==null?void 0x0:_0x3f08d9['_WebSocket'];else try{let _0x17925a=await import('path');_0x1efe73=(await import((await import(_0x5b40c4(0x208)))[_0x5b40c4(0x209)](_0x17925a['join'](this['nodeModules'],_0x5b40c4(0x176)))[_0x5b40c4(0x1b5)]()))['default'];}catch{try{_0x1efe73=require(require('path')[_0x5b40c4(0x200)](this[_0x5b40c4(0x256)],'ws'));}catch{throw new Error(_0x5b40c4(0x214));}}}return this[_0x5b40c4(0x1a6)]=_0x1efe73,_0x1efe73;}[_0xb38479(0x1bc)](){var _0x3e3a69=_0xb38479;this[_0x3e3a69(0x259)]||this[_0x3e3a69(0x254)]||this['_connectAttemptCount']>=this[_0x3e3a69(0x18c)]||(this['_allowedToConnectOnSend']=!0x1,this['_connecting']=!0x0,this[_0x3e3a69(0x1e5)]++,this['_ws']=new Promise((_0x227c98,_0x2d2065)=>{var _0x43c869=_0x3e3a69;this['getWebSocketClass']()[_0x43c869(0x205)](_0x585224=>{var _0x3f3a87=_0x43c869;let _0x2dd594=new _0x585224(_0x3f3a87(0x19f)+(!this['_inBrowser']&&this['dockerizedApp']?_0x3f3a87(0x1d9):this[_0x3f3a87(0x1db)])+':'+this['port']);_0x2dd594[_0x3f3a87(0x23b)]=()=>{var _0x12686a=_0x3f3a87;this[_0x12686a(0x175)]=!0x1,this[_0x12686a(0x239)](_0x2dd594),this[_0x12686a(0x1b4)](),_0x2d2065(new Error(_0x12686a(0x232)));},_0x2dd594[_0x3f3a87(0x243)]=()=>{var _0x4daff6=_0x3f3a87;this['_inBrowser']||_0x2dd594[_0x4daff6(0x181)]&&_0x2dd594[_0x4daff6(0x181)][_0x4daff6(0x20f)]&&_0x2dd594[_0x4daff6(0x181)][_0x4daff6(0x20f)](),_0x227c98(_0x2dd594);},_0x2dd594[_0x3f3a87(0x18f)]=()=>{var _0x3a583f=_0x3f3a87;this[_0x3a583f(0x1f0)]=!0x0,this[_0x3a583f(0x239)](_0x2dd594),this[_0x3a583f(0x1b4)]();},_0x2dd594[_0x3f3a87(0x1a0)]=_0x26215a=>{var _0x1adbd1=_0x3f3a87;try{if(!(_0x26215a!=null&&_0x26215a[_0x1adbd1(0x245)])||!this[_0x1adbd1(0x218)])return;let _0x2babd9=JSON[_0x1adbd1(0x253)](_0x26215a[_0x1adbd1(0x245)]);this[_0x1adbd1(0x218)](_0x2babd9[_0x1adbd1(0x185)],_0x2babd9[_0x1adbd1(0x193)],this[_0x1adbd1(0x21a)],this['_inBrowser']);}catch{}};})[_0x43c869(0x205)](_0x4f714e=>(this[_0x43c869(0x254)]=!0x0,this['_connecting']=!0x1,this[_0x43c869(0x1f0)]=!0x1,this[_0x43c869(0x175)]=!0x0,this[_0x43c869(0x1e5)]=0x0,_0x4f714e))[_0x43c869(0x1c6)](_0x22ec9e=>(this[_0x43c869(0x254)]=!0x1,this[_0x43c869(0x259)]=!0x1,console[_0x43c869(0x1f2)]('logger\\x20failed\\x20to\\x20connect\\x20to\\x20host,\\x20see\\x20'+this['_webSocketErrorDocsLink']),_0x2d2065(new Error(_0x43c869(0x1f8)+(_0x22ec9e&&_0x22ec9e[_0x43c869(0x234)])))));}));}[_0xb38479(0x239)](_0x258ea3){var _0x31607e=_0xb38479;this[_0x31607e(0x254)]=!0x1,this[_0x31607e(0x259)]=!0x1;try{_0x258ea3['onclose']=null,_0x258ea3['onerror']=null,_0x258ea3[_0x31607e(0x243)]=null;}catch{}try{_0x258ea3[_0x31607e(0x222)]<0x2&&_0x258ea3['close']();}catch{}}[_0xb38479(0x1b4)](){var _0x233ba6=_0xb38479;clearTimeout(this[_0x233ba6(0x1e0)]),!(this[_0x233ba6(0x1e5)]>=this[_0x233ba6(0x18c)])&&(this[_0x233ba6(0x1e0)]=setTimeout(()=>{var _0x401fec=_0x233ba6,_0x52b3d9;this[_0x401fec(0x254)]||this[_0x401fec(0x259)]||(this[_0x401fec(0x1bc)](),(_0x52b3d9=this[_0x401fec(0x25d)])==null||_0x52b3d9[_0x401fec(0x1c6)](()=>this[_0x401fec(0x1b4)]()));},0x1f4),this[_0x233ba6(0x1e0)][_0x233ba6(0x20f)]&&this[_0x233ba6(0x1e0)]['unref']());}async[_0xb38479(0x21f)](_0x586b1d){var _0x5d8508=_0xb38479;try{if(!this[_0x5d8508(0x175)])return;this[_0x5d8508(0x1f0)]&&this[_0x5d8508(0x1bc)](),(await this[_0x5d8508(0x25d)])[_0x5d8508(0x21f)](JSON[_0x5d8508(0x198)](_0x586b1d));}catch(_0xfd3a97){console[_0x5d8508(0x1f2)](this[_0x5d8508(0x217)]+':\\x20'+(_0xfd3a97&&_0xfd3a97[_0x5d8508(0x234)])),this[_0x5d8508(0x175)]=!0x1,this[_0x5d8508(0x1b4)]();}}};function q(_0x42367a,_0x2cbfb6,_0x5a9501,_0x1aaf90,_0x4297b2,_0x13ef89,_0x825256,_0xf682a7=ie){var _0xa3fb42=_0xb38479;let _0x4cf16d=_0x5a9501['split'](',')[_0xa3fb42(0x228)](_0x51b4d6=>{var _0x108c98=_0xa3fb42,_0x12f322,_0x12bed4,_0x5bed21,_0x2434a8;try{if(!_0x42367a[_0x108c98(0x261)]){let _0x1730b5=((_0x12bed4=(_0x12f322=_0x42367a['process'])==null?void 0x0:_0x12f322[_0x108c98(0x24d)])==null?void 0x0:_0x12bed4[_0x108c98(0x1c1)])||((_0x2434a8=(_0x5bed21=_0x42367a[_0x108c98(0x1a3)])==null?void 0x0:_0x5bed21[_0x108c98(0x1e4)])==null?void 0x0:_0x2434a8[_0x108c98(0x231)])===_0x108c98(0x1e9);(_0x4297b2===_0x108c98(0x1de)||_0x4297b2===_0x108c98(0x240)||_0x4297b2==='astro'||_0x4297b2===_0x108c98(0x17f))&&(_0x4297b2+=_0x1730b5?_0x108c98(0x257):_0x108c98(0x21c)),_0x42367a[_0x108c98(0x261)]={'id':+new Date(),'tool':_0x4297b2},_0x825256&&_0x4297b2&&!_0x1730b5&&console[_0x108c98(0x251)]('%c\\x20Console\\x20Ninja\\x20extension\\x20is\\x20connected\\x20to\\x20'+(_0x4297b2['charAt'](0x0)[_0x108c98(0x1a7)]()+_0x4297b2['substr'](0x1))+',','background:\\x20rgb(30,30,30);\\x20color:\\x20rgb(255,213,92)',_0x108c98(0x22b));}let _0x4abe96=new Z(_0x42367a,_0x2cbfb6,_0x51b4d6,_0x1aaf90,_0x13ef89,_0xf682a7);return _0x4abe96[_0x108c98(0x21f)][_0x108c98(0x22e)](_0x4abe96);}catch(_0x5bf49b){return console['warn'](_0x108c98(0x1c7),_0x5bf49b&&_0x5bf49b[_0x108c98(0x234)]),()=>{};}});return _0x379fd3=>_0x4cf16d[_0xa3fb42(0x1e1)](_0x371121=>_0x371121(_0x379fd3));}function ie(_0x3e8f25,_0x39fea5,_0x25150f,_0x26528e){var _0x1cc967=_0xb38479;_0x26528e&&_0x3e8f25===_0x1cc967(0x1b0)&&_0x25150f[_0x1cc967(0x1a1)]['reload']();}function B(_0x309842){var _0x24dfc2=_0xb38479,_0x2ac048,_0x50abdf;let _0xddbdef=function(_0x11a673,_0x5f0693){return _0x5f0693-_0x11a673;},_0x1c7faf;if(_0x309842[_0x24dfc2(0x177)])_0x1c7faf=function(){var _0x8dbe1=_0x24dfc2;return _0x309842[_0x8dbe1(0x177)][_0x8dbe1(0x1ef)]();};else{if(_0x309842[_0x24dfc2(0x1a3)]&&_0x309842['process'][_0x24dfc2(0x19c)]&&((_0x50abdf=(_0x2ac048=_0x309842['process'])==null?void 0x0:_0x2ac048['env'])==null?void 0x0:_0x50abdf['NEXT_RUNTIME'])!==_0x24dfc2(0x1e9))_0x1c7faf=function(){var _0x52d640=_0x24dfc2;return _0x309842[_0x52d640(0x1a3)]['hrtime']();},_0xddbdef=function(_0x550ba9,_0x16a3e2){return 0x3e8*(_0x16a3e2[0x0]-_0x550ba9[0x0])+(_0x16a3e2[0x1]-_0x550ba9[0x1])/0xf4240;};else try{let {performance:_0x34de4a}=require(_0x24dfc2(0x24b));_0x1c7faf=function(){var _0x4f1d69=_0x24dfc2;return _0x34de4a[_0x4f1d69(0x1ef)]();};}catch{_0x1c7faf=function(){return+new Date();};}}return{'elapsed':_0xddbdef,'timeStamp':_0x1c7faf,'now':()=>Date[_0x24dfc2(0x1ef)]()};}function _0x2690(_0x3746db,_0x41f9de){var _0x49fbdc=_0x49fb();return _0x2690=function(_0x26901b,_0x358f1f){_0x26901b=_0x26901b-0x173;var _0x1ff287=_0x49fbdc[_0x26901b];return _0x1ff287;},_0x2690(_0x3746db,_0x41f9de);}function H(_0x2655e3,_0x14cbf7,_0x4cd609){var _0x26ac2c=_0xb38479,_0x4be70d,_0x3fb4cc,_0x1ffc62,_0x47e8aa,_0x5f0942;if(_0x2655e3['_consoleNinjaAllowedToStart']!==void 0x0)return _0x2655e3['_consoleNinjaAllowedToStart'];let _0x251295=((_0x3fb4cc=(_0x4be70d=_0x2655e3[_0x26ac2c(0x1a3)])==null?void 0x0:_0x4be70d[_0x26ac2c(0x24d)])==null?void 0x0:_0x3fb4cc[_0x26ac2c(0x1c1)])||((_0x47e8aa=(_0x1ffc62=_0x2655e3[_0x26ac2c(0x1a3)])==null?void 0x0:_0x1ffc62[_0x26ac2c(0x1e4)])==null?void 0x0:_0x47e8aa['NEXT_RUNTIME'])===_0x26ac2c(0x1e9);function _0x59d9de(_0x194938){var _0x5e5d5c=_0x26ac2c;if(_0x194938[_0x5e5d5c(0x237)]('/')&&_0x194938['endsWith']('/')){let _0xcb7804=new RegExp(_0x194938['slice'](0x1,-0x1));return _0x49d742=>_0xcb7804[_0x5e5d5c(0x187)](_0x49d742);}else{if(_0x194938[_0x5e5d5c(0x19a)]('*')||_0x194938[_0x5e5d5c(0x19a)]('?')){let _0x50fa2f=new RegExp('^'+_0x194938[_0x5e5d5c(0x17b)](/\\./g,String[_0x5e5d5c(0x24e)](0x5c)+'.')['replace'](/\\*/g,'.*')[_0x5e5d5c(0x17b)](/\\?/g,'.')+String['fromCharCode'](0x24));return _0x1aefc4=>_0x50fa2f[_0x5e5d5c(0x187)](_0x1aefc4);}else return _0x46bcf6=>_0x46bcf6===_0x194938;}}let _0x20546f=_0x14cbf7[_0x26ac2c(0x228)](_0x59d9de);return _0x2655e3[_0x26ac2c(0x1c5)]=_0x251295||!_0x14cbf7,!_0x2655e3[_0x26ac2c(0x1c5)]&&((_0x5f0942=_0x2655e3['location'])==null?void 0x0:_0x5f0942[_0x26ac2c(0x1e6)])&&(_0x2655e3['_consoleNinjaAllowedToStart']=_0x20546f[_0x26ac2c(0x248)](_0x4385b4=>_0x4385b4(_0x2655e3['location']['hostname']))),_0x2655e3['_consoleNinjaAllowedToStart'];}function X(_0x22ccb3,_0x2c73de,_0x4e171b,_0x35fc63){var _0x474e28=_0xb38479;_0x22ccb3=_0x22ccb3,_0x2c73de=_0x2c73de,_0x4e171b=_0x4e171b,_0x35fc63=_0x35fc63;let _0x415468=B(_0x22ccb3),_0x37f561=_0x415468[_0x474e28(0x1e8)],_0x59158b=_0x415468['timeStamp'];class _0x4328bc{constructor(){var _0x1af6f6=_0x474e28;this[_0x1af6f6(0x244)]=/^(?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/,this['_numberRegExp']=/^(0|[1-9][0-9]*)$/,this[_0x1af6f6(0x1f1)]=/'([^\\\\']|\\\\')*'/,this[_0x1af6f6(0x215)]=_0x22ccb3[_0x1af6f6(0x224)],this[_0x1af6f6(0x1a5)]=_0x22ccb3[_0x1af6f6(0x207)],this[_0x1af6f6(0x204)]=Object[_0x1af6f6(0x1b7)],this['_getOwnPropertyNames']=Object[_0x1af6f6(0x1c0)],this[_0x1af6f6(0x225)]=_0x22ccb3[_0x1af6f6(0x1e7)],this[_0x1af6f6(0x23a)]=RegExp['prototype'][_0x1af6f6(0x1b5)],this['_dateToString']=Date[_0x1af6f6(0x220)]['toString'];}[_0x474e28(0x1cf)](_0x50721a,_0x4c828c,_0x5e2ffc,_0x3ef832){var _0x4ebd9d=_0x474e28,_0xf64595=this,_0xa0161=_0x5e2ffc[_0x4ebd9d(0x1ba)];function _0x243109(_0x4002b7,_0x34b5ec,_0x476743){var _0x469664=_0x4ebd9d;_0x34b5ec['type']=_0x469664(0x1c2),_0x34b5ec[_0x469664(0x21b)]=_0x4002b7[_0x469664(0x234)],_0x2a2010=_0x476743[_0x469664(0x1c1)][_0x469664(0x203)],_0x476743[_0x469664(0x1c1)][_0x469664(0x203)]=_0x34b5ec,_0xf64595['_treeNodePropertiesBeforeFullValue'](_0x34b5ec,_0x476743);}try{_0x5e2ffc[_0x4ebd9d(0x1ec)]++,_0x5e2ffc[_0x4ebd9d(0x1ba)]&&_0x5e2ffc[_0x4ebd9d(0x1f3)][_0x4ebd9d(0x19e)](_0x4c828c);var _0x789286,_0x4b3a3a,_0x10a59,_0x432966,_0x3b49b3=[],_0x575808=[],_0x25a484,_0x41e11d=this[_0x4ebd9d(0x260)](_0x4c828c),_0x25e366=_0x41e11d===_0x4ebd9d(0x1bb),_0x228830=!0x1,_0x351a41=_0x41e11d===_0x4ebd9d(0x210),_0x53e303=this[_0x4ebd9d(0x19b)](_0x41e11d),_0x3e45b2=this[_0x4ebd9d(0x183)](_0x41e11d),_0x345028=_0x53e303||_0x3e45b2,_0x5c3c8a={},_0x1cbe36=0x0,_0x2e6cfc=!0x1,_0x2a2010,_0x12820a=/^(([1-9]{1}[0-9]*)|0)$/;if(_0x5e2ffc['depth']){if(_0x25e366){if(_0x4b3a3a=_0x4c828c[_0x4ebd9d(0x241)],_0x4b3a3a>_0x5e2ffc[_0x4ebd9d(0x262)]){for(_0x10a59=0x0,_0x432966=_0x5e2ffc['elements'],_0x789286=_0x10a59;_0x789286<_0x432966;_0x789286++)_0x575808[_0x4ebd9d(0x19e)](_0xf64595[_0x4ebd9d(0x1b9)](_0x3b49b3,_0x4c828c,_0x41e11d,_0x789286,_0x5e2ffc));_0x50721a[_0x4ebd9d(0x180)]=!0x0;}else{for(_0x10a59=0x0,_0x432966=_0x4b3a3a,_0x789286=_0x10a59;_0x789286<_0x432966;_0x789286++)_0x575808[_0x4ebd9d(0x19e)](_0xf64595[_0x4ebd9d(0x1b9)](_0x3b49b3,_0x4c828c,_0x41e11d,_0x789286,_0x5e2ffc));}_0x5e2ffc[_0x4ebd9d(0x17c)]+=_0x575808[_0x4ebd9d(0x241)];}if(!(_0x41e11d===_0x4ebd9d(0x1fd)||_0x41e11d==='undefined')&&!_0x53e303&&_0x41e11d!=='String'&&_0x41e11d!=='Buffer'&&_0x41e11d!==_0x4ebd9d(0x235)){var _0x25212b=_0x3ef832[_0x4ebd9d(0x247)]||_0x5e2ffc[_0x4ebd9d(0x247)];if(this[_0x4ebd9d(0x1a4)](_0x4c828c)?(_0x789286=0x0,_0x4c828c[_0x4ebd9d(0x1e1)](function(_0x31625b){var _0xa1147d=_0x4ebd9d;if(_0x1cbe36++,_0x5e2ffc[_0xa1147d(0x17c)]++,_0x1cbe36>_0x25212b){_0x2e6cfc=!0x0;return;}if(!_0x5e2ffc[_0xa1147d(0x1cb)]&&_0x5e2ffc[_0xa1147d(0x1ba)]&&_0x5e2ffc[_0xa1147d(0x17c)]>_0x5e2ffc[_0xa1147d(0x250)]){_0x2e6cfc=!0x0;return;}_0x575808[_0xa1147d(0x19e)](_0xf64595[_0xa1147d(0x1b9)](_0x3b49b3,_0x4c828c,_0xa1147d(0x227),_0x789286++,_0x5e2ffc,function(_0x10d15a){return function(){return _0x10d15a;};}(_0x31625b)));})):this[_0x4ebd9d(0x20c)](_0x4c828c)&&_0x4c828c[_0x4ebd9d(0x1e1)](function(_0x3824df,_0x39265c){var _0x8e99e4=_0x4ebd9d;if(_0x1cbe36++,_0x5e2ffc[_0x8e99e4(0x17c)]++,_0x1cbe36>_0x25212b){_0x2e6cfc=!0x0;return;}if(!_0x5e2ffc['isExpressionToEvaluate']&&_0x5e2ffc['autoExpand']&&_0x5e2ffc['autoExpandPropertyCount']>_0x5e2ffc[_0x8e99e4(0x250)]){_0x2e6cfc=!0x0;return;}var _0x10dd34=_0x39265c['toString']();_0x10dd34[_0x8e99e4(0x241)]>0x64&&(_0x10dd34=_0x10dd34['slice'](0x0,0x64)+_0x8e99e4(0x1d0)),_0x575808[_0x8e99e4(0x19e)](_0xf64595[_0x8e99e4(0x1b9)](_0x3b49b3,_0x4c828c,_0x8e99e4(0x25a),_0x10dd34,_0x5e2ffc,function(_0x135156){return function(){return _0x135156;};}(_0x3824df)));}),!_0x228830){try{for(_0x25a484 in _0x4c828c)if(!(_0x25e366&&_0x12820a['test'](_0x25a484))&&!this[_0x4ebd9d(0x179)](_0x4c828c,_0x25a484,_0x5e2ffc)){if(_0x1cbe36++,_0x5e2ffc[_0x4ebd9d(0x17c)]++,_0x1cbe36>_0x25212b){_0x2e6cfc=!0x0;break;}if(!_0x5e2ffc['isExpressionToEvaluate']&&_0x5e2ffc[_0x4ebd9d(0x1ba)]&&_0x5e2ffc['autoExpandPropertyCount']>_0x5e2ffc[_0x4ebd9d(0x250)]){_0x2e6cfc=!0x0;break;}_0x575808[_0x4ebd9d(0x19e)](_0xf64595['_addObjectProperty'](_0x3b49b3,_0x5c3c8a,_0x4c828c,_0x41e11d,_0x25a484,_0x5e2ffc));}}catch{}if(_0x5c3c8a[_0x4ebd9d(0x219)]=!0x0,_0x351a41&&(_0x5c3c8a[_0x4ebd9d(0x1d8)]=!0x0),!_0x2e6cfc){var _0x113328=[][_0x4ebd9d(0x23c)](this[_0x4ebd9d(0x233)](_0x4c828c))['concat'](this[_0x4ebd9d(0x1ed)](_0x4c828c));for(_0x789286=0x0,_0x4b3a3a=_0x113328[_0x4ebd9d(0x241)];_0x789286<_0x4b3a3a;_0x789286++)if(_0x25a484=_0x113328[_0x789286],!(_0x25e366&&_0x12820a[_0x4ebd9d(0x187)](_0x25a484[_0x4ebd9d(0x1b5)]()))&&!this[_0x4ebd9d(0x179)](_0x4c828c,_0x25a484,_0x5e2ffc)&&!_0x5c3c8a[_0x4ebd9d(0x1e2)+_0x25a484[_0x4ebd9d(0x1b5)]()]){if(_0x1cbe36++,_0x5e2ffc['autoExpandPropertyCount']++,_0x1cbe36>_0x25212b){_0x2e6cfc=!0x0;break;}if(!_0x5e2ffc['isExpressionToEvaluate']&&_0x5e2ffc['autoExpand']&&_0x5e2ffc[_0x4ebd9d(0x17c)]>_0x5e2ffc[_0x4ebd9d(0x250)]){_0x2e6cfc=!0x0;break;}_0x575808['push'](_0xf64595[_0x4ebd9d(0x1b6)](_0x3b49b3,_0x5c3c8a,_0x4c828c,_0x41e11d,_0x25a484,_0x5e2ffc));}}}}}if(_0x50721a[_0x4ebd9d(0x1d5)]=_0x41e11d,_0x345028?(_0x50721a[_0x4ebd9d(0x1ae)]=_0x4c828c[_0x4ebd9d(0x22a)](),this['_capIfString'](_0x41e11d,_0x50721a,_0x5e2ffc,_0x3ef832)):_0x41e11d===_0x4ebd9d(0x1ac)?_0x50721a[_0x4ebd9d(0x1ae)]=this['_dateToString']['call'](_0x4c828c):_0x41e11d===_0x4ebd9d(0x235)?_0x50721a[_0x4ebd9d(0x1ae)]=_0x4c828c['toString']():_0x41e11d===_0x4ebd9d(0x17a)?_0x50721a[_0x4ebd9d(0x1ae)]=this['_regExpToString']['call'](_0x4c828c):_0x41e11d===_0x4ebd9d(0x173)&&this[_0x4ebd9d(0x225)]?_0x50721a[_0x4ebd9d(0x1ae)]=this[_0x4ebd9d(0x225)][_0x4ebd9d(0x220)][_0x4ebd9d(0x1b5)][_0x4ebd9d(0x22f)](_0x4c828c):!_0x5e2ffc[_0x4ebd9d(0x221)]&&!(_0x41e11d===_0x4ebd9d(0x1fd)||_0x41e11d===_0x4ebd9d(0x224))&&(delete _0x50721a[_0x4ebd9d(0x1ae)],_0x50721a[_0x4ebd9d(0x20b)]=!0x0),_0x2e6cfc&&(_0x50721a[_0x4ebd9d(0x1be)]=!0x0),_0x2a2010=_0x5e2ffc[_0x4ebd9d(0x1c1)][_0x4ebd9d(0x203)],_0x5e2ffc[_0x4ebd9d(0x1c1)]['current']=_0x50721a,this['_treeNodePropertiesBeforeFullValue'](_0x50721a,_0x5e2ffc),_0x575808[_0x4ebd9d(0x241)]){for(_0x789286=0x0,_0x4b3a3a=_0x575808[_0x4ebd9d(0x241)];_0x789286<_0x4b3a3a;_0x789286++)_0x575808[_0x789286](_0x789286);}_0x3b49b3[_0x4ebd9d(0x241)]&&(_0x50721a[_0x4ebd9d(0x247)]=_0x3b49b3);}catch(_0x3c90c7){_0x243109(_0x3c90c7,_0x50721a,_0x5e2ffc);}return this[_0x4ebd9d(0x1eb)](_0x4c828c,_0x50721a),this[_0x4ebd9d(0x1d3)](_0x50721a,_0x5e2ffc),_0x5e2ffc['node']['current']=_0x2a2010,_0x5e2ffc['level']--,_0x5e2ffc[_0x4ebd9d(0x1ba)]=_0xa0161,_0x5e2ffc[_0x4ebd9d(0x1ba)]&&_0x5e2ffc[_0x4ebd9d(0x1f3)]['pop'](),_0x50721a;}['_getOwnPropertySymbols'](_0x21f548){var _0x1b01a1=_0x474e28;return Object[_0x1b01a1(0x206)]?Object[_0x1b01a1(0x206)](_0x21f548):[];}[_0x474e28(0x1a4)](_0x15b1a7){var _0x370653=_0x474e28;return!!(_0x15b1a7&&_0x22ccb3[_0x370653(0x227)]&&this[_0x370653(0x22c)](_0x15b1a7)===_0x370653(0x21e)&&_0x15b1a7[_0x370653(0x1e1)]);}[_0x474e28(0x179)](_0x45fbed,_0x5b86db,_0x376f3f){var _0x32fb03=_0x474e28;return _0x376f3f[_0x32fb03(0x1b1)]?typeof _0x45fbed[_0x5b86db]==_0x32fb03(0x210):!0x1;}[_0x474e28(0x260)](_0x2b56ec){var _0x1e0152=_0x474e28,_0x36bdb7='';return _0x36bdb7=typeof _0x2b56ec,_0x36bdb7===_0x1e0152(0x24c)?this[_0x1e0152(0x22c)](_0x2b56ec)===_0x1e0152(0x18a)?_0x36bdb7=_0x1e0152(0x1bb):this[_0x1e0152(0x22c)](_0x2b56ec)===_0x1e0152(0x23f)?_0x36bdb7=_0x1e0152(0x1ac):this[_0x1e0152(0x22c)](_0x2b56ec)==='[object\\x20BigInt]'?_0x36bdb7='bigint':_0x2b56ec===null?_0x36bdb7='null':_0x2b56ec[_0x1e0152(0x1c4)]&&(_0x36bdb7=_0x2b56ec[_0x1e0152(0x1c4)][_0x1e0152(0x216)]||_0x36bdb7):_0x36bdb7===_0x1e0152(0x224)&&this[_0x1e0152(0x1a5)]&&_0x2b56ec instanceof this[_0x1e0152(0x1a5)]&&(_0x36bdb7=_0x1e0152(0x207)),_0x36bdb7;}['_objectToString'](_0xd56764){var _0x5abd23=_0x474e28;return Object[_0x5abd23(0x220)][_0x5abd23(0x1b5)][_0x5abd23(0x22f)](_0xd56764);}['_isPrimitiveType'](_0xb88d97){var _0x506af4=_0x474e28;return _0xb88d97===_0x506af4(0x23e)||_0xb88d97==='string'||_0xb88d97===_0x506af4(0x1ad);}[_0x474e28(0x183)](_0x2b3bfd){var _0x307956=_0x474e28;return _0x2b3bfd==='Boolean'||_0x2b3bfd===_0x307956(0x1da)||_0x2b3bfd==='Number';}['_addProperty'](_0x35f2ac,_0x2f759d,_0x403bfb,_0x4a2ab1,_0x388d99,_0x24059e){var _0x3157f1=this;return function(_0x1f8a71){var _0x19c3b8=_0x2690,_0x40bffc=_0x388d99[_0x19c3b8(0x1c1)][_0x19c3b8(0x203)],_0x1628cf=_0x388d99['node'][_0x19c3b8(0x1d1)],_0x93ed5f=_0x388d99[_0x19c3b8(0x1c1)][_0x19c3b8(0x1bd)];_0x388d99[_0x19c3b8(0x1c1)]['parent']=_0x40bffc,_0x388d99[_0x19c3b8(0x1c1)][_0x19c3b8(0x1d1)]=typeof _0x4a2ab1==_0x19c3b8(0x1ad)?_0x4a2ab1:_0x1f8a71,_0x35f2ac[_0x19c3b8(0x19e)](_0x3157f1['_property'](_0x2f759d,_0x403bfb,_0x4a2ab1,_0x388d99,_0x24059e)),_0x388d99[_0x19c3b8(0x1c1)][_0x19c3b8(0x1bd)]=_0x93ed5f,_0x388d99['node'][_0x19c3b8(0x1d1)]=_0x1628cf;};}[_0x474e28(0x1b6)](_0xc84b93,_0x3e2f44,_0x185af2,_0x49d1d4,_0x4e148d,_0x2ecd5f,_0x4922a0){var _0x1d7a5f=_0x474e28,_0xb96a60=this;return _0x3e2f44[_0x1d7a5f(0x1e2)+_0x4e148d[_0x1d7a5f(0x1b5)]()]=!0x0,function(_0x5d4c94){var _0x5463d9=_0x1d7a5f,_0x37fd62=_0x2ecd5f['node'][_0x5463d9(0x203)],_0x2e8cf7=_0x2ecd5f[_0x5463d9(0x1c1)][_0x5463d9(0x1d1)],_0x411e66=_0x2ecd5f[_0x5463d9(0x1c1)]['parent'];_0x2ecd5f[_0x5463d9(0x1c1)][_0x5463d9(0x1bd)]=_0x37fd62,_0x2ecd5f['node'][_0x5463d9(0x1d1)]=_0x5d4c94,_0xc84b93[_0x5463d9(0x19e)](_0xb96a60[_0x5463d9(0x226)](_0x185af2,_0x49d1d4,_0x4e148d,_0x2ecd5f,_0x4922a0)),_0x2ecd5f['node']['parent']=_0x411e66,_0x2ecd5f[_0x5463d9(0x1c1)]['index']=_0x2e8cf7;};}[_0x474e28(0x226)](_0x309004,_0x27f8f4,_0x2d406a,_0x3d1eb2,_0x5dc148){var _0x2f67c0=_0x474e28,_0x3d2351=this;_0x5dc148||(_0x5dc148=function(_0x16e5b4,_0x9d5978){return _0x16e5b4[_0x9d5978];});var _0x121d79=_0x2d406a['toString'](),_0x10a35f=_0x3d1eb2[_0x2f67c0(0x20d)]||{},_0x589742=_0x3d1eb2[_0x2f67c0(0x221)],_0x82abf4=_0x3d1eb2[_0x2f67c0(0x1cb)];try{var _0x25a62a=this[_0x2f67c0(0x20c)](_0x309004),_0x17bcb5=_0x121d79;_0x25a62a&&_0x17bcb5[0x0]==='\\x27'&&(_0x17bcb5=_0x17bcb5['substr'](0x1,_0x17bcb5['length']-0x2));var _0x538581=_0x3d1eb2[_0x2f67c0(0x20d)]=_0x10a35f[_0x2f67c0(0x1e2)+_0x17bcb5];_0x538581&&(_0x3d1eb2['depth']=_0x3d1eb2[_0x2f67c0(0x221)]+0x1),_0x3d1eb2[_0x2f67c0(0x1cb)]=!!_0x538581;var _0x57a742=typeof _0x2d406a==_0x2f67c0(0x173),_0x428767={'name':_0x57a742||_0x25a62a?_0x121d79:this['_propertyName'](_0x121d79)};if(_0x57a742&&(_0x428767[_0x2f67c0(0x173)]=!0x0),!(_0x27f8f4===_0x2f67c0(0x1bb)||_0x27f8f4==='Error')){var _0x27c37b=this[_0x2f67c0(0x204)](_0x309004,_0x2d406a);if(_0x27c37b&&(_0x27c37b[_0x2f67c0(0x1fc)]&&(_0x428767['setter']=!0x0),_0x27c37b[_0x2f67c0(0x252)]&&!_0x538581&&!_0x3d1eb2[_0x2f67c0(0x1dc)]))return _0x428767[_0x2f67c0(0x1f6)]=!0x0,this[_0x2f67c0(0x258)](_0x428767,_0x3d1eb2),_0x428767;}var _0x53db3f;try{_0x53db3f=_0x5dc148(_0x309004,_0x2d406a);}catch(_0x175f6c){return _0x428767={'name':_0x121d79,'type':_0x2f67c0(0x1c2),'error':_0x175f6c[_0x2f67c0(0x234)]},this['_processTreeNodeResult'](_0x428767,_0x3d1eb2),_0x428767;}var _0x3ccd09=this[_0x2f67c0(0x260)](_0x53db3f),_0x495457=this[_0x2f67c0(0x19b)](_0x3ccd09);if(_0x428767[_0x2f67c0(0x1d5)]=_0x3ccd09,_0x495457)this['_processTreeNodeResult'](_0x428767,_0x3d1eb2,_0x53db3f,function(){var _0x29426a=_0x2f67c0;_0x428767[_0x29426a(0x1ae)]=_0x53db3f[_0x29426a(0x22a)](),!_0x538581&&_0x3d2351[_0x29426a(0x249)](_0x3ccd09,_0x428767,_0x3d1eb2,{});});else{var _0xd80e6=_0x3d1eb2['autoExpand']&&_0x3d1eb2[_0x2f67c0(0x1ec)]<_0x3d1eb2['autoExpandMaxDepth']&&_0x3d1eb2[_0x2f67c0(0x1f3)]['indexOf'](_0x53db3f)<0x0&&_0x3ccd09!=='function'&&_0x3d1eb2[_0x2f67c0(0x17c)]<_0x3d1eb2['autoExpandLimit'];_0xd80e6||_0x3d1eb2['level']<_0x589742||_0x538581?(this[_0x2f67c0(0x1cf)](_0x428767,_0x53db3f,_0x3d1eb2,_0x538581||{}),this[_0x2f67c0(0x1eb)](_0x53db3f,_0x428767)):this[_0x2f67c0(0x258)](_0x428767,_0x3d1eb2,_0x53db3f,function(){var _0x542de1=_0x2f67c0;_0x3ccd09===_0x542de1(0x1fd)||_0x3ccd09===_0x542de1(0x224)||(delete _0x428767[_0x542de1(0x1ae)],_0x428767[_0x542de1(0x20b)]=!0x0);});}return _0x428767;}finally{_0x3d1eb2['expressionsToEvaluate']=_0x10a35f,_0x3d1eb2[_0x2f67c0(0x221)]=_0x589742,_0x3d1eb2[_0x2f67c0(0x1cb)]=_0x82abf4;}}[_0x474e28(0x249)](_0x4d112e,_0x451ae5,_0x56d610,_0x3bf48e){var _0x678168=_0x474e28,_0xf9d777=_0x3bf48e[_0x678168(0x212)]||_0x56d610[_0x678168(0x212)];if((_0x4d112e===_0x678168(0x1ca)||_0x4d112e===_0x678168(0x1da))&&_0x451ae5[_0x678168(0x1ae)]){let _0x3a00d4=_0x451ae5['value'][_0x678168(0x241)];_0x56d610[_0x678168(0x263)]+=_0x3a00d4,_0x56d610[_0x678168(0x263)]>_0x56d610[_0x678168(0x1a9)]?(_0x451ae5[_0x678168(0x20b)]='',delete _0x451ae5[_0x678168(0x1ae)]):_0x3a00d4>_0xf9d777&&(_0x451ae5[_0x678168(0x20b)]=_0x451ae5['value'][_0x678168(0x255)](0x0,_0xf9d777),delete _0x451ae5[_0x678168(0x1ae)]);}}[_0x474e28(0x20c)](_0x19cbe5){var _0x49a451=_0x474e28;return!!(_0x19cbe5&&_0x22ccb3['Map']&&this[_0x49a451(0x22c)](_0x19cbe5)===_0x49a451(0x186)&&_0x19cbe5['forEach']);}[_0x474e28(0x1cc)](_0x571f6a){var _0x38494e=_0x474e28;if(_0x571f6a[_0x38494e(0x196)](/^\\d+$/))return _0x571f6a;var _0x2ac1e0;try{_0x2ac1e0=JSON['stringify'](''+_0x571f6a);}catch{_0x2ac1e0='\\x22'+this[_0x38494e(0x22c)](_0x571f6a)+'\\x22';}return _0x2ac1e0[_0x38494e(0x196)](/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?_0x2ac1e0=_0x2ac1e0[_0x38494e(0x255)](0x1,_0x2ac1e0[_0x38494e(0x241)]-0x2):_0x2ac1e0=_0x2ac1e0[_0x38494e(0x17b)](/'/g,'\\x5c\\x27')[_0x38494e(0x17b)](/\\\\\"/g,'\\x22')[_0x38494e(0x17b)](/(^\"|\"$)/g,'\\x27'),_0x2ac1e0;}[_0x474e28(0x258)](_0x4cdf24,_0x45da12,_0x18e167,_0xec3f6){var _0x1d19f5=_0x474e28;this[_0x1d19f5(0x223)](_0x4cdf24,_0x45da12),_0xec3f6&&_0xec3f6(),this[_0x1d19f5(0x1eb)](_0x18e167,_0x4cdf24),this[_0x1d19f5(0x1d3)](_0x4cdf24,_0x45da12);}[_0x474e28(0x223)](_0x4284b4,_0x504c8c){var _0x2eefc0=_0x474e28;this[_0x2eefc0(0x178)](_0x4284b4,_0x504c8c),this['_setNodeQueryPath'](_0x4284b4,_0x504c8c),this['_setNodeExpressionPath'](_0x4284b4,_0x504c8c),this['_setNodePermissions'](_0x4284b4,_0x504c8c);}[_0x474e28(0x178)](_0x3d0d45,_0x386ba5){}['_setNodeQueryPath'](_0x2f8330,_0x456660){}[_0x474e28(0x1e3)](_0x5596c2,_0x3f7a92){}[_0x474e28(0x182)](_0x75cea){var _0x586bac=_0x474e28;return _0x75cea===this[_0x586bac(0x215)];}[_0x474e28(0x1d3)](_0x434ec9,_0x34408e){var _0x4dcbfc=_0x474e28;this[_0x4dcbfc(0x1e3)](_0x434ec9,_0x34408e),this[_0x4dcbfc(0x188)](_0x434ec9),_0x34408e[_0x4dcbfc(0x242)]&&this[_0x4dcbfc(0x1f9)](_0x434ec9),this[_0x4dcbfc(0x1b8)](_0x434ec9,_0x34408e),this[_0x4dcbfc(0x264)](_0x434ec9,_0x34408e),this['_cleanNode'](_0x434ec9);}[_0x474e28(0x1eb)](_0x599d24,_0x413357){var _0x2d0fc7=_0x474e28;let _0xc2d847;try{_0x22ccb3[_0x2d0fc7(0x25e)]&&(_0xc2d847=_0x22ccb3[_0x2d0fc7(0x25e)][_0x2d0fc7(0x21b)],_0x22ccb3[_0x2d0fc7(0x25e)][_0x2d0fc7(0x21b)]=function(){}),_0x599d24&&typeof _0x599d24[_0x2d0fc7(0x241)]==_0x2d0fc7(0x1ad)&&(_0x413357[_0x2d0fc7(0x241)]=_0x599d24[_0x2d0fc7(0x241)]);}catch{}finally{_0xc2d847&&(_0x22ccb3['console']['error']=_0xc2d847);}if(_0x413357['type']===_0x2d0fc7(0x1ad)||_0x413357['type']===_0x2d0fc7(0x1d6)){if(isNaN(_0x413357[_0x2d0fc7(0x1ae)]))_0x413357[_0x2d0fc7(0x24f)]=!0x0,delete _0x413357['value'];else switch(_0x413357['value']){case Number['POSITIVE_INFINITY']:_0x413357[_0x2d0fc7(0x22d)]=!0x0,delete _0x413357[_0x2d0fc7(0x1ae)];break;case Number['NEGATIVE_INFINITY']:_0x413357[_0x2d0fc7(0x21d)]=!0x0,delete _0x413357[_0x2d0fc7(0x1ae)];break;case 0x0:this[_0x2d0fc7(0x230)](_0x413357[_0x2d0fc7(0x1ae)])&&(_0x413357[_0x2d0fc7(0x1ff)]=!0x0);break;}}else _0x413357[_0x2d0fc7(0x1d5)]===_0x2d0fc7(0x210)&&typeof _0x599d24[_0x2d0fc7(0x216)]==_0x2d0fc7(0x1ca)&&_0x599d24[_0x2d0fc7(0x216)]&&_0x413357[_0x2d0fc7(0x216)]&&_0x599d24[_0x2d0fc7(0x216)]!==_0x413357[_0x2d0fc7(0x216)]&&(_0x413357[_0x2d0fc7(0x19d)]=_0x599d24['name']);}[_0x474e28(0x230)](_0xd5539f){var _0x2eae63=_0x474e28;return 0x1/_0xd5539f===Number[_0x2eae63(0x25c)];}['_sortProps'](_0x380235){var _0x146135=_0x474e28;!_0x380235[_0x146135(0x247)]||!_0x380235[_0x146135(0x247)][_0x146135(0x241)]||_0x380235[_0x146135(0x1d5)]===_0x146135(0x1bb)||_0x380235[_0x146135(0x1d5)]===_0x146135(0x25a)||_0x380235[_0x146135(0x1d5)]==='Set'||_0x380235[_0x146135(0x247)][_0x146135(0x1fb)](function(_0x414928,_0x1945fc){var _0x266892=_0x146135,_0x1b66b7=_0x414928[_0x266892(0x216)][_0x266892(0x1fe)](),_0x5328bb=_0x1945fc[_0x266892(0x216)][_0x266892(0x1fe)]();return _0x1b66b7<_0x5328bb?-0x1:_0x1b66b7>_0x5328bb?0x1:0x0;});}[_0x474e28(0x1b8)](_0x369bff,_0x1e1c68){var _0x2578e9=_0x474e28;if(!(_0x1e1c68[_0x2578e9(0x1b1)]||!_0x369bff[_0x2578e9(0x247)]||!_0x369bff['props']['length'])){for(var _0x4124b0=[],_0x5d8c12=[],_0x1b02f7=0x0,_0x29114f=_0x369bff['props'][_0x2578e9(0x241)];_0x1b02f7<_0x29114f;_0x1b02f7++){var _0x4dad07=_0x369bff[_0x2578e9(0x247)][_0x1b02f7];_0x4dad07[_0x2578e9(0x1d5)]===_0x2578e9(0x210)?_0x4124b0[_0x2578e9(0x19e)](_0x4dad07):_0x5d8c12[_0x2578e9(0x19e)](_0x4dad07);}if(!(!_0x5d8c12[_0x2578e9(0x241)]||_0x4124b0[_0x2578e9(0x241)]<=0x1)){_0x369bff['props']=_0x5d8c12;var _0x3f513e={'functionsNode':!0x0,'props':_0x4124b0};this[_0x2578e9(0x178)](_0x3f513e,_0x1e1c68),this[_0x2578e9(0x1e3)](_0x3f513e,_0x1e1c68),this[_0x2578e9(0x188)](_0x3f513e),this[_0x2578e9(0x1d7)](_0x3f513e,_0x1e1c68),_0x3f513e['id']+='\\x20f',_0x369bff['props'][_0x2578e9(0x1a2)](_0x3f513e);}}}['_addLoadNode'](_0x251fea,_0x1c7bed){}[_0x474e28(0x188)](_0x420c5e){}['_isArray'](_0x171d38){var _0x416234=_0x474e28;return Array['isArray'](_0x171d38)||typeof _0x171d38==_0x416234(0x24c)&&this['_objectToString'](_0x171d38)===_0x416234(0x18a);}[_0x474e28(0x1d7)](_0x31bdc4,_0x5179b1){}[_0x474e28(0x238)](_0x4e0ecc){var _0x412079=_0x474e28;delete _0x4e0ecc[_0x412079(0x202)],delete _0x4e0ecc['_hasSetOnItsPath'],delete _0x4e0ecc[_0x412079(0x213)];}['_setNodeExpressionPath'](_0x11bea6,_0x47e032){}}let _0x3a4564=new _0x4328bc(),_0x460b36={'props':0x64,'elements':0x64,'strLength':0x400*0x32,'totalStrLength':0x400*0x32,'autoExpandLimit':0x1388,'autoExpandMaxDepth':0xa},_0x15866a={'props':0x5,'elements':0x5,'strLength':0x100,'totalStrLength':0x100*0x3,'autoExpandLimit':0x1e,'autoExpandMaxDepth':0x2};function _0x281624(_0x23900b,_0x598a4a,_0x1b54ac,_0x254bd4,_0x5148a4,_0x4fb940){var _0x3567cc=_0x474e28;let _0x2dbe01,_0x54e9fe;try{_0x54e9fe=_0x59158b(),_0x2dbe01=_0x4e171b[_0x598a4a],!_0x2dbe01||_0x54e9fe-_0x2dbe01['ts']>0x1f4&&_0x2dbe01[_0x3567cc(0x1fa)]&&_0x2dbe01[_0x3567cc(0x236)]/_0x2dbe01['count']<0x64?(_0x4e171b[_0x598a4a]=_0x2dbe01={'count':0x0,'time':0x0,'ts':_0x54e9fe},_0x4e171b[_0x3567cc(0x211)]={}):_0x54e9fe-_0x4e171b[_0x3567cc(0x211)]['ts']>0x32&&_0x4e171b[_0x3567cc(0x211)]['count']&&_0x4e171b[_0x3567cc(0x211)][_0x3567cc(0x236)]/_0x4e171b['hits'][_0x3567cc(0x1fa)]<0x64&&(_0x4e171b['hits']={});let _0x174d1a=[],_0x5a2db6=_0x2dbe01[_0x3567cc(0x246)]||_0x4e171b[_0x3567cc(0x211)][_0x3567cc(0x246)]?_0x15866a:_0x460b36,_0x369fb0=_0x465dc7=>{var _0x1e7987=_0x3567cc;let _0x35b31e={};return _0x35b31e[_0x1e7987(0x247)]=_0x465dc7[_0x1e7987(0x247)],_0x35b31e['elements']=_0x465dc7[_0x1e7987(0x262)],_0x35b31e[_0x1e7987(0x212)]=_0x465dc7[_0x1e7987(0x212)],_0x35b31e['totalStrLength']=_0x465dc7[_0x1e7987(0x1a9)],_0x35b31e['autoExpandLimit']=_0x465dc7[_0x1e7987(0x250)],_0x35b31e[_0x1e7987(0x1a8)]=_0x465dc7[_0x1e7987(0x1a8)],_0x35b31e['sortProps']=!0x1,_0x35b31e[_0x1e7987(0x1b1)]=!_0x2c73de,_0x35b31e[_0x1e7987(0x221)]=0x1,_0x35b31e[_0x1e7987(0x1ec)]=0x0,_0x35b31e[_0x1e7987(0x1d4)]=_0x1e7987(0x174),_0x35b31e[_0x1e7987(0x20e)]='root_exp',_0x35b31e[_0x1e7987(0x1ba)]=!0x0,_0x35b31e[_0x1e7987(0x1f3)]=[],_0x35b31e['autoExpandPropertyCount']=0x0,_0x35b31e['resolveGetters']=!0x0,_0x35b31e[_0x1e7987(0x263)]=0x0,_0x35b31e['node']={'current':void 0x0,'parent':void 0x0,'index':0x0},_0x35b31e;};for(var _0x544e1e=0x0;_0x544e1e<_0x5148a4['length'];_0x544e1e++)_0x174d1a[_0x3567cc(0x19e)](_0x3a4564[_0x3567cc(0x1cf)]({'timeNode':_0x23900b===_0x3567cc(0x236)||void 0x0},_0x5148a4[_0x544e1e],_0x369fb0(_0x5a2db6),{}));if(_0x23900b===_0x3567cc(0x1ab)||_0x23900b===_0x3567cc(0x21b)){let _0x16bc50=Error[_0x3567cc(0x189)];try{Error[_0x3567cc(0x189)]=0x1/0x0,_0x174d1a[_0x3567cc(0x19e)](_0x3a4564[_0x3567cc(0x1cf)]({'stackNode':!0x0},new Error()[_0x3567cc(0x201)],_0x369fb0(_0x5a2db6),{'strLength':0x1/0x0}));}finally{Error[_0x3567cc(0x189)]=_0x16bc50;}}return{'method':_0x3567cc(0x251),'version':_0x35fc63,'args':[{'ts':_0x1b54ac,'session':_0x254bd4,'args':_0x174d1a,'id':_0x598a4a,'context':_0x4fb940}]};}catch(_0x657fb0){return{'method':_0x3567cc(0x251),'version':_0x35fc63,'args':[{'ts':_0x1b54ac,'session':_0x254bd4,'args':[{'type':_0x3567cc(0x1c2),'error':_0x657fb0&&_0x657fb0[_0x3567cc(0x234)]}],'id':_0x598a4a,'context':_0x4fb940}]};}finally{try{if(_0x2dbe01&&_0x54e9fe){let _0x569e2a=_0x59158b();_0x2dbe01[_0x3567cc(0x1fa)]++,_0x2dbe01[_0x3567cc(0x236)]+=_0x37f561(_0x54e9fe,_0x569e2a),_0x2dbe01['ts']=_0x569e2a,_0x4e171b['hits'][_0x3567cc(0x1fa)]++,_0x4e171b[_0x3567cc(0x211)][_0x3567cc(0x236)]+=_0x37f561(_0x54e9fe,_0x569e2a),_0x4e171b[_0x3567cc(0x211)]['ts']=_0x569e2a,(_0x2dbe01['count']>0x32||_0x2dbe01[_0x3567cc(0x236)]>0x64)&&(_0x2dbe01[_0x3567cc(0x246)]=!0x0),(_0x4e171b[_0x3567cc(0x211)][_0x3567cc(0x1fa)]>0x3e8||_0x4e171b[_0x3567cc(0x211)]['time']>0x12c)&&(_0x4e171b[_0x3567cc(0x211)]['reduceLimits']=!0x0);}}catch{}}}return _0x281624;}((_0x223d37,_0x5bef7f,_0x293455,_0x196903,_0x5f2c6d,_0x26a699,_0x56ad52,_0xcf1325,_0x45dccc,_0x15cc6b,_0x4b507f)=>{var _0x128c36=_0xb38479;if(_0x223d37['_console_ninja'])return _0x223d37[_0x128c36(0x1cd)];if(!H(_0x223d37,_0xcf1325,_0x5f2c6d))return _0x223d37[_0x128c36(0x1cd)]={'consoleLog':()=>{},'consoleTrace':()=>{},'consoleTime':()=>{},'consoleTimeEnd':()=>{},'autoLog':()=>{},'autoLogMany':()=>{},'autoTraceMany':()=>{},'coverage':()=>{},'autoTrace':()=>{},'autoTime':()=>{},'autoTimeEnd':()=>{}},_0x223d37[_0x128c36(0x1cd)];let _0x4c8894=B(_0x223d37),_0x4fce70=_0x4c8894[_0x128c36(0x1e8)],_0xf04e3f=_0x4c8894[_0x128c36(0x17d)],_0x34dbd2=_0x4c8894[_0x128c36(0x1ef)],_0x5531e0={'hits':{},'ts':{}},_0x58f1cd=X(_0x223d37,_0x45dccc,_0x5531e0,_0x26a699),_0x2b8b0f=_0x3fac78=>{_0x5531e0['ts'][_0x3fac78]=_0xf04e3f();},_0x95a02f=(_0x1435b9,_0x34ff92)=>{let _0x124d2e=_0x5531e0['ts'][_0x34ff92];if(delete _0x5531e0['ts'][_0x34ff92],_0x124d2e){let _0x59b045=_0x4fce70(_0x124d2e,_0xf04e3f());_0x50639f(_0x58f1cd('time',_0x1435b9,_0x34dbd2(),_0x529034,[_0x59b045],_0x34ff92));}},_0x3c2f23=_0x13bf7b=>{var _0x457f6b=_0x128c36,_0x34eb7b;return _0x5f2c6d===_0x457f6b(0x1de)&&_0x223d37[_0x457f6b(0x1dd)]&&((_0x34eb7b=_0x13bf7b==null?void 0x0:_0x13bf7b[_0x457f6b(0x193)])==null?void 0x0:_0x34eb7b[_0x457f6b(0x241)])&&(_0x13bf7b[_0x457f6b(0x193)][0x0][_0x457f6b(0x1dd)]=_0x223d37[_0x457f6b(0x1dd)]),_0x13bf7b;};_0x223d37[_0x128c36(0x1cd)]={'consoleLog':(_0x5cafd8,_0x487cf6)=>{var _0x55189c=_0x128c36;_0x223d37['console'][_0x55189c(0x251)][_0x55189c(0x216)]!==_0x55189c(0x194)&&_0x50639f(_0x58f1cd(_0x55189c(0x251),_0x5cafd8,_0x34dbd2(),_0x529034,_0x487cf6));},'consoleTrace':(_0x5e6473,_0x3d35c8)=>{var _0x561906=_0x128c36,_0x1391eb,_0x2bb065;_0x223d37[_0x561906(0x25e)]['log']['name']!=='disabledTrace'&&((_0x2bb065=(_0x1391eb=_0x223d37[_0x561906(0x1a3)])==null?void 0x0:_0x1391eb[_0x561906(0x24d)])!=null&&_0x2bb065[_0x561906(0x1c1)]&&(_0x223d37[_0x561906(0x192)]=!0x0),_0x50639f(_0x3c2f23(_0x58f1cd('trace',_0x5e6473,_0x34dbd2(),_0x529034,_0x3d35c8))));},'consoleError':(_0x48f234,_0x50acb5)=>{var _0x3ac930=_0x128c36;_0x223d37[_0x3ac930(0x192)]=!0x0,_0x50639f(_0x3c2f23(_0x58f1cd(_0x3ac930(0x21b),_0x48f234,_0x34dbd2(),_0x529034,_0x50acb5)));},'consoleTime':_0x3b4528=>{_0x2b8b0f(_0x3b4528);},'consoleTimeEnd':(_0x1d2a1a,_0x8fecd7)=>{_0x95a02f(_0x8fecd7,_0x1d2a1a);},'autoLog':(_0x202683,_0x2cfe5b)=>{_0x50639f(_0x58f1cd('log',_0x2cfe5b,_0x34dbd2(),_0x529034,[_0x202683]));},'autoLogMany':(_0x4b6c47,_0x450b66)=>{var _0x473802=_0x128c36;_0x50639f(_0x58f1cd(_0x473802(0x251),_0x4b6c47,_0x34dbd2(),_0x529034,_0x450b66));},'autoTrace':(_0x32a76,_0x14bc12)=>{var _0x57cf8a=_0x128c36;_0x50639f(_0x3c2f23(_0x58f1cd(_0x57cf8a(0x1ab),_0x14bc12,_0x34dbd2(),_0x529034,[_0x32a76])));},'autoTraceMany':(_0xe360f7,_0x33c0e2)=>{var _0x3db00e=_0x128c36;_0x50639f(_0x3c2f23(_0x58f1cd(_0x3db00e(0x1ab),_0xe360f7,_0x34dbd2(),_0x529034,_0x33c0e2)));},'autoTime':(_0xd23749,_0x1ef2d8,_0x4116db)=>{_0x2b8b0f(_0x4116db);},'autoTimeEnd':(_0x14d592,_0x59efe7,_0x11f7ac)=>{_0x95a02f(_0x59efe7,_0x11f7ac);},'coverage':_0x20742a=>{var _0x644897=_0x128c36;_0x50639f({'method':_0x644897(0x1b2),'version':_0x26a699,'args':[{'id':_0x20742a}]});}};let _0x50639f=q(_0x223d37,_0x5bef7f,_0x293455,_0x196903,_0x5f2c6d,_0x15cc6b,_0x4b507f),_0x529034=_0x223d37[_0x128c36(0x261)];return _0x223d37[_0x128c36(0x1cd)];})(globalThis,_0xb38479(0x18e),_0xb38479(0x1df),_0xb38479(0x25b),_0xb38479(0x1ee),_0xb38479(0x23d),_0xb38479(0x24a),_0xb38479(0x197),_0xb38479(0x1ce),'','1');");}catch(e){}};/* istanbul ignore next */function oo_oo(i,...v){try{oo_cm().consoleLog(i, v);}catch(e){} return v};/* istanbul ignore next */function oo_tr(i,...v){try{oo_cm().consoleTrace(i, v);}catch(e){} return v};/* istanbul ignore next */function oo_tx(i,...v){try{oo_cm().consoleError(i, v);}catch(e){} return v};/* istanbul ignore next */function oo_ts(v){try{oo_cm().consoleTime(v);}catch(e){} return v;};/* istanbul ignore next */function oo_te(v, i){try{oo_cm().consoleTimeEnd(v, i);}catch(e){} return v;};/*eslint unicorn/no-abusive-eslint-disable:,eslint-comments/disable-enable-pair:,eslint-comments/no-unlimited-disable:,eslint-comments/no-aggregating-enable:,eslint-comments/no-duplicate-disable:,eslint-comments/no-unused-disable:,eslint-comments/no-unused-enable:,*/ |
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +File | ++ | Statements | ++ | Branches | ++ | Functions | ++ | Lines | ++ |
---|---|---|---|---|---|---|---|---|---|
Busqueda.jsx | +
+
+ |
+ 0% | +0/5 | +0% | +0/2 | +0% | +0/3 | +0% | +0/5 | +
barra.jsx | +
+
+ |
+ 0% | +0/62 | +0% | +0/29 | +0% | +0/14 | +0% | +0/60 | +
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +File | ++ | Statements | ++ | Branches | ++ | Functions | ++ | Lines | ++ |
---|---|---|---|---|---|---|---|---|---|
Footer.jsx | +
+
+ |
+ 0% | +0/1 | +100% | +0/0 | +0% | +0/1 | +0% | +0/1 | +
+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 | 1x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | �PNG + + +IHDR >X >X> 1� cHRM z& |