PageSourceSearch

https://ready4remodel.com/

html ready4remodel.com collected 2026-10-07 17:41:17 UTC 37,323 bytes, 1,026 lines download raw bytes

1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5
6<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7
8<title>R4R | Home</title>
9<script type="text/javascript">
10    window.bubble_session_uid = '1791394877207x168877733154673140';
11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript">
13    window.headers_source_maps = [["plugin_main_headers_1497473108162x748255442121523200",215,226],["plugin_main_headers_1511317157580x426888521791832060",227,231],["plugin_main_headers_1522764260176x251116930203648000",232,236],["plugin_main_headers_1539124824422x194279356396994560",237,239],["plugin_main_headers_1561684393787x915395376236986400",240,244],["plugin_main_headers_1599995578736x177952455708377100",245,258],["plugin_main_headers_1618916043803x877032991371296800",259,476],["plugin_main_headers_1649513217691x427261680952541200",477,494],["plugin_main_headers_1662221683867x944302965243510800",495,504],["plugin_main_headers_1676994665892x380718722738290700",505,643],["plugin_main_headers_1700870791046x293277418732126200",644,787],["plugin_main_headers_1701287959788x680247986285445100",788,836],["plugin_page_headers_AAI",837,839],["plugin_page_headers_AAC",840,842],["custom_app_header",844,867]]
14</script>
vendor: 1 bytes, line 14
14
15<script type="text/javascript">
16function make_proxy(target, name) {
17  return new Proxy(target, {
18    get: function(target, prop) {
19      if (prop in target) {
20        return target[prop];
21      }
22      throw new Error('The variable ' + name + ' is not fully initialized yet');
23    }
24  });
25}
26window.appquery = make_proxy({
27  app_version: function() { return "live"; },
28  last_change: function() { return "65510479511";},
29}, 'appquery');
30window.Lib = new Proxy(function() {}, {
31  get: function(target, prop) {
32    if (prop === 'is_skeleton') {
33      return true;
34    }
35    throw new Error('The variable ' + Lib + ' is not fully initialized yet');
36  },
37  apply: function() {
38    return make_proxy({
39      current_user: function() {
40        return make_proxy({ id: "1791394877207x168877733154673140" }, 'Lib().current_user');
41      }
42    }, 'Lib()');
43  }
44});
45</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript">
47function load_error_function (event) {
48  return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno })
49}
50window.load_error_log = [];
51window.addEventListener('error', load_error_function);
52window.disableLoadErrorFunction = function () {
53  window.removeEventListener('error', load_error_function);
54}
55</script>
55
56<meta name="referrer" content="origin">
57<script type="text/javascript">
58if (!window._bubble_page_load_data) {
59  window._bubble_page_load_data = {}
60}
61if (!window._bubble_page_load_data.js_execution_timings) {
62  window._bubble_page_load_data.js_execution_timings = {}
63}
64window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now();
65</script>
65<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script>
65<script type="text/javascript">
66if (!window._bubble_page_load_data) {
67  window._bubble_page_load_data = {}
68}
69if (!window._bubble_page_load_data.js_execution_timings) {
70  window._bubble_page_load_data.js_execution_timings = {}
71}
72window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now();
73</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">(function () {
75    function onWebFontFinish () {
76        window.google_web_fonts_active = true;
77if (window.google_web_fonts_active_cb) {
78    window.google_web_fonts_active_cb();
79}
80        (function fontface_loaded_snippet (font) {
81  if (window.fontface_loaded == null) {
82    window.fontface_loaded = {}
83  }
84  if (font != null) {
85    window.fontface_loaded[font] = true
86  } else {
87    window.all_fontface_loaded = true
88  }
89  if (window.fontface_webfonts_loaded_cb) {
90    return window.fontface_webfonts_loaded_cb(font)
91  }
92})()
93    }
94    const WebFontConfig = {'google': { families: ["Inter:regular","Inter:500","Inter:600","Manrope:300","Manrope:regular","Manrope:regular","Manrope:500","Manrope:500","Manrope:600","Manrope:600","Manrope:700","Manrope:700","Manrope:800","Poppins:regular","Poppins:500","Poppins:600"] },
95        active: function() {
96            onWebFontFinish()
97        },
98        inactive: function() {
99            console.log('Failed to load all the fonts');
100            onWebFontFinish()
101        },
102        fontinactive: function(family_name, fvd) {
103            console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render');
104            onWebFontFinish()
105        }
106    }
107        window.WebFont.load(WebFontConfig);
108})();</script>
vendor: 1 bytes, line 108
108
109<script>
110(function initialize_data() {
111const xhr = new XMLHttpRequest();
112xhr.onreadystatechange = function() {
113    if (this.readyState === 4 && this.status === 200) {
114        const data = JSON.parse(this.responseText);
115
116        function init_data() {
117            data.forEach(function(d) {
118                Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version);
119            })
120        }
121
122        if (window.Lib && window.Lib.is_skeleton == null) {
123            init_data();
124        } else {
125            window.Lib_post_load = init_data;
126        }
127    }
128};
129xhr.open("GET", "https://ready4remodel.com/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true);
130xhr.send();
131})();
132</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript">window.gm_key = "AIzaSyDODDnoxJ-Dyx3V0bx7BzyMkTB1JO_O4cw";</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript">window.glrl_key_status = false;</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript">window.bubble_page_load_id = "1791394877345x2214";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791394877540.fJ77tvHYFN3CY+JOjLnvZYWU0L8u1joVreJkgfUIc0M=";</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript">window.bubble_is_leanjs = false;</script>
vendor: 1 bytes, line 137
137
138<script type="text/javascript">window.bubble_shim_modules = false;</script>
138
139<link rel="icon" type="image/svg+xml" href="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1725512761680x894620565887033600/Vector.svg" />
140<meta name="fragment" content="!">
141<meta name="description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan.">
142<link rel="canonical" href="https://ready4remodel.com/"/>
143<meta property="og:title" content="Ready 4 Remodel" />
144<meta name="twitter:title" content="Ready 4 Remodel" />
145<meta property="og:site_name" content="Ready4Remodel" />
146<meta name="twitter:site_name" content="Ready4Remodel" />
147<meta property="og:description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan." />
148<meta name="twitter:description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan." />
149<link rel="image_src" href="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" />
150<meta property="og:image" content="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" />
151<meta name="twitter:image:src" content="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" />
152<meta property="og:url" content="https://ready4remodel.com/" />
153<meta property="og:type" content="website" />
154<meta name="twitter:card" content="summary_large_image" />
155<meta name="viewport" content="width=device-width,initial-scale=1.0">
156<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 156
156
157<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript">window.__bubble_module_mode = false;</script>
158
159<link type="text/css" href="/package/run_css/f2ddfbd0af04d09cd197cef9fc0a9d4d1a2c3eaefaedc3a02f71f961c7cc0a71/realestatebuild-2024/live/index/xfalse/xfalse/run.css" rel="stylesheet">
160<script type="text/javascript">
161if (!window._bubble_page_load_data) {
162  window._bubble_page_load_data = {}
163}
164if (!window._bubble_page_load_data.js_execution_timings) {
165  window._bubble_page_load_data.js_execution_timings = {}
166}
167window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now();
168</script>
vendor: 1 bytes, line 168
168
169<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
vendor: 1 bytes, line 169
169
170<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/f3f2fb8a0fc3f0a4d568fae31eca0c6821beda506658857d6709499a44cef32f/xfalse/x31/run.js"></script>
vendor: 1 bytes, line 170
170
171<script type="text/javascript">
172if (!window._bubble_page_load_data) {
173  window._bubble_page_load_data = {}
174}
175if (!window._bubble_page_load_data.js_execution_timings) {
176  window._bubble_page_load_data.js_execution_timings = {}
177}
178window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now();
179</script>
vendor: 1 bytes, line 179
179
180<script type="text/javascript">
181if (!window._bubble_page_load_data) {
182  window._bubble_page_load_data = {}
183}
184if (!window._bubble_page_load_data.js_execution_timings) {
185  window._bubble_page_load_data.js_execution_timings = {}
186}
187window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now();
188</script>
188<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/09c583ca5ae9821c1043b20bb8243282e2a8e01ebc6806a8913c0c7888a10d5c/realestatebuild-2024/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
188<script type="text/javascript">
189if (!window._bubble_page_load_data) {
190  window._bubble_page_load_data = {}
191}
192if (!window._bubble_page_load_data.js_execution_timings) {
193  window._bubble_page_load_data.js_execution_timings = {}
194}
195window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now();
196</script>
vendor: 1 bytes, line 196
196
197<script type="text/javascript">
198if (!window._bubble_page_load_data) {
199  window._bubble_page_load_data = {}
200}
201if (!window._bubble_page_load_data.js_execution_timings) {
202  window._bubble_page_load_data.js_execution_timings = {}
203}
204window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now();
205</script>
205<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/0b49530e3dc4417733a78a4d2b8a0a90d0f94bca0854ada0d7bd491f4d035cf0/realestatebuild-2024/live/index/xnull/xfalse/xfalse/en_us/xfalse/xfalse/dynamic.js"></script>
205<script type="text/javascript">
206if (!window._bubble_page_load_data) {
207  window._bubble_page_load_data = {}
208}
209if (!window._bubble_page_load_data.js_execution_timings) {
210  window._bubble_page_load_data.js_execution_timings = {}
211}
212window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now();
213</script>
vendor: 1 bytes, line 213
213
214<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
214
215<!-- 1497473108162x748255442121523200 -->
216<script type="text/javascript" src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1618227041113x740068462949819800/clipboard.min.js"></script>
216
217
218<script type="module">
219    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
220    pluginAnalyzer("1497473108162x748255442121523200");
221</script>
221
222
223<script type="module">
224    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
225    pluginAnalyzer("1497473108162x748255442121523200");
226</script>
226
227<!-- 1511317157580x426888521791832060 -->
228<script type="module">
229    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
230    pluginAnalyzer("1511317157580x426888521791832060");
231</script>
231
232<!-- 1522764260176x251116930203648000 -->
233<script type="module">
234    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
235    pluginAnalyzer("1522764260176x251116930203648000");
236</script>
236
237<!-- 1539124824422x194279356396994560 -->
238<script src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1539208662229x803640740225091600/download.js"></script>
238
239
240<!-- 1561684393787x915395376236986400 -->
241<script type="module">
242    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
243    pluginAnalyzer("1561684393787x915395376236986400");
244</script>
244
245<!-- 1599995578736x177952455708377100 -->
246<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.css"/>
247<script src="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.js"></script>
247
248<style>
249    .swiper-fade .swiper-slide:not(.swiper-slide-active){
250        opacity: 0 !important;
251    }
252</style>
253
254<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
vendor: 1 bytes, line 254
254
255<script>
256	const urlParams = new URLSearchParams(window.location.search);
257    if (urlParams.get('console') === 'true') { eruda.init(); }
258</script>
258
259<!-- 1618916043803x877032991371296800 -->
260<script defer src="//meta.cdn.bubble.io/f1678588430465x230578802325048350/icons.js"></script>
260
261
262<script>
263  const allSelect2 = /\[(hi.*)\](.*)\[\/(hi.*)\]/;
264  const colormatch2 = /#[0-9A-f]{3,6}#/;
265  const fillMatcher2 = /fill="currentColor"/;
266
267  function replaceIcon(btn) {
268    let content = btn.getAttribute("title");
269
270    if (!content) return;
271
272    let iconColor = content.match(colormatch2);
273    content = content.replace(colormatch2, "");
274    const iconMarkup = content.match(allSelect2);
275    if (!iconMarkup) {
276      return;
277    }
278
279    if (iconMarkup[1] != iconMarkup[3]) return;
280
281    const iconProps = iconMarkup[1].slice(2).split("-");
282
283    const props = {
284      name: iconMarkup[2],
285      size: "20px",
286      color: btn.innerHTML.match(colormatch2)
287        ? btn.innerHTML.match(colormatch2)[0].slice(0, -1)
288        : undefined,
289      set: "mini",
290      position: undefined,
291      iconHTML: undefined,
292      style: 'style="',
293      spacing: "8px",
294      stroke_width: "1.5px",
295    };
296
297    if (props.color) {
298      props.iconHTML = props.iconHTML.replace(
299        fillMatcher2,
300        "fill=" + iconColor
301      );
302    }
303
304    iconProps.forEach((property) => {
305      switch (property) {
306        case "l":
307          props.position = "left";
308          break;
309        case "r":
310          props.position = "right";
311          break;
312        case "b":
313          props.position = "center";
314          break;
315        case "o":
316          props.set = "outlined";
317          break;
318        case "s":
319          props.set = "solid";
320          break;
321      }
322      if (/m[0-99]+/.test(property)) {
323        const matched = property.match(/m([0-99]+)/);
324        props.spacing = `${matched[1]}px`;
325      }
326      if (/w[0-99]+/.test(property)) {
327        const matched = property.match(/w([0-99]+)/);
328        props.stroke_width = `${matched[1]/10}px`;
329      }
330
331      const number = Number(property);
332
333      if (number && number > 0) {
334        props.size = String(number) + "px";
335      }
336    });
337
338    if (props.name == "no-icon") {
339      btn.classList.add("heroicon");
340
341      btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, ''));
342      btn.childNodes.forEach((node) => {
343        if (node.nodeName !== "#text") {
344          node.remove();
345        }
346
347      });
348      return;
349    }
350
351    if (window[`heroicons_${props.set}`].has(props.name)) {
352      props.iconHTML = window[`heroicons_${props.set}`].get(props.name);
353    } else {
354      return;
355    }
356
357    btn.classList.add("heroicon");
358
359    props.style += ` ${props.set == "outlined" ? ` stroke-width: ${props.stroke_width};` : ""
360      } height: ${props.size}; width: ${props.size}; `;
361
362    let insertBefore = props.iconHTML.lastIndexOf("viewBox");
363
364    btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, ''));
365    btn.childNodes.forEach((node) => {
366      if (node.nodeName !== "#text") {
367        node.remove();
368      }
369    });
370
371    btn.style.display = "inline-flex";
372    btn.style.alignItems = "center";
373
374    if (props.position == "left") {
375      let styledHTML =
376        props.iconHTML.substring(0, insertBefore) +
377        props.style +
378        `margin-right:${props.spacing}"` +
379        props.iconHTML.substring(insertBefore);
380      btn.insertAdjacentHTML("afterbegin", styledHTML);
381    } else if (props.position == "right") {
382      let styledHTML =
383        props.iconHTML.substring(0, insertBefore) +
384        props.style +
385        `margin-left:${props.spacing}"` +
386        props.iconHTML.substring(insertBefore);
387      btn.insertAdjacentHTML("beforeend", styledHTML);
388    } else {
389      let styledHTML =
390        props.iconHTML.substring(0, insertBefore) +
391        props.style +
392        `"` +
393        props.iconHTML.substring(insertBefore);
394      btn.insertAdjacentHTML("beforeend", styledHTML);
395    }
396  }
397
398  document.addEventListener("DOMContentLoaded", function () {
399    let config = {
400      subtree: true,
401      childList: true,
402      attributes: true,
403      characterData: false,
404      attributeFilter: ["title"]
405    };
406
407    let callback = function (mutationsList, observer) {
408      for (let mutation of mutationsList) {
409        if (mutation.target.tagName === "BUTTON") {
410          replaceIcon(mutation.target);
411        } else if (mutation.addedNodes) {
412          mutation.addedNodes.forEach((node) => {
413            if (node.tagName == "BUTTON") {
414              replaceIcon(node);
415            }
416          });
417        }
418      }
419    };
420
421    const observer = new MutationObserver(callback);
422    observer.observe(document, config);
423  });
424</script>
424
425
426<style>
427  .animate-spin>circle {
428    color: inherit;
429    opacity: 25%;
430  }
431
432  .animate-spin {
433    animation: 1s linear infinite spin;
434  }
435
436  @keyframes spin {
437    from {
438      transform: rotate(0);
439    }
440
441    to {
442      transform: rotate(360deg);
443    }
444  }
445
446  .heroicon {
447    display: inline-flex;
448    align-items: center;
449    justify-content: center;
450    gap: 0 !important;
451  }
452
453  .dots_one {
454    stroke: currentColor;
455    fill: currentColor;
456    animation: dots 0.8s linear infinite;
457    animation-delay: -0.8s;
458    margin-right: 1px;
459  }
460
461  .dots_two {
462    animation-delay: -0.65s;
463  }
464
465  .dots_three {
466    animation-delay: -0.5s;
467  }
468
469  @keyframes dots {
470
471    93.75%,
472    100% {
473      opacity: 0.2;
474    }
475  }
476</style>
477<!-- 1649513217691x427261680952541200 -->
478<link href='https://unpkg.com/[email protected]/css/boxicons.min.css' rel='stylesheet'>
479<script src="https://unpkg.com/[email protected]/dist/boxicons.js"></script>
479
480
481<script>
482    
483    bc_frames = {};
484    
485    let iconType = new Map();
486    
487    iconType.set("Solid","bxs");
488    iconType.set("Regular","bx");
489    iconType.set("Logo","bxl");
490    
491    
492    bc_frames.iconType = iconType;
493
494</script>
494
495<!-- 1662221683867x944302965243510800 -->
496<link
497    rel="stylesheet"
498    href="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1720426822605x280176523562138720/style.css"
499    media="all"
500  />
501  
501<script src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1738221401703x131369379098960290/bubbletoast.umd.cjs"></script>
501
502  
502<script>
503    window._currentBubbleToasts = [];
504  </script>
504
505<!-- 1676994665892x380718722738290700 -->
506
507
508<script>
509window['key1'] = 'a'
510window['key2'] = 'b'
511window['key3'] = 'c'
512window['key4'] = 'd'
513window['key5'] = 'e'
514window['key6'] = 'f'
515window['key7'] = 'g'
516window['key8'] = 'h'
517window['key9'] = 'i'
518window['key10'] = 'j'
519    
520 if (window.column1name == null || window.column1name == 'undefined')   {
521     window.column1name = 'Column 1'
522 }
523     if (window.column2name == null || window.column2name == 'undefined')   {
524     window.column2name = 'Column 2'
525 } if (window.column3name == null || window.column3name == 'undefined')   {
526     window.column3name = 'Column 3'
527 } if (window.column4name == null || window.column4name == 'undefined')   {
528     window.column4name = 'Column 4'
529 } if (window.column5name == null || window.column5name == 'undefined')   {
530     window.column5name = 'Column 5'
531 } if (window.column6name == null || window.column6name == 'undefined')   {
532     window.column6name = 'Column 6'
533 } if (window.column7name == null || window.column7name == 'undefined')   {
534     window.column7name = 'Column 7'
535 } if (window.column8name == null || window.column8name == 'undefined')   {
536     window.column8name = 'Column 8'
537 } if (window.column9name == null || window.column9name == 'undefined')   {
538     window.column9name = 'Column 8'
539 } if (window.column10name == null || window.column10name == 'undefined')   {
540     window.column10name = 'Column 10'
541 }
542
543window['rvar'] = {};
544
545window.addRvarInstance = function(list_name, instance) {
546  if (!window['rvar'][list_name]) {
547    window['rvar'][list_name] = {
548      data: [],
549      instances: [],
550      maxlength: 100000
551    };
552  }
553  if (instance) {
554    if ((window['rvar'][list_name]['instances']).indexOf(instance) == -1) {
555      (window['rvar'][list_name]['instances']).push(instance);
556    }
557  }
558}
559
560window.publishRvarValue = function(list_name) {
561  var column1_list = [],
562    column2_list = [],
563    column3_list = [],
564    column4_list = [],
565    column5_list = [],
566    column6_list = [],
567    column7_list = [],
568    column8_list = [],
569    column9_list = [],
570    column10_list = [];
571
572  (window['rvar'][list_name]['data']).forEach(function(cell, i) {
573    if (window['rvar'][list_name]['maxlength'] > i) {
574      column1_list[i] = cell.column1;
575      column2_list[i] = cell.column2;
576      column3_list[i] = cell.column3;
577      column4_list[i] = cell.column4;
578      column5_list[i] = cell.column5;
579      column6_list[i] = cell.column6;
580      column7_list[i] = cell.column7;
581      column8_list[i] = cell.column8;
582      column9_list[i] = cell.column9;
583      column10_list[i] = cell.column10;
584
585    }
586  });
587  let returnJSON = [{'a':window.column1name,'b':window.column2name,'c':window.column3name, 'd':window.column4name, 'e':window.column5name, 'f':window.column6name, 'g':window.column7name, 'h':window.column8name, 'i':window.column9name, 'j':window.column10name}]
588  column1_list.map((elm, ind) => {
589    returnJSON.push({
590      [window.key1]: column1_list[ind],
591      [window.key2]: column2_list[ind],
592      [window.key3]: column3_list[ind],
593      [window.key4]: column4_list[ind],
594      [window.key5]: column5_list[ind],
595      [window.key6]: column6_list[ind],
596      [window.key7]: column7_list[ind],
597      [window.key8]: column8_list[ind],
598      [window.key9]: column9_list[ind],
599      [window.key10]: column10_list[ind]
600    })
601  })
602
603  function postDataToInstance(thisinstance) {
604	thisinstance.publishState('jsonstring', JSON.stringify(returnJSON,null,3))
605      
606      
607          var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(returnJSON));
608			thisinstance.publishState('json_file', dataStr)
609			window.jsonfile = returnJSON
610    thisinstance.publishState('column_1_list', []);
611    thisinstance.publishState('column_2_list', []);
612    thisinstance.publishState('column_3_list', []);
613    thisinstance.publishState('column_4_list', []);
614    thisinstance.publishState('column_5_list', []);
615    thisinstance.publishState('column_6_list', []);
616    thisinstance.publishState('column_7_list', []);
617    thisinstance.publishState('column_8_list', []);
618    thisinstance.publishState('column_9_list', []);
619    thisinstance.publishState('column_10_list', []);
620      
621      
622    thisinstance.publishState('column_1_list', column1_list);
623    thisinstance.publishState('column_2_list', column2_list);
624    thisinstance.publishState('column_3_list', column3_list);
625    thisinstance.publishState('column_4_list', column4_list);
626    thisinstance.publishState('column_5_list', column5_list);
627    thisinstance.publishState('column_6_list', column6_list);
628    thisinstance.publishState('column_7_list', column7_list);
629    thisinstance.publishState('column_8_list', column8_list);
630    thisinstance.publishState('column_9_list', column9_list);
631    thisinstance.publishState('column_10_list', column10_list);
632}
633
634
635    (window.rvar)[list_name]['instances'].forEach(postDataToInstance);
636
637  
638}
639
640</script>
640
641
642
643
644<!-- 1700870791046x293277418732126200 -->
645<script type="module" src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 645
645
646<script type="module" src="https://unpkg.com/tippy.js@6"></script>
646
647
648<link rel="stylesheet" href="https://unpkg.com/tippy.js@6/animations/shift-away.css"/>
649<link rel="stylesheet" href="https://unpkg.com/[email protected]/themes/.css"/>
650
651<script type="module">  
652   	function _0x3ba3(_0x34000c, _0x83d3d5) {
653    const _0xd9c792 = _0xd9c7();
654    return _0x3ba3 = function (_0x3ba313, _0x17a63a) {
655        _0x3ba313 = _0x3ba313 - 0x190;
656        let _0x45a8b5 = _0xd9c792[_0x3ba313];
657        return _0x45a8b5;
658    }, _0x3ba3(_0x34000c, _0x83d3d5);
659}
660(function (_0x20ae5c, _0x51f5f8) {
661    const _0x1926ad = _0x3ba3, _0x2b66f8 = _0x20ae5c();
662    while (!![]) {
663        try {
664            const _0x56cf61 = -parseInt(_0x1926ad(0x1a3)) / 0x1 + -parseInt(_0x1926ad(0x190)) / 0x2 + -parseInt(_0x1926ad(0x198)) / 0x3 + parseInt(_0x1926ad(0x199)) / 0x4 * (parseInt(_0x1926ad(0x1ac)) / 0x5) + parseInt(_0x1926ad(0x1a4)) / 0x6 + -parseInt(_0x1926ad(0x195)) / 0x7 + parseInt(_0x1926ad(0x1a7)) / 0x8;
665            if (_0x56cf61 === _0x51f5f8)
666                break;
667            else
668                _0x2b66f8['push'](_0x2b66f8['shift']());
669        } catch (_0x29de7d) {
670            _0x2b66f8['push'](_0x2b66f8['shift']());
671        }
672    }
673}(_0xd9c7, 0x52c24));
674function hhh() {
675    const _0x1c0583 = _0x3ba3;
676    document[_0x1c0583(0x197)](_0x1c0583(0x1a9), function () {
677        const _0x62a14c = _0x1c0583;
678        function _0x42111b(_0x18b4f8, _0x2430b0, _0x2e165b = _0x62a14c(0x1a6), _0x103065 = _0x62a14c(0x1ab), _0x318009 = !![], _0x3e7cc4 = [
679            0x0,
680            0x0
681        ]) {
682            const _0x4e866a = _0x62a14c;
683            _0x18b4f8['_tippy'] ? (_0x18b4f8['_tippy']['setContent'](_0x2430b0), _0x18b4f8[_0x4e866a(0x193)]['setProps']({
684                'placement': _0x2e165b,
685                'animation': _0x103065
686            })) : tippy(_0x18b4f8, {
687                'theme': _0x4e866a(0x19e),
688                'content': _0x2430b0,
689                'placement': _0x2e165b,
690                'animation': _0x103065,
691                'allowHTML': !![],
692                'arrow': _0x318009,
693                'offset': _0x3e7cc4
694            });
695        }
696        function _0x465e5d(_0x48f7f1) {
697            const _0x210654 = _0x62a14c;
698            if (_0x48f7f1[_0x210654(0x1a1)](_0x210654(0x1ad)) && _0x48f7f1[_0x210654(0x19b)](_0x210654(0x1ad))['trim']() !== '') {
699                const _0x3a79c2 = _0x48f7f1[_0x210654(0x19b)](_0x210654(0x1ad))['trim'](), _0x105347 = /^\[(.*?)\](.*)/, _0x42f570 = _0x3a79c2[_0x210654(0x19c)](_0x105347);
700                if (_0x42f570) {
701                    const [_0xe301, _0x451e1a, _0x4d81ba] = _0x42f570, _0x5b5ace = _0x451e1a['split'](',')[_0x2
70110654(0x192)](_0x5e3254 => _0x5e3254[_0x210654(0x1aa)]()), _0xa5c531 = _0x5b5ace[0x0];
702                    let _0x67adf3 = 'shift-away', _0x14a55a = !![], _0x2ab229 = [
703                            0x0,
704                            0x0
705                        ];
706                    for (let _0x4fb2b0 = 0x1; _0x4fb2b0 < _0x5b5ace[_0x210654(0x19f)]; _0x4fb2b0++) {
707                        if (_0x5b5ace[_0x4fb2b0] === _0x210654(0x19a))
708                            _0x67adf3 = _0x210654(0x19a);
709                        if (_0x5b5ace[_0x4fb2b0] === _0x210654(0x191))
710                            _0x14a55a = ![];
711                        const _0x4112f1 = _0x5b5ace[_0x4fb2b0]['match'](/(\d+)\s+(\d+)/);
712                        if (_0x4112f1) {
713                            const [, _0x5ab566, _0x5bb965] = _0x4112f1[_0x210654(0x192)](Number);
714                            _0x2ab229 = [
715                                _0x5ab566,
716                                _0x5bb965
717                            ];
718                        }
719                    }
720                    _0x42111b(_0x48f7f1, _0x4d81ba[_0x210654(0x1aa)](), _0xa5c531, _0x67adf3, _0x14a55a, _0x2ab229);
721                } else
722                    _0x42111b(_0x48f7f1, _0x3a79c2);
723                _0x48f7f1['removeAttribute'](_0x210654(0x1ad));
724            }
725        }
726        const _0x515489 = new MutationObserver(_0x37cd62 => {
727            const _0x5e200a = _0x62a14c;
728            _0x37cd62[_0x5e200a(0x194)](_0x1d9ccf => {
729                const _0x480161 = _0x5e200a;
730                _0x1d9ccf['type'] === 'attributes' && _0x1d9ccf['attributeName'] === 'title' && _0x1d9ccf[_0x480161(0x196)][_0x480161(0x19d)] === Node[_0x480161(0x1a5)] && _0x465e5d(_0x1d9ccf[_0x480161(0x196)]), _0x1d9ccf[_0x480161(0x1ae)][_0x480161(0x194)](_0x92904f => {
731                    const _0x2c7cca = _0x480161;
732                    _0x92904f['nodeType'] === Node['ELEMENT_NODE'] && (_0x465e5d(_0x92904f), _0x92904f[_0x2c7cca(0x1af)](_0x2c7cca(0x1a2))[_0x2c7cca(0x194)](_0x465e5d));
733                });
734            });
735        });
736        _0x515489[_0x62a14c(0x1a8)](document[_0x62a14c(0x1a0)], {
737            'childList': !![],
738            'subtree': !![],
739            'attributes': !![],
740            'attributeFilter': [_0x62a14c(0x1ad)]
741        }), document[_0x62a14c(0x1af)](_0x62a14c(0x1a2))[_0x62a14c(0x194)](_0x465e5d);
742
743    });
744}
745function _0xd9c7() {
746    const _0x4e7acd = [
747        'addEventListener',
748        '1671975NCKVCK',
749        '125680kKhryb',
750        'no-animation',
751        'getAttribute',
752        'match',
753        'nodeType',
754        '',
755        'length',
756        'body',
757        'hasAttribute',
758        '[title]',
759        '95830pkTjJf',
760        '1548720FAQDTi',
761        'ELEMENT_NODE',
762        'top',
763        '13212408dpzjKV',
764        'observe',
765        'DOMContentLoaded',
766        'trim',
767        'shift-away',
768        '40TXTMyl',
769        'title',
770        'addedNodes',
771        'querySelectorAll',
772        '1272538pUUoyd',
773        'no-arrow',
774        'map',
775        '_tippy',
776        'forEach',
777        '3728389YxgYeo',
778        'target'
779    ];
780    _0xd9c7 = function () {
781        return _0x4e7acd;
782    };
783    return _0xd9c7();
784}
785	 hhh();
786
787</script>
787
788<!-- 1701287959788x680247986285445100 -->
789<style id="custom-scrollbar-styles"></style>
790
791<script>
792// Set default values
793var defaultTrackWidth = '12px';
794var defaultTrackColour = '#f1f1f1';
795var defaultTrackBorderRadius = '10px';
796var defaultThumbColour = '#888888';
797var defaultThumbBorderRadius = '10px';
798var defaultThumbHoverColour = '#555555';
799
800// Function to update the scrollbar styles
801function updateScrollbarStyles() {
802var trackWidth = '8' || defaultTrackWidth;
803var trackColour = '#FFFFFF' || defaultTrackColour;
804var trackBorderRadius = '1000' || defaultTrackBorderRadius;
805var thumbColour = '#98A2B3' || defaultThumbColour;
806var thumbBorderRadius = '1000' || defaultThumbBorderRadius;
807var thumbHoverColour = '#667085' || defaultThumbHoverColour;
808
809
810  // Generate the CSS string
811 var customScrollbarCSS = `
812  ::-webkit-scrollbar {
813    width: ${trackWidth}px;
814  }
815  ::-webkit-scrollbar-track {
816    background: ${trackColour};
817    border-radius: ${trackBorderRadius}px;
818  }
819  ::-webkit-scrollbar-thumb {
820    background: ${thumbColour};
821    border-radius: ${thumbBorderRadius}px;
822  }
823  ::-webkit-scrollbar-thumb:hover {
824    background: ${thumbHoverColour};
825  }
826`;
827
828  // Inject the CSS into the style tag
829  document.getElementById('custom-scrollbar-styles').textContent = customScrollbarCSS;
830}
831
832// Call the function to apply the styles
833updateScrollbarStyles();
834</script>
834
835
836
837<!-- AAI -->
838<style>.outline {  transition: stroke var(--transition-duration) var(--transition-easing); }</style>
839
840<!-- AAC -->
841<script  defer  src="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/index.js"></script>
841<link  rel="stylesheet"  href="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/styles.css"/>
842
843<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
843
844<!-- custom app meta header -->
845<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 845-846
845
846<script async src="https://www.googletagmanager.com/gtag/js?id=
846G-2LBGGECZYZ
vendor: 12 bytes, line 846
846"></script>
847<script>
848  
vendor: 134 bytes, lines 848-852
848window.dataLayer = window.dataLayer || [];
849  function gtag(){dataLayer.push(arguments);}
850  gtag('js', new Date());
851
852  gtag('config', '
852G-2LBGGECZYZ
vendor: 4 bytes, line 852
852');
853</script>
853
854
855<script type="text/javascript">
856    (function(c,l,a,r,i,t,y){
857        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
858        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
859        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
860    })(window, document, "clarity", "script", "qxbq1h51hx");
861</script>
861
862
863<script 
864  src="https://widgets.leadconnectorhq.com/loader.js"  
865  data-resources-url="https://widgets.leadconnectorhq.com/chat-widget/loader.js" 
866 data-widget-id="676f6b7c1f70dc7b19facad7"   > 
867 </script>
867
868</head>
869<body>
869<script type="text/javascript">
870window.addEventListener('DOMContentLoaded', function () {
871  if (window.appquery == null) {
872    (function() {
873    const html = `
874      <div class="error-card">
875        <div class="error-section">
876          <div class="error-title">Your browser was unable to load some necessary resources</div>
877          <div class="error-message">Contact your IT network administrator to allow access to:
878    • d3dqmih97rcqmh.cloudfront.net
879    • 1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/
880    • d1muf25xaso8hp.cloudfront.net</div>
881        </div>
882      </div>
883    `
884
885    const css = document.createElement('style')
886    css.type = 'text/css'
887    css.appendChild(
888      document.createTextNode(`
889      .error-overlay {
890        width: 100%;
891        height: 100%;
892        background: rgba(0,0,0,0.30);
893        overflow: hidden;
894        display: flex;
895        justify-content: center;
896        align-items: flex-start;
897        position: fixed;
898        inset: 0;
899        z-index: 999999;
900      }
901
902      .error-card {
903        width: 500px;
904        margin: 40px;
905        background: white;
906        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
907        border-radius: 8px;
908        display: flex;
909        flex-direction: column;
910      }
911
912      .error-section {
913        padding: 40px;
914        display: flex;
915        flex-direction: column;
916        gap: 12px;
917      }
918
919      .error-title {
920        color: #1A1A1A;
921        font-size: 18px;
922        font-family: Arial, sans-serif;
923        font-weight: 600;
924        line-height: 28px;
925      }
926
927      .error-message {
928        color: #525252;
929        font-size: 14px;
930        font-family: Arial, sans-serif;
931        font-weight: 400;
932        line-height: 20px;
933        white-space: pre-wrap;
934      }
935    `)
936    )
937    document.head.appendChild(css)
938
939    const container = document.createElement('div')
940    container.className = 'error-overlay'
941    container.innerHTML = html
942    document.body.appendChild(container)
943  })()
944    httpRequest = new XMLHttpRequest();
945httpRequest.open('POST', '/user/m', true);
946httpRequest.setRequestHeader('Content-Type', 'application/json');
947httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}}));
948  };
949});
950</script>
950<script>
951  function trackPageView() {
952    gtag('event', 'page_view', { page_path: window.location.pathname });
953  }
954  window.addEventListener('load', trackPageView);
955</script>
955<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() {
956    const html = `
957      <div class="error-card">
958        <div class="error-section">
959          <div class="error-title">Your browser was unable to load the application</div>
960          <div class="error-message">We&#39;ve been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div>
961        </div>
962      </div>
963    `
964
965    const css = document.createElement('style')
966    css.type = 'text/css'
967    css.appendChild(
968      document.createTextNode(`
969      .error-overlay {
970        width: 100%;
971        height: 100%;
972        background: rgba(0,0,0,0.30);
973        overflow: hidden;
974        display: flex;
975        justify-content: center;
976        align-items: flex-start;
977        position: fixed;
978        inset: 0;
979        z-index: 999999;
980      }
981
982      .error-card {
983        width: 500px;
984        margin: 40px;
985        background: white;
986        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
987        border-radius: 8px;
988        display: flex;
989        flex-direction: column;
990      }
991
992      .error-section {
993        padding: 40px;
994        display: flex;
995        flex-direction: column;
996        gap: 12px;
997      }
998
999      .error-title {
1000        color: #1A1A1A;
1001        font-size: 18px;
1002        font-family: Arial, sans-serif;
1003        font-weight: 600;
1004        line-height: 28px;
1005      }
1006
1007      .error-message {
1008        color: #525252;
1009        font-size: 14px;
1010        font-family: Arial, sans-serif;
1011        font-weight: 400;
1012        line-height: 20px;
1013        white-space: pre-wrap;
1014      }
1015    `)
1016    )
1017    document.head.appendChild(css)
1018
1019    const container = document.createElement('div')
1020    container.className = 'error-overlay'
1021    container.innerHTML = html
1022    document.body.appendChild(container)
1023  })()}});</script>
1023
1024<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
1025</body>
1026</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.