(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2141],{73431:function(t){var e="function"==typeof Float32Array;function i(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}function s(t,e,i){return 3*(1-3*i+3*e)*t*t+2*(3*i-6*e)*t+3*e}function n(t){return t}t.exports=function(t,r,a,l){if(!(0<=t&&t<=1&&0<=a&&a<=1))throw Error("bezier x values must be in [0, 1] range");if(t===r&&a===l)return n;for(var o=e?new Float32Array(11):Array(11),h=0;h<11;++h)o[h]=i(.1*h,t,a);return function(e){return 0===e?0:1===e?1:i(function(e){for(var n=0,r=1;10!==r&&o[r]<=e;++r)n+=.1;var l=n+(e-o[--r])/(o[r+1]-o[r])*.1,h=s(l,t,a);return h>=.001?function(t,e,n,r){for(var a=0;a<4;++a){var l=s(e,n,r);if(0===l)break;var o=i(e,n,r)-t;e-=o/l}return e}(e,l,t,a):0===h?l:function(t,e,s,n,r){var a,l,o=0;do(a=i(l=e+(s-e)/2,n,r)-t)>0?s=l:e=l;while(Math.abs(a)>1e-7&&++o<10);return l}(e,n,n+.1,t,a)}(e),r,l)}}},72141:function(t,e,i){"use strict";i.d(e,{VS:function(){return j},Xu:function(){return D}});var s,n,r,a,l,o,h,u,c,d,p,f=i(73431),v=i.n(f),g=function(t){this.startX=t.startX,this.startY=t.startY,this.endX=t.endX,this.endY=t.endY,this.totalX=this.endX-this.startX,this.totalY=this.endY-this.startY,this.startMultiplierX=t.startMultiplierX||1,this.endMultiplierX=t.endMultiplierX||1,this.startMultiplierY=t.startMultiplierY||1,this.endMultiplierY=t.endMultiplierY||1};function m(){return(m=Object.assign||function(t){for(var e=1;et?-1:1)),1)}function M(t,e){var i=t.start,s=t.end,n=t.unit;if("%"===n){var r=e/100;i*=r,s*=r}if("vw"===n){var a=i/100,l=s/100;i=window.innerWidth*a,s=window.innerWidth*l}if("vh"===n){var o=i/100,h=s/100;i=window.innerHeight*o,s=window.innerHeight*h}return{start:i,end:s}}var H={start:0,end:0,unit:""},k=function(t,e,i){return Math.min(Math.max(t,e),i)},z=function(){function t(t){var e,i;this.el=t.el,this.props=t.props,this.scrollAxis=t.scrollAxis,this.disabledParallaxController=t.disabledParallaxController||!1,this.id=++w,this.effects=I(this.props,this.scrollAxis),this.isInView=null,this.progress=0,this._setElementEasing(t.props.easing),e=t.el,i=Object.keys(this.effects).includes("opacity"),e.style.willChange="transform"+(i?",opacity":"")}var e=t.prototype;return e.updateProps=function(t){return this.props=m({},this.props,t),this.effects=I(t,this.scrollAxis),this._setElementEasing(t.easing),this},e.setCachedAttributes=function(t,e){Y(this),this.rect=new E({el:this.props.targetElement||this.el,rootMargin:this.props.rootMargin,view:t});var i,s,n,r,a,l,o,h,u,c,p,f,v=(i=this.props,s=this.effects,n=this.scrollAxis,!i.rootMargin&&!i.targetElement&&!i.shouldDisableScalingTranslations&&(!!s.translateX&&n===d.horizontal||!!s.translateY&&n===d.vertical));return"number"==typeof this.props.startScroll&&"number"==typeof this.props.endScroll?this.limits=new g({startX:this.props.startScroll,startY:this.props.startScroll,endX:this.props.endScroll,endY:this.props.endScroll}):v?(this.limits=function(t,e,i,s,n,r){var a=i.translateX||H,l=i.translateY||H,o=M(a,t.width),h=o.start,u=o.end,c=M(l,t.height),p=c.start,f=c.end,v=t.top-e.height,m=t.left-e.width,w=t.bottom,E=t.right,b=1,C=1;n===d.vertical&&(C=b=A(p,f,e.height+t.height));var _=1,y=1;if(n===d.horizontal&&(y=_=A(h,u,e.width+t.width)),p<0&&(v+=p*b),f>0&&(w+=f*C),h<0&&(m+=h*_),u>0&&(E+=u*y),m+=s.x,E+=s.x,v+=s.y,w+=s.y,r){var x=s.y+t.tope.scrollHeight-e.height,S=s.x+t.right>e.scrollWidth-e.height;x&&I&&(b=1,C=1,v=0,w=e.scrollHeight-e.height),O&&S&&(_=1,y=1,m=0,E=e.scrollWidth-e.width),!x&&I&&(v=t.top-e.height+s.y,b=A(p,f,(w=e.scrollHeight-e.height)-v),C=1,p<0&&(v+=p*b)),!O&&S&&(m=t.left-e.width+s.x,_=A(h,u,(E=e.scrollWidth-e.width)-m),y=1,h<0&&(m+=h*_)),x&&!I&&(v=0,b=1,C=A(p,f,(w=t.bottom+s.y)-v),f>0&&(w+=f*C)),O&&!S&&(m=0,_=1,y=A(h,u,(E=t.right+s.x)-m),u>0&&(E+=u*y))}return new g({startX:m,startY:v,endX:E,endY:w,startMultiplierX:_,endMultiplierX:y,startMultiplierY:b,endMultiplierY:C})}(this.rect,t,this.effects,e,this.scrollAxis,this.props.shouldAlwaysCompleteAnimation),this.scaledEffects=(r=this.effects,a=this.limits,(l=m({},r)).translateX&&(l.translateX=m({},r.translateX,{start:l.translateX.start*a.startMultiplierX,end:l.translateX.end*a.endMultiplierX})),l.translateY&&(l.translateY=m({},r.translateY,{start:l.translateY.start*a.startMultiplierY,end:l.translateY.end*a.endMultiplierY})),l)):this.limits=(o=this.rect,h=this.props.shouldAlwaysCompleteAnimation,u=o.top-t.height,c=o.left-t.width,p=o.bottom,f=o.right,c+=e.x,f+=e.x,u+=e.y,p+=e.y,h&&(e.y+o.topt.scrollHeight-t.height&&(p=t.scrollHeight-t.height),f>t.scrollWidth-t.width&&(f=t.scrollWidth-t.width)),new g({startX:c,startY:u,endX:f,endY:p})),this._setElementStyles(),this},e._updateElementIsInView=function(t){var e=null===this.isInView;t!==this.isInView&&(t?this.props.onEnter&&this.props.onEnter(this):!e&&(this._setFinalProgress(),this._setElementStyles(),this.props.onExit&&this.props.onExit(this))),this.isInView=t},e._setFinalProgress=function(){var t=k(Math.round(this.progress),0,1);this._updateElementProgress(t)},e._setElementStyles=function(){this.props.disabled||this.disabledParallaxController||function(t,e,i){if(i){var s,n=X.reduce(function(i,s){var n=t[s]&&P(t[s],e);return void 0===n||void 0===n.value||void 0===n.unit?i:i+(s+"("+n.value)+n.unit+")"},""),r=void 0===(s=t.opacity&&P(t.opacity,e))||void 0===s.value||void 0===s.unit?"":""+s.value;i.style.transform=n,i.style.opacity=r}}(this.scaledEffects||this.effects,this.progress,this.el)},e._updateElementProgress=function(t){this.progress=t,this.props.onProgressChange&&this.props.onProgressChange(this.progress),this.props.onChange&&this.props.onChange(this)},e._setElementEasing=function(t){this.easing=y(t)},e.updateElementOptions=function(t){this.scrollAxis=t.scrollAxis,this.disabledParallaxController=t.disabledParallaxController||!1},e.updatePosition=function(t){if(!this.limits)return this;var e=this.scrollAxis===d.vertical,i=null===this.isInView,s=e?this.limits.startY:this.limits.startX,n=e?this.limits.endY:this.limits.endX,r=e?this.limits.totalY:this.limits.totalX,a=e?t.y:t.x,l=a>=s&&a<=n;if(this._updateElementIsInView(l),l){var o=S(s,r,a,this.easing);this._updateElementProgress(o),this._setElementStyles()}else i&&(this.progress=k(Math.round(S(s,r,a,this.easing)),0,1),this._setElementStyles());return this},t}(),Q=function(){function t(t){this.scrollContainer=t.scrollContainer,this.width=t.width,this.height=t.height,this.scrollHeight=t.scrollHeight,this.scrollWidth=t.scrollWidth}var e=t.prototype;return e.hasChanged=function(t){return t.width!==this.width||t.height!==this.height||t.scrollWidth!==this.scrollWidth||t.scrollHeight!==this.scrollHeight},e.setSize=function(t){return this.width=t.width,this.height=t.height,this.scrollHeight=t.scrollHeight,this.scrollWidth=t.scrollWidth,this},t}(),L=function(){function t(t,e){this.x=t,this.y=e,this.dx=0,this.dy=0}return t.prototype.setScroll=function(t,e){return this.dx=t-this.x,this.dy=e-this.y,this.x=t,this.y=e,this},t}(),W=function(){function t(t){var e=t.scrollAxis,i=void 0===e?d.vertical:e,s=t.scrollContainer,n=t.disabled;this.disabled=void 0!==n&&n,this.scrollAxis=i,this.elements=[],this._hasScrollContainer=!!s,this.viewEl=null!=s?s:window;var r=this._getScrollPosition(),a=r[0],l=r[1];this.scroll=new L(a,l),this.view=new Q({width:0,height:0,scrollWidth:0,scrollHeight:0,scrollContainer:this._hasScrollContainer?s:void 0}),this._ticking=!1,this._supportsPassive=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}(),this._bindAllMethods(),this.disabled||(this._addListeners(this.viewEl),this._addResizeObserver(),this._setViewSize())}t.init=function(e){if(!("undefined"!=typeof window))throw Error("Looks like ParallaxController.init() was called on the server. This method must be called on the client.");return new t(e)};var e=t.prototype;return e._bindAllMethods=function(){var t=this;["_addListeners","_removeListeners","_getScrollPosition","_handleScroll","_handleUpdateCache","_updateAllElements","_updateElementPosition","_setViewSize","_addResizeObserver","_checkIfViewHasChanged","_getViewParams","getElements","createElement","removeElementById","resetElementStyles","updateElementPropsById","update","updateScrollContainer","destroy"].forEach(function(e){t[e]=t[e].bind(t)})},e._addListeners=function(t){t.addEventListener("scroll",this._handleScroll,!!this._supportsPassive&&{passive:!0}),window.addEventListener("resize",this._handleUpdateCache,!1),window.addEventListener("blur",this._handleUpdateCache,!1),window.addEventListener("focus",this._handleUpdateCache,!1),window.addEventListener("load",this._handleUpdateCache,!1)},e._removeListeners=function(t){var e;t.removeEventListener("scroll",this._handleScroll,!1),window.removeEventListener("resize",this._handleUpdateCache,!1),window.removeEventListener("blur",this._handleUpdateCache,!1),window.removeEventListener("focus",this._handleUpdateCache,!1),window.removeEventListener("load",this._handleUpdateCache,!1),null==(e=this._resizeObserver)||e.disconnect()},e._addResizeObserver=function(){var t=this;try{var e=this._hasScrollContainer?this.viewEl:document.documentElement;this._resizeObserver=new ResizeObserver(function(){return t.update()}),this._resizeObserver.observe(e)}catch(t){console.warn("Failed to create the resize observer in the ParallaxContoller")}},e._getScrollPosition=function(){return[this._hasScrollContainer?this.viewEl.scrollLeft:window.pageXOffset,this._hasScrollContainer?this.viewEl.scrollTop:window.pageYOffset]},e._handleScroll=function(){var t=this._getScrollPosition(),e=t[0],i=t[1];this.scroll.setScroll(e,i),!this._ticking&&this.elements.length>0&&(this._ticking=!0,window.requestAnimationFrame(this._updateAllElements))},e._handleUpdateCache=function(){this._setViewSize(),this._updateAllElements({updateCache:!0})},e._updateAllElements=function(t){var e=this,i=(void 0===t?{}:t).updateCache;this.elements&&this.elements.forEach(function(t){i&&t.setCachedAttributes(e.view,e.scroll),e._updateElementPosition(t)}),this._ticking=!1},e._updateElementPosition=function(t){t.props.disabled||this.disabled||t.updatePosition(this.scroll)},e._getViewParams=function(){if(this._hasScrollContainer){var t=this.viewEl.offsetWidth,e=this.viewEl.offsetHeight,i=this.viewEl.scrollHeight,s=this.viewEl.scrollWidth;return this.view.setSize({width:t,height:e,scrollHeight:i,scrollWidth:s})}var n=document.documentElement;return{width:window.innerWidth||n.clientWidth,height:window.innerHeight||n.clientHeight,scrollHeight:n.scrollHeight,scrollWidth:n.scrollWidth}},e._setViewSize=function(){return this.view.setSize(this._getViewParams())},e._checkIfViewHasChanged=function(){return this.view.hasChanged(this._getViewParams())},e.getElements=function(){return this.elements},e.createElement=function(t){var e=new z(m({},t,{scrollAxis:this.scrollAxis,disabledParallaxController:this.disabled}));return e.setCachedAttributes(this.view,this.scroll),this.elements=this.elements?[].concat(this.elements,[e]):[e],this._updateElementPosition(e),this._checkIfViewHasChanged()&&this.update(),e},e.removeElementById=function(t){this.elements&&(this.elements=this.elements.filter(function(e){return e.id!==t}))},e.updateElementPropsById=function(t,e){this.elements&&(this.elements=this.elements.map(function(i){return i.id===t?i.updateProps(e):i})),this.update()},e.resetElementStyles=function(t){Y(t)},e.update=function(){var t=this._getScrollPosition(),e=t[0],i=t[1];this.scroll.setScroll(e,i),this._setViewSize(),this._updateAllElements({updateCache:!0})},e.updateScrollContainer=function(t){this._removeListeners(this.viewEl),this.viewEl=t,this._hasScrollContainer=!!t,this.view=new Q({width:0,height:0,scrollWidth:0,scrollHeight:0,scrollContainer:t}),this._setViewSize(),this._addListeners(this.viewEl),this._updateAllElements({updateCache:!0})},e.disableParallaxController=function(){this.disabled=!0,this._removeListeners(this.viewEl),this.elements&&this.elements.forEach(function(t){return Y(t)})},e.enableParallaxController=function(){var t=this;this.disabled=!1,this.elements&&this.elements.forEach(function(e){return e.updateElementOptions({disabledParallaxController:!1,scrollAxis:t.scrollAxis})}),this._addListeners(this.viewEl),this._addResizeObserver(),this._setViewSize()},e.disableAllElements=function(){console.warn("deprecated: use disableParallaxController() instead"),this.elements&&(this.elements=this.elements.map(function(t){return t.updateProps({disabled:!0})})),this.update()},e.enableAllElements=function(){console.warn("deprecated: use enableParallaxController() instead"),this.elements&&(this.elements=this.elements.map(function(t){return t.updateProps({disabled:!1})})),this.update()},e.destroy=function(){this._removeListeners(this.viewEl),this.elements&&this.elements.forEach(function(t){return Y(t)}),this.elements=void 0},t}(),V=i(67294);function B(t,e){return(B=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var Z=["disabled","easing","endScroll","onChange","onEnter","onExit","onProgressChange","opacity","rootMargin","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","shouldAlwaysCompleteAnimation","shouldDisableScalingTranslations","speed","startScroll","targetElement","translateX","translateY"];function R(t){var e,i=t.disabled,s=t.easing,n=t.endScroll,r=t.onChange,a=t.onEnter,l=t.onExit,o=t.onProgressChange,h=t.opacity,u=t.rootMargin,c=t.rotate,d=t.rotateX,p=t.rotateY,f=t.rotateZ,v=t.scale,g=t.scaleX,m=t.scaleY,w=t.scaleZ,E=t.shouldAlwaysCompleteAnimation,b=t.shouldDisableScalingTranslations,C=t.speed,_=t.startScroll,y=t.targetElement,x=t.translateX,O=t.translateY,I=function(t,e){if(null==t)return{};var i,s,n={},r=Object.keys(t);for(s=0;s=0||(n[i]=t[i]);return n}(t,Z);return{parallaxProps:(Object.keys(e={disabled:i,easing:s,endScroll:n,onChange:r,onEnter:a,onExit:l,onProgressChange:o,opacity:h,rootMargin:u,rotate:c,rotateX:d,rotateY:p,rotateZ:f,scale:v,scaleX:g,scaleY:m,scaleZ:w,shouldAlwaysCompleteAnimation:E,shouldDisableScalingTranslations:b,speed:C,startScroll:_,targetElement:y,translateX:x,translateY:O}).forEach(function(t){return void 0===e[t]&&delete e[t]}),e),rest:I}}var U=V.createContext(null);function j(t){var e,i,s,n,r,a,l=R(t),o=l.parallaxProps,h=l.rest,u=(e=function(){var t=(0,V.useContext)(U);if("undefined"==typeof window)return null;if(!t)throw Error("Could not find `react-scroll-parallax` context value. Please ensure the component is wrapped in a ");return t}(),i=(0,V.useRef)(null),s=R(o).parallaxProps,(0,V.useEffect)(function(){var t=e instanceof W;if("undefined"!=typeof window&&!e&&!t)throw Error("Must wrap your application's components in a .")},[e]),r=(n=(0,V.useState)())[0],a=n[1],(0,V.useEffect)(function(){var t;if(i.current instanceof HTMLElement){var n={el:i.current,props:s};a(t=null==e?void 0:e.createElement(n))}else throw Error("You must assign the ref returned by the useParallax() hook to an HTML Element.");return function(){t&&(null==e||e.removeElementById(t.id))}},[]),(0,V.useEffect)(function(){r&&(o.disabled&&(null==e||e.resetElementStyles(r)),null==e||e.updateElementPropsById(r.id,s))},[o.disabled,o.easing,o.endScroll,o.onChange,o.onEnter,o.onExit,o.onProgressChange,o.opacity,o.rootMargin,o.rotate,o.rotateX,o.rotateY,o.rotateZ,o.scale,o.scaleX,o.scaleY,o.scaleZ,o.shouldAlwaysCompleteAnimation,o.shouldDisableScalingTranslations,o.speed,o.startScroll,o.targetElement,o.translateX,o.translateY]),{ref:i,controller:e,element:r}).ref;return V.createElement("div",Object.assign({ref:u},h),t.children)}var D=function(t){function e(e){var i,s;return(i=t.call(this,e)||this).controller=(s={scrollAxis:e.scrollAxis,scrollContainer:e.scrollContainer,disabled:e.isDisabled},"undefined"!=typeof window?W.init(s):null),i}e.prototype=Object.create(t.prototype),e.prototype.constructor=e,B(e,t);var i=e.prototype;return i.componentDidUpdate=function(t){var e,i,s;t.scrollContainer!==this.props.scrollContainer&&this.props.scrollContainer&&(null==(e=this.controller)||e.updateScrollContainer(this.props.scrollContainer)),t.isDisabled===this.props.isDisabled||(this.props.isDisabled&&(null==(i=this.controller)||i.disableParallaxController()),this.props.isDisabled||null==(s=this.controller)||s.enableParallaxController())},i.componentWillUnmount=function(){this.controller=this.controller.destroy()},i.render=function(){var t=this.props.children;return V.createElement(U.Provider,{value:this.controller},t)},e}(V.Component);D.defaultProps={scrollAxis:d.vertical}}}]);