vendor: 5,679 bytes, lines 1-21
1/** 2* DO NOT EDIT THIS FILE. 3* See the following change record for more information, 4* https://www.drupal.org/node/2815083 5* @preserve 6**/ 7(function ($, Drupal, drupalSettings) { 8 $(document).ready(function () { 9 $.ajax({ 10 type: 'POST', 11 cache: false, 12 url: drupalSettings.statistics.url, 13 data: drupalSettings.statistics.data 14 }); 15 }); 16})(jQuery, Drupal, drupalSettings);; 17/* 18 * jQuery FlexSlider v2.7.1 19 * Copyright 2012 WooThemes 20 * Contributing Author: Tyler Smith 21 */!function($){var e=!0;$.flexslider=function(t,a){var n=$(t);void 0===a.rtl&&"rtl"==$("html").attr("dir")&&(a.rtl=!0),n.vars=$.extend({},$.flexslider.defaults,a);var i=n.vars.namespace,r=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,s=("ontouchstart"in window||r||window.DocumentTouch&&document instanceof DocumentTouch)&&n.vars.touch,o="click touchend MSPointerUp keyup",l="",c,d="vertical"===n.vars.direction,u=n.vars.reverse,v=n.vars.itemWidth>0,p="fade"===n.vars.animation,m=""!==n.vars.asNavFor,f={};$.data(t,"flexslider",n),f={init:function(){n.animating=!1,n.currentSlide=parseInt(n.vars.startAt?n.vars.startAt:0,10),isNaN(n.currentSlide)&&(n.currentSlide=0),n.animatingTo=n.currentSlide,n.atEnd=0===n.currentSlide||n.currentSlide===n.last,n.containerSelector=n.vars.selector.substr(0,n.vars.selector.search(" ")),n.slides=$(n.vars.selector,n),n.container=$(n.containerSelector,n),n.count=n.slides.length,n.syncExists=$(n.vars.sync).length>0,"slide"===n.vars.animation&&(n.vars.animation="swing"),n.prop=d?"top":n.vars.rtl?"marginRight":"marginLeft",n.args={},n.manualPause=!1,n.stopped=!1,n.started=!1,n.startTimeout=null,n.transitions=!n.vars.video&&!p&&n.vars.useCSS&&function(){var e=document.createElement("div"),t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var a in t)if(void 0!==e.style[t[a]])return n.pfx=t[a].replace("Perspective","").toLowerCase(),n.prop="-"+n.pfx+"-transform",!0;return!1}(),n.isFirefox=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,n.ensureAnimationEnd="",""!==n.vars.controlsContainer&&(n.controlsContainer=$(n.vars.controlsContainer).length>0&&$(n.vars.controlsContainer)),""!==n.vars.manualControls&&(n.manualControls=$(n.vars.manualControls).length>0&&$(n.vars.manualControls)),""!==n.vars.customDirectionNav&&(n.customDirectionNav=2===$(n.vars.customDirectionNav).length&&$(n.vars.customDirectionNav)),n.vars.randomize&&(n.slides.sort(function(){return Math.round(Math.random())-.5}),n.container.empty().append(n.slides)),n.doMath(),n.setup("init"),n.vars.controlNav&&f.controlNav.setup(),n.vars.directionNav&&f.directionNav.setup(),n.vars.keyboard&&(1===$(n.containerSelector).length||n.vars.multipleKeyboard)&&$(document).bind("keyup",function(e){var t=e.keyCode;if(!n.animating&&(39===t||37===t)){var a=n.vars.rtl?37===t?n.getTarget("next"):39===t&&n.getTarget("prev"):39===t?n.getTarget("next"):37===t&&n.getTarget("prev");n.flexAnimate(a,n.vars.pauseOnAction)}}),n.vars.mousewheel&&n.bind("mousewheel",function(e,t,a,i){e.preventDefault();var r=t<0?n.getTarget("next"):n.getTarget("prev");n.flexAnimate(r,n.vars.pauseOnAction)}),n.vars.pausePlay&&f.pausePlay.setup(),n.vars.slideshow&&n.vars.pauseInvisible&&f.pauseInvisible.init(),n.vars.slideshow&&(n.vars.pauseOnHover&&n.hover(function(){n.manualPlay||n.manualPause||n.pause()},function(){n.manualPause||n.manualPlay||n.stopped||n.play()}),n.vars.pauseInvisible&&f.pauseInvisible.isHidden()||(n.vars.initDelay>0?n.startTimeout=setTimeout(n.play,n.vars.initDelay):n.play())),m&&f.asNav.setup(),s&&n.vars.touch&&f.touch(),(!p||p&&n.vars.smoothHeight)&&$(window).bind("resize orientationchange focus",f.resize),n.find("img").attr("draggable","false"),setTimeout(function(){n.vars.start(n)},200)},asNav:{setup:function(){n.asNav=!0,n.animatingTo=Math.floor(n.currentSlide/n.move),n.currentItem=n.currentSlide,n.slides.removeClass(i+"active-slide").eq(n.currentItem).addClass(i+"active-slide"),r?(t._slider=n,n.slides.each(function(){var e=this;e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",function(e){e.preventDefault(),e.currentTarget._gesture&&e.currentTarget._gesture.addPointer(e.pointerId)},!1),e.addEventListener("MSGestureTap",function(e){e.preventDefault();var t=$(this),a=t.index();$(n.vars.asNavFor).data("flexslider").animating||t.hasClass("active")||(n.direction=n.currentItem<a?"next":"prev",n.flexAnimate(a,n.vars.pauseOnAction,!1,!0,!0))})})):n.slides.on(o,function(e){e.preventDefault();var t=$(this),a=t.index(),r;r=n.vars.rtl?-1*(t.offset().right-$(n).scrollLeft()):t.offset().left-$(n).scrollLeft(),r<=0&&t.hasClass(i+"active-slide")?n.flexAnimate(n.getTarget("prev"),!0):$(n.vars.asNavFor).data("flexslider").animating||t.hasClass(i+"active-slide")||(n.direction=n.currentItem<a?"next":"prev",n.flexAnimate(a,n.vars.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){n.manualControls?f.controlNav.setupManual():f.controlNav.setupPaging()},setupPaging:function(){var e="thumbnails"===n.vars.controlNav?"control-thumbs":"control-paging",t=1,a,r;if(n.controlNavScaffold=$('<ol class="'+i+"control-nav "+i+e+'"></ol>'),n.pagingCount>1)for(var s=0;s<n.pagingCount;s++){r=n.slides.eq(s),void 0===r.attr("data-thumb-alt")&&r.attr("data-thumb-alt","");var c=""!==r.attr("data-thumb-alt")?c=' alt="'+r.attr("data-thumb-alt")+'"':"";if(a="thumbnails"===n.vars.controlNav?'<img src="'+r.attr("data-thumb")+'"'+c+"/>":'<a href="#">'+t+"</a>","thumbnails"===n.vars.controlNav&&!0===n.vars.thumbCaptions){var d=r.attr("data-thumbcaption");""!==d&&void 0!==d&&(a+='<span class="'+i+'caption">'+d+"</span>")}n.controlNavScaffold.append("<li>"+a+"</li>"
vendor: 17,745 bytes, line 21
21),t++}n.controlsContainer?$(n.controlsContainer).append(n.controlNavScaffold):n.append(n.controlNavScaffold),f.controlNav.set(),f.controlNav.active(),n.controlNavScaffold.delegate("a, img",o,function(e){if(e.preventDefault(),""===l||l===e.type){var t=$(this),a=n.controlNav.index(t);t.hasClass(i+"active")||(n.direction=a>n.currentSlide?"next":"prev",n.flexAnimate(a,n.vars.pauseOnAction))}""===l&&(l=e.type),f.setToClearWatchedEvent()})},setupManual:function(){n.controlNav=n.manualControls,f.controlNav.active(),n.controlNav.bind(o,function(e){if(e.preventDefault(),""===l||l===e.type){var t=$(this),a=n.controlNav.index(t);t.hasClass(i+"active")||(a>n.currentSlide?n.direction="next":n.direction="prev",n.flexAnimate(a,n.vars.pauseOnAction))}""===l&&(l=e.type),f.setToClearWatchedEvent()})},set:function(){var e="thumbnails"===n.vars.controlNav?"img":"a";n.controlNav=$("."+i+"control-nav li "+e,n.controlsContainer?n.controlsContainer:n)},active:function(){n.controlNav.removeClass(i+"active").eq(n.animatingTo).addClass(i+"active")},update:function(e,t){n.pagingCount>1&&"add"===e?n.controlNavScaffold.append($('<li><a href="#">'+n.count+"</a></li>")):1===n.pagingCount?n.controlNavScaffold.find("li").remove():n.controlNav.eq(t).closest("li").remove(),f.controlNav.set(),n.pagingCount>1&&n.pagingCount!==n.controlNav.length?n.update(t,e):f.controlNav.active()}},directionNav:{setup:function(){var e=$('<ul class="'+i+'direction-nav"><li class="'+i+'nav-prev"><a class="'+i+'prev" href="#">'+n.vars.prevText+'</a></li><li class="'+i+'nav-next"><a class="'+i+'next" href="#">'+n.vars.nextText+"</a></li></ul>");n.customDirectionNav?n.directionNav=n.customDirectionNav:n.controlsContainer?($(n.controlsContainer).append(e),n.directionNav=$("."+i+"direction-nav li a",n.controlsContainer)):(n.append(e),n.directionNav=$("."+i+"direction-nav li a",n)),f.directionNav.update(),n.directionNav.bind(o,function(e){e.preventDefault();var t;""!==l&&l!==e.type||(t=$(this).hasClass(i+"next")?n.getTarget("next"):n.getTarget("prev"),n.flexAnimate(t,n.vars.pauseOnAction)),""===l&&(l=e.type),f.setToClearWatchedEvent()})},update:function(){var e=i+"disabled";1===n.pagingCount?n.directionNav.addClass(e).attr("tabindex","-1"):n.vars.animationLoop?n.directionNav.removeClass(e).removeAttr("tabindex"):0===n.animatingTo?n.directionNav.removeClass(e).filter("."+i+"prev").addClass(e).attr("tabindex","-1"):n.animatingTo===n.last?n.directionNav.removeClass(e).filter("."+i+"next").addClass(e).attr("tabindex","-1"):n.directionNav.removeClass(e).removeAttr("tabindex")}},pausePlay:{setup:function(){var e=$('<div class="'+i+'pauseplay"><a href="#"></a></div>');n.controlsContainer?(n.controlsContainer.append(e),n.pausePlay=$("."+i+"pauseplay a",n.controlsContainer)):(n.append(e),n.pausePlay=$("."+i+"pauseplay a",n)),f.pausePlay.update(n.vars.slideshow?i+"pause":i+"play"),n.pausePlay.bind(o,function(e){e.preventDefault(),""!==l&&l!==e.type||($(this).hasClass(i+"pause")?(n.manualPause=!0,n.manualPlay=!1,n.pause()):(n.manualPause=!1,n.manualPlay=!0,n.play())),""===l&&(l=e.type),f.setToClearWatchedEvent()})},update:function(e){"play"===e?n.pausePlay.removeClass(i+"pause").addClass(i+"play").html(n.vars.playText):n.pausePlay.removeClass(i+"play").addClass(i+"pause").html(n.vars.pauseText)}},touch:function(){function e(e){e.stopPropagation(),n.animating?e.preventDefault():(n.pause(),t._gesture.addPointer(e.pointerId),w=0,c=d?n.h:n.w,f=Number(new Date),l=v&&u&&n.animatingTo===n.last?0:v&&u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:v&&n.currentSlide===n.last?n.limit:v?(n.itemW+n.vars.itemMargin)*n.move*n.currentSlide:u?(n.last-n.currentSlide+n.cloneOffset)*c:(n.currentSlide+n.cloneOffset)*c)}function a(e){e.stopPropagation();var a=e.target._slider;if(a){var n=-e.translationX,i=-e.translationY;if(w+=d?i:n,m=(a.vars.rtl?-1:1)*w,x=d?Math.abs(w)<Math.abs(-n):Math.abs(w)<Math.abs(-i),e.detail===e.MSGESTURE_FLAG_INERTIA)return void setImmediate(function(){t._gesture.stop()});(!x||Number(new Date)-f>500)&&(e.preventDefault(),!p&&a.transitions&&(a.vars.animationLoop||(m=w/(0===a.currentSlide&&w<0||a.currentSlide===a.last&&w>0?Math.abs(w)/c+2:1)),a.setProps(l+m,"setTouch")))}}function i(e){e.stopPropagation();var t=e.target._slider;if(t){if(t.animatingTo===t.currentSlide&&!x&&null!==m){var a=u?-m:m,n=a>0?t.getTarget("next"):t.getTarget("prev");t.canAdvance(n)&&(Number(new Date)-f<550&&Math.abs(a)>50||Math.abs(a)>c/2)?t.flexAnimate(n,t.vars.pauseOnAction):p||t.flexAnimate(t.currentSlide,t.vars.pauseOnAction,!0)}s=null,o=null,m=null,l=null,w=0}}var s,o,l,c,m,f,g,h,S,x=!1,y=0,b=0,w=0;r?(t.style.msTouchAction="none",t._gesture=new MSGesture,t._gesture.target=t,t.addEventListener("MSPointerDown",e,!1),t._slider=n,t.addEventListener("MSGestureChange",a,!1),t.addEventListener("MSGestureEnd",i,!1)):(g=function(e){n.animating?e.preventDefault():(window.navigator.msPointerEnabled||1===e.touches.length)&&(n.pause(),c=d?n.h:n.w,f=Number(new Date),y=e.touches[0].pageX,b=e.touches[0].pageY,l=v&&u&&n.animatingTo===n.last?0:v&&u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:v&&n.currentSlide===n.last?n.limit:v?(n.itemW+n.vars.itemMargin)*n.move*n.currentSlide:u?(n.last-n.currentSlide+n.cloneOffset)*c:(n.currentSlide+n.cloneOffset)*c,s=d?b:y,o=d?y:b,t.addEventListener("touchmove",h,!1),t.addEventListener("touchend",S,!1))},h=function(e){y=e.touches[0].pageX,b=e.touches[0].pageY,m=d?s-b:(n.vars.rtl?-1:1)*(s-y),x=d?Math.abs(m)<Math.abs(y-o):Math.abs(m)<Math.abs(b-o);var t=500;(!x||Number(new Date)-f>500)&&(e.preventDefault(),!p&&n.transitions&&(n.vars.animationLoop||(m/=0===n.currentSlide&&m<0||n.currentSlide===n.last&&m>0?Math.abs(m)/c+2:1),n.setProps(l+m,"setTouch")))},S=function(e){if(t.removeEventListener("touchmove",h,!1),n.animatingTo===n.currentSlide&&!x&&null!==m){var a=u?-m:m,i=a>0?n.getTarget("next"):n.getTarget("prev");n.canAdvance(i)&&(Number(new Date)-f<550&&Math.abs(a)>50||Math.abs(a)>c/2)?n.flexAnimate(i,n.vars.pauseOnAction):p||n.flexAnimate(n.currentSlide,n.vars.pauseOnAction,!0)}t.removeEventListener("touchend",S,!1),s=null,o=null,m=null,l=null},t.addEventListener("touchstart",g,!1))},resize:function(){!n.animating&&n.is(":visible")&&(v||n.doMath(),p?f.smoothHeight():v?(n.slides.width(n.computedW),n.update(n.pagingCount),n.setProps()):d?(n.viewport.height(n.h),n.setProps(n.h,"setTotal")):(n.vars.smoothHeight&&f.smoothHeight(),n.newSlides.width(n.computedW),n.setProps(n.computedW,"setTotal")))},smoothHeight:function(e){if(!d||p){var t=p?n:n.viewport;e?t.animate({height:n.slides.eq(n.animatingTo).innerHeight()},e):t.innerHeight(n.slides.eq(n.animatingTo).innerHeight())}},sync:function(e){var t=$(n.vars.sync).data("flexslider"),a=n.animatingTo;switch(e){case"animate":t.flexAnimate(a,n.vars.pauseOnAction,!1,!0);break;case"play":t.playing||t.asNav||t.play();break;case"pause":t.pause();break}},uniqueID:function(e){return e.filter("[id]").add(e.find("[id]")).each(function(){var e=$(this);e.attr("id",e.attr("id")+"_clone")}),e},pauseInvisible:{visProp:null,init:function(){var e=f.pauseInvisible.getHiddenProp();if(e){var t=e.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(t,function(){f.pauseInvisible.isHidden()?n.startTimeout?clearTimeout(n.startTimeout):n.pause():n.started?n.play():n.vars.initDelay>0?setTimeout(n.play,n.vars.initDelay):n.play()})}},isHidden:function(){var e=f.pauseInvisible.getHiddenProp();return!!e&&document[e]},getHiddenProp:function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;t<e.length;t++)if(e[t]+"Hidden"in document)return e[t]+"Hidden";return null}},setToClearWatchedEvent:function(){clearTimeout(c),c=setTimeout(function(){l=""},3e3)}},n.flexAnimate=function(e,t,a,r,o){if(n.vars.animationLoop||e===n.currentSlide||(n.direction=e>n.currentSlide?"next":"prev"),m&&1===n.pagingCount&&(n.direction=n.currentItem<e?"next":"prev"),!n.animating&&(n.canAdvance(e,o)||a)&&n.is(":visible")){if(m&&r){var l=$(n.vars.asNavFor).data("flexslider");if(n.atEnd=0===e||e===n.count-1,l.flexAnimate(e,!0,!1,!0,o),n.direction=n.currentItem<e?"next":"prev",l.direction=n.direction,Math.ceil((e+1)/n.visible)-1===n.currentSlide||0===e)return n.currentItem=e,n.slides.removeClass(i+"active-slide").eq(e).addClass(i+"active-slide"),!1;n.currentItem=e,n.slides.removeClass(i+"active-slide").eq(e).addClass(i+"active-slide"),e=Math.floor(e/n.visible)}if(n.animating=!0,n.animatingTo=e,t&&n.pause(),n.vars.before(n),n.syncExists&&!o&&f.sync("animate"),n.vars.controlNav&&f.controlNav.active(),v||n.slides.removeClass(i+"active-slide").eq(e).addClass(i+"active-slide"),n.atEnd=0===e||e===n.last,n.vars.directionNav&&f.directionNav.update(),e===n.last&&(n.vars.end(n),n.vars.animationLoop||n.pause()),p)s?(n.slides.eq(n.currentSlide).css({opacity:0,zIndex:1}),n.slides.eq(e).css({opacity:1,zIndex:2}),n.wrapup(c)):(n.slides.eq(n.currentSlide).css({zIndex:1}).animate({opacity:0},n.vars.animationSpeed,n.vars.easing),n.slides.eq(e).css({zIndex:2}).animate({opacity:1},n.vars.animationSpeed,n.vars.easing,n.wrapup));else{var c=d?n.slides.filter(":first").height():n.computedW,g,h,S;v?(g=n.vars.itemMargin,S=(n.itemW+g)*n.move*n.animatingTo,h=S>n.limit&&1!==n.visible?n.limit:S):h=0===n.currentSlide&&e===n.count-1&&n.vars.animationLoop&&"next"!==n.direction?u?(n.count+n.cloneOffset)*c:0:n.currentSlide===n.last&&0===e&&n.vars.animationLoop&&"prev"!==n.direction?u?0:(n.count+1)*c:u?(n.count-1-e+n.cloneOffset)*c:(e+n.cloneOffset)*c,n.setProps(h,"",n.vars.animationSpeed),n.transitions?(n.vars.animationLoop&&n.atEnd||(n.animating=!1,n.currentSlide=n.animatingTo),n.container.unbind("webkitTransitionEnd transitionend"),n.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(n.ensureAnimationEnd),n.wrapup(c)}),clearTimeout(n.ensureAnimationEnd),n.ensureAnimationEnd=setTimeout(function(){n.wrapup(c)},n.vars.animationSpeed+100)):n.container.animate(n.args,n.vars.animationSpeed,n.vars.easing,function(){n.wrapup(c)})}n.vars.smoothHeight&&f.smoothHeight(n.vars.animationSpeed)}},n.wrapup=function(e){p||v||(0===n.currentSlide&&n.animatingTo===n.last&&n.vars.animationLoop?n.setProps(e,"jumpEnd"):n.currentSlide===n.last&&0===n.animatingTo&&n.vars.animationLoop&&n.setProps(e,"jumpStart")),n.animating=!1,n.currentSlide=n.animatingTo,n.vars.after(n)},n.animateSlides=function(){!n.animating&&e&&n.flexAnimate(n.getTarget("next"))},n.pause=function(){clearInterval(n.animatedSlides),n.animatedSlides=null,n.playing=!1,n.vars.pausePlay&&f.pausePlay.update("play"),n.syncExists&&f.sync("pause")},n.play=function(){n.playing&&clearInterval(n.animatedSlides),n.animatedSlides=n.animatedSlides||setInterval(n.animateSlides,n.vars.slideshowSpeed),n.started=n.playing=!0,n.vars.pausePlay&&f.pausePlay.update("pause"),n.syncExists&&f.sync("play")},n.stop=function(){n.pause(),n.stopped=!0},n.canAdvance=function(e,t){var a=m?n.pagingCount-1:n.last;return!!t||(!(!m||n.currentItem!==n.count-1||0!==e||"prev"!==n.direction)||(!m||0!==n.currentItem||e!==n.pagingCount-1||"next"===n.direction)&&(!(e===n.currentSlide&&!m)&&(!!n.vars.animationLoop||(!n.atEnd||0!==n.currentSlide||e!==a||"next"===n.direction)&&(!n.atEnd||n.currentSlide!==a||0!==e||"next"!==n.direction))))},n.getTarget=function(e){return n.direction=e,"next"===e?n.currentSlide===n.last?0:n.currentSlide+1:0===n.currentSlide?n.last:n.currentSlide-1},n.setProps=function(e,t,a){var i=function(){var a=e||(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo;return function(){if(v)return"setTouch"===t?e:u&&n.animatingTo===n.last?0:u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:n.animatingTo===n.last?n.limit:a;switch(t){case"setTotal":return u?(n.count-1-n.currentSlide+n.cloneOffset)*e:(n.currentSlide+n.cloneOffset)*e;case"setTouch":return e;case"jumpEnd":return u?e:n.count*e;case"jumpStart":return u?n.count*e:e;default:return e}}()*(n.vars.rtl?1:-1)+"px"}();n.transitions&&(i=n.isFirefox?d?"translate3d(0,"+i+",0)":"translate3d("+parseInt(i)+"px,0,0)":d?"translate3d(0,"+i+",0)":"translate3d("+(n.vars.rtl?-1:1)*parseInt(i)+"px,0,0)",a=void 0!==a?a/1e3+"s":"0s",n.container.css("-"+n.pfx+"-transition-duration",a),n.container.css("transition-duration",a)),n.args[n.prop]=i,(n.transitions||void 0===a)&&n.container.css(n.args),n.container.css("transform",i)},n.setup=function(e){if(p)n.vars.rtl?n.slides.css({width:"100%",float:"right",marginLeft:"-100%",position:"relative"}):n.slides.css({width:"100%",float:"left",marginRight:"-100%",position:"relative"}),"init"===e&&(s?n.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+n.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(n.currentSlide).css({opacity:1,zIndex:2}):0==n.vars.fadeFirstSlide?n.slides.css({opacity:0,display:"block",zIndex:1}).eq(n.currentSlide).css({zIndex:2}).css({opacity:1}):n.slides.css({opacity:0,display:"block",zIndex:1}).eq(n.currentSlide).css({zIndex:2}).animate({opacity:1},n.vars.animationSpeed,n.vars.easing)),n.vars.smoothHeight&&f.smoothHeight();else{var t,a;"init"===e&&(n.viewport=$('<div class="'+i+'viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(n).append(n.container),n.cloneCount=0,n.cloneOffset=0,u&&(a=$.makeArray(n.slides).reverse(),n.slides=$(a),n.container.empty().append(n.slides))),n.vars.animationLoop&&!v&&(n.cloneCount=2,n.cloneOffset=1,"init"!==e&&n.container.find(".clone").remove(),n.container.append(f.uniqueID(n.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(f.uniqueID(n.slides.last().clone().addClass("clone")).attr("aria-hidden","true"))),n.newSlides=$(n.vars.selector,n),t=u?n.count-1-n.currentSlide+n.cloneOffset:n.currentSlide+n.cloneOffset,d&&!v?(n.container.height(200*(n.count+n.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){n.newSlides.css({display:"block"}),n.doMath(),n.viewport.height(n.h),n.setProps(t*n.h,"init")},"init"===e?100:0)):(n.container.width(200*(n.count+n.cloneCount)+"%"),n.setProps(t*n.computedW,"init"),setTimeout(function(){n.doMath(),n.vars.rtl&&n.isFirefox?n.newSlides.css({width:n.computedW,marginRight:n.computedM,float:"right",display:"block"}):n.newSlides.css({width:n.computedW,marginRight:n.computedM,float:"left",display:"block"}),n.vars.smoothHeight&&f.smoothHeight()},"init"===e?100:0))}v||n.slides.removeClass(i+"active-slide").eq(n.currentSlide).addClass(i+"active-slide"),n.vars.init(n)},n.doMath=function(){var e=n.slides.first(),t=n.vars.itemMargin,a=n.vars.minItems,i=n.vars.maxItems;n.w=void 0===n.viewport?n.width():n.viewport.width(),n.isFirefox&&(n.w=n.width()),n.h=e.height(),n.boxPadding=e.outerWidth()-e.width(),v?(n.itemT=n.vars.itemWidth+t,n.itemM=t,n.minW=a?a*n.itemT:n.w,n.maxW=i?i*n.itemT-t:n.w,n.itemW=n.minW>n.w?(n.w-t*(a-1))/a:n.maxW<n.w?(n.w-t*(i-1))/i:n.vars.itemWidth>n.w?n.w:n.vars.itemWidth,n.visible=Math.floor(n.w/n.itemW),n.move=n.vars.move>0&&n.vars.move<n.visible?n.vars.move:n.visible,n.pagingCount=Math.ceil((n.count-n.visible)/n.move+1),n.last=n.pagingCount-1,n.limit=1===n.pagingCount?0:n.vars.itemWidth>n.w?n.itemW*(n.count-1)+t*(n.count-1):(n.itemW+t)*n.count-n.w-t):(n.itemW=n.w,n.itemM=t,n.pagingCount=n.count,n.last=n.count-1),n.computedW=n.itemW-n.boxPadding,n.computedM=n.itemM},n.update=function(e,t){n.doMath(),v||(e<n.currentSlide?n.currentSlide+=1:e<=n.currentSlide&&0!==e&&(n.currentSlide-=1),n.animatingTo=n.currentSlide),n.vars.controlNav&&!n.manualControls&&("add"===t&&!v||n.pagingCount>n.controlNav.length?f.controlNav.update("add"):("remove"===t&&!v||n.pagingCount<n.controlNav.length)&&(v&&n.currentSlide>n.last&&(n.currentSlide-=1,n.animatingTo-=1),f.controlNav.update("remove",n.last))),n.vars.directionNav&&f.directionNav.update()},n.addSlide=function(e,t){var a=$(e);n.count+=1,n.last=n.count-1,d&&u?void 0!==t?n.slides.eq(n.count-t).after(a):n.container.prepend(a):void 0!==t?n.slides.eq(t).before(a):n.container.append(a),n.update(t,"add"),n.slides=$(n.vars.selector+":not(.clone)",n),n.setup(),n.vars.added(n)},n.removeSlide=function(e){var t=isNaN(e)?n.slides.index($(e)):e;n.count-=1,n.last=n.count-1,isNaN(e)?$(e,n.slides).remove():d&&u?n.slides.eq(n.last).remove():n.slides.eq(e).remove(),n.doMath(),n.update(t,"remove"),n.slides=$(n.vars.selector+":not(.clone)",n),n.setup(),n.vars.removed(n)},f.init()},$(window).blur(function(t){e=!1}).focus(function(t){e=!0}),$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,fadeFirstSlide:!0,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",customDirectionNav:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,isFirefox:!1,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){},rtl:!1},$.fn.flexslider=function(e){if(void 0===e&&(e={}),"object"==typeof e)return this.each(function(){var t=$(this),a=e.selector?e.selector:".slides > li",n=t.find(a);1===n.length&&!1===e.allowOneSlide||0===n.length?(n.fadeIn(400),e.start&&e.start(t)):void 0===t.data("flexslider")&&new $.flexslider(this,e)});var t=$(this).data("flexslider");switch(e){case"play":t.play();break;case"pause":t.pause();break;case"stop":t.stop();break;case"next":t.flexAnimate(t.getTarget("next"),!0);break;case"prev":case"previous":t.flexAnimate(t.getTarget("prev"),!0);break;default:"number"==typeof e&&t.flexAnimate(e,!0)}}}(jQuery);
21; 22/** 23* DO NOT EDIT THIS FILE. 24* See the following change record for more information, 25* https://www.drupal.org/node/2815083 26* @preserve 27**/ 28(function ($, once) { 29 var deprecatedMessageSuffix = "is deprecated in Drupal 9.3.0 and will be removed in Drupal 10.0.0. Use the core/once library instead. See https://www.drupal.org/node/3158256"; 30 var originalJQOnce = $.fn.once; 31 var originalJQRemoveOnce = $.fn.removeOnce; 32 $.fn.once = function jQueryOnce(id) { 33 Drupal.deprecationError({ 34 message: "jQuery.once() ".concat(deprecatedMessageSuffix) 35 }); 36 return originalJQOnce.apply(this, [id]); 37 }; 38 $.fn.removeOnce = function jQueryRemoveOnce(id) { 39 Drupal.deprecationError({ 40 message: "jQuery.removeOnce() ".concat(deprecatedMessageSuffix) 41 }); 42 return originalJQRemoveOnce.apply(this, [id]); 43 }; 44 var drupalOnce = once; 45 function augmentedOnce(id, selector, context) { 46 originalJQOnce.apply($(selector, context), [id]); 47 return drupalOnce(id, selector, context); 48 } 49 function remove(id, selector, context) { 50 originalJQRemoveOnce.apply($(selector, context), [id]); 51 return drupalOnce.remove(id, selector, context); 52 } 53 window.once = Object.assign(augmentedOnce, drupalOnce, { 54 remove: remove 55 }); 56})(jQuery, once);; 57(function ($, Drupal, drupalSettings) { 58 Drupal.behaviors.mtflexsliderBreakingSlider = { 59 attach: function (context, settings) { 60 $(context).find('.view-titles .flexslider').once('mtflexsliderBreakingSliderInit').each(function() { 61 $(this).flexslider({ 62 animation: drupalSettings.newsplus.flexsliderBreakingSliderInit.breakingEffect, // Select your animation type, "fade" or "slide" 63 slideshowSpeed: drupalSettings.newsplus.flexsliderBreakingSliderInit.breakingEffectTime, // Set the speed of the slideshow cycling, in milliseconds 64 prevText: "", 65 nextText: "", 66 pauseOnAction: false, 67 useCSS: false, 68 controlNav: false, 69 directionNav: false 70 }); 71 $(this).fadeIn("slow"); 72 $(".view-titles .view-content, .view-titles .more-link").fadeIn("slow"); 73 }); 74 } 75 }; 76})(jQuery, Drupal, drupalSettings); 77; 78/* 79 * Superfish v1.4.8 - jQuery menu widget 80 * Copyright (c) 2008 Joel Birch 81 * 82 * Dual licensed under the MIT and GPL licenses: 83 * http://www.opensource.org/licenses/mit-license.php 84 * http://www.gnu.org/licenses/gpl.html 85 * 86 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt 87 */ 88/* 89 * This is not the original jQuery Superfish plugin. 90 * Please refer to the README for more information. 91 */ 92 93(function($){ 94 $.fn.superfish = function(op){ 95 var sf = $.fn.superfish, 96 c = sf.c, 97 $arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), 98 over = function(){ 99 var $$ = $(this), menu = getMenu($$); 100 clearTimeout(menu.sfTimer); 101 $$.showSuperfishUl().siblings().hideSuperfishUl(); 102 }, 103 out = function(){ 104 var $$ = $(this), menu = getMenu($$), o = sf.op; 105 clearTimeout(menu.sfTimer); 106 menu.sfTimer=setTimeout(function(){ 107 if ($$.children('.sf-clicked').length == 0){ 108 o.retainPath=($.inArray($$[0],o.$path)>-1); 109 $$.hideSuperfishUl(); 110 if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} 111 } 112 },o.delay); 113 }, 114 getMenu = function($menu){ 115 var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; 116 sf.op = sf.o[menu.serial]; 117 return menu; 118 }, 119 addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; 120 121 return this.each(function() { 122 var s = this.serial = sf.o.length; 123 var o = $.extend({},sf.defaults,op); 124 o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels), 125 p = o.$path; 126 for (var l = 0; l < p.length; l++){ 127 p.eq(l).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass); 128 } 129 sf.o[s] = sf.op = o; 130 131 $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { 132 if (o.autoArrows) addArrow( $(this).children('a:first-child, span.nolink:first-child') ); 133 }) 134 .not('.'+c.bcClass) 135 .hideSuperfishUl(); 136 137 var $a = $('a, span.nolink',this); 138 $a.each(function(i){ 139 var $li = $a.eq(i).parents('li'); 140 $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); 141 }); 142 o.onInit.call(this); 143 144 }).each(function() { 145 var menuClasses = [c.menuClass]; 146 if (sf.op.dropShadows){ 147 menuClasses.push(c.shadowClass); 148 } 149 $(this).addClass(menuClasses.join(' ')); 150 }); 151 }; 152 153 var sf = $.fn.superfish; 154 sf.o = []; 155 sf.op = {}; 156 157 sf.c = { 158 bcClass: 'sf-breadcrumb', 159 menuClass: 'sf-js-enabled', 160 anchorClass: 'sf-with-ul', 161 arrowClass: 'sf-sub-indicator', 162 shadowClass: 'sf-shadow' 163 }; 164 sf.defaults = { 165 hoverClass: 'sfHover', 166 pathClass: 'overideThisToUse', 167 pathLevels: 1, 168 delay: 800, 169 animation: {opacity:'show'}, 170 speed: 'fast', 171 autoArrows: true, 172 dropShadows: true, 173 disableHI: false, // true disables hoverIntent detection 174 onInit: function(){}, // callback functions 175 onBeforeShow: function(){}, 176 onShow: function(){}, 177 onHide: function(){} 178 }; 179 $.fn.extend({ 180 hideSuperfishUl : function(){ 181 var o = sf.op, 182 not = (o.retainPath===true) ? o.$path : ''; 183 o.retainPath = false;
184 var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) 185 .children('ul').addClass('sf-hidden'); 186 o.onHide.call($ul); 187 return this; 188 }, 189 showSuperfishUl : function(){ 190 var o = sf.op, 191 sh = sf.c.shadowClass+'-off', 192 $ul = this.addClass(o.hoverClass) 193 .children('ul.sf-hidden').hide().removeClass('sf-hidden'); 194 o.onBeforeShow.call($ul); 195 $ul.animate(o.animation,o.speed,function(){ o.onShow.call($ul); }); 196 return this; 197 } 198 }); 199})(jQuery);; 200/*! 201 * hoverIntent v1.8.0 // 2014.06.29 // jQuery v1.9.1+ 202 * http://cherne.net/brian/resources/jquery.hoverIntent.html 203 * 204 * You may use hoverIntent under the terms of the MIT license. Basically that 205 * means you are free to use hoverIntent as long as this header is left intact. 206 * Copyright 2007, 2014 Brian Cherne 207 */ 208(function($){$.fn.hoverIntent=function(handlerIn,handlerOut,selector){var cfg={interval:100,sensitivity:6,timeout:0};if(typeof handlerIn==="object"){cfg=$.extend(cfg,handlerIn)}else{if($.isFunction(handlerOut)){cfg=$.extend(cfg,{over:handlerIn,out:handlerOut,selector:selector})}else{cfg=$.extend(cfg,{over:handlerIn,out:handlerIn,selector:handlerOut})}}var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if(Math.sqrt((pX-cX)*(pX-cX)+(pY-cY)*(pY-cY))<cfg.sensitivity){$(ob).off("mousemove.hoverIntent",track);ob.hoverIntent_s=true;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=false;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=$.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type==="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).on("mousemove.hoverIntent",track);if(!ob.hoverIntent_s){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).off("mousemove.hoverIntent",track);if(ob.hoverIntent_s){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.on({"mouseenter.hoverIntent":handleHover,"mouseleave.hoverIntent":handleHover},cfg.selector)}})(jQuery);; 209/* 210 * sf-Smallscreen v1.3b - Provides small-screen compatibility for the jQuery Superfish plugin. 211 * 212 * Developer's note: 213 * Built as a part of the Superfish project for Drupal (http://drupal.org/project/superfish) 214 * Found any bug? have any cool ideas? contact me right away! http://drupal.org/user/619294/contact 215 * 216 * jQuery version: 1.3.x or higher. 217 * 218 * Dual licensed under the MIT and GPL licenses: 219 * http://www.opensource.org/licenses/mit-license.php 220 * http://www.gnu.org/licenses/gpl.html 221 */ 222 223(function($){ 224 $.fn.sfsmallscreen = function(options){ 225 options = $.extend({ 226 mode: 'inactive', 227 type: 'accordion', 228 breakpoint: 768, 229 breakpointUnit: 'px', 230 useragent: '', 231 title: '', 232 addSelected: false, 233 menuClasses: false, 234 hyperlinkClasses: false, 235 excludeClass_menu: '', 236 excludeClass_hyperlink: '', 237 includeClass_menu: '', 238 includeClass_hyperlink: '', 239 accordionButton: 1, 240 expandText: 'Expand', 241 collapseText: 'Collapse' 242 }, options); 243 244 // We need to clean up the menu from anything unnecessary. 245 function refine(menu){ 246 var 247 refined = menu.clone(), 248 // Things that should not be in the small-screen menus. 249 rm = refined.find('span.sf-sub-indicator'), 250 // This is a helper class for those who need to add extra markup that shouldn't exist 251 // in the small-screen versions. 252 rh = refined.find('.sf-smallscreen-remove'), 253 // Mega-menus has to be removed too. 254 mm = refined.find('ul.sf-multicolumn'); 255 for (var a = 0; a < rh.length; a++){ 256 rh.eq(a).replaceWith(rh.eq(a).html()); 257 } 258 if (options.accordionButton == 2 || options.type == 'select'){ 259 for (var b = 0; b < rm.length; b++){ 260 rm.eq(b).remove(); 261 } 262 } 263 if (mm.length > 0){ 264 mm.removeClass('sf-multicolumn'); 265 var ol = refined.find('div.sf-multicolumn-column > ol'); 266 for (var o = 0; o < ol.length; o++){ 267 ol.eq(o).replaceWith('<ul>' + ol.eq(o).html() + '</ul>'); 268 } 269 var elements = ['div.sf-multicolumn-column','.sf-multicolumn-wrapper > ol','li.sf-multicolumn-wrapper']; 270 for (var i = 0; i < elements.length; i++){ 271 obj = refined.find(elements[i]); 272 for (var t = 0; t < obj.length; t++){ 273 obj.eq(t).replaceWith(obj.eq(t).html()); 274 } 275 } 276 refined.find('.sf-multicolumn-column').removeClass('sf-multicolumn-column'); 277 } 278 refined.add(refined.find('*')).css({width:''}); 279 return refined; 280 } 281 282 // Creating <option> elements out of t 283 function toSelect(menu, level){ 284 var 285 items = '', 286 childLI = $(menu).children('li'); 287 for (var a = 0; a < childLI.length; a++){ 288 var list = childLI.eq(a), parent = list.children('a, span'); 289 for (var b = 0; b < parent.length; b++){ 290 var 291 item = parent.eq(b), 292 path = item.is('a') ? item.attr('href') : '', 293 // Class names modification. 294 itemClone = item.clone(), 295 classes = (options.hyperlinkClasses) ? ((options.excludeClass_hyperlink && itemClone.hasClass(options.excludeClass_hyperlink)) ? itemClone.removeClass(options.excludeClass_hyperlink).attr('class') : itemClone.attr('class')) : '', 296 classes = (options.includeClass_hyperlink && !itemClone.hasClass(options.includeClass_hyperlink)) ? ((options.hyperlinkClasses) ? itemClone.addClass(options.includeClass_hyperlink).attr('class') : options.includeClass_hyperlink) : classes; 297 // Retaining the active class if requested. 298 if (options.addSelected && item.hasClass('active')){ 299 classes += ' active'; 300 } 301 // <option> has to be disabled if the item is not a link. 302 disable = item.is('span') || item.attr('href')=='#' ? ' disabled="disabled"' : '', 303 // Crystal clear. 304 subIndicator = 1 < level ? Array(level).join('-') + ' ' : ''; 305 // Preparing the <option> element. 306 items += '<option value="' + path + '" class="' + classes + '"' + disable + '>' + subIndicator + $.trim(item.text()) +'</option>', 307 childUL = list.find('> ul'); 308 // Using the function for the sub-menu of this item. 309 for (var u = 0; u < childUL.length; u++){
310 items += toSelect(childUL.eq(u), level + 1); 311 } 312 } 313 } 314 return items; 315 } 316 317 // Create the new version, hide the original. 318 function convert(menu){ 319 var menuID = menu.attr('id'), 320 // Creating a refined version of the menu. 321 refinedMenu = refine(menu); 322 // Currently the plugin provides two reactions to small screens. 323 // Converting the menu to a <select> element, and converting to an accordion version of the menu. 324 if (options.type == 'accordion'){ 325 var 326 toggleID = menuID + '-toggle', 327 accordionID = menuID + '-accordion'; 328 // Making sure the accordion does not exist. 329 if ($('#' + accordionID).length == 0){ 330 var 331 // Getting the style class. 332 styleClass = menu.attr('class').split(' ').filter(function(item){ 333 return item.indexOf('sf-style-') > -1 ? item : ''; 334 }), 335 // Creating the accordion. 336 accordion = $(refinedMenu).attr('id', accordionID); 337 // Removing unnecessary classes. 338 accordion.removeClass('sf-horizontal sf-vertical sf-navbar sf-shadow sf-js-enabled'); 339 // Adding necessary classes. 340 accordion.addClass('sf-accordion sf-hidden'); 341 // Removing style attributes and any unnecessary class. 342 accordion.find('li').each(function(){ 343 $(this).removeAttr('style').removeClass('sfHover').attr('id', $(this).attr('id') + '-accordion'); 344 }); 345 // Doing the same and making sure all the sub-menus are off-screen (hidden). 346 accordion.find('ul').removeAttr('style').not('.sf-hidden').addClass('sf-hidden'); 347 // Creating the accordion toggle switch. 348 var toggle = '<div class="sf-accordion-toggle ' + styleClass + '"><a href="#" id="' + toggleID + '"><span>' + options.title + '</span></a></div>'; 349 350 // Adding Expand\Collapse buttons if requested. 351 if (options.accordionButton == 2){ 352 accordion.addClass('sf-accordion-with-buttons'); 353 var parent = accordion.find('li.menuparent'); 354 for (var i = 0; i < parent.length; i++){ 355 parent.eq(i).prepend('<a href="#" class="sf-accordion-button">' + options.expandText + '</a>'); 356 } 357 } 358 // Inserting the according and hiding the original menu. 359 menu.before(toggle).before(accordion).hide(); 360 361 var 362 accordionElement = $('#' + accordionID), 363 // Deciding what should be used as accordion buttons. 364 buttonElement = (options.accordionButton < 2) ? 'a.menuparent,span.nolink.menuparent' : 'a.sf-accordion-button', 365 button = accordionElement.find(buttonElement); 366 367 // Attaching a click event to the toggle switch. 368 $('#' + toggleID).on('click', function(e){ 369 // Preventing the click. 370 e.preventDefault(); 371 // Adding the sf-expanded class. 372 $(this).toggleClass('sf-expanded'); 373 374 if (accordionElement.hasClass('sf-expanded')){ 375 // If the accordion is already expanded: 376 // Hiding its expanded sub-menus and then the accordion itself as well. 377 accordionElement.add(accordionElement.find('li.sf-expanded')).removeClass('sf-expanded') 378 .end().find('ul').hide() 379 // This is a bit tricky, it's the same trick that has been in use in the main plugin for some time. 380 // Basically we'll add a class that keeps the sub-menu off-screen and still visible, 381 // and make it invisible and removing the class one moment before showing or hiding it. 382 // This helps screen reader software access all the menu items. 383 .end().hide().addClass('sf-hidden').show(); 384 // Changing the caption of any existing accordion buttons to 'Expand'. 385 if (options.accordionButton == 2){ 386 accordionElement.find('a.sf-accordion-button').text(options.expandText); 387 } 388 } 389 else { 390 // But if it's collapsed, 391 accordionElement.addClass('sf-expanded').hide().removeClass('sf-hidden').show(); 392 } 393 }); 394 395 // Attaching a click event to the buttons. 396 button.on('click', function(e){ 397 // Making sure the buttons does not exist already. 398 if ($(this).closest('li').children('ul').length > 0){ 399 e.preventDefault(); 400 // Selecting the parent menu items. 401 var parent = $(this).closest('li'); 402 // Creating and inserting Expand\Collapse buttons to the parent menu items, 403 // of course only if not already happened.
404 if (options.accordionButton == 1 && parent.children('a.menuparent,span.nolink.menuparent').length > 0 && parent.children('ul').children('li.sf-clone-parent').length == 0){ 405 var 406 // Cloning the hyperlink of the parent menu item. 407 cloneLink = parent.children('a.menuparent,span.nolink.menuparent').clone(); 408 // Removing unnecessary classes and element(s). 409 cloneLink.removeClass('menuparent sf-with-ul').children('.sf-sub-indicator').remove(); 410 // Wrapping the hyerplinks in <li>. 411 cloneLink = $('<li class="sf-clone-parent" />').html(cloneLink); 412 // Adding a helper class and attaching them to the sub-menus. 413 parent.children('ul').addClass('sf-has-clone-parent').prepend(cloneLink); 414 } 415 // Once the button is clicked, collapse the sub-menu if it's expanded. 416 if (parent.hasClass('sf-expanded')){ 417 parent.children('ul').slideUp('fast', function(){ 418 // Doing the accessibility trick after hiding the sub-menu. 419 $(this).closest('li').removeClass('sf-expanded').end().addClass('sf-hidden').show(); 420 }); 421 // Changing the caption of the inserted Collapse link to 'Expand', if any is inserted. 422 if (options.accordionButton == 2 && parent.children('.sf-accordion-button').length > 0){ 423 parent.children('.sf-accordion-button').text(options.expandText); 424 } 425 } 426 // Otherwise, expand the sub-menu. 427 else { 428 // Doing the accessibility trick and then showing the sub-menu. 429 parent.children('ul').hide().removeClass('sf-hidden').slideDown('fast') 430 // Changing the caption of the inserted Expand link to 'Collape', if any is inserted. 431 .end().addClass('sf-expanded').children('a.sf-accordion-button').text(options.collapseText) 432 // Hiding any expanded sub-menu of the same level. 433 .end().siblings('li.sf-expanded').children('ul') 434 .slideUp('fast', function(){ 435 // Doing the accessibility trick after hiding it. 436 $(this).closest('li').removeClass('sf-expanded').end().addClass('sf-hidden').show(); 437 }) 438 // Assuming Expand\Collapse buttons do exist, resetting captions, in those hidden sub-menus. 439 .parent().children('a.sf-accordion-button').text(options.expandText); 440 } 441 } 442 }); 443 } 444 } 445 else { 446 var 447 // Class names modification. 448 menuClone = menu.clone(), classes = (options.menuClasses) ? ((options.excludeClass_menu && menuClone.hasClass(options.excludeClass_menu)) ? menuClone.removeClass(options.excludeClass_menu).attr('class') : menuClone.attr('class')) : '', 449 classes = (options.includeClass_menu && !menuClone.hasClass(options.includeClass_menu)) ? ((options.menuClasses) ? menuClone.addClass(options.includeClass_menu).attr('class') : options.includeClass_menu) : classes, 450 classes = (classes) ? ' class="' + classes + '"' : ''; 451 452 // Making sure the <select> element does not exist already. 453 if ($('#' + menuID + '-select').length == 0){ 454 // Creating the <option> elements. 455 var newMenu = toSelect(refinedMenu, 1), 456 // Creating the <select> element and assigning an ID and class name. 457 selectList = $('<select class="' + classes + '" id="' + menuID + '-select"/>') 458 // Attaching the title and the items to the <select> element. 459 .html('<option>' + options.title + '</option>' + newMenu) 460 // Attaching an event then. 461 .change(function(){ 462 // Except for the first option that is the menu title and not a real menu item. 463 if ($('option:selected', this).index()){ 464 window.location = selectList.val(); 465 } 466 }); 467 // Applying the addSelected option to it. 468 if (options.addSelected){ 469 selectList.find('.active').attr('selected', !0); 470 } 471 // Finally inserting the <select> element into the document then hiding the original menu. 472 menu.before(selectList).hide(); 473 } 474 } 475 } 476 477 // Turn everything back to normal. 478 function turnBack(menu){ 479 var 480 id = '#' + menu.attr('id'); 481 // Removing the small screen version. 482 $(id + '-' + options.type).remove(); 483 // Removing the accordion toggle switch as well. 484 if (options.type == 'accordion'){ 485 $(id + '-toggle').parent('div').remove(); 486 } 487 // Crystal clear! 488 $(id).show(); 489 } 490
491 // Return original object to support chaining. 492 // Although this is unnecessary because of the way the module uses these plugins. 493 for (var s = 0; s < this.length; s++){ 494 var 495 menu = $(this).eq(s), 496 mode = options.mode; 497 // The rest is crystal clear, isn't it? :) 498 if (mode == 'always_active'){ 499 convert(menu); 500 } 501 else if (mode == 'window_width'){ 502 var breakpoint = (options.breakpointUnit == 'em') ? (options.breakpoint * parseFloat($('body').css('font-size'))) : options.breakpoint, 503 windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, 504 timer; 505 if ((typeof Modernizr === 'undefined' || typeof Modernizr.mq !== 'function') && windowWidth < breakpoint){ 506 convert(menu); 507 } 508 else if (typeof Modernizr !== 'undefined' && typeof Modernizr.mq === 'function' && Modernizr.mq('(max-width:' + (breakpoint - 1) + 'px)')) { 509 convert(menu); 510 } 511 $(window).resize(function(){ 512 clearTimeout(timer); 513 timer = setTimeout(function(){ 514 var windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; 515 if ((typeof Modernizr === 'undefined' || typeof Modernizr.mq !== 'function') && windowWidth < breakpoint){ 516 convert(menu); 517 } 518 else if (typeof Modernizr !== 'undefined' && typeof Modernizr.mq === 'function' && Modernizr.mq('(max-width:' + (breakpoint - 1) + 'px)')) { 519 convert(menu); 520 } 521 else { 522 turnBack(menu); 523 } 524 }, 50); 525 }); 526 } 527 else if (mode == 'useragent_custom'){ 528 if (options.useragent != ''){ 529 var ua = RegExp(options.useragent, 'i'); 530 if (navigator.userAgent.match(ua)){ 531 convert(menu); 532 } 533 } 534 } 535 else if (mode == 'useragent_predefined' && navigator.userAgent.match(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i)){ 536 convert(menu); 537 } 538 } 539 return this; 540 } 541})(jQuery); 542; 543/* 544 * Supposition v0.2 - an optional enhancer for Superfish jQuery menu widget. 545 * 546 * Copyright (c) 2008 Joel Birch - based mostly on work by Jesse Klaasse and credit goes largely to him. 547 * Special thanks to Karl Swedberg for valuable input. 548 * 549 * Dual licensed under the MIT and GPL licenses: 550 * http://www.opensource.org/licenses/mit-license.php 551 * http://www.gnu.org/licenses/gpl.html 552 */ 553/* 554 * This is not the original jQuery Supposition plugin. 555 * Please refer to the README for more information. 556 */ 557 558(function($){ 559 $.fn.supposition = function(){ 560 var $w = $(window), /*do this once instead of every onBeforeShow call*/ 561 _offset = function(dir) { 562 return window[dir == 'y' ? 'pageYOffset' : 'pageXOffset'] 563 || document.documentElement && document.documentElement[dir=='y' ? 'scrollTop' : 'scrollLeft'] 564 || document.body[dir=='y' ? 'scrollTop' : 'scrollLeft']; 565 }, 566 onHide = function(){ 567 this.css({bottom:''}); 568 }, 569 onBeforeShow = function(){ 570 this.each(function(){ 571 var $u = $(this); 572 $u.css('display','block'); 573 var $mul = $u.closest('.sf-menu'), 574 level = $u.parents('ul').length, 575 menuWidth = $u.width(), 576 menuParentWidth = $u.closest('li').outerWidth(true), 577 menuParentLeft = $u.closest('li').offset().left, 578 totalRight = $w.width() + _offset('x'), 579 menuRight = $u.offset().left + menuWidth, 580 exactMenuWidth = (menuRight > (menuParentWidth + menuParentLeft)) ? menuWidth - (menuRight - (menuParentWidth + menuParentLeft)) : menuWidth; 581 if ($u.parents('.sf-js-enabled').hasClass('rtl')) { 582 if (menuParentLeft < exactMenuWidth) { 583 if (($mul.hasClass('sf-horizontal') && level == 1) || ($mul.hasClass('sf-navbar') && level == 2)){ 584 $u.css({left:0,right:'auto'}); 585 } 586 else { 587 $u.css({left:menuParentWidth + 'px',right:'auto'}); 588 } 589 } 590 } 591 else { 592 if (menuRight > totalRight && menuParentLeft > menuWidth) { 593 if (($mul.hasClass('sf-horizontal') && level == 1) || ($mul.hasClass('sf-navbar') && level == 2)){ 594 $u.css({right:0,left:'auto'}); 595 } 596 else { 597 $u.css({right:menuParentWidth + 'px',left:'auto'}); 598 } 599 } 600 } 601 var windowHeight = $w.height(), 602 offsetTop = $u.offset().top, 603 menuParentShadow = ($mul.hasClass('sf-shadow') && $u.css('padding-bottom').length > 0) ? parseInt($u.css('padding-bottom').slice(0,-2)) : 0, 604 menuParentHeight = ($mul.hasClass('sf-vertical')) ? '-' + menuParentShadow : $u.parent().outerHeight(true) - menuParentShadow, 605 menuHeight = $u.height(), 606 baseline = windowHeight + _offset('y'); 607 var expandUp = ((offsetTop + menuHeight > baseline) && (offsetTop > menuHeight)); 608 if (expandUp) { 609 $u.css({bottom:menuParentHeight + 'px',top:'auto'}); 610 } 611 $u.css('display','none'); 612 }); 613 }; 614 615 return this.each(function() { 616 var o = $.fn.superfish.o[this.serial]; /* get this menu's options */ 617 618 /* if callbacks already set, store them */ 619 var _onBeforeShow = o.onBeforeShow, 620 _onHide = o.onHide; 621 622 $.extend($.fn.superfish.o[this.serial],{ 623 onBeforeShow: function() { 624 onBeforeShow.call(this); /* fire our Supposition callback */ 625 _onBeforeShow.call(this); /* fire stored callbacks */ 626 }, 627 onHide: function() { 628 onHide.call(this); /* fire our Supposition callback */ 629 _onHide.call(this); /* fire stored callbacks */ 630 } 631 }); 632 }); 633 }; 634})(jQuery);; 635/* 636 * Supersubs v0.4b - jQuery plugin 637 * Copyright (c) 2013 Joel Birch 638 * 639 * Dual licensed under the MIT and GPL licenses: 640 * http://www.opensource.org/licenses/mit-license.php 641 * http://www.gnu.org/licenses/gpl.html 642 * 643 * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of 644 * their longest list item children. If you use this, please expect bugs and report them 645 * to the jQuery Google Group with the word 'Superfish' in the subject line. 646 * 647 */ 648/* 649 * This is not the original jQuery Supersubs plugin. 650 * Please refer to the README for more information. 651 */ 652 653(function($){ // $ will refer to jQuery within this closure 654 $.fn.supersubs = function(options){ 655 var opts = $.extend({}, $.fn.supersubs.defaults, options);
656 // return original object to support chaining 657 // Although this is unnecessary due to the way the module uses these plugins. 658 for (var a = 0; a < this.length; a++) { 659 // cache selections 660 var $$ = $(this).eq(a), 661 // support metadata 662 o = $.meta ? $.extend({}, opts, $$.data()) : opts; 663 // Jump one level if it's a "NavBar" 664 if ($$.hasClass('sf-navbar')) { 665 $$ = $$.children('li').children('ul'); 666 } 667 // cache all ul elements 668 var $ULs = $$.find('ul'), 669 // get the font size of menu. 670 // .css('fontSize') returns various results cross-browser, so measure an em dash instead 671 fontsize = $('<li id="menu-fontsize">—</li>'), 672 size = fontsize.attr('style','padding:0;position:absolute;top:-99999em;width:auto;') 673 .appendTo($$)[0].clientWidth; //clientWidth is faster than width() 674 // remove em dash 675 fontsize.remove(); 676 677 // loop through each ul in menu 678 for (var b = 0; b < $ULs.length; b++) { 679 var 680 // cache this ul 681 $ul = $ULs.eq(b); 682 // If a multi-column sub-menu, and only if correctly configured. 683 if (o.multicolumn && $ul.hasClass('sf-multicolumn') && $ul.find('.sf-multicolumn-column').length > 0){ 684 // Look through each column. 685 var $column = $ul.find('div.sf-multicolumn-column > ol'), 686 // Overall width. 687 mwWidth = 0; 688 for (var d = 0; d < $column.length; d++){ 689 resize($column.eq(d)); 690 // New column width, in pixels. 691 var colWidth = $column.width(); 692 // Just a trick to convert em unit to px. 693 $column.css({width:colWidth}) 694 // Making column parents the same size. 695 .parents('.sf-multicolumn-column').css({width:colWidth}); 696 // Overall width. 697 mwWidth += parseInt(colWidth); 698 } 699 // Resizing the columns container too. 700 $ul.add($ul.find('li.sf-multicolumn-wrapper, li.sf-multicolumn-wrapper > ol')).css({width:mwWidth}); 701 } 702 else { 703 resize($ul); 704 } 705 } 706 } 707 function resize($ul){ 708 var 709 // get all (li) children of this ul 710 $LIs = $ul.children(), 711 // get all anchor grand-children 712 $As = $LIs.children('a'); 713 // force content to one line and save current float property 714 $LIs.css('white-space','nowrap'); 715 // remove width restrictions and floats so elements remain vertically stacked 716 $ul.add($LIs).add($As).css({float:'none',width:'auto'}); 717 // this ul will now be shrink-wrapped to longest li due to position:absolute 718 // so save its width as ems. 719 var emWidth = $ul.get(0).clientWidth / size; 720 // add more width to ensure lines don't turn over at certain sizes in various browsers 721 emWidth += o.extraWidth; 722 // restrict to at least minWidth and at most maxWidth 723 if (emWidth > o.maxWidth) {emWidth = o.maxWidth;} 724 else if (emWidth < o.minWidth) {emWidth = o.minWidth;} 725 emWidth += 'em'; 726 // set ul to width in ems 727 $ul.css({width:emWidth}); 728 // restore li floats to avoid IE bugs 729 // set li width to full width of this ul 730 // revert white-space to normal 731 $LIs.add($As).css({float:'',width:'',whiteSpace:''}); 732 // update offset position of descendant ul to reflect new width of parent. 733 // set it to 100% in case it isn't already set to this in the CSS 734 for (var c = 0; c < $LIs.length; c++) { 735 var $childUl = $LIs.eq(c).children('ul'); 736 var offsetDirection = $childUl.css('left') !== undefined ? 'left' : 'right'; 737 $childUl.css(offsetDirection,'100%'); 738 } 739 } 740 return this; 741 }; 742 // expose defaults 743 $.fn.supersubs.defaults = { 744 multicolumn: true, // define width for multi-column sub-menus and their columns. 745 minWidth: 12, // requires em unit. 746 maxWidth: 27, // requires em unit. 747 extraWidth: 1 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values 748 }; 749})(jQuery); // plugin code ends 750; 751/** 752 * @file 753 * The Superfish Drupal Behavior to apply the Superfish jQuery plugin to lists. 754 */ 755 756(function ($, Drupal, drupalSettings) { 757 758 'use strict'; 759 760 /** 761 * jQuery Superfish plugin. 762 * 763 * @type {Drupal~behavior} 764 * 765 * @prop {Drupal~behaviorAttach} attach 766 * Attaches the behavior to an applicable <ul> element. 767 */ 768 Drupal.behaviors.superfish = { 769 attach: function (context, drupalSettings) { 770 // Take a look at each menu to apply Superfish to. 771 $.each(drupalSettings.superfish || {}, function (index, options) { 772 var $menu = $('ul#' + options.id, context); 773 774 // Check if we are to apply the Supersubs plug-in to it. 775 if (options.plugins || false) { 776 if (options.plugins.supersubs || false) { 777 $menu.supersubs(options.plugins.supersubs); 778 } 779 } 780 781 // Apply Superfish to the menu. 782 $menu.superfish(options.sf); 783 784 // Check if we are to apply any other plug-in to it. 785 if (options.plugins || false) { 786 if (options.plugins.touchscreen || false) { 787 $menu.sftouchscreen(options.plugins.touchscreen); 788 } 789 if (options.plugins.smallscreen || false) { 790 $menu.sfsmallscreen(options.plugins.smallscreen); 791 } 792 if (options.plugins.supposition || false) { 793 $menu.supposition(); 794 } 795 } 796 }); 797 } 798 }; 799})(jQuery, Drupal, drupalSettings); 800; 801 /** 802 * Add Javascript - Back To Top 803 */ 804jQuery(document).ready(function($) { 805 $(window).scroll(function() { 806 if($(this).scrollTop() != 0) { 807 $("#toTop").fadeIn(); 808 } else { 809 $("#toTop").fadeOut(); 810 } 811 }); 812 813 $("#toTop").click(function() { 814 $("body,html").animate({scrollTop:0},800); 815 }); 816 817});; 818 /** 819 * Add Javascript - Fixed Header 820 */ 821jQuery(document).ready(function($) { 822 var preHeaderHeight = $("#pre-header").outerHeight() || 0, 823 headerTopHeight = $("#header-top").outerHeight() || 0, 824 headerHeight = $("#header").outerHeight() || 0; 825 $(window).on("load", function (e) { 826 if(($(window).width() > 767)) { 827 $("body").addClass("fixed-header-enabled"); 828 } else { 829 $("body").removeClass("fixed-header-enabled"); 830 } 831 }); 832 $(window).resize(function() { 833 if(($(window).width() > 767)) { 834 $("body").addClass("fixed-header-enabled"); 835 } else { 836 $("body").removeClass("fixed-header-enabled"); 837 } 838 }); 839 $(window).scroll(function() { 840 if(($(this).scrollTop() > preHeaderHeight+headerTopHeight) && ($(window).width() > 767)) { 841 $("body").addClass("onscroll"); 842 if ($("#toolbar-administration").length > 0) { 843 var adminHeight = $('body').css('paddingTop'); 844 $("#header").css("top", adminHeight); 845 } 846 if ($("#page-intro").length > 0) { 847 $("#page-intro").css("paddingTop", (headerHeight)+"px"); 848 } else { 849 $("#page").css("paddingTop", (headerHeight)+"px"); 850 } 851 } else { 852 $("body").removeClass("onscroll"); 853 $("#header").css("top", (0)+"px"); 854 $("#page,#page-intro").css("paddingTop", (0)+"px"); 855 } 856 }); 857}); 858; 859/*! 860 * jQuery Form Plugin 861 * version: 4.3.0 862 * Requires jQuery v1.7.2 or later 863 * Project repository: https://github.com/jquery-form/form 864 865 * Copyright 2017 Kevin Morris 866 * Copyright 2006 M. Alsup 867 868 * Dual licensed under the LGPL-2.1+ or MIT licenses 869 * https://github.com/jquery-form/form#license 870 871 * This library is free software; you can redistribute it and/or 872 * modify it under the terms of the GNU Lesser General Public
vendor: 16,397 bytes, lines 873-880
873 * License as published by the Free Software Foundation; either 874 * version 2.1 of the License, or (at your option) any later version. 875 * This library is distributed in the hope that it will be useful, 876 * but WITHOUT ANY WARRANTY; without even the implied warranty of 877 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 878 * Lesser General Public License for more details. 879 */ 880!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),r(t),t}:r(jQuery)}(function(q){"use strict";var m=/\r?\n/g,S={};S.fileapi=void 0!==q('<input type="file">').get(0).files,S.formdata=void 0!==window.FormData;var _=!!q.fn.prop;function o(e){var t=e.data;e.isDefaultPrevented()||(e.preventDefault(),q(e.target).closest("form").ajaxSubmit(t))}function i(e){var t=e.target,r=q(t);if(!r.is("[type=submit],[type=image]")){var a=r.closest("[type=submit]");if(0===a.length)return;t=a[0]}var n,o=t.form;"image"===(o.clk=t).type&&(void 0!==e.offsetX?(o.clk_x=e.offsetX,o.clk_y=e.offsetY):"function"==typeof q.fn.offset?(n=r.offset(),o.clk_x=e.pageX-n.left,o.clk_y=e.pageY-n.top):(o.clk_x=e.pageX-t.offsetLeft,o.clk_y=e.pageY-t.offsetTop)),setTimeout(function(){o.clk=o.clk_x=o.clk_y=null},100)}function N(){var e;q.fn.ajaxSubmit.debug&&(e="[jquery.form] "+Array.prototype.join.call(arguments,""),window.console&&window.console.log?window.console.log(e):window.opera&&window.opera.postError&&window.opera.postError(e))}q.fn.attr2=function(){if(!_)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},q.fn.ajaxSubmit=function(M,e,t,r){if(!this.length)return N("ajaxSubmit: skipping submit process - no element selected"),this;var O,a,n,o,X=this;"function"==typeof M?M={success:M}:"string"==typeof M||!1===M&&0<arguments.length?(M={url:M,data:e,dataType:t},"function"==typeof r&&(M.success=r)):void 0===M&&(M={}),O=M.method||M.type||this.attr2("method"),n=(n=(n="string"==typeof(a=M.url||this.attr2("action"))?q.trim(a):"")||window.location.href||"")&&(n.match(/^([^#]+)/)||[])[1],o=/(MSIE|Trident)/.test(navigator.userAgent||"")&&/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",M=q.extend(!0,{url:n,success:q.ajaxSettings.success,type:O||q.ajaxSettings.type,iframeSrc:o},M);var i={};if(this.trigger("form-pre-serialize",[this,M,i]),i.veto)return N("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(M.beforeSerialize&&!1===M.beforeSerialize(this,M))return N("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var s=M.traditional;void 0===s&&(s=q.ajaxSettings.traditional);var u,c,C=[],l=this.formToArray(M.semantic,C,M.filtering);if(M.data&&(c=q.isFunction(M.data)?M.data(l):M.data,M.extraData=c,u=q.param(c,s)),M.beforeSubmit&&!1===M.beforeSubmit(l,this,M))return N("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[l,this,M,i]),i.veto)return N("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var f=q.param(l,s);u&&(f=f?f+"&"+u:u),"GET"===M.type.toUpperCase()?(M.url+=(0<=M.url.indexOf("?")?"&":"?")+f,M.data=null):M.data=f;var d,m,p,h=[];M.resetForm&&h.push(function(){X.resetForm()}),M.clearForm&&h.push(function(){X.clearForm(M.includeHidden)}),!M.dataType&&M.target?(d=M.success||function(){},h.push(function(e,t,r){var a=arguments,n=M.replaceTarget?"replaceWith":"html";q(M.target)[n](e).each(function(){d.apply(this,a)})})):M.success&&(q.isArray(M.success)?q.merge(h,M.success):h.push(M.success)),M.success=function(e,t,r){for(var a=M.context||this,n=0,o=h.length;n<o;n++)h[n].apply(a,[e,t,r||X,X])},M.error&&(m=M.error,M.error=function(e,t,r){var a=M.context||this;m.apply(a,[e,t,r,X])}),M.complete&&(p=M.complete,M.complete=function(e,t){var r=M.context||this;p.apply(r,[e,t,X])});var v=0<q("input[type=file]:enabled",this).filter(function(){return""!==q(this).val()}).length,g="multipart/form-data",x=X.attr("enctype")===g||X.attr("encoding")===g,y=S.fileapi&&S.formdata;N("fileAPI :"+y);var b,T=(v||x)&&!y;!1!==M.iframe&&(M.iframe||T)?M.closeKeepAlive?q.get(M.closeKeepAlive,function(){b=w(l)}):b=w(l):b=(v||x)&&y?function(e){for(var r=new FormData,t=0;t<e.length;t++)r.append(e[t].name,e[t].value);if(M.extraData){var a=function(e){var t,r,a=q.param(e,M.traditional).split("&"),n=a.length,o=[];for(t=0;t<n;t++)a[t]=a[t].replace(/\+/g," "),r=a[t].split("="),o.push([decodeURIComponent(r[0]),decodeURIComponent(r[1])]);return o}(M.extraData);for(t=0;t<a.length;t++)a[t]&&r.append(a[t][0],a[t][1])}M.data=null;var n=q.extend(!0,{},q.ajaxSettings,M,{contentType:!1,processData:!1,cache:!1,type:O||"POST"});M.uploadProgress&&(n.xhr=function(){var e=q.ajaxSettings.xhr();return e.upload&&e.upload.addEventListener("progress",function(e){var t=0,r=e.loaded||e.position,a=e.total;e.lengthComputable&&(t=Math.ceil(r/a*100)),M.uploadProgress(e,r,a,t)},!1),e});n.data=null;var o=n.beforeSend;return n.beforeSend=function(e,t){M.formData?t.data=M.formData:t.data=r,o&&o.call(this,e,t)},q.ajax(n)}(l):q.ajax(M),X.removeData("jqxhr").data("jqxhr",b);for(var j=0;j<C.length;j++)C[j]=null;return this.trigger("form-submit-notify",[this,M]),this;function w(e){var t,r,l,f,o,d,m,p,a,n,h,v,i=X[0],g=q.Deferred();if(g.abort=function(e){p.abort(e)},e)for(r=0;r<C.length;r++)t=q(C[r]),_?t.prop("disabled",!1):t.removeAttr("disabled");(l=q.extend(!0,{},q.ajaxSettings,M)).context=l.context||l,o="jqFormIO"+(new Date).getTime();var s=i.ownerDocument,u=X.closest("body");if(l.iframeTarget?(n=(d=q(l.iframeTarget,s)).attr2("name"))?o=n:d.attr2("name",o):(d=q('<iframe name="'+o+'" src="'+l.iframeSrc+'" />',s)).css({position:"absolute",top:"-1000px",left:"-1000px"}),m=d[0],p={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(e){var t="timeout"===e?"timeout":"aborted";N("aborting upload... "+t),this.aborted=1;try{m.contentWindow.document.execCommand&&m.contentWindow.document.execCommand("Stop")}catch(e){}d.attr("src",l.iframeSrc),p.error=t,l.error&&l.error.call(l.context,p,t,e),f&&q.event.trigger("ajaxError",[p,l,t]),l.complete&&l.complete.call(l.context,p,t)}},(f=l.global)&&0==q.active++&&q.event.trigger("ajaxStart"),f&&q.event.trigger("ajaxSend",[p,l]),l.beforeSend&&!1===l.beforeSend.call(l.context,p,l))return l.global&&q.active--,g.reject(),g;if(p.aborted)return g.reject(),g;(a=i.clk)&&(n=a.name)&&!a.disabled&&(l.extraData=l.extraData||{},l.extraData[n]=a.value,"image"===a.type&&(l.extraData[n+".x"]=i.clk_x,l.extraData[n+".y"]=i.clk_y));var x=1,y=2;function b(t){var r=null;try{t.contentWindow&&(r=t.contentWindow.document)}catch(e){N("cannot get iframe.contentWindow document: "+e)}if(r)return r;try{r=t.contentDocument?t.contentDocument:t.document}catch(e){N("cannot get iframe.contentDocument: "+e),r=t.document}return r}var c=q("meta[name=csrf-token]").attr("content"),T=q("meta[name=csrf-param]").attr("content");function j(){var e=X.attr2("target"),t=X.attr2("action"),r=X.attr("enctype")||X.attr("encoding")||"multipart/form-data";i.setAttribute("target",o),O&&!/post/i.test(O)||i.setAttribute("method","POST"),t!==l.url&&i.setAttribute("action",l.url),l.skipEncodingOverride||O&&!/post/i.test(O)||X.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),l.timeout&&(v=setTimeout(function(){h=!0,A(x)},l.timeout));var a=[];try{if(l.extraData)for(var n in l.extraData)l.extraData.hasOwnProperty(n)&&(q.isPlainObject(l.extraData[n])&&l.extraData[n].hasOwnProperty("name")&&l.extraData[n].hasOwnProperty("value")?a.push(q('<input type="hidden" name="'+l.extraData[n].name+'">',s).val(l.extraData[n].value).appendTo(i)[0]):a.push(q('<input type="hidden" name="'+n+'">',s).val(l.extraData[n]).appendTo(i)[0]));l.iframeTarget||d.appendTo(u),m.attachEvent?m.attachEvent("onload",A):m.addEventListener("load",A,!1),setTimeout(function e(){try{var t=b(m).readyState;N("state = "+t),t&&"uninitialized"===t.toLowerCase()&&setTimeout(e,50)}catch(e){N("Server abort: ",e," (",e.name,")"),A(y),v&&clearTimeout(v),v=void 0}},15);try{i.submit()}catch(e){document.createElement("form").submit.apply(i)}}finally{i.setAttribute("action",t),i.setAttribute("enctype",r),e?i.setAttribute("target",e):X.removeAttr("target"),q(a).remove()}}T&&c&&(l.extraData=l.extraData||{},l.extraData[T]=c),l.forceSync?j():setTimeout(j,10);var w,S,k,D=50;function A(e){if(!p.aborted&&!k){if((S=b(m))||(N("cannot access response document"),e=y),e===x&&p)return p.abort("timeout"),void g.reject(p,"timeout");if(e===y&&p)return p.abort("server abort"),void g.reject(p,"error","server abort");if(S&&S.location.href!==l.iframeSrc||h){m.detachEvent?m.detachEvent("onload",A):m.removeEventListener("load",A,!1);var t,r="success";try{if(h)throw"timeout";var a="xml"===l.dataType||S.XMLDocument||q.isXMLDoc(S);if(N("isXml="+a),!a&&window.opera&&(null===S.body||!S.body.innerHTML)&&--D)return N("requeing onLoad callback, DOM not available"),void setTimeout(A,250);var n=S.body?S.body:S.documentElement;p.responseText=n?n.innerHTML:null,p.responseXML=S.XMLDocument?S.XMLDocument:S,a&&(l.dataType="xml"),p.getResponseHeader=function(e){return{"content-type":l.dataType}[e.toLowerCase()]},n&&(p.status=Number(n.getAttribute("status"))||p.status,p.statusText=n.getAttribute("statusText")||p.statusText);var o,i,s,u=(l.dataType||"").toLowerCase(),c=/(json|script|text)/.test(u);c||l.textarea?(o=S.getElementsByTagName("textarea")[0])?(p.responseText=o.value,p.status=Number(o.getAttribute("status"))||p.status,p.statusText=o.getAttribute("statusText")||p.statusText):c&&(i=S.getElementsByTagName("pre")[0],s=S.getElementsByTagName("body")[0],i?p.responseText=i.textContent?i.textContent:i.innerText:s&&(p.responseText=s.textContent?s.textContent:s.innerText)):"xml"===u&&!p.responseXML&&p.responseText&&(p.responseXML=F(p.responseText));try{w=E(p,u,l)}catch(e){r="parsererror",p.error=t=e||r}}catch(e){N("error caught: ",e),r="error",p.error=t=e||r}p.aborted&&(N("upload aborted"),r=null),p.status&&(r=200<=p.status&&p.status<300||304===p.status?"success":"error"),"success"===r?(l.success&&l.success.call(l.context,w,"success",p),g.resolve(p.responseText,"success",p),f&&q.event.trigger("ajaxSuccess",[p,l])):r&&(void 0===t&&(t=p.statusText),l.error&&l.error.call(l.context,p,r,t),g.reject(p,"error",t),f&&q.event.trigger("ajaxError",[p,l,t])),f&&q.event.trigger("ajaxComplete",[p,l]),f&&!--q.active&&q.event.trigger("ajaxStop"),l.complete&&l.complete.call(l.context,p,r),k=!0,l.timeout&&clearTimeout(v),setTimeout(function(){l.iframeTarget?d.attr("src",l.iframeSrc):d.remove(),p.responseXML=null},100)}}}var F=q.parseXML||function(e,t){return window.ActiveXObject?((t=new ActiveXObject("Microsoft.XMLDOM")).async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!==t.documentElement.nodeName?t:null},L=q.parseJSON||function(e){return window.eval("("+e+")")},E=function(e,t,r){var a=e.getResponseHeader("content-type")||"",n=("xml"===t||!t)&&0<=a.indexOf("xml"),o=n?e.responseXML:e.responseText;return n&&"parsererror"===o.documentElement.nodeName&&q.error&&q.error("parsererror"),r&&r.dataFilter&&(o=r.dataFilter(o,t)),"string"==typeof o&&(("json"===t||!t)&&0<=a.indexOf("json")?o=L(o):("script"===t||!t)&&0<=a.indexOf("javascript")&&q.globalEval(o)),o};return g}},q.fn.ajaxForm=function(e,t,r,a){if(("string"==typeof e||!1===e&&0<arguments.length)&&(e={url:e,data:t,dataType:r},"function"==typeof a&&(e.success=a)),(e=e||{}).delegation=e.delegation&&q.isFunction(q.fn.on),e.delegation||0!==this.length)return e.delegation?(q(document).off("submit.form-plugin",this.selector,o).off("click.form-plugin",this.selector,i).on("submit.form-plugin",this.selector,e,o).on("click.form-plugin",this.selector,e,i),this):(e.beforeFormUnbind&&e.beforeFormUnbind(this,e),this.ajaxFormUnbind().on("submit.form-plugin",e,o).on("click.form-plugin",e,i));var n={s:this.selector,c:this.context};return!q.isReady&&n.s?(N("DOM not ready, queuing ajaxForm"),q(function(){q(n.s,n.c).ajaxForm(e)})):N("terminating; zero elements found by selector"+(q.isReady?"":" (DOM not ready)")),this},q.fn.ajaxFormUnbind=function(){return this.off("submit.form-plugin click.form-plugin")},q.fn.formToArray=function(e,t,r){var a=[];if(0===this.length)return a;var n,o,i,s,u,c,l,f,d,m,p=this[0],h=this.attr("id"),v=(v=e||void 0===p.elements?p.getElementsByTagName("*"):p.elements)&&q.makeArray(v);if(h&&(e||/(Edge|Trident)\//.test(navigator.userAgent))&&(n=q(':input[form="'+h+'"]').get()).length&&(v=(v||[]).concat(n)),!v||!v.length)return a;for(q.isFunction(r)&&(v=q.map(v,r)),o=0,c=v.length;o<c;o++)if((m=(u=v[o]).name)&&!u.disabled)if(e&&p.clk&&"image"===u.type)p.clk===u&&(a.push({name:m,value:q(u).val(),type:u.type}),a.push({name:m+".x",value:p.clk_x},{name:m+".y",value:p.clk_y}));else if((s=q.fieldValue(u,!0))&&s.constructor===Array)for(t&&t.push(u),i=0,l=s.length;i<l;i++)a.push({name:m,value:s[i]});else if(S.fileapi&&"file"===u.type){t&&t.push(u);var g=u.files;if(g.length)for(i=0;i<g.length;i++)a.push({name:m,value:g[i],type:u.type});else a.push({name:m,value:"",type:u.type})}else null!=s&&(t&&t.push(u),a.push({name:m,value:s,type:u.type,required:u.required}));return e||!p.clk||(m=(d=(f=q(p.clk))[0]).name)&&!d.disabled&&"image"===d.type&&(a.push({name:m,value:f.val()}),a.push({name:m+".x",value:p.clk_x},{name:m+".y",value:p.clk_y})),a},q.fn.formSerialize=function(e){return q.param(this.formToArray(e))},q.fn.fieldSerialize=function(n){var o=[];return this.each(function(){var e=this.name;if(e){var t=q.fieldValue(this,n);if(t&&t.constructor===Array)for(var r=0,a=t.length;r<a;r++)o.push({name:e,value:t[r]});else null!=t&&o.push({name:this.name,value:t})}}),q.param(o)},q.fn.fieldValue=function(e){for(var t=[],r=0,a=this.length;r<a;r++){var n=this[r],o=q.fieldValue(n,e);null==o||o.constructor===Array&&!o.length||(o.constructor===Array?q.merge(t,o):t.push(o))}return t},q.fieldValue=function(e,t){var r=e.name,a=e.type,n=e.tagName.toLowerCase();if(void 0===t&&(t=!0),t&&(!r||e.disabled||"reset"===a||"button"===a||("checkbox"===a||"radio"===a)&&!e.checked||("submit"===a||"image"===a)&&e.form&&e.form.clk!==e||"select"===n&&-1===e.selectedIndex))return null;if("select"!==n)return q(e).val().replace(m,"\r\n");var o=e.selectedIndex;if(o<0)return null;for(var i=[],s=e.options,u="select-one"===a,c=u?o+1:s.length,l=u?o:0;l<c;l++){var f=s[l];if(f.selected&&!f.disabled){var d=(d=f.value)||(f.attributes&&f.attributes.value&&!f.attributes.value.specified?f.text:f.value);if(u)return d;i.push(d)}}return i},q.fn.clearForm=function(e){return this.each(function(){q("input,select,textarea",this).clearFields(e)})},q.fn.clearFields=q.fn.clearInputs=function(r){var a=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var e=this.type,t=this.tagName.toLowerCase();a.test(e)||"textarea"===t?this.value="":"checkbox"===e||"radio"===e?this.checked=!1:"select"===t?this.selectedIndex=-1:"file"===e?/MSIE/.test(navigator.userAgent)?q(this).replaceWith(q(this).clone(!0)):q(this).val(""):r&&(!0===r&&/hidden/.test(e)||"string"==typeof r&&q(this).is(r))&&(this.value="")})},q.fn.resetForm=function(){return this.each(function(){var t=q(this),e=this.tagName.toLowerCase();switch(e){case"input":this.checked=this.defaultChecked;case"textarea":return this.value=this.defaultValue,!0;case"option":case"optgroup":var r=t.parents("select");return r.length&&r[0].multiple?"option"===e?this.selected=this.defaultSelected:t.find("option").resetForm():r.resetForm(),!0;case"select":return t.find("option").each(function(e){if(this.selected=this.defaultSelected,this.defaultSelected&&!t[0].multiple)return t[0].selectedIndex=e,!1}),!0;case"label":var a=q(t.attr("for")),n=t.find("input,select,textarea");return a[0]&&n.unshift(a[0]),n.resetForm(),!0;case"form":return"function"!=typeof this.reset&&("object"!=typeof this.reset||this.reset.nodeType)||this.reset(),!0;default:return t.find("form,input,label,select,textarea").resetForm(),!0}})},q.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},q.fn.selected=function(r){return void 0===r&&(r=!0),this.each(function(){var e,t=this.t
880ype;"checkbox"===t||"radio"===t?this.checked=r:"option"===this.tagName.toLowerCase()&&(e=q(this).parent("select"),r&&e[0]&&"select-one"===e[0].type&&e.find("option").selected(!1),this.selected=r)})},q.fn.ajaxSubmit.debug=!1}); 881 882; 883/** 884* DO NOT EDIT THIS FILE. 885* See the following change record for more information, 886* https://www.drupal.org/node/2815083 887* @preserve 888**/ 889(function ($, Drupal) { 890 Drupal.theme.progressBar = function (id) { 891 return "<div id=\"".concat(id, "\" class=\"progress\" aria-live=\"polite\">") + '<div class="progress__label"> </div>' + '<div class="progress__track"><div class="progress__bar"></div></div>' + '<div class="progress__percentage"></div>' + '<div class="progress__description"> </div>' + '</div>'; 892 }; 893 Drupal.ProgressBar = function (id, updateCallback, method, errorCallback) { 894 this.id = id; 895 this.method = method || 'GET'; 896 this.updateCallback = updateCallback; 897 this.errorCallback = errorCallback; 898 this.element = $(Drupal.theme('progressBar', id)); 899 }; 900 $.extend(Drupal.ProgressBar.prototype, { 901 setProgress: function setProgress(percentage, message, label) { 902 if (percentage >= 0 && percentage <= 100) { 903 $(this.element).find('div.progress__bar').css('width', "".concat(percentage, "%")); 904 $(this.element).find('div.progress__percentage').html("".concat(percentage, "%")); 905 } 906 $('div.progress__description', this.element).html(message); 907 $('div.progress__label', this.element).html(label); 908 if (this.updateCallback) { 909 this.updateCallback(percentage, message, this); 910 } 911 }, 912 startMonitoring: function startMonitoring(uri, delay) { 913 this.delay = delay; 914 this.uri = uri; 915 this.sendPing(); 916 }, 917 stopMonitoring: function stopMonitoring() { 918 clearTimeout(this.timer); 919 this.uri = null; 920 }, 921 sendPing: function sendPing() { 922 if (this.timer) { 923 clearTimeout(this.timer); 924 } 925 if (this.uri) { 926 var pb = this; 927 var uri = this.uri; 928 if (uri.indexOf('?') === -1) { 929 uri += '?'; 930 } else { 931 uri += '&'; 932 } 933 uri += '_format=json'; 934 $.ajax({ 935 type: this.method, 936 url: uri, 937 data: '', 938 dataType: 'json', 939 success: function success(progress) { 940 if (progress.status === 0) { 941 pb.displayError(progress.data); 942 return; 943 } 944 pb.setProgress(progress.percentage, progress.message, progress.label); 945 pb.timer = setTimeout(function () { 946 pb.sendPing(); 947 }, pb.delay); 948 }, 949 error: function error(xmlhttp) { 950 var e = new Drupal.AjaxError(xmlhttp, pb.uri); 951 pb.displayError("<pre>".concat(e.message, "</pre>")); 952 } 953 }); 954 } 955 }, 956 displayError: function displayError(string) { 957 var error = $('<div class="messages messages--error"></div>').html(string); 958 $(this.element).before(error).hide(); 959 if (this.errorCallback) { 960 this.errorCallback(this); 961 } 962 } 963 }); 964})(jQuery, Drupal);; 965loadjs=function(){var h=function(){},c={},u={},f={};function o(e,n){if(e){var r=f[e];if(u[e]=n,r)for(;r.length;)r[0](e,n),r.splice(0,1)}}function l(e,n){e.call&&(e={success:e}),n.length?(e.error||h)(n):(e.success||h)(e)}function d(r,t,s,i){var c,o,e=document,n=s.async,u=(s.numRetries||0)+1,f=s.before||h,l=r.replace(/[\?|#].*$/,""),a=r.replace(/^(css|img)!/,"");i=i||0,/(^css!|\.css$)/.test(l)?((o=e.createElement("link")).rel="stylesheet",o.href=a,(c="hideFocus"in o)&&o.relList&&(c=0,o.rel="preload",o.as="style")):/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(l)?(o=e.createElement("img")).src=a:((o=e.createElement("script")).src=r,o.async=void 0===n||n),!(o.onload=o.onerror=o.onbeforeload=function(e){var n=e.type[0];if(c)try{o.sheet.cssText.length||(n="e")}catch(e){18!=e.code&&(n="e")}if("e"==n){if((i+=1)<u)return d(r,t,s,i)}else if("preload"==o.rel&&"style"==o.as)return o.rel="stylesheet";t(r,n,e.defaultPrevented)})!==f(r,o)&&e.head.appendChild(o)}function r(e,n,r){var t,s;if(n&&n.trim&&(t=n),s=(t?r:n)||{},t){if(t in c)throw"LoadJS";c[t]=!0}function i(n,r){!function(e,t,n){var r,s,i=(e=e.push?e:[e]).length,c=i,o=[];for(r=function(e,n,r){if("e"==n&&o.push(e),"b"==n){if(!r)return;o.push(e)}--i||t(o)},s=0;s<c;s++)d(e[s],r,n)}(e,function(e){l(s,e),n&&l({success:n,error:r},e),o(t,e)},s)}if(s.returnPromise)return new Promise(i);i()}return r.ready=function(e,n){return function(e,r){e=e.push?e:[e];var n,t,s,i=[],c=e.length,o=c;
965for(n=function(e,n){n.length&&i.push(e),--o||r(i)};c--;)t=e[c],(s=u[t])?n(t,s):(f[t]=f[t]||[]).push(n)}(e,function(e){l(n,e)}),r},r.done=function(e){o(e,[])},r.reset=function(){c={},u={},f={}},r.isDefined=function(e){return e in c},r}();; 966/** 967* DO NOT EDIT THIS FILE. 968* See the following change record for more information, 969* https://www.drupal.org/node/2815083 970* @preserve 971**/ 972function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } 973function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 974function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 975function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } 976function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } 977function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 978(function ($, window, Drupal, drupalSettings, loadjs, _ref) { 979 var isFocusable = _ref.isFocusable, 980 tabbable = _ref.tabbable; 981 Drupal.behaviors.AJAX = { 982 attach: function attach(context, settings) { 983 function loadAjaxBehavior(base) { 984 var elementSettings = settings.ajax[base]; 985 if (typeof elementSettings.selector === 'undefined') { 986 elementSettings.selector = "#".concat(base); 987 } 988 once('drupal-ajax', $(elementSettings.selector)).forEach(function (el) { 989 elementSettings.element = el; 990 elementSettings.base = base; 991 Drupal.ajax(elementSettings); 992 }); 993 } 994 Object.keys(settings.ajax || {}).forEach(function (base) { 995 return loadAjaxBehavior(base); 996 }); 997 Drupal.ajax.bindAjaxLinks(document.body); 998 once('ajax', '.use-ajax-submit').forEach(function (el) { 999 var elementSettings = {}; 1000 elementSettings.url = $(el.form).attr('action'); 1001 elementSettings.setClick = true; 1002 elementSettings.event = 'click'; 1003 elementSettings.progress = { 1004 type: 'throbber' 1005 }; 1006 elementSettings.base = el.id; 1007 elementSettings.element = el; 1008 Drupal.ajax(elementSettings); 1009 }); 1010 }, 1011 detach: function detach(context, settings, trigger) { 1012 if (trigger === 'unload') { 1013 Drupal.ajax.expired().forEach(function (instance) { 1014 Drupal.ajax.instances[instance.instanceIndex] = null; 1015 }); 1016 } 1017 } 1018 }; 1019 Drupal.AjaxError = function (xmlhttp, uri, customMessage) { 1020 var statusCode; 1021 var statusText; 1022 var responseText; 1023 if (xmlhttp.status) { 1024 statusCode = "\n".concat(Drupal.t('An AJAX HTTP error occurred.'), "\n").concat(Drupal.t('HTTP Result Code: !status', { 1025 '!status': xmlhttp.status 1026 })); 1027 } else { 1028 statusCode = "\n".concat(Drupal.t('An AJAX HTTP request terminated abnormally.')); 1029 } 1030 statusCode += "\n".concat(Drupal.t('Debugging information follows.')); 1031 var pathText = "\n".concat(Drupal.t('Path: !uri', { 1032 '!uri': uri 1033 })); 1034 statusText = ''; 1035 try { 1036 statusText = "\n".concat(Drupal.t('StatusText: !statusText', { 1037 '!statusText': xmlhttp.statusText.trim() 1038 })); 1039 } catch (e) {} 1040 responseText = ''; 1041 try { 1042 responseText = "\n".concat(Drupal.t('ResponseText: !responseText', { 1043 '!responseText': xmlhttp.responseText.trim() 1044 })); 1045 } catch (e) {} 1046 responseText = responseText.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi, ''); 1047 responseText = responseText.replace(/[\n]+\s+/g, '\n'); 1048 var readyStateText = xmlhttp.status === 0 ? "\n".concat(Drupal.t('ReadyState: !readyState', { 1049 '!readyState': xmlhttp.readyState 1050 })) : ''; 1051 customMessage = customMessage ? "\n".concat(Drupal.t('CustomMessage: !customMessage', { 1052 '!customMessage': customMessage 1053 })) : ''; 1054 this.message = statusCode + pathText + statusText + customMessage + responseText + readyStateText; 1055 this.name = 'AjaxError'; 1056 }; 1057 Drupal.AjaxError.prototype = new Error(); 1058 Drupal.AjaxError.prototype.constructor = Drupal.AjaxError; 1059 Drupal.ajax = function (settings) { 1060 if (arguments.length !== 1) { 1061 throw new Error('Drupal.ajax() function must be called with one configuration object only'); 1062 } 1063 var base = settings.base || false; 1064 var element = settings.element || false; 1065 delete settings.base; 1066 delete settings.element; 1067 if (!settings.progress && !element) { 1068 settings.progress = false;
1069 } 1070 var ajax = new Drupal.Ajax(base, element, settings); 1071 ajax.instanceIndex = Drupal.ajax.instances.length; 1072 Drupal.ajax.instances.push(ajax); 1073 return ajax; 1074 }; 1075 Drupal.ajax.instances = []; 1076 Drupal.ajax.expired = function () { 1077 return Drupal.ajax.instances.filter(function (instance) { 1078 return instance && instance.element !== false && !document.body.contains(instance.element); 1079 }); 1080 }; 1081 Drupal.ajax.bindAjaxLinks = function (element) { 1082 once('ajax', '.use-ajax', element).forEach(function (ajaxLink) { 1083 var $linkElement = $(ajaxLink); 1084 var elementSettings = { 1085 progress: { 1086 type: 'throbber' 1087 }, 1088 dialogType: $linkElement.data('dialog-type'), 1089 dialog: $linkElement.data('dialog-options'), 1090 dialogRenderer: $linkElement.data('dialog-renderer'), 1091 base: $linkElement.attr('id'), 1092 element: ajaxLink 1093 }; 1094 var href = $linkElement.attr('href'); 1095 if (href) { 1096 elementSettings.url = href; 1097 elementSettings.event = 'click'; 1098 } 1099 Drupal.ajax(elementSettings); 1100 }); 1101 }; 1102 Drupal.Ajax = function (base, element, elementSettings) { 1103 var defaults = { 1104 event: element ? 'mousedown' : null, 1105 keypress: true, 1106 selector: base ? "#".concat(base) : null, 1107 effect: 'none', 1108 speed: 'none', 1109 method: 'replaceWith', 1110 progress: { 1111 type: 'throbber', 1112 message: Drupal.t('Please wait...') 1113 }, 1114 submit: { 1115 js: true 1116 } 1117 }; 1118 $.extend(this, defaults, elementSettings); 1119 this.commands = new Drupal.AjaxCommands(); 1120 this.instanceIndex = false; 1121 if (this.wrapper) { 1122 this.wrapper = "#".concat(this.wrapper); 1123 } 1124 this.element = element; 1125 this.element_settings = elementSettings; 1126 this.elementSettings = elementSettings; 1127 if (this.element && this.element.form) { 1128 this.$form = $(this.element.form); 1129 } 1130 if (!this.url) { 1131 var $element = $(this.element); 1132 if ($element.is('a')) { 1133 this.url = $element.attr('href'); 1134 } else if (this.element && element.form) { 1135 this.url = this.$form.attr('action'); 1136 } 1137 } 1138 var originalUrl = this.url; 1139 this.url = this.url.replace(/\/nojs(\/|$|\?|#)/, '/ajax$1'); 1140 if (drupalSettings.ajaxTrustedUrl[originalUrl]) { 1141 drupalSettings.ajaxTrustedUrl[this.url] = true; 1142 } 1143 var ajax = this; 1144 ajax.options = { 1145 url: ajax.url, 1146 data: ajax.submit, 1147 isInProgress: function isInProgress() { 1148 return ajax.ajaxing; 1149 }, 1150 beforeSerialize: function beforeSerialize(elementSettings, options) { 1151 return ajax.beforeSerialize(elementSettings, options); 1152 }, 1153 beforeSubmit: function beforeSubmit(formValues, elementSettings, options) { 1154 ajax.ajaxing = true; 1155 return ajax.beforeSubmit(formValues, elementSettings, options); 1156 }, 1157 beforeSend: function beforeSend(xmlhttprequest, options) { 1158 ajax.ajaxing = true; 1159 return ajax.beforeSend(xmlhttprequest, options); 1160 }, 1161 success: function success(response, status, xmlhttprequest) { 1162 var _this = this; 1163 if (typeof response === 'string') { 1164 response = $.parseJSON(response); 1165 } 1166 if (response !== null && !drupalSettings.ajaxTrustedUrl[ajax.url]) { 1167 if (xmlhttprequest.getResponseHeader('X-Drupal-Ajax-Token') !== '1') { 1168 var customMessage = Drupal.t('The response failed verification so will not be processed.'); 1169 return ajax.error(xmlhttprequest, ajax.url, customMessage); 1170 } 1171 } 1172 return Promise.resolve(ajax.success(response, status)).then(function () { 1173 ajax.ajaxing = false; 1174 $(document).trigger('ajaxSuccess', [xmlhttprequest, _this]); 1175 $(document).trigger('ajaxComplete', [xmlhttprequest, _this]); 1176 if (--$.active === 0) { 1177 $(document).trigger('ajaxStop'); 1178 } 1179 }); 1180 }, 1181 error: function error(xmlhttprequest, status, _error) { 1182 ajax.ajaxing = false; 1183 }, 1184 complete: function complete(xmlhttprequest, status) { 1185 if (status === 'error' || status === 'parsererror') { 1186 return ajax.error(xmlhttprequest, ajax.url); 1187 } 1188 }, 1189 dataType: 'json', 1190 jsonp: false, 1191 type: 'POST' 1192 }; 1193 if (elementSettings.dialog) { 1194 ajax.options.data.dialogOptions = elementSettings.dialog; 1195 } 1196 if (ajax.options.url.indexOf('?') === -1) { 1197 ajax.options.url += '?'; 1198 } else { 1199 ajax.options.url += '&'; 1200 } 1201 var wrapper = "drupal_".concat(elementSettings.dialogType || 'ajax'); 1202 if (elementSettings.dialogRenderer) { 1203 wrapper += ".".concat(elementSettings.dialogRenderer); 1204 } 1205 ajax.options.url += "".concat(Drupal.ajax.WRAPPER_FORMAT, "=").concat(wrapper); 1206 $(ajax.element).on(elementSettings.event, function (event) { 1207 if (!drupalSettings.ajaxTrustedUrl[ajax.url] && !Drupal.url.isLocal(ajax.url)) { 1208 throw new Error(Drupal.t('The callback URL is not local and n
1208ot trusted: !url', { 1209 '!url': ajax.url 1210 })); 1211 } 1212 return ajax.eventResponse(this, event); 1213 }); 1214 if (elementSettings.keypress) { 1215 $(ajax.element).on('keypress', function (event) { 1216 return ajax.keypressResponse(this, event); 1217 }); 1218 } 1219 if (elementSettings.prevent) { 1220 $(ajax.element).on(elementSettings.prevent, false); 1221 } 1222 }; 1223 Drupal.ajax.WRAPPER_FORMAT = '_wrapper_format'; 1224 Drupal.Ajax.AJAX_REQUEST_PARAMETER = '_drupal_ajax'; 1225 Drupal.Ajax.prototype.execute = function () { 1226 if (this.ajaxing) { 1227 return; 1228 } 1229 try { 1230 this.beforeSerialize(this.element, this.options); 1231 return $.ajax(this.options); 1232 } catch (e) { 1233 this.ajaxing = false; 1234 window.alert("An error occurred while attempting to process ".concat(this.options.url, ": ").concat(e.message)); 1235 return $.Deferred().reject(); 1236 } 1237 }; 1238 Drupal.Ajax.prototype.keypressResponse = function (element, event) { 1239 var ajax = this; 1240 if (event.which === 13 || event.which === 32 && element.type !== 'text' && element.type !== 'textarea' && element.type !== 'tel' && element.type !== 'number') { 1241 event.preventDefault(); 1242 event.stopPropagation(); 1243 $(element).trigger(ajax.elementSettings.event); 1244 } 1245 }; 1246 Drupal.Ajax.prototype.eventResponse = function (element, event) { 1247 event.preventDefault(); 1248 event.stopPropagation(); 1249 var ajax = this; 1250 if (ajax.ajaxing) { 1251 return; 1252 } 1253 try { 1254 if (ajax.$form) { 1255 if (ajax.setClick) { 1256 element.form.clk = element; 1257 } 1258 ajax.$form.ajaxSubmit(ajax.options); 1259 } else { 1260 ajax.beforeSerialize(ajax.element, ajax.options); 1261 $.ajax(ajax.options); 1262 } 1263 } catch (e) { 1264 ajax.ajaxing = false; 1265 window.alert("An error occurred while attempting to process ".concat(ajax.options.url, ": ").concat(e.message)); 1266 } 1267 }; 1268 Drupal.Ajax.prototype.beforeSerialize = function (element, options) { 1269 if (this.$form && document.body.contains(this.$form.get(0))) { 1270 var settings = this.settings || drupalSettings; 1271 Drupal.detachBehaviors(this.$form.get(0), settings, 'serialize'); 1272 } 1273 options.data[Drupal.Ajax.AJAX_REQUEST_PARAMETER] = 1; 1274 var pageState = drupalSettings.ajaxPageState; 1275 options.data['ajax_page_state[theme]'] = pageState.theme; 1276 options.data['ajax_page_state[theme_token]'] = pageState.theme_token; 1277 options.data['ajax_page_state[libraries]'] = pageState.libraries; 1278 }; 1279 Drupal.Ajax.prototype.beforeSubmit = function (formValues, element, options) {}; 1280 Drupal.Ajax.prototype.beforeSend = function (xmlhttprequest, options) { 1281 if (this.$form) { 1282 options.extraData = options.extraData || {}; 1283 options.extraData.ajax_iframe_upload = '1'; 1284 var v = $.fieldValue(this.element); 1285 if (v !== null) { 1286 options.extraData[this.element.name] = v; 1287 } 1288 } 1289 $(this.element).prop('disabled', true); 1290 if (!this.progress || !this.progress.type) { 1291 return; 1292 } 1293 var progressIndicatorMethod = "setProgressIndicator".concat(this.progress.type.slice(0, 1).toUpperCase()).concat(this.progress.type.slice(1).toLowerCase()); 1294 if (progressIndicatorMethod in this && typeof this[progressIndicatorMethod] === 'function') { 1295 this[progressIndicatorMethod].call(this); 1296 } 1297 }; 1298 Drupal.theme.ajaxProgressThrobber = function (message) { 1299 var messageMarkup = typeof message === 'string' ? Drupal.theme('ajaxProgressMessage', message) : ''; 1300 var throbber = '<div class="throbber"> </div>'; 1301 return "<div class=\"ajax-progress ajax-progress-throbber\">".concat(throbber).concat(messageMarkup, "</div>"); 1302 }; 1303 Drupal.theme.ajaxProgressIndicatorFullscreen = function () { 1304 return '<div class="ajax-progress ajax-progress-fullscreen"> </div>'; 1305 }; 1306 Drupal.theme.ajaxProgressMessage = function (message) { 1307 return "<div class=\"message\">".concat(message, "</div>"); 1308 }; 1309 Drupal.theme.ajaxProgressBar = function ($element) { 1310 return $('<div class="ajax-progress ajax-progress-bar"></div>').append($element); 1311 }; 1312 Drupal.Ajax.prototype.setProgressIndicatorBar = function () { 1313 var progressBar = new Drupal.ProgressBar("ajax-progress-".concat(this.element.i
1313d), $.noop, this.progress.method, $.noop); 1314 if (this.progress.message) { 1315 progressBar.setProgress(-1, this.progress.message); 1316 } 1317 if (this.progress.url) { 1318 progressBar.startMonitoring(this.progress.url, this.progress.interval || 1500); 1319 } 1320 this.progress.element = $(Drupal.theme('ajaxProgressBar', progressBar.element)); 1321 this.progress.object = progressBar; 1322 $(this.element).after(this.progress.element); 1323 }; 1324 Drupal.Ajax.prototype.setProgressIndicatorThrobber = function () { 1325 this.progress.element = $(Drupal.theme('ajaxProgressThrobber', this.progress.message)); 1326 $(this.element).after(this.progress.element); 1327 }; 1328 Drupal.Ajax.prototype.setProgressIndicatorFullscreen = function () { 1329 this.progress.element = $(Drupal.theme('ajaxProgressIndicatorFullscreen')); 1330 $('body').append(this.progress.element); 1331 }; 1332 Drupal.Ajax.prototype.commandExecutionQueue = function (response, status) { 1333 var _this2 = this; 1334 var ajaxCommands = this.commands; 1335 return Object.keys(response || {}).reduce(function (executionQueue, key) { 1336 return executionQueue.then(function () { 1337 var command = response[key].command; 1338 if (command && ajaxCommands[command]) { 1339 return ajaxCommands[command](_this2, response[key], status); 1340 } 1341 }); 1342 }, Promise.resolve()); 1343 }; 1344 Drupal.Ajax.prototype.success = function (response, status) { 1345 var _this3 = this; 1346 if (this.progress.element) { 1347 $(this.progress.element).remove(); 1348 } 1349 if (this.progress.object) { 1350 this.progress.object.stopMonitoring(); 1351 } 1352 $(this.element).prop('disabled', false); 1353 var elementParents = $(this.element).parents('[data-drupal-selector]').addBack().toArray(); 1354 var focusChanged = Object.keys(response || {}).some(function (key) { 1355 var _response$key = response[key], 1356 command = _response$key.command, 1357 method = _response$key.method; 1358 return command === 'focusFirst' || command === 'invoke' && method === 'focus'; 1359 }); 1360 return this.commandExecutionQueue(response, status).then(function () { 1361 if (!focusChanged && _this3.element && !$(_this3.element).data('disable-refocus')) { 1362 var target = false;
1363 for (var n = elementParents.length - 1; !target && n >= 0; n--) { 1364 target = document.querySelector("[data-drupal-selector=\"".concat(elementParents[n].getAttribute('data-drupal-selector'), "\"]")); 1365 } 1366 if (target) { 1367 $(target).trigger('focus'); 1368 } 1369 } 1370 if (_this3.$form && document.body.contains(_this3.$form.get(0))) { 1371 var settings = _this3.settings || drupalSettings; 1372 Drupal.attachBehaviors(_this3.$form.get(0), settings); 1373 } 1374 _this3.settings = null; 1375 }).catch(function (error) { 1376 return console.error(Drupal.t('An error occurred during the execution of the Ajax response: !error', { 1377 '!error': error 1378 })); 1379 }); 1380 }; 1381 Drupal.Ajax.prototype.getEffect = function (response) { 1382 var type = response.effect || this.effect; 1383 var speed = response.speed || this.speed; 1384 var effect = {}; 1385 if (type === 'none') { 1386 effect.showEffect = 'show'; 1387 effect.hideEffect = 'hide'; 1388 effect.showSpeed = ''; 1389 } else if (type === 'fade') { 1390 effect.showEffect = 'fadeIn'; 1391 effect.hideEffect = 'fadeOut'; 1392 effect.showSpeed = speed; 1393 } else { 1394 effect.showEffect = "".concat(type, "Toggle"); 1395 effect.hideEffect = "".concat(type, "Toggle"); 1396 effect.showSpeed = speed; 1397 } 1398 return effect; 1399 }; 1400 Drupal.Ajax.prototype.error = function (xmlhttprequest, uri, customMessage) { 1401 if (this.progress.element) { 1402 $(this.progress.element).remove(); 1403 } 1404 if (this.progress.object) { 1405 this.progress.object.stopMonitoring(); 1406 } 1407 $(this.wrapper).show(); 1408 $(this.element).prop('disabled', false); 1409 if (this.$form && document.body.contains(this.$form.get(0))) { 1410 var settings = this.settings || drupalSettings; 1411 Drupal.attachBehaviors(this.$form.get(0), settings); 1412 } 1413 throw new Drupal.AjaxError(xmlhttprequest, uri, customMessage); 1414 }; 1415 Drupal.theme.ajaxWrapperNewContent = function ($newContent, ajax, response) { 1416 return (response.effect || ajax.effect) !== 'none' && $newContent.filter(function (i) { 1417 return !($newContent[i].nodeName === '#comment' || $newContent[i].nodeName === '#text' && /^(\s|\n|\r)*$/.test($newContent[i].textContent)); 1418 }).length > 1 ? Drupal.theme('ajaxWrapperMultipleRootElements', $newContent) : $newContent; 1419 }; 1420 Drupal.theme.ajaxWrapperMultipleRootElements = function ($elements) { 1421 return $('<div></div>').append($elements); 1422 }; 1423 Drupal.AjaxCommands = function () {}; 1424 Drupal.AjaxCommands.prototype = { 1425 insert: function insert(ajax, response) { 1426 var $wrapper = response.selector ? $(response.selector) : $(ajax.wrapper); 1427 var method = response.method || ajax.method; 1428 var effect = ajax.getEffect(response); 1429 var settings = response.settings || ajax.settings || drupalSettings; 1430 var $newContent = $($.parseHTML(response.data, document, true)); 1431 $newContent = Drupal.theme('ajaxWrapperNewContent', $newContent, ajax, response); 1432 switch (method) { 1433 case 'html': 1434 case 'replaceWith': 1435 case 'replaceAll': 1436 case 'empty': 1437 case 'remove': 1438 Drupal.detachBehaviors($wrapper.get(0), settings); 1439 break; 1440 default: 1441 break; 1442 } 1443 $wrapper[method]($newContent); 1444 if (effect.showEffect !== 'show') { 1445 $newContent.hide(); 1446 } 1447 var $ajaxNewContent = $newContent.find('.ajax-new-content'); 1448 if ($ajaxNewContent.length) { 1449 $ajaxNewContent.hide(); 1450 $newContent.show(); 1451 $ajaxNewContent[effect.showEffect](effect.showSpeed); 1452 } else if (effect.showEffect !== 'show') { 1453 $newContent[effect.showEffect](effect.showSpeed); 1454 } 1455 if ($newContent.parents('html').length) { 1456 $newContent.each(function (index, element) { 1457 if (element.nodeType === Node.ELEMENT_NODE) { 1458 Drupal.attachBehaviors(element, settings); 1459 } 1460 }); 1461 } 1462 }, 1463 remove: function remove(ajax, response, status) { 1464 var settings = response.settings || ajax.settings || drupalSettings; 1465 $(response.selector).each(function () { 1466 Drupal.detachBehaviors(this, settings); 1467 }).remove(); 1468 }, 1469 changed: function changed(ajax, response, status) { 1470 var $element = $(response.selector); 1471 if (!$element.hasClass('ajax-changed')) { 1472 $element.addClass('ajax-changed'); 1473 if (response.asterisk) { 1474 $element.find(response.asterisk).append(" <abbr class=\"ajax-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr> ")); 1475 } 1476 } 1477 }, 1478 alert: function alert(ajax, response, status) { 1479 window.alert(response.text); 1480 }, 1481 announce: function announce(ajax, response) { 1482 if (response.priority) { 1483 Drupal.announce(response.text, response.priority); 1484 } else { 1485 Drupal.announce(response.text); 1486 } 1487 }, 1488 redirect: function redirect(ajax, response, status) { 1489 window.location = response.url; 1490 }, 1491 css: function css(ajax, response, status) { 1492 $(response.selector).css(response.argument); 1493 }, 1494 settings: function settings(ajax, response, status) { 1495 var ajaxSettings = drupalSettings.ajax; 1496 if (ajaxSettings) {
1497 Drupal.ajax.expired().forEach(function (instance) { 1498 if (instance.selector) { 1499 var selector = instance.selector.replace('#', ''); 1500 if (selector in ajaxSettings) { 1501 delete ajaxSettings[selector]; 1502 } 1503 } 1504 }); 1505 } 1506 if (response.merge) { 1507 $.extend(true, drupalSettings, response.settings); 1508 } else { 1509 ajax.settings = response.settings; 1510 } 1511 }, 1512 data: function data(ajax, response, status) { 1513 $(response.selector).data(response.name, response.value); 1514 }, 1515 focusFirst: function focusFirst(ajax, response, status) { 1516 var focusChanged = false; 1517 var container = document.querySelector(response.selector); 1518 if (container) { 1519 var tabbableElements = tabbable(container); 1520 if (tabbableElements.length) { 1521 tabbableElements[0].focus(); 1522 focusChanged = true; 1523 } else if (isFocusable(container)) { 1524 container.focus(); 1525 focusChanged = true; 1526 } 1527 } 1528 if (ajax.hasOwnProperty('element') && !focusChanged) { 1529 ajax.element.focus(); 1530 } 1531 }, 1532 invoke: function invoke(ajax, response, status) { 1533 var $element = $(response.selector); 1534 $element[response.method].apply($element, _toConsumableArray(response.args)); 1535 }, 1536 restripe: function restripe(ajax, response, status) { 1537 $(response.selector).find('> tbody > tr:visible, > tr:visible').removeClass('odd even').filter(':even').addClass('odd').end().filter(':odd').addClass('even'); 1538 }, 1539 update_build_id: function update_build_id(ajax, response, status) { 1540 document.querySelectorAll("input[name=\"form_build_id\"][value=\"".concat(response.old, "\"]")).forEach(function (item) { 1541 item.value = response.new; 1542 }); 1543 }, 1544 add_css: function add_css(ajax, response, status) { 1545 $('head').prepend(response.data); 1546 }, 1547 message: function message(ajax, response) { 1548 var messages = new Drupal.Message(document.querySelector(response.messageWrapperQuerySelector)); 1549 if (response.clearPrevious) { 1550 messages.clear(); 1551 } 1552 messages.add(response.message, response.messageOptions); 1553 }, 1554 add_js: function add_js(ajax, response, status) { 1555 var parentEl = document.querySelector(response.selector || 'body'); 1556 var settings = ajax.settings || drupalSettings; 1557 var allUniqueBundleIds = response.data.map(function (script) { 1558 var uniqueBundleId = script.src + ajax.instanceIndex; 1559 loadjs(script.src, uniqueBundleId, { 1560 async: false, 1561 before: function before(path, scriptEl) { 1562 Object.keys(script).forEach(function (attributeKey) { 1563 scriptEl.setAttribute(attributeKey, script[attributeKey]); 1564 }); 1565 parentEl.appendChild(scriptEl); 1566 return false; 1567 } 1568 }); 1569 return uniqueBundleId; 1570 }); 1571 return new Promise(function (resolve, reject) { 1572 loadjs.ready(allUniqueBundleIds, { 1573 success: function success() { 1574 Drupal.attachBehaviors(parentEl, settings); 1575 resolve(); 1576 }, 1577 error: function error(depsNotFound) { 1578 var message = Drupal.t("The following files could not be loaded: @dependencies", { 1579 '@dependencies': depsNotFound.join(', ') 1580 }); 1581 reject(message); 1582 } 1583 }); 1584 }); 1585 } 1586 }; 1587 var stopEvent = function stopEvent(xhr, settings) { 1588 return xhr.getResponseHeader('X-Drupal-Ajax-Token') === '1' && settings.isInProgress && settings.isInProgress(); 1589 }; 1590 $.extend(true, $.event.special, { 1591 ajaxSuccess: { 1592 trigger: function trigger(event, xhr, settings) { 1593 if (stopEvent(xhr, settings)) { 1594 return false; 1595 } 1596 } 1597 }, 1598 ajaxComplete: { 1599 trigger: function trigger(event, xhr, settings) { 1600 if (stopEvent(xhr, settings)) { 1601 $.active++; 1602 return false; 1603 } 1604 } 1605 } 1606 }); 1607})(jQuery, window, Drupal, drupalSettings, loadjs, window.tabbable);; 1608/** 1609* DO NOT EDIT THIS FILE. 1610* See the following change record for more information, 1611* https://www.drupal.org/node/2815083 1612* @preserve 1613**/ 1614(function (Drupal) { 1615 Drupal.theme.ajaxProgressBar = function ($element) { 1616 return $element.addClass('ajax-progress ajax-progress-bar'); 1617 }; 1618})(Drupal);; 1619/** 1620* DO NOT EDIT THIS FILE. 1621* See the following change record for more information, 1622* https://www.drupal.org/node/2815083 1623* @preserve 1624**/ 1625(function ($, Drupal, drupalSettings) { 1626 Drupal.Views = {}; 1627 Drupal.Views.parseQueryString = function (query) { 1628 var args = {}; 1629 var pos = query.indexOf('?'); 1630 if (pos !== -1) { 1631 query = query.substring(pos + 1); 1632 } 1633 var pair; 1634 var pairs = query.split('&'); 1635 for (var i = 0; i < pairs.length; i++) { 1636 pair = pairs[i].split('='); 1637 if (pair[0] !== 'q' && pair[1]) { 1638 args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); 1639 } 1640 } 1641 return args; 1642 }; 1643 Drupal.Views.parseViewArgs = function (href, viewPath) { 1644 var returnObj = {}; 1645 var path = Drupal.Views.getPath(href); 1646 var viewHref = Drupal.url(viewPath).substring(drupalSettings.path.baseUrl.length); 1647 if (viewHref && path.substring(0, viewHref.length + 1) === "".concat(viewHref, "/")) { 1648 returnObj.view_args = decodeURIComponent(path.substring(viewHref.length + 1, path.length)); 1649 returnObj.view_path = path; 1650 } 1651 return returnObj; 1652 }; 1653 Drupal.Views.pathPortion = function (href) { 1654 var protocol = window.location.protocol; 1655 if (href.substring(0, protocol.length) === protocol) { 1656 href = href.substring(href.indexOf('/', protocol.length + 2)); 1657 } 1658 return href; 1659 }; 1660 Drupal.Views.getPath = function (href) { 1661 href = Drupal.Views.pathPortion(href); 1662 href = href.substring(drupalSettings.path.baseUrl.length, href.length); 1663 if (href.substring(0, 3) === '?q=') { 1664 href = href.substring(3, href.length); 1665 } 1666 var chars = ['#', '?', '&']; 1667 for (var i = 0; i < chars.length; i++) { 1668 if (href.indexOf(chars[i]) > -1) { 1669 href = href.substr(0, href.indexOf(chars[i])); 1670 } 1671 } 1672 return href; 1673 }; 1674})(jQuery, Drupal, drupalSettings);;
1675/** 1676* DO NOT EDIT THIS FILE. 1677* See the following change record for more information, 1678* https://www.drupal.org/node/2815083 1679* @preserve 1680**/ 1681(function ($, Drupal, drupalSettings) { 1682 Drupal.behaviors.ViewsAjaxView = {}; 1683 Drupal.behaviors.ViewsAjaxView.attach = function (context, settings) { 1684 if (settings && settings.views && settings.views.ajaxViews) { 1685 var ajaxViews = settings.views.ajaxViews; 1686 Object.keys(ajaxViews || {}).forEach(function (i) { 1687 Drupal.views.instances[i] = new Drupal.views.ajaxView(ajaxViews[i]); 1688 }); 1689 } 1690 }; 1691 Drupal.behaviors.ViewsAjaxView.detach = function (context, settings, trigger) { 1692 if (trigger === 'unload') { 1693 if (settings && settings.views && settings.views.ajaxViews) { 1694 var ajaxViews = settings.views.ajaxViews; 1695 Object.keys(ajaxViews || {}).forEach(function (i) { 1696 var selector = ".js-view-dom-id-".concat(ajaxViews[i].view_dom_id); 1697 if ($(selector, context).length) { 1698 delete Drupal.views.instances[i]; 1699 delete settings.views.ajaxViews[i]; 1700 } 1701 }); 1702 } 1703 } 1704 }; 1705 Drupal.views = {}; 1706 Drupal.views.instances = {}; 1707 Drupal.views.ajaxView = function (settings) { 1708 var selector = ".js-view-dom-id-".concat(settings.view_dom_id); 1709 this.$view = $(selector); 1710 var ajaxPath = drupalSettings.views.ajax_path; 1711 if (ajaxPath.constructor.toString().indexOf('Array') !== -1) { 1712 ajaxPath = ajaxPath[0]; 1713 } 1714 var queryString = window.location.search || ''; 1715 if (queryString !== '') { 1716 queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); 1717 if (queryString !== '') { 1718 queryString = (/\?/.test(ajaxPath) ? '&' : '?') + queryString; 1719 } 1720 } 1721 this.element_settings = { 1722 url: ajaxPath + queryString, 1723 submit: settings, 1724 setClick: true, 1725 event: 'click', 1726 selector: selector, 1727 progress: { 1728 type: 'fullscreen' 1729 } 1730 }; 1731 this.settings = settings; 1732 this.$exposed_form = $("form#views-exposed-form-".concat(settings.view_name.replace(/_/g, '-'), "-").concat(settings.view_display_id.replace(/_/g, '-'))); 1733 once('exposed-form', this.$exposed_form).forEach($.proxy(this.attachExposedFormAjax, this)); 1734 once('ajax-pager', this.$view.filter($.proxy(this.filterNestedViews, this))).forEach($.proxy(this.attachPagerAjax, this)); 1735 var selfSettings = $.extend({}, this.element_settings, { 1736 event: 'RefreshView', 1737 base: this.selector, 1738 element: this.$view.get(0) 1739 }); 1740 this.refreshViewAjax = Drupal.ajax(selfSettings); 1741 }; 1742 Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () { 1743 var that = this; 1744 this.exposedFormAjax = []; 1745 $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form).not('[data-drupal-selector=edit-reset]').each(function (index) { 1746 var selfSettings = $.extend({}, that.element_settings, { 1747 base: $(this).attr('id'), 1748 element: this 1749 }); 1750 that.exposedFormAjax[index] = Drupal.ajax(selfSettings); 1751 }); 1752 }; 1753 Drupal.views.ajaxView.prototype.filterNestedViews = function () { 1754 return !this.$view.parents('.view').length; 1755 }; 1756 Drupal.views.ajaxView.prototype.attachPagerAjax = function () { 1757 this.$view.find('ul.js-pager__items > li > a, th.views-field a, .attachment .views-summary a').each($.proxy(this.attachPagerLinkAjax, this)); 1758 }; 1759 Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function (id, link) { 1760 var $link = $(link); 1761 var viewData = {}; 1762 var href = $link.attr('href'); 1763 $.extend(viewData, this.settings, Drupal.Views.parseQueryString(href), Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); 1764 var selfSettings = $.extend({}, this.element_settings, {
1765 submit: viewData, 1766 base: false, 1767 element: link 1768 }); 1769 this.pagerAjax = Drupal.ajax(selfSettings); 1770 }; 1771 Drupal.AjaxCommands.prototype.viewsScrollTop = function (ajax, response) { 1772 var offset = $(response.selector).offset(); 1773 var scrollTarget = response.selector; 1774 while ($(scrollTarget).scrollTop() === 0 && $(scrollTarget).parent()) { 1775 scrollTarget = $(scrollTarget).parent(); 1776 } 1777 if (offset.top - 10 < $(scrollTarget).scrollTop()) { 1778 $(scrollTarget).animate({ 1779 scrollTop: offset.top - 10 1780 }, 500); 1781 } 1782 }; 1783})(jQuery, Drupal, drupalSettings);; 1784(function ($, Drupal, drupalSettings) { 1785 Drupal.behaviors.mtflexsliderMain = { 1786 attach: function (context, settings) { 1787 $(context).find('#slideshow .flexslider').once('mtflexsliderMainInit').each(function() { 1788 $(this).flexslider({ 1789 animation: drupalSettings.newsplus.flexsliderMainInit.slideshowEffect, // Select your animation type, "fade" or "slide" 1790 slideshowSpeed: drupalSettings.newsplus.flexsliderMainInit.slideshowEffectTime, // Set the speed of the slideshow cycling, in milliseconds 1791 prevText: "", 1792 nextText: "", 1793 pauseOnAction: false, 1794 useCSS: false 1795 }); 1796 $(this).fadeIn("slow"); 1797 }); 1798 } 1799 }; 1800})(jQuery, Drupal, drupalSettings);;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.