1function byClass(t,e=document){return e.getElementsByClassName(t)}function query(t,e=document){return e.querySelector(t)}function queryAll(t,e=document){return e.querySelectorAll(t)}function forEachHTML(t,e,i){for(let s=0,n=t.length;s<n;s++)e.call(i,t[s],s)}function addClass(t,...e){if(t.length===undefined)i(t,...e);else{forEachHTML(t,(t=>{i(t,...e)}))}function i(t,...e){e.forEach((e=>{t.classList.add(e)}))}}function addEvent(t,e,i,s){t.addEventListener(e,i,s)}function removeEvent(t,e,i,s){t.removeEventListener(e,i,s)}function getAttr(t,e){return t.getAttribute(e)}function setAttr(t,e,i){t.setAttribute(e,i)}function remAttr(t,e){t.removeAttribute(e)}const defOpts={css3easing:"linear",delayBeforeStart:1e3,direction:"left",duplicated:false,duration:5e3,gap:20,pauseOnHover:false,recalcResize:false,speed:0,startVisible:false};let instances=0;class marquee{constructor(t,e){if(typeof t==="undefined")throw new Error("el cannot be undefined");if(typeof t==="string")throw new Error("el cannot be just a selector");if(t===null)throw new Error("el cannot be null");e={...defOpts,...e};this.el=t;this._loopCount=3;for(const i in defOpts){let s=getAttr(t,`data-${defOpts[i]}`);if(s!==null&&s!==""){if(s==="true"||s==="false")s=Boolean(s);e[i]=s}}if(e.speed)e.duration=parseInt(t.clientWidth)/e.speed*1e3;e.gap=e.duplicated?parseInt(e.gap):0;t.innerHTML=`<div class="js-marquee">${t.innerHTML}</div>`;const i=byClass("js-marquee",t)[0];i.style.marginRight=`${e.gap}px`;i.style.willChange="transform";i.style.float="left";if(e.duplicated)t.appendChild(i.cloneNode(true));t.innerHTML=`<div style="width:100000px" class="js-marquee-wrapper">${t.innerHTML}</div>`;const s=byClass("js-marquee-wrapper",t)[0],n=e.direction==="up"||e.direction==="down";this._marqWrap=s;this._vertical=n;this._duration=e.duration;this._opts=e;this._calcSizes();const a=`marqueeAnimation-${Math.floor(Math.random()*1e7)}`,r=this._animationStr(a,e.duration/1e3,e.delayBeforeStart/1e3,"infinite");this._animName=a;this._animStr=r;if(e.duplicated){if(n){if(e.startVisible)this._marqWrap.style.transform="translateY(0px)";else this._marqWrap.style.transform=`translateY(${e.direction==="up"?this._contHeight:-1*(this._elHeight*2-e.gap)}px)`}else{if(e.startVisible)this._marqWrap.style.transform="translateX(0px)";else this._marqWrap.style.transform=`translateX(${e.direction==="left"?this._contWidth:-1*(this._elWidth*2-e.gap)}px)`}if(!e.startVisible)this._loopCount=1}else if(e.startVisible){this._loopCount=2}else{if(n)this._repositionVert();else this._repositionHor()}addEvent(this.el,"pause",this.pause.bind(this));addEvent(this.el,"resume",this.resume.bind(this));if(e.pauseOnHover){addEvent(this.el,"mouseover",this.pause.bind(this));addEvent(this.el,"mouseout",this.resume.bind(this))}this._animEnd=()=>{this._animate(n);this.el.dispatchEvent(new CustomEvent("finished"))};this._instance=instances;instances++;this._animate(n);if(e.recalcResize)addEvent(window,"resize",this._recalcResize.bind(this))}_animationStr(t="",e=0,i=0,s=""){return`${t} ${e}s ${i}s ${s} ${this._opts.css3easing}`}_animate(t=false){const e=this._opts;if(e.duplicated){if(this._loopCount===1){let i=e.duration;if(t)i=e.direction==="up"?i+this._contHeight/(this._elHeight/i):i*2;else i=e.direction==="left"?i+this._contWidth/(this._elWidth/i):i*2;this._animStr=this._animationStr(this._animName,i/1e3,e.delayBeforeStart/1e3)}else if(this._loopCount===2){this._animName=`${this._animName}0`;this._animStr=this._animationStr(this._animName,e.duration/1e3,0,"infinite")}this._loopCount++}let i="";if(t){if(e.duplicated){if(this._loopCount>2)this._marqWrap.style.transform=`translateY(${e.direction==="up"?0:-1*this._elHeight}px)`;i=`translateY(${e.direction==="up"?-1*this._elHeight:0}px)`}else if(e.startVisible){if(this._loopCount===2){this._animStr=this._animationStr(this._animName,e.duration/1e3,e.delayBeforeStart/1e3);i=`translateY(${e.direction==="up"?-1*this._elHeight:this._contHeight}px)`;this._loopCount++}else if(this._loopCount===3){this._animName=`${this._animName}0`;this._animStr=this._animationStr(this._animName,this._completeDuration/1e3,0,"infinite");this._repositionVert()}}else{this._repositionVert();i=`translateY(${e.direction==="up"?-1*this._marqWrap.clientHeight:this._contHeight}px)`}}
1else{if(e.duplicated){if(this._loopCount>2)this._marqWrap.style.transform=`translateX(${e.direction==="left"?0:-1*this._elWidth}px)`;i=`translateX(${e.direction==="left"?-1*this._elWidth:0}px)`}else if(e.startVisible){if(this._loopCount===2){this._animStr=this._animationStr(this._animName,e.duration/1e3,e.delayBeforeStart/1e3);i=`translateX(${e.direction==="left"?-1*this._elWidth:this._contWidth}px)`;this._loopCount++}else if(this._loopCount===3){this._animName=`${this._animName}0`;this._animStr=this._animationStr(this._animName,e.duration/1e3,0,"infinite");this._repositionHor()}}else{this._repositionHor();i=`translateX(${e.direction==="left"?-1*this._elWidth:this._contHeight}px)`}}this.el.dispatchEvent(new CustomEvent("beforeStarting"));this._marqWrap.style.animation=this._animStr;const s=`@keyframes ${this._animName} {\n 100% {\n transform: ${i};\n }\n }`,n=queryAll("style",this._marqWrap);if(n.length)n[n.length-1].innerHTML=s;else if(byClass(`marq-wrap-style-${this._instance}`).length)byClass(`marq-wrap-style-${this._instance}`)[0].innerHTML=s;else{const t=document.createElement("style");addClass(t,`marq-wrap-style-${this._instance}`);t.innerHTML=s;query("head").appendChild(t)}addEvent(this._marqWrap,"animationiteration",this._animIter.bind(this),{once:true});addEvent(this._marqWrap,"animationend",this._animEnd.bind(this),{once:true});this._status="running";setAttr(this.el,"data-runningStatus","resumed")}_animIter(){this.el.dispatchEvent(new CustomEvent("finished"))}_repositionVert(){this._marqWrap.style.transform=`translateY(${this._opts.direction==="up"?this._contHeight:this._elHeight*-1}px)`}_repositionHor(){this._marqWrap.style.transform=`translateX(${this._opts.direction==="left"?this._contWidth:this._elWidth*-1}px)`}_calcSizes(){const t=this.el,e=this._opts;if(this._vertical){const i=t.clientHeight;this._contHeight=i;remAttr(this._marqWrap,"style");t.style.clientHeight=`${i}px`;const s=byClass("js-marquee",t),n=s.length-1;forEachHTML(s,((t,i)=>{t.style.float="none";t.style.marginRight="0px";if(e.duplicated&&i===n)t.style.marginBottom="0px";else t.style.marginBottom=`${e.gap}px`}));const a=parseInt(s[0].clientHeight+e.gap);this._elHeight=a;if(e.startVisible&&!e.duplicated){this._completeDuration=(a+i)/parseInt(i)*this._duration;e.duration=a/parseInt(i)*this._duration}else e.duration=a/parseInt(i)/parseInt(i)*this._duration}else{const i=parseInt(byClass("js-marquee",t)[0].clientWidth+e.gap),s=t.clientWidth;this._contWidth=s;this._elWidth=i;if(e.startVisible&&!e.duplicated){this._completeDuration=(i+s)/parseInt(s)*this._duration;e.duration=i/parseInt(s)*this._duration}else e.duration=(i+parseInt(s))/parseInt(s)*this._duration}if(e.duplicated)e.duration=e.duration/2}_recalcResize(){this._calcSizes();this._loopCount=2;this._animEnd()}pause(){this._marqWrap.style.animationPlayState="paused";this._status="paused";setAttr(this.el,"data-runningStatus","paused");this.el.dispatchEvent(new CustomEvent("paused"))}resume(){this._marqWrap.style.animationPlayState="running";this._status="running";setAttr(this.el,"data-runningStatus","resumed");this.el.dispatchEvent(new CustomEvent("resumed"))}toggle(){if(this._status==="paused")this.resume();else if(this._status==="running")this.pause()}destroy(){removeEvent(this.el,"pause",this.pause.bind(this));removeEvent(this.el,"resume",this.resume.bind(this));if(this._opts.pauseOnHover){removeEvent(this.el,"mouseover",this.pause.bind(this));removeEvent(this.el,"mouseout",this.resume.bind(this))}removeEvent(this._marqWrap,"animationiteration",this._animIter.bind(this),{once:true});removeEvent(this._marqWrap,"animationend",this._animEnd.bind(this),{once:true});if(this._opts.recalcResize)removeEvent(window,"resize",this._recalcResize.bind(this))}refresh(){this._recalcResize()}}
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.