PageSourceSearch

https://heroiclabs.com/index.ba0c979a9b043d629b13df5395a3e1ab5e5ff1115ca99aa21ddd4e3a997c3309.js

js heroiclabs.com collected 2026-09-24 19:15:50 UTC 3,782 bytes, 13 lines download raw bytes

1// Copyright 2022 Heroic Labs.
2// All rights reserved.
3//
4// NOTICE: All information contained herein is, and remains the property of Heroic
5// Labs. and its suppliers, if any. The intellectual and technical concepts
6// contained herein are proprietary to Heroic Labs. and its suppliers and may be
7// covered by U.S. and Foreign Patents, patents in process, and are protected by
8// trade secret or copyright law. Dissemination of this information or reproduction
9// of this material is strictly forbidden unless prior written permission is
10// obtained from Heroic Labs.
11
12;
13(()=>{window.getById=function(e){return document.getElementById(e)};window.getByClass=function(e){return document.getElementsByClassName(e)};window.addClass=function(e,t){e&&e.classList.add(t)};window.removeClass=function(e,t){e&&e.classList.remove(t)};window.query=function(e,t){return t?e.querySelectorAll(t):typeof e=="string"?document.querySelectorAll(e):[e]};window.hide=function(e,t){query(e,t).forEach(n=>{addClass(n,"hidden")})};window.show=function(e,t){query(e,t).forEach(n=>{removeClass(n,"hidden")})};var I=getById("header"),h=getById("hero"),f=getById("not-header"),m=getById("www-menu"),u=getById("www-menu-open"),w=getById("www-menu-close");u&&u.addEventListener("click",e=>{hide(h),hide(f),show(m),addClass(document.body,"h-screen")});w&&w.addEventListener("click",e=>{hide(m),removeClass(document.body,"h-screen"),show(f),show(h)});window.newsletter=function(e,t,s){s=s||[],s.push("newsletter");var n=new XMLHttpRequest;n.open("POST",e,!0),n.setRequestHeader("Content-Type","application/json"),n.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&this.status===200?(getById("email")&&(getById("email").value=""),getById("newsletter")&&(getById("newsletter").value=""),alert("Thank you! You've joined the list. We'll be in touch soon.")):this.readyState===XMLHttpRequest.DONE&&this.status>=400&&alert("Error joining the list.")},n.send(JSON.stringify({email:t,newsletter:!0,tags:s}))};window.newsletter_signup=function(e,t){var s="https://cloud.heroiclabs.com/v2/nakama-newsletter/subscribe";t=t||[];var n=window.location.pathname;n.includes("/satori")?(s="https://cloud.heroiclabs.com/v2/satori-newsletter/subscribe",t.push("satori_early_access")):n.includes("/hiro")?t.push("gdk_early_access"):n.includes("/heroic-cloud")&&t.push("hc_newsletter"),window.newsletter(s,e,t)};var i=null;window.t_click=function(e){if(i){let s=getById("b_"+i);removeClass(s.children[0],"hidden"),addClass(s.children[1],"hidden"),addClass(getById("c_"+i),"hidden")}i=e;let t=getById("b_"+i);addClass(t.children[0],"hidden"),removeClass(t.children[1],"hidden"),removeClass(getById("c_"+i),"hidden")};var p=getById("b_wildlight");p&&t_click("wildlight");var v=new Set(["ccpa","cpra","us"]),C=e=>e?v.has(String(e).toLowerCase()):!1,B=e=>e?.activeLaw?e.activeLaw:typeof window.getCkyConsent=="function"?window.getCkyConsent()?.activeLaw??null:null,y=e=>{let t=document.getElementById("footer-do-not-sell-link");if(!t)return;let s=C(B(e?.detail));t.classList.toggle("hidden",!s)};document.addEventListener("cookieyes_banner_load",y);y();var g=document.querySelector("[data-guides-toc]");if(g){let e=Array.from(g.querySelectorAll('a[href^="#"]')),t=e.map(s=>{let n=decodeURIComponent(s.hash.slice(1)),r=n?document.getElementById(n):null;return r?{link:s,el:r}:null}).filter(Boolean);if(t.length){let n=!1,r=d=>{e.forEach(o=>{let a=o===d;o.classList.toggle("is-active",a),a?o.setAttribute("aria-current","true"):o.removeAttribute("aria-current")})},c=()=>{n=!1;let d=t[0];for(let o of t)o.el.getBoundingClientRect().top<=270&&(d=o);r(d.link)},l=()=>{n||(n=!0,window.requestAnimationFrame(c))};window.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l,{passive:!0}),c()}}})();

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.