1<!doctype html> 2<html lang="en" translate="no" class="notranslate"> 3<head> 4 <meta charset="utf-8"> 5 <title>zÃro</title> 6 <base href="/"> 7 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 <meta name="ziro-build" content="6308654"> 9 <link rel="icon" type="image/x-icon" href="favicon.ico"> 10 11 <!-- Google tag (gtag.js) -->
vendor: 69 bytes, lines 11-12
11 12 <script async="" src="https://www.googletagmanager.com/gtag/js?id=
12G-1YJ1P4GYYL
vendor: 14 bytes, lines 12-13
12"></script> 13
13<script> 14 window.dataLayer = window.dataLayer || []; 15 function gtag(){dataLayer.push(arguments);} 16 gtag('js', new Date()); 17 18 // Configuración mejorada para GA4 19 const isLocal = location.hostname === 'localhost' || location.hostname === '127.0.0.1'; 20 21 gtag('config', 'G-1YJ1P4GYYL', { 22 send_page_view: false, 23 debug_mode: isLocal, 24 custom_parameter_1: 'development', 25 ...(isLocal ? { 26 cookie_domain: 'none', 27 cookie_flags: 'SameSite=None;Secure' 28 } : {}) 29 }); 30 31 // Marcar gtag como listo 32 window.gtag_loaded = true; 33 </script>
33 34<link rel="stylesheet" href="styles-WHWKW3HY.css"></head> 35<body> 36
36<script> 37 (function () { 38 var VERSION_RELOAD_KEY = 'ziro_deploy_reload'; 39 var VERSION_FETCH_TIMEOUT_MS = 5000; 40 var meta = document.querySelector('meta[name="ziro-build"]'); 41 var bundled = meta && meta.getAttribute('content'); 42 if (!bundled || bundled === 'dev') { 43 return; 44 } 45 46 function parseCommit(text) { 47 var trimmed = (text || '').trim(); 48 if (!trimmed) { 49 return ''; 50 } 51 if (trimmed.charAt(0) === '{') { 52 try { 53 var parsed = JSON.parse(trimmed); 54 var jsonCommit = parsed && typeof parsed.commit === 'string' ? parsed.commit.trim() : ''; 55 return jsonCommit || ''; 56 } catch (e) { 57 return ''; 58 } 59 } 60 var lines = trimmed.split('\n'); 61 for (var i = 0; i < lines.length; i++) { 62 if (lines[i].indexOf('commit=') === 0) { 63 return lines[i].replace('commit=', '').trim(); 64 } 65 } 66 return ''; 67 } 68 69 function reloadFor(deployed) { 70 try { 71 if (sessionStorage.getItem(VERSION_RELOAD_KEY) === deployed) { 72 return; 73 } 74 sessionStorage.setItem(VERSION_RELOAD_KEY, deployed); 75 } catch (e) {} 76 var url = new URL(window.location.href); 77 url.searchParams.set('_zrv', deployed); 78 window.location.replace(url.toString()); 79 } 80 81 function checkVersion() { 82 var controller = typeof AbortController !== 'undefined' ? new AbortController() : null; 83 var timeoutId = null; 84 if (controller) { 85 timeoutId = setTimeout(function () { 86 controller.abort(); 87 }, VERSION_FETCH_TIMEOUT_MS); 88 } 89 var fetchOptions = { cache: 'no-store' }; 90 if (controller) { 91 fetchOptions.signal = controller.signal; 92 } 93 fetch('/version.txt?_=' + Date.now(), fetchOptions) 94 .then(function (response) { 95 return response.ok ? response.text() : ''; 96 }) 97 .then(function (text) { 98 var deployed = parseCommit(text); 99 if (!deployed || deployed === bundled) { 100 try { 101 sessionStorage.removeItem(VERSION_RELOAD_KEY); 102 } catch (e) {} 103 return; 104 } 105 reloadFor(deployed); 106 }) 107 .catch(function () {}) 108 .then(function () { 109 if (timeoutId !== null) { 110 clearTimeout(timeoutId); 111 } 112 }); 113 } 114 115 checkVersion(); 116 window.addEventListener('pageshow', function (event) { 117 if (event.persisted) { 118 checkVersion(); 119 } 120 }); 121 })(); 122 </script>
122 123 <div id="ziro-app-splash" role="status" aria-live="polite"> 124 <div class="ziro-splash-inner"> 125 <p class="ziro-splash-title">Cargando ZÃro...</p> 126 <div class="ziro-splash-spinner" aria-hidden="true"></div> 127 </div> 128 </div> 129 <app-root></app-root> 130 <style> 131 #ziro-app-splash { 132 position: fixed; 133 inset: 0; 134 z-index: 2147483000; 135 display: flex; 136 align-items: center; 137 justify-content: center; 138 background: #f5f0e8; 139 color: #1a1a1a; 140 font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; 141 transition: opacity 0.25s ease; 142 } 143 #ziro-app-splash.ziro-splash-hidden { 144 opacity: 0; 145 pointer-events: none; 146 } 147 .ziro-splash-inner { 148 text-align: center; 149 padding: 1.5rem; 150 } 151 .ziro-splash-title { 152 margin: 0 0 1rem; 153 font-size: 1.125rem; 154 font-weight: 600; 155 } 156 .ziro-splash-spinner { 157 width: 2rem; 158 height: 2rem; 159 margin: 0 auto; 160 border: 3px solid rgba(0, 0, 0, 0.12); 161 border-top-color: #2d8f4e; 162 border-radius: 50%; 163 animation: ziro-splash-spin 0.8s linear infinite; 164 } 165 @keyframes ziro-splash-spin { 166 to { transform: rotate(360deg); } 167 } 168 </style> 169<link rel="modulepreload" href="chunk-TRL7QEZA.js"><link rel="modulepreload" href="chunk-TRESIOJF.js"><link rel="modulepreload" href="chunk-TLRECKN5.js"><link rel="modulepreload" href="chunk-CPO4BCHD.js"><link rel="modulepreload" href="chunk-VZEAHOML.js"><link rel="modulepreload" href="chunk-GNZRJHE2.js"><link rel="modulepreload" href="chunk-CUOUGWOQ.js"><link rel="modulepreload" href="chunk-XAZLOLJU.js"><link rel="modulepreload" href="chunk-CHM64WZA.js"><link rel="modulepreload" href="chunk-ANOLA4TT.js">
169<script src="polyfills-MH2GNY63.js" type="module"></script>
169<script src="scripts-VEVIMMXQ.js" defer></script>
169<script src="main-J3I7STPC.js" type="module"></script>
169</body> 170</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.