PageSourceSearch

https://app.zenlytic.com/login

html zenlytic.com collected 2026-09-24 10:23:46 UTC 9,547 bytes, 233 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes" />
6    <meta name="theme-color" content="#000000" />
7    <link rel="icon" href="/favicon.ico" />
8    <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
9    <title>Zenlytic</title>
10    <!-- Immediately apply cached customizations from localStorage -->
11    
11<script>
12      (function () {
13        try {
14          const cached = localStorage.getItem('zenlytic_site_customization');
15          if (!cached) return;
16
17          const customization = JSON.parse(cached);
18
19          // Helper function to update or create a link element
20          function updateOrCreateLink(selector, rel, href) {
21            let link = document.querySelector(selector);
22            if (!link) {
23              link = document.createElement('link');
24              link.rel = rel;
25              document.head.appendChild(link);
26            }
27            link.href = href;
28          }
29
30          // Helper function to create meta tag
31          function createMetaTag(name, content) {
32            const meta = document.createElement('meta');
33            meta.setAttribute('name', name);
34            meta.setAttribute('content', content);
35            document.head.appendChild(meta);
36          }
37
38          // Apply cached customizations immediately
39          if (customization.pageTitle) {
40            document.title = customization.pageTitle;
41          }
42
43          if (customization.favicon) {
44            updateOrCreateLink('link[rel="icon"]', 'icon', customization.favicon);
45          }
46
47          if (customization.description) {
48            createMetaTag('description', customization.description);
49          }
50
51          if (customization.appleTouchIcon) {
52            updateOrCreateLink(
53              'link[rel="apple-touch-icon"]',
54              'apple-touch-icon',
55              customization.appleTouchIcon
56            );
57          }
58        } catch (e) {
59          // Silently fail if localStorage is not available or corrupted
60          console.warn('Failed to load cached site customization:', e);
61        }
62      })();
63    </script>
63
64
65    <!-- This is needed because Vite doesn't set global automatically, without it things like Chakra will not have global styles -->
66    
66<script>
67      window.global = window;
68    </script>
68
69
70    <!-- Runtime configuration - must load before analytics scripts -->
71    <!-- This file should be provided by customers with their specific configuration or should rely on Zenlytic's default specifications. -->
72    
72<script src="/env.js"></script>
72
73
74    <!-- Google Tag Manager - disabled in VPC (no public internet) -->
75    
75<script>
76      if (window.__RUNTIME_CONFIG__?.DEPLOYMENT_TYPE !== 'customer_vpc') {
vendor: 475 bytes, lines 76-86
76
77        (function (w, d, s, l, i) {
78          w[l] = w[l] || [];
79          w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
80          var f = d.getElementsByTagName(s)[0],
81            j = d.createElement(s),
82            dl = l != 'dataLayer' ? '&l=' + l : '';
83          j.async = true;
84          j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
85          f.parentNode.insertBefore(j, f);
86        })(window, document, 'script', 'dataLayer', '
86GTM-TNM5SWM
vendor: 10 bytes, lines 86-87
86');
87      
87}
88    </script>
88
89    <!-- End Google Tag Manager -->
90    <!-- Load segment - disabled in VPC (no public internet) -->
91    
91<script>
92      if (window.__RUNTIME_CONFIG__?.DEPLOYMENT_TYPE !== 'customer_vpc') {
93        !(function () {
94          var i = 'analytics',
95            analytics = (window[i] = window[i] || []);
96          if (!analytics.initialize)
97            if (analytics.invoked)
98              window.console &&
99                console.error &&
100                console.error('Segment snippet included twice.');
101            else {
102              analytics.invoked = !0;
103              analytics.methods = [
104                'trackSubmit',
105                'trackClick',
106                'trackLink',
107                'trackForm',
108                'pageview',
109                'identify',
110                'reset',
111                'group',
112                'track',
113                'ready',
114                'alias',
115                'debug',
116                'page',
117                'screen',
118                'once',
119                'off',
120                'on',
121                'addSourceMiddleware',
122                'addIntegrationMiddleware',
123                'setAnonymousId',
124                'addDestinationMiddleware',
125                'register',
126              ];
127              analytics.factory = function (e) {
128                return function () {
129                  if (window[i].initialized) return window[i][e].apply(window[i], arguments);
130                  var n = Array.prototype.slice.call(arguments);
131                  if (
132                    ['track', 'screen', 'alias', 'group', 'page', 'identify'].indexOf(e) > -1
133                  ) {
134                    var c = document.querySelector("link[rel='canonical']");
135                    n.push({
136                      __t: 'bpc',
137                      c: (c && c.getAttribute('href')) || void 0,
138                      p: location.pathname,
139                      u: location.href,
140                      s: location.search,
141                      t: document.title,
142                      r: document.referrer,
143                    });
144                  }
145                  n.unshift(e);
146                  analytics.push(n);
147                  return analytics;
148                };
149              };
150              for (var n = 0; n < analytics.methods.length; n++) {
151                var key = analytics.methods[n];
152                analytics[key] = analytics.factory(key);
153              }
154              analytics.load = function (key, n) {
155                var t = document.createElement('script');
156                t.type = 'text/javascript';
157                t.async = !0;
158                t.setAttribute('data-global-segment-analytics-key', i);
159                t.src = 'https://cdn.segment.com/analytics.js/v1/' + key + '/analytics.min.js';
160                var r = document.getElementsByTagName('script')[0];
161                r.parentNode.insertBefore(t, r);
162                analytics._loadOptions = n;
163              };
164              var writeKey =
165                (window.__RUNTIME_CONFIG__ && window.__RUNTIME_CONFIG__.REACT_APP_SEGMENT_WRITE_KEY) ||
166                '';
167              // Guard against unsubstituted '%...%' placeholders from older builds so the
168              // snippet stays an in-memory queue (no-op) rather than 404-ing the SDK request.
169              if (writeKey && writeKey.indexOf('%') !== 0) {
170                analytics._writeKey = writeKey;
171                analytics.SNIPPET_VERSION = '5.2.0';
172                analytics.load(writeKey);
173              }
174              // Page-view tracking is fired by useAutoPageView once the SPA mounts.
175            }
176        })();
177      }
178    </script>
178
179
180    <!--
181      manifest.json provides metadata used when your web app is installed on a
182      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
183    -->
184    <link rel="manifest" href="/manifest.json" />
185
186    <!-- Google Fonts - disabled in VPC (no public internet) -->
187    
187<script>
188      if (window.__RUNTIME_CONFIG__?.DEPLOYMENT_TYPE !== 'customer_vpc') {
189        var link = document.createElement('link');
190        link.rel = 'stylesheet';
191        link.type = 'text/css';
192        link.href = 'https://fonts.googleapis.com/css?family=Roboto|Montserrat|Avenir+Next';
193        document.head.appendChild(link);
194      }
195    </script>
195
196
197    <!-- For google business indexing -->
198    
198<script type="application/ld+json">
199      {
200        "@context": "https://schema.org",
201        "@type": "Organization",
202        "url": "https://zenlytic.com",
203        "logo": "https://zenlytic.com/apple-touch-icon.png"
204      }
205    </script>
205
206
207    <!-- OpenAI Ads Manager Pixel - disabled in VPC (no public internet) -->
208    
208<script>
209      if (window.__RUNTIME_CONFIG__?.DEPLOYMENT_TYPE !== 'customer_vpc') {
210        !function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments)};q.q=[];w.oaiq=q;var f=d.createElement(s);f.async=!0;f.src=u;var n=d.getElementsByTagName(s)[0];n.parentNode.insertBefore(f,n)}(window,document,"script","https://cdn.openai.com/ads/oaiq.js");
211        oaiq("setup", "SUcCkFtBtBADtuhsCSS8P1");
212      }
213    </script>
213
214    
214<script type="module" crossorigin src="/assets/index-Zws1LfcT.js"></script>
214
215    <link rel="modulepreload" crossorigin href="/assets/agGrid-npcJdf-k.js">
216    <link rel="modulepreload" crossorigin href="/assets/monaco-CuRTR_TQ.js">
217    <link rel="modulepreload" crossorigin href="/assets/chakra-mifYdLM0.js">
218    <link rel="modulepreload" crossorigin href="/assets/react-gAL7j0sw.js">
219    <link rel="modulepreload" crossorigin href="/assets/lodash-Cu2itTmt.js">
220    <link rel="modulepreload" crossorigin href="/assets/moment-D9U7a-XX.js">
221    <link rel="modulepreload" crossorigin href="/assets/vega-y9sDXgov.js">
222    <link rel="modulepreload" crossorigin href="/assets/highlight-mHbfg4Jh.js">
223    <link rel="modulepreload" crossorigin href="/assets/faker-D89R1nUL.js">
224    <link rel="stylesheet" crossorigin href="/assets/monaco-TcA9sZdS.css">
225    <link rel="stylesheet" crossorigin href="/assets/index-CcYXTtPb.css">
226  </head>
227
228  <body style="overflow: hidden; background-color: white">
229    <noscript>You need to enable JavaScript to run this app.</noscript>
230    <div id="root"></div>
231
232  </body>
233</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.