PageSourceSearch

https://tamilarasu.blog/contact/

html tamilarasu.blog collected 2026-10-01 15:21:07 UTC 24,824 bytes, 491 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5  <meta charset="UTF-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7  <meta name="theme-color" content="#ffffff">
8  <link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
9  <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png">
10  <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png">
11  <link rel="manifest" href="/assets/favicon/site.webmanifest">
12  <!-- Begin Jekyll SEO tag v2.8.0 -->
13<title>Contact Us | Tamilarasu Arunachalam</title>
14<meta name="generator" content="Jekyll v3.10.0" />
15<meta property="og:title" content="Contact Us" />
16<meta name="author" content="Tamilarasu Arunachalam" />
17<meta property="og:locale" content="en_US" />
18<meta name="description" content="Documenting my developer journey: unpacking the how, what, and why behind the technical situations I tackle every day." />
19<meta property="og:description" content="Documenting my developer journey: unpacking the how, what, and why behind the technical situations I tackle every day." />
20<link rel="canonical" href="https://tamilarasu.blog/contact/" />
21<meta property="og:url" content="https://tamilarasu.blog/contact/" />
22<meta property="og:site_name" content="Tamilarasu Arunachalam" />
23<meta property="og:type" content="website" />
24<meta name="twitter:card" content="summary" />
25<meta property="twitter:title" content="Contact Us" />
26<meta name="twitter:site" content="@tamilarasu_av" />
27<meta name="twitter:creator" content="@Tamilarasu Arunachalam" />
28<script type="application/ld+json">
29{"@context":"https://schema.org","@type":"WebPage","author":{"@type":"Person","name":"Tamilarasu Arunachalam"},"description":"Documenting my developer journey: unpacking the how, what, and why behind the technical situations I tackle every day.","headline":"Contact Us","url":"https://tamilarasu.blog/contact/"}</script>
29
30<!-- End Jekyll SEO tag -->
31
32  <link rel="alternate" type="application/rss+xml" title="Tamilarasu Arunachalam"
33    href="https://tamilarasu.blog/feed.xml">
34  <!-- keywords -->
35  <meta name="keywords" content=" Tamilarasu, Tamilarasu Arunachalam, Tamilarasu Power
36    Platform, Tamilarasu Arunachalam Developer, Tamilarasu chrome extensions, Tamilarasu blogs, Power Platform blogs,
37    Dynamics 365 blogs">
38
39  <!-- Bootstrap 5 CSS -->
40  <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
41  <link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
42  <link rel="preconnect" href="https://unpkg.com" crossorigin>
43  <link rel="preload" as="style" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" />
44  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" media="print" onload="this.media='all'" />
45  <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" /></noscript>
46  <!-- Bootstrap Icons -->
47  <link rel="preload" as="style" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css">
48  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" media="print" onload="this.media='all'">
49  <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css"></noscript>
50
51  <!-- Fonts Preconnect & Preload -->
52  <link rel="preconnect" href="https://fonts.googleapis.com">
53  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
54  <link rel="preload" as="style"
55    href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Rock+Salt&display=swap">
56  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Rock+Salt&display=swap"
57    rel="stylesheet" media="print" onload="this.media='all'">
58  <noscript>
59    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Rock+Salt&display=swap"
60      rel="stylesheet">
61  </noscript>
62  
63
64  <!-- Custom CSS -->
65  <link rel="preload" as="style" href="/assets/css/style.css">
66  <link rel="stylesheet" href="/assets/css/style.css">
67
68  
69  <!-- Google tag (gtag.js) -->
vendor: 66 bytes, lines 69-70
69
70  <script async src="https://www.googletagmanager.com/gtag/js?id=
70G-NRDWJ8N6VV
vendor: 14 bytes, lines 70-71
70"></script>
71  
71<script>
72    window.addEventListener('load', function () {
73      
vendor: 148 bytes, lines 73-76
73window.dataLayer = window.dataLayer || [];
74      function gtag() { dataLayer.push(arguments); }
75      gtag("js", new Date());
76      gtag("config", "
76G-NRDWJ8N6VV
vendor: 8 bytes, lines 76-77
76");
77    
77});
78  </script>
78
79  <!-- Google tag (gtag.js) -->
80  <!-- Microsoft Clarity -->
81  
81<script>
82    window.addEventListener('load', function () {
83      var s = document.createElement('script');
84      s.async = true;
85      s.src = 'https://www.clarity.ms/tag/xcgip28bks';
86      document.head.appendChild(s);
87    });
88  </script>
88
89  <!-- Microsoft Clarity -->
90</head>
91
92<body class="d-flex flex-column min-vh-100">
93  <!-- Modern Minimalist Navbar - High Performance -->
94<nav class="navbar navbar-expand-lg sticky-top">
95    <div class="container h-100 flex-nowrap">
96        <!-- Logo -->
97        <a class="navbar-brand text-dark me-auto" href="/"
98            style="font-size: 1.25rem; font-family: 'Rock Salt', cursive;">Tamilarasu</a>
99
100        <!-- Hamburger Toggler (Visible on Mobile) -->
101        <button class="navbar-toggler ms-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
102            aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"
103            style="border: none !important; padding: 5px !important; outline: none !important; box-shadow: none !important;">
104            <div class="hamburger">
105                <span></span>
106                <span></span>
107                <span></span>
108            </div>
109        </button>
110
111        <!-- Menu Container -->
112        <div class="collapse navbar-collapse" id="navbarNav">
113            <ul class="navbar-nav ms-lg-auto align-items-lg-center h-100">
114                <li class="nav-item h-100"><a class="nav-link" href="/">Home</a></li>
115                <li class="nav-item h-100"><a class="nav-link" href="/about">About</a></li>
116                <li class="nav-item h-100"><a class="nav-link" href="/contact">Contact</a></li>
117
118                <!-- Search Input -->
119                <li class="nav-item ms-lg-3 my-auto position-relative" id="search-container" style="min-width: 250px;">
120                    <div class="input-group input-group-sm">
121                        <span class="input-group-text bg-white border-dark rounded-start-pill ps-3"><i class="bi bi-search"></i></span>
122                        <input type="text" id="search-input" class="form-control border-start-0 border-dark rounded-end-pill shadow-none" placeholder="Search posts..." aria-label="Search">
123                    </div>
124                    <!-- Results Container -->
125                    <ul id="results-container" class="position-absolute w-100 bg-white border border-dark list-unstyled m-0 mt-1 p-0 rounded shadow-sm" style="top: 100%; left: 0; z-index: 1050; display: none; max-height: 400px; overflow-y: auto;"></ul>
126                </li>
127
128                <!-- CTA Button -->
129                <li class="nav-item ms-lg-3">
130                    <a href="#subscribe" class="btn btn-dark btn-sm rounded-pill px-4 fw-bold">Subscribe</a>
131                </li>
132            </ul>
133        </div>
134    </div>
135</nav>
136
137  <main id="main">
138    <header class="py-5 bg-light mb-5 px-3 px-lg-0">
139    <div class="container text-center py-5">
140        <h1 class="display-3 fw-bold mb-3">Contact Tamilarasu</h1>
141        <p class="lead text-muted max-w-2xl mx-auto">Have a question or interested in collaboration? I'd love to hear from you.</p>
142    </div>
143</header>
144
145<section class="container mb-5 pb-5 px-4 px-lg-0">
146    <div class="row justify-content-center">
147        <div class="col-lg-6">
148            <div class="contact-card p-4 p-md-5 bg-white border border-light-subtle rounded-4 shadow-sm mb-5 position-relative overflow-hidden">
149                <!-- Success Message Overlay -->
150                <div id="success-overlay" class="position-absolute top-0 start-0 w-100 h-100 bg-white d-flex flex-column align-items-center justify-content-center" style="opacity: 0; pointer-events: none; transition: opacity 0.4s ease; z-index: 10;">
151                    <div class="bg-success bg-opacity-10 text-success rounded-circle p-3 mb-3">
152                        <i class="bi bi-check-lg display-4"></i>
153                    </div>
154                    <h2 class="fw-bold h3">Message Sent!</h2>
155                    <p class="text-muted text-center px-4">Thanks for reaching out. I'll get back to you within 24-48 hours.</p>
156                    <button type="button" class="btn btn-outline-dark rounded-pill px-4 mt-2" onclick="resetForm()">Send Another</button>
157                </div>
158
159                <form action="https://docs.google.com/forms/d/e/1FAIpQLSdbXaYwkQCSgz9J
159CCl_Etkox3wk8W971dZxkMB8QhaPaOFuew/formResponse" target="_self" method="POST" id="contact-form" onsubmit="handleFormSubmit(event)">
160                    <div class="form-floating mb-4">
161                        <input type="text" class="form-control form-control-lg border-2 rounded-3 bg-light-subtle" id="name" name="entry.1374407783" placeholder="John Doe" pattern="[A-Za-z\s]+" title="Name should only contain alphabets and spaces" oninput="this.value = this.value.replace(/[^A-Za-z\s]/g, '')" required="" />
162                        <label for="name" class="fw-bold text-secondary">Your Name</label>
163                    </div>
164                    
165                    <div class="form-floating mb-4">
166                        <input type="email" class="form-control form-control-lg border-2 rounded-3 bg-light-subtle" id="email" name="entry.1875774789" placeholder="[email protected]" pattern="[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,}$" title="Please enter a valid email address (e.g., [email protected])" required="" />
167                        <label for="email" class="fw-bold text-secondary">Email Address</label>
168                    </div>
169                    
170                    <div class="form-floating mb-4">
171                        <input type="text" class="form-control form-control-lg border-2 rounded-3 bg-light-subtle" id="subject" name="entry.156927077" placeholder="How Can I help you?" required="" />
172                        <label for="subject" class="fw-bold text-secondary">Subject</label>
173                    </div>
174                    
175                    <div class="form-floating mb-4">
176                        <textarea class="form-control border-2 rounded-3 bg-light-subtle" id="message" name="entry.360405811" placeholder="Tell me more..." style="height: 150px" required=""></textarea>
177                        <label for="message" class="fw-bold text-secondary">How can I help?</label>
178                    </div>
179
180                    <input type="hidden" name="fvv" value="1" />
181    <input type="hidden" name="fbzx" value="-8741921683673455065" />
182                    
183                    <!-- Honeypot Field -->
184                    <div class="form-floating mb-4" style="display: none;" aria-hidden="true">
185                        <input type="text" class="form-control form-control-lg border-2 rounded-3" id="honeypot_website" name="honeypot_website" tabindex="-1" autocomplete="off" placeholder="Website" />
186                        <label for="honeypot_website">Website</label>
187                    </div>
188                    
189                    <div class="d-grid gap-2 mt-5">
190                        <button type="submit" id="submit-btn" class="btn btn-dark btn-lg py-3 rounded-pill fw-bold d-flex align-items-center justify-content-center gap-2 transition-all">
191                            <span>Send Message</span>
192                            <i class="bi bi-send-fill"></i>
193                        </button>
194                    </div>
195                </form>
196            </div>
197        </div>
198
199        <div class="col-lg-4 offset-lg-1">
200            <div class="mb-5">
201                <h2 class="fw-bold mb-4 h3">Other ways to connect</h2>
202                
203                <a href="/cdn-cgi/l/email-protection#670f020b0b082713060a0e0b061506141249050b0800" class="text-decoration-none text-dark">
204                    <div class="d-flex align-items-center mb-4 contact-method-card p-3 rounded-4 transition-all">
205                        <div class="bg-primary bg-opacity-10 p-3 rounded-circle me-3 d-flex align-items-center justify-content-center" style="width: 54px; height: 54px;">
206                             <i class="bi bi-envelope-fill text-primary fs-4"></i>
207                        </div>
208                        <div>
209                            <div class="fw-bold text-muted small">EMAIL ME</div>
210                            <div class="fw-bold"><span class="__cf_email__" data-cfemail="523a373e3e3d1226333f3b3e33203321277c303e3d35">[email&#160;protected]</span></div>
211                        </div>
212                    </div>
213                </a>
214            </div>
215
216            <div class="p-4 bg-primary bg-opacity-10 border border-primary border-opacity-25 rounded-4 shadow-sm">
217                <h3 class="fw-bold mb-3 d-flex align-items-center gap-2 h5">
218                    <i class="bi bi-clock-history text-primary"></i> Response Time
219                </h3>
220                <p class="mb-0 small text-muted">I receive a high volume of mail daily but strive to respond within 24–48 hours for all inquiries.</p>
221            </div>
222        </div>
223    </div>
224</section>
225
226<style>
227/* Contact form specific styles */
228.contact-method-card:hover {
229    background-color: var(--bs-light);
230    transform: translateX(5px);
231}
232.transition-all {
233    transition: all 0.3s ease;
234}
235.form-control:focus, .form-select:focus {
236    box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.15);
237    border-color: var(--accent) !important;
238}
239</style>
vendor: 110 bytes, lines 239-241
239
240
241<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
241<script>
242async function handleFormSubmit(e) {
243    e.preventDefault();
244    const btn = document.getElementById('submit-btn');
245    const form = document.getElementById('contact-form');
246    const overlay = document.getElementById('success-overlay');
247    
248    // Validate form
249    if (!form.checkValidity()) {
250        form.reportValidity();
251        return;
252    }
253
254    // Honeypot check
255    const honeypot = document.getElementById('honeypot_website').value;
256    if (honeypot) {
257        console.warn('Spam detected');
258        overlay.style.opacity = '1';
259        overlay.style.pointerEvents = 'auto';
260        form.reset();
261        return;
262    }
263    
264    // Loading state
265    const originalContent = btn.innerHTML;
266    btn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Validating Email...';
267    btn.disabled = true;
268
269    // Check email domain validity
270    const emailValue = document.getElementById('email').value;
271    const domain = emailValue.split('@')[1];
272    
273    try {
274        const response = await fetch(`https://api.mailcheck.ai/domain/${domain}`);
275        const data = await response.json();
276        
277        // Handle invalid domains (API returns 400 Bad Request)
278        if (!response.ok || data.error || data.status === 400) {
279            alert('The email domain does not appear to be valid. Please check your email address.');
280            btn.innerHTML = originalContent;
281            btn.disabled = false;
282            return;
283        }
284
285        if (!data.mx) {
286            alert('The email domain cannot receive emails. Please check your email address.');
287            btn.innerHTML = originalContent;
288            btn.disabled = false;
289            return;
290        }
291        if (data.disposable) {
292            alert('Disposable email addresses are not allowed. Please use a regular email address.');
293            btn.innerHTML = originalContent;
294            btn.disabled = false;
295            return;
296        }
297    } catch (err) {
298        console.warn('Email validation API failed, proceeding with submission:', err);
299    }
300    
301    btn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Sending...';
302    
303    const formData = new FormData(form);
304    fetch(form.action, {
305        method: 'POST',
306        mode: 'no-cors',
307        body: formData
308    }).then(() => {
309        btn.innerHTML = originalContent;
310        btn.disabled = false;
311        
312        // Show success overlay
313        overlay.style.opacity = '1';
314        overlay.style.pointerEvents = 'auto';
315        form.reset();
316    }).catch(error => {
317        console.error('Error submitting form:', error);
318        btn.innerHTML = originalContent;
319        btn.disabled = false;
320        alert('There was an error sending your message. Please try again.');
321    });
322}
323
324function resetForm() {
325    const overlay = document.getElementById('success-overlay');
326    overlay.style.opacity = '0';
327    overlay.style.pointerEvents = 'none';
328}
329</script>
329
330
331
332  </main>
333
334  <!-- Optimized 3-Column Footer -->
335<footer class="mt-auto py-5 bg-white border-top">
336    <div class="container">
337        <div class="row gy-4">
338
339            <!-- Column 1: Brand & About -->
340            <div class="col-lg-4 col-md-6">
341                <a class="navbar-brand fw-bold mb-3 d-block text-dark h4" href="/"
342                    style="font-family: 'Rock Salt', cursive;">Tamilarasu</a>
343                <ul class="list-unstyled d-grid gap-2">
344                    <li><a href="/"
345                            class="text-decoration-none text-secondary small hover-primary">Home</a></li>
346                    <li><a href="/about"
347                            class="text-decoration-none text-secondary small hover-primary">About</a></li>
348                    <li><a href="/contact"
349                            class="text-decoration-none text-secondary small hover-primary">Contact Me</a></li>
350                </ul>
351                <div class="d-flex gap-3 mt-4">
352                    <a href="https://twitter.com/tamilarasu_av" class="social-icon" target="_blank"
353                        rel="noopener">
354                        <img src="/assets/icons/twitter.svg" alt="Twitter" width="24" height="24">
355                    </a>
356                    <a href="https://linkedin.com/in/tamilarasu-arunachalam" class="social-icon" target="_blank"
357                        rel="noopener">
358                        <img src="/assets/icons/linkedin.svg" alt="LinkedIn" width="24" height="24">
359                    </a>
360                    <a href="https://github.com/tamilarasu-arunachalam" class="social-icon" target="_blank"
361                        rel="noopener">
362                        <img src="/assets/icons/github.svg" alt="GitHub" width="24" height="24">
363                    </a>
364                    <a href="https://www.youtube.com/@tamilarasu21" class="social-icon" target="_blank"
365                        rel="noopener">
366                        <img src="/assets/icons/youtube.svg" alt="YouTube" width="24" height="24">
367                    </a>
368                </div>
369            </div>
370
371            <!-- Column 2: Quick Links Menu -->
372            <div class="col-lg-3 col-md-6 offset-lg-1">
373                <h6 class="text-dark fw-bold mb-4 small text-uppercase ls-1">Tools</h6>
374                <ul class="list-unstyled d-grid gap-2">
375                    <li><a href="/whatsapp-link-generator"
376                            class="text-decoration-none text-secondary small hover-primary">Whatsapp Link Generator</a>
377                    </li>
378                    <li><a href="/permalink-generator"
379                            class="text-decoration-none text-secondary small hover-primary">Permalink Generator</a></li>
380                    <li><a href="/text-to-file"
381                            class="text-decoration-none text-secondary small hover-primary">Text to File</a></li>
382                    <li><a href="/html-to-markdown"
383                            class="text-decoration-none text-secondary small hover-primary">HTML to Markdown</a></li>
384                </ul>
385            </div>
386
387            <!-- Column 3: Legal & Newsletter -->
388            <div class="col-lg-4 col-md-12">
389                <h6 class="text-dark fw-bold mb-4 small text-uppercase ls-1">Stay Connected</h6>
390                <p class="text-secondary small mb-3">Join our weekly newsletter for high-signal tech insights.</p>
391                <form action="#" method="post" class="mb-4">
392                    <div class="input-group shadow-sm border rounded overflow-hidden">
393                        <input type="email" class="form-control border-0 px-3 py-2 small" placeholder="Email address.."
394                            required>
395                        <button class="btn btn-dark fw-bold px-4 rounded-0" type="submit">Join</button>
396                    </div>
397                </form>
398                <div class="d-flex gap-3 mt-3">
399                    <a href="/privacy"
400                        class="text-decoration-none text-muted small hover-primary">Privacy</a>
401                    <a href="/terms"
402                        class="text-decoration-none text-muted small hover-primary">Terms</a>
403                    <a href="/disclaimer"
404                        class="text-decoration-none text-muted small hover-primary">Disclaimer</a>
405                </div>
406            </div>
407        </div>
408
409        <!-- Copyright Row -->
410        <div class="pt-4 mt-5 border-top text-center text-md-start">
411            <div class="small text-secondary opacity-75">
412                &copy; 2026 Tamilarasu Arunachalam. All rights reserved.
413            </div>
414        </div>
415    </div>
416</footer>
417
418  <!-- Bootstrap 5 JS -->
419  
419<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" defer></script>
419
420
421  
421<script>
422    // Logic to handle mobile menu backdrop and body lock
423    document.addEventListener('DOMContentLoaded', function () {
424      const myCollapse = document.getElementById('navbarNav');
425      if (myCollapse) {
426        myCollapse.addEventListener('show.bs.collapse', function () {
427          document.body.classList.add('show-nav');
428        })
429        myCollapse.addEventListener('hide.bs.collapse', function () {
430          document.body.classList.remove('show-nav');
431        })
432
433        // Close menu on link click
434        const navLinks = myCollapse.querySelectorAll('.nav-link');
435        navLinks.forEach(link => {
436          link.addEventListener('click', () => {
437            const bsCollapse = bootstrap.Collapse.getInstance(myCollapse);
438            if (bsCollapse) bsCollapse.hide();
439          });
440        });
441      }
442    });
443  </script>
443
444  
445  <!-- Simple-Jekyll-Search -->
446  
446<script defer src="https://unpkg.com/simple-jekyll-search@latest/dest/simple-jekyll-search.min.js"></script>
446
447  
447<script>
448    window.addEventListener('DOMContentLoaded', () => {
449      const searchInput = document.getElementById('search-input');
450      const resultsContainer = document.getElementById('results-container');
451
452      if (searchInput && resultsContainer) {
453        SimpleJekyllSearch({
454          searchInput: searchInput,
455          resultsContainer: resultsContainer,
456          json: '/search.json',
457          searchResultTemplate: '<li class="p-2 border-bottom"><a href="{url}" class="text-decoration-none text-dark d-block fw-medium">{title}</a><small class="text-muted">{date}</small></li>',
458          noResultsText: '<li class="p-2 text-muted">No results found</li>',
459          limit: 10,
460          fuzzy: false
461        });
462
463        // Show/hide results dropdown
464        searchInput.addEventListener('input', function () {
465          if (this.value.length > 0) {
466            resultsContainer.style.display = 'block';
467          } else {
468            resultsContainer.style.display = 'none';
469          }
470        });
471
472        // Hide results when clicking outside
473        document.addEventListener('click', function (e) {
474          if (!document.getElementById('search-container').contains(e.target)) {
475            resultsContainer.style.display = 'none';
476          }
477        });
478
479        // Show results when focusing back on input
480        searchInput.addEventListener('focus', function () {
481          if (this.value.length > 0) {
482            resultsContainer.style.display = 'block';
483          }
484        });
485      }
486    });
487  </script>
vendor: 1 bytes, line 487
487
488<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"2515a30f609a440e82db4b86b4fa5933","r":1,"spa":2}' crossorigin="anonymous"></script>
488
489</body>
490
491</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.