1(function () { 2 "use strict"; 3 if (window.__wavswapAlbumMarketingLoaderV822) return; 4 window.__wavswapAlbumMarketingLoaderV822 = true; 5 6 var VERSION = "20260906-v971-instant-album-content"; 7 8 function activeRoute() { 9 var path = location.pathname || "/"; 10 return /^\/album\/\d+(?:\/|$)/i.test(path) || 11 /^\/(?:backstage\/albums\/\d+\/edit|admin\/albums\/\d+\/edit|admin\/backstage\/upload|upload)(?:\/|$)/i.test(path); 12 } 13 14 function addStyle() { 15 if (document.getElementById("wavswap-album-marketing-v822-css")) return; 16 var link = document.createElement("link"); 17 link.id = "wavswap-album-marketing-v822-css"; 18 link.rel = "stylesheet"; 19 link.href = "/client/wavswap-album-marketing-v822.css?v=" + VERSION; 20 (document.head || document.documentElement).appendChild(link); 21 } 22 23 function addScript() { 24 if (document.getElementById("wavswap-album-marketing-v822-js")) return; 25 var script = document.createElement("script"); 26 script.id = "wavswap-album-marketing-v822-js"; 27 script.defer = true; 28 script.src = "/client/wavswap-album-marketing-v822.js?v=" + VERSION; 29 (document.head || document.documentElement).appendChild(script); 30 } 31 32 function route() { 33 if (!activeRoute()) return; 34 addStyle(); 35 addScript(); 36 try { window.dispatchEvent(new CustomEvent("wavswap:album-marketing-route-v822")); } catch (e) {} 37 } 38 39 function wrap(name) { 40 try { 41 var original = history[name]; 42 if (!original || original.__wavswapAlbumMarketingV822) return; 43 history[name] = function () { 44 var result = original.apply(this, arguments); 45 setTimeout(route, 0); 46 setTimeout(route, 220); 47 return result; 48 }; 49 history[name].__wavswapAlbumMarketingV822 = true; 50 } catch (e) {} 51 } 52 53 wrap("pushState"); 54 wrap("replaceState"); 55 window.addEventListener("popstate", route, {passive:true}); 56 window.addEventListener("hashchange", route, {passive:true}); 57 // Start the route asset request while the document is still parsing. The 58 // enhancement observes Angular safely and no longer waits for DOMContentLoaded. 59 route(); 60 if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", route, {once:true}); 61})();
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.