{"version":3,"sources":["common.js","Animations.js","BaseComponent.js","BaseGLAnimation.js","Pswp.js","Scroll.js","ScrollAnimation.js","SetText.js","Slider.js","arrow/Arrow.js","asideCounters/AsideCounters.js","changeTextHover/ChangeTextHover.js","circleButton/CircleButton.js","counter/Counter.js","cursor/Cursor.js","effects/EffectDistortion.js","effects/EffectStretch.js","filter/Filter.js","fontObserver/fontObserver.js","form/Form.js","form/FormAJAX.js","gmap/gmap.js","grid/grid.js","header/Header.js","lazy/lazyLoad.js","magnetic/Magnetic.js","pageIndicator/PageIndicator.js","parallax/ArtsParallax.js","PJAX/PJAX Animate Clonned Image.js","PJAX/PJAX Clone Image.js","PJAX/PJAX Finish Loading.js","PJAX/PJAX Init New Page.js","PJAX/PJAX Set Next Container.js","PJAX/PJAX Start Loading.js","PJAX/PJAX Transition Flying Image.js","PJAX/PJAX Transition Fullscreen Slider.js","PJAX/PJAX Transition General.js","PJAX/PJAX Transition List Hover.js","PJAX/PJAX Transition Overlay Menu.js","PJAX/PJAX Update Admin Bar.js","PJAX/PJAX Update Audio Background.js","PJAX/PJAX Update Body.js","PJAX/PJAX Update Head.js","PJAX/PJAX Update Language Switcher.js","PJAX/PJAX Update Nodes.js","PJAX/PJAX Update Trackers.js","PJAX/PJAX.js","preloader/Preloader.js","pswp/PSWPAlbum.js","pswp/PSWPGallery.js","scroll/SmoothScroll.js","scrollDown/ScrollDown.js","sectionContent/SectionContent.js","sectionGrid/SectionGrid.js","sectionList/SectionList.js","sectionMasthead/SectionMasthead.js","sectionNavProjects/SectionNavProjects.js","sectionProjectsSlider/SectionProjectsSlider.js","sectionSliderImages/SectionSliderImages.js","sectionTestimonials/SectionTestimonials.js","sectionVideo/SectionVideo.js","slider/SliderCategories.js","slider/SliderCounter.js","slider/SliderDistortionEffect.js","slider/SliderDots.js","slider/SliderHoverBackgrounds.js","slider/SliderTextTransitions.js","sliderFullscreenProjects/SliderFullscreenProjects.js","sliderImages/SliderImages.js","sliderTestimonials/SliderTestimonials.js","utilities/debounce.js","utilities/distributeByPosition.js","utilities/getStaggerFrom.js","utilities/isAnchor.js","utilities/math.js","utilities/MobileBarHeight.js","utilities/runOnHighPerformanceGPU.js","utilities/syncAttributes.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACthBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7jBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACTA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"components.js","sourcesContent":["/**\n * Try to use high performance GPU on dual-GPU systems\n */\nrunOnHighPerformanceGPU();\n\n/**\n * GSAP: turn off console warnings\n */\ngsap.config({\n\tnullTargetWarn: false\n});\n\n/**\n * Global Vars\n */\nwindow.$document = $(document);\nwindow.$window = $(window);\nwindow.$body = $('body');\nwindow.$html = $('html');\nwindow.$spinner = $('#js-spinner');\nwindow.$barbaWrapper = $('[data-barba=\"wrapper\"]');\nwindow.$pageWrapper = $('#page-wrapper');\nwindow.$pageContent = $('.page-wrapper__content');\nwindow.$pagePreloader = $('#js-preloader');\nwindow.PagePreloader = new Preloader({\n\tscope: window.$document,\n\ttarget: window.$pagePreloader,\n\tcurtain: {\n\t\telement: $('#js-page-transition-curtain'),\n\t\tbackground: $('.section-masthead').attr('data-background-color')\n\t},\n\tcounter: {\n\t\teasing: 'power4.out',\n\t\tduration: 25,\n\t\tstart: 0,\n\t\ttarget: 100,\n\t\tprefix: '',\n\t\tsuffix: ''\n\t}\n});\n\n/**\n * Begin Page Load\n */\nwindow.PagePreloader.start();\n\n/**\n * Default Theme Options\n * Used to prevent errors if there is\n * no data provided from backend\n */\nif (typeof window.theme === 'undefined') {\n\twindow.theme = {\n\t\tfonts: ['Raleway', 'Cinzel'], // declare your fonts to be loaded here\n\t\tajax: {\n\t\t\tenabled: true,\n\t\t\tpreventRules: '' // jQuery selectors of the elements to exclude them from AJAX transitions\n\t\t},\n\t\tanimations: {\n\t\t\ttriggerHook: 0.85, // more info https://scrollmagic.io/docs/ScrollMagic.Scene.html#triggerHook\n\t\t\ttimeScale: {\n\t\t\t\tonScrollReveal: 1, // on-scroll animations global speed\n\t\t\t\toverlayMenuOpen: 1, // fullscreen menu open speed\n\t\t\t\toverlayMenuClose: 1, // fullscreen menu close speed\n\t\t\t}\n\t\t},\n\t\tcursorFollower: {\n\t\t\tenabled: true,\n\t\t\tlabels: {\n\t\t\t\tslider: 'Drag'\n\t\t\t}\n\t\t},\n\t\tsmoothScroll: { // more info https://github.com/idiotWu/smooth-scrollbar/tree/develop/docs\n\t\t\tenabled: true,\n\t\t\tdamping: 0.12,\n\t\t\trenderByPixels: true,\n\t\t\tcontinuousScrolling: false,\n\t\t\tplugins: {\n\t\t\t\tedgeEasing: true\n\t\t\t}\n\t\t},\n\t\tcontactForm7: {\n\t\t\tcustomModals: true\n\t\t}\n\t}\n}\n\n/**\n * ScrollMagic Setup\n */\nwindow.SMController = new ScrollMagic.Controller();\nwindow.SMController.enabled(false); // don't start animations yet\nwindow.SMSceneTriggerHook = window.theme.animations.triggerHook;\nwindow.SMSceneReverse = false;\n\n/**\n * Don't save scroll position\n * after AJAX transition\n */\nif ('scrollRestoration' in history) {\n\thistory.scrollRestoration = 'manual';\n}\n\n/**\n * Page Load Strategy\n */\nwindow.$window.on('load', function () {\n\n\tnew Animations();\n\n\t// load fonts first\n\tfontObserver()\n\t\t// prepare all the texts\n\t\t.then(() => SetText.splitText({\n\t\t\ttarget: window.$document.find('.js-split-text')\n\t\t}))\n\t\t.then(() => SetText.setLines({\n\t\t\ttarget: window.$document.find('.split-text[data-split-text-set=\"lines\"]')\n\t\t}))\n\t\t.then(() => SetText.setWords({\n\t\t\ttarget: window.$document.find('.split-text[data-split-text-set=\"words\"]')\n\t\t}))\n\t\t.then(() => SetText.setChars({\n\t\t\ttarget: window.$document.find('.split-text[data-split-text-set=\"chars\"]')\n\t\t}))\n\t\t// init template components\n\t\t.then(() => {\n\t\t\tnew LazyLoad({\n\t\t\t\tscope: window.$document,\n\t\t\t\tsetPaddingBottom: true,\n\t\t\t\trun: true\n\t\t\t});\n\t\t\tinitComponents(window.$document);\n\t\t})\n\t\t.then(() => window.PagePreloader.finish())\n\t\t.then(() => {\n\t\t\t// init cursor only on non-touch browsers\n\t\t\tif (window.theme.cursorFollower.enabled && !window.Modernizr.touchevents) {\n\t\t\t\tnew Cursor({\n\t\t\t\t\tscope: window.$document,\n\t\t\t\t\ttarget: $('#js-cursor'),\n\t\t\t\t\tcursorElements: '[data-arts-cursor]',\n\t\t\t\t\thighlightElements: 'a:not(a[data-arts-cursor]):not(.social__item a):not(.section-video__link):not(.no-highlight), button:not(button[data-arts-cursor]), .filter__item, .section-nav-projects__header', // links to highlight\n\t\t\t\t\thighlightScale: 1.5, // default highlight scaling\n\t\t\t\t\tmagneticElements: '[data-arts-cursor-magnetic]', // magnetic elements \n\t\t\t\t\tmagneticScaleCursorBy: 1.3, // default magnetic scaling\n\t\t\t\t\tanimDuration: 0.25,\n\t\t\t\t});\n\t\t\t}\n\t\t\t// begin animations \n\t\t\twindow.SMController.enabled(true);\n\t\t\twindow.SMController.update(true);\n\t\t});\n\n\t// init AJAX navigation\n\tif (window.theme.ajax.enabled) {\n\t\tnew PJAX({\n\t\t\ttarget: window.$barbaWrapper,\n\t\t\tscope: window.$document\n\t\t});\n\t}\n\n});\n\n/**\n * Init Template Components\n * You can init your custom scripts here\n * in that function\n */\nfunction initComponents({\n\tscope = window.$document,\n\tcontainer = window.$pageWrapper\n}) {\n\n\t// init page header one time only\n\tif (typeof window.theme.header === 'undefined') {\n\t\twindow.theme.header = new Header();\n\t}\n\n\tnew MobileBarHeight();\n\tnew SmoothScroll({\n\t\ttarget: container.filter('.js-smooth-scroll'),\n\t\tadminBar: $('#wpadminbar'),\n\t\tabsoluteElements: $('[data-arts-scroll-absolute]'), // correct handling of absolute elements OUTSIDE scrolling container\n\t\tfixedElements: $('[data-arts-scroll-fixed]') // correct handling of fixed elements INSIDE scrolling container\n\t});\n\tnew ScrollDown({\n\t\ttarget: scope.find('[data-arts-scroll-down]'),\n\t\tscope,\n\t\tduration: 0.8\n\t})\n\tnew ArtsParallax({\n\t\ttarget: scope.find('[data-arts-parallax]'),\n\t\tfactor: 0.3,\n\t\tScrollMagicController: window.SMController,\n\t\tSmoothScrollBarController: window.SB\n\t});\n\tnew AsideCounters({\n\t\ttarget: scope.find('.aside-counters'),\n\t\tscope\n\t});\n\tnew Arrow({\n\t\ttarget: scope.find('.js-arrow')\n\t});\n\tnew SectionMasthead({\n\t\ttarget: scope.find('.section-masthead'),\n\t\tscope\n\t});\n\tnew SectionContent({\n\t\ttarget: scope.find('.section-content'),\n\t\tscope\n\t});\n\tnew SectionProjectsSlider({\n\t\ttarget: scope.find('.section-projects-slider'),\n\t\tscope\n\t});\n\tnew SectionList({\n\t\ttarget: scope.find('.section-list'),\n\t\tscope\n\t});\n\tnew ChangeTextHover({\n\t\ttarget: scope.find('.js-change-text-hover:not(.js-change-text-hover .js-change-text-hover)'), // exclude nested elements\n\t\tscope,\n\t\tpageIndicator: scope.find('.js-page-indicator'), // fixed page indicator\n\t\ttriggers: scope.find('.js-page-indicator-trigger'), // elements that triggers the change of page indicator\n\t});\n\tnew PageIndicator(scope);\n\tnew PSWPGallery({\n\t\ttarget: scope.find('.js-gallery'),\n\t\tscope,\n\t\toptions: { // Pass your custom PhotoSwipe options here https://photoswipe.com/documentation/options.html\n\t\t\thistory: window.theme.ajax.enabled ? false : true, // galleries URLs navigation is NOT compatible with AJAX\n\t\t\tshowAnimationDuration: 300,\n\t\t}\n\t});\n\tnew PSWPAlbum({\n\t\ttarget: scope.find('.js-album'),\n\t\tscope,\n\t\toptions: { // Pass your custom PhotoSwipe options here https://photoswipe.com/documentation/options.html\n\t\t\thistory: window.theme.ajax.enabled ? false : true, // galleries URLs navigation is NOT compatible with AJAX\n\t\t\tshowAnimationDuration: 300,\n\t\t}\n\t});\n\tnew GMap({\n\t\ttarget: scope.find('.js-gmap'),\n\t\tscope\n\t});\n\tnew Form({\n\t\ttarget: scope,\n\t\tscope\n\t});\n\tnew FormAJAX({\n\t\ttarget: scope.find('.js-ajax-form'),\n\t\tscope\n\t});\n\tnew SectionSliderImages({\n\t\ttarget: scope.find('.section-slider-images'),\n\t\tscope\n\t});\n\tnew SectionTestimonials({\n\t\ttarget: scope.find('.section-testimonials'),\n\t\tscope\n\t});\n\tnew SectionGrid({\n\t\ttarget: scope.find('.section-grid'),\n\t\tscope\n\t});\n\n\tnew SectionNavProjects({\n\t\ttarget: scope.find('.section-nav-projects'),\n\t\tscope\n\t});\n\n\tnew CircleButton({\n\t\ttarget: scope.find('.js-circle-button:not(.js-circle-button_curved)'),\n\t\tscope\n\t});\n\n\t//\n\t// your custom plugins init here\n\t//\n\n}\n","class Animations {\n constructor() {\n this._revealCurtain();\n this._moveCurtain();\n this._setCurtain();\n this._animateChars();\n this._animateLines();\n this._animateWords();\n this._hideChars();\n this._hideLines();\n this._hideWords();\n this._animateHeadline();\n }\n\n _setCurtain() {\n gsap.registerEffect({\n name: 'setCurtain',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n if (!$target.length) {\n return tl;\n }\n\n const\n $svg = $target.find('.curtain-svg'),\n $normal = $target.find('.curtain-svg__normal'),\n $curve = $target.find('.curtain-svg__curve'),\n $rect = $target.find('.curtain__rect');\n\n tl\n .set($target, {\n display: 'none',\n autoAlpha: 1,\n y: config.y\n })\n .set($svg, {\n fill: config.background,\n });\n\n return tl;\n\n },\n extendTimeline: true,\n defaults: {\n y: '100%'\n }\n });\n }\n\n _moveCurtain() {\n gsap.registerEffect({\n name: 'moveCurtain',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n if (!$target.length) {\n return tl;\n }\n\n const\n $svg = $target.find('.curtain-svg'),\n $normal = $svg.find('.curtain-svg__normal');\n\n let $curveTop, $curveBottom;\n\n if (window.innerWidth / window.innerHeight >= 1) {\n $curveTop = $target.find('.curtain-svg__curve_top-desktop');\n $curveBottom = $svg.find('.curtain-svg__curve_bottom-desktop');\n } else {\n $curveTop = $svg.find('.curtain-svg__curve_top-mobile');\n $curveBottom = $svg.find('.curtain-svg__curve_bottom-mobile');\n }\n\n tl\n .set($target, {\n display: 'block',\n autoAlpha: 1\n })\n .set([$curveTop, $curveBottom], {\n visibility: 'hidden',\n })\n .to($target, {\n y: config.y,\n duration: 1.8,\n ease: 'expo.inOut'\n });\n\n if (config.curve === 'top') {\n tl\n .set($normal, {\n visibility: 'visible'\n }, '0')\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $curveTop[0]\n }, '-=1.8')\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $normal[0],\n overwrite: 'all'\n }, '-=0.9');\n } else {\n tl\n .set($normal, {\n visibility: 'visible',\n }, '0')\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $curveBottom[0],\n overwrite: 'all',\n }, '-=1.8')\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $normal[0],\n });\n }\n\n tl.totalDuration(config.duration);\n\n return tl;\n\n },\n extendTimeline: true,\n defaults: {\n duration: 2.4,\n curve: 'top',\n y: '0%'\n }\n });\n }\n\n _revealCurtain() {\n gsap.registerEffect({\n name: 'revealCurtain',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n if (!$target.length) {\n return tl;\n }\n\n const\n $normal = $target.find('.curtain-svg__normal'),\n $curve = $target.find('.curtain-svg__curve');\n\n tl\n .set($target, {\n y: '100%',\n autoAlpha: 1\n })\n .set($normal, {\n visibility: 'visible'\n })\n .set($curve, {\n visibility: 'hidden',\n })\n .to($target, {\n y: '0%',\n duration: 1.8,\n ease: 'expo.inOut'\n })\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $curve[0]\n }, '-=1.8')\n .to($normal, {\n duration: 0.9,\n ease: 'power2.out',\n morphSVG: $normal[0],\n overwrite: 'all'\n }, '-=0.9');\n\n tl.totalDuration(config.duration)\n\n return tl;\n\n },\n extendTimeline: true,\n defaults: {\n duration: 2.4\n }\n });\n }\n\n _animateChars() {\n gsap.registerEffect({\n name: 'animateChars',\n effect: (target, config) => {\n const\n $target = $(target),\n $chars = $target.find('.split-text__char');\n\n let textAlign;\n\n if (!$chars.length) {\n return;\n }\n\n textAlign = $target.css('text-align');\n\n if (!config.stagger.from) {\n\n switch (textAlign) {\n case 'left':\n config.stagger.from = 'start';\n break;\n case 'center':\n config.stagger.from = 'center';\n break;\n case 'right':\n config.stagger.from = 'end';\n break;\n }\n\n }\n\n return gsap.to($chars, config);\n },\n defaults: {\n xPercent: 0,\n yPercent: 0,\n x: '0%',\n y: '0%',\n autoAlpha: 1,\n duration: 1,\n ease: 'power3.inOut',\n stagger: distributeByPosition({\n from: 'start',\n amount: 0.3\n })\n },\n extendTimeline: true,\n });\n }\n\n _animateLines() {\n gsap.registerEffect({\n name: 'animateLines',\n effect: (target, config) => {\n const $target = $(target);\n let $lines = $target.find('.split-text__line');\n\n if (!$lines.length) {\n return;\n }\n\n if (config.excludeEl) {\n $lines = $lines.not(config.excludeEl);\n delete config.excludeEl;\n }\n\n return gsap.to($lines, config);\n },\n defaults: {\n xPercent: 0,\n yPercent: 0,\n x: '0%',\n y: '0%',\n autoAlpha: 1,\n duration: 1.2,\n ease: 'power3.out',\n stagger: {\n amount: 0.08\n }\n },\n extendTimeline: true,\n });\n }\n\n _animateWords() {\n gsap.registerEffect({\n name: 'animateWords',\n effect: (target, config) => {\n const\n $target = $(target),\n $words = $target.find('.split-text__word');\n\n if (!$words.length) {\n return;\n }\n\n return gsap.to($words, config);\n },\n defaults: {\n duration: 1.2,\n y: '0%',\n ease: 'power3.out',\n stagger: {\n amount: 0.2\n }\n },\n extendTimeline: true,\n });\n }\n\n _hideChars() {\n gsap.registerEffect({\n name: 'hideChars',\n effect: (target, config) => {\n const\n $target = $(target),\n $chars = $target.find('.split-text__char'),\n textAlign = $target.css('text-align');\n\n if (!$chars.length) {\n return;\n }\n\n if (!config.stagger.from) {\n\n switch (textAlign) {\n case 'left':\n config.stagger.from = 'start';\n break;\n case 'center':\n config.stagger.from = 'center';\n break;\n case 'right':\n config.stagger.from = 'end';\n break;\n }\n\n }\n\n if (config.duration === 0) {\n config.stagger = 0;\n }\n\n return gsap.to($chars, config);\n },\n defaults: {\n duration: 1.2,\n x: '0%',\n y: '100%',\n autoAlpha: 0,\n ease: 'power3.inOut',\n stagger: distributeByPosition({\n from: 'center',\n amount: 0.3\n })\n },\n extendTimeline: true,\n });\n }\n\n _hideLines() {\n gsap.registerEffect({\n name: 'hideLines',\n effect: (target, config) => {\n const\n $target = $(target),\n $lines = $target.find('.split-text__line');\n\n if (!$lines.length) {\n return;\n }\n\n if (config.duration === 0) {\n config.stagger = 0;\n }\n\n return gsap.to($lines, config);\n },\n defaults: {\n y: '-100%',\n autoAlpha: 1,\n duration: 1.2,\n ease: 'power3.out',\n stagger: {\n amount: 0.02\n }\n },\n extendTimeline: true,\n });\n }\n\n _hideWords() {\n gsap.registerEffect({\n name: 'hideWords',\n effect: (target, config) => {\n const\n $target = $(target),\n $words = $target.find('.split-text__word');\n\n if (!$words.length) {\n return;\n }\n\n return gsap.to($words, config);\n },\n defaults: {\n y: '-100%',\n autoAlpha: 0,\n duration: 1.2,\n ease: 'power3.out',\n stagger: {\n amount: 0.02\n }\n },\n extendTimeline: true,\n });\n }\n\n _animateHeadline() {\n gsap.registerEffect({\n name: 'animateHeadline',\n effect: (target, config) => {\n const\n $target = $(target);\n\n let textAlign;\n textAlign = $target.css('text-align');\n\n if (!config.transformOrigin) {\n\n switch (textAlign) {\n case 'left':\n config.transformOrigin = 'left center';\n break;\n case 'center':\n config.transformOrigin = 'center center';\n break;\n case 'right':\n config.transformOrigin = 'right center';\n break;\n }\n\n }\n\n return gsap.to($target, config);\n },\n defaults: {\n scaleX: 1,\n scaleY: 1,\n duration: 1.2,\n ease: 'power3.inOut',\n },\n extendTimeline: true,\n });\n }\n}\n","class BaseComponent {\n\n constructor({\n target,\n scope = window.$document\n }) {\n const self = this;\n\n this.$scope = scope;\n this.$target = this.$scope.find(target);\n this.$el;\n\n if (this.$target && this.$target.length) {\n this.$target.each(function () {\n self.$el = $(this);\n self.set(self.$el);\n self.run(self.$el);\n });\n }\n }\n\n set($el) {\n\n }\n\n run($el) {\n\n }\n\n}\n","class BaseGLAnimation {\n\n\tconstructor({\n\t\ttarget,\n\t\tcanvas,\n\t\taspect\n\t}) {\n\t\tthis.target = target;\n\t\tthis.canvas = canvas;\n\n\t\tif (!BaseGLAnimation.isThreeLoaded() || !this.canvas) {\n\t\t\treturn false;\n\t\t}\n\t\tthis.coverMode = aspect ? true : false;\n\t\tthis.aspect = aspect || window.innerWidth / window.innerHeight;\n\t\tthis.scene = this._getScene();\n\t\tthis.viewport = this.coverMode ? this._getViewportCover() : this._getViewport();\n\t\tthis.camera = this._getCamera();\n\t\tthis.viewSize = this._getViewSize();\n\t\tthis.position = this._calculatePosition();\n\n\t\tthis.renderer = this._getRenderer();\n\t\tthis.renderer.setPixelRatio(1); // window.devicePixelRatio\n\t\tthis.renderer.setClearColor(0xffffff, 0.0);\n\t\tthis.renderer.setSize(this.viewport.width, this.viewport.height);\n\t\tthis.renderer.setAnimationLoop(this._render.bind(this));\n\n\t\tthis.loader = this._getTextureLoader();\n\n\t\tthis.camera.position.z = 1;\n\t\tthis.camera.updateProjectionMatrix();\n\t\tthis._updateScene();\n\n\t\tthis._bindEvents();\n\t}\n\n\t_bindEvents() {\n\t\twindow.$window.on('resize', debounce(() => {\n\t\t\tthis._updateScene();\n\t\t}, 250));\n\n\t\twindow.$window.on('arts/barba/transition/start', () => {\n\t\t\tthis.destroy();\n\t\t});\n\t}\n\n\t_render() {\n\t\tthis.renderer.render(this.scene, this.camera);\n\t}\n\n\t_getRenderer() {\n\t\treturn new THREE.WebGLRenderer({\n\t\t\tcanvas: this.canvas,\n\t\t\tpowerPreference: 'high-performance',\n\t\t\talpha: true\n\t\t});\n\t}\n\n\t_getScene() {\n\t\treturn new THREE.Scene();\n\t}\n\n\t_getCamera() {\n\t\treturn new THREE.PerspectiveCamera(\n\t\t\t53.1,\n\t\t\tthis.viewport.aspectRatio,\n\t\t\t0.1,\n\t\t\t1000\n\t\t);\n\t}\n\n\t_getTextureLoader() {\n\t\treturn new THREE.TextureLoader();\n\t}\n\n\t_getPlane({\n\t\tgeometry,\n\t\tmaterial\n\t}) {\n\t\treturn new THREE.Mesh(geometry, material);\n\t}\n\n\t_updateScene() {\n\t\tthis.viewport = this.coverMode ? this._getViewportCover() : this._getViewport();\n\t\tthis.viewSize = this._getViewSize();\n\t\tthis.camera.aspect = this.viewport.aspectRatio;\n\t\tthis.camera.updateProjectionMatrix();\n\t\tthis.renderer.setSize(this.viewport.width, this.viewport.height);\n\t}\n\n\t_getViewport() {\n\n\t\tconst width = window.innerWidth;\n\t\tconst height = window.innerHeight;\n\t\tconst aspectRatio = width / height;\n\n\t\treturn {\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio\n\t\t}\n\t}\n\n\t_getViewportCover() {\n\t\tlet\n\t\t\theight = parseFloat(window.innerHeight),\n\t\t\twidth = parseFloat(height * this.aspect),\n\t\t\taspectRatio = this.aspect,\n\t\t\tmultiplier = 1\n\n\t\tif (this.aspect > 1) {\n\t\t\tmultiplier = window.innerWidth > width ? window.innerWidth / width : 1;\n\t\t} else {\n\t\t\tmultiplier = this.canvas.clientWidth / width;\n\t\t}\n\n\t\tif (multiplier < 1) {\n\t\t\tmultiplier = 1;\n\t\t}\n\n\t\twidth = width * multiplier;\n\t\theight = height * multiplier;\n\n\t\treturn {\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio\n\t\t};\n\t}\n\n\t_getViewSize() {\n\t\t// fit plane to screen\n\t\t// https://gist.github.com/ayamflow/96a1f554c3f88eef2f9d0024fc42940f\n\n\t\tconst distance = this.camera.position.z;\n\t\tconst vFov = (this.camera.fov * Math.PI) / 180;\n\t\tconst height = 2 * Math.tan(vFov / 2) * distance;\n\t\tconst width = height * this.viewport.aspectRatio;\n\n\t\treturn {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tvFov\n\t\t};\n\t}\n\n\t_calculatePosition() {\n\t\tlet\n\t\t\theight = parseFloat(window.innerHeight),\n\t\t\twidth = parseFloat(height * this.viewport.aspectRatio),\n\t\t\tmultiplier = 1;\n\n\t\tif (this.viewport.aspectRatio > 1) {\n\t\t\tmultiplier = window.innerWidth > width ? window.innerWidth / width : 1;\n\t\t} else {\n\t\t\tmultiplier = this.canvas.clientWidth / width;\n\t\t}\n\n\t\tif (multiplier < 1) {\n\t\t\tmultiplier = 1;\n\t\t}\n\n\t\twidth = width * multiplier;\n\t\theight = height * multiplier;\n\n\t\treturn {\n\t\t\twidth,\n\t\t\theight\n\t\t};\n\t}\n\n\t_loadTextures() {\n\t\tconst self = this,\n\t\t\tpromises = [];\n\n\t\tthis.items.each(function (index) {\n\t\t\tconst url = $(this).find('[data-texture-src]').attr('data-texture-src');\n\n\t\t\tpromises.push(\n\t\t\t\tself._loadTexture({\n\t\t\t\t\tloader: self.loader,\n\t\t\t\t\turl,\n\t\t\t\t\tindex\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\t// resolve textures promises\n\t\t\tPromise.all(promises).then(promises => {\n\t\t\t\t// all textures are loaded\n\t\t\t\tpromises.forEach((promise, index) => {\n\t\t\t\t\tconst $img = $(this.items[index]).find('[data-texture-src]');\n\t\t\t\t\t// assign texture to item\n\t\t\t\t\tthis.items[index].texture = promise.texture;\n\t\t\t\t\tthis.items[index].texture.magFilter = THREE.LinearFilter;\n\t\t\t\t\tthis.items[index].texture.minFilter = THREE.LinearFilter;\n\t\t\t\t\tthis.items[index].texture.anisotropy = this.renderer.capabilities.getMaxAnisotropy();\n\n\t\t\t\t\tif ($img.is('img')) {\n\t\t\t\t\t\t// load texture back to src (needed for AJAX transition)\n\t\t\t\t\t\t$img.attr('src', $img.attr('data-texture-src'));\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\t_loadTexture({\n\t\tloader,\n\t\turl,\n\t\tindex\n\t}) {\n\t\t// https://threejs.org/docs/#api/en/loaders/TextureLoader\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!url) {\n\t\t\t\tresolve({\n\t\t\t\t\ttexture: null,\n\t\t\t\t\tindex\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// load a resource\n\t\t\tloader.load(\n\t\t\t\t// resource URL\n\t\t\t\turl,\n\n\t\t\t\t// onLoad callback\n\t\t\t\ttexture => {\n\t\t\t\t\tresolve({\n\t\t\t\t\t\ttexture,\n\t\t\t\t\t\tindex\n\t\t\t\t\t});\n\t\t\t\t},\n\n\t\t\t\t// onProgress callback currently not supported\n\t\t\t\tundefined,\n\n\t\t\t\t// onError callback\n\t\t\t\terror => {\n\t\t\t\t\tconsole.error('An error happened during loading a texture to the canvas.', error);\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t)\n\t\t})\n\t}\n\n\t_getVertexShader(id) {\n\t\treturn document.getElementById(id).textContent || false;\n\t}\n\n\t_getFragmentShader(id) {\n\t\treturn document.getElementById(id).textContent || false;\n\t}\n\n\tstatic isThreeLoaded() {\n\t\treturn (typeof window.THREE === 'object');\n\t}\n\n\tdestroy() {\n\t\tthis.renderer.setAnimationLoop(null);\n\t\tthis.camera = undefined;\n\t\tthis.scene = undefined;\n\t\tthis.loader = undefined;\n\t\tthis.material = undefined;\n\t\t// this.renderer = undefined;\n\t\twindow.$window.off('resize');\n\t}\n}\n","class Pswp extends BaseComponent {\n\tconstructor({\n\t\tscope,\n\t\ttarget,\n\t\toptions\n\t}) {\n\t\tsuper({\n\t\t\tscope,\n\t\t\ttarget\n\t\t});\n\t\tthis.options = options || {\n\t\t\thistory: false,\n\t\t\tshowAnimationDuration: 300,\n\t\t};\n\t\tthis._setGalleriesID();\n\t\tthis.$pswpEl = $('.pswp');\n\t\tthis.$container = this.$pswpEl.find('.pswp__container');\n\t\tthis.pswpEl = this.$pswpEl.get(0);\n\t}\n\n\t_bindEvents() {\n\t\tconst eventTouchUp = new CustomEvent('arts/pswp/touchUp', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdirection: 'all'\n\t\t\t\t}\n\t\t\t}),\n\t\t\teventTouchDown = new CustomEvent('arts/pswp/touchDown', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdirection: 'all'\n\t\t\t\t}\n\t\t\t}),\n\t\t\teventClose = new CustomEvent('arts/pswp/close'),\n\t\t\teventSlideChange = new CustomEvent('arts/pswp/slideChange');\n\n\t\tthis.$pswpEl\n\t\t\t.off('click')\n\t\t\t.on('click', '.pswp__button--arrow--left', (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.gallery.prev();\n\t\t\t}).on('click', '.pswp__button--arrow--right', (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.gallery.next();\n\t\t\t});\n\n\t\twindow.$window.on('arts/barba/transition/start', () => {\n\t\t\tif (typeof this.gallery === 'object' && this.gallery.destroy === 'function') {\n\t\t\t\tthis.gallery.destroy();\n\t\t\t}\n\t\t});\n\n\t\t// Dispatch cursor events\n\t\tthis.gallery.listen('preventDragEvent', (e, isDown, preventObj) => {\n\t\t\tpreventObj.prevent = false;\n\t\t\tif ($(e.target).is('.pswp--zoomed-in .pswp__img')) {\n\t\t\t\tif (isDown) {\n\t\t\t\t\tdocument.dispatchEvent(eventTouchDown);\n\t\t\t\t} else {\n\t\t\t\t\tdocument.dispatchEvent(eventTouchUp);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.gallery.listen('close', () => {\n\t\t\tdocument.dispatchEvent(eventClose);\n\t\t\tthis.$pswpEl.find('iframe, video').remove();\n\t\t});\n\n\t\tthis.gallery.listen('beforeChange', (e) => {\n\t\t\tdocument.dispatchEvent(eventSlideChange);\n\t\t\tthis._stopVideo();\n\t\t});\n\t}\n\n\t_openPhotoSwipe({\n\t\tindex = 0,\n\t\tgalleryElement = null,\n\t\tdisableAnimation = false,\n\t\tfromURL = false\n\t}) {\n\t\tconst\n\t\t\titems = this._getItems(galleryElement),\n\t\t\toptions = {\n\t\t\t\tgalleryUID: galleryElement.attr('data-pswp-uid')\n\t\t\t};\n\n\t\tif (typeof items[index] !== 'undefined' && 'el' in items[index]) {\n\t\t\toptions.getThumbBoundsFn = function (index) {\n\t\t\t\tlet\n\t\t\t\t\tpageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n\t\t\t\t\timg = items[index].el.querySelector('img'),\n\t\t\t\t\trect;\n\n\t\t\t\tif (img) {\n\t\t\t\t\trect = img.getBoundingClientRect();\n\t\t\t\t\treturn {\n\t\t\t\t\t\tx: rect.left,\n\t\t\t\t\t\ty: rect.top + pageYScroll,\n\t\t\t\t\t\tw: rect.width\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// PhotoSwipe opened from URL\n\t\tif (fromURL) {\n\t\t\tif (options.galleryPIDs) {\n\t\t\t\t// parse real index when custom PIDs are used \n\t\t\t\t// http://photoswipe.com/documentation/faq.html#custom-pid-in-url\n\t\t\t\tfor (let j = 0; j < items.length; j++) {\n\t\t\t\t\tif (items[j].pid == index) {\n\t\t\t\t\t\toptions.index = j;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// in URL indexes start from 1\n\t\t\t\toptions.index = parseInt(index, 10) - 1;\n\t\t\t}\n\t\t} else {\n\t\t\toptions.index = parseInt(index, 10);\n\t\t}\n\n\t\t// exit if index not found\n\t\tif (isNaN(options.index)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (disableAnimation) {\n\t\t\toptions.showAnimationDuration = 0;\n\t\t}\n\n\t\t// Pass data to PhotoSwipe and initialize it\n\t\tthis.gallery = new PhotoSwipe(this.pswpEl, PhotoSwipeUI_Default, items, $.extend(options, this.options));\n\t\tthis.gallery.init();\n\n\t\tthis._bindEvents();\n\t}\n\n\t_getMediaTypeFromURL(url, size, autoplay = false) {\n\t\tconst\n\t\t\tresult = {\n\t\t\t\ttype: false,\n\t\t\t\thtml: null\n\t\t\t},\n\t\t\tiframeSize = size ? size.split('x') : [640, 360],\n\t\t\tattr = {\n\t\t\t\tvideo: autoplay ? 'muted playsinline loop autoplay' : '',\n\t\t\t},\n\t\t\tparam = {\n\t\t\t\tyoutube: autoplay ? 'autoplay=1' : '',\n\t\t\t\tvimeo: autoplay ? 'autoplay=1' : ''\n\t\t\t},\n\t\t\tpattern = {\n\t\t\t\timage: /([-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]{2,256}(\\/[-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]*)?\\.(?:jpg|jpeg|jfif|pjpeg|pjp|bmp|gif|png|apng|webp|svg))/gi,\n\t\t\t\tvideo: /([-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]{2,256}(\\/[-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]*)?\\.(?:mp4|ogv|webm))/gi,\n\t\t\t\tyoutube: /(?:http?s?:\\/\\/)?(?:www\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/)([^&|?|\\/]*)/g,\n\t\t\t\tvimeo: /(?:http?s?:\\/\\/)?(?:www\\.)?(?:vimeo\\.com)\\/(?:.*\\/)?(.+)/g,\n\t\t\t};\n\n\t\t/**\n\t\t * Image\n\t\t */\n\t\tif (pattern.image.test(url)) {\n\t\t\tresult.type = 'image';\n\t\t\treturn result;\n\t\t}\n\n\t\t/**\n\t\t * HTML5 video\n\t\t */\n\t\tif (pattern.video.test(url)) {\n\t\t\tresult.type = 'video';\n\t\t\tresult.html = ``;\n\t\t\treturn result;\n\t\t}\n\n\t\t/**\n\t\t * YouTube link\n\t\t */\n\t\tif (pattern.youtube.test(url)) {\n\t\t\tresult.type = 'youtube';\n\t\t\tresult.html = url.replace(pattern.youtube, ``);\n\t\t\treturn result;\n\t\t}\n\n\t\t/**\n\t\t * Vimeo link\n\t\t */\n\t\tif (pattern.vimeo.test(url)) {\n\t\t\tresult.type = 'vimeo';\n\t\t\tresult.html = url.replace(pattern.vimeo, ``);\n\t\t\treturn result;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t_getItems($galleryElement) {\n\t\tconst\n\t\t\tself = this,\n\t\t\t$items = $galleryElement.find('a'),\n\t\t\titems = [];\n\n\t\t$items.each(function () {\n\t\t\tconst $el = $(this),\n\t\t\t\titem = {},\n\t\t\t\tsize = $el.attr('data-size'),\n\t\t\t\tautoplay = $el.attr('data-autoplay'),\n\t\t\t\tsrc = $el.attr('href'),\n\t\t\t\tmedia = self._getMediaTypeFromURL(src, size, autoplay),\n\t\t\t\ttitle = $el.attr('data-title');\n\n\t\t\tif (size) {\n\t\t\t\tconst sizeSplit = size.split('x');\n\t\t\t\titem.w = parseInt(sizeSplit[0], 10);\n\t\t\t\titem.h = parseInt(sizeSplit[1], 10);\n\t\t\t}\n\n\t\t\tif (title) {\n\t\t\t\titem.title = title;\n\t\t\t}\n\n\t\t\tswitch (media.type) {\n\t\t\t\tcase 'youtube':\n\t\t\t\t\titem.html = `
`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'vimeo':\n\t\t\t\t\titem.html = ` `;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'video':\n\t\t\t\t\titem.html = ` `;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'image':\n\t\t\t\t\titem.el = $el.get(0);\n\t\t\t\t\titem.src = src;\n\t\t\t\t\titem.msrc = $el.find('img').attr('src');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}\n\t\t\titems.push(item);\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t_photoswipeParseHash() {\n\t\tconst\n\t\t\thash = window.location.hash.substring(1),\n\t\t\tparams = {};\n\n\t\tif (hash.length < 5) {\n\t\t\treturn params;\n\t\t}\n\n\t\tconst vars = hash.split('&');\n\t\tfor (let i = 0; i < vars.length; i++) {\n\t\t\tif (!vars[i]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet pair = vars[i].split('=');\n\t\t\tif (pair.length < 2) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparams[pair[0]] = pair[1];\n\t\t}\n\n\t\tif (params.gid) {\n\t\t\tparams.gid = parseInt(params.gid, 10);\n\t\t}\n\n\t\treturn params;\n\t}\n\n\t_setGalleriesID() {\n\t\tthis.$target.each(function (index) {\n\t\t\t$(this).attr('data-pswp-uid', index + 1);\n\t\t});\n\t}\n\n\t_stopVideo() {\n\t\tconst\n\t\t\t$iframeYoutube = this.$pswpEl.find('.iframe-youtube'),\n\t\t\t$iframeVimeo = this.$pswpEl.find('.iframe-vimeo'),\n\t\t\t$video = this.$pswpEl.find('video');\n\n\t\tif ($iframeYoutube.length) {\n\t\t\t$iframeYoutube.each(function () {\n\t\t\t\t$(this).get(0).contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', '*');\n\t\t\t});\n\t\t}\n\n\t\tif ($iframeVimeo.length) {\n\t\t\t$iframeVimeo.each(function () {\n\t\t\t\t$(this).get(0).contentWindow.postMessage('{\"method\":\"pause\"}', '*');\n\t\t\t});\n\t\t}\n\n\t\tif ($video.length) {\n\t\t\t$video.each(function () {\n\t\t\t\t$(this).get(0).pause();\n\t\t\t});\n\t\t}\n\t}\n}\n","class Scroll {\n static getEasingScroll(pos) {\n if (pos === 0) return 0;\n if (pos === 1) return 1;\n if ((pos /= 0.5) < 1) return 0.5 * Math.pow(2, 10 * (pos - 1));\n return 0.5 * (-Math.pow(2, -10 * --pos) + 2);\n }\n\n static scrollTo({\n x = 0,\n y = 0,\n duration = 0\n }) {\n if (typeof window.SB !== 'undefined') {\n window.SB.scrollTo(x, y, duration, {\n easing: (pos) => Scroll.getEasingScroll(pos)\n });\n } else {\n $('html, body').animate({\n scrollLeft: x,\n scrollTop: y\n }, duration);\n }\n }\n\n static scrollToTop() {\n\n // safari fix\n try {\n window.top.scrollTo(0, 0);\n } catch (error) {}\n\n if (typeof window.SB !== 'undefined') {\n window.SB.scrollTop = 0;\n } else {\n window.scrollTo(0, 0);\n }\n\n // window.pageYOffset = 0;\n }\n\n static getScrollTop() {\n if (typeof window.SB !== 'undefined') {\n window.lastTop = window.SB.scrollTop;\n } else {\n window.lastTop = Math.max(document.body.scrollTop, document.documentElement.scrollTop);\n }\n\n return window.lastTop;\n }\n\n static restoreScrollTop() {\n if (typeof window.SB !== 'undefined') {\n setTimeout(() => {\n window.SB.scrollTop = window.lastTop;\n }, 100);\n } else {\n $('html, body').animate({\n scrollTop: window.lastTop\n });\n }\n }\n\n static lock(lock = true) {\n const lockClass = 'body_lock-scroll';\n\n if (lock === true) {\n if (typeof window.SB !== 'undefined') {\n window.SB.updatePluginOptions('lockscroll', {\n lock: true\n });\n }\n\n window.$body.addClass(lockClass);\n }\n\n if (lock === false) {\n window.$body.removeClass(lockClass);\n\n if (typeof window.SB !== 'undefined') {\n window.SB.updatePluginOptions('lockscroll', {\n lock: false\n });\n }\n }\n }\n}\n","class ScrollAnimation extends BaseComponent {\n\n constructor({\n target,\n scope\n }) {\n super({\n target,\n scope\n });\n\n }\n\n _hasAnimationScene($el) {\n return $el.attr('data-arts-os-animation');\n }\n\n _createScene({\n element,\n timeline,\n customTrigger = false,\n reveal = true,\n delay = 0,\n reverse = false,\n duration = 0,\n triggerHook\n }) {\n\n const masterTL = new gsap.timeline({\n delay: delay\n });\n\n let\n $trigger = element,\n scale = 1;\n\n if (customTrigger && customTrigger.length) {\n $trigger = customTrigger;\n }\n\n if (reveal === true) {\n // reveal hidden element first\n element.attr('data-arts-os-animation', 'animated');\n }\n\n masterTL.add(timeline, '0');\n\n if (window.theme !== 'undefined') {\n scale = window.theme.animations.timeScale.onScrollReveal || scale;\n masterTL.timeScale(scale);\n }\n\n return new $.ScrollMagic.Scene({\n triggerElement: $trigger,\n triggerHook: triggerHook || window.SMSceneTriggerHook,\n reverse: reverse || window.SMSceneReverse,\n duration: duration\n })\n .setTween(masterTL)\n .addTo(window.SMController);\n }\n}\n","class SetText {\n static splitText({\n target\n }) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n target.each(function () {\n const\n $el = $(this),\n type = $el.data('split-text-type'),\n set = $el.data('split-text-set');\n\n let $content = $el;\n\n // split children elements if they are exist\n // instead of the actual element\n if ($el.children(':not(br)').length > 0) {\n $content = $el.find(' > *');\n }\n\n // handle texts with drop cap\n const $contentWithDropcap = $content.filter('.has-drop-cap');\n const firstChar = $contentWithDropcap.text()[0];\n\n // remove first char\n $contentWithDropcap.text($contentWithDropcap.text().substring(1));\n $contentWithDropcap.prepend(`${firstChar}`).addClass('has-drop-cap_split');\n\n new SplitText($content, {\n type: type,\n linesClass: ($contentWithDropcap.length || set === 'words') ? 'split-text__line overflow' : 'split-text__line',\n wordsClass: 'split-text__word',\n charsClass: 'split-text__char',\n reduceWhiteSpace: false,\n });\n\n // double wrapper for \"only lines\" split type\n if (type === 'lines') {\n new SplitText($content, {\n type: type,\n linesClass: 'overflow',\n reduceWhiteSpace: false,\n });\n }\n\n $el.removeClass('js-split-text');\n });\n\n resolve(true);\n\n });\n }\n\n static setLines({\n target,\n y = '100%'\n }) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n gsap.set(target.find('.split-text__line'), {\n y,\n onComplete: resolve(true)\n });\n });\n }\n\n static setWords({\n target,\n y = '100%'\n }) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n gsap.set(target.find('.split-text__word'), {\n y,\n onComplete: resolve(true)\n });\n });\n }\n\n static setChars({\n target,\n x = 0,\n y = 0,\n distribute = true\n }) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n const instance = new SetText();\n\n gsap.set(target, {\n clearProps: 'all'\n });\n\n target.each(function () {\n const\n $el = $(this),\n $lines = $el.find('.split-text__line'),\n textAlign = $el.css('text-align');\n\n if (distribute === true) {\n switch (textAlign) {\n case 'left':\n instance._setFromLeft({\n lines: $lines,\n x,\n y\n });\n break;\n case 'center':\n instance._setFromCenter({\n lines: $lines,\n x,\n y\n });\n break;\n case 'right':\n instance._setFromRight({\n lines: $lines,\n x,\n y\n });\n break;\n }\n } else {\n instance._setFromLeft({\n lines: $lines,\n x,\n y\n });\n }\n });\n\n resolve(true);\n });\n }\n\n _setFromLeft({\n lines,\n x,\n y\n }) {\n if (!lines || !lines.length) {\n return;\n }\n\n gsap.set(lines.find('.split-text__char'), {\n x,\n y,\n autoAlpha: 0\n });\n }\n\n _setFromRight({\n lines,\n x,\n y\n }) {\n if (!lines || !lines.length) {\n return;\n }\n\n gsap.set(lines.find('.split-text__char'), {\n x: -x,\n y: -y,\n autoAlpha: 0\n });\n }\n\n _setFromCenter({\n lines,\n x,\n y\n }) {\n const self = this;\n\n if (!lines || !lines.length) {\n return;\n }\n\n lines.each(function () {\n const\n $currentLine = $(this),\n $wordsInCurrentLine = $currentLine.find('.split-text__word');\n\n /**\n * 1. Only 1 word in the current line\n */\n if ($wordsInCurrentLine.length === 1) {\n self._setCharsSingleWord({\n words: $wordsInCurrentLine,\n x,\n y\n });\n }\n\n /**\n * 2. Even number of words in the current line\n */\n if ($wordsInCurrentLine.length !== 1 && $wordsInCurrentLine.length % 2 === 0) {\n self._setCharsEvenWords({\n words: $wordsInCurrentLine,\n x,\n y\n });\n }\n\n /**\n * 3. Odd number of words in the current line\n */\n if ($wordsInCurrentLine.length !== 1 && $wordsInCurrentLine.length % 2 !== 0) {\n self._setCharsOddWords({\n words: $wordsInCurrentLine,\n x,\n y\n });\n }\n });\n }\n\n _setCharsSingleWord({\n words,\n x,\n y\n }) {\n const\n $charsInWord = words.find('.split-text__char'),\n halfWord = Math.ceil($charsInWord.length / 2),\n $fistHalfWord = $charsInWord.slice(0, halfWord),\n $secondHalfWord = $charsInWord.slice(halfWord, $charsInWord.length);\n\n // first half of word to the left\n gsap.set($fistHalfWord, {\n x: -x,\n y: -y,\n autoAlpha: 0\n });\n\n // second half of word to the right\n gsap.set($secondHalfWord, {\n x,\n y,\n autoAlpha: 0\n });\n }\n\n _setCharsOddWords({\n words,\n x,\n y\n }) {\n const\n halfLine = Math.ceil(words.length / 2),\n $fistHalf = words.slice(0, halfLine),\n $secondHalf = words.slice(halfLine, words.length),\n $middleWord = words.eq(halfLine - 1),\n $charsInMiddleWord = $middleWord.find('.split-text__char'),\n halfLineMiddleWord = Math.ceil($charsInMiddleWord.length / 2),\n $fistHalfMiddleWord = $charsInMiddleWord.slice(0, halfLineMiddleWord),\n $secondHalfMiddleWord = $charsInMiddleWord.slice(halfLineMiddleWord, $charsInMiddleWord.length);\n\n // first half\n $fistHalf.each(function () {\n const $charsInWord = $(this).find('.split-text__char');\n\n gsap.set($charsInWord, {\n x: -x,\n y: -y,\n autoAlpha: 0\n });\n });\n\n // second half\n $secondHalf.each(function () {\n const $charsInWord = $(this).find('.split-text__char');\n\n gsap.set($charsInWord, {\n x,\n y,\n autoAlpha: 0\n });\n });\n\n // middle word: first half\n $fistHalfMiddleWord.each(function () {\n const $charsInWord = $(this);\n\n gsap.set($charsInWord, {\n x: -x,\n y: -y,\n autoAlpha: 0\n });\n });\n\n // middle word: second half\n $secondHalfMiddleWord.each(function () {\n const $charsInWord = $(this);\n\n gsap.set($charsInWord, {\n x,\n y,\n autoAlpha: 0\n });\n });\n }\n\n _setCharsEvenWords({\n words,\n x,\n y\n }) {\n const\n halfLine = Math.ceil(words.length / 2),\n $fistHalf = words.slice(0, halfLine),\n $secondHalf = words.slice(halfLine, words.length);\n\n // first half\n $fistHalf.each(function () {\n const $charsInWord = $(this).find('.split-text__char');\n\n gsap.set($charsInWord, {\n x: -x,\n y: y,\n autoAlpha: 0\n });\n });\n\n // second half\n $secondHalf.each(function () {\n const $charsInWord = $(this).find('.split-text__char');\n\n gsap.set($charsInWord, {\n x: x,\n y: y,\n autoAlpha: 0\n });\n });\n }\n}\n","class Slider extends BaseComponent {\n\n constructor({\n scope,\n target\n }) {\n super({\n target,\n scope\n });\n }\n\n _getSliderDots({\n slider,\n container\n }) {\n return new SliderDots({\n slider,\n container\n });\n }\n\n _getSliderCounter({\n slider,\n counter = {\n current,\n total,\n style,\n zeros\n }\n }) {\n return new SliderCounter({\n slider: slider,\n sliderCounter: counter.current,\n total: counter.total,\n style: counter.style,\n addZeros: counter.zeros\n });\n }\n\n _emitDragEvents({\n slider,\n target,\n customClass\n }) {\n const eventTouchUp = new CustomEvent('arts/slider/touchUp', {\n detail: {\n direction: slider.params.direction\n }\n });\n const eventTouchDown = new CustomEvent('arts/slider/touchDown', {\n detail: {\n direction: slider.params.direction\n }\n });\n\n slider\n .on('touchStart', () => {\n if (slider.params.autoplay.enabled) {\n slider.autoplay.stop();\n }\n\n if (customClass) {\n slider.$el.addClass(customClass);\n }\n\n target.dispatchEvent(eventTouchDown);\n })\n .on('touchEnd', () => {\n if (slider.params.autoplay.enabled) {\n slider.autoplay.start();\n }\n\n if (customClass) {\n slider.$el.removeClass(customClass);\n }\n\n target.dispatchEvent(eventTouchUp);\n });\n }\n\n _pauseAutoplay({\n slider\n }) {\n if (slider && slider.params.autoplay && slider.params.autoplay.enabled === true) {\n window.$window.on('arts/barba/transition/start', () => {\n slider.autoplay.stop();\n });\n\n if (window.$pagePreloader && window.$pagePreloader.length && window.$pagePreloader.is(':visible')) {\n window.$window\n .on('arts/preloader/start', () => {\n slider.autoplay.stop();\n })\n .on('arts/preloader/end', () => {\n slider.autoplay.start();\n });\n }\n }\n }\n}\n","class Arrow extends BaseComponent {\n\n\tconstructor({\n\t\tscope,\n\t\ttarget\n\t}) {\n\t\tsuper({\n\t\t\ttarget,\n\t\t\tscope\n\t\t});\n\n\t}\n\n\trun() {\n\t\tthis._bindEvents();\n\t}\n\n\tset() {\n\t\tthis.$circles = this.$target.find('.circle');\n\t\tthis.initialSVGPath = '10% 90%';\n\n\t\tgsap.set(this.$circles, {\n\t\t\tclearProps: 'all',\n\t\t});\n\n\t\tgsap.set(this.$circles, {\n\t\t\trotation: 180,\n\t\t\tdrawSVG: this.initialSVGPath,\n\t\t\ttransformOrigin: 'center center',\n\t\t});\n\t}\n\n\t_bindEvents() {\n\t\tconst\n\t\t\t$circle = this.$el.find(this.$circles),\n\t\t\ttl = new gsap.timeline();\n\n\t\tthis.$el\n\t\t\t.on('mouseenter touchstart', () => {\n\t\t\t\ttl\n\t\t\t\t\t.clear()\n\t\t\t\t\t.to($circle, {\n\t\t\t\t\t\tduration: 0.3,\n\t\t\t\t\t\tdrawSVG: '0% 100%',\n\t\t\t\t\t\trotation: 180,\n\t\t\t\t\t\ttransformOrigin: 'center center'\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave touchend', () => {\n\t\t\t\ttl\n\t\t\t\t\t.clear()\n\t\t\t\t\t.to($circle, {\n\t\t\t\t\t\tduration: 0.3,\n\t\t\t\t\t\tdrawSVG: this.initialSVGPath,\n\t\t\t\t\t\trotation: 180,\n\t\t\t\t\t\ttransformOrigin: 'center center'\n\t\t\t\t\t});\n\t\t\t});\n\n\t\twindow.$window.on('resize', debounce(() => {\n\t\t\tthis.set();\n\t\t}, 150));\n\n\t}\n\n}\n","class AsideCounters extends BaseComponent {\n\n\tconstructor({\n\t\tscope,\n\t\ttarget\n\t}) {\n\t\tsuper({\n\t\t\tscope,\n\t\t\ttarget\n\t\t});\n\t}\n\n\trun() {\n\t\tconst\n\t\t\tself = this,\n\t\t\t$counters = this.$target.find('.js-counter');\n\n\t\tif (!$counters.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$counters.each(function () {\n\t\t\tnew Counter({\n\t\t\t\tscope: self.scope,\n\t\t\t\ttarget: $(this)\n\t\t\t});\n\t\t});\n\t}\n\n}\n","class ChangeTextHover extends BaseComponent {\n\n\tconstructor({\n\t\ttarget,\n\t\tscope,\n\t\tpageIndicator,\n\t\ttriggers,\n\t\toptions\n\t}) {\n\t\tsuper({\n\t\t\ttarget,\n\t\t\tscope\n\t\t});\n\n\t\tthis.options = options || {\n\t\t\tduration: 0.4,\n\t\t\tease: 'power4.out'\n\t\t};\n\t\tthis.$pageIndicator = pageIndicator;\n\t\tthis.$triggers = triggers;\n\t\tthis._bindEvents();\n\n\t\tif (this.$pageIndicator.length) {\n\t\t\tthis._bindEventsHoverIndicator();\n\t\t}\n\t}\n\n\t_bindEvents() {\n\t\tconst self = this;\n\n\t\tthis.$target\n\t\t\t.on('mouseenter touchstart', function () {\n\t\t\t\tconst\n\t\t\t\t\t$el = $(this),\n\t\t\t\t\t$normalText = $el.find('.js-change-text-hover__normal'),\n\t\t\t\t\t$hoverText = $el.find('.js-change-text-hover__hover'),\n\t\t\t\t\t$hoverLine = $el.find('.js-change-text-hover__line');\n\n\t\t\t\tself._getTimelineShowHover({\n\t\t\t\t\tnormal: $normalText,\n\t\t\t\t\thover: $hoverText,\n\t\t\t\t\tline: $hoverLine\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave touchend', function () {\n\t\t\t\tconst\n\t\t\t\t\t$el = $(this),\n\t\t\t\t\t$normalText = $el.find('.js-change-text-hover__normal'),\n\t\t\t\t\t$hoverText = $el.find('.js-change-text-hover__hover'),\n\t\t\t\t\t$hoverLine = $el.find('.js-change-text-hover__line');\n\n\t\t\t\tself._getTimelineHideHover({\n\t\t\t\t\tnormal: $normalText,\n\t\t\t\t\thover: $hoverText,\n\t\t\t\t\tline: $hoverLine\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\t_bindEventsHoverIndicator() {\n\t\tconst\n\t\t\t$normalText = this.$pageIndicator.find('.js-change-text-hover__normal'),\n\t\t\t$hoverText = this.$pageIndicator.find('.js-change-text-hover__hover'),\n\t\t\t$hoverLine = this.$pageIndicator.find('.js-change-text-hover__line');\n\n\t\tthis.$triggers\n\t\t\t.on('mouseenter touchstart', () => {\n\t\t\t\tthis._getTimelineShowHover({\n\t\t\t\t\tnormal: $normalText,\n\t\t\t\t\thover: $hoverText,\n\t\t\t\t\tline: $hoverLine\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave touchend', () => {\n\t\t\t\tthis._getTimelineHideHover({\n\t\t\t\t\tnormal: $normalText,\n\t\t\t\t\thover: $hoverText,\n\t\t\t\t\tline: $hoverLine\n\t\t\t\t});\n\t\t\t});\n\n\t\t// initial set\n\t\tthis._getTimelineHideHover({\n\t\t\tnormal: $normalText,\n\t\t\thover: $hoverText,\n\t\t\tline: $hoverLine\n\t\t});\n\t}\n\n\t_getTimelineShowHover({\n\t\tnormal,\n\t\thover,\n\t\tline\n\t}) {\n\t\treturn new gsap.timeline({\n\t\t\t\tdelay: 0.02\n\t\t\t})\n\t\t\t.hideLines(hover, {\n\t\t\t\ty: '100%',\n\t\t\t\tduration: 0,\n\t\t\t\tstagger: 0\n\t\t\t})\n\t\t\t.add([\n\t\t\t\tgsap.effects.animateLines(hover, {\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tduration: this.options.duration,\n\t\t\t\t\tstagger: 0\n\t\t\t\t}),\n\t\t\t\tgsap.effects.hideLines(normal, {\n\t\t\t\t\ty: '-100%',\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tduration: this.options.duration,\n\t\t\t\t\tstagger: 0\n\t\t\t\t}),\n\t\t\t\tgsap.to(line, {\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\t\tduration: this.options.duration\n\t\t\t\t})\n\t\t\t]);\n\t}\n\n\t_getTimelineHideHover({\n\t\tnormal,\n\t\thover,\n\t\tline\n\t}) {\n\t\treturn new gsap.timeline({\n\t\t\t\tdelay: 0.02\n\t\t\t})\n\t\t\t.hideLines(normal, {\n\t\t\t\ty: '100%',\n\t\t\t\tduration: 0,\n\t\t\t\tstagger: 0\n\t\t\t})\n\t\t\t.add([\n\t\t\t\tgsap.effects.animateLines(normal, {\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tduration: this.options.duration,\n\t\t\t\t\tstagger: 0\n\t\t\t\t}),\n\t\t\t\tgsap.effects.hideLines(hover, {\n\t\t\t\t\ty: '-100%',\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tduration: this.options.duration,\n\t\t\t\t\tstagger: 0\n\t\t\t\t}),\n\t\t\t\tgsap.to(line, {\n\t\t\t\t\tease: this.options.ease,\n\t\t\t\t\tscaleX: 0,\n\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t\tduration: this.options.duration\n\t\t\t\t})\n\t\t\t]);\n\t}\n\n}\n","class CircleButton extends ScrollAnimation {\n constructor({\n target,\n scope\n }) {\n super({\n target,\n scope\n });\n\n }\n\n set() {\n this.$arcText = this.$el.find('.circle-button__label');\n this.$arcWrapper = this.$el.find('.circle-button__wrapper-label');\n this.arcTextElement = this.$arcText.get(0);\n }\n\n run() {\n if (this._hasAnimationScene(this.$el)) {\n this._createScene({\n element: this.$el,\n timeline: this._getSceneTimeline(),\n duration: window.innerHeight,\n reverse: true\n });\n }\n\n this.instance = this._createArcText();\n this.$el.addClass('js-circle-button_curved');\n this._setRadius();\n this._bindEvents();\n }\n\n _createArcText() {\n return new CircleType(this.arcTextElement);\n }\n\n _setRadius() {\n this.instance.radius(this.arcTextElement.offsetWidth / 2);\n }\n\n _bindEvents() {\n window.$window.on('resize', debounce(() => {\n this._setRadius();\n }, 250));\n }\n\n _getSceneTimeline() {\n return new gsap.timeline().fromTo(this.$arcWrapper, {\n rotation: 0,\n transformOrigin: 'center center'\n }, {\n duration: 1,\n rotation: 360,\n });\n }\n}\n","class Counter extends ScrollAnimation {\n\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.$num = this.$target.find('.js-counter__number');\n\t\tthis.start = this.$target.data('counter-start') || 0;\n\t\tthis.target = this.$target.data('counter-target') || 100;\n\t\tthis.digits = this.target.toString().length;\n\t\tthis.duration = this.$target.data('counter-duration') || 4;\n\t\tthis.prefix = this.$target.data('counter-prefix') || '';\n\t\tthis.suffix = this.$target.data('counter-suffix') || '';\n\t\tthis.counter = {\n\t\t\tval: this.numberStart\n\t\t};\n\t\tthis.prepare();\n\t\tthis.animate();\n\t}\n\n\tprepare() {\n\t\tlet value = parseFloat(this.start).toFixed(0);\n\n\t\tvalue = this.prefix + this._addZeros(value) + this.suffix;\n\t\tthis.$num.text(value);\n\t}\n\n\tanimate() {\n\t\tconst tl = new gsap.timeline();\n\t\tlet value;\n\n\t\ttl.to(this.counter, {\n\t\t\tduration: this.duration,\n\t\t\tval: parseFloat(this.target).toFixed(0),\n\t\t\tease: 'power4.out',\n\t\t\tonUpdate: () => {\n\t\t\t\tvalue = parseFloat(this.counter.val).toFixed(0);\n\t\t\t\tvalue = this._addZeros(value);\n\t\t\t\tthis.$num.text(this.prefix + value + this.suffix);\n\t\t\t}\n\t\t});\n\n\t\tthis._createScene({\n\t\t\telement: this.$target,\n\t\t\ttimeline: tl\n\t\t});\n\t}\n\n\t_addZeros(value) {\n\t\twhile (value.toString().length < this.digits) {\n\t\t\tvalue = '0' + value;\n\t\t}\n\n\t\treturn value;\n\t}\n\n}\n","class Cursor extends BaseComponent {\n\n\tconstructor({\n\t\tscope,\n\t\ttarget,\n\t\thideCursorNative = false,\n\t\tcursorElements,\n\t\thighlightElements,\n\t\thighlightScale = 1.3,\n\t\tmagneticElements,\n\t\tmagneticScale = 1,\n\t\tmagneticScaleCursorBy = 'element',\n\t\tfactorTrailing = 4,\n\t\tanimDuration = 0.2,\n\t\tdistanceArrows = 45,\n\t}) {\n\t\tsuper({\n\t\t\ttarget,\n\t\t\tscope\n\t\t});\n\n\t\tthis.timeline = new gsap.timeline();\n\t\tthis.timelineArrows = new gsap.timeline();\n\t\tthis.$follower = this.$target.find('.cursor__follower');\n\t\tthis.$inner = this.$target.find('#inner');\n\t\tthis.$outer = this.$target.find('#outer');\n\t\tthis.$arrowUp = this.$target.find('.cursor__arrow_up');\n\t\tthis.$arrowDown = this.$target.find('.cursor__arrow_down');\n\t\tthis.$arrowLeft = this.$target.find('.cursor__arrow_left');\n\t\tthis.$arrowRight = this.$target.find('.cursor__arrow_right');\n\t\tthis.$label = this.$target.find('.cursor__label');\n\t\tthis.$icon = this.$target.find('.cursor__icon');\n\t\tthis.offsetTop = parseInt(window.$html.css('marginTop'), 10);\n\t\tthis.animDuration = animDuration;\n\t\tthis.mouseX = window.mouseX || 0;\n\t\tthis.mouseY = window.mouseY || 0;\n\t\tthis.magneticX = 0;\n\t\tthis.magneticY = 0;\n\t\tthis.scale = 1;\n\t\tthis.posX = 0;\n\t\tthis.posY = 0;\n\t\tthis.cursorCenterX = parseFloat(this.$target.innerWidth() / 2);\n\t\tthis.cursorCenterY = parseFloat(this.$target.innerHeight() / 2);\n\t\tthis.isFirstMove = true;\n\t\tthis.cursorElements = cursorElements;\n\t\tthis.highlightElements = highlightElements;\n\t\tthis.highlightScale = highlightScale;\n\t\tthis.magneticElements = magneticElements;\n\t\tthis.$magneticElements = $(magneticElements);\n\t\tthis.magneticScale = magneticScale;\n\t\tthis.magneticScaleCursorBy = magneticScaleCursorBy;\n\t\tthis.factorTrailing = factorTrailing;\n\t\tthis.labels = window.theme.cursorFollower.labels;\n\t\tthis.distanceArrows = distanceArrows;\n\t\tthis.hideCursorNative = hideCursorNative;\n\t\tthis.strokeColor = this.$inner.css('stroke');\n\n\t\tthis._bindEvents();\n\t}\n\n\tset() {\n\t\tgsap.set(this.$target, {\n\t\t\tdisplay: 'block',\n\t\t});\n\t\tgsap.to(this.$target, {\n\t\t\tduration: 0.6,\n\t\t\tscale: 1,\n\t\t\tautoAlpha: 1,\n\t\t\txPercent: 0,\n\t\t\tyPercent: 0,\n\t\t});\n\t}\n\n\trun() {\n\t\tgsap.to({}, {\n\t\t\tduration: 0.01,\n\t\t\trepeat: -1,\n\t\t\tonRepeat: () => {\n\t\t\t\tconst trailing = this.isFirstMove ? 1 : this.factorTrailing;\n\t\t\t\tthis.posX += (this.mouseX - this.posX) / trailing;\n\t\t\t\tthis.posY += (this.mouseY - this.posY - this.offsetTop) / trailing;\n\n\t\t\t\tgsap.set(this.$target, {\n\t\t\t\t\txPercent: 0,\n\t\t\t\t\tyPercent: 0,\n\t\t\t\t\tx: this.posX - this.cursorCenterX,\n\t\t\t\t\ty: this.posY + this.offsetTop - this.cursorCenterY,\n\t\t\t\t\trepeat: -1,\n\t\t\t\t});\n\t\t\t\tthis.isFirstMove = false;\n\t\t\t}\n\t\t});\n\t}\n\n\t_scaleCursor() {\n\t\tgsap.to(this.$follower, {\n\t\t\tduration: this.animDuration,\n\t\t\tscale: this.scale,\n\t\t\toverwrite: 'all'\n\t\t});\n\t}\n\n\t_highlightCursor(highlight = true) {\n\t\tgsap.to(this.$inner, {\n\t\t\tduration: this.animDuration,\n\t\t\tfill: highlight ? this.strokeColor : '',\n\t\t\topacity: highlight ? 0.4 : '',\n\t\t\toverwrite: 'all'\n\t\t});\n\t}\n\n\t_bindEvents() {\n\t\tconst self = this;\n\n\t\tthis.$scope.off('mousemove mouseenter mouseleave')\n\t\t\t.on('mousemove', (e) => {\n\t\t\t\tthis.mouseX = this.magneticX || e.clientX;\n\t\t\t\tthis.mouseY = this.magneticY || e.clientY;\n\t\t\t})\n\t\t\t// slider dots\n\t\t\t.on('mouseenter', '.slider__dot', () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave', '.slider__dot', (e) => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t\tthis._resetMagnifiedElement($(e.currentTarget));\n\t\t\t})\n\t\t\t.on('mousemove', '.slider__dot', (e) => {\n\t\t\t\tconst $target = $(e.currentTarget);\n\n\t\t\t\tthis.scale = 0.5;\n\t\t\t\tthis._scaleCursor();\n\t\t\t\tthis._magnifyElement({\n\t\t\t\t\telement: $target,\n\t\t\t\t\tevent: e,\n\t\t\t\t\tdistance: self.magneticDistance,\n\t\t\t\t\tscaleBy: self.magneticScaleCursorBy,\n\t\t\t\t\tscale: 0.5,\n\t\t\t\t});\n\t\t\t})\n\t\t\t// social links\n\t\t\t.on('mouseenter', '.social__item', () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave', '.social__item', (e) => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t\tthis._resetMagnifiedElement($(e.currentTarget));\n\t\t\t})\n\t\t\t.on('mousemove', '.social__item', (e) => {\n\t\t\t\tconst $target = $(e.currentTarget);\n\n\t\t\t\tthis.scale = 0.8;\n\t\t\t\tthis._scaleCursor();\n\t\t\t\tthis._magnifyElement({\n\t\t\t\t\telement: $target,\n\t\t\t\t\tevent: e,\n\t\t\t\t\tdistance: self.magneticDistance,\n\t\t\t\t\tscaleBy: self.magneticScaleCursorBy,\n\t\t\t\t\tscale: 0.8,\n\t\t\t\t});\n\t\t\t})\n\t\t\t// PSWP gallery\n\t\t\t.on('mousemove', '.pswp--zoomed-in .pswp__img', (e) => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis.scale = 1.0;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('mousemove', '.pswp--dragging .pswp__img', (e) => {\n\t\t\t\tthis.scale = 1.0;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t// cursor elements\n\t\t\t.on('mouseenter', self.cursorElements, (e) => {\n\t\t\t\tconst $target = $(e.currentTarget);\n\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: $target.data('arts-cursor-hide-native') || self.hideCursorNative\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: $target.data('arts-cursor-label') || ''\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: $target.data('arts-cursor-icon') || ''\n\t\t\t\t});\n\t\t\t\tthis._hideArrows();\n\t\t\t\tthis.scale = parseFloat($target.data('arts-cursor-scale'));\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('mouseleave', self.cursorElements, () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t// highlight elements\n\t\t\t.on('mouseenter', self.highlightElements, (e) => {\n\t\t\t\tthis.scale = parseFloat(this.highlightScale);\n\t\t\t\tthis._highlightCursor(true);\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('mouseleave', self.highlightElements, (e) => {\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._highlightCursor(false);\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t// magnetic elements\n\t\t\t.on('mousemove', self.magneticElements, (e) => {\n\t\t\t\tconst $target = $(e.currentTarget);\n\n\t\t\t\tthis._magnifyElement({\n\t\t\t\t\telement: $target,\n\t\t\t\t\tevent: e,\n\t\t\t\t\tdistance: self.magneticDistance,\n\t\t\t\t\tscaleBy: self.magneticScaleCursorBy,\n\t\t\t\t\tscale: parseFloat($target.data('arts-cursor-scale')) || this.magneticScale,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseleave', self.magneticElements, (e) => {\n\t\t\t\tthis._resetMagnifiedElement($(e.currentTarget));\n\t\t\t})\n\t\t\t// slider dragging\n\t\t\t.on('arts/slider/touchDown', (e) => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: this.labels.slider\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._revealArrows(e.detail);\n\t\t\t\tthis.scale = 1.6;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('arts/slider/touchUp', () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: this.labels.slider,\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._hideArrows();\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t// pswp gallery pan\n\t\t\t.on('arts/pswp/touchDown', (e) => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: ''\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._revealArrows(e.detail);\n\t\t\t\tthis.scale = 1.0;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('arts/pswp/touchUp arts/pswp/close', () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._hideArrows();\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t})\n\t\t\t.on('arts/pswp/slideChange', (e) => {\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._hideArrows();\n\t\t\t});\n\n\t\t// reset cursor after AJAX transition\n\t\twindow.$window\n\t\t\t.on('arts/barba/transition/end', () => {\n\t\t\t\tthis.setCursor({\n\t\t\t\t\thide: false\n\t\t\t\t});\n\t\t\t\tthis._setLabel({\n\t\t\t\t\tlabel: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._setIcon({\n\t\t\t\t\ticon: '',\n\t\t\t\t\thide: true\n\t\t\t\t});\n\t\t\t\tthis._hideArrows();\n\t\t\t\tthis.scale = 1;\n\t\t\t\tthis._scaleCursor();\n\t\t\t\tthis._highlightCursor(false);\n\t\t\t});\n\t}\n\n\t_setLabel({\n\t\tlabel = '',\n\t\thide = false\n\t}) {\n\t\tthis.$label.html(label);\n\t\tif (hide === true) {\n\t\t\tgsap.to(this.$label, {\n\t\t\t\tduration: this.animDuration,\n\t\t\t\tautoAlpha: 0,\n\t\t\t\ty: -20,\n\t\t\t});\n\t\t} else {\n\t\t\tgsap.to(this.$label, {\n\t\t\t\tduration: this.animDuration,\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ty: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\t_setIcon({\n\t\ticon = '',\n\t\thide = false\n\t}) {\n\t\tthis.$icon.html(icon);\n\t\tif (hide === true) {\n\t\t\tgsap.to(this.$icon, {\n\t\t\t\tduration: this.animDuration,\n\t\t\t\tautoAlpha: 0,\n\t\t\t\ty: -20,\n\t\t\t});\n\t\t} else {\n\t\t\tgsap.to(this.$icon, {\n\t\t\t\tduration: this.animDuration,\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ty: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\t_revealArrows({\n\t\tdirection = 'horizontal'\n\t}) {\n\t\tif (direction === 'horizontal') {\n\t\t\tthis.timelineArrows\n\t\t\t\t.clear()\n\t\t\t\t.add([\n\t\t\t\t\tgsap.to(this.$arrowLeft, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\tx: -this.distanceArrows\n\t\t\t\t\t}),\n\t\t\t\t\tgsap.to(this.$arrowRight, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\tx: this.distanceArrows\n\t\t\t\t\t})\n\t\t\t\t]);\n\t\t}\n\t\tif (direction === 'vertical') {\n\t\t\tthis.timelineArrows\n\t\t\t\t.clear()\n\t\t\t\t.add([\n\t\t\t\t\tgsap.to(this.$arrowUp, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\ty: -this.distanceArrows\n\t\t\t\t\t}),\n\t\t\t\t\tgsap.to(this.$arrowDown, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\ty: this.distanceArrows\n\t\t\t\t\t})\n\t\t\t\t]);\n\t\t}\n\n\t\tif (direction === 'all') {\n\t\t\tthis.timelineArrows\n\t\t\t\t.clear()\n\t\t\t\t.add([\n\t\t\t\t\tgsap.to(this.$arrowUp, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\ty: -this.distanceArrows / 2\n\t\t\t\t\t}),\n\t\t\t\t\tgsap.to(this.$arrowDown, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\ty: this.distanceArrows / 2\n\t\t\t\t\t}),\n\t\t\t\t\tgsap.to(this.$arrowLeft, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\tx: -this.distanceArrows / 2\n\t\t\t\t\t}),\n\t\t\t\t\tgsap.to(this.$arrowRight, {\n\t\t\t\t\t\tduration: this.animDuration,\n\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\tx: this.distanceArrows / 2\n\t\t\t\t\t})\n\t\t\t\t]);\n\t\t}\n\t}\n\n\t_hideArrows() {\n\t\tthis.timelineArrows\n\t\t\t.clear()\n\t\t\t.to([this.$arrowUp, this.$arrowDown, this.$arrowLeft, this.$arrowRight], {\n\t\t\t\tduration: this.animDuration,\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t});\n\t}\n\n\t_calcDistance({\n\t\tcenterX,\n\t\tcenterY,\n\t\tmouseX,\n\t\tmouseY\n\t}) {\n\t\treturn Math.floor(\n\t\t\tMath.sqrt(\n\t\t\t\tMath.pow(mouseX - centerX, 2) + Math.pow(mouseY - centerY, 2)\n\t\t\t)\n\t\t);\n\t}\n\n\t_resetMagnifiedElement(element) {\n\t\tthis.magneticX = 0;\n\t\tthis.magneticY = 0;\n\n\t\tif (element && element.length) {\n\t\t\tgsap.to(element, {\n\t\t\t\tduration: 0.4,\n\t\t\t\ty: 0,\n\t\t\t\tx: 0\n\t\t\t});\n\t\t}\n\t}\n\n\t_magnifyElement({\n\t\telement,\n\t\tevent,\n\t\tdistance,\n\t\tscale,\n\t\tscaleBy,\n\t}) {\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight\n\t\t} = element.get(0).getBoundingClientRect(),\n\t\t\tcenterX = left + width / 2,\n\t\t\tcenterY = top + height / 2,\n\t\t\tdeltaX = Math.floor((centerX - event.clientX)) * -.5,\n\t\t\tdeltaY = Math.floor((centerY - event.clientY)) * -.5;\n\n\t\tthis.magneticX = centerX;\n\t\tthis.magneticY = centerY;\n\t\tthis.scale = scaleBy === 'element' ? Math.max(width, height) / this.cursorCenterX * scale : scaleBy * scale;\n\n\t\tgsap.to(element, {\n\t\t\tduration: 0.2,\n\t\t\ty: deltaY,\n\t\t\tx: deltaX,\n\t\t\toverwrite: 'all'\n\t\t});\n\t}\n\n\tsetCursor({\n\t\thide = false,\n\t\tloading = false\n\t}) {\n\t\tif (hide === true && !window.$body.hasClass('cursor-none')) {\n\t\t\twindow.$body.addClass('cursor-none');\n\t\t} else {\n\t\t\twindow.$body.removeClass('cursor-none');\n\t\t}\n\n\t\tif (loading === true && !window.$body.hasClass('cursor-progress')) {\n\t\t\twindow.$body.addClass('cursor-progress');\n\t\t} else {\n\t\t\twindow.$body.removeClass('cursor-progress');\n\t\t}\n\t}\n\n}\n","class EffectDistortion extends BaseGLAnimation {\n\n\tconstructor({\n\t\tslider,\n\t\tcanvas,\n\t\taspect = 1.5,\n\t\tdisplacementImage,\n\t\titems,\n\t}) {\n\t\tsuper({\n\t\t\tcanvas,\n\t\t\taspect\n\t\t});\n\n\t\tthis.aspect = aspect;\n\t\tthis.canvas = canvas;\n\t\tthis.dispImage = displacementImage;\n\t\tthis.items = items;\n\t\tthis.slider = slider;\n\t\tthis.textures = [];\n\t\tthis.timeline = new gsap.timeline();\n\n\t\tthis.disp = this.loader.load(this.dispImage);\n\t\tthis.disp.wrapS = this.disp.wrapT = THREE.RepeatWrapping;\n\n\t\tthis.scene = this._getScene();\n\t\tthis.viewport = this._getViewport();\n\t\tthis.camera = this._getCamera();\n\n\t\tthis.uniforms = {\n\t\t\teffectFactor: {\n\t\t\t\ttype: \"f\",\n\t\t\t},\n\t\t\tdispFactor: {\n\t\t\t\ttype: \"f\",\n\t\t\t\tvalue: 0.0\n\t\t\t},\n\t\t\ttexture: {\n\t\t\t\ttype: \"t\",\n\t\t\t\tvalue: this.items[0].texture\n\t\t\t},\n\t\t\ttexture2: {\n\t\t\t\ttype: \"t\",\n\t\t\t\tvalue: this.items[1].texture\n\t\t\t},\n\t\t\tdisp: {\n\t\t\t\ttype: \"t\",\n\t\t\t\tvalue: this.disp\n\t\t\t}\n\t\t};\n\t\tthis.geometry = this._getPlaneBufferGeometry();\n\t\tthis.material = this._getShaderMaterial();\n\t\tthis.plane = this._getPlane({\n\t\t\tgeometry: this.geometry,\n\t\t\tmaterial: this.material\n\t\t});\n\t\tthis.scene.add(this.plane);\n\t\tthis.initialProgress = 0;\n\t\tthis.progress = 0;\n\n\t\tthis.camera.position.z = 1;\n\t\tthis.camera.updateProjectionMatrix();\n\t\tthis._updateScene();\n\n\t\tthis._loadTextures().then(() => {\n\t\t\tthis.isLoaded = true;\n\n\t\t\tif (window.$pagePreloader && window.$pagePreloader.length && window.$pagePreloader.is(':visible')) {\n\t\t\t\twindow.$window.on('arts/preloader/end', () => {\n\t\t\t\t\tthis._animateInitial();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._animateInitial();\n\t\t\t}\n\t\t});\n\t}\n\n\t_animateInitial(delay = 0) {\n\t\tthis.change({\n\t\t\tfrom: 0,\n\t\t\tto: 0,\n\t\t\tdelay,\n\t\t\tspeed: parseFloat(this.slider.params.speed / 1000),\n\t\t\tonComplete: () => {\n\t\t\t\tthis.material.uniforms.texture.value = this.items[1].texture;\n\t\t\t\tif (this.slider.params.mousewheel.enabled) {\n\t\t\t\t\tthis.slider.mousewheel.enable();\n\t\t\t\t}\n\t\t\t\tif (this.slider.params.keyboard.enabled) {\n\t\t\t\t\tthis.slider.keyboard.enable();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t_getPlaneBufferGeometry() {\n\t\tconst {\n\t\t\twidth,\n\t\t\theight\n\t\t} = this._calculatePosition();\n\n\t\treturn new THREE.PlaneBufferGeometry(\n\t\t\twidth,\n\t\t\theight,\n\t\t\tthis.aspect\n\t\t);\n\t}\n\n\t_getCamera() {\n\t\tconst {\n\t\t\twidth,\n\t\t\theight\n\t\t} = this._calculatePosition();\n\n\t\treturn new THREE.OrthographicCamera(\n\t\t\twidth / -2,\n\t\t\twidth / 2,\n\t\t\theight / 2,\n\t\t\theight / -2,\n\t\t);\n\t}\n\n\t_getShaderMaterial() {\n\t\tconst fsID = this.slider.params.direction === 'horizontal' ? 'slider-textures-horizontal-fs' : 'slider-textures-vertical-fs';\n\n\t\treturn new THREE.ShaderMaterial({\n\t\t\tuniforms: this.uniforms,\n\t\t\tvertexShader: this._getVertexShader('slider-textures-vs'),\n\t\t\tfragmentShader: this._getFragmentShader(fsID),\n\t\t\topacity: 1\n\t\t});\n\t}\n\n\tchange({\n\t\tfrom = 0,\n\t\tto = 0,\n\t\tspeed = 1.2,\n\t\tintensity = 0.25,\n\t\tdelay = 0,\n\t\tease = 'power3.out',\n\t\tonComplete,\n\t}) {\n\n\t\tif (!this.material) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.material.uniforms.texture.value = this.items[from].texture;\n\t\tthis.material.uniforms.texture2.value = this.items[to].texture;\n\t\tthis.material.uniforms.effectFactor.value = intensity;\n\n\t\tthis.timeline.fromTo(this.material.uniforms.dispFactor, {\n\t\t\tvalue: 0\n\t\t}, {\n\t\t\tvalue: 1,\n\t\t\tease: ease,\n\t\t\tduration: speed,\n\t\t\tdelay,\n\t\t\tonComplete: () => {\n\t\t\t\tif (typeof onComplete === 'function') {\n\t\t\t\t\tonComplete();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n}\n","class EffectStretch extends BaseGLAnimation {\n\tconstructor({\n\t\ttarget,\n\t\tcanvas,\n\t\titems,\n\t\toptions\n\t}) {\n\t\tsuper({\n\t\t\ttarget,\n\t\t\tcanvas,\n\t\t});\n\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.items = items;\n\t\tthis.tempItemIndex = null;\n\n\t\tthis.options = options || {\n\t\t\tstrength: 0.2,\n\t\t\tscaleTexture: 1.8,\n\t\t\tscalePlane: 1\n\t\t};\n\n\t\tthis.mouse = new THREE.Vector2();\n\t\tthis.position = new THREE.Vector3(0, 0, 0);\n\t\tthis.scale = new THREE.Vector3(1, 1, 1);\n\n\t\tthis.uniforms = {\n\t\t\tuTexture: {\n\t\t\t\tvalue: null\n\t\t\t},\n\t\t\tuOffset: {\n\t\t\t\tvalue: new THREE.Vector2(0.0, 0.0)\n\t\t\t},\n\t\t\tuAlpha: {\n\t\t\t\tvalue: 0\n\t\t\t},\n\t\t\tuScale: {\n\t\t\t\tvalue: Math.abs(this.options.scaleTexture - 2)\n\t\t\t}\n\t\t};\n\t\tthis.geometry = this._getPlaneBufferGeometry();\n\t\tthis.material = this._getShaderMaterial();\n\t\tthis.plane = this._getPlane({\n\t\t\tgeometry: this.geometry,\n\t\t\tmaterial: this.material\n\t\t});\n\t\tthis.scene.add(this.plane);\n\n\t\tthis._loadTextures().then(() => {\n\t\t\tthis.isLoaded = true;\n\t\t\ttarget.removeClass('pointer-events-none');\n\t\t});\n\t\tthis._bindMouseEvents();\n\t}\n\n\t_bindMouseEvents() {\n\t\tconst self = this;\n\n\t\tthis.items.each(function (index) {\n\t\t\t$(this)\n\t\t\t\t.on('mouseenter', (event) => {\n\t\t\t\t\tif (!self.isLoaded) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tself.tempItemIndex = index;\n\t\t\t\t\tself._onMouseEnter();\n\t\t\t\t\tif (self.currentItem && self.currentItem.index === index) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tself._onTargetChange(index);\n\t\t\t\t})\n\t\t\t\t.on('mouseleave', (event) => {\n\t\t\t\t\tif (!self.isLoaded) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tself.isMouseOver = false;\n\t\t\t\t\tself._onMouseLeave(event);\n\t\t\t\t});\n\t\t});\n\n\t\twindow.$window.on('mousemove touchmove', (event) => {\n\t\t\tif (event.type !== 'touchmove') {\n\t\t\t\tthis.mouse.x = (event.clientX / this.viewport.width) * 2 - 1;\n\t\t\t\tthis.mouse.y = -(event.clientY / this.viewport.height) * 2 + 1;\n\t\t\t\tthis._onMouseMove(event);\n\t\t\t}\n\t\t});\n\t}\n\n\t_getPlaneBufferGeometry() {\n\t\treturn new THREE.PlaneBufferGeometry(1, 1, 8, 8);\n\t}\n\n\t_getShaderMaterial() {\n\t\treturn new THREE.ShaderMaterial({\n\t\t\tuniforms: this.uniforms,\n\t\t\tvertexShader: this._getVertexShader('list-hover-vs'),\n\t\t\tfragmentShader: this._getFragmentShader('list-hover-fs'),\n\t\t\ttransparent: true\n\t\t});\n\t}\n\n\t_onMouseEnter() {\n\t\tif (!this.currentItem || !this.isMouseOver) {\n\t\t\tthis.isMouseOver = true;\n\t\t\t// show plane\n\t\t\tgsap.to(this.uniforms.uAlpha, {\n\t\t\t\tduration: 0.3,\n\t\t\t\tvalue: 1,\n\t\t\t\tease: 'power4.out'\n\t\t\t});\n\t\t}\n\t}\n\n\t_onMouseLeave() {\n\t\tgsap.to(this.uniforms.uAlpha, {\n\t\t\tduration: 0.3,\n\t\t\tvalue: 0,\n\t\t\tease: 'power4.out'\n\t\t});\n\t}\n\n\t_onMouseMove() {\n\t\t// project mouse position to world coodinates\n\t\tlet x = this.mouse.x.map(\n\t\t\t-1,\n\t\t\t1,\n\t\t\t-this.viewSize.width / 2,\n\t\t\tthis.viewSize.width / 2\n\t\t);\n\t\tlet y = this.mouse.y.map(\n\t\t\t-1,\n\t\t\t1,\n\t\t\t-this.viewSize.height / 2,\n\t\t\tthis.viewSize.height / 2\n\t\t);\n\n\t\t// update position\n\t\tthis.position = new THREE.Vector3(x, y, 0);\n\n\t\tgsap.to(this.plane.position, {\n\t\t\tduration: 1,\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t\tease: 'power4.out',\n\t\t\tonUpdate: this._onPositionUpdate.bind(this)\n\t\t});\n\t}\n\n\t_onPositionUpdate() {\n\t\t// compute offset\n\t\tlet offset = this.plane.position\n\t\t\t.clone()\n\t\t\t.sub(this.position)\n\t\t\t.multiplyScalar(-this.options.strength);\n\n\t\tthis.uniforms.uOffset.value = offset;\n\t}\n\n\t_onTargetChange(index) {\n\t\t// item target changed\n\t\tthis.currentItem = this.items[index];\n\t\tif (!this.currentItem.texture) {\n\t\t\treturn;\n\t\t}\n\n\t\t// compute image ratio\n\t\tconst imageRatio = this.currentItem.texture.image.naturalWidth / this.currentItem.texture.image.naturalHeight;\n\n\t\tthis.scale = new THREE.Vector3(imageRatio * this.options.scalePlane, 1 * this.options.scalePlane, 1 * this.options.scalePlane);\n\t\tthis.uniforms.uTexture.value = this.currentItem.texture;\n\t\tthis.plane.scale.copy(this.scale);\n\t}\n\n}\n","class Filter {\n\n constructor({\n scope,\n target\n }) {\n this.$target = target;\n this.$scope = scope;\n this.itemClass = '.js-filter__item';\n this.itemActive = 'filter__item_active';\n this.itemActiveClass = '.filter__item_active';\n this.underlineClass = '.js-filter__underline';\n this.$items = this.$target.find(this.itemClass);\n this.$line = this.$target.find($(this.underlineClass));\n\n this.bindEvents();\n this.updateLinePosition();\n }\n\n bindEvents() {\n const self = this;\n\n this.$scope\n .on('mouseenter', this.itemClass, function () {\n self.updateLinePosition($(this));\n })\n .on('mouseleave', this.itemClass, function () {\n self.updateLinePosition(self.$items.filter(self.itemActiveClass))\n })\n .on('click', this.itemClass, function () {\n const $el = $(this);\n\n self.$items.removeClass(self.itemActive);\n $el.addClass(self.itemActive);\n self.updateLinePosition($el);\n });\n }\n\n updateLinePosition($el) {\n if (!this.$line.length) {\n return false;\n }\n\n if (!$el || !$el.length) {\n\n gsap.to(this.$line, {\n duration: 0.6,\n width: 0,\n ease: 'expo.out'\n });\n } else {\n const\n $heading = $el.find('div'),\n headingWidth = $heading.innerWidth(),\n headingPos = $heading.position(),\n colPos = $el.position();\n\n gsap.to(this.$line, {\n duration: 0.6,\n ease: 'expo.inOut',\n width: headingWidth,\n x: headingPos.left + colPos.left,\n });\n }\n }\n\n setActiveItem(index) {\n const $el = this.$items.eq(index);\n\n if (!$el.length) {\n return false;\n }\n\n this.$items.removeClass(this.itemActive);\n $el.addClass(this.itemActive);\n this.updateLinePosition($el);\n }\n\n}\n","function fontObserver() {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tconst observers = [];\n\n\t\tif (!window.theme.fonts) {\n\t\t\tresolve(true);\n\t\t}\n\n\t\t$.each(window.theme.fonts, function () {\n\t\t\tconst currentObserver = new FontFaceObserver(this);\n\n\t\t\tobservers.push(currentObserver.load());\n\t\t});\n\n\t\tPromise\n\t\t\t.all(observers)\n\t\t\t.then(() => {\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tconsole.error('Font Observer: There is an error occured while loading one or more fonts.');\n\t\t\t\treject(true);\n\t\t\t});\n\n\t});\n\n}\n","class Form {\n\tconstructor({\n\t\tscope,\n\t\ttarget\n\t}) {\n\t\tthis.$scope = scope;\n\t\tthis.$target = target;\n\n\t\tif (this.$scope.length) {\n\t\t\tthis.set();\n\t\t\tthis.run();\n\t\t}\n\t}\n\n\tset() {\n\t\tthis.input = '.input-float__input';\n\t\tthis.inputClassNotEmpty = 'input-float__input_not-empty';\n\t\tthis.inputClassFocused = 'input-float__input_focused';\n\t\tthis.$inputs = this.$scope.find(this.input);\n\t}\n\n\trun() {\n\t\tthis._floatLabels();\n\t\tthis._bindEvents();\n\t}\n\n\t_floatLabels() {\n\t\tconst self = this;\n\n\t\tif (!this.$inputs || !this.$inputs.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.$inputs.each(function () {\n\t\t\tconst\n\t\t\t\t$el = $(this),\n\t\t\t\t$controlWrap = $el.parent('.wpcf7-form-control-wrap');\n\n\t\t\t// not empty value\n\t\t\tif ($el.val()) {\n\t\t\t\t$el.addClass(self.inputClassNotEmpty);\n\t\t\t\t$controlWrap.addClass(self.inputClassNotEmpty);\n\t\t\t\t// empty value\n\t\t\t} else {\n\t\t\t\t$el.removeClass([self.inputClassFocused, self.inputClassNotEmpty]);\n\t\t\t\t$controlWrap.removeClass([self.inputClassFocused, self.inputClassNotEmpty]);\n\t\t\t}\n\n\t\t\t// has placeholder & empty value\n\t\t\tif ($el.attr('placeholder') && !$el.val()) {\n\t\t\t\t$el.addClass(self.inputClassNotEmpty);\n\t\t\t\t$controlWrap.addClass(self.inputClassNotEmpty);\n\t\t\t}\n\t\t});\n\n\t}\n\n\t_bindEvents() {\n\t\tconst self = this;\n\n\t\tthis.$scope\n\t\t\t.off('focusin')\n\t\t\t.on('focusin', self.input, function () {\n\t\t\t\tconst\n\t\t\t\t\t$el = $(this),\n\t\t\t\t\t$controlWrap = $el.parent('.wpcf7-form-control-wrap');\n\n\t\t\t\t$el.addClass(self.inputClassFocused).removeClass(self.inputClassNotEmpty);\n\t\t\t\t$controlWrap.addClass(self.inputClassFocused).removeClass(self.inputClassNotEmpty);\n\n\t\t\t})\n\t\t\t.off('focusout')\n\t\t\t.on('focusout', self.input, function () {\n\n\t\t\t\tconst\n\t\t\t\t\t$el = $(this),\n\t\t\t\t\t$controlWrap = $el.parent('.wpcf7-form-control-wrap');\n\n\t\t\t\t// not empty value\n\t\t\t\tif ($el.val()) {\n\t\t\t\t\t$el.removeClass(self.inputClassFocused).addClass(self.inputClassNotEmpty);\n\t\t\t\t\t$controlWrap.removeClass(self.inputClassFocused).addClass(self.inputClassNotEmpty);\n\t\t\t\t} else {\n\t\t\t\t\t// has placeholder & empty value\n\t\t\t\t\tif ($el.attr('placeholder')) {\n\t\t\t\t\t\t$el.addClass(self.inputClassNotEmpty);\n\t\t\t\t\t\t$controlWrap.addClass(self.inputClassNotEmpty);\n\t\t\t\t\t}\n\n\t\t\t\t\t$el.removeClass(self.inputClassFocused);\n\t\t\t\t\t$controlWrap.removeClass(self.inputClassFocused);\n\t\t\t\t}\n\n\t\t\t});\n\n\t}\n\n\t_getModalTemplate({\n\t\ticon,\n\t\tmessage\n\t}) {\n\t\treturn `\n