vendor: 23,130 bytes, lines 1-2
1/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */ 2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},m=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||m).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var de=oe.pop,pe=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function d(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,d)};var ye=m,me=s;!function(){var e,x,w,o,a,C,r,T,p,i,E=me,k=ce.expando,S=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",d="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+d+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),b=new RegExp(ge+"|>"),A=new RegExp(g),D=new RegExp("^"+t+"$"),N={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+d),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},L=/^(?:input|select|textarea|button)$/i,j=/^h\d$/i,O=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,P=/[+~]/,H=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),q=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=K(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{E.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){E={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(V(e),e=e||C,T)){if(11!==d&&(u=O.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return E.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return E.call(n,a),n}else{if(u[2])return E.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return E.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||p&&p.test(t))){if(c=t,f=e,1===d&&(b.test(t)||m.test(t))){(f=P.test(t)&&X(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=k)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+G(l[o]);c=l.join(",")}try{return E.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function B(e){return e[k]=!0,e}function F(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function $(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return B(function(o){return o=+o,B(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function X(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=C&&9===n.nodeType&&n.documentElement&&(r=(C=n).documentElement,T=!ce.isXMLDoc(C),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=C&&(t=C.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=F(function(e){return r.appendChild(e).id=ce.expando,!C.getElementsByName||!C.getElementsByName(ce.expando).length}),le.disconnectedMatch=F(function(e){return i.call(e,"*")}),le.scope=F(function(){return C.querySelectorAll(":scope")}),le.cssHas=F(function(){try{return C.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(x.filter.ID=function(e){var t=e.replace(H,q);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(H,q);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},x.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&T)return t.getElementsByClassName(e)},p=[],F(function(e){var t;r.appendChild(e).innerHTML="<a id='"+k+"' href='' disabled='disabled'></a><select id='"+k+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||p.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+k+"-]").length||p.push("~="),e.querySelectorAll("a#"+k+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=C.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===C||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),C}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),T&&!h[t+" "]&&(!p||!p.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,C,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=C&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=C&&V(e);var n=x.attrHandle[t.toLowerCase()],r=n&&ue.call(x.attrHandle,t.toLowerCase())?n(e,t,!T):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),pe.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(x=ce.expr={cacheLength:50,createPseudo:B,match:N,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(H,q),e[3]=(e[3]||e[4]||e[5]||"").replace(H,q),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return N.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&A.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(H,q).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(p,e,t,h,g){var v="nth"!==p.slice(0,3),y="last"!==p.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,d=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===p&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){d=(a=(r=(i=l[k]||(l[k]={}))[p]||[])[0]===S&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(d=a=0)||s.pop())if(1===o.nodeType&&++d&&o===e){i[p]=[S,a,d];break}}else if(f&&(d=a=(r=(i=e[k]||(e[k]={}))[p]||[])[0]===S&&r[1]),!1===d)while(o=++a&&o&&o[u]||(d=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++d&&(f&&((i=o[k]||(o[k]={}))[p]=[S,d]),o===e))break;return(d-=g)===h||d%h==0&&0<=d/h}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?B(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:B(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[k]?B(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:B(function(t){return function(e){return 0<I(t,e).length}}),contains:B(function(t){return t=t.replace(H,q),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:B(function(n){return D.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(H,q).toLowerCase(),function(e){var t;do{if(t=T?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return C.activeElement}catch(e){}}()&&C.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return j.test(e.nodeName)},input:function(e){return L.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:U(function(){return[0]}),last:U(function(e,t){return[t-1]}),eq:U(function(e,t,n){return[n<0?n+t:n]}),even:U(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:U(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:U(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:U(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=$(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=_(e);function Q(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),x.filter)!(r=N[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function G(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function K(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[S,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[k]||(e[k]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===S&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function J(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(p,h,g,v,y,e){return v&&!v[k]&&(v=ee(v)),y&&!y[k]&&(y=ee(y,e)),B(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),d=!p||!e&&h?f:Z(f,u,p,n,r);if(g?g(d,s=y||(e?p:c||v)?[]:t,n,r):s=d,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(d[l[o]]=a))}if(e){if(y||p){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(d[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):E.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=K(function(e){return e===i},a,!0),l=K(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[K(J(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return ee(1<s&&J(c),1<s&&G(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&G(e))}c.push(t)}return J(c)}function ne(e,t){var n,v,y,m,b,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[k]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=S+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==C||(V(o),n=!T);while(s=v[a++])if(s(o,t||C,n)){E.call(r,o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=de.call(r));f=Z(f)}E.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(S=h,w=d),c},m?B(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&T&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(H,q),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=N.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(H,q),P.test(o[0].type)&&X(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&G(o)))return E.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!T,n,!t||P.test(e)&&X(t.parentNode)||t),n}Q.prototype=x.filters=x.pseudos,x.setFilters=new Q,le.sortStable=k.split("").sort(l).join("")===k,V(),le.sortDetached=F(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var p=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},w=ce.expr.match.needsContext,C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&w.test(e)?ce(e):e||[],!1).length}});var E,k=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||E,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:k.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:m,!0)),C
vendor: 11,777 bytes, line 2
2.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=m.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,E=ce(m);var S=/^(?:parents|prev(?:Until|All))/,A={children:!0,contents:!0,next:!0,prev:!0};function D(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!w.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return p(e,"parentNode")},parentsUntil:function(e,t,n){return p(e,"parentNode",n)},next:function(e){return D(e,"nextSibling")},prev:function(e){return D(e,"previousSibling")},nextAll:function(e){return p(e,"nextSibling")},prevAll:function(e){return p(e,"previousSibling")},nextUntil:function(e,t,n){return p(e,"nextSibling",n)},prevUntil:function(e,t,n){return p(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(A[r]||ce.uniqueSort(n),S.test(r)&&n.reverse()),this.pushStack(n)}});var N=/[^\x20\t\r\n\f]+/g;function L(e){return e}function j(e){throw e}function O(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(N)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,L,s),l(u,o,j,s)):(u++,t.call(e,l(u,o,L,s),l(u,o,j,s),l(u,o,L,o.notifyWith))):(a!==L&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==j&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:L,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:L)),o[2][3].add(l(0,e,v(n)?n:j))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(O(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)O(i[t],a(t),o.reject);return o.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&P.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var H=ce.Deferred();function q(){m.removeEventListener("DOMContentLoaded",q),ie.removeEventListener("load",q),ce.ready()}ce.fn.ready=function(e){return H.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||H.resolveWith(m,[ce])}}),ce.ready.then=H.then,"complete"===m.readyState||"loading"!==m.readyState&&!m.documentElement.doScroll?ie.setTimeout(ce.ready):(m.addEventListener("DOMContentLoaded",q),ie.addEventListener("load",q));var R=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)R(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},M=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function B(e){return e.replace(M,"ms-").replace(I,W)}var F=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function $(){this.expando=ce.expando+$.uid++}$.uid=1,$.prototype={cache:function(e){var t=e[this.expando];return t||(t={},F(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[B(t)]=n;else for(r in t)i[B(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][B(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(B):(t=B(t))in r?[t]:t.match(N)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new $,z=new $,U=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,X=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(X,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:U.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=B(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){z.set(this,n)}):R(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),G=["Top","Right","Bottom","Left"],K=m.documentElement,J=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};K.getRootNode&&(J=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&J(e)&&"none"===ce.css(e,"display")};var te={};function ne(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=te[s])||(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),te[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return ne(this,!0)},hide:function(){return ne(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var re,be,xe=/^(?:checkbox|radio)$/i,we=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
vendor: 1,249 bytes, line 2
2Ce=/^$|^module$|\/(?:java|ecma)script/i;re=m.createDocumentFragment().appendChild(m.createElement("div")),(be=m.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),re.appendChild(be),le.checkClone=re.cloneNode(!0).cloneNode(!0).lastChild.checked,re.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!re.cloneNode(!0).lastChild.defaultValue,re.innerHTML="<option></option>",le.option=!!re.lastChild;var Te={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Ee(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}Te.tbody=Te.tfoot=Te.colgroup=Te.caption=Te.thead,Te.th=Te.td,le.option||(Te.optgroup=Te.option=[1,"<select multiple='multiple'>","</select>"]);var Se=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;
vendor: 13,976 bytes, line 2
2p++)if((o=e[p])||0===o)if("object"===x(o))ce.merge(d,o.nodeType?[o]:o);else if(Se.test(o)){a=a||f.appendChild(t.createElement("div")),s=(we.exec(o)||["",""])[1].toLowerCase(),u=Te[s]||Te._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=J(o),a=Ee(f.appendChild(o),"script"),l&&ke(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function Le(){return!1}function je(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)je(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Le;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function Oe(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=_.get(t);if(F(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(K,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(N)||[""]).length;while(l--)p=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=ce.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=ce.event.special[p]||{},c=ce.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),ce.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(N)||[""]).length;while(l--)if(p=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=ce.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)ce.event.remove(e,p+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return xe.test(t.type)&&t.click&&fe(t,"input")&&Oe(t,"click",!0),!1},trigger:function(e){var t=this||e;return xe.test(t.type)&&t.click&&fe(t,"input")&&Oe(t,"click"),!0},_default:function(e){var t=e.target;return xe.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:Le,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:Le,isPropagationStopped:Le,isImmediatePropagationStopped:Le,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(m.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(Oe(this,r,!0),!m.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return Oe(this,r),!0},teardown:function(){var e;if(!m.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=m.documentMode?this:e,n=_.get(t,i);n||(m.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=m.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(m.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return je(this,e,t,n,r)},one:function(e,t,n,r){return je(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Le),this.each(function(){ce.event.remove(this,e,n,t)})}});var Pe=/<script|<style|<link/i,He=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Me(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ie(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function We(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function Be(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=v(p);if(h||1<f&&"string"==typeof p&&!le.checkClone&&He.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Be(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Ee(e,"script"),Me)).length;c<f;c++)u=e,c!==d&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Ee(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,Ie),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(qe,""),u,l))}return n}function Fe(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Ee(r)),r.parentNode&&(n&&J(r)&&ke(Ee(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=J(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Ee(c),r=0,i=(o=Ee(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&xe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Ee(e),a=a||Ee(c),r=0,i=o.length;r<i;r++)We(o[r],a[r]);else We(e,c);return 0<(a=Ee(c,"script")).length&&ke(a,!f&&Ee(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if(F(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Fe(this,e,!0)},remove:function(e){return Fe(this,e)},text:function(e){return R(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Be(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return Be(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Be(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Be(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Ee(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return R(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Pe.test(e)&&!Te[(we.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Ee(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Be(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Ee(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),_e=/^--/,ze=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Xe=new RegExp(G.join("|"),"i");function Ve(e,t,n){var r,i,o,a,s=_e.test(t),u=e.style;return(n=n||ze(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||J(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&$e.test(a)&&Xe.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Qe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;
2left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",K.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),K.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=m.createElement("div"),l=m.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=m.createElement("table"),t=m.createElement("tr"),n=m.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",K.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,K.removeChild(e)),a}}))}();var Ye=["Webkit","Moz","ms"],Ge=m.createElement("div").style,Ke={};function Je(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Ge?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ye.length;while(n--)if((e=Ye[n]+t)in Ge)return e}(e)||e)}var Ze,et,tt=/^(none|table(?!-c[ea]).+)/,nt={position:"absolute",visibility:"hidden",display:"block"},rt={letterSpacing:"0",fontWeight:"400"};function it(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function ot(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+G[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+G[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+G[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+G[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+G[a]+"Width",!0,i):s+=ce.css(e,"border"+G[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function at(e,t,n){var r=ze(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ve(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+ot(e,t,n||(i?"border":"content"),o,r,a)+"px"}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ve(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=B(t),u=_e.test(t),l=e.style;if(u||(t=Je(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=B(t);return _e.test(t)||(t=Je(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ve(e,t,r)),"normal"===i&&t in rt&&(i=rt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!tt.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?at(e,u,n):Ue(e,nt,function(){return at(e,u,n)})},set:function(e,t,n){var r,i=ze(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?ot(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-ot(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),it(0,t,s)}}}),ce.cssHooks.marginLeft=Qe(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ve(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+G[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=it)}),ce.fn.extend({css:function(e,t){return R(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=ze(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},Ze=m.createElement("input"),et=m.createElement("select").appendChild(m.createElement("option")),Ze.type="checkbox",le.checkOn=""!==Ze.value,le.optSelected=et.selected,(Ze=m.createElement("input")).value="t",Ze.type="radio",le.radioValue="t"===Ze.value;var st,ut=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return R(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}
vendor: 9,814 bytes, line 2
2),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?st:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(N);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),st={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ut[t]||ce.find.attr;ut[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ut[o],ut[o]=r,r=null!=a(e,t,n)?o:null,ut[o]=i),r}});var lt=/^(?:input|select|textarea|button)$/i,ct=/^(?:a|area)$/i;function ft(e){return(e.match(N)||[]).join(" ")}function dt(e){return e.getAttribute&&e.getAttribute("class")||""}function pt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(N)||[]}ce.fn.extend({prop:function(e,t){return R(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):lt.test(e.nodeName)||ct.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,dt(this)))}):(e=pt(t)).length?this.each(function(){if(r=dt(this),n=1===this.nodeType&&" "+ft(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=ft(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,dt(this)))}):arguments.length?(e=pt(t)).length?this.each(function(){if(r=dt(this),n=1===this.nodeType&&" "+ft(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=ft(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,dt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=pt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=dt(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ft(dt(n))+" ").indexOf(t))return!0;return!1}});var ht=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ht,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:ft(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var gt=/^(?:focusinfocus|focusoutblur)$/,vt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||m],p=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||m,3!==n.nodeType&&8!==n.nodeType&&!gt.test(p+ce.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[ce.expando]?e:new ce.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||p,gt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||m)&&d.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&F(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!F(n)||u&&v(n[p])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,vt),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,vt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var yt,mt=/\[\]$/,bt=/\r?\n/g,xt=/^(?:submit|button|image|reset|file)$/i,wt=/^(?:input|select|textarea|keygen)/i;function Ct(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||mt.test(n)?i(n,t):Ct(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Ct(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Ct(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&wt.test(this.nodeName)&&!xt.test(e)&&(this.checked||!xe.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(bt,"\r\n")}}):{name:t.name,value:n.replace(bt,"\r\n")}}).get()}}),ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},le.createHTMLDocument=((yt=m.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===yt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=m.implementation.createHTMLDocument("")).createElement("base")).href=m.location.href,t.head.appendChild(r)):t=m),o=!n&&[],(i=C.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"to
2p"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||K})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Qe(le.pixelPosition,function(e,t){if(t)return t=Ve(e,n),$e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Tt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=B,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(Tt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var Et=ie.jQuery,kt=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=kt),e&&ie.jQuery===ce&&(ie.jQuery=Et),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce});
vendor: 21,761 bytes, lines 3-8
3/*! 4 * Bootstrap v5.3.3 (https://getbootstrap.com/) 5 * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 6 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7 */ 8!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];
vendor: 18,133 bytes, line 8
8function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=be(O),k=Fe(O)===Xt,L=[zt,Rt].indexOf(x)>=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function mi(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?fi:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},fi,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:pe(t)?Je(t):t.contextElement?Je(t.contextElement):[],popper:Je(e)};var r,c,u=function(t){var e=ui(t);return de.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled}
vendor: 5,266 bytes, line 8
8)),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(pi(e,i)){a.rects={reference:di(e,$e(i),"fixed"===a.options.strategy),popper:Ce(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!pi(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var gi=mi(),_i=mi({defaultModifiers:[Re,ci,Be,_e]}),bi=mi({defaultModifiers:[Re,ci,Be,_e,li,si,hi,Me,ai]});const vi=Object.freeze(Object.defineProperty({__proto__:null,afterMain:ae,afterRead:se,afterWrite:he,applyStyles:_e,arrow:Me,auto:Kt,basePlacements:Qt,beforeMain:oe,beforeRead:ie,beforeWrite:le,bottom:Rt,clippingParents:Ut,computeStyles:Be,createPopper:bi,createPopperBase:gi,createPopperLite:_i,detectOverflow:ii,end:Yt,eventListeners:Re,flip:si,hide:ai,left:Vt,main:re,modifierPhases:de,offset:li,placements:ee,popper:Jt,popperGenerator:mi,popperOffsets:ci,preventOverflow:hi,read:ne,reference:Zt,right:qt,start:Xt,top:zt,variationPlacements:te,viewport:Gt,write:ce},Symbol.toStringTag,{value:"Module"})),yi="dropdown",wi=".bs.dropdown",Ai=".data-api",Ei="ArrowUp",Ti="ArrowDown",Ci=`hide${wi}`,Oi=`hidden${wi}`,xi=`show${wi}`,ki=`shown${wi}`,Li=`click${wi}${Ai}`,Si=`keydown${wi}${Ai}`,Di=`keyup${wi}${Ai}`,$i="show",Ii='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ni=`${Ii}.${$i}`,Pi=".dropdown-menu",ji=p()?"top-end":"top-start",Mi=p()?"top-start":"top-end",Fi=p()?"bottom-end":"bottom-start",Hi=p()?"bottom-start":"bottom-end",Wi=p()?"left-start":"right-start",Bi=p()?"right-start":"left-start",zi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qi extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=z.next(this._element,Pi)[0]||z.prev(this._element,Pi)[0]||z.findOne(Pi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return zi}static get DefaultType(){return Ri}static get NAME(){return yi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!N.trigger(this._element,xi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add($i),this._element.classList.add($i),N.trigger(this._element,ki,t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!N.trigger(this._element,Ci,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove($i),this._element.classList.remove($i),this._element.setAttribute("aria-expanded","false"),F.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,Oi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===vi)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=bi(t,this._menu,e)}_isShown(){return this._menu.classList.contains($i)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Wi;if(t.classList.contains("dropstart"))return Bi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Mi:ji:e?Hi:Fi}
vendor: 10,248 bytes, line 8
8_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method n
vendor: 9,229 bytes, line 8
8amed "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}
vendor: 5,396 bytes, line 8
8hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
vendor: 10,694 bytes, lines 8-9
8amed "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); 9//# sourceMappingURL=bootstrap.bundle.min.js.map
vendor: 4,137 bytes, lines 9-152
9 10function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 11 12function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } 13 14/*! 15 * Splide.js 16 * Version : 4.1.2 17 * License : MIT 18 * Copyright: 2022 Naotoshi Fujita 19 */ 20(function (global, factory) { 21 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Splide = factory()); 22})(this, function () { 23 'use strict'; 24 25 var MEDIA_PREFERS_REDUCED_MOTION = "(prefers-reduced-motion: reduce)"; 26 var CREATED = 1; 27 var MOUNTED = 2; 28 var IDLE = 3; 29 var MOVING = 4; 30 var SCROLLING = 5; 31 var DRAGGING = 6; 32 var DESTROYED = 7; 33 var STATES = { 34 CREATED: CREATED, 35 MOUNTED: MOUNTED, 36 IDLE: IDLE, 37 MOVING: MOVING, 38 SCROLLING: SCROLLING, 39 DRAGGING: DRAGGING, 40 DESTROYED: DESTROYED 41 }; 42 43 function empty(array) { 44 array.length = 0; 45 } 46 47 function slice(arrayLike, start, end) { 48 return Array.prototype.slice.call(arrayLike, start, end); 49 } 50 51 function apply(func) { 52 return func.bind.apply(func, [null].concat(slice(arguments, 1))); 53 } 54 55 var nextTick = setTimeout; 56 57 var noop = function noop() {}; 58 59 function raf(func) { 60 return requestAnimationFrame(func); 61 } 62 63 function typeOf(type, subject) { 64 return typeof subject === type; 65 } 66 67 function isObject(subject) { 68 return !isNull(subject) && typeOf("object", subject); 69 } 70 71 var isArray = Array.isArray; 72 var isFunction = apply(typeOf, "function"); 73 var isString = apply(typeOf, "string"); 74 var isUndefined = apply(typeOf, "undefined"); 75 76 function isNull(subject) { 77 return subject === null; 78 } 79 80 function isHTMLElement(subject) { 81 try { 82 return subject instanceof (subject.ownerDocument.defaultView || window).HTMLElement; 83 } catch (e) { 84 return false; 85 } 86 } 87 88 function toArray(value) { 89 return isArray(value) ? value : [value]; 90 } 91 92 function forEach(values, iteratee) { 93 toArray(values).forEach(iteratee); 94 } 95 96 function includes(array, value) { 97 return array.indexOf(value) > -1; 98 } 99 100 function push(array, items) { 101 array.push.apply(array, toArray(items)); 102 return array; 103 } 104 105 function toggleClass(elm, classes, add) { 106 if (elm) { 107 forEach(classes, function (name) { 108 if (name) { 109 elm.classList[add ? "add" : "remove"](name); 110 } 111 }); 112 } 113 } 114 115 function addClass(elm, classes) { 116 toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true); 117 } 118 119 function append(parent, children) { 120 forEach(children, parent.appendChild.bind(parent)); 121 } 122 123 function before(nodes, ref) { 124 forEach(nodes, function (node) { 125 var parent = (ref || node).parentNode; 126 127 if (parent) { 128 parent.insertBefore(node, ref); 129 } 130 }); 131 } 132 133 function matches(elm, selector) { 134 return isHTMLElement(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector); 135 } 136 137 function children(parent, selector) { 138 var children2 = parent ? slice(parent.children) : []; 139 return selector ? children2.filter(function (child) { 140 return matches(child, selector); 141 }) : children2; 142 } 143 144 function child(parent, selector) { 145 return selector ? children(parent, selector)[0] : parent.firstElementChild; 146 } 147 148 var ownKeys = Object.keys; 149 150 function forOwn(object, iteratee, right) { 151 if (object) { 152 (right ? ownKeys(object).reverse() : ownKeys(object)).forEac
vendor: 81,810 bytes, lines 152-3042
152h(function (key) { 153 key !== "__proto__" && iteratee(object[key], key); 154 }); 155 } 156 157 return object; 158 } 159 160 function assign(object) { 161 slice(arguments, 1).forEach(function (source) { 162 forOwn(source, function (value, key) { 163 object[key] = source[key]; 164 }); 165 }); 166 return object; 167 } 168 169 function merge(object) { 170 slice(arguments, 1).forEach(function (source) { 171 forOwn(source, function (value, key) { 172 if (isArray(value)) { 173 object[key] = value.slice(); 174 } else if (isObject(value)) { 175 object[key] = merge({}, isObject(object[key]) ? object[key] : {}, value); 176 } else { 177 object[key] = value; 178 } 179 }); 180 }); 181 return object; 182 } 183 184 function omit(object, keys) { 185 forEach(keys || ownKeys(object), function (key) { 186 delete object[key]; 187 }); 188 } 189 190 function removeAttribute(elms, attrs) { 191 forEach(elms, function (elm) { 192 forEach(attrs, function (attr) { 193 elm && elm.removeAttribute(attr); 194 }); 195 }); 196 } 197 198 function setAttribute(elms, attrs, value) { 199 if (isObject(attrs)) { 200 forOwn(attrs, function (value2, name) { 201 setAttribute(elms, name, value2); 202 }); 203 } else { 204 forEach(elms, function (elm) { 205 isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value)); 206 }); 207 } 208 } 209 210 function create(tag, attrs, parent) { 211 var elm = document.createElement(tag); 212 213 if (attrs) { 214 isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs); 215 } 216 217 parent && append(parent, elm); 218 return elm; 219 } 220 221 function style(elm, prop, value) { 222 if (isUndefined(value)) { 223 return getComputedStyle(elm)[prop]; 224 } 225 226 if (!isNull(value)) { 227 elm.style[prop] = "" + value; 228 } 229 } 230 231 function display(elm, display2) { 232 style(elm, "display", display2); 233 } 234 235 function focus(elm) { 236 elm["setActive"] && elm["setActive"]() || elm.focus({ 237 preventScroll: true 238 }); 239 } 240 241 function getAttribute(elm, attr) { 242 return elm.getAttribute(attr); 243 } 244 245 function hasClass(elm, className) { 246 return elm && elm.classList.contains(className); 247 } 248 249 function rect(target) { 250 return target.getBoundingClientRect(); 251 } 252 253 function remove(nodes) { 254 forEach(nodes, function (node) { 255 if (node && node.parentNode) { 256 node.parentNode.removeChild(node); 257 } 258 }); 259 } 260 261 function parseHtml(html) { 262 return child(new DOMParser().parseFromString(html, "text/html").body); 263 } 264 265 function prevent(e, stopPropagation) { 266 e.preventDefault(); 267 268 if (stopPropagation) { 269 e.stopPropagation(); 270 e.stopImmediatePropagation(); 271 } 272 } 273 274 function query(parent, selector) { 275 return parent && parent.querySelector(selector); 276 } 277 278 function queryAll(parent, selector) { 279 return selector ? slice(parent.querySelectorAll(selector)) : []; 280 } 281 282 function removeClass(elm, classes) { 283 toggleClass(elm, classes, false); 284 } 285 286 function timeOf(e) { 287 return e.timeStamp; 288 } 289 290 function unit(value) { 291 return isString(value) ? value : value ? value + "px" : ""; 292 } 293 294 var PROJECT_CODE = "splide"; 295 var DATA_ATTRIBUTE = "data-" + PROJECT_CODE; 296 297 function assert(condition, message) { 298 if (!condition) { 299 throw new Error("[" + PROJECT_CODE + "] " + (message || "")); 300 } 301 } 302 303 var min = Math.min, 304 max = Math.max, 305 floor = Math.floor, 306 ceil = Math.ceil, 307 abs = Math.abs; 308 309 function approximatelyEqual(x, y, epsilon) { 310 return abs(x - y) < epsilon; 311 } 312 313 function between(number, x, y, exclusive) { 314 var minimum = min(x, y); 315 var maximum = max(x, y); 316 return exclusive ? minimum < number && number < maximum : minimum <= number && number <= maximum; 317 } 318 319 function clamp(number, x, y) { 320 var minimum = min(x, y); 321 var maximum = max(x, y); 322 return min(max(minimum, number), maximum); 323 } 324 325 function sign(x) { 326 return +(x > 0) - +(x < 0); 327 } 328 329 function format(string, replacements) { 330 forEach(replacements, function (replacement) { 331 string = string.replace("%s", "" + replacement); 332 }); 333 return string; 334 } 335 336 function pad(number) { 337 return number < 10 ? "0" + number : "" + number; 338 } 339 340 var ids = {}; 341 342 function uniqueId(prefix) { 343 return "" + prefix + pad(ids[prefix] = (ids[prefix] || 0) + 1); 344 } 345 346 function EventBinder() { 347 var listeners = []; 348 349 function bind(targets, events, callback, options) { 350 forEachEvent(targets, events, function (target, event, namespace) { 351 var isEventTarget = ("addEventListener" in target); 352 var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback); 353 isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback); 354 listeners.push([target, event, namespace, callback, remover]); 355 }); 356 } 357 358 function unbind(targets, events, callback) { 359 forEachEvent(targets, events, function (target, event, namespace) { 360 listeners = listeners.filter(function (listener) { 361 if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) { 362 listener[4](); 363 return false; 364 } 365 366 return true; 367 }); 368 }); 369 } 370 371 function dispatch(target, type, detail) { 372 var e; 373 var bubbles = true; 374 375 if (typeof CustomEvent === "function") { 376 e = new CustomEvent(type, { 377 bubbles: bubbles, 378 detail: detail 379 }); 380 } else { 381 e = document.createEvent("CustomEvent"); 382 e.initCustomEvent(type, bubbles, false, detail); 383 } 384 385 target.dispatchEvent(e); 386 return e; 387 } 388 389 function forEachEvent(targets, events, iteratee) { 390 forEach(targets, function (target) { 391 target && forEach(events, function (events2) { 392 events2.split(" ").forEach(function (eventNS) { 393 var fragment = eventNS.split("."); 394 iteratee(target, fragment[0], fragment[1]); 395 }); 396 }); 397 }); 398 } 399 400 function destroy() { 401 listeners.forEach(function (data) { 402 data[4](); 403 }); 404 empty(listeners); 405 } 406 407 return { 408 bind: bind, 409 unbind: unbind, 410 dispatch: dispatch, 411 destroy: destroy 412 }; 413 } 414 415 var EVENT_MOUNTED = "mounted"; 416 var EVENT_READY = "ready"; 417 var EVENT_MOVE = "move"; 418 var EVENT_MOVED = "moved"; 419 var EVENT_CLICK = "click"; 420 var EVENT_ACTIVE = "active"; 421 var EVENT_INACTIVE = "inactive"; 422 var EVENT_VISIBLE = "visible"; 423 var EVENT_HIDDEN = "hidden"; 424 var EVENT_REFRESH = "refresh"; 425 var EVENT_UPDATED = "updated"; 426 var EVENT_RESIZE = "resize"; 427 var EVENT_RESIZED = "resized"; 428 var EVENT_DRAG = "drag"; 429 var EVENT_DRAGGING = "dragging"; 430 var EVENT_DRAGGED = "dragged"; 431 var EVENT_SCROLL = "scroll"; 432 var EVENT_SCROLLED = "scrolled"; 433 var EVENT_OVERFLOW = "overflow"; 434 var EVENT_DESTROY = "destroy"; 435 var EVENT_ARROWS_MOUNTED = "arrows:mounted"; 436 var EVENT_ARROWS_UPDATED = "arrows:updated"; 437 var EVENT_PAGINATION_MOUNTED = "pagination:mounted"; 438 var EVENT_PAGINATION_UPDATED = "pagination:updated"; 439 var EVENT_NAVIGATION_MOUNTED = "navigation:mounted"; 440 var EVENT_AUTOPLAY_PLAY = "autoplay:play"; 441 var EVENT_AUTOPLAY_PLAYING = "autoplay:playing"; 442 var EVENT_AUTOPLAY_PAUSE = "autoplay:pause"; 443 var EVENT_LAZYLOAD_LOADED = "lazyload:loaded"; 444 var EVENT_SLIDE_KEYDOWN = "sk"; 445 var EVENT_SHIFTED = "sh"; 446 var EVENT_END_INDEX_CHANGED = "ei"; 447 448 function EventInterface(Splide2) { 449 var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment(); 450 var binder = EventBinder(); 451 452 function on(events, callback) { 453 binder.bind(bus, toArray(events).join(" "), function (e) { 454 callback.apply(callback, isArray(e.detail) ? e.detail : []); 455 }); 456 } 457 458 function emit(event) { 459 binder.dispatch(bus, event, slice(arguments, 1)); 460 } 461 462 if (Splide2) { 463 Splide2.event.on(EVENT_DESTROY, binder.destroy); 464 } 465 466 return assign(binder, { 467 bus: bus, 468 on: on, 469 off: apply(binder.unbind, bus), 470 emit: emit 471 }); 472 } 473 474 function RequestInterval(interval, onInterval, onUpdate, limit) { 475 var now = Date.now; 476 var startTime; 477 var rate = 0; 478 var id; 479 var paused = true; 480 var count = 0; 481 482 function update() { 483 if (!paused) { 484 rate = interval ? min((now() - startTime) / interval, 1) : 1; 485 onUpdate && onUpdate(rate); 486 487 if (rate >= 1) { 488 onInterval(); 489 startTime = now(); 490 491 if (limit && ++count >= limit) { 492 return pause(); 493 } 494 } 495 496 id = raf(update); 497 } 498 } 499 500 function start(resume) { 501 resume || cancel(); 502 startTime = now() - (resume ? rate * interval : 0); 503 paused = false; 504 id = raf(update); 505 } 506 507 function pause() { 508 paused = true; 509 } 510 511 function rewind() { 512 startTime = now(); 513 rate = 0; 514 515 if (onUpdate) { 516 onUpdate(rate); 517 } 518 } 519 520 function cancel() { 521 id && cancelAnimationFrame(id); 522 rate = 0; 523 id = 0; 524 paused = true; 525 } 526 527 function set(time) { 528 interval = time; 529 } 530 531 function isPaused() { 532 return paused; 533 } 534 535 return { 536 start: start, 537 rewind: rewind, 538 pause: pause, 539 cancel: cancel, 540 set: set, 541 isPaused: isPaused 542 }; 543 } 544 545 function State(initialState) { 546 var state = initialState; 547 548 function set(value) { 549 state = value; 550 } 551 552 function is(states) { 553 return includes(toArray(states), state); 554 } 555 556 return { 557 set: set, 558 is: is 559 }; 560 } 561 562 function Throttle(func, duration) { 563 var interval = RequestInterval(duration || 0, func, null, 1); 564 return function () { 565 interval.isPaused() && interval.start(); 566 }; 567 } 568 569 function Media(Splide2, Components2, options) { 570 var state = Splide2.state; 571 var breakpoints = options.breakpoints || {}; 572 var reducedMotion = options.reducedMotion || {}; 573 var binder = EventBinder(); 574 var queries = []; 575 576 function setup() { 577 var isMin = options.mediaQuery === "min"; 578 ownKeys(breakpoints).sort(function (n, m) { 579 return isMin ? +n - +m : +m - +n; 580 }).forEach(function (key) { 581 register(breakpoints[key], "(" + (isMin ? "min" : "max") + "-width:" + key + "px)"); 582 }); 583 register(reducedMotion, MEDIA_PREFERS_REDUCED_MOTION); 584 update(); 585 } 586 587 function destroy(completely) { 588 if (completely) { 589 binder.destroy(); 590 } 591 } 592 593 function register(options2, query) { 594 var queryList = matchMedia(query); 595 binder.bind(queryList, "change", update); 596 queries.push([options2, queryList]); 597 } 598 599 function update() { 600 var destroyed = state.is(DESTROYED); 601 var direction = options.direction; 602 var merged = queries.reduce(function (merged2, entry) { 603 return merge(merged2, entry[1].matches ? entry[0] : {}); 604 }, {}); 605 omit(options); 606 set(merged); 607 608 if (options.destroy) { 609 Splide2.destroy(options.destroy === "completely"); 610 } else if (destroyed) { 611 destroy(true); 612 Splide2.mount(); 613 } else { 614 direction !== options.direction && Splide2.refresh(); 615 } 616 } 617 618 function reduce(enable) { 619 if (matchMedia(MEDIA_PREFERS_REDUCED_MOTION).matches) { 620 enable ? merge(options, reducedMotion) : omit(options, ownKeys(reducedMotion)); 621 } 622 } 623 624 function set(opts, base, notify) { 625 merge(options, opts); 626 base && merge(Object.getPrototypeOf(options), opts); 627 628 if (notify || !state.is(CREATED)) { 629 Splide2.emit(EVENT_UPDATED, options); 630 } 631 } 632 633 return { 634 setup: setup, 635 destroy: destroy, 636 reduce: reduce, 637 set: set 638 }; 639 } 640 641 var ARROW = "Arrow"; 642 var ARROW_LEFT = ARROW + "Left"; 643 var ARROW_RIGHT = ARROW + "Right"; 644 var ARROW_UP = ARROW + "Up"; 645 var ARROW_DOWN = ARROW + "Down"; 646 var RTL = "rtl"; 647 var TTB = "ttb"; 648 var ORIENTATION_MAP = { 649 width: ["height"], 650 left: ["top", "right"], 651 right: ["bottom", "left"], 652 x: ["y"], 653 X: ["Y"], 654 Y: ["X"], 655 ArrowLeft: [ARROW_UP, ARROW_RIGHT], 656 ArrowRight: [ARROW_DOWN, ARROW_LEFT] 657 }; 658 659 function Direction(Splide2, Components2, options) { 660 function resolve(prop, axisOnly, direction) { 661 direction = direction || options.direction; 662 var index = direction === RTL && !axisOnly ? 1 : direction === TTB ? 0 : -1; 663 return ORIENTATION_MAP[prop] && ORIENTATION_MAP[prop][index] || prop.replace(/width|left|right/i, function (match, offset) { 664 var replacement = ORIENTATION_MAP[match.toLowerCase()][index] || match; 665 return offset > 0 ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement; 666 }); 667 } 668 669 function orient(value) { 670 return value * (options.direction === RTL ? 1 : -1); 671 } 672 673 return { 674 resolve: resolve, 675 orient: orient 676 }; 677 } 678 679 var ROLE = "role"; 680 var TAB_INDEX = "tabindex"; 681 var DISABLED = "disabled"; 682 var ARIA_PREFIX = "aria-"; 683 var ARIA_CONTROLS = ARIA_PREFIX + "controls"; 684 var ARIA_CURRENT = ARIA_PREFIX + "current"; 685 var ARIA_SELECTED = ARIA_PREFIX + "selected"; 686 var ARIA_LABEL = ARIA_PREFIX + "label"; 687 var ARIA_LABELLEDBY = ARIA_PREFIX + "labelledby"; 688 var ARIA_HIDDEN = ARIA_PREFIX + "hidden"; 689 var ARIA_ORIENTATION = ARIA_PREFIX + "orientation"; 690 var ARIA_ROLEDESCRIPTION = ARIA_PREFIX + "roledescription"; 691 var ARIA_LIVE = ARIA_PREFIX + "live"; 692 var ARIA_BUSY = ARIA_PREFIX + "busy"; 693 var ARIA_ATOMIC = ARIA_PREFIX + "atomic"; 694 var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_LABELLEDBY, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION]; 695 var CLASS_PREFIX = PROJECT_CODE + "__"; 696 var STATUS_CLASS_PREFIX = "is-"; 697 var CLASS_ROOT = PROJECT_CODE; 698 var CLASS_TRACK = CLASS_PREFIX + "track"; 699 var CLASS_LIST = CLASS_PREFIX + "list"; 700 var CLASS_SLIDE = CLASS_PREFIX + "slide"; 701 var CLASS_CLONE = CLASS_SLIDE + "--clone"; 702 var CLASS_CONTAINER = CLASS_SLIDE + "__container"; 703 var CLASS_ARROWS = CLASS_PREFIX + "arrows"; 704 var CLASS_ARROW = CLASS_PREFIX + "arrow"; 705 var CLASS_ARROW_PREV = CLASS_ARROW + "--prev"; 706 var CLASS_ARROW_NEXT = CLASS_ARROW + "--next"; 707 var CLASS_PAGINATION = CLASS_PREFIX + "pagination"; 708 var CLASS_PAGINATION_PAGE = CLASS_PAGINATION + "__page"; 709 var CLASS_PROGRESS = CLASS_PREFIX + "progress"; 710 var CLASS_PROGRESS_BAR = CLASS_PROGRESS + "__bar"; 711 var CLASS_TOGGLE = CLASS_PREFIX + "toggle"; 712 var CLASS_SPINNER = CLASS_PREFIX + "spinner"; 713 var CLASS_SR = CLASS_PREFIX + "sr"; 714 var CLASS_INITIALIZED = STATUS_CLASS_PREFIX + "initialized"; 715 var CLASS_ACTIVE = STATUS_CLASS_PREFIX + "active"; 716 var CLASS_PREV = STATUS_CLASS_PREFIX + "prev"; 717 var CLASS_NEXT = STATUS_CLASS_PREFIX + "next"; 718 var CLASS_VISIBLE = STATUS_CLASS_PREFIX + "visible"; 719 var CLASS_LOADING = STATUS_CLASS_PREFIX + "loading"; 720 var CLASS_FOCUS_IN = STATUS_CLASS_PREFIX + "focus-in"; 721 var CLASS_OVERFLOW = STATUS_CLASS_PREFIX + "overflow"; 722 var STATUS_CLASSES = [CLASS_ACTIVE, CLASS_VISIBLE, CLASS_PREV, CLASS_NEXT, CLASS_LOADING, CLASS_FOCUS_IN, CLASS_OVERFLOW]; 723 var CLASSES = { 724 slide: CLASS_SLIDE, 725 clone: CLASS_CLONE, 726 arrows: CLASS_ARROWS, 727 arrow: CLASS_ARROW, 728 prev: CLASS_ARROW_PREV, 729 next: CLASS_ARROW_NEXT, 730 pagination: CLASS_PAGINATION, 731 page: CLASS_PAGINATION_PAGE, 732 spinner: CLASS_SPINNER 733 }; 734 735 function closest(from, selector) { 736 if (isFunction(from.closest)) { 737 return from.closest(selector); 738 } 739 740 var elm = from; 741 742 while (elm && elm.nodeType === 1) { 743 if (matches(elm, selector)) { 744 break; 745 } 746 747 elm = elm.parentElement; 748 } 749 750 return elm; 751 } 752 753 var FRICTION = 5; 754 var LOG_INTERVAL = 200; 755 var POINTER_DOWN_EVENTS = "touchstart mousedown"; 756 var POINTER_MOVE_EVENTS = "touchmove mousemove"; 757 var POINTER_UP_EVENTS = "touchend touchcancel mouseup click"; 758 759 function Elements(Splide2, Components2, options) { 760 var _EventInterface = EventInterface(Splide2), 761 on = _EventInterface.on, 762 bind = _EventInterface.bind; 763 764 var root = Splide2.root; 765 var i18n = options.i18n; 766 var elements = {}; 767 var slides = []; 768 var rootClasses = []; 769 var trackClasses = []; 770 var track; 771 var list; 772 var isUsingKey; 773 774 function setup() { 775 collect(); 776 init(); 777 update(); 778 } 779 780 function mount() { 781 on(EVENT_REFRESH, destroy); 782 on(EVENT_REFRESH, setup); 783 on(EVENT_UPDATED, update); 784 bind(document, POINTER_DOWN_EVENTS + " keydown", function (e) { 785 isUsingKey = e.type === "keydown"; 786 }, { 787 capture: true 788 }); 789 bind(root, "focusin", function () { 790 toggleClass(root, CLASS_FOCUS_IN, !!isUsingKey); 791 }); 792 } 793 794 function destroy(completely) { 795 var attrs = ALL_ATTRIBUTES.concat("style"); 796 empty(slides); 797 removeClass(root, rootClasses); 798 removeClass(track, trackClasses); 799 removeAttribute([track, list], attrs); 800 removeAttribute(root, completely ? attrs : ["style", ARIA_ROLEDESCRIPTION]); 801 } 802 803 function update() { 804 removeClass(root, rootClasses); 805 removeClass(track, trackClasses); 806 rootClasses = getClasses(CLASS_ROOT); 807 trackClasses = getClasses(CLASS_TRACK); 808 addClass(root, rootClasses); 809 addClass(track, trackClasses); 810 setAttribute(root, ARIA_LABEL, options.label); 811 setAttribute(root, ARIA_LABELLEDBY, options.labelledby); 812 } 813 814 function collect() { 815 track = find("." + CLASS_TRACK); 816 list = child(track, "." + CLASS_LIST); 817 assert(track && list, "A track/list element is missing."); 818 push(slides, children(list, "." + CLASS_SLIDE + ":not(." + CLASS_CLONE + ")")); 819 forOwn({ 820 arrows: CLASS_ARROWS, 821 pagination: CLASS_PAGINATION, 822 prev: CLASS_ARROW_PREV, 823 next: CLASS_ARROW_NEXT, 824 bar: CLASS_PROGRESS_BAR, 825 toggle: CLASS_TOGGLE 826 }, function (className, key) { 827 elements[key] = find("." + className); 828 }); 829 assign(elements, { 830 root: root, 831 track: track, 832 list: list, 833 slides: slides 834 }); 835 } 836 837 function init() { 838 var id = root.id || uniqueId(PROJECT_CODE); 839 var role = options.role; 840 root.id = id; 841 track.id = track.id || id + "-track"; 842 list.id = list.id || id + "-list"; 843 844 if (!getAttribute(root, ROLE) && root.tagName !== "SECTION" && role) { 845 setAttribute(root, ROLE, role); 846 } 847 848 setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel); 849 setAttribute(list, ROLE, "presentation"); 850 } 851 852 function find(selector) { 853 var elm = query(root, selector); 854 return elm && closest(elm, "." + CLASS_ROOT) === root ? elm : void 0; 855 } 856 857 function getClasses(base) { 858 return [base + "--" + options.type, base + "--" + options.direction, options.drag && base + "--draggable", options.isNavigation && base + "--nav", base === CLASS_ROOT && CLASS_ACTIVE]; 859 } 860 861 return assign(elements, { 862 setup: setup, 863 mount: mount, 864 destroy: destroy 865 }); 866 } 867 868 var SLIDE = "slide"; 869 var LOOP = "loop"; 870 var FADE = "fade"; 871 872 function Slide$1(Splide2, index, slideIndex, slide) { 873 var event = EventInterface(Splide2); 874 var on = event.on, 875 emit = event.emit, 876 bind = event.bind; 877 var Components = Splide2.Components, 878 root = Splide2.root, 879 options = Splide2.options; 880 var isNavigation = options.isNavigation, 881 updateOnMove = options.updateOnMove, 882 i18n = options.i18n, 883 pagination = options.pagination, 884 slideFocus = options.slideFocus; 885 var resolve = Components.Direction.resolve; 886 var styles = getAttribute(slide, "style"); 887 var label = getAttribute(slide, ARIA_LABEL); 888 var isClone = slideIndex > -1; 889 var container = child(slide, "." + CLASS_CONTAINER); 890 var destroyed; 891 892 function mount() { 893 if (!isClone) { 894 slide.id = root.id + "-slide" + pad(index + 1); 895 setAttribute(slide, ROLE, pagination ? "tabpanel" : "group"); 896 setAttribute(slide, ARIA_ROLEDESCRIPTION, i18n.slide); 897 setAttribute(slide, ARIA_LABEL, label || format(i18n.slideLabel, [index + 1, Splide2.length])); 898 } 899 900 listen(); 901 } 902 903 function listen() { 904 bind(slide, "click", apply(emit, EVENT_CLICK, self)); 905 bind(slide, "keydown", apply(emit, EVENT_SLIDE_KEYDOWN, self)); 906 on([EVENT_MOVED, EVENT_SHIFTED, EVENT_SCROLLED], update); 907 on(EVENT_NAVIGATION_MOUNTED, initNavigation); 908 909 if (updateOnMove) { 910 on(EVENT_MOVE, onMove); 911 } 912 } 913 914 function destroy() { 915 destroyed = true; 916 event.destroy(); 917 removeClass(slide, STATUS_CLASSES); 918 removeAttribute(slide, ALL_ATTRIBUTES); 919 setAttribute(slide, "style", styles); 920 setAttribute(slide, ARIA_LABEL, label || ""); 921 } 922 923 function initNavigation() { 924 var controls = Splide2.splides.map(function (target) { 925 var Slide2 = target.splide.Components.Slides.getAt(index); 926 return Slide2 ? Slide2.slide.id : ""; 927 }).join(" "); 928 setAttribute(slide, ARIA_LABEL, format(i18n.slideX, (isClone ? slideIndex : index) + 1)); 929 setAttribute(slide, ARIA_CONTROLS, controls); 930 setAttribute(slide, ROLE, slideFocus ? "button" : ""); 931 slideFocus && removeAttribute(slide, ARIA_ROLEDESCRIPTION); 932 } 933 934 function onMove() { 935 if (!destroyed) { 936 update(); 937 } 938 } 939 940 function update() { 941 if (!destroyed) { 942 var curr = Splide2.index; 943 updateActivity(); 944 updateVisibility(); 945 toggleClass(slide, CLASS_PREV, index === curr - 1); 946 toggleClass(slide, CLASS_NEXT, index === curr + 1); 947 } 948 } 949 950 function updateActivity() { 951 var active = isActive(); 952 953 if (active !== hasClass(slide, CLASS_ACTIVE)) { 954 toggleClass(slide, CLASS_ACTIVE, active); 955 setAttribute(slide, ARIA_CURRENT, isNavigation && active || ""); 956 emit(active ? EVENT_ACTIVE : EVENT_INACTIVE, self); 957 } 958 } 959 960 function updateVisibility() { 961 var visible = isVisible(); 962 var hidden = !visible && (!isActive() || isClone); 963 964 if (!Splide2.state.is([MOVING, SCROLLING])) { 965 setAttribute(slide, ARIA_HIDDEN, hidden || ""); 966 } 967 968 setAttribute(queryAll(slide, options.focusableNodes || ""), TAB_INDEX, hidden ? -1 : ""); 969 970 if (slideFocus) { 971 setAttribute(slide, TAB_INDEX, hidden ? -1 : 0); 972 } 973 974 if (visible !== hasClass(slide, CLASS_VISIBLE)) { 975 toggleClass(slide, CLASS_VISIBLE, visible); 976 emit(visible ? EVENT_VISIBLE : EVENT_HIDDEN, self); 977 } 978 979 if (!visible && document.activeElement === slide) { 980 var Slide2 = Components.Slides.getAt(Splide2.index); 981 Slide2 && focus(Slide2.slide); 982 } 983 } 984 985 function style$1(prop, value, useContainer) { 986 style(useContainer && container || slide, prop, value); 987 } 988 989 function isActive() { 990 var curr = Splide2.index; 991 return curr === index || options.cloneStatus && curr === slideIndex; 992 } 993 994 function isVisible() { 995 if (Splide2.is(FADE)) { 996 return isActive(); 997 } 998 999 var trackRect = rect(Components.Elements.track); 1000 var slideRect = rect(slide); 1001 var left = resolve("left", true); 1002 var right = resolve("right", true); 1003 return floor(trackRect[left]) <= ceil(slideRect[left]) && floor(slideRect[right]) <= ceil(trackRect[right]); 1004 } 1005 1006 function isWithin(from, distance) { 1007 var diff = abs(from - index); 1008 1009 if (!isClone && (options.rewind || Splide2.is(LOOP))) { 1010 diff = min(diff, Splide2.length - diff); 1011 } 1012 1013 return diff <= distance; 1014 } 1015 1016 var self = { 1017 index: index, 1018 slideIndex: slideIndex, 1019 slide: slide, 1020 container: container, 1021 isClone: isClone, 1022 mount: mount, 1023 destroy: destroy, 1024 update: update, 1025 style: style$1, 1026 isWithin: isWithin 1027 }; 1028 return self; 1029 } 1030 1031 function Slides(Splide2, Components2, options) { 1032 var _EventInterface2 = EventInterface(Splide2), 1033 on = _EventInterface2.on, 1034 emit = _EventInterface2.emit, 1035 bind = _EventInterface2.bind; 1036 1037 var _Components2$Elements = Components2.Elements, 1038 slides = _Components2$Elements.slides, 1039 list = _Components2$Elements.list; 1040 var Slides2 = []; 1041 1042 function mount() { 1043 init(); 1044 on(EVENT_REFRESH, destroy); 1045 on(EVENT_REFRESH, init); 1046 } 1047 1048 function init() { 1049 slides.forEach(function (slide, index) { 1050 register(slide, index, -1); 1051 }); 1052 } 1053 1054 function destroy() { 1055 forEach$1(function (Slide2) { 1056 Slide2.destroy(); 1057 }); 1058 empty(Slides2); 1059 } 1060 1061 function update() { 1062 forEach$1(function (Slide2) { 1063 Slide2.update(); 1064 }); 1065 } 1066 1067 function register(slide, index, slideIndex) { 1068 var object = Slide$1(Splide2, index, slideIndex, slide); 1069 object.mount(); 1070 Slides2.push(object); 1071 Slides2.sort(function (Slide1, Slide2) { 1072 return Slide1.index - Slide2.index; 1073 }); 1074 } 1075 1076 function get(excludeClones) { 1077 return excludeClones ? filter(function (Slide2) { 1078 return !Slide2.isClone; 1079 }) : Slides2; 1080 } 1081 1082 function getIn(page) { 1083 var Controller = Components2.Controller; 1084 var index = Controller.toIndex(page); 1085 var max = Controller.hasFocus() ? 1 : options.perPage; 1086 return filter(function (Slide2) { 1087 return between(Slide2.index, index, index + max - 1); 1088 }); 1089 } 1090 1091 function getAt(index) { 1092 return filter(index)[0]; 1093 } 1094 1095 function add(items, index) { 1096 forEach(items, function (slide) { 1097 if (isString(slide)) { 1098 slide = parseHtml(slide); 1099 } 1100 1101 if (isHTMLElement(slide)) { 1102 var ref = slides[index]; 1103 ref ? before(slide, ref) : append(list, slide); 1104 addClass(slide, options.classes.slide); 1105 observeImages(slide, apply(emit, EVENT_RESIZE)); 1106 } 1107 }); 1108 emit(EVENT_REFRESH); 1109 } 1110 1111 function remove$1(matcher) { 1112 remove(filter(matcher).map(function (Slide2) { 1113 return Slide2.slide; 1114 })); 1115 emit(EVENT_REFRESH); 1116 } 1117 1118 function forEach$1(iteratee, excludeClones) { 1119 get(excludeClones).forEach(iteratee); 1120 } 1121 1122 function filter(matcher) { 1123 return Slides2.filter(isFunction(matcher) ? matcher : function (Slide2) { 1124 return isString(matcher) ? matches(Slide2.slide, matcher) : includes(toArray(matcher), Slide2.index); 1125 }); 1126 } 1127 1128 function style(prop, value, useContainer) { 1129 forEach$1(function (Slide2) { 1130 Slide2.style(prop, value, useContainer); 1131 }); 1132 } 1133 1134 function observeImages(elm, callback) { 1135 var images = queryAll(elm, "img"); 1136 var length = images.length; 1137 1138 if (length) { 1139 images.forEach(function (img) { 1140 bind(img, "load error", function () { 1141 if (! --length) { 1142 callback(); 1143 } 1144 }); 1145 }); 1146 } else { 1147 callback(); 1148 } 1149 } 1150 1151 function getLength(excludeClones) { 1152 return excludeClones ? slides.length : Slides2.length; 1153 } 1154 1155 function isEnough() { 1156 return Slides2.length > options.perPage; 1157 } 1158 1159 return { 1160 mount: mount, 1161 destroy: destroy, 1162 update: update, 1163 register: register, 1164 get: get, 1165 getIn: getIn, 1166 getAt: getAt, 1167 add: add, 1168 remove: remove$1, 1169 forEach: forEach$1, 1170 filter: filter, 1171 style: style, 1172 getLength: getLength, 1173 isEnough: isEnough 1174 }; 1175 } 1176 1177 function Layout(Splide2, Components2, options) { 1178 var _EventInterface3 = EventInterface(Splide2), 1179 on = _EventInterface3.on, 1180 bind = _EventInterface3.bind, 1181 emit = _EventInterface3.emit; 1182 1183 var Slides = Components2.Slides; 1184 var resolve = Components2.Direction.resolve; 1185 var _Components2$Elements2 = Components2.Elements, 1186 root = _Components2$Elements2.root, 1187 track = _Components2$Elements2.track, 1188 list = _Components2$Elements2.list; 1189 var getAt = Slides.getAt, 1190 styleSlides = Slides.style; 1191 var vertical; 1192 var rootRect; 1193 var overflow; 1194 1195 function mount() { 1196 init(); 1197 bind(window, "resize load", Throttle(apply(emit, EVENT_RESIZE))); 1198 on([EVENT_UPDATED, EVENT_REFRESH], init); 1199 on(EVENT_RESIZE, resize); 1200 } 1201 1202 function init() { 1203 vertical = options.direction === TTB; 1204 style(root, "maxWidth", unit(options.width)); 1205 style(track, resolve("paddingLeft"), cssPadding(false)); 1206 style(track, resolve("paddingRight"), cssPadding(true)); 1207 resize(true); 1208 } 1209 1210 function resize(force) { 1211 var newRect = rect(root); 1212 1213 if (force || rootRect.width !== newRect.width || rootRect.height !== newRect.height) { 1214 style(track, "height", cssTrackHeight()); 1215 styleSlides(resolve("marginRight"), unit(options.gap)); 1216 styleSlides("width", cssSlideWidth()); 1217 styleSlides("height", cssSlideHeight(), true); 1218 rootRect = newRect; 1219 emit(EVENT_RESIZED); 1220 1221 if (overflow !== (overflow = isOverflow())) { 1222 toggleClass(root, CLASS_OVERFLOW, overflow); 1223 emit(EVENT_OVERFLOW, overflow); 1224 } 1225 } 1226 } 1227 1228 function cssPadding(right) { 1229 var padding = options.padding; 1230 var prop = resolve(right ? "right" : "left"); 1231 return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || "0px"; 1232 } 1233 1234 function cssTrackHeight() { 1235 var height = ""; 1236 1237 if (vertical) { 1238 height = cssHeight(); 1239 assert(height, "height or heightRatio is missing."); 1240 height = "calc(" + height + " - " + cssPadding(false) + " - " + cssPadding(true) + ")"; 1241 } 1242 1243 return height; 1244 } 1245 1246 function cssHeight() { 1247 return unit(options.height || rect(list).width * options.heightRatio); 1248 } 1249 1250 function cssSlideWidth() { 1251 return options.autoWidth ? null : unit(options.fixedWidth) || (vertical ? "" : cssSlideSize()); 1252 } 1253 1254 function cssSlideHeight() { 1255 return unit(options.fixedHeight) || (vertical ? options.autoHeight ? null : cssSlideSize() : cssHeight()); 1256 } 1257 1258 function cssSlideSize() { 1259 var gap = unit(options.gap); 1260 return "calc((100%" + (gap && " + " + gap) + ")/" + (options.perPage || 1) + (gap && " - " + gap) + ")"; 1261 } 1262 1263 function listSize() { 1264 return rect(list)[resolve("width")]; 1265 } 1266 1267 function slideSize(index, withoutGap) { 1268 var Slide = getAt(index || 0); 1269 return Slide ? rect(Slide.slide)[resolve("width")] + (withoutGap ? 0 : getGap()) : 0; 1270 } 1271 1272 function totalSize(index, withoutGap) { 1273 var Slide = getAt(index); 1274 1275 if (Slide) { 1276 var right = rect(Slide.slide)[resolve("right")]; 1277 var left = rect(list)[resolve("left")]; 1278 return abs(right - left) + (withoutGap ? 0 : getGap()); 1279 } 1280 1281 return 0; 1282 } 1283 1284 function sliderSize(withoutGap) { 1285 return totalSize(Splide2.length - 1) - totalSize(0) + slideSize(0, withoutGap); 1286 } 1287 1288 function getGap() { 1289 var Slide = getAt(0); 1290 return Slide && parseFloat(style(Slide.slide, resolve("marginRight"))) || 0; 1291 } 1292 1293 function getPadding(right) { 1294 return parseFloat(style(track, resolve("padding" + (right ? "Right" : "Left")))) || 0; 1295 } 1296 1297 function isOverflow() { 1298 return Splide2.is(FADE) || sliderSize(true) > listSize(); 1299 } 1300 1301 return { 1302 mount: mount, 1303 resize: resize, 1304 listSize: listSize, 1305 slideSize: slideSize, 1306 sliderSize: sliderSize, 1307 totalSize: totalSize, 1308 getPadding: getPadding, 1309 isOverflow: isOverflow 1310 }; 1311 } 1312 1313 var MULTIPLIER = 2; 1314 1315 function Clones(Splide2, Components2, options) { 1316 var event = EventInterface(Splide2); 1317 var on = event.on; 1318 var Elements = Components2.Elements, 1319 Slides = Components2.Slides; 1320 var resolve = Components2.Direction.resolve; 1321 var clones = []; 1322 var cloneCount; 1323 1324 function mount() { 1325 on(EVENT_REFRESH, remount); 1326 on([EVENT_UPDATED, EVENT_RESIZE], observe); 1327 1328 if (cloneCount = computeCloneCount()) { 1329 generate(cloneCount); 1330 Components2.Layout.resize(true); 1331 } 1332 } 1333 1334 function remount() { 1335 destroy(); 1336 mount(); 1337 } 1338 1339 function destroy() { 1340 remove(clones); 1341 empty(clones); 1342 event.destroy(); 1343 } 1344 1345 function observe() { 1346 var count = computeCloneCount(); 1347 1348 if (cloneCount !== count) { 1349 if (cloneCount < count || !count) { 1350 event.emit(EVENT_REFRESH); 1351 } 1352 } 1353 } 1354 1355 function generate(count) { 1356 var slides = Slides.get().slice(); 1357 var length = slides.length; 1358 1359 if (length) { 1360 while (slides.length < count) { 1361 push(slides, slides); 1362 } 1363 1364 push(slides.slice(-count), slides.slice(0, count)).forEach(function (Slide, index) { 1365 var isHead = index < count; 1366 var clone = cloneDeep(Slide.slide, index); 1367 isHead ? before(clone, slides[0].slide) : append(Elements.list, clone); 1368 push(clones, clone); 1369 Slides.register(clone, index - count + (isHead ? 0 : length), Slide.index); 1370 }); 1371 } 1372 } 1373 1374 function cloneDeep(elm, index) { 1375 var clone = elm.cloneNode(true); 1376 addClass(clone, options.classes.clone); 1377 clone.id = Splide2.root.id + "-clone" + pad(index + 1); 1378 return clone; 1379 } 1380 1381 function computeCloneCount() { 1382 var clones2 = options.clones; 1383 1384 if (!Splide2.is(LOOP)) { 1385 clones2 = 0; 1386 } else if (isUndefined(clones2)) { 1387 var fixedSize = options[resolve("fixedWidth")] && Components2.Layout.slideSize(0); 1388 var fixedCount = fixedSize && ceil(rect(Elements.track)[resolve("width")] / fixedSize); 1389 clones2 = fixedCount || options[resolve("autoWidth")] && Splide2.length || options.perPage * MULTIPLIER; 1390 } 1391 1392 return clones2; 1393 } 1394 1395 return { 1396 mount: mount, 1397 destroy: destroy 1398 }; 1399 } 1400 1401 function Move(Splide2, Components2, options) { 1402 var _EventInterface4 = EventInterface(Splide2), 1403 on = _EventInterface4.on, 1404 emit = _EventInterface4.emit; 1405 1406 var set = Splide2.state.set; 1407 var _Components2$Layout = Components2.Layout, 1408 slideSize = _Components2$Layout.slideSize, 1409 getPadding = _Components2$Layout.getPadding, 1410 totalSize = _Components2$Layout.totalSize, 1411 listSize = _Components2$Layout.listSize, 1412 sliderSize = _Components2$Layout.sliderSize; 1413 var _Components2$Directio = Components2.Direction, 1414 resolve = _Components2$Directio.resolve, 1415 orient = _Components2$Directio.orient; 1416 var _Components2$Elements3 = Components2.Elements, 1417 list = _Components2$Elements3.list, 1418 track = _Components2$Elements3.track; 1419 var Transition; 1420 1421 function mount() { 1422 Transition = Components2.Transition; 1423 on([EVENT_MOUNTED, EVENT_RESIZED, EVENT_UPDATED, EVENT_REFRESH], reposition); 1424 } 1425 1426 function reposition() { 1427 if (!Components2.Controller.isBusy()) { 1428 Components2.Scroll.cancel(); 1429 jump(Splide2.index); 1430 Components2.Slides.update(); 1431 } 1432 } 1433 1434 function move(dest, index, prev, callback) { 1435 if (dest !== index && canShift(dest > prev)) { 1436 cancel(); 1437 translate(shift(getPosition(), dest > prev), true); 1438 } 1439 1440 set(MOVING); 1441 emit(EVENT_MOVE, index, prev, dest); 1442 Transition.start(index, function () { 1443 set(IDLE); 1444 emit(EVENT_MOVED, index, prev, dest); 1445 callback && callback(); 1446 }); 1447 } 1448 1449 function jump(index) { 1450 translate(toPosition(index, true)); 1451 } 1452 1453 function translate(position, preventLoop) { 1454 if (!Splide2.is(FADE)) { 1455 var destination = preventLoop ? position : loop(position); 1456 style(list, "transform", "translate" + resolve("X") + "(" + destination + "px)"); 1457 position !== destination && emit(EVENT_SHIFTED); 1458 } 1459 } 1460 1461 function loop(position) { 1462 if (Splide2.is(LOOP)) { 1463 var index = toIndex(position); 1464 var exceededMax = index > Components2.Controller.getEnd(); 1465 var exceededMin = index < 0; 1466 1467 if (exceededMin || exceededMax) { 1468 position = shift(position, exceededMax); 1469 } 1470 } 1471 1472 return position; 1473 } 1474 1475 function shift(position, backwards) { 1476 var excess = position - getLimit(backwards); 1477 var size = sliderSize(); 1478 position -= orient(size * (ceil(abs(excess) / size) || 1)) * (backwards ? 1 : -1); 1479 return position; 1480 } 1481 1482 function cancel() { 1483 translate(getPosition(), true); 1484 Transition.cancel(); 1485 } 1486 1487 function toIndex(position) { 1488 var Slides = Components2.Slides.get(); 1489 var index = 0; 1490 var minDistance = Infinity; 1491 1492 for (var i = 0; i < Slides.length; i++) { 1493 var slideIndex = Slides[i].index; 1494 var distance = abs(toPosition(slideIndex, true) - position); 1495 1496 if (distance <= minDistance) { 1497 minDistance = distance; 1498 index = slideIndex; 1499 } else { 1500 break; 1501 } 1502 } 1503 1504 return index; 1505 } 1506 1507 function toPosition(index, trimming) { 1508 var position = orient(totalSize(index - 1) - offset(index)); 1509 return trimming ? trim(position) : position; 1510 } 1511 1512 function getPosition() { 1513 var left = resolve("left"); 1514 return rect(list)[left] - rect(track)[left] + orient(getPadding(false)); 1515 } 1516 1517 function trim(position) { 1518 if (options.trimSpace && Splide2.is(SLIDE)) { 1519 position = clamp(position, 0, orient(sliderSize(true) - listSize())); 1520 } 1521 1522 return position; 1523 } 1524 1525 function offset(index) { 1526 var focus = options.focus; 1527 return focus === "center" ? (listSize() - slideSize(index, true)) / 2 : +focus * slideSize(index) || 0; 1528 } 1529 1530 function getLimit(max) { 1531 return toPosition(max ? Components2.Controller.getEnd() : 0, !!options.trimSpace); 1532 } 1533 1534 function canShift(backwards) { 1535 var shifted = orient(shift(getPosition(), backwards)); 1536 return backwards ? shifted >= 0 : shifted <= list[resolve("scrollWidth")] - rect(track)[resolve("width")]; 1537 } 1538 1539 function exceededLimit(max, position) { 1540 position = isUndefined(position) ? getPosition() : position; 1541 var exceededMin = max !== true && orient(position) < orient(getLimit(false)); 1542 var exceededMax = max !== false && orient(position) > orient(getLimit(true)); 1543 return exceededMin || exceededMax; 1544 } 1545 1546 return { 1547 mount: mount, 1548 move: move, 1549 jump: jump, 1550 translate: translate, 1551 shift: shift, 1552 cancel: cancel, 1553 toIndex: toIndex, 1554 toPosition: toPosition, 1555 getPosition: getPosition, 1556 getLimit: getLimit, 1557 exceededLimit: exceededLimit, 1558 reposition: reposition 1559 }; 1560 } 1561 1562 function Controller(Splide2, Components2, options) { 1563 var _EventInterface5 = EventInterface(Splide2), 1564 on = _EventInterface5.on, 1565 emit = _EventInterface5.emit; 1566 1567 var Move = Components2.Move; 1568 var getPosition = Move.getPosition, 1569 getLimit = Move.getLimit, 1570 toPosition = Move.toPosition; 1571 var _Components2$Slides = Components2.Slides, 1572 isEnough = _Components2$Slides.isEnough, 1573 getLength = _Components2$Slides.getLength; 1574 var omitEnd = options.omitEnd; 1575 var isLoop = Splide2.is(LOOP); 1576 var isSlide = Splide2.is(SLIDE); 1577 var getNext = apply(getAdjacent, false); 1578 var getPrev = apply(getAdjacent, true); 1579 var currIndex = options.start || 0; 1580 var endIndex; 1581 var prevIndex = currIndex; 1582 var slideCount; 1583 var perMove; 1584 var perPage; 1585 1586 function mount() { 1587 init(); 1588 on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], init); 1589 on(EVENT_RESIZED, onResized); 1590 } 1591 1592 function init() { 1593 slideCount = getLength(true); 1594 perMove = options.perMove; 1595 perPage = options.perPage; 1596 endIndex = getEnd(); 1597 var index = clamp(currIndex, 0, omitEnd ? endIndex : slideCount - 1); 1598 1599 if (index !== currIndex) { 1600 currIndex = index; 1601 Move.reposition(); 1602 } 1603 } 1604 1605 function onResized() { 1606 if (endIndex !== getEnd()) { 1607 emit(EVENT_END_INDEX_CHANGED); 1608 } 1609 } 1610 1611 function go(control, allowSameIndex, callback) { 1612 if (!isBusy()) { 1613 var dest = parse(control); 1614 var index = loop(dest); 1615 1616 if (index > -1 && (allowSameIndex || index !== currIndex)) { 1617 setIndex(index); 1618 Move.move(dest, index, prevIndex, callback); 1619 } 1620 } 1621 } 1622 1623 function scroll(destination, duration, snap, callback) { 1624 Components2.Scroll.scroll(destination, duration, snap, function () { 1625 var index = loop(Move.toIndex(getPosition())); 1626 setIndex(omitEnd ? min(index, endIndex) : index); 1627 callback && callback(); 1628 }); 1629 } 1630 1631 function parse(control) { 1632 var index = currIndex; 1633 1634 if (isString(control)) { 1635 var _ref = control.match(/([+\-<>])(\d+)?/) || [], 1636 indicator = _ref[1], 1637 number = _ref[2]; 1638 1639 if (indicator === "+" || indicator === "-") { 1640 index = computeDestIndex(currIndex + +("" + indicator + (+number || 1)), currIndex); 1641 } else if (indicator === ">") { 1642 index = number ? toIndex(+number) : getNext(true); 1643 } else if (indicator === "<") { 1644 index = getPrev(true); 1645 } 1646 } else { 1647 index = isLoop ? control : clamp(control, 0, endIndex); 1648 } 1649 1650 return index; 1651 } 1652 1653 function getAdjacent(prev, destination) { 1654 var number = perMove || (hasFocus() ? 1 : perPage); 1655 var dest = computeDestIndex(currIndex + number * (prev ? -1 : 1), currIndex, !(perMove || hasFocus())); 1656 1657 if (dest === -1 && isSlide) { 1658 if (!approximatelyEqual(getPosition(), getLimit(!prev), 1)) { 1659 return prev ? 0 : endIndex; 1660 } 1661 } 1662 1663 return destination ? dest : loop(dest); 1664 } 1665 1666 function computeDestIndex(dest, from, snapPage) { 1667 if (isEnough() || hasFocus()) { 1668 var index = computeMovableDestIndex(dest); 1669 1670 if (index !== dest) { 1671 from = dest; 1672 dest = index; 1673 snapPage = false; 1674 } 1675 1676 if (dest < 0 || dest > endIndex) { 1677 if (!perMove && (between(0, dest, from, true) || between(endIndex, from, dest, true))) { 1678 dest = toIndex(toPage(dest)); 1679 } else { 1680 if (isLoop) { 1681 dest = snapPage ? dest < 0 ? -(slideCount % perPage || perPage) : slideCount : dest; 1682 } else if (options.rewind) { 1683 dest = dest < 0 ? endIndex : 0; 1684 } else { 1685 dest = -1; 1686 } 1687 } 1688 } else { 1689 if (snapPage && dest !== from) { 1690 dest = toIndex(toPage(from) + (dest < from ? -1 : 1)); 1691 } 1692 } 1693 } else { 1694 dest = -1; 1695 } 1696 1697 return dest; 1698 } 1699 1700 function computeMovableDestIndex(dest) { 1701 if (isSlide && options.trimSpace === "move" && dest !== currIndex) { 1702 var position = getPosition(); 1703 1704 while (position === toPosition(dest, true) && between(dest, 0, Splide2.length - 1, !options.rewind)) { 1705 dest < currIndex ? --dest : ++dest; 1706 } 1707 } 1708 1709 return dest; 1710 } 1711 1712 function loop(index) { 1713 return isLoop ? (index + slideCount) % slideCount || 0 : index; 1714 } 1715 1716 function getEnd() { 1717 var end = slideCount - (hasFocus() || isLoop && perMove ? 1 : perPage); 1718 1719 while (omitEnd && end-- > 0) { 1720 if (toPosition(slideCount - 1, true) !== toPosition(end, true)) { 1721 end++; 1722 break; 1723 } 1724 } 1725 1726 return clamp(end, 0, slideCount - 1); 1727 } 1728 1729 function toIndex(page) { 1730 return clamp(hasFocus() ? page : perPage * page, 0, endIndex); 1731 } 1732 1733 function toPage(index) { 1734 return hasFocus() ? min(index, endIndex) : floor((index >= endIndex ? slideCount - 1 : index) / perPage); 1735 } 1736 1737 function toDest(destination) { 1738 var closest = Move.toIndex(destination); 1739 return isSlide ? clamp(closest, 0, endIndex) : closest; 1740 } 1741 1742 function setIndex(index) { 1743 if (index !== currIndex) { 1744 prevIndex = currIndex; 1745 currIndex = index; 1746 } 1747 } 1748 1749 function getIndex(prev) { 1750 return prev ? prevIndex : currIndex; 1751 } 1752 1753 function hasFocus() { 1754 return !isUndefined(options.focus) || options.isNavigation; 1755 } 1756 1757 function isBusy() { 1758 return Splide2.state.is([MOVING, SCROLLING]) && !!options.waitForTransition; 1759 } 1760 1761 return { 1762 mount: mount, 1763 go: go, 1764 scroll: scroll, 1765 getNext: getNext, 1766 getPrev: getPrev, 1767 getAdjacent: getAdjacent, 1768 getEnd: getEnd, 1769 setIndex: setIndex, 1770 getIndex: getIndex, 1771 toIndex: toIndex, 1772 toPage: toPage, 1773 toDest: toDest, 1774 hasFocus: hasFocus, 1775 isBusy: isBusy 1776 }; 1777 } 1778 1779 var XML_NAME_SPACE = "http://www.w3.org/2000/svg"; 1780 var PATH = "m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z"; 1781 var SIZE = 40; 1782 1783 function Arrows(Splide2, Components2, options) { 1784 var event = EventInterface(Splide2); 1785 var on = event.on, 1786 bind = event.bind, 1787 emit = event.emit; 1788 var classes = options.classes, 1789 i18n = options.i18n; 1790 var Elements = Components2.Elements, 1791 Controller = Components2.Controller; 1792 var placeholder = Elements.arrows, 1793 track = Elements.track; 1794 var wrapper = placeholder; 1795 var prev = Elements.prev; 1796 var next = Elements.next; 1797 var created; 1798 var wrapperClasses; 1799 var arrows = {}; 1800 1801 function mount() { 1802 init(); 1803 on(EVENT_UPDATED, remount); 1804 } 1805 1806 function remount() { 1807 destroy(); 1808 mount(); 1809 } 1810 1811 function init() { 1812 var enabled = options.arrows; 1813 1814 if (enabled && !(prev && next)) { 1815 createArrows(); 1816 } 1817 1818 if (prev && next) { 1819 assign(arrows, { 1820 prev: prev, 1821 next: next 1822 }); 1823 display(wrapper, enabled ? "" : "none"); 1824 addClass(wrapper, wrapperClasses = CLASS_ARROWS + "--" + options.direction); 1825 1826 if (enabled) { 1827 listen(); 1828 update(); 1829 setAttribute([prev, next], ARIA_CONTROLS, track.id); 1830 emit(EVENT_ARROWS_MOUNTED, prev, next); 1831 } 1832 } 1833 } 1834 1835 function destroy() { 1836 event.destroy(); 1837 removeClass(wrapper, wrapperClasses); 1838 1839 if (created) { 1840 remove(placeholder ? [prev, next] : wrapper); 1841 prev = next = null; 1842 } else { 1843 removeAttribute([prev, next], ALL_ATTRIBUTES); 1844 } 1845 } 1846 1847 function listen() { 1848 on([EVENT_MOUNTED, EVENT_MOVED, EVENT_REFRESH, EVENT_SCROLLED, EVENT_END_INDEX_CHANGED], update); 1849 bind(next, "click", apply(go, ">")); 1850 bind(prev, "click", apply(go, "<")); 1851 } 1852 1853 function go(control) { 1854 Controller.go(control, true); 1855 } 1856 1857 function createArrows() { 1858 wrapper = placeholder || create("div", classes.arrows); 1859 prev = createArrow(true); 1860 next = createArrow(false); 1861 created = true; 1862 append(wrapper, [prev, next]); 1863 !placeholder && before(wrapper, track); 1864 } 1865 1866 function createArrow(prev2) { 1867 var arrow = "<button class=\"" + classes.arrow + " " + (prev2 ? classes.prev : classes.next) + "\" type=\"button\"><svg xmlns=\"" + XML_NAME_SPACE + "\" viewBox=\"0 0 " + SIZE + " " + SIZE + "\" width=\"" + SIZE + "\" height=\"" + SIZE + "\" focusable=\"false\"><path d=\"" + (options.arrowPath || PATH) + "\" />"; 1868 return parseHtml(arrow); 1869 } 1870 1871 function update() { 1872 if (prev && next) { 1873 var index = Splide2.index; 1874 var prevIndex = Controller.getPrev(); 1875 var nextIndex = Controller.getNext(); 1876 var prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev; 1877 var nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next; 1878 prev.disabled = prevIndex < 0; 1879 next.disabled = nextIndex < 0; 1880 setAttribute(prev, ARIA_LABEL, prevLabel); 1881 setAttribute(next, ARIA_LABEL, nextLabel); 1882 emit(EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex); 1883 } 1884 } 1885 1886 return { 1887 arrows: arrows, 1888 mount: mount, 1889 destroy: destroy, 1890 update: update 1891 }; 1892 } 1893 1894 var INTERVAL_DATA_ATTRIBUTE = DATA_ATTRIBUTE + "-interval"; 1895 1896 function Autoplay(Splide2, Components2, options) { 1897 var _EventInterface6 = EventInterface(Splide2), 1898 on = _EventInterface6.on, 1899 bind = _EventInterface6.bind, 1900 emit = _EventInterface6.emit; 1901 1902 var interval = RequestInterval(options.interval, Splide2.go.bind(Splide2, ">"), onAnimationFrame); 1903 var isPaused = interval.isPaused; 1904 var Elements = Components2.Elements, 1905 _Components2$Elements4 = Components2.Elements, 1906 root = _Components2$Elements4.root, 1907 toggle = _Components2$Elements4.toggle; 1908 var autoplay = options.autoplay; 1909 var hovered; 1910 var focused; 1911 var stopped = autoplay === "pause"; 1912 1913 function mount() { 1914 if (autoplay) { 1915 listen(); 1916 toggle && setAttribute(toggle, ARIA_CONTROLS, Elements.track.id); 1917 stopped || play(); 1918 update(); 1919 } 1920 } 1921 1922 function listen() { 1923 if (options.pauseOnHover) { 1924 bind(root, "mouseenter mouseleave", function (e) { 1925 hovered = e.type === "mouseenter"; 1926 autoToggle(); 1927 }); 1928 } 1929 1930 if (options.pauseOnFocus) { 1931 bind(root, "focusin focusout", function (e) { 1932 focused = e.type === "focusin"; 1933 autoToggle(); 1934 }); 1935 } 1936 1937 if (toggle) { 1938 bind(toggle, "click", function () { 1939 stopped ? play() : pause(true); 1940 }); 1941 } 1942 1943 on([EVENT_MOVE, EVENT_SCROLL, EVENT_REFRESH], interval.rewind); 1944 on(EVENT_MOVE, onMove); 1945 } 1946 1947 function play() { 1948 if (isPaused() && Components2.Slides.isEnough()) { 1949 interval.start(!options.resetProgress); 1950 focused = hovered = stopped = false; 1951 update(); 1952 emit(EVENT_AUTOPLAY_PLAY); 1953 } 1954 } 1955 1956 function pause(stop) { 1957 if (stop === void 0) { 1958 stop = true; 1959 } 1960 1961 stopped = !!stop; 1962 update(); 1963 1964 if (!isPaused()) { 1965 interval.pause(); 1966 emit(EVENT_AUTOPLAY_PAUSE); 1967 } 1968 } 1969 1970 function autoToggle() { 1971 if (!stopped) { 1972 hovered || focused ? pause(false) : play(); 1973 } 1974 } 1975 1976 function update() { 1977 if (toggle) { 1978 toggleClass(toggle, CLASS_ACTIVE, !stopped); 1979 setAttribute(toggle, ARIA_LABEL, options.i18n[stopped ? "play" : "pause"]); 1980 } 1981 } 1982 1983 function onAnimationFrame(rate) { 1984 var bar = Elements.bar; 1985 bar && style(bar, "width", rate * 100 + "%"); 1986 emit(EVENT_AUTOPLAY_PLAYING, rate); 1987 } 1988 1989 function onMove(index) { 1990 var Slide = Components2.Slides.getAt(index); 1991 interval.set(Slide && +getAttribute(Slide.slide, INTERVAL_DATA_ATTRIBUTE) || options.interval); 1992 } 1993 1994 return { 1995 mount: mount, 1996 destroy: interval.cancel, 1997 play: play, 1998 pause: pause, 1999 isPaused: isPaused 2000 }; 2001 } 2002 2003 function Cover(Splide2, Components2, options) { 2004 var _EventInterface7 = EventInterface(Splide2), 2005 on = _EventInterface7.on; 2006 2007 function mount() { 2008 if (options.cover) { 2009 on(EVENT_LAZYLOAD_LOADED, apply(toggle, true)); 2010 on([EVENT_MOUNTED, EVENT_UPDATED, EVENT_REFRESH], apply(cover, true)); 2011 } 2012 } 2013 2014 function cover(cover2) { 2015 Components2.Slides.forEach(function (Slide) { 2016 var img = child(Slide.container || Slide.slide, "img"); 2017 2018 if (img && img.src) { 2019 toggle(cover2, img, Slide); 2020 } 2021 }); 2022 } 2023 2024 function toggle(cover2, img, Slide) { 2025 Slide.style("background", cover2 ? "center/cover no-repeat url(\"" + img.src + "\")" : "", true); 2026 display(img, cover2 ? "none" : ""); 2027 } 2028 2029 return { 2030 mount: mount, 2031 destroy: apply(cover, false) 2032 }; 2033 } 2034 2035 var BOUNCE_DIFF_THRESHOLD = 10; 2036 var BOUNCE_DURATION = 600; 2037 var FRICTION_FACTOR = 0.6; 2038 var BASE_VELOCITY = 1.5; 2039 var MIN_DURATION = 800; 2040 2041 function Scroll(Splide2, Components2, options) { 2042 var _EventInterface8 = EventInterface(Splide2), 2043 on = _EventInterface8.on, 2044 emit = _EventInterface8.emit; 2045 2046 var set = Splide2.state.set; 2047 var Move = Components2.Move; 2048 var getPosition = Move.getPosition, 2049 getLimit = Move.getLimit, 2050 exceededLimit = Move.exceededLimit, 2051 translate = Move.translate; 2052 var isSlide = Splide2.is(SLIDE); 2053 var interval; 2054 var callback; 2055 var friction = 1; 2056 2057 function mount() { 2058 on(EVENT_MOVE, clear); 2059 on([EVENT_UPDATED, EVENT_REFRESH], cancel); 2060 } 2061 2062 function scroll(destination, duration, snap, onScrolled, noConstrain) { 2063 var from = getPosition(); 2064 clear(); 2065 2066 if (snap && (!isSlide || !exceededLimit())) { 2067 var size = Components2.Layout.sliderSize(); 2068 var offset = sign(destination) * size * floor(abs(destination) / size) || 0; 2069 destination = Move.toPosition(Components2.Controller.toDest(destination % size)) + offset; 2070 } 2071 2072 var noDistance = approximatelyEqual(from, destination, 1); 2073 friction = 1; 2074 duration = noDistance ? 0 : duration || max(abs(destination - from) / BASE_VELOCITY, MIN_DURATION); 2075 callback = onScrolled; 2076 interval = RequestInterval(duration, onEnd, apply(update, from, destination, noConstrain), 1); 2077 set(SCROLLING); 2078 emit(EVENT_SCROLL); 2079 interval.start(); 2080 } 2081 2082 function onEnd() { 2083 set(IDLE); 2084 callback && callback(); 2085 emit(EVENT_SCROLLED); 2086 } 2087 2088 function update(from, to, noConstrain, rate) { 2089 var position = getPosition(); 2090 var target = from + (to - from) * easing(rate); 2091 var diff = (target - position) * friction; 2092 translate(position + diff); 2093 2094 if (isSlide && !noConstrain && exceededLimit()) { 2095 friction *= FRICTION_FACTOR; 2096 2097 if (abs(diff) < BOUNCE_DIFF_THRESHOLD) { 2098 scroll(getLimit(exceededLimit(true)), BOUNCE_DURATION, false, callback, true); 2099 } 2100 } 2101 } 2102 2103 function clear() { 2104 if (interval) { 2105 interval.cancel(); 2106 } 2107 } 2108 2109 function cancel() { 2110 if (interval && !interval.isPaused()) { 2111 clear(); 2112 onEnd(); 2113 } 2114 } 2115 2116 function easing(t) { 2117 var easingFunc = options.easingFunc; 2118 return easingFunc ? easingFunc(t) : 1 - Math.pow(1 - t, 4); 2119 } 2120 2121 return { 2122 mount: mount, 2123 destroy: clear, 2124 scroll: scroll, 2125 cancel: cancel 2126 }; 2127 } 2128 2129 var SCROLL_LISTENER_OPTIONS = { 2130 passive: false, 2131 capture: true 2132 }; 2133 2134 function Drag(Splide2, Components2, options) { 2135 var _EventInterface9 = EventInterface(Splide2), 2136 on = _EventInterface9.on, 2137 emit = _EventInterface9.emit, 2138 bind = _EventInterface9.bind, 2139 unbind = _EventInterface9.unbind; 2140 2141 var state = Splide2.state; 2142 var Move = Components2.Move, 2143 Scroll = Components2.Scroll, 2144 Controller = Components2.Controller, 2145 track = Components2.Elements.track, 2146 reduce = Components2.Media.reduce; 2147 var _Components2$Directio2 = Components2.Direction, 2148 resolve = _Components2$Directio2.resolve, 2149 orient = _Components2$Directio2.orient; 2150 var getPosition = Move.getPosition, 2151 exceededLimit = Move.exceededLimit; 2152 var basePosition; 2153 var baseEvent; 2154 var prevBaseEvent; 2155 var isFree; 2156 var dragging; 2157 var exceeded = false; 2158 var clickPrevented; 2159 var disabled; 2160 var target; 2161 2162 function mount() { 2163 bind(track, POINTER_MOVE_EVENTS, noop, SCROLL_LISTENER_OPTIONS); 2164 bind(track, POINTER_UP_EVENTS, noop, SCROLL_LISTENER_OPTIONS); 2165 bind(track, POINTER_DOWN_EVENTS, onPointerDown, SCROLL_LISTENER_OPTIONS); 2166 bind(track, "click", onClick, { 2167 capture: true 2168 }); 2169 bind(track, "dragstart", prevent); 2170 on([EVENT_MOUNTED, EVENT_UPDATED], init); 2171 } 2172 2173 function init() { 2174 var drag = options.drag; 2175 disable(!drag); 2176 isFree = drag === "free"; 2177 } 2178 2179 function onPointerDown(e) { 2180 clickPrevented = false; 2181 2182 if (!disabled) { 2183 var isTouch = isTouchEvent(e); 2184 2185 if (isDraggable(e.target) && (isTouch || !e.button)) { 2186 if (!Controller.isBusy()) { 2187 target = isTouch ? track : window; 2188 dragging = state.is([MOVING, SCROLLING]); 2189 prevBaseEvent = null; 2190 bind(target, POINTER_MOVE_EVENTS, onPointerMove, SCROLL_LISTENER_OPTIONS); 2191 bind(target, POINTER_UP_EVENTS, onPointerUp, SCROLL_LISTENER_OPTIONS); 2192 Move.cancel(); 2193 Scroll.cancel(); 2194 save(e); 2195 } else { 2196 prevent(e, true); 2197 } 2198 } 2199 } 2200 } 2201 2202 function onPointerMove(e) { 2203 if (!state.is(DRAGGING)) { 2204 state.set(DRAGGING); 2205 emit(EVENT_DRAG); 2206 } 2207 2208 if (e.cancelable) { 2209 if (dragging) { 2210 Move.translate(basePosition + constrain(diffCoord(e))); 2211 var expired = diffTime(e) > LOG_INTERVAL; 2212 var hasExceeded = exceeded !== (exceeded = exceededLimit()); 2213 2214 if (expired || hasExceeded) { 2215 save(e); 2216 } 2217 2218 clickPrevented = true; 2219 emit(EVENT_DRAGGING); 2220 prevent(e); 2221 } else if (isSliderDirection(e)) { 2222 dragging = shouldStart(e); 2223 prevent(e); 2224 } 2225 } 2226 } 2227 2228 function onPointerUp(e) { 2229 if (state.is(DRAGGING)) { 2230 state.set(IDLE); 2231 emit(EVENT_DRAGGED); 2232 } 2233 2234 if (dragging) { 2235 move(e); 2236 prevent(e); 2237 } 2238 2239 unbind(target, POINTER_MOVE_EVENTS, onPointerMove); 2240 unbind(target, POINTER_UP_EVENTS, onPointerUp); 2241 dragging = false; 2242 } 2243 2244 function onClick(e) { 2245 if (!disabled && clickPrevented) { 2246 prevent(e, true); 2247 } 2248 } 2249 2250 function save(e) { 2251 prevBaseEvent = baseEvent; 2252 baseEvent = e; 2253 basePosition = getPosition(); 2254 } 2255 2256 function move(e) { 2257 var velocity = computeVelocity(e); 2258 var destination = computeDestination(velocity); 2259 var rewind = options.rewind && options.rewindByDrag; 2260 reduce(false); 2261 2262 if (isFree) { 2263 Controller.scroll(destination, 0, options.snap); 2264 } else if (Splide2.is(FADE)) { 2265 Controller.go(orient(sign(velocity)) < 0 ? rewind ? "<" : "-" : rewind ? ">" : "+"); 2266 } else if (Splide2.is(SLIDE) && exceeded && rewind) { 2267 Controller.go(exceededLimit(true) ? ">" : "<"); 2268 } else { 2269 Controller.go(Controller.toDest(destination), true); 2270 } 2271 2272 reduce(true); 2273 } 2274 2275 function shouldStart(e) { 2276 var thresholds = options.dragMinThreshold; 2277 var isObj = isObject(thresholds); 2278 var mouse = isObj && thresholds.mouse || 0; 2279 var touch = (isObj ? thresholds.touch : +thresholds) || 10; 2280 return abs(diffCoord(e)) > (isTouchEvent(e) ? touch : mouse); 2281 } 2282 2283 function isSliderDirection(e) { 2284 return abs(diffCoord(e)) > abs(diffCoord(e, true)); 2285 } 2286 2287 function computeVelocity(e) { 2288 if (Splide2.is(LOOP) || !exceeded) { 2289 var time = diffTime(e); 2290 2291 if (time && time < LOG_INTERVAL) { 2292 return diffCoord(e) / time; 2293 } 2294 } 2295 2296 return 0; 2297 } 2298 2299 function computeDestination(velocity) { 2300 return getPosition() + sign(velocity) * min(abs(velocity) * (options.flickPower || 600), isFree ? Infinity : Components2.Layout.listSize() * (options.flickMaxPages || 1)); 2301 } 2302 2303 function diffCoord(e, orthogonal) { 2304 return coordOf(e, orthogonal) - coordOf(getBaseEvent(e), orthogonal); 2305 } 2306 2307 function diffTime(e) { 2308 return timeOf(e) - timeOf(getBaseEvent(e)); 2309 } 2310 2311 function getBaseEvent(e) { 2312 return baseEvent === e && prevBaseEvent || baseEvent; 2313 } 2314 2315 function coordOf(e, orthogonal) { 2316 return (isTouchEvent(e) ? e.changedTouches[0] : e)["page" + resolve(orthogonal ? "Y" : "X")]; 2317 } 2318 2319 function constrain(diff) { 2320 return diff / (exceeded && Splide2.is(SLIDE) ? FRICTION : 1); 2321 } 2322 2323 function isDraggable(target2) { 2324 var noDrag = options.noDrag; 2325 return !matches(target2, "." + CLASS_PAGINATION_PAGE + ", ." + CLASS_ARROW) && (!noDrag || !matches(target2, noDrag)); 2326 } 2327 2328 function isTouchEvent(e) { 2329 return typeof TouchEvent !== "undefined" && e instanceof TouchEvent; 2330 } 2331 2332 function isDragging() { 2333 return dragging; 2334 } 2335 2336 function disable(value) { 2337 disabled = value; 2338 } 2339 2340 return { 2341 mount: mount, 2342 disable: disable, 2343 isDragging: isDragging 2344 }; 2345 } 2346 2347 var NORMALIZATION_MAP = { 2348 Spacebar: " ", 2349 Right: ARROW_RIGHT, 2350 Left: ARROW_LEFT, 2351 Up: ARROW_UP, 2352 Down: ARROW_DOWN 2353 }; 2354 2355 function normalizeKey(key) { 2356 key = isString(key) ? key : key.key; 2357 return NORMALIZATION_MAP[key] || key; 2358 } 2359 2360 var KEYBOARD_EVENT = "keydown"; 2361 2362 function Keyboard(Splide2, Components2, options) { 2363 var _EventInterface10 = EventInterface(Splide2), 2364 on = _EventInterface10.on, 2365 bind = _EventInterface10.bind, 2366 unbind = _EventInterface10.unbind; 2367 2368 var root = Splide2.root; 2369 var resolve = Components2.Direction.resolve; 2370 var target; 2371 var disabled; 2372 2373 function mount() { 2374 init(); 2375 on(EVENT_UPDATED, destroy); 2376 on(EVENT_UPDATED, init); 2377 on(EVENT_MOVE, onMove); 2378 } 2379 2380 function init() { 2381 var keyboard = options.keyboard; 2382 2383 if (keyboard) { 2384 target = keyboard === "global" ? window : root; 2385 bind(target, KEYBOARD_EVENT, onKeydown); 2386 } 2387 } 2388 2389 function destroy() { 2390 unbind(target, KEYBOARD_EVENT); 2391 } 2392 2393 function disable(value) { 2394 disabled = value; 2395 } 2396 2397 function onMove() { 2398 var _disabled = disabled; 2399 disabled = true; 2400 nextTick(function () { 2401 disabled = _disabled; 2402 }); 2403 } 2404 2405 function onKeydown(e) { 2406 if (!disabled) { 2407 var key = normalizeKey(e); 2408 2409 if (key === resolve(ARROW_LEFT)) { 2410 Splide2.go("<"); 2411 } else if (key === resolve(ARROW_RIGHT)) { 2412 Splide2.go(">"); 2413 } 2414 } 2415 } 2416 2417 return { 2418 mount: mount, 2419 destroy: destroy, 2420 disable: disable 2421 }; 2422 } 2423 2424 var SRC_DATA_ATTRIBUTE = DATA_ATTRIBUTE + "-lazy"; 2425 var SRCSET_DATA_ATTRIBUTE = SRC_DATA_ATTRIBUTE + "-srcset"; 2426 var IMAGE_SELECTOR = "[" + SRC_DATA_ATTRIBUTE + "], [" + SRCSET_DATA_ATTRIBUTE + "]"; 2427 2428 function LazyLoad(Splide2, Components2, options) { 2429 var _EventInterface11 = EventInterface(Splide2), 2430 on = _EventInterface11.on, 2431 off = _EventInterface11.off, 2432 bind = _EventInterface11.bind, 2433 emit = _EventInterface11.emit; 2434 2435 var isSequential = options.lazyLoad === "sequential"; 2436 var events = [EVENT_MOVED, EVENT_SCROLLED]; 2437 var entries = []; 2438 2439 function mount() { 2440 if (options.lazyLoad) { 2441 init(); 2442 on(EVENT_REFRESH, init); 2443 } 2444 } 2445 2446 function init() { 2447 empty(entries); 2448 register(); 2449 2450 if (isSequential) { 2451 loadNext(); 2452 } else { 2453 off(events); 2454 on(events, check); 2455 check(); 2456 } 2457 } 2458 2459 function register() { 2460 Components2.Slides.forEach(function (Slide) { 2461 queryAll(Slide.slide, IMAGE_SELECTOR).forEach(function (img) { 2462 var src = getAttribute(img, SRC_DATA_ATTRIBUTE); 2463 var srcset = getAttribute(img, SRCSET_DATA_ATTRIBUTE); 2464 2465 if (src !== img.src || srcset !== img.srcset) { 2466 var className = options.classes.spinner; 2467 var parent = img.parentElement; 2468 var spinner = child(parent, "." + className) || create("span", className, parent); 2469 entries.push([img, Slide, spinner]); 2470 img.src || display(img, "none"); 2471 } 2472 }); 2473 }); 2474 } 2475 2476 function check() { 2477 entries = entries.filter(function (data) { 2478 var distance = options.perPage * ((options.preloadPages || 1) + 1) - 1; 2479 return data[1].isWithin(Splide2.index, distance) ? load(data) : true; 2480 }); 2481 entries.length || off(events); 2482 } 2483 2484 function load(data) { 2485 var img = data[0]; 2486 addClass(data[1].slide, CLASS_LOADING); 2487 bind(img, "load error", apply(onLoad, data)); 2488 setAttribute(img, "src", getAttribute(img, SRC_DATA_ATTRIBUTE)); 2489 setAttribute(img, "srcset", getAttribute(img, SRCSET_DATA_ATTRIBUTE)); 2490 removeAttribute(img, SRC_DATA_ATTRIBUTE); 2491 removeAttribute(img, SRCSET_DATA_ATTRIBUTE); 2492 } 2493 2494 function onLoad(data, e) { 2495 var img = data[0], 2496 Slide = data[1]; 2497 removeClass(Slide.slide, CLASS_LOADING); 2498 2499 if (e.type !== "error") { 2500 remove(data[2]); 2501 display(img, ""); 2502 emit(EVENT_LAZYLOAD_LOADED, img, Slide); 2503 emit(EVENT_RESIZE); 2504 } 2505 2506 isSequential && loadNext(); 2507 } 2508 2509 function loadNext() { 2510 entries.length && load(entries.shift()); 2511 } 2512 2513 return { 2514 mount: mount, 2515 destroy: apply(empty, entries), 2516 check: check 2517 }; 2518 } 2519 2520 function Pagination(Splide2, Components2, options) { 2521 var event = EventInterface(Splide2); 2522 var on = event.on, 2523 emit = event.emit, 2524 bind = event.bind; 2525 var Slides = Components2.Slides, 2526 Elements = Components2.Elements, 2527 Controller = Components2.Controller; 2528 var hasFocus = Controller.hasFocus, 2529 getIndex = Controller.getIndex, 2530 go = Controller.go; 2531 var resolve = Components2.Direction.resolve; 2532 var placeholder = Elements.pagination; 2533 var items = []; 2534 var list; 2535 var paginationClasses; 2536 2537 function mount() { 2538 destroy(); 2539 on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], mount); 2540 var enabled = options.pagination; 2541 placeholder && display(placeholder, enabled ? "" : "none"); 2542 2543 if (enabled) { 2544 on([EVENT_MOVE, EVENT_SCROLL, EVENT_SCROLLED], update); 2545 createPagination(); 2546 update(); 2547 emit(EVENT_PAGINATION_MOUNTED, { 2548 list: list, 2549 items: items 2550 }, getAt(Splide2.index)); 2551 } 2552 } 2553 2554 function destroy() { 2555 if (list) { 2556 remove(placeholder ? slice(list.children) : list); 2557 removeClass(list, paginationClasses); 2558 empty(items); 2559 list = null; 2560 } 2561 2562 event.destroy(); 2563 } 2564 2565 function createPagination() { 2566 var length = Splide2.length; 2567 var classes = options.classes, 2568 i18n = options.i18n, 2569 perPage = options.perPage; 2570 var max = hasFocus() ? Controller.getEnd() + 1 : ceil(length / perPage); 2571 list = placeholder || create("ul", classes.pagination, Elements.track.parentElement); 2572 addClass(list, paginationClasses = CLASS_PAGINATION + "--" + getDirection()); 2573 setAttribute(list, ROLE, "tablist"); 2574 setAttribute(list, ARIA_LABEL, i18n.select); 2575 setAttribute(list, ARIA_ORIENTATION, getDirection() === TTB ? "vertical" : ""); 2576 2577 for (var i = 0; i < max; i++) { 2578 var li = create("li", null, list); 2579 var button = create("button", { 2580 class: classes.page, 2581 type: "button" 2582 }, li); 2583 var controls = Slides.getIn(i).map(function (Slide) { 2584 return Slide.slide.id; 2585 }); 2586 var text = !hasFocus() && perPage > 1 ? i18n.pageX : i18n.slideX; 2587 bind(button, "click", apply(onClick, i)); 2588 2589 if (options.paginationKeyboard) { 2590 bind(button, "keydown", apply(onKeydown, i)); 2591 } 2592 2593 setAttribute(li, ROLE, "presentation"); 2594 setAttribute(button, ROLE, "tab"); 2595 setAttribute(button, ARIA_CONTROLS, controls.join(" ")); 2596 setAttribute(button, ARIA_LABEL, format(text, i + 1)); 2597 setAttribute(button, TAB_INDEX, -1); 2598 items.push({ 2599 li: li, 2600 button: button, 2601 page: i 2602 }); 2603 } 2604 } 2605 2606 function onClick(page) { 2607 go(">" + page, true); 2608 } 2609 2610 function onKeydown(page, e) { 2611 var length = items.length; 2612 var key = normalizeKey(e); 2613 var dir = getDirection(); 2614 var nextPage = -1; 2615 2616 if (key === resolve(ARROW_RIGHT, false, dir)) { 2617 nextPage = ++page % length; 2618 } else if (key === resolve(ARROW_LEFT, false, dir)) { 2619 nextPage = (--page + length) % length; 2620 } else if (key === "Home") { 2621 nextPage = 0; 2622 } else if (key === "End") { 2623 nextPage = length - 1; 2624 } 2625 2626 var item = items[nextPage]; 2627 2628 if (item) { 2629 focus(item.button); 2630 go(">" + nextPage); 2631 prevent(e, true); 2632 } 2633 } 2634 2635 function getDirection() { 2636 return options.paginationDirection || options.direction; 2637 } 2638 2639 function getAt(index) { 2640 return items[Controller.toPage(index)]; 2641 } 2642 2643 function update() { 2644 var prev = getAt(getIndex(true)); 2645 var curr = getAt(getIndex()); 2646 2647 if (prev) { 2648 var button = prev.button; 2649 removeClass(button, CLASS_ACTIVE); 2650 removeAttribute(button, ARIA_SELECTED); 2651 setAttribute(button, TAB_INDEX, -1); 2652 } 2653 2654 if (curr) { 2655 var _button = curr.button; 2656 addClass(_button, CLASS_ACTIVE); 2657 setAttribute(_button, ARIA_SELECTED, true); 2658 setAttribute(_button, TAB_INDEX, ""); 2659 } 2660 2661 emit(EVENT_PAGINATION_UPDATED, { 2662 list: list, 2663 items: items 2664 }, prev, curr); 2665 } 2666 2667 return { 2668 items: items, 2669 mount: mount, 2670 destroy: destroy, 2671 getAt: getAt, 2672 update: update 2673 }; 2674 } 2675 2676 var TRIGGER_KEYS = [" ", "Enter"]; 2677 2678 function Sync(Splide2, Components2, options) { 2679 var isNavigation = options.isNavigation, 2680 slideFocus = options.slideFocus; 2681 var events = []; 2682 2683 function mount() { 2684 Splide2.splides.forEach(function (target) { 2685 if (!target.isParent) { 2686 sync(Splide2, target.splide); 2687 sync(target.splide, Splide2); 2688 } 2689 }); 2690 2691 if (isNavigation) { 2692 navigate(); 2693 } 2694 } 2695 2696 function destroy() { 2697 events.forEach(function (event) { 2698 event.destroy(); 2699 }); 2700 empty(events); 2701 } 2702 2703 function remount() { 2704 destroy(); 2705 mount(); 2706 } 2707 2708 function sync(splide, target) { 2709 var event = EventInterface(splide); 2710 event.on(EVENT_MOVE, function (index, prev, dest) { 2711 target.go(target.is(LOOP) ? dest : index); 2712 }); 2713 events.push(event); 2714 } 2715 2716 function navigate() { 2717 var event = EventInterface(Splide2); 2718 var on = event.on; 2719 on(EVENT_CLICK, onClick); 2720 on(EVENT_SLIDE_KEYDOWN, onKeydown); 2721 on([EVENT_MOUNTED, EVENT_UPDATED], update); 2722 events.push(event); 2723 event.emit(EVENT_NAVIGATION_MOUNTED, Splide2.splides); 2724 } 2725 2726 function update() { 2727 setAttribute(Components2.Elements.list, ARIA_ORIENTATION, options.direction === TTB ? "vertical" : ""); 2728 } 2729 2730 function onClick(Slide) { 2731 Splide2.go(Slide.index); 2732 } 2733 2734 function onKeydown(Slide, e) { 2735 if (includes(TRIGGER_KEYS, normalizeKey(e))) { 2736 onClick(Slide); 2737 prevent(e); 2738 } 2739 } 2740 2741 return { 2742 setup: apply(Components2.Media.set, { 2743 slideFocus: isUndefined(slideFocus) ? isNavigation : slideFocus 2744 }, true), 2745 mount: mount, 2746 destroy: destroy, 2747 remount: remount 2748 }; 2749 } 2750 2751 function Wheel(Splide2, Components2, options) { 2752 var _EventInterface12 = EventInterface(Splide2), 2753 bind = _EventInterface12.bind; 2754 2755 var lastTime = 0; 2756 2757 function mount() { 2758 if (options.wheel) { 2759 bind(Components2.Elements.track, "wheel", onWheel, SCROLL_LISTENER_OPTIONS); 2760 } 2761 } 2762 2763 function onWheel(e) { 2764 if (e.cancelable) { 2765 var deltaY = e.deltaY; 2766 var backwards = deltaY < 0; 2767 var timeStamp = timeOf(e); 2768 2769 var _min = options.wheelMinThreshold || 0; 2770 2771 var sleep = options.wheelSleep || 0; 2772 2773 if (abs(deltaY) > _min && timeStamp - lastTime > sleep) { 2774 Splide2.go(backwards ? "<" : ">"); 2775 lastTime = timeStamp; 2776 } 2777 2778 shouldPrevent(backwards) && prevent(e); 2779 } 2780 } 2781 2782 function shouldPrevent(backwards) { 2783 return !options.releaseWheel || Splide2.state.is(MOVING) || Components2.Controller.getAdjacent(backwards) !== -1; 2784 } 2785 2786 return { 2787 mount: mount 2788 }; 2789 } 2790 2791 var SR_REMOVAL_DELAY = 90; 2792 2793 function Live(Splide2, Components2, options) { 2794 var _EventInterface13 = EventInterface(Splide2), 2795 on = _EventInterface13.on; 2796 2797 var track = Components2.Elements.track; 2798 var enabled = options.live && !options.isNavigation; 2799 var sr = create("span", CLASS_SR); 2800 var interval = RequestInterval(SR_REMOVAL_DELAY, apply(toggle, false)); 2801 2802 function mount() { 2803 if (enabled) { 2804 disable(!Components2.Autoplay.isPaused()); 2805 setAttribute(track, ARIA_ATOMIC, true); 2806 sr.textContent = "\u2026"; 2807 on(EVENT_AUTOPLAY_PLAY, apply(disable, true)); 2808 on(EVENT_AUTOPLAY_PAUSE, apply(disable, false)); 2809 on([EVENT_MOVED, EVENT_SCROLLED], apply(toggle, true)); 2810 } 2811 } 2812 2813 function toggle(active) { 2814 setAttribute(track, ARIA_BUSY, active); 2815 2816 if (active) { 2817 append(track, sr); 2818 interval.start(); 2819 } else { 2820 remove(sr); 2821 interval.cancel(); 2822 } 2823 } 2824 2825 function destroy() { 2826 removeAttribute(track, [ARIA_LIVE, ARIA_ATOMIC, ARIA_BUSY]); 2827 remove(sr); 2828 } 2829 2830 function disable(disabled) { 2831 if (enabled) { 2832 setAttribute(track, ARIA_LIVE, disabled ? "off" : "polite"); 2833 } 2834 } 2835 2836 return { 2837 mount: mount, 2838 disable: disable, 2839 destroy: destroy 2840 }; 2841 } 2842 2843 var ComponentConstructors = /*#__PURE__*/Object.freeze({ 2844 __proto__: null, 2845 Media: Media, 2846 Direction: Direction, 2847 Elements: Elements, 2848 Slides: Slides, 2849 Layout: Layout, 2850 Clones: Clones, 2851 Move: Move, 2852 Controller: Controller, 2853 Arrows: Arrows, 2854 Autoplay: Autoplay, 2855 Cover: Cover, 2856 Scroll: Scroll, 2857 Drag: Drag, 2858 Keyboard: Keyboard, 2859 LazyLoad: LazyLoad, 2860 Pagination: Pagination, 2861 Sync: Sync, 2862 Wheel: Wheel, 2863 Live: Live 2864 }); 2865 var I18N = { 2866 prev: "Previous slide", 2867 next: "Next slide", 2868 first: "Go to first slide", 2869 last: "Go to last slide", 2870 slideX: "Go to slide %s", 2871 pageX: "Go to page %s", 2872 play: "Start autoplay", 2873 pause: "Pause autoplay", 2874 carousel: "carousel", 2875 slide: "slide", 2876 select: "Select a slide to show", 2877 slideLabel: "%s of %s" 2878 }; 2879 var DEFAULTS = { 2880 type: "slide", 2881 role: "region", 2882 speed: 400, 2883 perPage: 1, 2884 cloneStatus: true, 2885 arrows: true, 2886 pagination: true, 2887 paginationKeyboard: true, 2888 interval: 5e3, 2889 pauseOnHover: true, 2890 pauseOnFocus: true, 2891 resetProgress: true, 2892 easing: "cubic-bezier(0.25, 1, 0.5, 1)", 2893 drag: true, 2894 direction: "ltr", 2895 trimSpace: true, 2896 focusableNodes: "a, button, textarea, input, select, iframe", 2897 live: true, 2898 classes: CLASSES, 2899 i18n: I18N, 2900 reducedMotion: { 2901 speed: 0, 2902 rewindSpeed: 0, 2903 autoplay: "pause" 2904 } 2905 }; 2906 2907 function Fade(Splide2, Components2, options) { 2908 var Slides = Components2.Slides; 2909 2910 function mount() { 2911 EventInterface(Splide2).on([EVENT_MOUNTED, EVENT_REFRESH], init); 2912 } 2913 2914 function init() { 2915 Slides.forEach(function (Slide) { 2916 Slide.style("transform", "translateX(-" + 100 * Slide.index + "%)"); 2917 }); 2918 } 2919 2920 function start(index, done) { 2921 Slides.style("transition", "opacity " + options.speed + "ms " + options.easing); 2922 nextTick(done); 2923 } 2924 2925 return { 2926 mount: mount, 2927 start: start, 2928 cancel: noop 2929 }; 2930 } 2931 2932 function Slide(Splide2, Components2, options) { 2933 var Move = Components2.Move, 2934 Controller = Components2.Controller, 2935 Scroll = Components2.Scroll; 2936 var list = Components2.Elements.list; 2937 var transition = apply(style, list, "transition"); 2938 var endCallback; 2939 2940 function mount() { 2941 EventInterface(Splide2).bind(list, "transitionend", function (e) { 2942 if (e.target === list && endCallback) { 2943 cancel(); 2944 endCallback(); 2945 } 2946 }); 2947 } 2948 2949 function start(index, done) { 2950 var destination = Move.toPosition(index, true); 2951 var position = Move.getPosition(); 2952 var speed = getSpeed(index); 2953 2954 if (abs(destination - position) >= 1 && speed >= 1) { 2955 if (options.useScroll) { 2956 Scroll.scroll(destination, speed, false, done); 2957 } else { 2958 transition("transform " + speed + "ms " + options.easing); 2959 Move.translate(destination, true); 2960 endCallback = done; 2961 } 2962 } else { 2963 Move.jump(index); 2964 done(); 2965 } 2966 } 2967 2968 function cancel() { 2969 transition(""); 2970 Scroll.cancel(); 2971 } 2972 2973 function getSpeed(index) { 2974 var rewindSpeed = options.rewindSpeed; 2975 2976 if (Splide2.is(SLIDE) && rewindSpeed) { 2977 var prev = Controller.getIndex(true); 2978 var end = Controller.getEnd(); 2979 2980 if (prev === 0 && index >= end || prev >= end && index === 0) { 2981 return rewindSpeed; 2982 } 2983 } 2984 2985 return options.speed; 2986 } 2987 2988 return { 2989 mount: mount, 2990 start: start, 2991 cancel: cancel 2992 }; 2993 } 2994 2995 var _Splide = /*#__PURE__*/function () { 2996 function _Splide(target, options) { 2997 this.event = EventInterface(); 2998 this.Components = {}; 2999 this.state = State(CREATED); 3000 this.splides = []; 3001 this._o = {}; 3002 this._E = {}; 3003 var root = isString(target) ? query(document, target) : target; 3004 assert(root, root + " is invalid."); 3005 this.root = root; 3006 options = merge({ 3007 label: getAttribute(root, ARIA_LABEL) || "", 3008 labelledby: getAttribute(root, ARIA_LABELLEDBY) || "" 3009 }, DEFAULTS, _Splide.defaults, options || {}); 3010 3011 try { 3012 merge(options, JSON.parse(getAttribute(root, DATA_ATTRIBUTE))); 3013 } catch (e) { 3014 assert(false, "Invalid JSON"); 3015 } 3016 3017 this._o = Object.create(merge({}, options)); 3018 } 3019 3020 var _proto = _Splide.prototype; 3021 3022 _proto.mount = function mount(Extensions, Transition) { 3023 var _this = this; 3024 3025 var state = this.state, 3026 Components2 = this.Components; 3027 assert(state.is([CREATED, DESTROYED]), "Already mounted!"); 3028 state.set(CREATED); 3029 this._C = Components2; 3030 this._T = Transition || this._T || (this.is(FADE) ? Fade : Slide); 3031 this._E = Extensions || this._E; 3032 var Constructors = assign({}, ComponentConstructors, this._E, { 3033 Transition: this._T 3034 }); 3035 forOwn(Constructors, function (Component, key) { 3036 var component = Component(_this, Components2, _this._o); 3037 Components2[key] = component; 3038 component.setup && component.setup(); 3039 }); 3040 forOwn(Components2, function (component) { 3041 component.mount && component.mount(); 3042 });
3043 this.emit(EVENT_MOUNTED); 3044 addClass(this.root, CLASS_INITIALIZED); 3045 state.set(IDLE); 3046 this.emit(EVENT_READY); 3047 return this; 3048 }; 3049 3050 _proto.sync = function sync(splide) { 3051 this.splides.push({ 3052 splide: splide 3053 }); 3054 splide.splides.push({ 3055 splide: this, 3056 isParent: true 3057 }); 3058 3059 if (this.state.is(IDLE)) { 3060 this._C.Sync.remount(); 3061 3062 splide.Components.Sync.remount(); 3063 } 3064 3065 return this; 3066 }; 3067 3068 _proto.go = function go(control) { 3069 this._C.Controller.go(control); 3070 3071 return this; 3072 }; 3073 3074 _proto.on = function on(events, callback) { 3075 this.event.on(events, callback); 3076 return this; 3077 }; 3078 3079 _proto.off = function off(events) { 3080 this.event.off(events); 3081 return this; 3082 }; 3083 3084 _proto.emit = function emit(event) { 3085 var _this$event; 3086 3087 (_this$event = this.event).emit.apply(_this$event, [event].concat(slice(arguments, 1))); 3088 3089 return this; 3090 }; 3091 3092 _proto.add = function add(slides, index) { 3093 this._C.Slides.add(slides, index); 3094 3095 return this; 3096 }; 3097 3098 _proto.remove = function remove(matcher) { 3099 this._C.Slides.remove(matcher); 3100 3101 return this; 3102 }; 3103 3104 _proto.is = function is(type) { 3105 return this._o.type === type; 3106 }; 3107 3108 _proto.refresh = function refresh() { 3109 this.emit(EVENT_REFRESH); 3110 return this; 3111 }; 3112 3113 _proto.destroy = function destroy(completely) { 3114 if (completely === void 0) { 3115 completely = true; 3116 } 3117 3118 var event = this.event, 3119 state = this.state; 3120 3121 if (state.is(CREATED)) { 3122 EventInterface(this).on(EVENT_READY, this.destroy.bind(this, completely)); 3123 } else { 3124 forOwn(this._C, function (component) { 3125 component.destroy && component.destroy(completely); 3126 }, true); 3127 event.emit(EVENT_DESTROY); 3128 event.destroy(); 3129 completely && empty(this.splides); 3130 state.set(DESTROYED); 3131 } 3132 3133 return this; 3134 }; 3135 3136 _createClass(_Splide, [{ 3137 key: "options", 3138 get: function get() { 3139 return this._o; 3140 }, 3141 set: function set(options) { 3142 this._C.Media.set(options, true, true); 3143 } 3144 }, { 3145 key: "length", 3146 get: function get() { 3147 return this._C.Slides.getLength(true); 3148 } 3149 }, { 3150 key: "index", 3151 get: function get() { 3152 return this._C.Controller.getIndex(); 3153 } 3154 }]); 3155 3156 return _Splide; 3157 }(); 3158 3159 var Splide = _Splide; 3160 Splide.defaults = {}; 3161 Splide.STATES = STATES; 3162 return Splide; 3163}); 3164 3165// 1. Basic helper functions first 3166function getColumnRatio(element) { 3167 const colClasses = Array.from(element.classList) 3168 .filter(cls => cls.match(/^col-\w+-\d+$/)); 3169 3170 if (!colClasses.length) return 1; 3171 3172 const smallestCol = Math.min(...colClasses.map(cls => { 3173 const match = cls.match(/\d+$/); 3174 return match ? parseInt(match[0]) : 12; 3175 })); 3176 3177 return smallestCol / 12; 3178} 3179 3180// 2. Context detection 3181function getCurrentColumnContext(element) { 3182 let currentEl = element; 3183 let context = { 3184 hasColumnParent: false, 3185 parentColumn: null, 3186 effectiveWidth: element.offsetWidth, 3187 columnRatio: 1 3188 }; 3189 3190 while (currentEl.parentElement) { 3191 currentEl = currentEl.parentElement; 3192 if (Array.from(currentEl.classList).some(cls => cls.match(/^col-/))) { 3193 context.hasColumnParent = true; 3194 context.parentColumn = currentEl; 3195 context.effectiveWidth = currentEl.offsetWidth; 3196 context.columnRatio = getColumnRatio(currentEl); 3197 break; 3198 } 3199 } 3200 3201 return context; 3202} 3203 3204// 3. Original helper functions 3205function getBreakpointWidth(breakpoint) { 3206 var value = getComputedStyle(document.body).getPropertyValue( 3207 "--splide-breakpoint-" + breakpoint 3208 ); 3209 return parseInt(value); 3210} 3211 3212function getColClasses(element) { 3213 const context = getCurrentColumnContext(element); 3214 const classes = element.firstElementChild.classList; 3215 const colClasses = []; 3216 3217 for (let i = 0; i < classes.length; i++) { 3218 if (classes[i].startsWith('col-')) { 3219 colClasses.push(classes[i]); 3220 } 3221 } 3222 3223 if (context.hasColumnParent) { 3224 // console.log('Nested column detected, ratio:', context.columnRatio); 3225 } 3226 3227 return colClasses; 3228} 3229 3230// 4. Breakpoint handling
3231function getColBreakpoints(element) { 3232 var colBreakpoints = []; 3233 var colClasses = getColClasses(element); 3234 // console.log('Found column classes:', colClasses); 3235 var defaultColValue = 12; 3236 3237 var breakpointsOrder = ["xs", "sm", "md", "lg", "xl", "xxl"]; 3238 3239 for (var i = 0; i < breakpointsOrder.length; i++) { 3240 var breakpoint = breakpointsOrder[i]; 3241 var found = colClasses.find((cc) => 3242 cc.startsWith("col-" + breakpoint + "-") 3243 ); 3244 3245 if (found) { 3246 var parts = found.split("-"); 3247 var colValue = parseInt(parts[2]); 3248 colBreakpoints.push({ 3249 breakpoint: breakpoint, 3250 col: colValue || defaultColValue 3251 }); 3252 } else { 3253 var lastValue = colBreakpoints.length > 0 3254 ? colBreakpoints[colBreakpoints.length - 1].col 3255 : defaultColValue; 3256 3257 colBreakpoints.push({ 3258 breakpoint: breakpoint, 3259 col: lastValue 3260 }); 3261 } 3262 } 3263 3264 return colBreakpoints; 3265} 3266 3267function getGutterSize(element, breakpoint) { 3268 var gutterClass = Array.from(element.classList).find(function (cls) { 3269 return cls.startsWith("g-" + breakpoint); 3270 }); 3271 3272 if (gutterClass) { 3273 var gutterNum = gutterClass.split("-")[2]; 3274 var gutterValue = getComputedStyle(document.documentElement).getPropertyValue( 3275 "--splide-gutter-" + gutterNum 3276 ).trim(); 3277 3278 return gutterValue ? gutterValue : "1rem"; 3279 } 3280 3281 return "1rem"; 3282} 3283 3284// 5. Main breakpoint options function 3285function getBreakpointOptions(element) { 3286 const context = getCurrentColumnContext(element); 3287 let breakpointOptions = {}; 3288 let perPages = []; 3289 const colBreakpoints = getColBreakpoints(element); 3290 3291 // console.log('Column classes:', getColClasses(element)); 3292 3293 for (let i = 0; i < colBreakpoints.length; i++) { 3294 const colBreakpoint = colBreakpoints[i]; 3295 const breakpoint = colBreakpoint.breakpoint; 3296 const col = colBreakpoint.col; 3297 3298 // Calculate initial perPage 3299 let perPage = Math.floor(12 / col); 3300 3301 if (context.hasColumnParent) { 3302 // Keep original perPage as column classes handle the layout 3303 perPage = perPage; 3304 } 3305 3306 let breakpointWidth = getBreakpointWidth(breakpoint); 3307 if (context.hasColumnParent) { 3308 breakpointWidth = Math.floor(breakpointWidth * context.columnRatio); 3309 } 3310 3311 const gutterSize = getGutterSize(element, breakpoint); 3312 3313 breakpointOptions[breakpointWidth] = { 3314 perPage: perPage, 3315 perMove: 1, 3316 gap: gutterSize 3317 }; 3318 3319 perPages.push(perPage); 3320 } 3321 3322 console.log('Splide configuration:', { 3323 perPages, 3324 isNested: context.hasColumnParent 3325 }); 3326 3327 return { breakpointOptions, perPages }; 3328} 3329 3330function shouldInitializeSlider(element) { 3331 const totalSlides = element.children.length; 3332 const colClasses = Array.from(element.firstElementChild.classList) 3333 .filter(cls => cls.match(/^col-/)); 3334 3335 // Match your _variable_overrides_mb.scss 3336 const breakpoints = [ 3337 { name: 'xxl', width: 1680 }, 3338 { name: 'xl', width: 1360 }, 3339 { name: 'lg', width: 992 }, 3340 { name: 'md', width: 768 }, 3341 { name: 'sm', width: 576 }, 3342 { name: 'xs', width: 0 } 3343 ]; 3344 3345 const windowWidth = window.innerWidth; 3346 console.log('\nBreakpoint Analysis:'); 3347 console.log('Current window width:', windowWidth); 3348 console.log('Available column classes:', colClasses); 3349 3350 // Find active breakpoint 3351 const activeBreakpoint = breakpoints.find(bp => windowWidth >= bp.width); 3352 console.log('Active breakpoint:', activeBreakpoint?.name, `(${activeBreakpoint?.width}px)`); 3353 3354 // Find the appropriate column class for current viewport 3355 let activeColClass = null; 3356 3357 // Start from current breakpoint and work down 3358 for (let i = breakpoints.indexOf(activeBreakpoint); i < breakpoints.length; i++) { 3359 const bp = breakpoints[i]; 3360 const matchingClass = colClasses.find(cls => 3361 cls === `col-${bp.name}-${/\d+/.exec(cls)?.[0]}` || 3362 (bp.name === 'xs' && cls.match(/^col-\d+$/)) 3363 ); 3364 3365 if (matchingClass) { 3366 activeColClass = matchingClass; 3367 console.log(`Found active class: ${matchingClass} at breakpoint: ${bp.name}`); 3368 break; 3369 } 3370 console.log(`No class found for breakpoint: ${bp.name}, checking next...`); 3371 } 3372 3373 if (!activeColClass) { 3374 activeColClass = colClasses.find(cls => cls.match(/^col-\d+$/)); 3375 console.log('Fallback to base class:', activeColClass); 3376 } 3377 3378 if (!activeColClass) { 3379 console.log('No suitable column class found, defaulting to slider'); 3380 return true; 3381 } 3382 3383 const colSize = parseInt(activeColClass.match(/\d+$/)[0]); 3384 const itemsPerRow = Math.floor(12 / colSize); 3385 3386 console.log('Layout calculation:', { 3387 activeClass: activeColClass, 3388 columnSize: colSize, 3389 itemsPerRow, 3390 totalSlides, 3391 shouldInitialize: totalSlides > itemsPerRow 3392 }); 3393 3394 return totalSlides > itemsPerRow; 3395} 3396 3397// 6. Main initialization function 3398function initializeSplide() { 3399 let elms = Array.from(document.getElementsByClassName("splide")); 3400 // console.log('Found splide elements:', elms.length); 3401
3402 elms.forEach((elm, index) => { 3403 // console.log(`\nChecking slider ${index}:`, elm.id || 'unnamed'); 3404 3405 // Check if we need a slider at current breakpoint 3406 if (!shouldInitializeSlider(elm)) { 3407 elm.classList.remove("splide"); 3408 // console.log('Removing splide class - slider not needed at this breakpoint'); 3409 return; 3410 } 3411 3412 3413 // Continue with existing initialization code 3414 const context = getCurrentColumnContext(elm); 3415 // console.log("Processing element:", index, "Column context:", context.hasColumnParent); 3416 3417 let children = elm.children; 3418 let sliderElGutter = getComputedStyle(elm).getPropertyValue("--bs-gutter-x") || "1rem"; 3419 3420 // Adjust width calculations based on context 3421 let sliderElWidth = context.effectiveWidth; 3422 let childrenWidth = 0; 3423 3424 for (let j = 0; j < children.length; j++) { 3425 childrenWidth += children[j].offsetWidth + parseInt(sliderElGutter) - 1; 3426 } 3427 3428 // Adjust comparison threshold for nested contexts 3429 let widthThreshold = sliderElWidth + (context.hasColumnParent ? 10 : 20); 3430 3431 if (sliderElWidth < childrenWidth) { 3432 let { breakpointOptions, perPages } = getBreakpointOptions(elm); 3433 let maxPerPage = Math.max(...perPages); 3434 3435 let options = { 3436 type: "loop", 3437 perPage: maxPerPage, 3438 perMove: 1, 3439 gap: sliderElGutter, 3440 breakpoints: breakpointOptions, 3441 }; 3442 3443 // Check for splide-no-pagination and adjust the options 3444 if (elm.classList.contains("splide-no-pagination")) { 3445 options.pagination = false; 3446 } 3447 3448 // Check for splide-no-arrows and adjust the options 3449 if (elm.classList.contains("splide-no-arrows")) { 3450 options.arrows = false; 3451 } 3452 3453 // Add nested slider specific options 3454 if (context.hasColumnParent) { 3455 options.trimSpace = 'move';
3455 // Helps with nested slider space management 3456 options.updateOnMove = true; // Ensures smooth updates in nested context 3457 options.throttle = 100; // Add throttling for nested sliders 3458 3459 // Add class for potential specific styling 3460 elm.classList.add('splide-nested'); 3461 } 3462 3463 // console.log("Splide options:", options); 3464 3465 // Process children and setup structure 3466 let colClasses = getColClasses(elm); 3467 for (let j = 0; j < children.length; j++) { 3468 let child = children[j]; 3469 for (let k = 0; k < colClasses.length; k++) { 3470 child.classList.remove(colClasses[k]); 3471 child.classList.add("splide__slide"); 3472 } 3473 } 3474 3475 let splideTrack = document.createElement("div"); 3476 splideTrack.classList.add("splide__track"); 3477 let splideList = document.createElement("div"); 3478 splideList.classList.add("splide__list"); 3479 3480 // If nested, add specific track class 3481 if (context.hasColumnParent) { 3482 splideTrack.classList.add("splide__track--nested"); 3483 } 3484 3485 splideTrack.appendChild(splideList); 3486 while (elm.firstChild) { 3487 splideList.appendChild(elm.firstChild); 3488 } 3489 elm.appendChild(splideTrack); 3490 3491 // Initialize Splide with a small delay for nested sliders 3492 if (context.hasColumnParent) { 3493 setTimeout(() => { 3494 const splideInstance = new Splide(elm, options).mount(); 3495 3496 // Only setup custom arrows if the slider has an ID 3497 if (elm.id) { 3498 const customButtons = document.querySelectorAll(`[data-splide-control="${elm.id}"]`); 3499 3500 // Only add handlers if custom arrows exist 3501 if (customButtons.length) { 3502 customButtons.forEach(button => { 3503 button.addEventListener('click', () => { 3504 const direction = button.dataset.direction; 3505 splideInstance.go(direction === 'prev' ? '<' : '>'); 3506 });
3507 }); 3508 } 3509 } 3510 }, 100); 3511 } else { 3512 new Splide(elm, options).mount(); 3513 } 3514 } else { 3515 elm.classList.remove("splide"); 3516 // console.log('Removed splide class:', context.hasColumnParent ? 'nested' : 'root', elm); 3517 } 3518 }); 3519} 3520 3521// Ensure proper initialization timing 3522document.addEventListener("DOMContentLoaded", () => { 3523 // Small delay to ensure Bootstrap columns are properly rendered 3524 setTimeout(initializeSplide, 50); 3525});
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.