{"version":3,"sources":["common.js","Animations.js","AssetsManager.js","BaseComponent.js","PSWP.js","Scroll.js","Slider.js","PJAX/PJAX Animate Cloned Heading.js","PJAX/PJAX Animate Cloned Image.js","PJAX/PJAX Animate Container.js","PJAX/PJAX Animate Curtain.js","PJAX/PJAX Animate Overlay Menu.js","PJAX/PJAX Clear Container.js","PJAX/PJAX Clone Heading.js","PJAX/PJAX Clone Image.js","PJAX/PJAX Fallback Cloned Image.js","PJAX/PJAX Finish Loading.js","PJAX/PJAX Init New Page.js","PJAX/PJAX Init Next Masthead.js","PJAX/PJAX Set Body Background.js","PJAX/PJAX Set Current Container.js","PJAX/PJAX Set Next Container.js","PJAX/PJAX Start Loading.js","PJAX/PJAX Transition Auto Scroll Next.js","PJAX/PJAX Transition General.js","PJAX/PJAX Transition Overlay Menu.js","PJAX/PJAX Update Ad Trackers.js","PJAX/PJAX Update Body.js","PJAX/PJAX Update Head.js","PJAX/PJAX Update Nodes Attributes.js","PJAX/PJAX Update Scripts.js","PJAX/PJAX Update Styles.js","PJAX/PJAX.js","artsHover/ArtsHover.js","buttonCircles/ButtonCircles.js","countDown/CountDown.js","filter/Filter.js","form/Form.js","form/FormAJAX.js","gmap/Gmap.js","grid/Grid.js","pswp/PSWPGallery.js","scrollDown/ScrollDown.js","sectionFixedReveal/SectionFixedReveal.js","sectionHorizontalScroll/SectionHorizontalScroll.js","slider/SliderDots.js","slider/SliderTextTransitions.js","smoothScroll/SmoothScroll.js","utilities/MobileBarHeight.js","utilities/debounce.js","utilities/distributeByPosition.js","utilities/getColorValues.js","utilities/getResponsiveResizeEvent.js","utilities/isBrowserFirefox.js","utilities/runOnHighPerformanceGPU.js","utilities/sanitizeSelector.js","utilities/syncAttributes.js","helpers/lazy/LazyLoad.js","layout/preloader/Preloader.js","layout/header/Header.js","section/sectionContent/SectionContent.js","section/sectionGrid/SectionGrid.js","section/sectionNavProjects/SectionNavProjects.js","section/sectionMasthead/SectionMasthead.js","section/sectionScrollThemeSwitch/SectionScrollThemeSwitch.js","section/sectionSliderImages/SectionSliderImages.js","section/sectionSliderProjects/SectionSliderProjects.js","section/sectionSliderProjectsFullscreen/SectionSliderProjectsFullscreen.js","section/sectionTestimonials/SectionTestimonials.js","slider/sliderImages/SliderImages.js","slider/sliderMenu/SliderMenu.js","slider/sliderProjects/SliderProjects.js","slider/sliderProjectsFullscreen/SliderProjectsFullscreen.js","slider/sliderTestimonials/SliderTestimonials.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;ACvCA;AACA;AACA;AACA;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;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AC5FA;AACA;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;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;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;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;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACndA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACr8BA;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;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;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;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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 * and include plugins\n */\ngsap.config({ nullTargetWarn: false });\ngsap.registerPlugin(DrawSVGPlugin);\ngsap.registerPlugin(ScrollTrigger);\n\n/**\n * Global Vars\n */\nwindow.$document = $(document);\nwindow.$window = $(window);\nwindow.$body = $('body');\nwindow.$html = $('html');\nwindow.$pageHeader = $('#page-header');\nwindow.$pagePreloader = $('#js-preloader');\nwindow.$pageWrapper = $('#page-wrapper');\nwindow.$pageContent = $('.page-wrapper__content');\nwindow.$transitionCurtain = $('#js-page-transition-curtain');\nwindow.$barbaWrapper = $('[data-barba=\"wrapper\"]');\nwindow.$cursor = $('#js-arts-cursor');\nwindow.$spinner = $('#js-spinner');\n\n/**\n * Default Template Options\n */\nif (typeof window.kinsey === 'undefined') {\n\twindow.kinsey = {\n\t\tloading: new Preloader(),\n\t\ttheme: {\n\t\t\tajax: {\n\t\t\t\tenabled: true,\n\t\t\t\tpreventRules: '', // jQuery selectors of the elements to exclude them from AJAX transitions\n\t\t\t\tupdateNodesAttributes: '',\n\t\t\t\tupdateScriptNodes: '',\n\t\t\t\tloadMissingScripts: true,\n\t\t\t\tloadMissingStyles: true,\n\t\t\t\tevalInlineContainerScripts: false\n\t\t\t},\n\t\t\tanimations: {\n\t\t\t\ttriggerHook: 0.15,\n\t\t\t\ttimeScale: { // slow down or speed up the animations\n\t\t\t\t\tonScrollReveal: 1.0,\n\t\t\t\t\toverlayMenuOpen: 1.0,\n\t\t\t\t\toverlayMenuClose: 1.5,\n\t\t\t\t\tpreloader: 1.0,\n\t\t\t\t\tajaxFlyingImageTransition: 1.0,\n\t\t\t\t\tajaxCurtainTransition: 1.0\n\t\t\t\t}\n\t\t\t},\n\t\t\tcursorFollower: {\n\t\t\t\tenabled: true,\n\t\t\t\thighlight: {\n\t\t\t\t\tscale: 1.5\n\t\t\t\t},\n\t\t\t\tarrows: {\n\t\t\t\t\tdistance: 45\n\t\t\t\t},\n\t\t\t\ttrailing: 8,\n\t\t\t\tanimationDuration: 0.25\n\t\t\t},\n\t\t\tsmoothScroll: { // more info https://github.com/idiotWu/smooth-scrollbar/tree/develop/docs\n\t\t\t\tenabled: true,\n\t\t\t\tdamping: 0.12,\n\t\t\t\trenderByPixels: true,\n\t\t\t\tcontinuousScrolling: false,\n\t\t\t\tplugins: {\n\t\t\t\t\tedgeEasing: true,\n\t\t\t\t\tdisableScroll: {\n\t\t\t\t\t\tdirection: 'x'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tmobileBarFix: {\n\t\t\t\tenabled: true,\n\t\t\t\tupdate: true\n\t\t\t},\n\t\t\tisFirstLoad: true\n\t\t},\n\t\tassets: {\n\t\t\tpromises: []\n\t\t}\n\t}\n}\n\n/* Start Preloader */\nwindow.kinsey.loading.start();\n\n/**\n * Page Load Strategy\n */\ndocument.addEventListener('DOMContentLoaded', (e) => {\n\n\tnew Animations();\n\n\t// init on each AJAX transition\n\tif (e.detail) {\n\n\t\tinitComponents(e.detail);\n\n\t} else { // init only on initial page load\n\n\t\tinitComponentsOnce({\n\t\t\tscope: window.$document\n\t\t});\n\n\t\tinitComponents({\n\t\t\tscope: window.$document\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\twindow.kinsey.loading.finish();\n\t\t}, 1200);\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\tscrollToHashElement = true\n}) {\n\n\tconst\n\t\t$smoothScrollContainer = container.filter('.js-smooth-scroll'),\n\t\t$sectionMasthead = scope.find('.section-masthead:not(.d-none):not(.js-cancel-init)'),\n\t\t$sectionSliderProjects = scope.find('.section-slider-projects'),\n\t\t$sectionSliderProjectsFullscreen = scope.find('.section-slider-projects-fullscreen'),\n\t\t$sectionNavProjects = scope.find('.section-nav-projects'),\n\t\t$sectionSliderImages = scope.find('.section-slider-images'),\n\t\t$sectionHorizontalScroll = scope.find('[data-arts-horizontal-scroll=\"container\"]'),\n\t\t$sectionFixedReveal = scope.find('[data-arts-fixed-reveal]'),\n\t\t$sectionContent = scope.find('.section-content'),\n\t\t$sectionTestimonials = scope.find('.section-testimonials'),\n\t\t$sectionScrollThemeSwitch = scope.find('.section-scroll-theme-switch'),\n\t\t$googleMap = scope.find('.js-gmap'),\n\t\t$hoverGroup = scope.find('[data-arts-hover-class]'),\n\t\t$buttonCircles = scope.find('.js-button-circles'),\n\t\t$gallery = scope.find('.js-gallery'),\n\t\t$sectionGrid = scope.find('.section-grid'),\n\t\t$scrollDown = scope.find('[data-arts-scroll-down]'),\n\t\t$countDown = scope.find('[data-count-down]'),\n\t\t$formContact = scope.find('.js-ajax-form');\n\n\tif ($smoothScrollContainer.length) {\n\t\tnew SmoothScroll({\n\t\t\ttarget: $smoothScrollContainer,\n\t\t\tadminBar: $('#wpadminbar'),\n\t\t\tabsoluteElements: $('[data-arts-scroll-absolute]'), // correct handling of absolute elements OUTSIDE scrolling container\n\t\t\tfixedElements: $('[data-arts-scroll-fixed]') // correct handling of fixed elements INSIDE scrolling container\n\t\t});\n\t}\n\n\tif ($sectionMasthead.length) {\n\t\t$sectionMasthead.each(function () {\n\t\t\tnew SectionMasthead({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\t// mobile bottom bar height fix\n\tif (window.kinsey.theme.mobileBarFix.enabled) {\n\t\tnew MobileBarHeight();\n\t}\n\n\tif ($sectionGrid.length) {\n\t\t$sectionGrid.each(function () {\n\t\t\tnew SectionGrid({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionSliderProjectsFullscreen.length) {\n\t\t$sectionSliderProjectsFullscreen.each(function () {\n\t\t\tnew SectionSliderProjectsFullscreen({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionSliderProjects.length) {\n\t\t$sectionSliderProjects.each(function () {\n\t\t\tnew SectionSliderProjects({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionSliderImages.length) {\n\t\t$sectionSliderImages.each(function () {\n\t\t\tnew SectionSliderImages({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionHorizontalScroll.length) {\n\t\t$sectionHorizontalScroll.each(function() {\n\t\t\tnew SectionHorizontalScroll({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionFixedReveal.length) {\n\t\t$sectionFixedReveal.each(function () {\n\t\t\tnew SectionFixedReveal({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($buttonCircles.length) {\n\t\t$buttonCircles.each(function () {\n\t\t\tnew ButtonCircles({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($hoverGroup.length) {\n\t\t$hoverGroup.each(function () {\n\t\t\tnew ArtsHover({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tnew Form({\n\t\ttarget: scope,\n\t\tscope\n\t});\n\n\tif ($formContact.length) {\n\t\t$formContact.each(function () {\n\t\t\tnew FormAJAX({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($googleMap.length) {\n\t\tAssetsManager\n\t\t\t.loadGoogleMap({\n\t\t\t\tid: 'googlemap'\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\t$googleMap.each(function () {\n\t\t\t\t\tnew GMap({\n\t\t\t\t\t\ttarget: $(this),\n\t\t\t\t\t\tscope\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tif ($sectionContent.length) {\n\t\t$sectionContent.each(function () {\n\t\t\tnew SectionContent({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionTestimonials.length) {\n\t\t$sectionTestimonials.each(function () {\n\t\t\tnew SectionTestimonials({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($sectionScrollThemeSwitch.length) {\n\t\t$sectionScrollThemeSwitch.each(function () {\n\t\t\tnew SectionScrollThemeSwitch({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t})\n\t}\n\n\tif ($gallery.length) {\n\t\t$gallery.each(function () {\n\t\t\tnew PSWPGallery({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope,\n\t\t\t\toptions: { // Pass your custom PhotoSwipe options here https://photoswipe.com/documentation/options.html\n\t\t\t\t\thistory: window.kinsey.theme.ajax.enabled ? false : true, // galleries URLs navigation is NOT compatible with AJAX\n\t\t\t\t\tshowAnimationDuration: 300,\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tif ($scrollDown.length) {\n\t\t$scrollDown.each(function () {\n\t\t\tnew ScrollDown({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope,\n\t\t\t\tduration: 0.6\n\t\t\t});\n\t\t})\n\t}\n\n\tif ($countDown.length) {\n\t\t$countDown.each(function () {\n\t\t\tnew CountDown({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t})\n\t}\n\n\tif ($sectionNavProjects.length) {\n\t\t$sectionNavProjects.each(function () {\n\t\t\tnew SectionNavProjects({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n\t// refresh animation triggers\n\t// for Waypoints library\n\tif (typeof Waypoint !== 'undefined') {\n\t\tWaypoint.refreshAll();\n\t}\n\n\t// scroll to anchor from URL hash\n\tif (scrollToHashElement) {\n\t\tScroll.scrollToAnchorFromHash();\n\t}\n}\n\n/**\n * Init Template Components\n * only once after the initial\n * page load\n */\nfunction initComponentsOnce({\n\tscope = window.$document,\n\tcontainer = window.$pageWrapper\n}) {\n\n\tconst $sliderMenu = scope.find('.js-slider-menu');\n\n\t// Run cursor follower on non-touch devices\n\tif (window.kinsey.theme.cursorFollower.enabled && !window.Modernizr.touchevents && window.$cursor.length) {\n\t\twindow.$html.addClass('cursorfollower');\n\t\twindow.$cursor.artsCursor({\n\t\t\ttarget: {\n\t\t\t\tcursor: '[data-arts-cursor]',\n\t\t\t\tmagnetic: '[data-arts-cursor-magnetic]',\n\t\t\t\thighlight: 'a:not(a[data-arts-cursor]):not(.social__item a):not(a.page-numbers):not(.js-arts-cursor-no-highlight), .js-arts-cursor-highlight, button:not(button[data-arts-cursor])',\n\t\t\t\thideNative: '[data-arts-cursor-hide-native]',\n\t\t\t\thideScaleMagnetic: '.slider__dot, .social__item, a.page-numbers',\n\t\t\t},\n\t\t\telements: {\n\t\t\t\tfollower: '.js-arts-cursor__follower',\n\t\t\t\tstroke: {\n\t\t\t\t\tinner: '.js-arts-cursor__stroke-inner',\n\t\t\t\t\touter: '.js-arts-cursor__stroke-outer',\n\t\t\t\t},\n\t\t\t\tarrow: {\n\t\t\t\t\tup: '.js-arts-cursor__arrow-up',\n\t\t\t\t\tdown: '.js-arts-cursor__arrow-down',\n\t\t\t\t\tleft: '.js-arts-cursor__arrow-left',\n\t\t\t\t\tright: '.js-arts-cursor__arrow-right',\n\t\t\t\t},\n\t\t\t\tcontainer: {\n\t\t\t\t\tlabel: '.js-arts-cursor__label',\n\t\t\t\t\ticon: '.js-arts-cursor__icon'\n\t\t\t\t}\n\t\t\t},\n\t\t\teffect: window.kinsey.theme.cursorFollower || {}\n\t\t});\n\t} else {\n\t\twindow.$html.addClass('no-cursorfollower');\n\t}\n\n\t// Run AJAX navigation\n\tif (window.kinsey.theme.ajax.enabled && window.$barbaWrapper.length) {\n\t\tnew PJAX({\n\t\t\ttarget: window.$barbaWrapper,\n\t\t});\n\t}\n\n\t// Run page header\n\twindow.kinsey.theme.header = new Header({\n\t\ttarget: window.$pageHeader,\n\t\tscope\n\t});\n\n\tif ($sliderMenu.length) {\n\t\t$sliderMenu.each(function () {\n\t\t\tnew SliderMenu({\n\t\t\t\ttarget: $(this),\n\t\t\t\tscope\n\t\t\t});\n\t\t});\n\t}\n\n}\n","/* ======================================================================== */\n/* 1. Animations */\n/* ======================================================================== */\nclass Animations {\n constructor() {\n this.defaults = {\n duration: 1.2\n };\n\n this._animateCounter();\n this._animateHeadline();\n this._animateJump();\n this._animateMask();\n this._animateScale();\n this._animateStroke();\n\n this._setCurtain();\n this._revealCurtain();\n\n this._hideCurtain();\n this._hideHeadline();\n this._hideJump();\n this._hideMask();\n this._hideScale();\n }\n\n static refresh(target = null, immediate = false) {\n if (target) {\n window.dispatchEvent(new CustomEvent('arts/scrolltrigger/update', {\n detail: {\n target,\n immediate\n }\n }));\n }\n }\n\n static refreshAll(immediate = false) {\n ScrollTrigger.getAll().forEach((instance) => {\n instance.refresh(immediate);\n });\n }\n\n static enableAll() {\n ScrollTrigger.getAll().forEach((instance) => {\n if (!instance.enabled) {\n instance.enable();\n }\n });\n }\n\n static disableAll(revert = false) {\n ScrollTrigger.getAll().forEach((instance) => instance.disable(revert));\n }\n\n static killAll(revert = false) {\n ScrollTrigger.getAll().forEach((instance) => {\n instance.kill(revert);\n instance = null;\n });\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 return tl.set($target, config);\n },\n extendTimeline: true,\n defaults: {\n scaleY: 0,\n transformOrigin: 'bottom center'\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 return tl.to(target, config);\n },\n extendTimeline: true,\n defaults: {\n duration: this.defaults.duration,\n transformOrigin: 'bottom center',\n scaleY: 1,\n ease: 'expo.inOut'\n }\n });\n }\n\n _hideCurtain() {\n gsap.registerEffect({\n name: 'hideCurtain',\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 return tl.to($target, config)._setCurtain($target);\n\n },\n extendTimeline: true,\n defaults: {\n duration: this.defaults.duration,\n transformOrigin: 'top center',\n scaleY: 0,\n ease: 'expo.inOut'\n }\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 'start':\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 case 'end':\n config.transformOrigin = 'right center';\n break;\n }\n\n }\n\n return gsap.fromTo($target, {\n scaleX: 0,\n immediateRender: true\n }, config);\n },\n defaults: {\n scaleX: 1,\n scaleY: 1,\n duration: this.defaults.duration,\n ease: 'expo.inOut',\n },\n extendTimeline: true,\n });\n }\n\n _hideHeadline() {\n gsap.registerEffect({\n name: 'hideHeadline',\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: 0,\n duration: this.defaults.duration,\n ease: 'expo.inOut',\n },\n extendTimeline: true,\n });\n }\n\n _animateMask() {\n gsap.registerEffect({\n name: 'animateMask',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target),\n inlineScale = $target.data('arts-mask-scale-set'),\n $maskLayer1 = $target.find('.mask-reveal__layer-1'),\n $maskLayer2 = $target.find('.mask-reveal__layer-2'),\n initialPosition = {\n maskLayer1: {\n x: '0%',\n y: '0%',\n immediateRender: true\n },\n maskLayer2: {\n x: '0%',\n y: '0%',\n transformOrigin: 'center center',\n scale: inlineScale || config.scale || 1,\n immediateRender: true\n }\n };\n\n if ($maskLayer1.length && $maskLayer2.length) {\n switch (config.direction) {\n case 'up':\n initialPosition.maskLayer1.y = '-101%';\n initialPosition.maskLayer2.y = '101%';\n break;\n case 'right':\n initialPosition.maskLayer1.x = '101%';\n initialPosition.maskLayer2.x = '-101%';\n break;\n case 'left':\n initialPosition.maskLayer1.x = '-101%';\n initialPosition.maskLayer2.x = '101%';\n break;\n default:\n initialPosition.maskLayer1.y = '101%';\n initialPosition.maskLayer2.y = '-101%';\n break;\n }\n\n tl\n .add([\n gsap.set($maskLayer1, initialPosition.maskLayer1),\n gsap.set($maskLayer2, initialPosition.maskLayer2)\n ])\n .add([\n gsap.to([$maskLayer1, $maskLayer2], {\n x: config.x,\n y: config.y,\n duration: config.duration,\n ease: config.ease\n }),\n gsap.to($maskLayer2, {\n duration: config.duration * 1.25,\n transformOrigin: 'center center',\n scale: 1\n })\n ])\n .set([$maskLayer1, $maskLayer2], {\n clearProps: 'transform'\n });\n }\n\n return tl;\n },\n defaults: {\n x: '0%',\n y: '0%',\n duration: this.defaults.duration,\n scale: isBrowserFirefox() ? 1.0 : 1.2,\n ease: 'expo.inOut',\n direction: 'down'\n },\n extendTimeline: true,\n });\n }\n\n _hideMask() {\n gsap.registerEffect({\n name: 'hideMask',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target),\n inlineScale = $target.data('arts-mask-scale-set'),\n $maskLayer1 = $target.find('.mask-reveal__layer-1'),\n $maskLayer2 = $target.find('.mask-reveal__layer-2'),\n animatedPosition = {\n maskLayer1: {\n x: '0%',\n y: '0%',\n duration: config.duration,\n ease: config.ease || 'expo.inOut'\n },\n maskLayer2: {\n x: '0%',\n y: '0%',\n duration: config.duration,\n transformOrigin: 'center center',\n scale: inlineScale || config.scale || 1,\n ease: config.ease || 'expo.inOut'\n }\n };\n\n if ($maskLayer1.length && $maskLayer2.length) {\n switch (config.direction) {\n case 'up':\n animatedPosition.maskLayer1.y = '101%';\n animatedPosition.maskLayer2.y = '-101%';\n break;\n case 'right':\n animatedPosition.maskLayer1.x = '101%';\n animatedPosition.maskLayer2.x = '-101%';\n break;\n case 'left':\n animatedPosition.maskLayer1.x = '-101%';\n animatedPosition.maskLayer2.x = '101%';\n break;\n default:\n animatedPosition.maskLayer1.y = '-101%';\n animatedPosition.maskLayer2.y = '101%';\n break;\n }\n\n tl\n .add([\n gsap.to($maskLayer1, animatedPosition.maskLayer1),\n gsap.to($maskLayer2, animatedPosition.maskLayer2)\n ]);\n }\n\n return tl;\n },\n defaults: {\n x: '0%',\n y: '0%',\n duration: this.defaults.duration,\n scale: isBrowserFirefox() ? 1.0 : 1.2,\n ease: 'expo.inOut',\n direction: 'down'\n },\n extendTimeline: true,\n });\n }\n\n _animateJump() {\n gsap.registerEffect({\n name: 'animateJump',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target),\n fromConfig = $.extend(config, {\n autoAlpha: 0,\n immediateRender: true\n });\n\n if ($target.length) {\n tl.fromTo($target, fromConfig, {\n autoAlpha: 1,\n x: 0,\n y: 0,\n scaleY: 1,\n scaleX: 1,\n ease: 'power3.out'\n }).set($target, {\n clearProps: 'all'\n });\n }\n\n return tl;\n },\n defaults: {\n duration: this.defaults.duration,\n y: 30,\n x: 0,\n scaleY: 1,\n scaleX: 1,\n ease: 'power3.out',\n },\n extendTimeline: true,\n });\n }\n\n _hideJump() {\n gsap.registerEffect({\n name: 'hideJump',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n if ($target.length) {\n tl.to($target, config);\n }\n\n return tl;\n },\n defaults: {\n duration: this.defaults.duration,\n y: '-33%',\n transformOrigin: 'top center',\n autoAlpha: 0,\n ease: 'power3.out',\n },\n extendTimeline: true,\n });\n }\n\n _animateScale() {\n gsap.registerEffect({\n name: 'animateScale',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n let\n scaleX = 1,\n scaleY = 1,\n transformOrigin = 'bottom center';\n\n switch (config.direction) {\n case 'left':\n transformOrigin = 'left center';\n config.scaleX = 0;\n break;\n case 'right':\n transformOrigin = 'right center';\n config.scaleX = 0;\n break;\n case 'up':\n transformOrigin = 'top center';\n config.scaleY = 0;\n break;\n case 'center':\n transformOrigin = 'center center';\n config.scaleX = 0;\n config.scaleY = 0;\n break;\n default:\n transformOrigin = 'bottom center';\n config.scaleY = 0;\n break;\n }\n\n return tl.fromTo($target, config, {\n scaleX,\n scaleY,\n transformOrigin,\n ease: config.ease,\n duration: config.duration\n });\n },\n defaults: {\n duration: this.defaults.duration,\n ease: 'expo.inOut',\n direction: 'down',\n immediateRender: true\n },\n extendTimeline: true,\n });\n\n }\n\n _hideScale() {\n gsap.registerEffect({\n name: 'hideScale',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target);\n\n let\n scaleX = 1,\n scaleY = 1,\n transformOrigin = 'bottom center';\n\n switch (config.direction) {\n case 'left':\n transformOrigin = 'left center';\n config.scaleX = 0;\n break;\n case 'right':\n transformOrigin = 'right center';\n config.scaleX = 0;\n break;\n case 'up':\n transformOrigin = 'top center';\n config.scaleY = 0;\n break;\n case 'center':\n transformOrigin = 'center center';\n config.scaleX = 0;\n config.scaleY = 0;\n break;\n default:\n transformOrigin = 'bottom center';\n config.scaleY = 0;\n break;\n }\n\n return tl.fromTo($target, {\n scaleX,\n scaleY,\n transformOrigin,\n ease: config.ease,\n duration: config.duration\n }, config);\n },\n defaults: {\n scaleY: 0,\n scaleX: 1,\n duration: this.defaults.duration,\n ease: 'expo.inOut',\n direction: 'up',\n immediateRender: true\n },\n extendTimeline: true,\n });\n\n }\n\n _animateStroke() {\n gsap.registerEffect({\n name: 'animateStroke',\n effect: (target, config) => {\n const\n $target = $(target).find('.circle');\n\n return gsap.fromTo($target, {\n rotate: 90,\n transformOrigin: 'center center',\n drawSVG: '100% 100%',\n },{\n rotate: 0,\n transformOrigin: 'center center',\n drawSVG: '0% 100%',\n immediateRender: true,\n duration: config.duration,\n ease: config.ease\n });\n },\n defaults: {\n duration: this.defaults.duration,\n ease: 'expo.inOut',\n },\n extendTimeline: true,\n });\n }\n\n _animateCounter() {\n gsap.registerEffect({\n name: 'animateCounter',\n effect: (target, config) => {\n const\n tl = new gsap.timeline(),\n $target = $(target),\n prefix = config.prefix ? config.prefix : '',\n suffix = config.suffix ? config.suffix : '',\n $num = $target.find('.js-counter__number');\n\n let counter = {\n val: config.start\n },\n value = parseFloat(config.start).toFixed(0);\n\n if ($num.length) {\n value = prefix + _addZeros(value, config.zeros) + suffix;\n\n $num.text(value);\n tl\n .add([\n gsap.effects.animateStroke($target, {\n duration: config.duration,\n ease: config.ease\n }),\n gsap.to(counter, {\n onUpdate: () => {\n value = parseFloat(counter.val).toFixed(0);\n value = _addZeros(value, config.zeros);\n $num.text(prefix + value + suffix);\n },\n val: parseFloat(config.target).toFixed(0),\n duration: config.duration,\n ease: config.ease\n }),\n ]);\n }\n\n return tl;\n },\n defaults: {\n prefix: '',\n suffix: '',\n start: 0,\n target: 100,\n zeros: 2,\n duration: this.defaults.duration,\n ease: 'power4.out',\n },\n extendTimeline: true,\n });\n\n function _addZeros(value, zeros) {\n while (value.toString().length < zeros) {\n value = '0' + value;\n }\n\n return value;\n }\n\n }\n}\n","/* ======================================================================== */\n/* 2. AssetsManager */\n/* ======================================================================== */\nclass AssetsManager {\n static load({\n type = undefined, // script | stylesheet\n src = null,\n id = null, // id attribute in DOM\n refElement,\n version = null,\n timeout = 15000,\n cache = false\n }) {\n return new Promise((resolve, reject) => {\n // Don't load asset that is pending to load\n if (cache && id in window.kinsey.assets.promises) {\n // return existing loading promise\n window.kinsey.assets.promises[id].then(resolve, reject);\n return;\n }\n\n // CSS\n if (type === 'style') {\n const stylePromise = AssetsManager.loadStyle({ src, id, refElement, timeout, version });\n\n window.kinsey.assets.promises[id] = stylePromise;\n return stylePromise.then(resolve, reject);\n\n } else if (type === 'script') { // JS\n const scriptPromise = AssetsManager.loadScript({ src, id, refElement, timeout, version });\n\n window.kinsey.assets.promises[id] = scriptPromise;\n\n return scriptPromise.then(resolve, reject);\n\n } else { // Unknown type\n reject(new TypeError('Resource type \"style\" or \"script\" is missing.'));\n }\n });\n }\n\n static loadScript({\n src = null,\n id = null,\n refElement = document.body,\n version = null,\n timeout = 15000\n }) {\n return new Promise((resolve, reject) => {\n const\n element = document.querySelector(`script[id=\"${id}\"]`),\n head = document.getElementsByTagName('head')[0];\n\n let script, timer, preload;\n\n if (!src) {\n reject(new TypeError('Resource URL is missing.'));\n return;\n }\n\n if (!id) {\n reject(new TypeError('Resource ID attribute is missing.'));\n return;\n }\n\n if (typeof element === 'undefined' || element === null) {\n\n if (version) {\n src += `?ver=${version}`;\n }\n\n if (window.kinsey.theme.isFirstLoad) {\n preload = document.createElement('link');\n preload.setAttribute('rel', 'preload');\n preload.setAttribute('href', src);\n preload.setAttribute('as', 'script');\n preload.setAttribute('type', 'text/javascript');\n head.prepend(preload);\n }\n\n script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('async', 'async');\n script.setAttribute('src', src);\n script.setAttribute('id', id);\n refElement.append(script);\n\n script.onerror = (error) => {\n cleanup();\n refElement.removeChild(script);\n script = null;\n reject(new Error(`A network error occured while trying to load resouce ${src}`));\n }\n\n if (script.onreadystatechange === undefined) {\n script.onload = onload;\n } else {\n script.onreadystatechange = onload;\n }\n\n timer = setTimeout(script.onerror, timeout);\n\n } else {\n resolve(element);\n }\n\n function cleanup() {\n clearTimeout(timer);\n timer = null;\n script.onerror = script.onreadystatechange = script.onload = null;\n }\n\n function onload() {\n cleanup();\n if (!script.onreadystatechange || (script.readyState && script.readyState == 'complete')) {\n resolve(script);\n return;\n }\n }\n });\n }\n\n static loadStyle({\n src = null,\n id = null,\n refElement = document.head.querySelector('link[type=\"text/css\"]'),\n version = null,\n timeout = 15000\n }) {\n return new Promise((resolve, reject) => {\n const\n element = document.querySelector(`link[id=\"${id}\"]`),\n head = document.getElementsByTagName('head')[0];\n\n // don't load resouce that already exists\n if (typeof element !== 'undefined' && element !== null) {\n resolve(element);\n }\n\n if (!src) {\n reject(new TypeError('Resource URL is missing.'));\n }\n\n if (!id) {\n reject(new TypeError('Resource ID attribute is missing.'))\n }\n\n let\n link = document.createElement('link'),\n timer,\n sheet,\n cssRules,\n preload,\n c = (timeout || 10) * 100;\n\n if (version) {\n src += `?ver=${version}`;\n }\n\n if (window.kinsey.theme.isFirstLoad) {\n preload = document.createElement('link');\n preload.setAttribute('rel', 'preload');\n preload.setAttribute('href', src);\n preload.setAttribute('as', 'style');\n preload.setAttribute('type', 'text/css');\n head.prepend(preload);\n }\n\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.setAttribute('href', src);\n\n if (typeof refElement !== 'undefined' && refElement !== null) {\n head.insertBefore(link, refElement);\n } else {\n head.append(link);\n }\n\n link.onerror = function (error) {\n if (timer) {\n clearInterval(timer);\n }\n timer = null;\n\n reject(new Error(`A network error occured while trying to load resouce ${src}`));\n };\n\n if ('sheet' in link) {\n sheet = 'sheet';\n cssRules = 'cssRules';\n } else {\n sheet = 'styleSheet';\n cssRules = 'rules';\n }\n\n timer = setInterval(function () {\n try {\n if (link[sheet] && link[sheet][cssRules].length) {\n clearInterval(timer);\n timer = null;\n resolve(link);\n return;\n }\n } catch (e) {}\n\n if (c-- < 0) {\n clearInterval(timer);\n timer = null;\n reject(new Error(`A network error occured while trying to load resouce ${src}`));\n }\n }, 10);\n\n\n });\n }\n\n static loadGoogleMap({ id = 'googlemap' }) {\n return new Promise((resolve) => {\n const mapScript = document.getElementById(id);\n\n if ((typeof google === 'undefined' || typeof google.maps === 'undefined') && typeof mapScript !== 'undefined' && mapScript !== null) {\n AssetsManager\n .load({\n type: 'script',\n id: mapScript.id,\n src: mapScript.src\n })\n .then(() => resolve(true));\n } else {\n resolve(true);\n }\n });\n }\n}\n","/* ======================================================================== */\n/* 3. BaseComponent */\n/* ======================================================================== */\nclass BaseComponent {\n\n\tconstructor({\n\t\ttarget,\n\t\tscope = window.$document,\n\t}) {\n\t\tthis.$scope = scope;\n\t\tthis.$target = target;\n\t\tthis.target = this.$target.get(0);\n\t\tthis.$el = this.$target;\n\t\tthis.el = this.$el.get(0);\n\n\t\tthis.prepare();\n\t}\n\n\tprepare() {\n\t\tthis\n\t\t\t.mount()\n\t\t\t.then(() => {\n\t\t\t\tthis.set();\n\t\t\t\tthis.run();\n\t\t\t});\n\t}\n\n\tset() {\n\n\t}\n\n\tinit() {\n\n\t}\n\n\t_loadAnimations() {\n\t\tthis.createAnimationScene({\n\t\t\t$el: this.$target\n\t\t});\n\t\tthis.animateIn();\n\t\tthis.animateInBatch();\n\t}\n\n\trun() {\n\n\t\tif (this.hasAnimationScene()) {\n\t\t\t// animate element out on transition start\n\t\t\twindow.$window.one('arts/barba/transition/start', () => {\n\t\t\t\t// only currently visible elements\n\t\t\t\tif (this.$target.is(':in-viewport')) {\n\t\t\t\t\tthis.animateOut();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.hasInnerAnimationScenes()) {\n\t\t\twindow.$window.one('arts/barba/transition/start', () => {\n\t\t\t\t// only currently visible elements\n\t\t\t\tif (this.$target.is(':in-viewport')) {\n\t\t\t\t\tthis.animateOutBatch();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// * Active preloader\n\t\t// wait until preloader is ended\n\t\tif (window.$pagePreloader.is(':visible')) {\n\t\t\twindow.$window.one('arts/preloader/end', () => {\n\t\t\t\tthis._loadAnimations();\n\t\t\t\tthis.init();\n\t\t\t});\n\t\t} else if (!window.kinsey.theme.isFirstLoad) { // * AJAX transition – wait until transition end\n\t\t\twindow.$window.one('arts/barba/transition/end', () => {\n\t\t\t\tthis._loadAnimations();\n\t\t\t\tthis.init();\n\t\t\t});\n\t\t} else { // * No preloader and no transition\n\t\t\tthis._loadAnimations();\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\tmount() {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst\n\t\t\t\t$lazyImages = this.$target.find('.lazy img[data-src]:not(.swiper-lazy):not([data-arts-horizontal-scroll=\"wrapper\"] .lazy img [data-src])'),\n\t\t\t\t$lazyBackgrounds = this.$target.find('.lazy-bg[data-src]:not(.swiper-lazy):not([data-arts-horizontal-scroll=\"wrapper\"] .lazy-bg[data-src])'),\n\t\t\t\t$parallaxElements = this.$target.filter('.js-arts-parallax').add(this.$target.find('.js-arts-parallax'));\n\n\t\t\t// set lazy loading images\n\t\t\tif ($lazyImages.length) {\n\t\t\t\tthis.lazyImages = new LazyLoad({\n\t\t\t\t\timages: $lazyImages\n\t\t\t\t});\n\n\t\t\t\twindow.$window.one('arts/barba/transition/start', this.lazyImages.destroy);\n\t\t\t}\n\n\t\t\t// set lazy loading backgrounds\n\t\t\tif ($lazyBackgrounds.length) {\n\t\t\t\tthis.lazyBackgrounds = new LazyLoad({\n\t\t\t\t\tbackgrounds: $lazyBackgrounds\n\t\t\t\t});\n\n\t\t\t\twindow.$window.one('arts/barba/transition/start', this.lazyBackgrounds.destroy);\n\t\t\t}\n\n\t\t\t// set parallax elements\n\t\t\tif ($parallaxElements.length) {\n\t\t\t\tthis.parallax = $parallaxElements.artsParallax();\n\t\t\t}\n\n\t\t\t// prepare all the texts to split\n\t\t\t// wait for the fonts to load first\n\t\t\tdocument.fonts.ready.then(() => {\n\t\t\t\tconst t = this.$target\n\t\t\t\t\t.find('.js-arts-split-text')\n\t\t\t\t\t.artsSplitText()\n\t\t\t\t\t.find('.arts-split-text__line')\n\t\t\t\t\t.filter(function () {\n\t\t\t\t\t\tconst\n\t\t\t\t\t\t\t$this = $(this),\n\t\t\t\t\t\t\tdisplay = $this.css('display');\n\n\t\t\t\t\t\treturn display === 'inline-block' || display === 'inline-flex';\n\t\t\t\t\t});\n\n\t\t\t\t\t// split lines that became inline-block with a divider\n\t\t\t\t\t$(`
`).insertAfter(t);\n\n\t\t\t\t\tresolve(true);\n\t\t\t});\n\t\t});\n\t}\n\n\thasAnimationScene() {\n\t\tconst attr = this.target.hasAttribute('data-arts-os-animation');\n\t\treturn attr && this.$target.attr('data-arts-os-animation') !== 'false';\n\t}\n\n\thasInnerAnimationScenes() {\n\t\treturn this.$target.find('[data-arts-os-animation]').length;\n\t}\n\n\tcreateAnimationScene({\n\t\t$el = this.$target,\n\t\ttimeline = false,\n\t\tscrub = false,\n\t\tonce = true,\n\t}) {\n\t\tconst timeScale = parseFloat(window.kinsey.theme.animations.timeScale.onScrollReveal) || 1;\n\n\t\t// create a timeline\n\t\tthis.timeline = timeline || new gsap.timeline({\n\t\t\tonStart: () => {\n\t\t\t\tif ($el.attr('data-arts-os-animation')) {\n\t\t\t\t\t$el.attr('data-arts-os-animation', 'animated');\n\t\t\t\t}\n\t\t\t\t$el.get(0).dispatchEvent(new CustomEvent('animation/start'));\n\t\t\t},\n\t\t\tonComplete: () => {\n\t\t\t\t$el.get(0).dispatchEvent(new CustomEvent('animation/complete'));\n\t\t\t}\n\t\t});\n\n\t\tthis.timeline.timeScale(timeScale);\n\n\t\t// ScrollTrigger animation scene\n\t\tthis.scrollTrigger = ScrollTrigger.create({\n\t\t\ttrigger: $el,\n\t\t\tanimation: this.timeline,\n\t\t\tstart: () => `top+=${window.kinsey.theme.animations.triggerHook * 100}% bottom`,\n\t\t\tscrub,\n\t\t\tonce\n\t\t});\n\n\t\t// animation out timeline\n\t\tthis.timelineOut = new gsap.timeline();\n\t}\n\n\tanimateIn() {\n\n\t}\n\n\tanimateInBatch() {\n\t\tif (!this.hasInnerAnimationScenes()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst\n\t\t\tself = this,\n\t\t\t$animations = this.$target.find('[data-arts-os-animation-name]:not(.js-transition-animated)'),\n\t\t\tstartTrigger = this.$target.attr('data-arts-os-animation-start') || `top+=${window.kinsey.theme.animations.triggerHook * 100}% bottom`,\n\t\t\tstagger = this.$target.attr('data-arts-os-animation-stagger') || 0.1,\n\t\t\ttimeScale = parseFloat(window.kinsey.theme.animations.timeScale.onScrollReveal) || 1;\n\n\t\tif ($animations.length) {\n\t\t\tself.scrollTriggerBatch = ScrollTrigger.batch($animations, {\n\t\t\t\tinterval: 0.05,\n\t\t\t\tstart: () => startTrigger,\n\t\t\t\tscrub: false,\n\t\t\t\tonce: true,\n\t\t\t\tonEnter: (batch) => {\n\t\t\t\t\tconst\n\t\t\t\t\t\ttl = new gsap.timeline();\n\n\t\t\t\t\t$(batch).each(function () {\n\t\t\t\t\t\tconst\n\t\t\t\t\t\t\t$this = $(this),\n\t\t\t\t\t\t\tanimationSet = $this.attr('data-arts-os-animation'),\n\t\t\t\t\t\t\tanimationName = $this.attr('data-arts-os-animation-name'),\n\t\t\t\t\t\t\tanimationParams = $this.attr('data-arts-os-animation-params') || '{}';\n\t\t\t\t\t\tlet parsedParamsObj = {};\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tparsedParamsObj = JSON.parse(self._prepareJSON(animationParams));\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error(`${animationParams} is not a valid parameters object`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (parsedParamsObj && animationName && typeof gsap.effects[animationName] === 'function') {\n\n\t\t\t\t\t\t\tif (animationSet) {\n\t\t\t\t\t\t\t\t$this.attr('data-arts-os-animation', 'animated');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttl[animationName]($this, parsedParamsObj, batch.length === 1 || !$this.is(':visible') ? '0' : `<${stagger}`).timeScale(timeScale);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tanimateOut() {\n\t}\n\n\tanimateOutBatch() {\n\t\tconst tl = new gsap.timeline();\n\n\t\tthis.$target.find('[data-arts-os-animation-name]:in-viewport').each(function () {\n\t\t\tconst\n\t\t\t\t$this = $(this),\n\t\t\t\tdefaultParams = {\n\t\t\t\t\tstagger: 0,\n\t\t\t\t\tdelay: 0,\n\t\t\t\t},\n\t\t\t\tcustomParams = $this.attr('data-arts-os-animation-params'),\n\t\t\t\tparams = $.extend(customParams, defaultParams),\n\t\t\t\tanimationName = $this.attr('data-arts-os-animation-name').replace('animate', 'hide');\n\n\t\t\tif (animationName && typeof gsap.effects[animationName] === 'function') {\n\t\t\t\t\ttl.add(gsap.effects[animationName]($this, params), '0');\n\t\t\t\t}\n\t\t});\n\t}\n\n\tanimateStagger({ target, params, stagger = 0, animationName }) {\n\t\tconst tl = new gsap.timeline();\n\n\t\tif (animationName && typeof tl[animationName] === 'function' && target && target.length) {\n\t\t\t$(target).each(function (index) {\n\t\t\t\ttl[animationName](this, params ? params : {}, index === 0 ? '0' : `<${stagger}`);\n\t\t\t});\n\t\t}\n\n\t\treturn tl;\n\t}\n\n\t_prepareJSON(strObj) {\n\t\tif (!strObj) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet filteredStr = strObj.replace(/'/g, '\"');\n\n\t\treturn filteredStr.replace(/(\\w+:)|(\\w+ :)/g, function (s) {\n\t\t\treturn '\"' + s.substring(0, s.length - 1) + '\":';\n\t\t});\n\t}\n\n}\n","/* ======================================================================== */\n/* 4. PSWP */\n/* ======================================================================== */\nclass 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, index),\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\t/**\n\t\t * Fallback iFrame\n\t\t */\n\t\tresult.type = 'iframe';\n\t\tresult.html = ``;\n\n\t\treturn result;\n\t}\n\n\t_getItems($galleryElement, activeIndex = 0) {\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 (index) {\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') && activeIndex === index, // autoplay only currently active item\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: // iframe\n\t\t\t\t\titem.html = ` `;\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","/* ======================================================================== */\n/* 5. Scroll */\n/* ======================================================================== */\nclass 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.0,\n y = 0.0,\n offsetY = 0.0,\n offsetX = 0.0,\n duration = 0.8,\n cb\n }) {\n return new Promise((resolve) => {\n\n let\n offsetElX = x,\n offsetElY = y;\n\n if (typeof x !== 'number') {\n offsetElX = $(x).offset().left - offsetX;\n }\n\n if (typeof y !== 'number') {\n offsetElY = $(y).offset().top - offsetY;\n }\n\n // smooth scrolling plugin\n if (typeof window.SB !== 'undefined') {\n\n window.SB.scrollTo(offsetElX, offsetElY, duration * 1000, {\n easing: (pos) => Scroll.getEasingScroll(pos),\n callback: () => {\n if (typeof cb === 'function') {\n cb();\n }\n resolve(true);\n }\n });\n\n } else { // regular window scrolling\n\n $('html, body').stop().animate({\n scrollLeft: offsetElX,\n scrollTop: offsetElY\n }, duration * 1000, 'easeInOutExpo', () => {\n if (typeof cb === 'function') {\n cb();\n }\n resolve(true);\n });\n\n }\n });\n }\n\n static scrollToTop() {\n\n // safari fix\n try {\n window.top.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } catch (error) {\n console.log(error);\n }\n\n if (typeof window.SB !== 'undefined') {\n window.SB.scrollTop = 0;\n window.pageYOffset = 0;\n window.pageXOffset = 0;\n } else {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n }\n\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 window.$html.add(window.$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 static scrollToAnchorFromHash(timeout = 1000) {\n if ( window.location.hash ) {\n const $scrollElement = $(window.location.hash);\n\n if ($scrollElement.length) {\n setTimeout(() => {\n Scroll.scrollTo({\n x: 0,\n y: $scrollElement.offset().top - 80\n });\n }, timeout);\n }\n }\n }\n\n static stop() {\n if (typeof window.SB !== 'undefined') {\n window.SB.setMomentum(0, 0);\n }\n }\n}\n","/* ======================================================================== */\n/* 6. Slider */\n/* ======================================================================== */\nclass Slider 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\t}\n\n\t_setDragging({ target }) {\n\t\tthis.drag = false;\n\n\t\tif (target && target.length && target.data('drag-cursor')) {\n\t\t\tthis.drag = {\n\t\t\t\tenabled: target.data('drag-cursor') || false,\n\t\t\t\tlabel: target.data('drag-label') || '',\n\t\t\t\tcustomClass: target.data('drag-class') || '',\n\t\t\t\tscale: target.data('drag-scale') || 1.7,\n\t\t\t\ticon: target.data('drag-icon') || '',\n\t\t\t\tdistance: target.data('drag-distance') || 50,\n\t\t\t\thide: target.data('drag-hide-cursor') || false\n\t\t\t};\n\t\t}\n\t}\n\n\t_getSliderDots({\n\t\tslider,\n\t\tcontainer\n\t}) {\n\t\treturn new SliderDots({\n\t\t\tslider,\n\t\t\tcontainer\n\t\t});\n\t}\n\n\t_getSliderCounter({\n\t\tslider,\n\t\tcounter = {\n\t\t\tcurrent,\n\t\t\ttotal,\n\t\t\tstyle,\n\t\t\tzeros\n\t\t}\n\t}) {\n\t\treturn new SliderCounter({\n\t\t\tslider: slider,\n\t\t\tsliderCounter: counter.current,\n\t\t\ttotal: counter.total,\n\t\t\tstyle: counter.style,\n\t\t\taddZeros: counter.zeros\n\t\t});\n\t}\n\n\t_emitDragEvents({\n\t\tslider,\n\t\tlabel,\n\t\tcustomClass,\n\t\tscale,\n\t\ticon,\n\t\tdistance,\n\t\thide\n\t}) {\n\n\t\tslider\n\t\t\t.on('touchStart', (e) => {\n\n\t\t\t\tif (slider.params.autoplay.enabled) {\n\t\t\t\t\tslider.autoplay.stop();\n\t\t\t\t}\n\n\t\t\t\tif (customClass) {\n\t\t\t\t\tslider.$el.addClass(customClass);\n\t\t\t\t}\n\n\t\t\t\twindow.$cursor.trigger({\n\t\t\t\t\ttype: 'startDragging',\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\tdirection: slider.params.direction,\n\t\t\t\t\t\tdistance,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tscale,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\thide\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t})\n\t\t\t.on('touchEnd', () => {\n\t\t\t\tif (slider.params.autoplay.enabled) {\n\t\t\t\t\tslider.autoplay.start();\n\t\t\t\t}\n\n\t\t\t\tif (customClass) {\n\t\t\t\t\tslider.$el.removeClass(customClass);\n\t\t\t\t}\n\n\t\t\t\twindow.$cursor.trigger('finishDragging');\n\t\t\t});\n\t}\n\n\t_setAutoplayAnimation({ parent, slider }) {\n\t\tif (parent &&\n\t\t\tparent.length &&\n\t\t\tparent.attr('data-arts-os-animation') &&\n\t\t\tslider &&\n\t\t\tslider.params.autoplay &&\n\t\t\tslider.params.autoplay.enabled === true) {\n\n\t\t// enable autoplay only once OS animation is completed\n\t\tparent\n\t\t\t.one('animation/start', () => {\n\t\t\t\tslider.autoplay.stop();\n\t\t\t})\n\t\t\t.one('animation/complete', () => {\n\t\t\t\tslider.autoplay.start();\n\t\t\t});\n\t\t}\n\t}\n\n\t_pauseAutoplay(slider) {\n\t\tif (slider && slider.params.autoplay.enabled) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tslider.autoplay.stop();\n\t\t\t}, 100);\n\n\t\t\twindow.$window.on('arts/barba/transition/start', () => {\n\t\t\t\tslider.autoplay.stop();\n\t\t\t});\n\t\t}\n\t}\n\n\t_pauseAutoplayOnOutOfView({ trigger, slider }) {\n\t\tif (trigger && slider && slider.params.autoplay && slider.params.autoplay.enabled) {\n\t\t\t// stop autoplay initialy\n\t\t\tslider.autoplay.stop();\n\n\t\t\tconst\n\t\t\t\tpauseAutoplayTrigger = ScrollTrigger.create({\n\t\t\t\ttrigger: trigger,\n\t\t\t\tonce: false,\n\t\t\t\tscrub: true,\n\t\t\t\tinvalidateOnRefresh: true,\n\t\t\t\tstart: 'top bottom',\n\t\t\t\tend: 'bottom top',\n\t\t\t\tonToggle: (e) => {\n\t\t\t\t\t// element is in view\n\t\t\t\t\tif (e.isActive) {\n\t\t\t\t\t\tslider.autoplay.start();\n\t\t\t\t\t} else { // element is out of view\n\t\t\t\t\t\tslider.autoplay.stop();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tonMenuOpenStart = () => {\n\t\t\t\t\tslider.autoplay.stop();\n\t\t\t\t},\n\t\t\t\tonMenuCloseStart = () => {\n\t\t\t\t\t// element is in view\n\t\t\t\t\tif (pauseAutoplayTrigger.isActive) {\n\t\t\t\t\t\tslider.autoplay.start();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// update ScrollTrigger coordniates on possible slider resize\n\t\t\tslider.on('slideChange lazyImageReady', () => {\n\t\t\t\tpauseAutoplayTrigger.refresh();\n\t\t\t});\n\n\t\t\t// pause autoplay when overlay menu is open\n\t\t\twindow.$pageHeader\n\t\t\t\t.on('menuOpenStart', onMenuOpenStart)\n\t\t\t\t.on('menuCloseStart', onMenuCloseStart);\n\n\t\t\t// clean up listeners on AJAX transition\n\t\t\twindow.$window.one('arts/barba/transition/start', () => {\n\t\t\t\twindow.$pageHeader\n\t\t\t\t\t.off('menuOpenStart', onMenuOpenStart)\n\t\t\t\t\t.off('menuCloseStart', onMenuCloseStart);\n\t\t\t});\n\n\t\t}\n\t}\n\n\t_setBackgrounds({target, slider, side, header, setStickyHeader = false }) {\n\t\tconst delay = parseFloat((slider.params.speed / 1000) / 2);\n\n\t\t// updating backgroudns & page header theme\n\t\tslider.on('slideChange', () => {\n\t\t\tconst\n\t\t\t\t$activeSide = $(slider.slides[slider.activeIndex]),\n\t\t\t\tbackgroundTarget = $activeSide.data('slide-background'),\n\t\t\t\tbackgroundSide = $activeSide.data('slide-side-background'),\n\t\t\t\tthemeSection = $activeSide.data('slide-theme') || 'dark',\n\t\t\t\tthemeHeader = $activeSide.data('slide-header-theme') || 'dark',\n\t\t\t\tlogoHeader = $activeSide.data('slide-header-logo') || 'primary';\n\n\t\t\tif (backgroundTarget) {\n\t\t\t\tgsap.set(target, {\n\t\t\t\t\tdelay,\n\t\t\t\t\tbackground: backgroundTarget,\n\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\tif (target && target.length && target.attr('data-arts-theme-text') !== themeSection) {\n\t\t\t\t\t\t\ttarget.attr('data-arts-theme-text', themeSection);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (header && header.length) {\n\t\t\t\t\t\t\tif (header.hasClass('header_sticky') && !setStickyHeader) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\theader.attr('data-arts-theme-text', themeHeader);\n\t\t\t\t\t\t\t\theader.attr('data-arts-header-logo', logoHeader);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (backgroundSide) {\n\t\t\t\tgsap.set(side, {\n\t\t\t\t\tdelay,\n\t\t\t\t\tbackground: backgroundSide\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t_setScrollbar({slider, scrollbar, zeros = 1}) {\n\t\tif (!slider || !scrollbar || !scrollbar.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet\n\t\t\tprefix = this._getZerosPrefix({zeros}),\n\t\t\tslideNum = slider.activeIndex + 1,\n\t\t\thandle = scrollbar.find('.slider__scrollbar-handle');\n\n\t\thandle.attr('data-content', prefix + slideNum);\n\n\t\tslider.on('slideChange', () => {\n\t\t\tslideNum = slider.activeIndex + 1;\n\t\t\tprefix = this._getZerosPrefix({ zeros, activeSlide: slider.activeIndex });\n\t\t\thandle.attr('data-content', prefix + slideNum);\n\t\t});\n\n\t}\n\n\t_setCounter({ slider, elementCurrent, elementTotal, zeros = 1 }) {\n\t\tif (!slider || !elementCurrent || !elementTotal) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet\n\t\t\tprefixCurrent = this._getZerosPrefix({ zeros }),\n\t\t\tprefixTotal = this._getZerosPrefix({ zeros }),\n\t\t\ttotalSlides = slider.slides.length,\n\t\t\tslideNum = slider.activeIndex + 1;\n\n\t\tif (elementTotal.length) {\n\t\t\tif (totalSlides > 9) {\n\t\t\t\tprefixTotal = this._getZerosPrefix({ zeros: zeros - 1 });\n\t\t\t}\n\t\t\telementTotal.html(prefixTotal + totalSlides);\n\t\t}\n\n\t\telementCurrent.html(prefixCurrent + slideNum);\n\n\t\tslider.on('slideChange', () => {\n\t\t\tslideNum = slider.activeIndex + 1;\n\t\t\tprefixCurrent = this._getZerosPrefix({ zeros, activeSlide: slider.activeIndex });\n\n\t\t\telementCurrent.html(prefixCurrent + slideNum);\n\t\t});\n\n\t}\n\n\t_getZerosPrefix({\n\t\tzeros = 1,\n\t\tactiveSlide = 0\n\t}) {\n\t\tif (zeros === 1) {\n\t\t\tif (activeSlide < 9) {\n\t\t\t\treturn '0';\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\n\t\tif (zeros === 2) {\n\t\t\tif (activeSlide < 9) {\n\t\t\t\treturn '00';\n\t\t\t} else {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t_setExternalControls({slider, enabled = true}) {\n\t\tif (!slider) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst\n\t\t\twasMouseWheelEnabled = slider.params.mousewheel.enabled,\n\t\t\twasKeyboardEnabled = slider.params.keyboard.enabled;\n\n\t\tif (enabled === true) {\n\t\t\tif (wasMouseWheelEnabled) {\n\t\t\t\tslider.mousewheel.enable();\n\t\t\t}\n\t\t\tif (wasKeyboardEnabled) {\n\t\t\t\tslider.keyboard.enable();\n\t\t\t}\n\t\t} else {\n\t\t\tif (wasMouseWheelEnabled) {\n\t\t\t\tslider.mousewheel.disable();\n\t\t\t}\n\t\t\tif (wasKeyboardEnabled) {\n\t\t\t\tslider.keyboard.disable();\n\t\t\t}\n\t\t}\n\t}\n\n\t_setBreakpoints({target}) {\n\n\t\tif (!target || !target.length) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst\n\t\t\tlg = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.lg - 1 : 1024,\n\t\t\tmd = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.md - 1 : 767,\n\t\t\tbreakpoints = { [lg]: {}, [md]: {}, 0: {} },\n\t\t\tremoveEmpty = (obj) => { // recursively remove undefined keys\n\t\t\t\tObject.keys(obj).forEach(key => {\n\t\t\t\t\tif (obj[key] && typeof obj[key] === 'object') removeEmpty(obj[key]);\n\t\t\t\t\telse if (obj[key] === undefined) delete obj[key];\n\t\t\t\t});\n\n\t\t\t\treturn obj;\n\t\t\t};\n\n\t\tbreakpoints[lg] = {\n\t\t\tslidesPerView: target.data('slides-per-view'),\n\t\t\tspaceBetween: target.data('space-between'),\n\t\t\tcenteredSlides: target.data('centered-slides'),\n\t\t\tlazy: {\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadPrevNextAmount: Math.round(target.data('slides-per-view') ) || 3,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t}\n\t\t};\n\t\tbreakpoints[md] = {\n\t\t\tslidesPerView: target.data('slides-per-view-tablet'),\n\t\t\tspaceBetween: target.data('space-between-tablet'),\n\t\t\tcenteredSlides: target.data('centered-slides-tablet'),\n\t\t\tlazy: {\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadPrevNextAmount: Math.round(target.data('slides-per-view-tablet') ) || 3,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t}\n\t\t};\n\t\tbreakpoints[0] = {\n\t\t\tslidesPerView: target.data('slides-per-view-mobile'),\n\t\t\tspaceBetween: target.data('space-between-mobile'),\n\t\t\tcenteredSlides: target.data('centered-slides-mobile'),\n\t\t\tlazy: {\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadPrevNextAmount: Math.round(target.data('slides-per-view-mobile') ) || 3,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t}\n\t\t};\n\n\t\treturn removeEmpty(breakpoints);\n\t}\n\n\t_updateScrollTriggerOnHeightChange(slider) {\n\t\tif (slider) {\n\t\t\tslider\n\t\t\t\t.on('update', () => {\n\t\t\t\t\tAnimations.refreshAll();\n\t\t\t\t})\n\t\t\t\t.on('lazyImageReady', () => {\n\t\t\t\t\tslider.update();\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tslider.update();\n\t\t\t\t\t}, 100);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t_prefetchActiveSlideTransition(slider) {\n\t\tif (!slider instanceof Swiper) {\n\t\t\treturn;\n\t\t}\n\n\t\tslider.on('slideChange', (e) => {\n\t\t\t// find links in the currently active slide\n\t\t\tconst $links = $(e.slides).eq(e.realIndex).find('a');\n\n\t\t\t// prefetch all links\n\t\t\tif ($links.length) {\n\t\t\t\t$links.each(function () {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tbarba.prefetch(this.href);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.warn(`Barba.js: Can't prefetch ${this.href}`)\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t});\n\t}\n\n\t_updateOnResize(instances = []) {\n\t\tif (!instances || !Array.isArray(instances)) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow.$window.on('resize', debounce(() => {\n\t\t\tthis._updateSwiperInstances(instances);\n\t\t}, 250));\n\t}\n\n\t_updateOnTransitionEnd(instances = []) {\n\t\tif (!instances || !Array.isArray(instances)) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow.$window\n\t\t\t.one('arts/barba/transition/end', () => {\n\t\t\t\tthis._updateSwiperInstances(instances);\n\t\t\t});\n\n\t\tthis._updateSwiperInstances(instances);\n\t}\n\n\t_updateSwiperInstances(instances = []) {\n\t\tif (!instances || !Array.isArray(instances)) {\n\t\t\treturn;\n\t\t}\n\n\t\tinstances.forEach((instance) => {\n\t\t\tif (instance !== null && instance instanceof Swiper && typeof instance.update === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tinstance.update();\n\t\t\t\t} catch (error) {\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n","/* ======================================================================== */\n/* 7. PJAX Animate Cloned Heading */\n/* ======================================================================== */\nfunction PJAXAnimateClonedHeading(data, duration = 1.2) {\n return new Promise((resolve) => {\n const\n tl = new gsap.timeline(),\n $nextContainer = $(data.next.container),\n $nextMasthead = $nextContainer.find('.section-masthead'),\n $target = $nextMasthead.find('.js-transition-heading'),\n $targetChars = $target.find('.arts-split-text__char'),\n $clone = $('.js-transition-heading.js-clone'),\n $cloneChars = $clone.find('.arts-split-text__char'),\n targetRect = [],\n timeScale = parseFloat(window.kinsey.theme.animations.timeScale.ajaxFlyingImageTransition) || 1;\n\n if (!$target.length || !$clone.length || $target.length !== $clone.length) {\n gsap.to($clone, {\n duration: 0.6,\n autoAlpha: 0\n });\n resolve(true);\n return;\n }\n\n gsap.set($targetChars, {\n clearProps: 'transform'\n });\n\n if ($targetChars.length) {\n $targetChars.each(function (index) {\n targetRect[index] = this.getBoundingClientRect();\n });\n }\n\n const\n CSSProperties = $target.css([\n 'font-size',\n 'font-style',\n 'font-weight',\n 'line-height',\n 'letter-spacing',\n 'color',\n 'vertical-align'\n ]);\n\n tl\n .delay(0.1)\n .add([\n gsap.to($clone, {\n fontSize: CSSProperties['font-size'],\n fontStyle: CSSProperties['font-style'],\n fontWeight: CSSProperties['font-weight'],\n lineHeight: CSSProperties['line-height'],\n letterSpacing: CSSProperties['letter-spacing'],\n color: CSSProperties['color'],\n verticalAlign: CSSProperties['vertical-align'],\n ease: 'expo.inOut',\n duration: 1.2,\n autoRound: false\n }),\n gsap.to($cloneChars, {\n position: 'fixed',\n top: (index, target) => targetRect[index].top,\n left: (index, target) => targetRect[index].left,\n duration: 1.2,\n ease: 'expo.inOut',\n autoRound: false\n }),\n ])\n .add(() => resolve(true))\n .totalDuration(duration)\n .timeScale(timeScale);\n\n });\n}\n","/* ======================================================================== */\n/* 8. PJAX Animate Cloned Image */\n/* ======================================================================== */\nfunction PJAXAnimateClonedImage(data, duration = 1.2) {\n return new Promise((resolve) => {\n const\n tl = new gsap.timeline(),\n $nextContainer = $(data.next.container),\n $nextMasthead = $nextContainer.find('.section-masthead'),\n $target = $nextMasthead.find('.js-transition-img'),\n $clone = $('.js-transition-img.js-clone'),\n imageTarget = $target.find('img'),\n imageClone = $clone.find('img'),\n bgClone = $clone.find('.js-transition-img__transformed-el'),\n bgTarget = $target.find('.js-transition-img__transformed-el'),\n timeScale = parseFloat(window.kinsey.theme.animations.timeScale.ajaxFlyingImageTransition) || 1;\n\n if (!$target.length || !$clone.length) {\n gsap.to($clone, {\n duration: 0.6,\n autoAlpha: 0\n });\n resolve(true);\n return;\n }\n\n const\n { top, left, width, height } = $target.get(0).getBoundingClientRect(),\n imageProperties = imageTarget.css(['width', 'height', 'objectPosition', 'objectFit']),\n bgTargetProperties = bgTarget.css(['transform', 'width', 'height', 'objectPosition', 'objectFit']),\n bgTargetXPercent = gsap.getProperty(bgTarget.get(0), 'x', '%'),\n bgTargetYPercent = gsap.getProperty(bgTarget.get(0), 'y', '%'),\n targetTransform = $target.css('transform'),\n targetBorderRadius = $target.css('border-radius'),\n targetClippath = $clone.css('clip-path') === 'none' ? '' : 'circle(100% at center)',\n offsetTop = window.$body.offset().top + top;\n\n tl\n .set($clone, {\n maxWidth: 'unset',\n maxHeight: 'unset',\n zIndex: 500\n })\n .add([\n gsap.to(imageClone, {\n width: imageProperties.width,\n height: imageProperties.height,\n objectFit: imageProperties.objectFit,\n objectPosition: imageProperties.objectPosition,\n ease: 'expo.inOut',\n duration: 1.2,\n autoRound: false\n }),\n gsap.to(bgClone, {\n paddingBottom: 0,\n transform: bgTargetProperties.transform,\n x: bgTargetXPercent,\n y: bgTargetYPercent,\n transformOrigin: bgTargetProperties.transformOrigin,\n width: bgTargetProperties.width,\n height: bgTargetProperties.height,\n objectFit: bgTargetProperties.objectFit,\n objectPosition: bgTargetProperties.objectPosition,\n duration: 1.2,\n ease: 'expo.inOut',\n transition: 'none',\n top: 'auto',\n left: 'auto',\n right: 'auto',\n bottom: 'auto',\n autoRound: false\n }),\n gsap.to($clone, {\n transform: targetTransform,\n transformOrigin: 'center center',\n top: offsetTop,\n left,\n width,\n height,\n duration: 1.2,\n ease: 'expo.inOut',\n transition: 'none',\n borderRadius: targetBorderRadius,\n clipPath: targetClippath\n })\n ])\n .add(() => {\n resolve(true);\n })\n .totalDuration(duration)\n .timeScale(timeScale);\n\n });\n}\n","/* ======================================================================== */\n/* 9. PJAX Animate Container */\n/* ======================================================================== */\nfunction PJAXAnimateContainer(data, duration = 1.2) {\n return new Promise((resolve) => {\n\n const\n tl = new gsap.timeline(),\n $currentContainer = $(data.current.container),\n $nextContainer = $(data.next.container),\n timeScale = parseFloat(window.kinsey.theme.animations.timeScale.ajaxCurtainTransition) || 1;\n\n tl\n .fromTo($nextContainer, {\n y: '100vh',\n autoAlpha: 1\n }, {\n y: '0vh',\n autoAlpha: 1,\n duration: 1.2,\n ease: 'expo.inOut',\n }, '0')\n .fromTo($currentContainer, {\n y: '0vh',\n autoAlpha: 1,\n zIndex: -1\n },{\n y: '-20vh',\n autoAlpha: 1,\n duration: 1.2,\n ease: 'expo.inOut',\n onComplete: () => {\n $currentContainer.empty();\n }\n }, '0')\n .add(() => resolve(true))\n .totalDuration(duration)\n .timeScale(timeScale);\n });\n}\n","/* ======================================================================== */\n/* 10. PJAX Animate Curtain */\n/* ======================================================================== */\nfunction PJAXAnimateCurtain(data, duration = 1.2) {\n return new Promise((resolve, reject) => {\n const\n tl = new gsap.timeline(),\n $nextContainer = $(data.next.container),\n $nextMasthead = $nextContainer.find('.section-masthead'),\n $target = $nextMasthead.find('.section__bg'),\n $firstChild = $nextContainer.children().first(),\n timeScale = parseFloat(window.kinsey.theme.animations.timeScale.ajaxFlyingImageTransition) || 1;\n\n let background = $target.attr('data-background-color');\n\n if (!$target.length) {\n resolve(true);\n return;\n }\n\n if (!background) {\n background = $firstChild.css('background-color');\n }\n\n const { width, top } = $target.get(0).getBoundingClientRect();\n\n tl\n .setCurtain(window.$transitionCurtain, {\n width,\n top,\n background\n })\n .revealCurtain(window.$transitionCurtain)\n .add(() => resolve(true))\n .totalDuration(duration)\n .timeScale(timeScale);\n\n });\n}\n","/* ======================================================================== */\n/* 11. PJAX Animate Overlay Menu */\n/* ======================================================================== */\nfunction PJAXAnimateOverlayMenu(data, duration = 1.2) {\n return new Promise((resolve) => {\n\n const\n tl = new gsap.timeline(),\n $currentContainer = $(data.current.container),\n $nextContainer = $(data.next.container);\n\n tl\n .set($currentContainer, {\n autoAlpha: 0,\n overwrite: true\n })\n .set($nextContainer, {\n y: '0vh',\n autoAlpha: 1,\n overwrite: true\n })\n .add(window.kinsey.theme.header.closeMenuTransition(true))\n .add(() => {\n resolve(true);\n }, '-=0.8');\n });\n}\n","/* ======================================================================== */\n/* 12. PJAX Clear Container */\n/* ======================================================================== */\nfunction PJAXClearContainer(data) {\n return new Promise((resolve) => {\n const\n $nextContainer = $(data.next.container),\n tl = new gsap.timeline();\n\n tl\n .set($nextContainer, {\n clearProps: 'all'\n })\n .set(window.$body, {\n clearProps: 'background-color'\n })\n .setCurtain(window.$transitionCurtain, {\n clearProps: 'all'\n })\n .add(() => resolve(true))\n });\n}\n","/* ======================================================================== */\n/* 13. PJAX Clone Heading */\n/* ======================================================================== */\nfunction PJAXCloneHeading(target) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n const\n tl = new gsap.timeline(),\n $clone = target.clone(true).css({ position: 'fixed', opacity: 0, visibility: 'hidden' }).addClass('js-clone').appendTo(window.$barbaWrapper),\n $targetChars = target.find('.arts-split-text__char'),\n $cloneChars = $clone.find('.arts-split-text__char'),\n CSSProperties = target.css([\n 'font-size',\n 'font-style',\n 'font-weight',\n 'line-height',\n 'letter-spacing',\n 'color',\n 'text-align',\n 'vertical-align'\n ]),\n targetRect = [];\n\n if ($targetChars.length) {\n $targetChars.each(function (index) {\n targetRect[index] = this.getBoundingClientRect();\n });\n }\n\n tl\n .set($clone, {\n margin: 0,\n padding: 0,\n position: 'fixed',\n zIndex: 500,\n autoRound: false,\n fontSize: CSSProperties['font-size'],\n fontStyle: CSSProperties['font-style'],\n fontWeight: CSSProperties['font-weight'],\n lineHeight: CSSProperties['line-height'],\n letterSpacing: CSSProperties['letter-spacing'],\n color: CSSProperties['color'],\n textAlign: CSSProperties['text-align'],\n verticalAlign: CSSProperties['vertical-align'],\n })\n .set($cloneChars, {\n position: 'fixed',\n top: (index, target) => targetRect[index].top,\n left: (index, target) => targetRect[index].left,\n autoRound: false\n })\n .set($clone, {\n autoAlpha: 1,\n })\n .set(target, {\n autoAlpha: 0\n })\n .add(() => resolve(true));\n\n });\n}\n","/* ======================================================================== */\n/* 14. PJAX Clone Image */\n/* ======================================================================== */\nfunction PJAXCloneImage(target) {\n return new Promise((resolve) => {\n if (!target || !target.length) {\n resolve(true);\n return;\n }\n\n const\n tl = new gsap.timeline(),\n $clone = target.clone(true).css({ opacity: 0, visibility: 'hidden' }).addClass('js-clone').appendTo(window.$barbaWrapper),\n $transformedImage = target.find('.js-transition-img__transformed-el'),\n $cloneTransformedImage = $clone.find('.js-transition-img__transformed-el'),\n {\n top,\n left,\n width,\n height\n } = target.get(0).getBoundingClientRect(),\n CSSProperties = target.css([\n 'text-align',\n 'vertical-align'\n ]);\n\n if ($transformedImage.length && $cloneTransformedImage.length) {\n tl\n .set($cloneTransformedImage, {\n transform: $transformedImage.css('transform')\n });\n }\n\n tl\n .set($clone, {\n margin: 0,\n padding: 0,\n position: 'fixed',\n top,\n left,\n width,\n height,\n zIndex: 500,\n textAlign: CSSProperties['text-align'],\n verticalAlign: CSSProperties['vertical-align'],\n autoRound: false\n })\n .set($clone, {\n autoAlpha: 1,\n })\n .set(target, {\n autoAlpha: 0\n })\n .add(() => {\n resolve(true);\n });\n\n });\n}\n","/* ======================================================================== */\n/* 15. PJAX Fallback Cloned Image */\n/* ======================================================================== */\nfunction PJAXFallbackClonedImage(data, duration = 1.8) {\n return new Promise((resolve) => {\n\n const\n tl = new gsap.timeline(),\n $nextContainer = $(data.next.container),\n $nextMasthead = $nextContainer.find('.section-masthead'),\n background = $nextMasthead.find('.section__bg').attr('data-background-color'),\n $clone = $('.js-clone');\n\n tl\n .set($clone, {\n clearProps: 'transition'\n })\n .setCurtain(window.$transitionCurtain, {\n background\n })\n .add([\n gsap.effects.revealCurtain(window.$transitionCurtain, {\n duration: 1.2\n }),\n gsap.to($clone, {\n autoAlpha: 0,\n duration: 0.6,\n display: 'none'\n })\n ])\n .setCurtain(window.$transitionCurtain)\n .add(() => resolve(true))\n .totalDuration(duration);\n\n })\n}\n","/* ======================================================================== */\n/* 16. PJAX Finish Loading */\n/* ======================================================================== */\nfunction PJAXFinishLoading(data) {\n\treturn new Promise((resolve) => {\n\n\t\t// Transition ended event\n\t\twindow.dispatchEvent(new CustomEvent('arts/barba/transition/end'));\n\n\t\t// Hide spinner\n\t\tif (typeof window.$spinner !== 'undefined' && window.$spinner.length) {\n\t\t\tgsap.to(window.$spinner, 0.6, {\n\t\t\t\tautoAlpha: 0\n\t\t\t});\n\t\t}\n\n\t\t// Hide loading cursor follower\n\t\tif (window.$cursor && window.$cursor.length) {\n\t\t\twindow.$cursor.trigger('finishLoading');\n\t\t}\n\n\t\t// remove any cloned elements\n\t\t$('.js-clone').remove();\n\n\t\tScrollTrigger.refresh(true);\n\n\t\tsetTimeout(() => {\n\n\t\t\tAnimations.enableAll();\n\n\t\t\t// unlock scroll\n\t\t\tScroll.lock(false);\n\n\n\t\t\twindow.$barbaWrapper.removeClass('cursor-progress is-ajax-loading pointer-events-none');\n\t\t\t$('.menu').removeClass('menu_disabled');\n\n\t\t\t// refresh animation triggers\n\t\t\t// for Waypoints library\n\t\t\tif (typeof Waypoint !== 'undefined') {\n\t\t\t\tWaypoint.refreshAll();\n\t\t\t}\n\n\t\t}, 100);\n\n\t\t// scroll to anchor from URL hash\n\t\tScroll.scrollToAnchorFromHash();\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 17. PJAX Init New Page */\n/* ======================================================================== */\nfunction PJAXInitNewPage(data) {\n\treturn new Promise((resolve) => {\n\t\tconst\n\t\t\t$nextContainer = $(data.next.container),\n\t\t\t$nextMasthead = $nextContainer.find('.section-masthead:not(.d-none)'),\n\t\t\tpromises = [\n\t\t\t\tPJAXUpdateBody(data),\n\t\t\t\tPJAXUpdateNodesAttributes(data),\n\t\t\t\tPJAXUpdateHead(data),\n\t\t\t\tPJAXUpdateAdTrackers(data)\n\t\t\t],\n\t\t\tevent = document.createEvent('MutationEvents');\n\n\t\tif (window.kinsey.theme.ajax.loadMissingScripts) {\n\t\t\tpromises.push(PJAXUpdateScripts(data));\n\t\t}\n\n\t\tif (window.kinsey.theme.ajax.loadMissingStyles) {\n\t\t\tpromises.push(PJAXUpdateStyles(data));\n\t\t}\n\n\t\tif ($nextMasthead.length) {\n\t\t\t// class flag to prevent the repeat initialization\n\t\t\t$nextMasthead.addClass('js-cancel-init');\n\t\t}\n\n\t\t// change loaded flag\n\t\twindow.kinsey.theme.isFirstLoad = false;\n\n\t\t// Prepare ready event\n\t\tevent.initMutationEvent('DOMContentLoaded', true, true, document, '', '', '', 0);\n\t\tevent.detail = {\n\t\t\tscope: $nextContainer,\n\t\t\tcontainer: $nextContainer,\n\t\t\tscrollToHashElement: false // will scroll to the anchors later once transition is fully finished\n\t\t};\n\n\t\t// refresh page wrapper selectors\n\t\twindow.$pageWrapper = $nextContainer;\n\t\twindow.$pageContent = $nextContainer.find('.page-wrapper__content');\n\n\t\t// Scroll at the page beginning\n\t\tScroll.scrollToTop();\n\n\t\treturn Promise\n\t\t\t.all(promises)\n\t\t\t.then(() => document.fonts.ready)\n\t\t\t.then(() => PJAXInitNextMasthead(data))\n\t\t\t.then(() => {\n\n\t\t\t\t// Autoplay paused HTML5 videos\n\t\t\t\t$('video[playsinline][muted][autoplay]').each(function () {\n\t\t\t\t\tif (this.paused) {\n\t\t\t\t\t\tthis.play();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Transition init new page event (before components init)\n\t\t\t\twindow.dispatchEvent(new CustomEvent('arts/barba/transition/init/before', {\n\t\t\t\t\tdetail: event.detail\n\t\t\t\t}));\n\n\t\t\t\t// fire ready event\n\t\t\t\tdocument.dispatchEvent(event);\n\n\t\t\t\tif (window.kinsey.theme.ajax.evalInlineContainerScripts) {\n\t\t\t\t\t// eval inline scripts in the main container\n\t\t\t\t\t$nextContainer.find('script').each(function () {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\twindow.eval(this.text);\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.warn(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Transition init new page event (after components init)\n\t\t\t\twindow.dispatchEvent(new CustomEvent('arts/barba/transition/init/after', {\n\t\t\t\t\tdetail: event.detail\n\t\t\t\t}));\n\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch((e) => { // fallback if transition failed\n\t\t\t\tbarba.force(data.next.url.href);\n\t\t\t\tconsole.warn(e);\n\t\t\t});\n\t});\n}\n","/* ======================================================================== */\n/* 18. PJAX Init Next Masthead */\n/* ======================================================================== */\nfunction PJAXInitNextMasthead(data) {\n\treturn new Promise((resolve) => {\n\n\tconst\n\t\t$nextContainer = $(data.next.container),\n\t\t$nextMasthead = $nextContainer.find('.section-masthead:not(.d-none)'); // no need to init the hidden masthead\n\n\t\t// init next page masthead\n\t\tif ($nextMasthead.length) {\n\n new SectionMasthead({\n target: $nextMasthead,\n scope: $nextContainer\n });\n\n resolve(true);\n\t\t} else {\n\t\t\tresolve(true);\n\t\t}\n\n\t});\n}\n","/* ======================================================================== */\n/* 19. PJAX Set Body Background */\n/* ======================================================================== */\nfunction PJAXSetBodyBackground(data) {\n return new Promise((resolve) => {\n const\n $trigger = $(data.trigger),\n backgroundColor = $trigger.closest('.section').css('background-color'),\n tl = new gsap.timeline();\n\n tl\n .to(window.$body, {\n duration: 0.2,\n backgroundColor\n })\n .add(() => resolve(true));\n\n });\n}\n","/* ======================================================================== */\n/* 20. PJAX Set Current Container */\n/* ======================================================================== */\nfunction PJAXSetCurrentContainer(data, hide = true, scrollToTop = false) {\n return new Promise((resolve) => {\n const\n $currentContainer = $(data.current.container),\n tl = new gsap.timeline();\n\n tl\n .set($currentContainer, {\n autoAlpha: hide ? 0 : 1,\n })\n .set($currentContainer, {\n delay: 0.1,\n width: '100vw',\n height: '100vh',\n overflow: 'hidden',\n zIndex: 300,\n onComplete: () => {\n Animations.killAll();\n\n // Scroll at the page beginning\n if (scrollToTop) {\n Scroll.scrollToTop();\n }\n }\n })\n .add(() => {\n setTimeout(() => {\n resolve(true);\n }, 100);\n });\n\n });\n}\n","/* ======================================================================== */\n/* 21. PJAX Set Next Container */\n/* ======================================================================== */\nfunction PJAXSetNextContainer(data, cancelAnimation = false, scrollToTop = false) {\n return new Promise((resolve) => {\n const\n $nextContainer = $(data.next.container),\n $nextMasthead = $nextContainer.find('.section-masthead'),\n tl = new gsap.timeline();\n\n if (cancelAnimation && $nextMasthead.length) {\n $nextMasthead.attr('data-arts-os-animation', 'animated');\n\n if ($('.js-clone.js-transition-img').length) {\n $nextMasthead.find('.js-transition-img').addClass('js-transition-animated');\n }\n\n if ($('.js-clone.js-transition-heading').length) {\n $nextMasthead.find('.js-transition-heading').addClass('js-transition-animated');\n }\n $nextMasthead.find('.js-transition-bg').addClass('js-transition-animated');\n }\n\n tl\n .set($nextContainer, {\n autoAlpha: 0,\n })\n .set($nextContainer, {\n delay: 0.1,\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n zIndex: 300,\n onComplete: () => {\n\n // Scroll at the page beginning\n if (scrollToTop) {\n Scroll.scrollToTop();\n }\n }\n })\n .add(() => {\n setTimeout(() => {\n resolve(true);\n }, 100);\n });\n\n });\n}\n","/* ======================================================================== */\n/* 22. PJAX Start Loading */\n/* ======================================================================== */\nfunction PJAXStartLoading(data) {\n\treturn new Promise((resolve) => {\n\n\t\t// Transition started event\n\t\twindow.dispatchEvent(new CustomEvent('arts/barba/transition/start'));\n\n\t\tScroll.lock(true);\n\n\t\t$('.menu').addClass('menu_disabled');\n\t\twindow.$barbaWrapper.addClass('cursor-progress is-ajax-loading');\n\t\twindow.$document.off('resize click');\n\t\twindow.$window.off('resize click orientationchange');\n\n\t\t// Set loading spinner\n\t\tif (window.$spinner && window.$spinner.length) {\n\t\t\tgsap.to(window.$spinner, 0.6, {\n\t\t\t\tautoAlpha: 1\n\t\t\t});\n\t\t}\n\n\t\t// Set loading cursor follower\n\t\tif (window.$cursor && window.$cursor.length) {\n\t\t\twindow.$cursor.trigger('startLoading');\n\t\t}\n\n\t\tresolve(true);\n\t});\n}\n","/* ======================================================================== */\n/* 23. PJAX Transition Auto Scroll Next */\n/* ======================================================================== */\nconst PJAXTransitionAutoScrollNext = {\n name: 'autoScrollNext',\n\n custom: ({\n trigger\n }) => {\n return $(trigger).attr('data-pjax-link') === 'autoScrollNext';\n },\n\n before: (data) => {\n return new Promise((resolve) => {\n PJAXStartLoading(data).then(() => resolve(true));\n });\n },\n\n beforeEnter: (data) => {\n return new Promise((resolve) => {\n const\n $trigger = $(data.trigger),\n $navContainer = $trigger.closest('.section'),\n $image = $navContainer.find('.js-transition-img'),\n $heading = $navContainer.find('.js-transition-heading');\n\n PJAXSetBodyBackground(data)\n .then(() => {\n return Promise.all([\n PJAXCloneImage($image),\n PJAXCloneHeading($heading)\n ]);\n })\n .then(() => {\n return Promise.all([\n PJAXSetCurrentContainer(data, true, true),\n PJAXSetNextContainer(data, true, true)\n ]);\n })\n .then(() => resolve(true));\n });\n },\n\n enter: (data) => {\n return new Promise((resolve) => {\n PJAXInitNewPage(data).then(() => resolve(true));\n });\n },\n\n afterEnter: (data) => {\n return new Promise((resolve) => {\n Promise.all([\n PJAXAnimateClonedHeading(data),\n PJAXAnimateClonedImage(data),\n PJAXAnimateCurtain(data),\n ])\n .then(() => PJAXClearContainer(data))\n .then(() => resolve(true))\n });\n },\n\n after: (data) => {\n return new Promise((resolve) => {\n PJAXFinishLoading(data).then(() => resolve(true));\n });\n }\n}\n","/* ======================================================================== */\n/* 24. PJAX Transition General */\n/* ======================================================================== */\nconst PJAXTransitionGeneral = {\n\tbefore: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXStartLoading(data).then(() => resolve(true));\n\t\t});\n\t},\n\n\tbeforeEnter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXSetNextContainer(data)\n\t\t\t\t.then(() => PJAXAnimateContainer(data))\n\t\t\t\t.then(() => PJAXSetCurrentContainer(data, false, false))\n\t\t\t\t.then(() => resolve(true));\n\t\t});\n\t},\n\n\tenter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXInitNewPage(data).then(() => resolve(true));\n\t\t});\n\t},\n\n\tafterEnter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXClearContainer(data).then(() => resolve(true));\n\t\t});\n\t},\n\n\tafter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXFinishLoading(data).then(() => resolve(true));\n\t\t});\n\t}\n}\n","/* ======================================================================== */\n/* 25. PJAX Transition Overlay Menu */\n/* ======================================================================== */\nconst PJAXTransitionOverlayMenu = {\n name: 'overlayMenu',\n\n custom: ({\n trigger\n }) => {\n const $trigger = $(trigger);\n return window.kinsey.theme.header.isOverlayOpened() || ( $trigger.attr('href') !== '#' && $trigger.attr('data-pjax-link') === 'overlayMenu' );\n },\n\n\tbefore: (data) => {\n return new Promise((resolve) => {\n\t\t\tPJAXStartLoading(data).then(() => resolve(true));\n\t\t});\n\t},\n\n\tbeforeEnter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXSetNextContainer(data)\n\t\t\t\t.then(() => PJAXAnimateOverlayMenu(data))\n\t\t\t\t.then(() => PJAXSetCurrentContainer(data, false, false))\n\t\t\t\t.then(() => resolve(true));\n\t\t});\n\t},\n\n\tenter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXInitNewPage(data).then(() => resolve(true));\n\t\t});\n\t},\n\n\tafterEnter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXClearContainer(data).then(() => resolve(true))\n\t\t});\n\t},\n\n\tafter: (data) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tPJAXFinishLoading(data).then(() => resolve(true));\n\t\t});\n\t}\n\n}\n","/* ======================================================================== */\n/* 26. PJAX Update Ad Trackers */\n/* ======================================================================== */\nfunction PJAXUpdateAdTrackers() {\n\n\tupdateGA();\n\tupdateFBPixel();\n\tupdateYaMetrika();\n\n\t/**\n\t * Google Analytics\n\t */\n\tfunction updateGA() {\n\t\tif (typeof gtag === 'function' && typeof window.gaData === 'object' && Object.keys(window.gaData)[0] !== 'undefined') {\n\t\t\tconst\n\t\t\t\ttrackingID = Object.keys(window.gaData)[0],\n\t\t\t\tpageRelativePath = (window.location.href).replace(window.location.origin, '');\n\n\t\t\tgtag('js', new Date());\n\t\t\tgtag('config', trackingID, {\n\t\t\t\t'page_title': document.title,\n\t\t\t\t'page_path': pageRelativePath\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Facebook Pixel\n\t */\n\tfunction updateFBPixel() {\n\t\tif (typeof fbq === 'function') {\n\t\t\tfbq('track', 'PageView');\n\t\t}\n\t}\n\n\t/**\n\t * Yandex Metrika\n\t */\n\tfunction updateYaMetrika() {\n\t\tif (typeof ym === 'function') {\n\t\t\tconst trackingID = getYmTrackingNumber();\n\n\t\t\tym(trackingID, 'hit', window.location.href, {\n\t\t\t\ttitle: document.title\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction getYmTrackingNumber() {\n\t\tif (typeof window.Ya !== 'undefined' && typeof window.Ya.Metrika2) {\n\t\t\treturn window.Ya.Metrika2.counters()[0].id || null;\n\t\t}\n\n\t\tif (typeof window.Ya !== 'undefined' && typeof window.Ya.Metrika) {\n\t\t\treturn window.Ya.Metrika.counters()[0].id || null;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n","/* ======================================================================== */\n/* 27. PJAX Update Body */\n/* ======================================================================== */\nfunction PJAXUpdateBody(data) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst\n\t\t\tregexp = /\\