PageSourceSearch

https://static.studyladder.co.nz/cdn/site/1c/6548deb1bcf7.js

js studyladder.co.nz collected 2026-09-26 01:27:59 UTC 11,292 bytes, 87 lines download raw bytes

1class DAAnimationEmbed{constructor(o){if(o.container){var t;[...document.querySelectorAll("script")].some(t=>"https://unpkg.com/@dotlottie/[email protected]/dist/dotlottie-player.mjs"===t.src)||((t=document.createElement("script")).src="https://unpkg.com/@dotlottie/[email protected]/dist/dotlottie-player.mjs",t.type="module",document.head.appendChild(t)),this.options=Object.assign({autoplay:!1,loop:!1,speed:1,container:null,width:"50vh",height:"50vh",maxWidth:"80vw",controls:!1},o),this.options.cdnHost=window.location.host.startsWith("dev")?"https://"+window.location.host:"https://static."+window.location.host.replace(/^www\./,"");let e=this;function i(t){"string"!=typeof o.src||o.src.startsWith("http")||o.src.startsWith("data:")||o.src.startsWith("blob:")||(o.src=`${t.options.cdnHost}/cdn/games/${window.cacheVersion}/lottie/animations/`+o.src,t.options.src=o.src);var e=document.createElement("dotlottie-player");getComputedStyle(t.options.container);e.style.width=t.options.width||"50vh",e.style.height=t.options.height||"50vh",e.style.maxWidth=t.options.maxWidth||"80vw",e.setAttribute("background","transparent"),e.setAttribute("speed",t.options.speed),t.options.autoplay&&e.setAttribute("autoplay",!0),t.options.loop&&e.setAttribute("loop",!0),t.options.controls&&e.setAttribute("controls",!0),e.setAttribute("src",t.options.src),t.options.container.querySelectorAll("dotlottie-player").forEach(t=>t.remove()),t.animation=e,t.container=t.options.container,t.options.container.appendChild(e)}void 0===window.cacheVersion?fetch("/slworld/get-lottie-cache-version").then(t=>t.json()).then(t=>{if(!(t="string"==typeof t?JSON.parse(t):t)||!t.cache_version)throw new Error("Invalid cache version format received");window.cacheVersion=t.cache_version,i(e)}).catch(t=>{}):i(e)}}isLoaded(){return new Promise((e,t)=>{let o=this.animation;if(!o)return void t(new Error("DotLottie player has not been created."));let i=null,r=null,n=!1,a=()=>{i&&clearInterval(i),r&&clearTimeout(r),o.removeEventListener("ready",d),o.removeEventListener("error",p),o.removeEventListener("data_fail",p)},s=()=>
1{if(!n){if("function"!=typeof o.getLottie)return!1;var t=o.getLottie();if(!t||!Number.isFinite(t.totalFrames)||t.totalFrames<=0)return!1;n=!0,a(),$(this.container).trigger("animationLoaded"),e(t)}return!0},d=()=>{s()},p=()=>{n||(n=!0,a(),t(new Error("DotLottie animation failed to load.")))};s()||(o.addEventListener("ready",d),o.addEventListener("error",p),o.addEventListener("data_fail",p),i=setInterval(s,25),r=setTimeout(()=>{n||(n=!0,a(),t(new Error("Timed out waiting for DotLottie animation.")))},1e4))})}preload(t){let r=this;return new Promise((e,o)=>{let i=`${r.options.cdnHost}/cdn/games/${window.cacheVersion}/lottie/animations/`+t;fetch(i).then(t=>(t.ok||o(new Error(`Failed to preload: ${i}, status: `+t.status)),t.blob())).then(t=>{t=URL.createObjectURL(t);e(t)}).catch(t=>{o(new Error("Error preloading Lottie file: "+t.message))})})}play(){this.animation&&(this.animation.play(),$(this.container).trigger("animationPlayed"))}pause(){this.animation&&(this.animation.pause(),$(this.container).trigger("animationPaused"))}stop(){this.animation&&(this.animation.stop(),$(this.container).trigger("animationStopped"))}setSpeed(t){this.animation&&(this.animation.setSpeed(t),this.options.speed=t,$(this.container).trigger("animationSpeedChanged",t))}speed(){return this.animation?this.animation.speed:null}setLoop(t){this.animation&&(this.animation.loop=t,this.options.loop=t,$(this.container).trigger("animationLoopChanged",t))}changeSource(t){"string"!=typeof t||t.startsWith("http")||t.startsWith("data:")||"undefined"!=typeof options&&options.src.startsWith("blob:")||(t=`${this.options.cdnHost}/cdn/games/${window.cacheVersion}/lottie/animations/`+t),this.src!==t&&(this.src=t,this.animation.src=t,this.animation.load(t))}changeSourceBlob(t){this.src!==t&&(this.src=t,this.animation.src=t,this.animation.load(t))}}class DAAnimation{constructor(i){if(!window.DotLottie)throw new Error("DotLottie module is not loaded.");this.options=Object.assign({autoplay:!1,loop:!1,speed:1,autoResize:!0,canvas:null},i),this.options.cdnHost=window.location.host.startsWith("dev")?"https://"+window.location.host:"https://static.studyladder.com";let e=this;function o(o){try{var t,e;"DIV"===o.options.canvas.tagName&&(t=Array.from(div.attributes).reduce((t,e)=>(t.setAttribute(e.name,e.value),t),document.createElement("canvas")),e=window.getComputedStyle(div),t.width=parseInt(e.width,10)||div.offsetWidth,t.height=parseInt(e.height,10)||div.offsetHeight,o.options.canvas.replaceWith(t)),"string"!=typeof i.src||i.src.startsWith("http")||i.src.startsWith("data:")||i.src.startsWith("blob:")?o.animation=new window.DotLottie({autoplay:o.options.autoplay,loop:o.options.loop,canvas:o.options.canvas,data:i.data,speed:o.options.speed,renderConfig:{autoResize:o.options.autoResize}}):(i.src=`${o.options.cdnHost}/cdn/games/${window.cacheVersion}/lottie/animations/`+i.src,o.options.src=i.src,o.animation=new window.DotLottie({autoplay:o.options.autoplay,loop:o.options.loop,canvas:o.options.canvas,src:o.options.src,speed:o.options.speed,renderConfig:{autoResize:o.options.autoResize}}))}catch(t){}o.animation&&(o.animation._eventManager.addEventListener("loadError",t=>{o.options.canvas=(t=>{if("CANVAS"!==t.tagName)return null;let e=document.createElement("dotlottie-wc");return Array.from(t.attributes).forEach(t=>{e.setAttribute(t.name,t.value)}),t.parentNode.replaceChild(e,t),e})(o.options.canvas);var e=new Blob([o.options.data],{type:"application/octet-stream"}),e=URL.createObjectURL(e),e=(o.options.canvas.setAttribute("src",e),o.options.canvas.autoplay=!0,document.createElement("script"));e.type="module",e.src="https://unpkg.com/@lottiefiles/[email protected]/dist/dotlottie-wc.js",o.options.canvas.parentNode.appendChild(e)}),o.animation.addEventListener("load",()=>{$(o.options.canvas).trigger("animationLoaded")}),o.animation.addEventListener("error",t=>{$(o.options.canvas).trigger("animationError",t)}))}void 0===window.cacheVersion?fetch("/slworld/get-lottie-cache-version").then(t=>t.json()).then(t=>{if(!(t="string"==typeof t?JSON.parse(t):t)||!t.cache_version)throw new Error("Invalid cac
1he version format received");window.cacheVersion=t.cache_version,o(e)}).catch(t=>{}):o(e)}play(){this.animation&&(this.animation.play(),$(this.animation.canvas).trigger("animationPlayed"))}destroy(){var t,e;this.animation&&(t=this.animation.canvas,this.animation.destroy(),$(t).trigger("animationDestroyed"),e=t.getContext("2d"))&&e.clearRect(0,0,t.width,t.height)}pause(){this.animation&&(this.animation.pause(),$(this.animation.canvas).trigger("animationPaused"))}stop(){this.animation&&(this.animation.stop(),$(this.animation.canvas).trigger("animationStopped"))}setSpeed(t){this.animation&&(this.animation.setSpeed(t),this.options.speed=t,$(this.animation.canvas).trigger("animationSpeedChanged",t))}speed(){return this.animation?this.animation.speed:null}setLoop(t){this.animation&&(this.animation.loop=t,this.options.loop=t,$(this.animation.canvas).trigger("animationLoopChanged",t))}changeSource(t){this.animation&&("string"!=typeof t||t.startsWith("http")||t.startsWith("data:")||options.src.startsWith("blob:")||(t=`${this.options.cdnHost}/cdn/games/${window.cacheVersion}/lottie/animations/`+t),this.options.src=t,this.animation.load(this.options),$(this.animation.canvas).trigger("animationSourceChanged",t))}}class DriverWrapper{constructor(t={}){this.options=Object.assign({popoverClass:"slTour-theme",showProgress:!0,addSlFooter:!0},t),this.driverObj=null}async loadDriverJsAndCss(){return"undefined"!=typeof Driver?Promise.resolve():Promise.all([this.loadScript("/js/Driver/driver_1_3_1.js"),this.loadCss("/js/Driver/driver_1_3_1.css")])}loadScript(i){return new Promise((t,e)=>{var o;document.querySelector(`script[src="${i}"]`)?t():((o=document.createElement("script")).src=i,o.type="module",o.async=!0,o.onload=()=>{t()},o.onerror=()=>{e(new Error("Failed to load script: "+i))},document.head.appendChild(o))})}loadCss(i){return new Promise((t,e)=>{var o;document.querySelector(`link[href="${i}"]`)?t():((o=document.createElement("link")).href=i,o.rel="stylesheet",o.type="text/css",o.onload=()=>{t()},o.onerror=()=>{e(new Error("Failed to load CSS: "+i))},document.head.appendChild(o))})}addCustomStyles(){var t;document.querySelector("style[data-driver-custom-styles]")||((t=document.createElement("style")).setAttribute("data-driver-custom-styles","true"),t.textContent=`
2      .driver-popover.slTour-theme {
3        background-color: /*#fde047*/aliceblue;
4        color: #333;
5      }
6      
7      .driver-popover.slTour-theme .driver-popover-title {
8        font-size: 20px;
9      }
10      
11      .driver-popover.slTour-theme .driver-popover-title,
12      .driver-popover.slTour-theme .driver-popover-description,
13      .driver-popover.slTour-theme .driver-popover-progress-text {
14        color: #333;
15      }
16      
17      .driver-popover.slTour-theme button {
18        flex: 1;
19        text-align: center;
20        background-color: #cae3ff;
21        color: #333;
22        border: 1px solid #b2d3fa;
23        text-shadow: none;
24        font-size: 14px;
25        padding: 5px 8px;
26        border-radius: 6px;
27      }
28      
29      .driver-popover.slTour-theme button:hover {
30        background-color: #000;
31        color: #ffffff;
32      }
33      
34      .driver-popover.slTour-theme .driver-popover-navigation-btns {
35        justify-content: space-between;
36        gap: 3px;
37      }
38      
39      .driver-popover.slTour-theme .driver-popover-close-btn {
40        color: #9b9b9b;
41        background: transparent;
42        border: none;
43        max-height: 1.5rem;
44        max-width: 1.5rem;
45        font-size: 1.5rem;
46        line-height: 1.5rem;
47      }
48      
49      .driver-popover.slTour-theme .driver-popover-close-btn:hover {
50        color: #000;
51        background-color: transparent;
52      }
53      
54      .driver-popover.slTour-theme .driver-popover-arrow-side-left.driver-popover-arrow {
55        border-left-color: /*#fde047*/white;
56      }
57      
58      .driver-popover.slTour-theme .driver-popover-arrow-side-right.driver-popover-arrow {
59        border-right-color: /*#fde047*/white;
60      }
61      
62      .driver-popover.slTour-theme .driver-popover-arrow-side-top.driver-popover-arrow {
63        border-top-color: /*#fde047*/white;
64      }
65      
66      .driver-popover.slTour-theme .driver-popover-arrow-side-bottom.driver-popover-arrow {
67        border-bottom-color:/*#fde047*/white;
68      }
69      
70      .driver-popover.slTour-theme .driver-popover-prev-btn,  .driver-popover.slTour-theme .driver-popover-next-btn{
71        white-space: nowrap;
72      }
73      
74      .driver-popover.slTour-theme .driver-popover-progress-text{
75        white-space: nowrap;
76        padding-right: 0.5rem;
77      }
78      
79      .driver-popover.slTour-theme .driver-popover-title{
80        font-size: 1.3rem;
81        font-weight: 500;
82        line-height: 1.3rem;
83        padding-bottom: 0.75rem;
84        padding-top: 0.75rem;
85      }
86      
87    `,document.head.appendChild(t))}async initDriver(){await this.loadDriverJsAndCss(),this.addCustomStyles(),this.driverObj=new driver.js.driver(this.options)}async drive(){this.driverObj||await this.initDriver(),this.driverObj.drive()}}

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.