{"version":3,"sources":["node_modules/browser-pack/_prelude.js","assets/scripts/common.js","assets/scripts/episerverformscaptcha.js","assets/scripts/expander.js","assets/scripts/main.js","assets/scripts/navigation-hamburger.js"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n this.setVars();\n this.modifyDOM();\n this.addEvents();\n Burger();\n Expander();\n EPiServerFormsCaptchaCustom();\n };\n\n this.setVars = () => {\n };\n\n this.modifyDOM = () => {\n\n\n var swiper = new Swiper('.swiper-container', { \n effect: 'fade',\n loop: false,\n autoplay: 8000,\n pagination: '.swiper-navigation',\n paginationType: 'custom',\n paginationCurrentClass: 'swiper-navigation__item--active',\n fade: {\n crossFade: true\n },\n onSlideChangeStart(swiper) {\n var $currentSlideNumber = swiper.activeIndex;\n var $currentSlideItem = $('.swiper-navigation').find(\"[data-slide='\" + $currentSlideNumber + \"']\");\n $currentSlideItem.addClass('swiper-navigation__item--active');\n $currentSlideItem.siblings().removeClass('swiper-navigation__item--active');\n }\n });\n };\n\n this.addEvents = () => {\n this.eventHandlers.calcSwiperHeight();\n $('.timeline__item__read-more').on('click', this.eventHandlers.expandHistoryItem);\n };\n\n this.eventHandlers = {\n\n calcSwiperHeight: function () {\n var $hero = $('.swiper-container');\n $hero.height($(window).height() - 289);\n $hero.addClass('loaded');\n },\n\n expandHistoryItem: function() {\n $(this).hide();\n $(this).siblings('.timeline__item__content').addClass('expanded');\n }\n\n };\n\n this.helpers = {\n };\n\n return this.init;\n}).call({}, jQuery);\n","export default (function($) {\n this.init = () => {\n this.EPiServerFormsCaptchaCustom();\n };\n\n this.EPiServerFormsCaptchaCustom = () => {\n //console.log(epi.EPiServer.Forms); document.getElementById('divElem').scrollTop\n var m_capchaForm;\n var m_captchItem;\n\n $('form.EPiServerForms').each(function () {\n m_capchaForm = $(this);\n\n var successItem = m_capchaForm.find('.Form__Success__Message')\n if (successItem.length > 0)\n m_capchaForm.scrollTop();\n\n if (HasFormCaptcha()) {\n var isPostError = $(this).hasClass('ValidationFail');\n\n if (isPostError) {\n m_captchItem.find('.FormCaptcha__Input').focus();\n m_captchItem.show();\n m_capchaForm.find('.FormTextbox').hide();\n }\n else\n m_captchItem.hide();\n\n HandleCaptchaOnSubmit();\n }\n });\n\n function HasFormCaptcha() {\n m_captchItem = m_capchaForm.find('.FormCaptcha');\n return m_captchItem.length > 0;\n }\n\n function HandleCaptchaOnSubmit() {\n $(m_capchaForm).submit(function (event) {\n var captchaItem = $(this).find('.FormCaptcha');\n var visible = captchaItem.is(\":visible\");\n if (!visible) {\n $(this).find('.FormTextbox').hide();\n captchaItem.show();\n event.preventDefault();\n }\n });\n }\n };\n\n return this.init;\n}).call({}, jQuery);","export default (function($) {\n let $pageUrl;\n \n this.opts = {\n linkable: true,\n };\n\n this.pageUrl = window.location;\n\n this.init = (opts) => {\n Object.assign(this.opts, opts);\n this.pageUrl = window.location;\n this.modifyDOM();\n this.addEvents();\n this.setVars();\n this.helpers.checkURL.apply(this);\n };\n\n this.modifyDOM = () => {\n };\n\n this.setVars = () => {\n $pageUrl = window.location.href;\n };\n\n this.addEvents = () => {\n $('body').on('click', '.expander-hook', this.eventHandlers.onClick).\n on('click', '.expander__item__close', this.eventHandlers.onClose);\n\n window.onpopstate = this.helpers.checkURL;\n };\n\n this.eventHandlers = {\n onClick: e => {\n if (e.target.tagName === 'A') {\n return;\n }\n\n const id = e.currentTarget.getAttribute('data-id');\n\n if (this.opts.linkable) {\n const url = e.currentTarget.getAttribute('data-url');\n window.history.pushState({}, '', url);\n }\n\n if (this.helpers.currentlyOpen() == id) {\n this.helpers.close();\n } else if (this.helpers.currentlyOpen()) {\n this.helpers.replace(id);\n } else {\n this.helpers.open(id);\n }\n\n return false;\n },\n\n onClose: e => {\n this.helpers.close();\n return false;\n },\n };\n\n this.helpers = {\n checkURL: () => {\n const re = new RegExp(window.expanderRoot + \"\\\\/([a-z0-9-]+)\");\n const match = re.exec(window.location.pathname);\n\n if (match) {\n setTimeout(_ => {\n this.helpers.open(match[1]);\n }, 200);\n }\n },\n\n currentlyOpen: () => {\n if ($('.expander-hook.active').length) {\n return $('.expander-hook.active').data('id');\n }\n },\n\n open: id => {\n const $content = $('.expander-holder[data-id=' + id + ']');\n const html = $content.html();\n const $new = $('.expander-hook[data-id=' + id + ']');\n const $viewer = $('.expander-display');\n const $viewerInner = $('.expander-display');\n\n $new.addClass('active');\n $viewer.addClass('active');\n $new.css('margin-bottom', $content.height() + 65);\n\n setTimeout(function() {\n $viewerInner.html(html);\n $viewer.css('top', $new.offset().top + $new.height()).toggleClass('animate');\n $('html, body').animate({\n scrollTop: $viewer.offset().top - ($(window).height() / 3),\n }, 500);\n }, 300);\n },\n\n replace: id => {\n const $content = $('.expander-holder[data-id=' + id + ']');\n const html = $content.html();\n const $current = $('.expander-hook.active');\n const $new = $('.expander-hook[data-id=' + id + ']');\n const isSameRow = ($current.offset().top === $new.offset().top);\n const $viewer = $('.expander-display');\n const $viewerInner = $('.expander-display');\n\n $viewerInner.empty();\n\n if (isSameRow) {\n $current.addClass('no-transition');\n $new.addClass('no-transition');\n }\n\n $current.removeClass('active');\n $new.addClass('active');\n $current.css('margin-bottom', '3rem');\n $new.css('margin-bottom', $content.height() + 65);\n\n if (isSameRow) {\n $viewerInner.html(html);\n $viewer.css('top', $new.offset().top + $new.height());\n $current.removeClass('no-transition');\n $new.removeClass('no-transition');\n } else {\n setTimeout(function() {\n $viewerInner.html(html);\n $viewer.css('top', $new.offset().top + $new.height()).toggleClass('animate');\n $('html, body').animate({\n scrollTop: $viewer.offset().top - ($(window).height() / 3),\n }, 500);\n }, 300);\n }\n },\n\n close: () => {\n const $current = $('.expander-hook.active');\n const $viewer = $('.expander-display');\n const $viewerInner = $('.expander-display');\n\n $current.css('margin-bottom', '3rem');\n $('.expander-hook').removeClass('active');\n $viewer.removeClass('active');\n $viewerInner.empty();\n\n if (this.opts.linkable) {\n console.log($pageUrl);\n const url = $pageUrl;\n window.history.pushState({}, '', url);\n }\n },\n };\n\n return this.init;\n}).call({}, jQuery);\n","import Common from './common';\n\n$(document).ready(() => {\n Common();\n});\n","export default (function($) {\n let $html,\n $body,\n $mobileNav,\n $mobileNavToggle,\n $mobileSubNavToggle;\n\n this.init = () => {\n this.setVars();\n this.modifyDOM();\n this.addEvents();\n };\n\n this.setVars = () => {\n $html = $('html');\n $body = $('body');\n $mobileNav = $('.mobile-navigation');\n $mobileNavToggle = $('.mobile-navigation-toggle');\n $mobileSubNavToggle = $('.menu-item-has-children > a');\n };\n\n this.modifyDOM = () => {\n };\n\n this.addEvents = () => {\n $mobileNavToggle.on('click', this.eventHandlers.showMobileMenu);\n $mobileSubNavToggle.on('click', this.eventHandlers.showMobileSubMenu);\n };\n\n this.eventHandlers = {\n showMobileMenu() {\n return $mobileNavToggle.hasClass('active') === true ? $mobileNavToggle.removeClass('active') && $mobileNav.removeClass('mobile-navigation--collapsed') && $html.removeClass('mobile-navigation-open') : $mobileNavToggle.addClass('active') && $mobileNav.addClass('mobile-navigation--collapsed') && $html.addClass('mobile-navigation-open');\n },\n\n showMobileSubMenu(e) {\n e.preventDefault();\n e.stopPropagation();\n $(this).parent().toggleClass('collapsed').children('ul').toggle();\n }\n };\n\n this.helpers = {\n };\n\n return this.init;\n}).call({}, jQuery);\n"],"preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJhc3NldHMvc2NyaXB0cy9jb21tb24uanMiLCJhc3NldHMvc2NyaXB0cy9lcGlzZXJ2ZXJmb3Jtc2NhcHRjaGEuanMiLCJhc3NldHMvc2NyaXB0cy9leHBhbmRlci5qcyIsImFzc2V0cy9zY3JpcHRzL21haW4uanMiLCJhc3NldHMvc2NyaXB0cy9uYXZpZ2F0aW9uLWhhbWJ1cmdlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQ0FBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O2tCQUVnQixVQUFTLENBQVQsRUFBWTtBQUFBOztBQUMxQixPQUFLLElBQUwsR0FBWSxZQUFNO0FBQ2hCLFVBQUssT0FBTDtBQUNBLFVBQUssU0FBTDtBQUNBLFVBQUssU0FBTDtBQUNBO0FBQ0E7QUFDQTtBQUNELEdBUEQ7O0FBU0EsT0FBSyxPQUFMLEdBQWUsWUFBTSxDQUNwQixDQUREOztBQUdBLE9BQUssU0FBTCxHQUFpQixZQUFNOztBQUdyQixRQUFJLFNBQVMsSUFBSSxNQUFKLENBQVcsbUJBQVgsRUFBZ0M7QUFDM0MsY0FBUSxNQURtQztBQUUzQyxZQUFNLEtBRnFDO0FBRzNDLGdCQUFVLElBSGlDO0FBSTNDLGtCQUFZLG9CQUorQjtBQUszQyxzQkFBZ0IsUUFMMkI7QUFNM0MsOEJBQXdCLGlDQU5tQjtBQU8zQyxZQUFNO0FBQ0osbUJBQVc7QUFEUCxPQVBxQztBQVUzQyx3QkFWMkMsOEJBVXhCLE1BVndCLEVBVWhCO0FBQ3pCLFlBQUksc0JBQXNCLE9BQU8sV0FBakM7QUFDQSxZQUFJLG9CQUFvQixFQUFFLG9CQUFGLEVBQXdCLElBQXhCLENBQTZCLGtCQUFrQixtQkFBbEIsR0FBd0MsSUFBckUsQ0FBeEI7QUFDQSwwQkFBa0IsUUFBbEIsQ0FBMkIsaUNBQTNCO0FBQ0EsMEJBQWtCLFFBQWxCLEdBQTZCLFdBQTdCLENBQXlDLGlDQUF6QztBQUNEO0FBZjBDLEtBQWhDLENBQWI7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LENBQXRTO0FBQ0QsS0FIa0I7QUFLbkIscUJBTG1CLDZCQUtELENBTEMsRUFLRTtBQUNuQixRQUFFLGNBQUY7QUFDQSxRQUFFLGVBQUY7QUFDQSxRQUFFLElBQUYsRUFBUSxNQUFSLEdBQWlCLFdBQWpCLENBQTZCLFdBQTdCLEVBQTBDLFFBQTFDLENBQW1ELElBQW5ELEVBQXlELE1BQXpEO0FBQ0Q7QUFUa0IsR0FBckI7O0FBWUEsT0FBSyxPQUFMLEdBQWUsRUFBZjs7QUFHQSxTQUFPLEtBQUssSUFBWjtBQUNELENBN0NjLENBNkNaLElBN0NZLENBNkNQLEVBN0NPLEVBNkNILE1BN0NHLEMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfXJldHVybiBlfSkoKSIsImltcG9ydCBCdXJnZXIgZnJvbSAnLi9uYXZpZ2F0aW9uLWhhbWJ1cmdlcic7XG5pbXBvcnQgRXhwYW5kZXIgZnJvbSAnLi9leHBhbmRlcic7XG5pbXBvcnQgRVBpU2VydmVyRm9ybXNDYXB0Y2hhQ3VzdG9tIGZyb20gJy4vZXBpc2VydmVyZm9ybXNjYXB0Y2hhJztcblxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uKCQpIHtcbiAgdGhpcy5pbml0ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0VmFycygpO1xuICAgIHRoaXMubW9kaWZ5RE9NKCk7XG4gICAgdGhpcy5hZGRFdmVudHMoKTtcbiAgICBCdXJnZXIoKTtcbiAgICBFeHBhbmRlcigpO1xuICAgIEVQaVNlcnZlckZvcm1zQ2FwdGNoYUN1c3RvbSgpO1xuICB9O1xuXG4gIHRoaXMuc2V0VmFycyA9ICgpID0+IHtcbiAgfTtcblxuICB0aGlzLm1vZGlmeURPTSA9ICgpID0+IHtcblxuXG4gICAgdmFyIHN3aXBlciA9IG5ldyBTd2lwZXIoJy5zd2lwZXItY29udGFpbmVyJywgeyBcbiAgICAgIGVmZmVjdDogJ2ZhZGUnLFxuICAgICAgbG9vcDogZmFsc2UsXG4gICAgICBhdXRvcGxheTogODAwMCxcbiAgICAgIHBhZ2luYXRpb246ICcuc3dpcGVyLW5hdmlnYXRpb24nLFxuICAgICAgcGFnaW5hdGlvblR5cGU6ICdjdXN0b20nLFxuICAgICAgcGFnaW5hdGlvbkN1cnJlbnRDbGFzczogJ3N3aXBlci1uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmUnLFxuICAgICAgZmFkZToge1xuICAgICAgICBjcm9zc0ZhZGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBvblNsaWRlQ2hhbmdlU3RhcnQoc3dpcGVyKSB7XG4gICAgICAgIHZhciAkY3VycmVudFNsaWRlTnVtYmVyID0gc3dpcGVyLmFjdGl2ZUluZGV4O1xuICAgICAgICB2YXIgJGN1cnJlbnRTbGlkZUl0ZW0gPSAkKCcuc3dpcGVyLW5hdmlnYXRpb24nKS5maW5kKFwiW2RhdGEtc2xpZGU9J1wiICsgJGN1cnJlbnRTbGlkZU51bWJlciArIFwiJ11cIik7XG4gICAgICAgICRjdXJyZW50U2xpZGVJdGVtLmFkZENsYXNzKCdzd2lwZXItbmF2aWdhdGlvbl9faXRlbS0tYWN0aXZlJyk7XG4gICAgICAgICRjdXJyZW50U2xpZGVJdGVtLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ3N3aXBlci1uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmUnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICB0aGlzLmFkZEV2ZW50cyA9ICgpID0+IHtcbiAgICB0aGlzLmV2ZW50SGFuZGxlcnMuY2FsY1N3aXBlckhlaWdodCgpO1xuICAgICQoJy50aW1lbGluZV9faXRlbV9fcmVhZC1tb3JlJykub24oJ2NsaWNrJywgdGhpcy5ldmVudEhhbmRsZXJzLmV4cGFuZEhpc3RvcnlJdGVtKTtcbiAgfTtcblxuICB0aGlzLmV2ZW50SGFuZGxlcnMgPSB7XG5cbiAgICBjYWxjU3dpcGVySGVpZ2h0OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgJGhlcm8gPSAkKCcuc3dpcGVyLWNvbnRhaW5lcicpO1xuICAgICAgJGhlcm8uaGVpZ2h0KCQod2luZG93KS5oZWlnaHQoKSAtIDI4OSk7XG4gICAgICAkaGVyby5hZGRDbGFzcygnbG9hZGVkJyk7XG4gICAgfSxcblxuICAgIGV4cGFuZEhpc3RvcnlJdGVtOiBmdW5jdGlvbigpIHtcbiAgICAgICQodGhpcykuaGlkZSgpO1xuICAgICAgJCh0aGlzKS5zaWJsaW5ncygnLnRpbWVsaW5lX19pdGVtX19jb250ZW50JykuYWRkQ2xhc3MoJ2V4cGFuZGVkJyk7XG4gICAgfVxuXG4gIH07XG5cbiAgdGhpcy5oZWxwZXJzID0ge1xuICB9O1xuXG4gIHJldHVybiB0aGlzLmluaXQ7XG59KS5jYWxsKHt9LCBqUXVlcnkpO1xuIiwi77u/ZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uKCQpIHtcbiAgICB0aGlzLmluaXQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuRVBpU2VydmVyRm9ybXNDYXB0Y2hhQ3VzdG9tKCk7XG4gICAgfTtcblxuICAgIHRoaXMuRVBpU2VydmVyRm9ybXNDYXB0Y2hhQ3VzdG9tID0gKCkgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKGVwaS5FUGlTZXJ2ZXIuRm9ybXMpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2RWxlbScpLnNjcm9sbFRvcFxuICAgICAgICB2YXIgbV9jYXBjaGFGb3JtO1xuICAgICAgICB2YXIgbV9jYXB0Y2hJdGVtO1xuXG4gICAgICAgICQoJ2Zvcm0uRVBpU2VydmVyRm9ybXMnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIG1fY2FwY2hhRm9ybSA9ICQodGhpcyk7XG5cbiAgICAgICAgICAgIHZhciBzdWNjZXNzSXRlbSA9IG1fY2FwY2hhRm9ybS5maW5kKCcuRm9ybV9fU3VjY2Vzc19fTWVzc2FnZScpXG4gICAgICAgICAgICBpZiAoc3VjY2Vzc0l0ZW0ubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBtX2NhcGNoYUZvcm0uc2Nyb2xsVG9wKCk7XG5cbiAgICAgICAgICAgIGlmIChIYXNGb3JtQ2FwdGNoYSgpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGlzUG9zdEVycm9yID0gJCh0aGlzKS5oYXNDbGFzcygnVmFsaWRhdGlvbkZhaWwnKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1Bvc3RFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBtX2NhcHRjaEl0ZW0uZmluZCgnLkZvcm1DYXB0Y2hhX19JbnB1dCcpLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIG1fY2FwdGNoSXRlbS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIG1fY2FwY2hhRm9ybS5maW5kKCcuRm9ybVRleHRib3gnKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgbV9jYXB0Y2hJdGVtLmhpZGUoKTtcblxuICAgICAgICAgICAgICAgIEhhbmRsZUNhcHRjaGFPblN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBmdW5jdGlvbiBIYXNGb3JtQ2FwdGNoYSgpIHtcbiAgICAgICAgICAgIG1fY2FwdGNoSXRlbSA9IG1fY2FwY2hhRm9ybS5maW5kKCcuRm9ybUNhcHRjaGEnKTtcbiAgICAgICAgICAgIHJldHVybiBtX2NhcHRjaEl0ZW0ubGVuZ3RoID4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIEhhbmRsZUNhcHRjaGFPblN1Ym1pdCgpIHtcbiAgICAgICAgICAgICQobV9jYXBjaGFGb3JtKS5zdWJtaXQoZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhcHRjaGFJdGVtID0gJCh0aGlzKS5maW5kKCcuRm9ybUNhcHRjaGEnKTtcbiAgICAgICAgICAgICAgICB2YXIgdmlzaWJsZSA9IGNhcHRjaGFJdGVtLmlzKFwiOnZpc2libGVcIik7XG4gICAgICAgICAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLkZvcm1UZXh0Ym94JykuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICBjYXB0Y2hhSXRlbS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaW5pdDtcbn0pLmNhbGwoe30sIGpRdWVyeSk7IiwiZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uKCQpIHtcbiAgICBsZXQgJHBhZ2VVcmw7XG4gICAgXG4gICAgdGhpcy5vcHRzID0ge1xuICAgIGxpbmthYmxlOiB0cnVlLFxuICB9O1xuXG4gICAgdGhpcy5wYWdlVXJsID0gd2luZG93LmxvY2F0aW9uO1xuXG4gIHRoaXMuaW5pdCA9IChvcHRzKSA9PiB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdHMsIG9wdHMpO1xuICAgIHRoaXMucGFnZVVybCA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICB0aGlzLm1vZGlmeURPTSgpO1xuICAgIHRoaXMuYWRkRXZlbnRzKCk7XG4gICAgICB0aGlzLnNldFZhcnMoKTtcbiAgICB0aGlzLmhlbHBlcnMuY2hlY2tVUkwuYXBwbHkodGhpcyk7XG4gIH07XG5cbiAgdGhpcy5tb2RpZnlET00gPSAoKSA9PiB7XG4gIH07XG5cbiAgICB0aGlzLnNldFZhcnMgPSAoKSA9PiB7XG4gICAgICAgICRwYWdlVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgfTtcblxuICB0aGlzLmFkZEV2ZW50cyA9ICgpID0+IHtcbiAgICAkKCdib2R5Jykub24oJ2NsaWNrJywgJy5leHBhbmRlci1ob29rJywgdGhpcy5ldmVudEhhbmRsZXJzLm9uQ2xpY2spLlxuICAgICAgICAgICAgICBvbignY2xpY2snLCAnLmV4cGFuZGVyX19pdGVtX19jbG9zZScsIHRoaXMuZXZlbnRIYW5kbGVycy5vbkNsb3NlKTtcblxuICAgIHdpbmRvdy5vbnBvcHN0YXRlID0gdGhpcy5oZWxwZXJzLmNoZWNrVVJMO1xuICB9O1xuXG4gIHRoaXMuZXZlbnRIYW5kbGVycyA9IHtcbiAgICBvbkNsaWNrOiBlID0+IHtcbiAgICAgIGlmIChlLnRhcmdldC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpZCA9IGUuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKTtcblxuICAgICAgaWYgKHRoaXMub3B0cy5saW5rYWJsZSkge1xuICAgICAgICAgIGNvbnN0IHVybCA9IGUuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdXJsJyk7XG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgJycsIHVybCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmhlbHBlcnMuY3VycmVudGx5T3BlbigpID09IGlkKSB7XG4gICAgICAgIHRoaXMuaGVscGVycy5jbG9zZSgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmhlbHBlcnMuY3VycmVudGx5T3BlbigpKSB7XG4gICAgICAgIHRoaXMuaGVscGVycy5yZXBsYWNlKGlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGVscGVycy5vcGVuKGlkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG5cbiAgICBvbkNsb3NlOiBlID0+IHtcbiAgICAgIHRoaXMuaGVscGVycy5jbG9zZSgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gIH07XG5cbiAgdGhpcy5oZWxwZXJzID0ge1xuICAgIGNoZWNrVVJMOiAoKSA9PiB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAod2luZG93LmV4cGFuZGVyUm9vdCArIFwiXFxcXC8oW2EtejAtOS1dKylcIik7XG4gICAgICBjb25zdCBtYXRjaCA9IHJlLmV4ZWMod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcblxuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICAgICAgdGhpcy5oZWxwZXJzLm9wZW4obWF0Y2hbMV0pO1xuICAgICAgICB9LCAyMDApO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBjdXJyZW50bHlPcGVuOiAoKSA9PiB7XG4gICAgICBpZiAoJCgnLmV4cGFuZGVyLWhvb2suYWN0aXZlJykubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAkKCcuZXhwYW5kZXItaG9vay5hY3RpdmUnKS5kYXRhKCdpZCcpO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBvcGVuOiBpZCA9PiB7XG4gICAgICBjb25zdCAkY29udGVudCA9ICQoJy5leHBhbmRlci1ob2xkZXJbZGF0YS1pZD0nICsgaWQgKyAnXScpO1xuICAgICAgY29uc3QgaHRtbCA9ICRjb250ZW50Lmh0bWwoKTtcbiAgICAgIGNvbnN0ICRuZXcgPSAkKCcuZXhwYW5kZXItaG9va1tkYXRhLWlkPScgKyBpZCArICddJyk7XG4gICAgICBjb25zdCAkdmlld2VyID0gJCgnLmV4cGFuZGVyLWRpc3BsYXknKTtcbiAgICAgIGNvbnN0ICR2aWV3ZXJJbm5lciA9ICQoJy5leHBhbmRlci1kaXNwbGF5Jyk7XG5cbiAgICAgICRuZXcuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgJHZpZXdlci5hZGRDbGFzcygnYWN0aXZlJyk7XG4gICAgICAkbmV3LmNzcygnbWFyZ2luLWJvdHRvbScsICRjb250ZW50LmhlaWdodCgpICsgNjUpO1xuXG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAkdmlld2VySW5uZXIuaHRtbChodG1sKTtcbiAgICAgICAgJHZpZXdlci5jc3MoJ3RvcCcsICRuZXcub2Zmc2V0KCkudG9wICsgJG5ldy5oZWlnaHQoKSkudG9nZ2xlQ2xhc3MoJ2FuaW1hdGUnKTtcbiAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe1xuICAgICAgICAgIHNjcm9sbFRvcDogJHZpZXdlci5vZmZzZXQoKS50b3AgLSAoJCh3aW5kb3cpLmhlaWdodCgpIC8gMyksXG4gICAgICAgIH0sIDUwMCk7XG4gICAgICB9LCAzMDApO1xuICAgIH0sXG5cbiAgICByZXBsYWNlOiBpZCA9PiB7XG4gICAgICBjb25zdCAkY29udGVudCA9ICQoJy5leHBhbmRlci1ob2xkZXJbZGF0YS1pZD0nICsgaWQgKyAnXScpO1xuICAgICAgY29uc3QgaHRtbCA9ICRjb250ZW50Lmh0bWwoKTtcbiAgICAgIGNvbnN0ICRjdXJyZW50ID0gJCgnLmV4cGFuZGVyLWhvb2suYWN0aXZlJyk7XG4gICAgICBjb25zdCAkbmV3ID0gJCgnLmV4cGFuZGVyLWhvb2tbZGF0YS1pZD0nICsgaWQgKyAnXScpO1xuICAgICAgY29uc3QgaXNTYW1lUm93ID0gKCRjdXJyZW50Lm9mZnNldCgpLnRvcCA9PT0gJG5ldy5vZmZzZXQoKS50b3ApO1xuICAgICAgY29uc3QgJHZpZXdlciA9ICQoJy5leHBhbmRlci1kaXNwbGF5Jyk7XG4gICAgICBjb25zdCAkdmlld2VySW5uZXIgPSAkKCcuZXhwYW5kZXItZGlzcGxheScpO1xuXG4gICAgICAkdmlld2VySW5uZXIuZW1wdHkoKTtcblxuICAgICAgaWYgKGlzU2FtZVJvdykge1xuICAgICAgICAkY3VycmVudC5hZGRDbGFzcygnbm8tdHJhbnNpdGlvbicpO1xuICAgICAgICAkbmV3LmFkZENsYXNzKCduby10cmFuc2l0aW9uJyk7XG4gICAgICB9XG5cbiAgICAgICRjdXJyZW50LnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICRuZXcuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgJGN1cnJlbnQuY3NzKCdtYXJnaW4tYm90dG9tJywgJzNyZW0nKTtcbiAgICAgICRuZXcuY3NzKCdtYXJnaW4tYm90dG9tJywgJGNvbnRlbnQuaGVpZ2h0KCkgKyA2NSk7XG5cbiAgICAgIGlmIChpc1NhbWVSb3cpIHtcbiAgICAgICAgJHZpZXdlcklubmVyLmh0bWwoaHRtbCk7XG4gICAgICAgICR2aWV3ZXIuY3NzKCd0b3AnLCAkbmV3Lm9mZnNldCgpLnRvcCArICRuZXcuaGVpZ2h0KCkpO1xuICAgICAgICAkY3VycmVudC5yZW1vdmVDbGFzcygnbm8tdHJhbnNpdGlvbicpO1xuICAgICAgICAkbmV3LnJlbW92ZUNsYXNzKCduby10cmFuc2l0aW9uJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAgICR2aWV3ZXJJbm5lci5odG1sKGh0bWwpO1xuICAgICAgICAgICR2aWV3ZXIuY3NzKCd0b3AnLCAkbmV3Lm9mZnNldCgpLnRvcCArICRuZXcuaGVpZ2h0KCkpLnRvZ2dsZUNsYXNzKCdhbmltYXRlJyk7XG4gICAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe1xuICAgICAgICAgICAgc2Nyb2xsVG9wOiAkdmlld2VyLm9mZnNldCgpLnRvcCAtICgkKHdpbmRvdykuaGVpZ2h0KCkgLyAzKSxcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9LCAzMDApO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgY29uc3QgJGN1cnJlbnQgPSAkKCcuZXhwYW5kZXItaG9vay5hY3RpdmUnKTtcbiAgICAgIGNvbnN0ICR2aWV3ZXIgPSAkKCcuZXhwYW5kZXItZGlzcGxheScpO1xuICAgICAgY29uc3QgJHZpZXdlcklubmVyID0gJCgnLmV4cGFuZGVyLWRpc3BsYXknKTtcblxuICAgICAgJGN1cnJlbnQuY3NzKCdtYXJnaW4tYm90dG9tJywgJzNyZW0nKTtcbiAgICAgICQoJy5leHBhbmRlci1ob29rJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgJHZpZXdlci5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XG4gICAgICAkdmlld2VySW5uZXIuZW1wdHkoKTtcblxuICAgICAgaWYgKHRoaXMub3B0cy5saW5rYWJsZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCRwYWdlVXJsKTtcbiAgICAgICAgY29uc3QgdXJsID0gJHBhZ2VVcmw7XG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgJycsIHVybCk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gdGhpcy5pbml0O1xufSkuY2FsbCh7fSwgalF1ZXJ5KTtcbiIsImltcG9ydCBDb21tb24gZnJvbSAnLi9jb21tb24nO1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKSA9PiB7XG4gIENvbW1vbigpO1xufSk7XG4iLCJleHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24oJCkge1xuICBsZXQgJGh0bWwsXG4gICAgICAkYm9keSxcbiAgICAgICRtb2JpbGVOYXYsXG4gICAgICAkbW9iaWxlTmF2VG9nZ2xlLFxuICAgICAgJG1vYmlsZVN1Yk5hdlRvZ2dsZTtcblxuICB0aGlzLmluaXQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRWYXJzKCk7XG4gICAgdGhpcy5tb2RpZnlET00oKTtcbiAgICB0aGlzLmFkZEV2ZW50cygpO1xuICB9O1xuXG4gIHRoaXMuc2V0VmFycyA9ICgpID0+IHtcbiAgICAkaHRtbCAgICAgICAgICAgICAgICAgPSAkKCdodG1sJyk7XG4gICAgJGJvZHkgICAgICAgICAgICAgICAgID0gJCgnYm9keScpO1xuICAgICRtb2JpbGVOYXYgICAgICAgICAgICA9ICQoJy5tb2JpbGUtbmF2aWdhdGlvbicpO1xuICAgICRtb2JpbGVOYXZUb2dnbGUgICAgICA9ICQoJy5tb2JpbGUtbmF2aWdhdGlvbi10b2dnbGUnKTtcbiAgICAkbW9iaWxlU3ViTmF2VG9nZ2xlICAgPSAkKCcubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEnKTtcbiAgfTtcblxuICB0aGlzLm1vZGlmeURPTSA9ICgpID0+IHtcbiAgfTtcblxuICB0aGlzLmFkZEV2ZW50cyA9ICgpID0+IHtcbiAgICAkbW9iaWxlTmF2VG9nZ2xlLm9uKCdjbGljaycsIHRoaXMuZXZlbnRIYW5kbGVycy5zaG93TW9iaWxlTWVudSk7XG4gICAgJG1vYmlsZVN1Yk5hdlRvZ2dsZS5vbignY2xpY2snLCB0aGlzLmV2ZW50SGFuZGxlcnMuc2hvd01vYmlsZVN1Yk1lbnUpO1xuICB9O1xuXG4gIHRoaXMuZXZlbnRIYW5kbGVycyA9IHtcbiAgICBzaG93TW9iaWxlTWVudSgpIHtcbiAgICAgIHJldHVybiAkbW9iaWxlTmF2VG9nZ2xlLmhhc0NsYXNzKCdhY3RpdmUnKSA9PT0gdHJ1ZSA/ICRtb2JpbGVOYXZUb2dnbGUucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpICYmICRtb2JpbGVOYXYucmVtb3ZlQ2xhc3MoJ21vYmlsZS1uYXZpZ2F0aW9uLS1jb2xsYXBzZWQnKSAmJiAkaHRtbC5yZW1vdmVDbGFzcygnbW9iaWxlLW5hdmlnYXRpb24tb3BlbicpIDogJG1vYmlsZU5hdlRvZ2dsZS5hZGRDbGFzcygnYWN0aXZlJykgJiYgJG1vYmlsZU5hdi5hZGRDbGFzcygnbW9iaWxlLW5hdmlnYXRpb24tLWNvbGxhcHNlZCcpICYmICRodG1sLmFkZENsYXNzKCdtb2JpbGUtbmF2aWdhdGlvbi1vcGVuJyk7XG4gICAgfSxcblxuICAgIHNob3dNb2JpbGVTdWJNZW51KGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAkKHRoaXMpLnBhcmVudCgpLnRvZ2dsZUNsYXNzKCdjb2xsYXBzZWQnKS5jaGlsZHJlbigndWwnKS50b2dnbGUoKTtcbiAgICB9XG4gIH07XG5cbiAgdGhpcy5oZWxwZXJzID0ge1xuICB9O1xuXG4gIHJldHVybiB0aGlzLmluaXQ7XG59KS5jYWxsKHt9LCBqUXVlcnkpO1xuIl19"}