1!function(){class t{constructor(t,e){this.wrapperEl=t,this.imgEl=t.querySelector("img"),this.imgEl&&(this.getIsMobile(),this.getWinValues(),this.getOptions(e),this.init())}getIsMobile(){this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}getDeviceHeight(){return this.deviceHelper,!this.deviceHelper&&document.body&&(this.deviceHelper=document.createElement("div"),this.deviceHelper.style.cssText="position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;",document.body.appendChild(this.deviceHelper)),(this.deviceHelper?this.deviceHelper.clientHeight:0)||window.innerHeight||document.documentElement.clientHeight}getWinValues(){this.winValues={width:window.innerWidth||document.documentElement.clientWidth,height:this.isMobile?this.getDeviceHeight():window.innerHeight||document.documentElement.clientHeight,y:window.pageYOffset}}getBoundingClientRect(t){if(!t?.getBoundingClientRect())return null;const{top:e,right:i,bottom:n,left:s,width:o,height:r,x:l,y:h}=t.getBoundingClientRect();return{top:e,right:i,bottom:n,left:s,width:o,height:r,x:l,y:h}}getOptions(t){const e=this.getBoundingClientRect(this.wrapperEl),i=this.getBoundingClientRect(this.imgEl);this.options={general:{...this.options?.general,...t&&{speed:t}},wrapper:{...e,styles:this.getWrapperStyles(e)},img:{...i,styles:this.getImgStyles(e)}}}getWrapperStyles(t){if(!this.options)return null;const{width:e,height:i}=t??this.options.wrapper;return`\n\t\t clip: rect(0 ${e}px ${i}px 0);\n\t\t clip: rect(0, ${e}px, ${i}px, 0);\n\t `.trim()}getImgStyles(t){if(!this.options)return null;const{height:e}=this.winValues,{speed:i}=this.options.general,{height:n,width:s,left:o,top:r}=t??this.options.wrapper;let l=0;i<0?(l=i*Math.max(n,e),e<n&&(l-=i*(n-e))):l=i*(n+e);let h=n;return i>1?h=Math.abs(l-e):i<0?h=l/i+Math.abs(l):h+=(e-n)*(1-i),l/=2,`\n\t\t height: ${h}px;\n\t\t margin-top: ${(e-h)/2}px;\n\t\t left: ${o}px;\n\t\t width: ${s}px;\n\t\t transform: translate3d(0,${l*(1-(e-r)/(e+n)*2)}px,0);\n\t `.trim()}getIsInViewport(){const{wrapper:{bottom:t,right:e,top:i,left:n}}=this.options,{height:s,width:o}=this.winValues;return t>=0&&e>=0&&i<=s&&n<=o}init(){this.onResize(),this.onScroll(),window.addEventListener("resize",this.onResize.bind(this)),window.addEventListener("orientationchange",this.onResize.bind(this)),window.addEventListener("scroll",this.onScroll.bind(this))}onResize(){this.getOptions(),this.getIsMobile(),this.getWinValues(),this.getIsInViewport()&&(this.wrapperClip(),this.imgStyles())}onScroll(){this.getOptions(),this.getIsMobile(),this.getWinValues(),this.getIsInViewport()&&this.imgStyles()}wrapperClip(){this.wrapperEl.style.cssText=this.options.wrapper.styles}imgStyles(){this.imgEl.style.cssText=this.options.img.styles}}window.addEventListener("DOMContentLoaded",()=>{maxiParallax?.[0]&&document.querySelectorAll(".maxi-block:has(> .maxi-background-displayer .maxi-background-displayer__parallax)").forEach(e=>{const i=e.id,n=JSON.parse(maxiParallax[0][i])?.parallax?.[i];n&&n.forEach(e=>{const{id:n,"background-image-parallax-speed":s,"background-image-parallax-direction":o}=e,r=document.querySelector(`#${i} > .maxi-background-displayer > .maxi-background-displayer__${n}`);new t(r,s/10+("up"===o?1:-1))})})})}();
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.