1!function(){function t(t){return t&&t.__esModule?t.default:t}var e,i,n,s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},o={},r={},a=s.parcelRequire7ef1;null==a&&((a=function(t){if(t in o)return o[t].exports;if(t in r){var e=r[t];delete r[t];var i={id:t,exports:{}};return o[t]=i,e.call(i.exports,i,i.exports),i.exports}var n=Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(t,e){r[t]=e},s.parcelRequire7ef1=a),a.register("16MtH",function(t,e){var i,n;i="undefined"!=typeof window?window:t.exports,n=function(t,e){var i,n=[],s=Object.getPrototypeOf,o=n.slice,r=n.flat?function(t){return n.flat.call(t)}:function(t){return n.concat.apply([],t)},a=n.push,l=n.indexOf,c={},d=c.toString,u=c.hasOwnProperty,p=u.toString,h=p.call(Object),f={},m=function(t){// Support: Chrome <=57, Firefox <=52 2// In some browsers, typeof returns "function" for HTML <object> elements 3// (i.e., `typeof document.createElement( "object" ) === "function"`). 4// We don't want to classify *any* DOM node as a function. 5// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 6// Plus for old WebKit, typeof returns "function" for HTML collections 7// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 8return"function"==typeof t&&"number"!=typeof t.nodeType&&"function"!=typeof t.item},g=function(t){return null!=t&&t===t.window},v=t.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function w(t,e,i){var n,s,o=(i=i||v).createElement("script");if(o.text=t,e)for(n in y)// Support: Firefox 64+, Edge 18+ 9// Some browsers don't support the "nonce" property on scripts. 10// On the other hand, just using `getAttribute` is not enough as 11// the `nonce` attribute is reset to an empty string whenever it 12// becomes browsing-context connected. 13// See https://github.com/whatwg/html/issues/2369 14// See https://html.spec.whatwg.org/#nonce-attributes 15// The `node.getAttribute` check was added for the sake of 16// `jQuery.globalEval` so that it can fake a nonce-containing node 17// via an object. 18(s=e[n]||e.getAttribute&&e.getAttribute(n))&&o.setAttribute(n,s);i.head.appendChild(o).parentNode.removeChild(o)}function b(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?c[d.call(t)]||"object":typeof t}/* global Symbol */// Defining this global in .eslintrc.json would create a danger of using the global 19// unguarded in another place, it seems safer to define global only for this module 20var x="3.7.1",k=/HTML$/i,T=function(t,e){// The jQuery object is actually just the init constructor 'enhanced' 21// Need init if jQuery is called (just allow error to be thrown if not included) 22return new T.fn.init(t,e)};function S(t){// Support: real iOS 8.2 only (not reproducible in simulator) 23// `in` check used to prevent JIT error (gh-2145) 24// hasOwn isn't used here due to false negatives 25// regarding Nodelist length in IE 26var e=!!t&&"length"in t&&t.length,i=b(t);return!(m(t)||g(t))&&("array"===i||0===e||"number"==typeof e&&e>0&&e-1 in t)}function C(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}T.fn=T.prototype={// The current version of jQuery being used 27jquery:x,constructor:T,// The default length of a jQuery object is 0 28length:0,toArray:function(){return o.call(this)},// Get the Nth element in the matched element set OR 29// Get the whole matched element set as a clean array 30get:function(t){return(// Return all the elements in a clean array 31null==t?o.call(this):t<0?this[t+this.length]:this[t])},// Take an array of elements and push it onto the stack 32// (returning the new matched element set) 33pushStack:function(t){// Build a new jQuery matched element set 34var e=T.merge(this.constructor(),t);// Return the newly-formed element set 35return(// Add the old object onto the stack (as a reference) 36e.prevObject=this,e)},// Execute a callback for every element in the matched set. 37each:function(t){return T.each(this,t)},map:function(t){return this.pushStack(T.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(T.grep(this,function(t,e){return(e+1)%2}))},odd:function(){return this.pushStack(T.grep(this,function(t,e){return e%2}))},eq:function(t){var e=this.length,i=+t+(t<0?e:0);return this.pushStack(i>=0&&i<e?[this[i]]:[])},end:function(){return this.prevObject||this.constructor()},// For internal use only. 38// Behaves like an Array's method, not like a jQuery method. 39push:a,sort:n.sort,splice:n.splice},T.extend=T.fn.extend=function(){var t,e,i,n,s,o,r=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof r&&(c=r,// Skip the boolean and the target 40r=arguments[a]||{},a++),"object"==typeof r||m(r)||(r={}),a===l&&(r=this,a--);a<l;a++)// Only deal with non-null/undefined values 41if(null!=(t=arguments[a]))for(e in t)n=t[e],"__proto__"!==e&&r!==n&&(c&&n&&(T.isPlainObject(n)||(s=Array.isArray(n)))?(i=r[e],o=s&&!Array.isArray(i)?[]:s||T.isPlainObject(i)?i:{},s=!1,// Never move original objects, clone them 42r[e]=T.extend(c,o,n)):void 0!==n&&(r[e]=n));// Return the modified object 43return r},T.extend({// Unique for each copy of jQuery on the page 44expando:"jQuery"+(x+Math.random()).replace(/\D/g,""),// Assume jQuery is ready without the ready module 45isReady:!0,error:function(t){throw Error(t)},noop:function(){},isPlainObject:function(t){var e,i;return(// Detect obvious negatives 46// Use toString instead of jQuery.type to catch host objects 47!!t&&"[object Object]"===d.call(t)&&(!(e=s(t))||"function"==typeof// Objects with prototype are plain iff they were constructed by a global Object function 48(i=u.call(e,"constructor")&&e.constructor)&&p.call(i)===h))},isEmptyObject:function(t){var e;
48for(e in t)return!1;return!0},// Evaluates a script in a provided context; falls back to the global one 49// if not specified. 50globalEval:function(t,e,i){w(t,{nonce:e&&e.nonce},i)},each:function(t,e){var i,n=0;if(S(t))for(i=t.length;n<i&&!1!==e.call(t[n],n,t[n]);n++);else for(n in t)if(!1===e.call(t[n],n,t[n]))break;return t},// Retrieve the text value of an array of DOM nodes 51text:function(t){var e,i="",n=0,s=t.nodeType;if(!s)for(;e=t[n++];)i+=T.text(e);return 1===s||11===s?t.textContent:9===s?t.documentElement.textContent:3===s||4===s?t.nodeValue:i},// results is for internal usage only 52makeArray:function(t,e){var i=e||[];return null!=t&&(S(Object(t))?T.merge(i,"string"==typeof t?[t]:t):a.call(i,t)),i},inArray:function(t,e,i){return null==e?-1:l.call(e,t,i)},isXMLDoc:function(t){var e=t&&t.namespaceURI,i=t&&(t.ownerDocument||t).documentElement;// Assume HTML when documentElement doesn't yet exist, such as inside 53// document fragments. 54return!k.test(e||i&&i.nodeName||"HTML")},// Support: Android <=4.0 only, PhantomJS 1 only 55// push.apply(_, arraylike) throws on ancient WebKit 56merge:function(t,e){for(var i=+e.length,n=0,s=t.length;n<i;n++)t[s++]=e[n];return t.length=s,t},grep:function(t,e,i){// Go through the array, only saving the items 57// that pass the validator function 58for(var n=[],s=0,o=t.length,r=!i;s<o;s++)!e(t[s],s)!==r&&n.push(t[s]);return n},// arg is for internal usage only 59map:function(t,e,i){var n,s,o=0,a=[];// Go through the array, translating each of the items to their new values 60if(S(t))for(n=t.length;o<n;o++)null!=(s=e(t[o],o,i))&&a.push(s);else for(o in t)null!=(s=e(t[o],o,i))&&a.push(s);// Flatten any nested arrays 61return r(a)},// A global GUID counter for objects 62guid:1,// jQuery.support is not used in Core but other projects attach their 63// properties to it so it needs to exist. 64support:f}),"function"==typeof Symbol&&(T.fn[Symbol.iterator]=n[Symbol.iterator]),// Populate the class2type map 65T.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){c["[object "+e+"]"]=e.toLowerCase()});var A=n.pop,E=n.sort,$=n.splice,_="[\\x20\\t\\r\\n\\f]",H=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g");// Note: an element does not contain itself 66T.contains=function(t,e){var i=e&&e.parentNode;return t===i||!!(i&&1===i.nodeType&&// Support: IE 9 - 11+ 67// IE doesn't have `contains` on SVG. 68(t.contains?t.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))};// CSS string/identifier serialization 69// https://drafts.csswg.org/cssom/#common-serializing-idioms 70var O=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function D(t,e){return e?// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 71"\x00"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t}T.escapeSelector=function(t){return(t+"").replace(O,D)},function(){var e,i,s,r,c,d,p,h,m,g,y=a,w=T.expando,b=0,x=0,k=tt(),S=tt(),O=tt(),D=tt(),P=function(t,e){return t===e&&(c=!0),0},j="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 72I="(?:\\\\[\\da-fA-F]{1,6}"+_+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\x00-\\x7f])+",M="\\["+_+"*("+I+")(?:"+_+// Operator (capture 2) 73"*([*^$|!~]?=)"+_+// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" 74"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+_+"*\\]",L=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",N=RegExp(_+"+","g"),q=RegExp("^"+_+"*,"+_+"*"),z=RegExp("^"+_+"*([>+~]|"+_+")"+_+"*"),F=RegExp(_+"|>"),W=new RegExp(L),R=RegExp("^"+I+"$"),B={ID:RegExp("^#("+I+")"),CLASS:RegExp("^\\.("+I+")"),TAG:RegExp("^("+I+"|[*])"),ATTR:RegExp("^"+M),PSEUDO:RegExp("^"+L),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),bool:RegExp("^(?:"+j+")$","i"),// For use in libraries implementing .is() 75// We use this for POS matching in `select` 76needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/^(?:input|select|textarea|button)$/i,U=/^h\d$/i,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Y=/[+~]/,// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters 77G=RegExp("\\\\[\\da-fA-F]{1,6}"+_+"?|\\\\([^\\r\\n\\f])","g"),K=function(t,e){var i="0x"+t.slice(1)-65536;return e||(i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320))}
77,// Support: IE 9 - 11+, Edge 12 - 18+ 78// Removing the function wrapper causes a "Permission Denied" 79// error in IE/Edge. 80Q=function(){tr()},Z=td(function(t){return!0===t.disabled&&C(t,"fieldset")},{dir:"parentNode",next:"legend"});// Optimize for push.apply( _, NodeList ) 81try{y.apply(n=o.call(v.childNodes),v.childNodes),// Support: Android <=4.0 82// Detect silently failing push.apply 83// eslint-disable-next-line no-unused-expressions 84n[v.childNodes.length].nodeType}catch(t){y={apply:function(t,e){a.apply(t,o.call(e))},call:function(t){a.apply(t,o.call(arguments,1))}}}function J(t,e,i,n){var s,o,r,a,l,c,u,p=e&&e.ownerDocument,g=e?e.nodeType:9;// Return early from calls with invalid selector or context 85if(i=i||[],"string"!=typeof t||!t||1!==g&&9!==g&&11!==g)return i;// Try to shortcut find operations (as opposed to filters) in HTML documents 86if(!n&&(tr(e),e=e||d,h)){// If the selector is sufficiently simple, try using a "get*By*" DOM method 87// (excepting DocumentFragment context, where the methods don't exist) 88if(11!==g&&(l=X.exec(t))){// ID selector 89if(s=l[1]){// Document context 90if(9===g){if(!(r=e.getElementById(s)))return i;if(r.id===s)return y.call(i,r),i;// Element context 91}else // getElementById can match elements by name instead of ID 92if(p&&(r=p.getElementById(s))&&J.contains(e,r)&&r.id===s)return y.call(i,r),i}else if(l[2])return y.apply(i,e.getElementsByTagName(t)),i;else if((s=l[3])&&e.getElementsByClassName)return y.apply(i,e.getElementsByClassName(s)),i}// Take advantage of querySelectorAll 93if(!D[t+" "]&&(!m||!m.test(t))){// qSA considers elements outside a scoping root when evaluating child or 94// descendant combinators, which is not what we want. 95// In such cases, we work around the behavior by prefixing every selector in the 96// list with an ID selector referencing the scope context. 97// The technique has to be used as well when a leading combinator is used 98// as such selectors are not recognized by querySelectorAll. 99// Thanks to Andrew Dupont for this technique. 100if(u=t,p=e,1===g&&(F.test(t)||z.test(t))){for(// Expand context for sibling selectors 101(p=Y.test(t)&&to(e.parentNode)||e)==e&&f.scope||((a=e.getAttribute("id"))?a=T.escapeSelector(a):e.setAttribute("id",a=w)),o=// Prefix every selector in the list 102(c=tl(t)).length;o--;
102)c[o]=(a?"#"+a:":scope")+" "+tc(c[o]);u=c.join(",")}try{return y.apply(i,p.querySelectorAll(u)),i}catch(e){D(t,!0)}finally{a===w&&e.removeAttribute("id")}}}// All others 103return tf(t.replace(H,"$1"),e,i,n)}/** 104 * Create key-value caches of limited size 105 * @returns {function(string, object)} Returns the Object data after storing it on itself with 106 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 107 * deleting the oldest entry 108 */function tt(){var t=[];function e(n,s){return t.push(n+" ")>i.cacheLength&&delete e[t.shift()],e[n+" "]=s}return e}/** 109 * Mark a function for special use by jQuery selector module 110 * @param {Function} fn The function to mark 111 */function te(t){return t[w]=!0,t}/** 112 * Support testing using an element 113 * @param {Function} fn Passed the created element and returns a boolean result 114 */function ti(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),// release memory in IE 115e=null}}/** 116 * Returns a function to use in pseudos for :enabled/:disabled 117 * @param {Boolean} disabled true for :disabled; false for :enabled 118 */function tn(t){// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 119return function(e){// Only certain elements can match :enabled or :disabled 120// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 121// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 122if("form"in e)return(// Check for inherited disabledness on relevant non-disabled elements: 123// * listed form-associated elements in a disabled fieldset 124// https://html.spec.whatwg.org/multipage/forms.html#category-listed 125// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 126// * option elements in a disabled optgroup 127// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 128// All such elements have a "form" property. 129e.parentNode&&!1===e.disabled?// Option elements defer to a parent optgroup if present 130"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||// Where there is no isDisabled, check manually 131!t!==e.isDisabled&&Z(e)===t:e.disabled===t);return"label"in e&&e.disabled===t}}/** 132 * Returns a function to use in pseudos for positionals 133 * @param {Function} fn 134 */function ts(t){return te(function(e){return e=+e,te(function(i,n){// Match elements found at the specified indexes 135for(var s,o=t([],i.length,e),r=o.length;r--;)i[s=o[r]]&&(i[s]=!(n[s]=i[s]))})})}/** 136 * Checks a node for validity as a jQuery selector context 137 * @param {Element|Object=} context 138 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 139 */function to(t){return t&&void 0!==t.getElementsByTagName&&t}/** 140 * Sets document-related variables once based on the current document 141 * @param {Element|Object} [node] An element or document object to use to set the document 142 * @returns {Object} Returns the current document 143 */function tr(t){var e,n=t?t.ownerDocument||t:v;return n!=d&&9===n.nodeType&&n.documentElement&&(p=// Update global variables 144(d=n).documentElement,h=!T.isXMLDoc(d),// Support: iOS 7 only, IE 9 - 11+ 145// Older browsers didn't support unprefixed `matches`. 146g=p.matches||p.webkitMatchesSelector||p.msMatchesSelector,p.msMatchesSelector&&// Support: IE 11+, Edge 17 - 18+ 147// IE/Edge sometimes throw a "Permission denied" error when strict-comparing 148// two documents; shallow comparisons work. 149// eslint-disable-next-line eqeqeq 150v!=d&&(e=d.defaultView)&&e.top!==e&&e.addEventListener("unload",Q),// Support: IE <10 151// Check if getElementById returns elements by name 152// The broken getElementById methods don't pick up programmatically-set names, 153// so use a roundabout getElementsByName test 154f.getById=ti(function(t){return p.appendChild(t).id=T.expando,!d.getElementsByName||!d.getElementsByName(T.expando).length}),// Support: IE 9 only 155// Check to see if it's possible to do matchesSelector 156// on a disconnected node. 157f.disconnectedMatch=ti(function(t){return g.call(t,"*")}
vendor: 4,077 bytes, lines 157-198
157),// Support: IE 9 - 11+, Edge 12 - 18+ 158// IE/Edge don't support the :scope pseudo-class. 159f.scope=ti(function(){return d.querySelectorAll(":scope")}),// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only 160// Make sure the `:has()` argument is parsed unforgivingly. 161// We include `*` in the test to detect buggy implementations that are 162// _selectively_ forgiving (specifically when the list includes at least 163// one valid selector). 164// Note that we treat complete lack of support for `:has()` as if it were 165// spec-compliant support, which is fine because use of `:has()` in such 166// environments will fail in the qSA path and fall back to jQuery traversal 167// anyway. 168f.cssHas=ti(function(){try{return d.querySelector(":has(*,:jqfake)"),!1}catch(t){return!0}}),f.getById?(i.filter.ID=function(t){var e=t.replace(G,K);return function(t){return t.getAttribute("id")===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&h){var i=e.getElementById(t);return i?[i]:[]}}):(i.filter.ID=function(t){var e=t.replace(G,K);return function(t){var i=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return i&&i.value===e}},// Support: IE 6 - 7 only 169// getElementById is not reliable as a find shortcut 170i.find.ID=function(t,e){if(void 0!==e.getElementById&&h){var i,n,s,o=e.getElementById(t);if(o){if(// Verify the id attribute 171(i=o.getAttributeNode("id"))&&i.value===t)return[o];for(// Fall back on getElementsByName 172s=e.getElementsByName(t),n=0;o=s[n++];)if((i=o.getAttributeNode("id"))&&i.value===t)return[o]}return[]}}),// Tag 173i.find.TAG=function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):e.querySelectorAll(t)},// Class 174i.find.CLASS=function(t,e){if(void 0!==e.getElementsByClassName&&h)return e.getElementsByClassName(t)},/* QSA/matchesSelector 175 ---------------------------------------------------------------------- */// QSA and matchesSelector support 176m=[],// Build QSA regex 177// Regex strategy adopted from Diego Perini 178ti(function(t){var e;p.appendChild(t).innerHTML="<a id='"+w+"' href='' disabled='disabled'></a><select id='"+w+"-\r\\' disabled='disabled'><option selected=''></option></select>",t.querySelectorAll("[selected]").length||m.push("\\["+_+"*(?:value|"+j+")"),t.querySelectorAll("[id~="+w+"-]").length||m.push("~="),t.querySelectorAll("a#"+w+"+*").length||m.push(".#.+[+~]"),t.querySelectorAll(":checked").length||m.push(":checked"),// Support: Windows 8 Native Apps 179// The type and name attributes are restricted during .innerHTML assignment 180(e=d.createElement("input")).setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),// Support: IE 9 - 11+ 181// IE's :disabled selector does not pick up the children of disabled fieldsets 182// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ 183// In some of the document kinds, these selectors wouldn't work natively. 184// This is probably OK but for backwards compatibility we want to maintain 185// handling them through jQuery traversal in jQuery 3.x. 186p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),// Support: IE 11+, Edge 15 - 18+ 187// IE 11/Edge don't find elements on a `[name='']` query in some cases. 188// Adding a temporary attribute to the document before the selection works 189// around the issue. 190// Interestingly, IE 10 & older don't seem to have the issue. 191(e=d.createElement("input")).setAttribute("name",""),t.appendChild(e),t.querySelectorAll("[name='']").length||m.push("\\["+_+"*name"+_+"*="+_+"*(?:''|\"\")")}),f.cssHas||// Our regular `try-catch` mechanism fails to detect natively-unsupported 192// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) 193// in browsers that parse the `:has()` argument as a forgiving selector list. 194// https://drafts.csswg.org/selectors/#relational now requires the argument 195// to be parsed unforgivingly, but browsers have not yet fully adjusted. 196m.push(":has"),m=m.length&&new RegExp(m.join("|")),/* Sorting 197 ---------------------------------------------------------------------- */// Document order sorting 198P=function(t,e){// Flag for duplicate removal
vendor: 4,156 bytes, lines 199-240
199if(t===e)return c=!0,0;// Sort on method existence if only one input has compareDocumentPosition 200var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(1&// Calculate position if both inputs belong to the same document 201// Support: IE 11+, Edge 17 - 18+ 202// IE/Edge sometimes throw a "Permission denied" error when strict-comparing 203// two documents; shallow comparisons work. 204// eslint-disable-next-line eqeqeq 205(i=(t.ownerDocument||t)==(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!f.sortDetached&&e.compareDocumentPosition(t)===i?// Choose the first element that is related to our preferred document 206// Support: IE 11+, Edge 17 - 18+ 207// IE/Edge sometimes throw a "Permission denied" error when strict-comparing 208// two documents; shallow comparisons work. 209// eslint-disable-next-line eqeqeq 210t===d||t.ownerDocument==v&&J.contains(v,t)?-1:e===d||e.ownerDocument==v&&J.contains(v,e)?1:r?l.call(r,t)-l.call(r,e):0:4&i?-1:1)}),d}// Add button/input type pseudos 211for(e in J.matches=function(t,e){return J(t,null,null,e)},J.matchesSelector=function(t,e){if(tr(t),h&&!D[e+" "]&&(!m||!m.test(e)))try{var i=g.call(t,e);// IE 9's matchesSelector returns false on disconnected nodes 212if(i||f.disconnectedMatch||// As well, disconnected nodes are said to be in a document 213// fragment in IE 9 214t.document&&11!==t.document.nodeType)return i}catch(t){D(e,!0)}return J(e,d,null,[t]).length>0},J.contains=function(t,e){return(t.ownerDocument||t)!=d&&tr(t),T.contains(t,e)},J.attr=function(t,e){(t.ownerDocument||t)!=d&&tr(t);var n=i.attrHandle[e.toLowerCase()],s=n&&u.call(i.attrHandle,e.toLowerCase())?n(t,e,!h):void 0;return void 0!==s?s:t.getAttribute(e)},J.error=function(t){throw Error("Syntax error, unrecognized expression: "+t)},/** 215 * Document sorting and removing duplicates 216 * @param {ArrayLike} results 217 */T.uniqueSort=function(t){var e,i=[],n=0,s=0;if(// Unless we *know* we can detect duplicates, assume their presence 218// 219// Support: Android <=4.0+ 220// Testing for detecting duplicates is unpredictable so instead assume we can't 221// depend on duplicate detection in all browsers without a stable sort. 222c=!f.sortStable,r=!f.sortStable&&o.call(t,0),E.call(t,P),c){for(;e=t[s++];)e===t[s]&&(n=i.push(s));for(;n--;)$.call(t,i[n],1)}return(// Clear input after sorting to release objects 223// See https://github.com/jquery/sizzle/pull/225 224r=null,t)},T.fn.uniqueSort=function(){return this.pushStack(T.uniqueSort(o.apply(this)))},(i=T.expr={// Can be adjusted by the user 225cacheLength:50,createPseudo:te,match:B,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(G,K),// Move the given value to match[3] whether quoted or unquoted 226t[3]=(t[3]||t[4]||t[5]||"").replace(G,K),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return(/* matches from matchExpr["CHILD"] 227 1 type (only|nth|...) 228 2 what (child|of-type) 229 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 230 4 xn-component of xn+y argument ([+-]?\d*n|) 231 5 sign of xn-component 232 6 x of xn-component 233 7 sign of y-component 234 8 y of y-component 235 */t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||J.error(t[0]),// numeric x and y parameters for Expr.filter.CHILD 236// remember that false/true cast respectively to 0/1 237t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&J.error(t[0]),t)},PSEUDO:function(t){var e,i=!t[6]&&t[2];return B.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":i&&W.test(i)&&// Get excess from tokenize (recursively) 238(e=tl(i,!0))&&// advance to the next closing parenthesis 239(e=i.indexOf(")",i.length-e)-i.length)&&(// excess is a negative index 240t[0]=t[0].slice(0,e),t[2]=i.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(G,K).toLowerCase();return"*"===t?function(){return!0}:function(t){return C(t,e)}},CLASS:function(t){var e=k[t+" "];return e||(e=RegExp("(^|"+_+")"+t+"("+_+"|$)"),k(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))}
240,ATTR:function(t,e,i){return function(n){var s=J.attr(n,t);return null==s?"!="===e:!e||((s+="","="===e)?s===i:"!="===e?s!==i:"^="===e?i&&0===s.indexOf(i):"*="===e?i&&s.indexOf(i)>-1:"$="===e?i&&s.slice(-i.length)===i:"~="===e?(" "+s.replace(N," ")+" ").indexOf(i)>-1:"|="===e&&(s===i||s.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,i,n,s){var o="nth"!==t.slice(0,3),r="last"!==t.slice(-4),a="of-type"===e;return 1===n&&0===s?function(t){return!!t.parentNode}:function(e,i,l){var c,d,u,p,h,f=o!==r?"nextSibling":"previousSibling",m=e.parentNode,g=a&&e.nodeName.toLowerCase(),v=!l&&!a,y=!1;if(m){// :(first|last|only)-(child|of-type) 241if(o){for(;f;){for(u=e;u=u[f];)if(a?C(u,g):1===u.nodeType)return!1;// Reverse direction for :only-* (if we haven't yet done so) 242h=f="only"===t&&!h&&"nextSibling"}return!0}// non-xml :nth-child(...) stores cache data on `parent` 243if(h=[r?m.firstChild:m.lastChild],r&&v){for(y=(p=(c=// Seek `elem` from a previously-cached index 244(d=m[w]||(m[w]={}))[t]||[])[0]===b&&c[1])&&c[2],u=p&&m.childNodes[p];u=++p&&u&&u[f]||// Fallback to seeking `elem` from the start 245(y=p=0)||h.pop();)if(1===u.nodeType&&++y&&u===e){d[t]=[b,p,y];break}}else // xml :nth-child(...) 246// or :nth-last-child(...) or :nth(-last)?-of-type(...) 247if(v&&(y=p=(c=(d=e[w]||(e[w]={}))[t]||[])[0]===b&&c[1]),!1===y)// Use the same loop as above to seek `elem` from the start 248for(;(u=++p&&u&&u[f]||(y=p=0)||h.pop())&&(!((a?C(u,g):1===u.nodeType)&&++y)||(v&&((d=u[w]||(u[w]={}))[t]=[b,y]),u!==e)););return(// Incorporate the offset, then check against cycle size 249(y-=s)===n||y%n==0&&y/n>=0)}}},PSEUDO:function(t,e){// pseudo-class names are case-insensitive 250// https://www.w3.org/TR/selectors/#pseudo-classes 251// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 252// Remember that setFilters inherits from pseudos 253var n,s=i.pseudos[t]||i.setFilters[t.toLowerCase()]||J.error("unsupported pseudo: "+t);return(// The user may use createPseudo to indicate that 254// arguments are needed to create the filter function 255// just as jQuery does 256s[w]?s(e):s.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?te(function(t,i){for(var n,o=s(t,e),r=o.length;r--;)n=l.call(t,o[r]),t[n]=!(i[n]=o[r])}):function(t){return s(t,0,n)}):s)}},pseudos:{// Potentially complex pseudos 257not:te(function(t){// Trim the selector passed to compile 258// to avoid treating leading and trailing 259// spaces as combinators 260var e=[],i=[],n=th(t.replace(H,"$1"));return n[w]?te(function(t,e,i,s){// Match elements unmatched by `matcher` 261for(var o,r=n(t,null,s,[]),a=t.length;a--;)(o=r[a])&&(t[a]=!(e[a]=o))}):function(t,s,o){return e[0]=t,n(e,null,o,i),// Don't keep the element 262// (see https://github.com/jquery/sizzle/issues/299) 263e[0]=null,!i.pop()}}),has:te(function(t){return function(e){return J(t,e).length>0}}),contains:te(function(t){return t=t.replace(G,K),function(e){return(e.textContent||T.text(e)).indexOf(t)>-1}}),// "Whether an element is represented by a :lang() selector 264// is based solely on the element's language value 265// being equal to the identifier C, 266// or beginning with the identifier C immediately followed by "-". 267// The matching of C against the element's language value is performed case-insensitively. 268// The identifier C does not have to be a valid language name." 269// https://www.w3.org/TR/selectors/#lang-pseudo 270lang:te(function(t){return R.test(t||"")||J.error("unsupported lang: "+t),t=t.replace(G,K).toLowerCase(),function(e){var i;do if(i=h?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(i=i.toLowerCase())===t||0===i.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType)return!1}}),// Miscellaneous 271target:function(e){var i=t.location&&t.location.hash;return i&&i.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===// Support: IE <=9 only 272// Accessing document.activeElement can throw unexpectedly 273// https://bugs.jquery.com/ticket/13393 274function(){try{return d.activeElement}catch(t){}}()&&d.hasFocus()&&!!(t.type||t.href||~t.tabIndex)},// Boolean properties 275enabled:tn(!1),disabled:tn(!0),checked:function(t){// In CSS3, :checked should return both checked and selected elements
276// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 277return C(t,"input")&&!!t.checked||C(t,"option")&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},// Contents 278empty:function(t){// https://www.w3.org/TR/selectors/#empty-pseudo 279// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 280// but not by others (comment: 8; processing instruction: 7; etc.) 281// nodeType < 6 works because attributes (2) do not appear as children 282for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},// Element/input types 283header:function(t){return U.test(t.nodeName)},input:function(t){return V.test(t.nodeName)},button:function(t){return C(t,"input")&&"button"===t.type||C(t,"button")},text:function(t){var e;return C(t,"input")&&"text"===t.type&&// Support: IE <10 only 284// New HTML5 attribute values (e.g., "search") appear 285// with elem.type === "text" 286(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},// Position-in-collection 287first:ts(function(){return[0]}),last:ts(function(t,e){return[e-1]}),eq:ts(function(t,e,i){return[i<0?i+e:i]}),even:ts(function(t,e){for(var i=0;i<e;i+=2)t.push(i);return t}),odd:ts(function(t,e){for(var i=1;i<e;i+=2)t.push(i);return t}),lt:ts(function(t,e,i){var n;for(n=i<0?i+e:i>e?e:i;--n>=0;)t.push(n);return t}),gt:ts(function(t,e,i){for(var n=i<0?i+e:i;++n<e;)t.push(n);return t})}}).pseudos.nth=i.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[e]=/** 288 * Returns a function to use in pseudos for input types 289 * @param {String} type 290 */function(t){return function(e){return C(e,"input")&&e.type===t}}(e);for(e in{submit:!0,reset:!0})i.pseudos[e]=/** 291 * Returns a function to use in pseudos for buttons 292 * @param {String} type 293 */function(t){return function(e){return(C(e,"input")||C(e,"button"))&&e.type===t}}(e);// Easy API for creating new setFilters 294function ta(){}function tl(t,e){var n,s,o,r,a,l,c,d=S[t+" "];if(d)return e?0:d.slice(0);for(a=t,l=[],c=i.preFilter;a;){// Filters 295for(r in(!n||(s=q.exec(a)))&&(s&&(a=a.slice(s[0].length)||a),l.push(o=[])),n=!1,(s=z.exec(a))&&(n=s.shift(),o.push({value:n,// Cast descendant combinators to space 296type:s[0].replace(H," ")}),a=a.slice(n.length)),i.filter)(s=B[r].exec(a))&&(!c[r]||(s=c[r](s)))&&(n=s.shift(),o.push({value:n,type:r,matches:s}),a=a.slice(n.length));if(!n)break}return(// Return the length of the invalid excess 297// if we're just parsing 298// Otherwise, throw an error or return tokens 299e?a.length:a?J.error(t):S(t,l).slice(0))}function tc(t){for(var e=0,i=t.length,n="";e<i;e++)n+=t[e].value;return n}function td(t,e,i){var n=e.dir,s=e.next,o=s||n,r=i&&"parentNode"===o,a=x++;return e.first?function(e,i,s){for(;e=e[n];)if(1===e.nodeType||r)return t(e,i,s);return!1}:function(e,i,l){var c,d,u=[b,a];// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 300if(l){for(;e=e[n];)if((1===e.nodeType||r)&&t(e,i,l))return!0}else for(;e=e[n];)if(1===e.nodeType||r){if(d=e[w]||(e[w]={}),s&&C(e,s))e=e[n]||e;else{if((c=d[o])&&c[0]===b&&c[1]===a)return u[2]=c[2];// A match means we're done; a fail means we have to keep checking 301if(// Reuse newcache so results back-propagate to previous elements 302d[o]=u,u[2]=t(e,i,l))return!0}}return!1}}function tu(t){return t.length>1?function(e,i,n){for(var s=t.length;s--;)if(!t[s](e,i,n))return!1;return!0}:t[0]}function tp(t,e,i,n,s){for(var o,r=[],a=0,l=t.length,c=null!=e;a<l;a++)(o=t[a])&&(!i||i(o,n,s))&&(r.push(o),c&&e.push(a));return r}function th(t,e/* Internal Use Only */){var n,o,r,a,c=[],u=[],p=O[t+" "];if(!p){for(e||(e=tl(t)),a=e.length;a--;)(p=function t(e){for(var n,o,r,a=e.length,c=i.relative[e[0].type],d=c||i.relative[" "],u=c?1:0,p=td(function(t){return t===n},d,!0),h=td(function(t){return l.call(n,t)>-1},d,!0),f=[function(t,e,i){// Support: IE 11+, Edge 17 - 18+ 303// IE/Edge sometimes throw a "Permission denied" error when strict-comparing 304// two documents; shallow comparisons work. 305// eslint-disable-next-line eqeqeq 306var o=!c&&(i||e!=s)||((n=e).nodeType?p(t,e,i):h(t,e,i));return(// Avoid hanging onto element 307// (see https://github.com/jquery/sizzle/issues/299) 308n=null,o)}];u<a;u++)if(o=i.relative[e[u].type])f=[td(tu(f),o)];else{// Return special upon seeing a positional matcher
309if((o=i.filter[e[u].type].apply(null,e[u].matches))[w]){for(// Find the next relative operator (if any) for proper handling 310r=++u;r<a&&!i.relative[e[r].type];r++);return function t(e,i,n,s,o,r){return s&&!s[w]&&(s=t(s)),o&&!o[w]&&(o=t(o,r)),te(function(t,r,a,c){var d,u,p,h,f=[],m=[],g=r.length,v=t||function(t,e,i){for(var n=0,s=e.length;n<s;n++)J(t,e[n],i);return i}(i||"*",a.nodeType?[a]:a,[]),w=e&&(t||!i)?tp(v,f,e,a,c):v;// Apply postFilter 311if(n?// Find primary matches 312n(w,// If we have a postFinder, or filtered seed, or non-seed postFilter 313// or preexisting results, 314h=o||(t?e:g||s)?[]:r,a,c):h=w,s)for(d=tp(h,m),s(d,[],a,c),// Un-match failing elements by moving them back to matcherIn 315u=d.length;u--;)(p=d[u])&&(h[m[u]]=!(w[m[u]]=p));if(t){if(o||e){if(o){for(// Get the final matcherOut by condensing this intermediate into postFinder contexts 316d=[],u=h.length;u--;)(p=h[u])&&d.push(w[u]=p);o(null,h=[],d,c)}for(// Move matched elements from seed to results to keep them synchronized 317u=h.length;u--;)(p=h[u])&&(d=o?l.call(t,p):f[u])>-1&&(t[d]=!(r[d]=p))}}else h=tp(h===r?h.splice(g,h.length):h),o?o(null,r,h,c):y.apply(r,h)})}(u>1&&tu(f),u>1&&tc(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(H,"$1"),o,u<r&&t(e.slice(u,r)),r<a&&t(e=e.slice(r)),r<a&&tc(e))}f.push(o)}return tu(f)}(e[a]))[w]?c.push(p):u.push(p);// Save selector and tokenization 318// Cache the compiled function 319(p=O(t,(n=c.length>0,o=u.length>0,r=function(t,e,r,a,l){var p,f,m,g=0,v="0",w=t&&[],x=[],k=s,S=t||o&&i.find.TAG("*",l),C=b+=null==k?1:Math.random()||.1,E=S.length;// Add elements passing elementMatchers directly to results 320// Support: iOS <=7 - 9 only 321// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching 322// elements by id. (see trac-14142) 323for(l&&// IE/Edge sometimes throw a "Permission denied" error when strict-comparing 324// two documents; shallow comparisons work. 325// eslint-disable-next-line eqeqeq 326(s=e==d||e||l);v!==E&&null!=(p=S[v]);v++){if(o&&p){for(f=0,e||p.ownerDocument==d||(tr(p),r=!h);m=u[f++];)if(m(p,e||d,r)){y.call(a,p);break}l&&(b=C)}n&&((p=!m&&p)&&g--,t&&w.push(p))}// Apply set filters to unmatched elements 327// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 328// equals `i`), unless we didn't visit _any_ elements in the above loop because we have 329// no element matchers and no seed. 330// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 331// case, which will result in a "00" `matchedCount` that differs from `i` but is also 332// numerically zero. 333if(// `i` is now the count of elements visited above, and adding it to `matchedCount` 334// makes the latter nonnegative. 335g+=v,n&&v!==g){for(f=0;m=c[f++];)m(w,x,e,r);if(t){// Reintegrate element matches to eliminate the need for sorting 336if(g>0)for(;v--;)w[v]||x[v]||(x[v]=A.call(a));// Discard index placeholder values to get only actual matches 337x=tp(x)}// Add matches to results 338y.apply(a,x),l&&!t&&x.length>0&&g+c.length>1&&T.uniqueSort(a)}return l&&(b=C,s=k),w},n?te(r):r))).selector=t}return p}/** 339 * A low-level selection function that works with jQuery's compiled 340 * selector functions 341 * @param {String|Function} selector A selector or a pre-compiled 342 * selector function built with jQuery selector compile 343 * @param {Element} context 344 * @param {Array} [results] 345 * @param {Array} [seed] A set of elements to match against 346 */function tf(t,e,n,s){var o,r,a,l,c,d="function"==typeof t&&t,u=!s&&tl(t=d.selector||t);// Try to minimize operations if there is only one selector in the list and no seed 347// (the latter of which guarantees us context) 348if(n=n||[],1===u.length){if(// Reduce context if the leading compound selector is an ID 349(r=u[0]=u[0].slice(0)).length>2&&"ID"===(a=r[0]).type&&9===e.nodeType&&h&&i.relative[r[1].type]){if(!(e=(i.find.ID(a.matches[0].replace(G,K),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(r.shift().value.length)}for(// Fetch a seed set for right-to-left matching 350o=B.needsContext.test(t)?0:r.length;// Abort if we hit a combinator 351o--&&(a=r[o],!i.relative[l=a.type]);)if((c=i.find[l])&&(s=c(a.matches[0].replace(G,K),Y.test(r[0].type)&&to(e.parentNode)||e))){if(// If seed is empty or no tokens remain, we can return early 352r.splice(o,1),!(t=s.length&&tc(r)))return y.apply(n,s),n;break}}return(// Compile and execute a filtering function if one is not provided 353// Provide `match` to avoid retokenization if we modified the selector above 354(d||th(t,u))(s,e,!h,n,!e||Y.test(t)&&to(e.parentNode)||e),n)}ta.prototype=i.filters=i.pseudos,i.setFilters=new ta,// One-time assignments 355// Support: Android <=4.0 - 4.1+ 356// Sort stability 357f.sortStable=w.split("").sort(P).join("")===w,// Initialize against the default document
358tr(),// Support: Android <=4.0 - 4.1+ 359// Detached nodes confoundingly follow *each other* 360f.sortDetached=ti(function(t){// Should return 1, but returns 4 (following) 361return 1&t.compareDocumentPosition(d.createElement("fieldset"))}),T.find=J,// Deprecated 362T.expr[":"]=T.expr.pseudos,T.unique=T.uniqueSort,// These have always been private, but they used to be documented as part of 363// Sizzle so let's maintain them for now for backwards compatibility purposes. 364J.compile=th,J.select=tf,J.setDocument=tr,J.tokenize=tl,J.escape=T.escapeSelector,J.getText=T.text,J.isXML=T.isXMLDoc,J.selectors=T.expr,J.support=T.support,J.uniqueSort=T.uniqueSort;/* eslint-enable */}();var P=function(t,e,i){for(var n=[],s=void 0!==i;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(s&&T(t).is(i))break;n.push(t)}return n},j=function(t,e){for(var i=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&i.push(t);return i},I=T.expr.match.needsContext,M=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;// Implement the identical functionality for filter and not 365function L(t,e,i){return m(e)?T.grep(t,function(t,n){return!!e.call(t,n,t)!==i}):e.nodeType?T.grep(t,function(t){return t===e!==i}):"string"!=typeof e?T.grep(t,function(t){return l.call(e,t)>-1!==i}):T.filter(e,t,i)}T.filter=function(t,e,i){var n=e[0];return(i&&(t=":not("+t+")"),1===e.length&&1===n.nodeType)?T.find.matchesSelector(n,t)?[n]:[]:T.find.matches(t,T.grep(e,function(t){return 1===t.nodeType}))},T.fn.extend({find:function(t){var e,i,n=this.length,s=this;if("string"!=typeof t)return this.pushStack(T(t).filter(function(){for(e=0;e<n;e++)if(T.contains(s[e],this))return!0}));for(e=0,i=this.pushStack([]);e<n;e++)T.find(t,s[e],i);return n>1?T.uniqueSort(i):i},filter:function(t){return this.pushStack(L(this,t||[],!1))},not:function(t){return this.pushStack(L(this,t||[],!0))},is:function(t){return!!L(this,// so $("p:first").is("p:last") won't return true for a doc with two "p". 366"string"==typeof t&&I.test(t)?T(t):t||[],!1).length}});// Initialize a jQuery object 367// A central reference to the root jQuery(document) 368var N,// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) 369// Strict HTML recognition (trac-11290: must start with <) 370// Shortcut simple #id case for speed 371q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;// Give the init function the jQuery prototype for later instantiation 372(T.fn.init=function(t,e,i){var n,s;// HANDLE: $(""), $(null), $(undefined), $(false) 373if(!t)return this;// Handle HTML strings 374if(// Method init() accepts an alternate rootjQuery 375// so migrate can support jQuery.sub (gh-2101) 376i=i||N,"string"==typeof t){// Match html or make sure no context is specified for #id 377if((n="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:q.exec(t))&&(n[1]||!e)){// HANDLE: $(html) -> $(array) 378if(!n[1])return(s=v.getElementById(n[2]))&&(// Inject the element directly into the jQuery object 379this[0]=s,this.length=1),this;// HANDLE: $(html, props) 380if(e=e instanceof T?e[0]:e,// Option to run scripts is true for back-compat 381// Intentionally let the error be thrown if parseHTML is not present 382T.merge(this,T.parseHTML(n[1],e&&e.nodeType?e.ownerDocument||e:v,!0)),M.test(n[1])&&T.isPlainObject(e))for(n in e)m(this[n])?this[n](e[n]):this.attr(n,e[n]);return this}return!e||e.jquery?(e||i).find(t):this.constructor(e).find(t);// HANDLE: $(DOMElement) 383}return t.nodeType?(this[0]=t,this.length=1,this):m(t)?void 0!==i.ready?i.ready(t):t(T):T.makeArray(t,this)}).prototype=T.fn,// Initialize central reference 384N=T(v);var z=/^(?:parents|prev(?:Until|All))/,F={children:!0,contents:!0,next:!0,prev:!0};function W(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}T.fn.extend({has:function(t){var e=T(t,this),i=e.length;return this.filter(function(){for(var t=0;t<i;t++)if(T.contains(this,e[t]))return!0})},closest:function(t,e){var i,n=0,s=this.length,o=[],r="string"!=typeof t&&T(t);// Positional selectors never match, since there's no _selection_ context 385if(!I.test(t)){for(;n<s;n++)for(i=this[n];i&&i!==e;i=i.parentNode)if(i.nodeType<11&&(r?r.index(i)>-1:1===i.nodeType&&T.find.matchesSelector(i,t))){o.push(i);break}}return this.pushStack(o.length>1?T.uniqueSort(o):o)},// Determine the position of an element within the set 386index:function(t){return(// No argument, return index in parent 387t?"string"==typeof t?l.call(T(t),this[0]):l.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1)},add:function(t,e){return this.pushStack(T.uniqueSort(T.merge(this.get(),T(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),T.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return P(t,"parentNode")}
vendor: 10,072 bytes, lines 387-502
387,parentsUntil:function(t,e,i){return P(t,"parentNode",i)},next:function(t){return W(t,"nextSibling")},prev:function(t){return W(t,"previousSibling")},nextAll:function(t){return P(t,"nextSibling")},prevAll:function(t){return P(t,"previousSibling")},nextUntil:function(t,e,i){return P(t,"nextSibling",i)},prevUntil:function(t,e,i){return P(t,"previousSibling",i)},siblings:function(t){return j((t.parentNode||{}).firstChild,t)},children:function(t){return j(t.firstChild)},contents:function(t){return null!=t.contentDocument&&// Support: IE 11+ 388// <object> elements with no `data` attribute has an object 389// `contentDocument` with a `null` prototype. 390s(t.contentDocument)?t.contentDocument:(C(t,"template")&&(t=t.content||t),T.merge([],t.childNodes))}},function(t,e){T.fn[t]=function(i,n){var s=T.map(this,e,i);return"Until"!==t.slice(-5)&&(n=i),n&&"string"==typeof n&&(s=T.filter(n,s)),this.length>1&&(F[t]||T.uniqueSort(s),z.test(t)&&s.reverse()),this.pushStack(s)}});var R=/[^\x20\t\r\n\f]+/g;function B(t){return t}function V(t){throw t}function U(t,e,i,n){var s;try{t&&m(s=t.promise)?s.call(t).done(e).fail(i):t&&m(s=t.then)?s.call(t,e,i):// * false: [ value ].slice( 0 ) => resolve( value ) 391// * true: [ value ].slice( 1 ) => resolve() 392e.apply(void 0,[t].slice(n));// For Promises/A+, convert exceptions into rejections 393// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 394// Deferred#then to conditionally suppress rejection. 395}catch(t){// Support: Android 4.0 only 396// Strict mode functions invoked without .call/.apply get global-object context 397i.apply(void 0,[t])}}/* 398 * Create a callback list using the following parameters: 399 * 400 * options: an optional list of space-separated options that will change how 401 * the callback list behaves or a more traditional option object 402 * 403 * By default a callback list will act like an event callback list and can be 404 * "fired" multiple times. 405 * 406 * Possible options: 407 * 408 * once: will ensure the callback list can only be fired once (like a Deferred) 409 * 410 * memory: will keep track of previous values and will call any callback added 411 * after the list has been fired right away with the latest "memorized" 412 * values (like a Deferred) 413 * 414 * unique: will ensure a callback can only be added once (no duplicate in the list) 415 * 416 * stopOnFalse: interrupt callings when a callback returns false 417 * 418 */T.Callbacks=function(t){// Convert options from String-formatted to Object-formatted if needed 419// (we check in cache first) 420t="string"==typeof t?(e=t,i={},T.each(e.match(R)||[],function(t,e){i[e]=!0}),i):T.extend({},t);var e,i,n,s,o,r,a=[],l=[],c=-1,d=function(){for(// Enforce single-firing 421r=r||t.once,// Execute callbacks for all pending executions, 422// respecting firingIndex overrides and runtime changes 423o=n=!0;l.length;c=-1)for(s=l.shift();++c<a.length;)!1===a[c].apply(s[0],s[1])&&t.stopOnFalse&&(// Jump to end and forget the data so .add doesn't re-fire 424c=a.length,s=!1);t.memory||(s=!1),n=!1,r&&(a=s?[]:"")},u={// Add a callback or a collection of callbacks to the list 425add:function(){return a&&(s&&!n&&(c=a.length-1,l.push(s)),function e(i){T.each(i,function(i,n){m(n)?t.unique&&u.has(n)||a.push(n):n&&n.length&&"string"!==b(n)&&e(n)})}(arguments),s&&!n&&d()),this},// Remove a callback from the list 426remove:function(){return T.each(arguments,function(t,e){for(var i;(i=T.inArray(e,a,i))>-1;)a.splice(i,1),i<=c&&c--}),this},// Check if a given callback is in the list. 427// If no argument is given, return whether or not list has callbacks attached. 428has:function(t){return t?T.inArray(t,a)>-1:a.length>0},// Remove all callbacks from the list 429empty:function(){return a&&(a=[]),this},// Disable .fire and .add 430// Abort any current/pending executions 431// Clear all callbacks and values 432disable:function(){return r=l=[],a=s="",this},disabled:function(){return!a},// Disable .fire 433// Also disable .add unless we have memory (since it would have no effect) 434// Abort any pending executions 435lock:function(){return r=l=[],s||n||(a=s=""),this},locked:function(){return!!r},// Call all callbacks with the given context and arguments 436fireWith:function(t,e){return r||(e=[t,(e=e||[]).slice?e.slice():e],l.push(e),n||d()),this},// Call all the callbacks with the given arguments 437fire:function(){return u.fireWith(this,arguments),this},// To know if the callbacks have already been called at least once 438fired:function(){return!!o}};return u},T.extend({Deferred:function(e){var i=[// action, add listener, callbacks, 439// ... .then handlers, argument index, [final state] 440["notify","progress",T.Callbacks("memory"),T.Callbacks("memory"),2],["resolve","done",T.Callbacks("once memory"),T.Callbacks("once memory"),0,"resolved"],["reject","fail",T.Callbacks("once memory"),T.Callbacks("once memory"),1,"rejected"]],n="pending",s={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return s.then(null,t)},// Keep pipe for back-compat 441pipe:function(){var t=arguments;return T.Deferred(function(e){T.each(i,function(i,n){// Map tuples (progress, done, fail) to arguments (done, fail, progress) 442var s=m(t[n[4]])&&t[n[4]];// deferred.progress(function() { bind to newDefer or newDefer.notify }) 443// deferred.done(function() { bind to newDefer or newDefer.resolve }) 444// deferred.fail(function() { bind to newDefer or newDefer.reject }) 445o[n[1]](function(){var t=s&&s.apply(this,arguments);t&&m(t.promise)?t.promise().progress(e.notify).done(e.resolve).fail(e.reject):e[n[0]+"With"](this,s?[t]:arguments)})}),t=null}).promise()},then:function(e,n,s){var o=0;function r(e,i,n,s){return function(){var a=this,l=arguments,c=function(){var t,c;// Support: Promises/A+ section 2.3.3.3.3 446// https://promisesaplus.com/#point-59 447// Ignore double-resolution attempts 448if(!(e<o)){// Support: Promises/A+ section 2.3.1 449// https://promisesaplus.com/#point-48 450if((t=n.apply(a,l))===i.promise())throw TypeError("Thenable self-resolution");m(// Support: Promises/A+ sections 2.3.3.1, 3.5 451// https://promisesaplus.com/#point-54 452// https://promisesaplus.com/#point-75 453// Retrieve `then` only once 454c=t&&// Support: Promises/A+ section 2.3.4 455// https://promisesaplus.com/#point-64 456// Only check objects and functions for thenability 457("object"==typeof t||"function"==typeof t)&&t.then)?s?c.call(t,r(o,i,B,s),r(o,i,V,s)):(// ...and disregard older resolution values 458o++,c.call(t,r(o,i,B,s),r(o,i,V,s),r(o,i,B,i.notifyWith))):(n!==B&&(a=void 0,l=[t]),// Process the value(s) 459// Default process is resolve 460(s||i.resolveWith)(a,l))}},d=s?c:function(){try{c()}catch(t){T.Deferred.exceptionHook&&T.Deferred.exceptionHook(t,d.error),e+1>=o&&(n!==V&&(a=void 0,l=[t]),i.rejectWith(a,l))}};e?d():(T.Deferred.getErrorHook?d.error=T.Deferred.getErrorHook():T.Deferred.getStackHook&&(d.error=T.Deferred.getStackHook()),t.setTimeout(d))}}return T.Deferred(function(t){// progress_handlers.add( ... ) 461i[0][3].add(r(0,t,m(s)?s:B,t.notifyWith)),// fulfilled_handlers.add( ... ) 462i[1][3].add(r(0,t,m(e)?e:B)),// rejected_handlers.add( ... ) 463i[2][3].add(r(0,t,m(n)?n:V))}).promise()},// Get a promise for this deferred 464// If obj is provided, the promise aspect is added to the object 465promise:function(t){return null!=t?T.extend(t,s):s}},o={};// All done! 466return(// Add list-specific methods 467T.each(i,function(t,e){var r=e[2],a=e[5];// promise.progress = list.add 468// promise.done = list.add 469// promise.fail = list.add 470s[e[1]]=r.add,a&&r.add(function(){// state = "resolved" (i.e., fulfilled) 471// state = "rejected" 472n=a},// fulfilled_callbacks.disable 473i[3-t][2].disable,// fulfilled_handlers.disable 474i[3-t][3].disable,i[0][2].lock,i[0][3].lock),// progress_handlers.fire 475// fulfilled_handlers.fire 476// rejected_handlers.fire 477r.add(e[3].fire),// deferred.notify = function() { deferred.notifyWith(...) } 478// deferred.resolve = function() { deferred.resolveWith(...) } 479// deferred.reject = function() { deferred.rejectWith(...) } 480o[e[0]]=function(){return o[e[0]+"With"](this===o?void 0:this,arguments),this},// deferred.notifyWith = list.fireWith 481// deferred.resolveWith = list.fireWith 482// deferred.rejectWith = list.fireWith 483o[e[0]+"With"]=r.fireWith}),// Make the deferred a promise 484s.promise(o),e&&e.call(o,o),o)},// Deferred helper 485when:function(t){var e=arguments.length,i=e,n=Array(i),s=o.call(arguments),r=T.Deferred(),a=function(t){return function(i){n[t]=this,s[t]=arguments.length>1?o.call(arguments):i,--e||r.resolveWith(n,s)}};// Single- and empty arguments are adopted like Promise.resolve 486if(e<=1&&(U(t,r.done(a(i)).resolve,r.reject,!e),"pending"===r.state()||m(s[i]&&s[i].then)))return r.then();// Multiple arguments are aggregated like Promise.all array elements 487for(;i--;)U(s[i],a(i),r.reject);return r.promise()}});// These usually indicate a programmer mistake during development, 488// warn about them ASAP rather than swallowing them by default. 489var X=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error 490// captured before the async barrier to get the original error cause 491// which may otherwise be hidden. 492T.Deferred.exceptionHook=function(e,i){t.console&&t.console.warn&&e&&X.test(e.name)&&t.console.warn("jQuery.Deferred exception: "+e.message,e.stack,i)},T.readyException=function(e){t.setTimeout(function(){throw e})};// The deferred used on DOM ready 493var Y=T.Deferred();// The ready event handler and self cleanup method 494function G(){v.removeEventListener("DOMContentLoaded",G),t.removeEventListener("load",G),T.ready()}T.fn.ready=function(t){return Y.then(t)// Wrap jQuery.readyException in a function so that the lookup 495// happens at the time of error handling instead of callback 496// registration. 497.catch(function(t){T.readyException(t)}),this},T.extend({// Is the DOM ready to be used? Set to true once it occurs. 498isReady:!1,// A counter to track how many items to wait for before 499// the ready event fires. See trac-6781 500readyWait:1,// Handle when the DOM is ready 501ready:function(t){!(!0===t?--T.readyWait:T.isReady)&&(// Remember that the DOM is ready 502T.isReady=!0,!0!==t&&--T.readyWait>
5020||// If there are functions bound, to execute 503Y.resolveWith(v,[T]))}}),T.ready.then=Y.then,"complete"!==v.readyState&&("loading"===v.readyState||v.documentElement.doScroll)?(// Use the handy event callback 504v.addEventListener("DOMContentLoaded",G),// A fallback to window.onload, that will always work 505t.addEventListener("load",G)):t.setTimeout(T.ready);// Multifunctional method to get and set values of a collection 506// The value/s can optionally be executed if it's a function 507var K=function(t,e,i,n,s,o,r){var a=0,l=t.length,c=null==i;// Sets many values 508if("object"===b(i))for(a in s=!0,i)K(t,e,a,i[a],!0,o,r);else if(void 0!==n&&(s=!0,m(n)||(r=!0),c&&(r?(e.call(t,n),e=null):(c=e,e=function(t,e,i){return c.call(T(t),i)})),e))for(;a<l;a++)e(t[a],i,r?n:n.call(t[a],a,e(t[a],i)));return s?t:c?e.call(t):l?e(t[0],i):o},Q=/^-ms-/,Z=/-([a-z])/g;// Used by camelCase as callback to replace() 509function J(t,e){return e.toUpperCase()}// Convert dashed to camelCase; used by the css and data modules 510// Support: IE <=9 - 11, Edge 12 - 15 511// Microsoft forgot to hump their vendor prefix (trac-9572) 512function tt(t){return t.replace(Q,"ms-").replace(Z,J)}var te=function(t){// Accepts only: 513// - Node 514// - Node.ELEMENT_NODE 515// - Node.DOCUMENT_NODE 516// - Object 517// - Any 518return 1===t.nodeType||9===t.nodeType||!+t.nodeType};function ti(){this.expando=T.expando+ti.uid++}ti.uid=1,ti.prototype={cache:function(t){// Check if the owner object already has a cache 519var e=t[this.expando];return!e&&(e={},te(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,i){var n,s=this.cache(t);// Handle: [ owner, key, value ] args 520// Always use camelCase key (gh-2257) 521if("string"==typeof e)s[tt(e)]=i;else for(n in e)s[tt(n)]=e[n];return s},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][tt(e)]},access:function(t,e,i){return(// In cases where either: 522// 523// 1. No key was specified 524// 2. A string key was specified, but no value provided 525// 526// Take the "read" path and allow the get method to determine 527// which value to return, respectively either: 528// 529// 1. The entire cache object 530// 2. The data stored at the key 531// 532void 0===e||e&&"string"==typeof e&&void 0===i?this.get(t,e):(// When the key is not a string, or both a key and value 533// are specified, set or extend (existing objects) with either: 534// 535// 1. An object of properties 536// 2. A key and value 537// 538this.set(t,e,i),void 0!==i?i:e))},remove:function(t,e){var i,n=t[this.expando];if(void 0!==n){if(void 0!==e)for(i=(// We always set camelCase keys, so remove that. 539e=Array.isArray(e)?e.map(tt):((e=tt(e))in n)?[e]:e.match(R)||[]).length;i--;)delete n[e[i]];
539(void 0===e||T.isEmptyObject(n))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!T.isEmptyObject(e)}};var tn=new ti,ts=new ti,to=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,tr=/[A-Z]/g;function ta(t,e,i){var n,s;// If nothing was found internally, try to fetch any 540// data from the HTML5 data-* attribute 541if(void 0===i&&1===t.nodeType){if(n="data-"+e.replace(tr,"-$&").toLowerCase(),"string"==typeof(i=t.getAttribute(n))){try{s=i,i="true"===s||"false"!==s&&("null"===s?null:s===+s+""?+s:to.test(s)?JSON.parse(s):s)}catch(t){}// Make sure we set the data so it isn't changed later 542ts.set(t,e,i)}else i=void 0}return i}T.extend({hasData:function(t){return ts.hasData(t)||tn.hasData(t)},data:function(t,e,i){return ts.access(t,e,i)},removeData:function(t,e){ts.remove(t,e)},// TODO: Now that all calls to _data and _removeData have been replaced 543// with direct calls to dataPriv methods, these can be deprecated. 544_data:function(t,e,i){return tn.access(t,e,i)},_removeData:function(t,e){tn.remove(t,e)}}),T.fn.extend({data:function(t,e){var i,n,s,o=this[0],r=o&&o.attributes;// Gets all values 545if(void 0===t){if(this.length&&(s=ts.get(o),1===o.nodeType&&!tn.get(o,"hasDataAttrs"))){for(i=r.length;i--;)r[i]&&0===(n=r[i].name).indexOf("data-")&&ta(o,n=tt(n.slice(5)),s[n]);tn.set(o,"hasDataAttrs",!0)}return s}return(// Sets multiple values 546"object"==typeof t?this.each(function(){ts.set(this,t)}):K(this,function(e){var i;// The calling jQuery object (element matches) is not empty 547// (and therefore has an element appears at this[ 0 ]) and the 548// `value` parameter was not undefined. An empty jQuery object 549// will result in `undefined` for elem = this[ 0 ] which will 550// throw an exception if an attempt to read a data cache is made. 551if(o&&void 0===e)return void 0!==// Attempt to get data from the cache 552// The key will always be camelCased in Data 553(i=ts.get(o,t))||void 0!==// Attempt to "discover" the data in 554// HTML5 custom data-* attrs 555(i=ta(o,t))?i:// We tried really hard, but the data doesn't exist. 556void 0;// Set the data... 557this.each(function(){// We always store the camelCased key 558ts.set(this,t,e)})},null,e,arguments.length>1,null,!0))},removeData:function(t){return this.each(function(){ts.remove(this,t)})}}),T.extend({queue:function(t,e,i){var n;if(t)return e=(e||"fx")+"queue",n=tn.get(t,e),i&&(!n||Array.isArray(i)?n=tn.access(t,e,T.makeArray(i)):n.push(i)),n||[]},dequeue:function(t,e){e=e||"fx";var i=T.queue(t,e),n=i.length,s=i.shift(),o=T._queueHooks(t,e);"inprogress"===s&&(s=i.shift(),n--),s&&("fx"===e&&i.unshift("inprogress"),// Clear up the last queue stop function 559delete o.stop,s.call(t,function(){T.dequeue(t,e)},o)),!n&&o&&o.empty.fire()},// Not public - generate a queueHooks object, or return the current one 560_queueHooks:function(t,e){var i=e+"queueHooks";return tn.get(t,i)||tn.access(t,i,{empty:T.Callbacks("once memory").add(function(){tn.remove(t,[e+"queue",i])})})}}),T.fn.extend({queue:function(t,e){var i=2;return("string"!=typeof t&&(e=t,t="fx",i--),arguments.length<i)?T.queue(this[0],t):void 0===e?this:this.each(function(){var i=T.queue(this,t,e);// Ensure a hooks for this queue 561T._queueHooks(this,t),"fx"===t&&"inprogress"!==i[0]&&T.dequeue(this,t)})},dequeue:function(t){return this.each(function(){T.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},// Get a promise resolved when queues of a certain type 562// are emptied (fx is the type by default) 563promise:function(t,e){var i,n=1,s=T.Deferred(),o=this,r=this.length,a=function(){--n||s.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";r--;)(i=tn.get(o[r],t+"queueHooks"))&&i.empty&&(n++,i.empty.add(a));return a(),s.promise(e)}});var tl=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,tc=RegExp("^(?:([+-])=|)("+tl+")([a-z%]*)$","i"),td=["Top","Right","Bottom","Left"],tu=v.documentElement,tp=function(t){return T.contains(t.ownerDocument,t)},th={composed:!0};tu.getRootNode&&(tp=function(t){return T.contains(t.ownerDocument,t)||t.getRootNode(th)===t.ownerDocument});var tf=function(t,e){// Inline style trumps all 564return"none"===// isHiddenWithinTree might be called from jQuery#filter function; 565// in that case, element will be second argument 566(t=e||t).style.display||""===t.style.display&&// Otherwise, check computed style
567// Support: Firefox <=43 - 45 568// Disconnected elements can have computed display: none, so first confirm that elem is 569// in the document. 570tp(t)&&"none"===T.css(t,"display")};function tm(t,e,i,n){var s,o,r=20,a=n?function(){return n.cur()}:function(){return T.css(t,e,"")},l=a(),c=i&&i[3]||(T.cssNumber[e]?"":"px"),d=t.nodeType&&(T.cssNumber[e]||"px"!==c&&+l)&&tc.exec(T.css(t,e));if(d&&d[3]!==c){for(// Support: Firefox <=54 571// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 572l/=2,// Trust units reported by jQuery.css 573c=c||d[3],// Iteratively approximate from a nonzero starting point 574d=+l||1;r--;)// Evaluate and update our best guess (doubling guesses that zero out). 575// Finish if the scale equals or crosses 1 (making the old*new product non-positive). 576T.style(t,e,d+c),(1-o)*(1-(o=a()/l||.5))<=0&&(r=0),d/=o;d*=2,T.style(t,e,d+c),// Make sure we update the tween properties later on 577i=i||[]}return i&&(d=+d||+l||0,// Apply relative offset (+=/-=) if specified 578s=i[1]?d+(i[1]+1)*i[2]:+i[2],n&&(n.unit=c,n.start=d,n.end=s)),s}var tg={};function tv(t,e){// Determine new display value for elements that need to change 579for(var i,n,s=[],o=0,r=t.length;o<r;o++)(n=t[o]).style&&(i=n.style.display,e?("none"!==i||(s[o]=tn.get(n,"display")||null,s[o]||(n.style.display="")),""===n.style.display&&tf(n)&&(s[o]=function(t){var e,i=t.ownerDocument,n=t.nodeName,s=tg[n];return s||(e=i.body.appendChild(i.createElement(n)),s=T.css(e,"display"),e.parentNode.removeChild(e),"none"===s&&(s="block"),tg[n]=s),s}(n))):"none"!==i&&(s[o]="none",// Remember what we're overwriting 580tn.set(n,"display",i)));// Set the display of the elements in a second loop to avoid constant reflow 581for(o=0;o<r;o++)null!=s[o]&&(t[o].style.display=s[o]);return t}T.fn.extend({show:function(){return tv(this,!0)},hide:function(){return tv(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){tf(this)?T(this).show():T(this).hide()})}});var ty=/^(?:checkbox|radio)$/i,tw=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,tb=/^$|^module$|\/(?:java|ecma)script/i;t6=v.createDocumentFragment().appendChild(v.createElement("div")),// Support: Android 4.0 - 4.3 only 582// Check state lost if the name is set (trac-11217) 583// Support: Windows Web Apps (WWA) 584// `name` and `type` must use .setAttribute for WWA (trac-14901) 585(t9=v.createElement("input")).setAttribute("type","radio"),t9.setAttribute("checked","checked"),t9.setAttribute("name","t"),t6.appendChild(t9),// Support: Android <=4.1 only 586// Older WebKit doesn't clone checked state correctly in fragments 587f.checkClone=t6.cloneNode(!0).cloneNode(!0).lastChild.checked,// Support: IE <=11 only 588// Make sure textarea (and checkbox) defaultValue is properly cloned 589t6.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!t6.cloneNode(!0).lastChild.defaultValue,// Support: IE <=9 only 590// IE <=9 replaces <option> tags with their contents when inserted outside of 591// the select element. 592t6.innerHTML="<option></option>",f.option=!!t6.lastChild;// We have to close these tags to support XHTML (trac-13200) 593var tx={// XHTML parsers do not magically insert elements in the 594// same way that tag soup parsers do. So we cannot shorten 595// this by omitting <tbody> or other required elements. 596thead:[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 tk(t,e){// Support: IE <=9 - 11 only 597// Use typeof to avoid zero-argument method invocation on host objects (trac-15151) 598var i;return(i=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&C(t,e))?T.merge([t],i):i}// Mark scripts as having already been evaluated 599function tT(t,e){for(var i=0,n=t.length;i<n;i++)tn.set(t[i],"globalEval",!e||tn.get(e[i],"globalEval"))}tx.tbody=tx.tfoot=tx.colgroup=tx.caption=tx.thead,tx.th=tx.td,f.option||(tx.optgroup=tx.option=[1,"<select multiple='multiple'>","</select>"]);var tS=/<|&#?\w+;/;function tC(t,e,i,n,s){for(var o,r,a,l,c,d=e.createDocumentFragment(),u=[],p=0,h=t.length;p<h;p++)if((o=t[p])||0===o){// Add nodes directly 600if("object"===b(o))// push.apply(_, arraylike) throws on ancient WebKit 601T.merge(u,o.nodeType?[o]:o);else if(tS.test(o)){for(r=r||d.appendChild(e.createElement("div")),a=tx[(tw.exec(o)||["",""])[1].toLowerCase()]||tx._default,r.innerHTML=a[1]+T.htmlPrefilter(o)+a[2],// Descend through wrappers to the right content 602c=a[0];c--;)r=r.lastChild;// Support: Android <=4.0 only, PhantomJS 1 only 603// push.apply(_, arraylike) throws on ancient WebKit 604T.merge(u,r.childNodes),// Ensure the created nodes are orphaned (trac-12392) 605// Remember the top-level container 606(r=d.firstChild).textContent=""}else u.push(e.createTextNode(o))}for(// Remove wrapper from fragment 607d.textContent="",p=0;o=u[p++];){// Skip elements already in the context collection (trac-4087) 608if(n&&T.inArray(o,n)>-1){s&&s.push(o);continue}// Capture executables 609if(l=tp(o),// Append to fragment 610r=tk(d.appendChild(o),"script"),l&&tT(r),i)for(c=0;o=r[c++];)tb.test(o.type||"")&&i.push(o)}return d}var tA=/^([^.]*)(?:\.(.+)|)/;function tE(){return!0}function t$(){return!1}function t_(t,e,i,n,s,o){var r,a;// Types can be a map of types/handlers 611if("object"==typeof e){for(a in"string"!=typeof i&&(// ( types-Object, data ) 612n=n||i,i=void 0),e)t_(t,a,i,n,e[a],o);return t}if(null==n&&null==s?(// ( types, fn ) 613s=i,n=i=void 0):null==s&&("string"==typeof i?(// ( types, selector, fn ) 614s=n,n=void 0):(// ( types, data, fn ) 615s=n,n=i,i=void 0)),!1===s)s=t$;else if(!s)return t;return 1===o&&(r=s,// Use same guid so caller can remove using origFn 616(s=function(t){return(// Can use an empty set, since event contains the info 617T().off(t),r.apply(this,arguments))}).guid=r.guid||(r.guid=T.guid++)),t.each(function(){T.event.add(this,e,s,n,i)})}// Ensure the presence of an event listener that handles manually-triggered 618// synthetic events by interrupting progress until reinvoked in response to 619// *native* events that it fires directly, ensuring that state changes have 620// already occurred before other listeners are invoked.
621function tH(t,e,i){// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add 622if(!i){void 0===tn.get(t,e)&&T.event.add(t,e,tE);return}// Register the controller as a special universal handler for all event namespaces 623tn.set(t,e,!1),T.event.add(t,e,{namespace:!1,handler:function(t){var i,n=tn.get(this,e);if(1&t.isTrigger&&this[e]){// Interrupt processing of the outer synthetic .trigger()ed event 624if(n)(T.event.special[e]||{}).delegateType&&t.stopPropagation();else if(// Store arguments for use when handling the inner native event 625// There will always be at least one argument (an event object), so this array 626// will not be confused with a leftover capture object. 627n=o.call(arguments),tn.set(this,e,n),// Trigger the native event and capture its result 628this[e](),i=tn.get(this,e),tn.set(this,e,!1),n!==i)return(// Cancel the outer synthetic event 629t.stopImmediatePropagation(),t.preventDefault(),i)}else n&&(// ...and capture the result 630tn.set(this,e,T.event.trigger(n[0],n.slice(1),this)),// Abort handling of the native event by all jQuery handlers while allowing 631// native handlers on the same element to run. On target, this is achieved 632// by stopping immediate propagation just on the jQuery event. However, 633// the native event is re-wrapped by a jQuery one on each level of the 634// propagation so the only way to stop it for jQuery is to stop it for 635// everyone via native `stopPropagation()`. This is not a problem for 636// focus/blur which don't bubble, but it does also stop click on checkboxes 637// and radios. We accept this limitation. 638t.stopPropagation(),t.isImmediatePropagationStopped=tE)}})}/* 639 * Helper functions for managing events -- not part of the public interface. 640 * Props to Dean Edwards' addEvent library for many of the ideas. 641 */T.event={global:{},add:function(t,e,i,n,s){var o,r,a,l,c,d,u,p,h,f,m,g=tn.get(t);// Only attach events to objects that accept data 642if(te(t))for(i.handler&&(i=(o=i).handler,s=o.selector),s&&T.find.matchesSelector(tu,s),i.guid||(i.guid=T.guid++),(l=g.events)||(l=g.events=Object.create(null)),(r=g.handle)||(r=g.handle=function(e){// Discard the second event of a jQuery.event.trigger() and 643// when an event is called after a page has unloaded 644return T.event.triggered!==e.type?T.event.dispatch.apply(t,arguments):void 0}),c=// Handle multiple events separated by a space 645(e=(e||"").match(R)||[""]).length;c--;)h=m=(a=tA.exec(e[c])||[])[1],f=(a[2]||"").split(".").sort(),h&&(// If event changes its type, use the special event handlers for the changed type 646u=T.event.special[h]||{},// If selector defined, determine special event api type, otherwise given type 647h=(s?u.delegateType:u.bindType)||h,// Update special based on newly reset type 648u=T.event.special[h]||{},// handleObj is passed to all event handlers 649d=T.extend({type:h,origType:m,data:n,handler:i,guid:i.guid,selector:s,needsContext:s&&T.expr.match.needsContext.test(s),namespace:f.join(".")},o),(p=l[h])||((p=l[h]=[]).delegateCount=0,(!u.setup||!1===u.setup.call(t,n,f,r))&&t.addEventListener&&t.addEventListener(h,r)),u.add&&(u.add.call(t,d),d.handler.guid||(d.handler.guid=i.guid)),s?p.splice(p.delegateCount++,0,d):p.push(d),// Keep track of which events have ever been used, for event optimization 650T.event.global[h]=!0)},// Detach an event or set of events from an element 651remove:function(t,e,i,n,s){var o,r,a,l,c,d,u,p,h,f,m,g=tn.hasData(t)&&tn.get(t);if(g&&(l=g.events)){for(c=// Once for each type.namespace in types; type may be omitted 652(e=(e||"").match(R)||[""]).length;c--;){// Unbind all events (on this namespace, if provided) for the element 653if(h=m=(a=tA.exec(e[c])||[])[1],f=(a[2]||"").split(".").sort(),!h){for(h in l)T.event.remove(t,h+e[c],i,n,!0);continue}for(u=T.event.special[h]||{},p=l[h=(n?u.delegateType:u.bindType)||h]||[],a=a[2]&&RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),// Remove matching events 654r=o=p.length;o--;)d=p[o],(s||m===d.origType)&&(!i||i.guid===d.guid)&&(!a||a.test(d.namespace))&&(!n||n===d.selector||"**"===n&&d.selector)&&(p.splice(o,1),d.selector&&p.delegateCount--,u.remove&&u.remove.call(t,d));r&&!p.length&&(u.teardown&&!1!==u.teardown.call(t,f,g.handle)||T.removeEvent(t,h,g.handle),delete l[h])}T.isEmptyObject(l)&&tn.remove(t,"handle events")}},dispatch:function(t){var e,i,n,s,o,r,a=Array(arguments.length),l=T.event.fix(t),c=(tn.get(this,"events")||Object.create(null))[l.type]||[],d=T.event.special[l.type]||{};for(e=1,// Use the fix-ed jQuery.Event rather than the (read-only) native event 655a[0]=l;e<arguments.length;e++)a[e]=arguments[e];// Call the preDispatch hook for the mapped type, and let it bail if desired 656if(l.delegateTarget=this,!d.preDispatch||!1!==d.preDispatch.call(this,l)){for(// Determine handlers 657r=T.event.handlers.call(this,l,c),// Run delegates first; they may want to stop propagation beneath us 658e=0;(s=r[e++])&&!l.isPropagationStopped();)for(l.currentTarget=s.elem,i=0;(o=s.handlers[i++])&&!l.isImmediatePropagationStopped();)(!l.rnamespace||!1===o.namespace||l.rnamespace.test(o.namespace))&&(l.handleObj=o,l.data=o.data,void 0!==(n=((T.event.special[o.origType]||{}).handle||o.handler).apply(s.elem,a))&&!1===(l.result=n)&&(l.preventDefault(),l.stopPropagation()));return d.postDispatch&&d.postDispatch.call(this,l),l.result}},handlers:function(t,e){var i,n,s,o,r,a=[],l=e.delegateCount,c=t.target;// Find delegate handlers
659if(l&&// Support: IE <=9 660// Black-hole SVG <use> instance trees (trac-13180) 661c.nodeType&&// Support: Firefox <=42 662// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 663// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 664// Support: IE 11 only 665// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 666!("click"===t.type&&t.button>=1)){for(;c!==this;c=c.parentNode||this)// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) 667if(1===c.nodeType&&!("click"===t.type&&!0===c.disabled)){for(i=0,o=[],r={};i<l;i++)void 0===r[// Don't conflict with Object.prototype properties (trac-13203) 668s=(n=e[i]).selector+" "]&&(r[s]=n.needsContext?T(s,this).index(c)>-1:T.find(s,this,null,[c]).length),r[s]&&o.push(n);o.length&&a.push({elem:c,handlers:o})}}return(// Add the remaining (directly-bound) handlers 669c=this,l<e.length&&a.push({elem:c,handlers:e.slice(l)}),a)},addProp:function(t,e){Object.defineProperty(T.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(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(t){return t[T.expando]?t:new T.Event(t)},special:{load:{// Prevent triggered image.load events from bubbling to window.load 670noBubble:!0},click:{// Utilize native event to ensure correct state for checkable inputs 671setup:function(t){// For mutual compressibility with _default, replace `this` access with a local var. 672// `|| data` is dead code meant only to preserve the variable through minification. 673var e=this||t;// Return false to allow normal processing in the caller 674return ty.test(e.type)&&e.click&&C(e,"input")&&tH(e,"click",!0),!1},trigger:function(t){// For mutual compressibility with _default, replace `this` access with a local var. 675// `|| data` is dead code meant only to preserve the variable through minification. 676var e=this||t;// Return non-false to allow normal event-path propagation 677return ty.test(e.type)&&e.click&&C(e,"input")&&tH(e,"click"),!0},// For cross-browser consistency, suppress native .click() on links 678// Also prevent it if we're currently inside a leveraged native-event stack 679_default:function(t){var e=t.target;return ty.test(e.type)&&e.click&&C(e,"input")&&tn.get(e,"click")||C(e,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},T.removeEvent=function(t,e,i){t.removeEventListener&&t.removeEventListener(e,i)},T.Event=function(t,e){// Allow instantiation without the 'new' keyword 680if(!(this instanceof T.Event))return new T.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,// Events bubbling up the document may have been marked as prevented 681// by a handler lower down the tree; reflect the correct value. 682this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&// Support: Android <=2.3 only 683!1===t.returnValue?tE:t$,// Create target properties 684// Support: Safari <=6 - 7 only 685// Target should not be a text node (trac-504, trac-13143) 686this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&T.extend(this,e),// Create a timestamp if incoming event doesn't have one 687this.timeStamp=t&&t.timeStamp||Date.now(),// Mark it as fixed 688this[T.expando]=!0},// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 689// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 690T.Event.prototype={constructor:T.Event,isDefaultPrevented:t$,isPropagationStopped:t$,isImmediatePropagationStopped:t$,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=tE,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=tE,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=tE,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},// Includes all common event props including KeyEvent and MouseEvent specific props 691T.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},T.event.addProp),T.each({focus:"focusin",blur:"focusout"},function(t,e){function i(t){if(v.documentMode){// Support: IE 11+ 692// Attach a single focusin/focusout handler on the document while someone wants
vendor: 1,622 bytes, lines 693-713
693// focus/blur. This is because the former are synchronous in IE while the latter 694// are async. In other browsers, all those handlers are invoked synchronously. 695// `handle` from private data would already wrap the event, but we need 696// to change the `type` here. 697var i=tn.get(this,"handle"),n=T.event.fix(t);n.type="focusin"===t.type?"focus":"blur",n.isSimulated=!0,// First, handle focusin/focusout 698i(t),n.target===n.currentTarget&&// `jQuery.event.add`, so event handle will already have been set 699// by this point. 700i(n)}else // while someone wants focusin/focusout. 701T.event.simulate(e,t.target,T.event.fix(t))}T.event.special[t]={// Utilize native event if possible so blur/focus sequence is correct 702setup:function(){var n;if(// Claim the first handler 703// dataPriv.set( this, "focus", ... ) 704// dataPriv.set( this, "blur", ... ) 705tH(this,t,!0),!v.documentMode)return!1;// Support: IE 9 - 11+ 706// We use the same native handler for focusin & focus (and focusout & blur) 707// so we need to coordinate setup & teardown parts between those events. 708// Use `delegateType` as the key as `type` is already used by `leverageNative`. 709(n=tn.get(this,e))||this.addEventListener(e,i),tn.set(this,e,(n||0)+1)},trigger:function(){// Return non-false to allow normal event-path propagation 710return(// Force setup before trigger 711tH(this,t),!0)},teardown:function(){var t;if(!v.documentMode)return!1;(t=tn.get(this,e)-1)?tn.set(this,e,t):(this.removeEventListener(e,i),tn.remove(this,e))},// Suppress native focus or blur if we're currently inside 712// a leveraged native-event stack 713_default:function(e){return tn.get(e.target,t)},delegateType:e}
vendor: 1,563 bytes, lines 713-734
713,// Support: Firefox <=44 714// Firefox doesn't have focus(in | out) events 715// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 716// 717// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 718// focus(in | out) events fire after focus & blur events, 719// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order 720// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 721// 722// Support: IE 9 - 11+ 723// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, 724// attach a single handler for both events in IE. 725T.event.special[e]={setup:function(){// Handle: regular nodes (via `this.ownerDocument`), window 726// (via `this.document`) & document (via `this`). 727var n=this.ownerDocument||this.document||this,s=v.documentMode?this:n,o=tn.get(s,e);o||(v.documentMode?this.addEventListener(e,i):n.addEventListener(t,i,!0)),tn.set(s,e,(o||0)+1)},teardown:function(){var n=this.ownerDocument||this.document||this,s=v.documentMode?this:n,o=tn.get(s,e)-1;o?tn.set(s,e,o):(v.documentMode?this.removeEventListener(e,i):n.removeEventListener(t,i,!0),tn.remove(s,e))}}}),// Create mouseenter/leave events using mouseover/out and event-time checks 728// so that event delegation works in jQuery. 729// Do the same for pointerenter/pointerleave and pointerover/pointerout 730// 731// Support: Safari 7 only 732// Safari sends mouseenter too often; see: 733// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 734// for the description of the bug (it existed in older Chrome versions as well).
735T.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){T.event.special[t]={delegateType:e,bindType:e,handle:function(t){var i,n=t.relatedTarget,s=t.handleObj;return n&&(n===this||T.contains(this,n))||(t.type=s.origType,i=s.handler.apply(this,arguments),t.type=e),i}}}),T.fn.extend({on:function(t,e,i,n){return t_(this,t,e,i,n)},one:function(t,e,i,n){return t_(this,t,e,i,n,1)},off:function(t,e,i){var n,s;if(t&&t.preventDefault&&t.handleObj)return(// ( event ) dispatched jQuery.Event 736n=t.handleObj,T(t.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this);if("object"==typeof t){// ( types-object [, selector] ) 737for(s in t)this.off(s,e,t[s]);return this}return(!1===e||"function"==typeof e)&&(// ( types [, fn] ) 738i=e,e=void 0),!1===i&&(i=t$),this.each(function(){T.event.remove(this,t,i,e)})}});var // In IE/Edge using regex groups here causes severe slowdowns. 739// See https://connect.microsoft.com/IE/feedback/details/1736512/ 740tO=/<script|<style|<link/i,tD=/checked\s*(?:[^=]|=\s*.checked.)/i,tP=/^\s*<!\[CDATA\[|\]\]>\s*$/g;// Prefer a tbody over its parent table for containing new rows 741function tj(t,e){return C(t,"table")&&C(11!==e.nodeType?e:e.firstChild,"tr")&&T(t).children("tbody")[0]||t}// Replace/restore the type attribute of script elements for safe DOM manipulation 742function tI(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function tM(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function tL(t,e){var i,n,s,o,r,a;if(1===e.nodeType){// 1. Copy private data: events, handlers, etc. 743if(tn.hasData(t)&&(a=tn.get(t).events))for(s in tn.remove(e,"handle events"),a)for(i=0,n=a[s].length;i<n;i++)T.event.add(e,s,a[s][i]);ts.hasData(t)&&(o=ts.access(t),r=T.extend({},o),ts.set(e,r))}}function tN(t,e,i,n){// Flatten any nested arrays 744e=r(e);var s,o,a,l,c,d,u=0,p=t.length,h=p-1,g=e[0],v=m(g);// We can't cloneNode fragments that contain checked, in WebKit 745if(v||p>1&&"string"==typeof g&&!f.checkClone&&tD.test(g))return t.each(function(s){var o=t.eq(s);v&&(e[0]=g.call(this,s,o.html())),tN(o,e,i,n)});if(p&&(o=(s=tC(e,t[0].ownerDocument,!1,t,n)).firstChild,1===s.childNodes.length&&(s=o),o||n)){// Use the original fragment for the last item 746// instead of the first because it can end up 747// being emptied incorrectly in certain situations (trac-8070). 748for(l=(a=T.map(tk(s,"script"),tI)).length;u<p;u++)c=s,u!==h&&(c=T.clone(c,!0,!0),l&&// push.apply(_, arraylike) throws on ancient WebKit 749T.merge(a,tk(c,"script"))),i.call(t[u],c,u);if(l)// Evaluate executable scripts on first document insertion 750for(d=a[a.length-1].ownerDocument,// Re-enable scripts 751T.map(a,tM),u=0;u<l;u++)c=a[u],tb.test(c.type||"")&&!tn.access(c,"globalEval")&&T.contains(d,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?T._evalUrl&&!c.noModule&&T._evalUrl(c.src,{nonce:c.nonce||c.getAttribute("nonce")},d):// needed as in XML documents they're already not visible when 752// inspecting element contents and in HTML documents they have no 753// meaning but we're preserving that logic for backwards compatibility. 754// This will be removed completely in 4.0. See gh-4904. 755w(c.textContent.replace(tP,""),c,d))}return t}function tq(t,e,i){for(var n,s=e?T.filter(e,t):t,o=0;null!=(n=s[o]);o++)i||1!==n.nodeType||T.cleanData(tk(n)),n.parentNode&&(i&&tp(n)&&tT(tk(n,"script")),n.parentNode.removeChild(n));return t}T.extend({htmlPrefilter:function(t){return t},clone:function(t,e,i){var n,s,o,r,a=t.cloneNode(!0),l=tp(t);// Fix IE cloning issues 756if(!f.noCloneChecked&&(1===t.nodeType||11===t.nodeType)&&!T.isXMLDoc(t))for(n=0,// We eschew jQuery#find here for performance reasons: 757// https://jsperf.com/getall-vs-sizzle/2 758r=tk(a),s=(o=tk(t)).length;n<s;n++)!// Fix IE bugs, see support tests 759function(t,e){var i=e.nodeName.toLowerCase();"input"===i&&ty.test(t.type)?e.checked=t.checked:("input"===i||"textarea"===i)&&(e.defaultValue=t.defaultValue)}(o[n],r[n]);// Copy the events from the original to the clone 760if(e){if(i)for(n=0,o=o||tk(t),r=r||tk(a),s=o.length;n<s;n++)tL(o[n],r[n]);else tL(t,a)}// Return the cloned set 761return(// Preserve script evaluation history 762(r=tk(a,"script")).length>0&&tT(r,!l&&tk(t,"script")),a)},cleanData:function(t){for(var e,i,n,s=T.event.special,o=0;void 0!==(i=t[o]);
762o++)if(te(i)){if(e=i[tn.expando]){if(e.events)for(n in e.events)s[n]?T.event.remove(i,n):T.removeEvent(i,n,e.handle);// Support: Chrome <=35 - 45+ 763// Assign undefined instead of using delete, see Data#remove 764i[tn.expando]=void 0}i[ts.expando]&&// Assign undefined instead of using delete, see Data#remove 765(i[ts.expando]=void 0)}}}),T.fn.extend({detach:function(t){return tq(this,t,!0)},remove:function(t){return tq(this,t)},text:function(t){return K(this,function(t){return void 0===t?T.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=t)})},null,t,arguments.length)},append:function(){return tN(this,arguments,function(t){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&tj(this,t).appendChild(t)})},prepend:function(){return tN(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=tj(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return tN(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return tN(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(// Prevent memory leaks 766T.cleanData(tk(t,!1)),// Remove any remaining nodes 767t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return T.clone(this,t,e)})},html:function(t){return K(this,function(t){var e=this[0]||{},i=0,n=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;// See if we can take a shortcut and just use innerHTML 768if("string"==typeof t&&!tO.test(t)&&!tx[(tw.exec(t)||["",""])[1].toLowerCase()]){t=T.htmlPrefilter(t);try{for(;i<n;i++)e=this[i]||{},1===e.nodeType&&(T.cleanData(tk(e,!1)),e.innerHTML=t);e=0;// If using innerHTML throws an exception, use the fallback method 769}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];// Make the changes, replacing each non-ignored context element with the new content 770return tN(this,arguments,function(e){var i=this.parentNode;0>T.inArray(this,t)&&(T.cleanData(tk(this)),i&&i.replaceChild(e,this));// Force callback invocation 771},t)}}),T.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){T.fn[t]=function(t){for(var i,n=[],s=T(t),o=s.length-1,r=0;r<=o;r++)i=r===o?this:this.clone(!0),T(s[r])[e](i),// Support: Android <=4.0 only, PhantomJS 1 only 772// .get() because push.apply(_, arraylike) throws on ancient WebKit 773a.apply(n,i.get());return this.pushStack(n)}});var tz=RegExp("^("+tl+")(?!px)[a-z%]+$","i"),tF=/^--/,tW=function(e){// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) 774// IE throws on elements created in popups 775// FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 776var i=e.ownerDocument.defaultView;return i&&i.opener||(i=t),i.getComputedStyle(e)},tR=function(t,e,i){var n,s,o={};// Remember the old values, and insert the new ones 777for(s in e)o[s]=t.style[s],t.style[s]=e[s];// Revert the old values 778for(s in n=i.call(t),e)t.style[s]=o[s];return n},tB=RegExp(td.join("|"),"i");function tV(t,e,i){var n,s,o,r,a=tF.test(e),// Retrieving style before computed somehow 779// fixes an issue with getting wrong values 780// on detached elements 781l=t.style;return(i=i||tW(t))&&(// Support: IE <=9 - 11+ 782// IE only supports `"float"` in `getPropertyValue`; in computed styles 783// it's only available as `"cssFloat"`. We no longer modify properties 784// sent to `.css()` apart from camelCasing, so we need to check both. 785// Normally, this would create difference in behavior: if 786// `getPropertyValue` returns an empty string, the value returned 787// by `.css()` would be `undefined`. This is usually the case for 788// disconnected elements. However, in IE even disconnected elements 789// with no styles return `"none"` for `getPropertyValue( "float" )` 790r=i.getPropertyValue(e)||i[e],a&&r&&// Spec requires trimming whitespace for custom properties (gh-4926). 791// Firefox only trims leading whitespace. Chrome just collapses 792// both leading & trailing whitespace to a single space. 793// 794// Fall back to `undefined` if empty string returned. 795// This collapses a missing definition with property defined 796// and set to an empty string but there's no standard API 797// allowing us to differentiate them without a performance penalty 798// and returning `undefined` aligns with older jQuery. 799// 800// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED 801// as whitespace while CSS does not, but this is not a problem 802// because CSS preprocessing replaces them with U+000A LINE FEED 803// (which *is* CSS whitespace) 804// https://www.w3.org/TR/css-syntax-3/#input-preprocessing 805(r=r.replace(H,"$1")||void 0),""!==r||tp(t)||(r=T.style(t,e)),!f.pixelBoxStyles()&&tz.test(r)&&tB.test(e)&&(// Remember the original values 806n=l.width,s=l.minWidth,o=l.maxWidth,// Put in the new values to get a computed value out 807l.minWidth=l.maxWidth=l.width=r,r=i.width,// Revert the changed values 808l.width=n,l.minWidth=s,l.maxWidth=o)),void 0!==r?// IE returns zIndex value as an integer. 809r+"":r}function tU(t,e){// Define the hook, we'll check on the first run if it's really needed. 810return{get:function(){if(t()){// Hook not needed (or it's not possible to use it due 811// to missing dependency), remove it. 812delete this.get;return}// Hook needed; redefine it so that the support test is not executed again. 813return(this.get=e).apply(this,arguments)}}}!function(){// Executing both pixelPosition & boxSizingReliable tests require only one layout 814// so they're executed at the same time to save the second computation. 815function e(){// This is a singleton, we need to execute it only once 816if(d){c.style.cssText="position:absolute;
816left:-11111px;width:60px;margin-top:1px;padding:0;border:0",d.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",tu.appendChild(c).appendChild(d);var e=t.getComputedStyle(d);n="1%"!==e.top,// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 817l=12===i(e.marginLeft),// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 818// Some styles come back with percentage values, even though they shouldn't 819d.style.right="60%",r=36===i(e.right),// Support: IE 9 - 11 only 820// Detect misreporting of content dimensions for box-sizing:border-box elements 821s=36===i(e.width),// Support: IE 9 only 822// Detect overflow:scroll screwiness (gh-3699) 823// Support: Chrome <=64 824// Don't get tricked when zoom affects offsetWidth (gh-4029) 825d.style.position="absolute",o=12===i(d.offsetWidth/3),tu.removeChild(c),// Nullify the div so it wouldn't be stored in the memory and 826// it will also be a sign that checks already performed 827d=null}}function i(t){return Math.round(parseFloat(t))}var n,s,o,r,a,l,c=v.createElement("div"),d=v.createElement("div");d.style&&(// Support: IE <=9 - 11 only 828// Style of cloned element affects source element cloned (trac-8908) 829d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===d.style.backgroundClip,T.extend(f,{boxSizingReliable:function(){return e(),s},pixelBoxStyles:function(){return e(),r},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),o},// Support: IE 9 - 11+, Edge 15 - 18+ 830// IE/Edge misreport `getComputedStyle` of table rows with width/height 831// set in CSS while `offset*` properties report correct values. 832// Behavior in IE 9 is more subtle than in newer versions & it passes 833// some versions of this test; make sure not to make it pass there! 834// 835// Support: Firefox 70+ 836// Only Firefox includes border widths 837// in computed dimensions. (gh-4529) 838reliableTrDimensions:function(){var e,i,n,s;return null==a&&(e=v.createElement("table"),i=v.createElement("tr"),n=v.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",i.style.cssText="box-sizing:content-box;border:1px solid",// Support: Chrome 86+ 839// Height set through cssText does not get applied. 840// Computed height then comes back as 0. 841i.style.height="1px",n.style.height="9px",// Support: Android 8 Chrome 86+ 842// In our bodyBackground.html iframe, 843// display for all div elements is set to "inline", 844// which causes a problem only in Android 8 Chrome 86. 845// Ensuring the div is `display: block` 846// gets around this issue. 847n.style.display="block",tu.appendChild(e).appendChild(i).appendChild(n),a=parseInt((s=t.getComputedStyle(i)).height,10)+parseInt(s.borderTopWidth,10)+parseInt(s.borderBottomWidth,10)===i.offsetHeight,tu.removeChild(e)),a}}))}();var tX=["Webkit","Moz","ms"],tY=v.createElement("div").style,tG={};// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 848function tK(t){return T.cssProps[t]||tG[t]||(t in tY?t:tG[t]=// Return a vendor-prefixed property or undefined 849function(t){for(// Check for vendor prefixed names 850var e=t[0].toUpperCase()+t.slice(1),i=tX.length;i--;)if((t=tX[i]+e)in tY)return t}(t)||t)}var // except "table", "table-cell", or "table-caption" 851// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 852tQ=/^(none|table(?!-c[ea]).+)/,tZ={position:"absolute",visibility:"hidden",display:"block"},tJ={letterSpacing:"0",fontWeight:"400"};function t0(t,e,i){// Any relative (+/-) values have already been 853// normalized at this point 854var n=tc.exec(e);return n?Math.max(0,n[2]-(i||0))+(n[3]||"px"):e}function t1(t,e,i,n,s,o){var r="width"===e?1:0,a=0,l=0,c=0;// Adjustment may not be necessary 855if(i===(n?"border":"content"))return 0;for(;r<4;r+=2)"margin"===i&&(c+=T.css(t,i+td[r],!0,s)),n?("content"===i&&(l-=T.css(t,"padding"+td[r],!0,s)),"margin"!==i&&(l-=T.css(t,"border"+td[r]+"Width",!0,s))):(// Add padding 856l+=T.css(t,"padding"+td[r],!0,s),"padding"!==i?l+=T.css(t,"border"+td[r]+"Width",!0,s):a+=T.css(t,"border"+td[r]+"Width",!0,s));return!n&&o>=0&&// Assuming integer scroll gutter, subtract the rest and round down 857(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-l-a-.5))||0),l+c}function t2(t,e,i){// Start with computed style 858var n=tW(t),s=(!f.boxSizingReliable()||i)&&"border-box"===T.css(t,"boxSizing",!1,n),o=s,r=tV(t,e,n),a="offset"+e[0].toUpperCase()+e.slice(1);// Support: Firefox <=54 859// Return a confounding non-pixel value or feign ignorance, as appropriate. 860if(tz.test(r)){if(!i)return r;r="auto"}// Adjust for the element's box model
vendor: 4,629 bytes, lines 861-899
861return(!f.boxSizingReliable()&&s||// Support: IE 10 - 11+, Edge 15 - 18+ 862// IE/Edge misreport `getComputedStyle` of table rows with width/height 863// set in CSS while `offset*` properties report correct values. 864// Interestingly, in some cases IE 9 doesn't suffer from this issue. 865!f.reliableTrDimensions()&&C(t,"tr")||// Fall back to offsetWidth/offsetHeight when value is "auto" 866// This happens for inline elements with no explicit setting (gh-3571) 867"auto"===r||// Support: Android <=4.1 - 4.3 only 868// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 869!parseFloat(r)&&"inline"===T.css(t,"display",!1,n))&&// Make sure the element is visible & connected 870t.getClientRects().length&&(s="border-box"===T.css(t,"boxSizing",!1,n),// Where available, offsetWidth/offsetHeight approximate border box dimensions. 871// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 872// retrieved value as a content box dimension. 873(o=a in t)&&(r=t[a])),// Normalize "" and auto 874(r=parseFloat(r)||0)+t1(t,e,i||(s?"border":"content"),o,n,r)+"px"}function t3(t,e,i,n,s){return new t3.prototype.init(t,e,i,n,s)}T.extend({// Add in style property hooks for overriding the default 875// behavior of getting and setting a style property 876cssHooks:{opacity:{get:function(t,e){if(e){// We should always get a number back from opacity 877var i=tV(t,"opacity");return""===i?"1":i}}}},// Don't automatically add "px" to these possibly-unitless properties 878cssNumber:{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,// SVG-related 879fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},// Add in properties whose names you wish to fix before 880// setting or getting the value 881cssProps:{},// Get and set the style property on a DOM Node 882style:function(t,e,i,n){// Don't set styles on text and comment nodes 883if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){// Make sure that we're working with the right name 884var s,o,r,a=tt(e),l=tF.test(e),c=t.style;// Check if we're setting a value 885if(l||(e=tK(a)),// Gets hook for the prefixed version, then unprefixed version 886r=T.cssHooks[e]||T.cssHooks[a],void 0===i)return(// If a hook was provided get the non-computed value from there 887r&&"get"in r&&void 0!==(s=r.get(t,!1,n))?s:c[e]);"string"==(o=typeof i)&&(s=tc.exec(i))&&s[1]&&(i=tm(t,e,s),// Fixes bug trac-9237 888o="number"),null!=i&&i==i&&("number"!==o||l||(i+=s&&s[3]||(T.cssNumber[a]?"":"px")),f.clearCloneStyle||""!==i||0!==e.indexOf("background")||(c[e]="inherit"),r&&"set"in r&&void 0===(i=r.set(t,i,n))||(l?c.setProperty(e,i):c[e]=i))}},css:function(t,e,i,n){var s,o,r,a=tt(e);return(// Make numeric if forced or a qualifier was provided and val looks numeric 889(tF.test(e)||(e=tK(a)),// Try prefixed name followed by the unprefixed name 890(r=T.cssHooks[e]||T.cssHooks[a])&&"get"in r&&(s=r.get(t,!0,i)),void 0===s&&(s=tV(t,e,n)),"normal"===s&&e in tJ&&(s=tJ[e]),""===i||i)?(o=parseFloat(s),!0===i||isFinite(o)?o||0:s):s)}}),T.each(["height","width"],function(t,e){T.cssHooks[e]={get:function(t,i,n){if(i)// but it must have a current display style that would benefit 891return!tQ.test(T.css(t,"display"))||// Support: Safari 8+ 892// Table columns in Safari have non-zero offsetWidth & zero 893// getBoundingClientRect().width unless display is changed. 894// Support: IE <=11 only 895// Running getBoundingClientRect on a disconnected node 896// in IE throws an error. 897t.getClientRects().length&&t.getBoundingClientRect().width?t2(t,e,n):tR(t,tZ,function(){return t2(t,e,n)})},set:function(t,i,n){var s,o=tW(t),// to avoid forcing a reflow. 898r=!f.scrollboxSize()&&"absolute"===o.position,a=(r||n)&&"border-box"===T.css(t,"boxSizing",!1,o),l=n?t1(t,e,n,a,o):0;return a&&r&&(l-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-t1(t,e,"border",!1,o)-.5)),l&&(s=tc.exec(i))&&"px"!==(s[3]||"px")&&(t.style[e]=i,i=T.css(t,e)),t0(t,i,l)}}}),T.cssHooks.marginLeft=tU(f.reliableMarginLeft,function(t,e){if(e)return(parseFloat(tV(t,"marginLeft"))||t.getBoundingClientRect().left-tR(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),// These hooks are used by animate to expand properties 899T.each({margin:"",padding:"",border:"Width"},function(t,e){T.cssHooks[t+e]={expand:function(i){for(var n=0,s={},o="string"==typeof i?i.split(" "):[i];n<4;n++)s[t+td[n]+e]=o[n]||o[n-2]||o[0];return s}},"margin"!==t&&(T.cssHooks[t+e].set=t0)}
899),T.fn.extend({css:function(t,e){return K(this,function(t,e,i){var n,s,o={},r=0;if(Array.isArray(e)){for(n=tW(t),s=e.length;r<s;r++)o[e[r]]=T.css(t,e[r],!1,n);return o}return void 0!==i?T.style(t,e,i):T.css(t,e)},t,e,arguments.length>1)}}),T.Tween=t3,t3.prototype={constructor:t3,init:function(t,e,i,n,s,o){this.elem=t,this.prop=i,this.easing=s||T.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=n,this.unit=o||(T.cssNumber[i]?"":"px")},cur:function(){var t=t3.propHooks[this.prop];return t&&t.get?t.get(this):t3.propHooks._default.get(this)},run:function(t){var e,i=t3.propHooks[this.prop];return this.options.duration?this.pos=e=T.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),i&&i.set?i.set(this):t3.propHooks._default.set(this),this}},t3.prototype.init.prototype=t3.prototype,t3.propHooks={_default:{get:function(t){var e;return(// Use a property on the element directly when it is not a DOM element, 900// or when there is no matching style property that exists. 9011!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:// Passing an empty string as a 3rd parameter to .css will automatically 902// attempt a parseFloat and fallback to a string if the parse fails. 903// Simple values such as "10px" are parsed to Float; 904// complex values such as "rotate(1rad)" are returned as-is. 905(e=T.css(t.elem,t.prop,""))&&"auto"!==e?e:0)},set:function(t){T.fx.step[t.prop]?T.fx.step[t.prop](t):1===t.elem.nodeType&&(T.cssHooks[t.prop]||null!=t.elem.style[tK(t.prop)])?T.style(t.elem,t.prop,t.now+t.unit):t.elem[t.prop]=t.now}}},// Support: IE <=9 only 906// Panic based approach to setting things on disconnected nodes 907t3.propHooks.scrollTop=t3.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},T.easing={linear:function(t){return t},swing:function(t){return .5-Math.cos(t*Math.PI)/2},_default:"swing"},T.fx=t3.prototype.init,// Back compat <1.8 extension point 908T.fx.step={};var t6,t9,t5,t4,t7=/^(?:toggle|show|hide)$/,t8=/queueHooks$/;// Animations created synchronously will run synchronously 909function et(){return t.setTimeout(function(){t5=void 0}),t5=Date.now()}// Generate parameters to create a standard animation 910function ee(t,e){var i,n=0,s={height:t};for(// If we include width, step value is 1 to do all cssExpand values, 911// otherwise step value is 2 to skip over Left and Right 912e=e?1:0;n<4;n+=2-e)s["margin"+(i=td[n])]=s["padding"+i]=t;return e&&(s.opacity=s.width=t),s}function ei(t,e,i){for(var n,s=(en.tweeners[e]||[]).concat(en.tweeners["*"]),o=0,r=s.length;o<r;o++)if(n=s[o].call(i,e,t))return n}function en(t,e,i){var n,s,o=0,r=en.prefilters.length,a=T.Deferred().always(function(){// Don't match elem in the :animated selector 913delete l.elem}),l=function(){if(s)return!1;for(var e=t5||et(),i=Math.max(0,c.startTime+c.duration-e),n=1-(i/c.duration||0),o=0,r=c.tweens.length;o<r;o++)c.tweens[o].run(n);return(// If there's more to do, yield 914(a.notifyWith(t,[c,n,i]),n<1&&r)?i:(r||a.notifyWith(t,[c,1,0]),// Resolve the animation and report its conclusion 915a.resolveWith(t,[c]),!1))},c=a.promise({elem:t,props:T.extend({},e),opts:T.extend(!0,{specialEasing:{},easing:T.easing._default},i),originalProperties:e,originalOptions:i,startTime:t5||et(),duration:i.duration,tweens:[],createTween:function(e,i){var n=T.Tween(t,c.opts,e,i,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(n),n},stop:function(e){var i=0,// otherwise we skip this part 916n=e?c.tweens.length:0;if(s)return this;for(s=!0;i<n;i++)c.tweens[i].run(1);return e?(a.notifyWith(t,[c,1,0]),a.resolveWith(t,[c,e])):a.rejectWith(t,[c,e]),this}}),d=c.props;for(function(t,e){var i,n,s,o,r;// camelCase, specialEasing and expand cssHook pass 917for(i in t)if(s=e[n=tt(i)],Array.isArray(o=t[i])&&(s=o[1],o=t[i]=o[0]),i!==n&&(t[n]=o,delete t[i]),(r=T.cssHooks[n])&&("expand"in r))// Not quite $.extend, this won't overwrite existing keys. 918// Reusing 'index' because we have the correct "name" 919for(i in o=r.expand(o),delete t[n],o)(i in t)||(t[i]=o[i],e[i]=s);else e[n]=s}(d,c.opts.specialEasing);o<r;
vendor: 6,040 bytes, lines 919-945
919o++)if(n=en.prefilters[o].call(c,t,d,c.opts))return m(n.stop)&&(T._queueHooks(c.elem,c.opts.queue).stop=n.stop.bind(n)),n;return T.map(d,ei,c),m(c.opts.start)&&c.opts.start.call(t,c),// Attach callbacks from options 920c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),T.fx.timer(T.extend(l,{elem:t,anim:c,queue:c.opts.queue})),c}T.Animation=T.extend(en,{tweeners:{"*":[function(t,e){var i=this.createTween(t,e);return tm(i.elem,t,tc.exec(e),i),i}]},tweener:function(t,e){m(t)?(e=t,t=["*"]):t=t.match(R);for(var i,n=0,s=t.length;n<s;n++)i=t[n],en.tweeners[i]=en.tweeners[i]||[],en.tweeners[i].unshift(e)},prefilters:[function(t,e,i){var n,s,o,r,a,l,c,d,u="width"in e||"height"in e,p=this,h={},f=t.style,m=t.nodeType&&tf(t),g=tn.get(t,"fxshow");// Detect show/hide animations 921for(n in i.queue||(null==(r=T._queueHooks(t,"fx")).unqueued&&(r.unqueued=0,a=r.empty.fire,r.empty.fire=function(){r.unqueued||a()}),r.unqueued++,p.always(function(){// Ensure the complete handler is called before this completes 922p.always(function(){r.unqueued--,T.queue(t,"fx").length||r.empty.fire()})})),e)if(s=e[n],t7.test(s)){if(delete e[n],o=o||"toggle"===s,s===(m?"hide":"show")){// Pretend to be hidden if this is a "show" and 923// there is still data from a stopped show/hide 924if("show"!==s||!g||void 0===g[n])continue;m=!0}h[n]=g&&g[n]||T.style(t,n)}if(!(!// Bail out if this is a no-op like .hide().hide() 925(l=!T.isEmptyObject(e))&&T.isEmptyObject(h)))for(n in u&&1===t.nodeType&&(// Support: IE <=9 - 11, Edge 12 - 15 926// Record all 3 overflow attributes because IE does not infer the shorthand 927// from identically-valued overflowX and overflowY and Edge just mirrors 928// the overflowX value there. 929i.overflow=[f.overflow,f.overflowX,f.overflowY],null==// Identify a display type, preferring old show/hide data over the CSS cascade 930(c=g&&g.display)&&(c=tn.get(t,"display")),"none"===(d=T.css(t,"display"))&&(c?d=c:(// Get nonempty value(s) by temporarily forcing visibility 931tv([t],!0),c=t.style.display||c,d=T.css(t,"display"),tv([t]))),("inline"===d||"inline-block"===d&&null!=c)&&"none"===T.css(t,"float")&&(l||(p.done(function(){f.display=c}),null!=c||(c="none"===(d=f.display)?"":d)),f.display="inline-block")),i.overflow&&(f.overflow="hidden",p.always(function(){f.overflow=i.overflow[0],f.overflowX=i.overflow[1],f.overflowY=i.overflow[2]})),// Implement show/hide animations 932l=!1,h)l||(g?"hidden"in g&&(m=g.hidden):g=tn.access(t,"fxshow",{display:c}),o&&(g.hidden=!m),m&&tv([t],!0),/* eslint-disable no-loop-func */p.done(function(){for(n in m||tv([t]),tn.remove(t,"fxshow"),h)T.style(t,n,h[n])})),// Per-property setup 933l=ei(m?g[n]:0,n,p),n in g||(g[n]=l.start,m&&(l.end=l.start,l.start=0))}],prefilter:function(t,e){e?en.prefilters.unshift(t):en.prefilters.push(t)}}),T.speed=function(t,e,i){var n=t&&"object"==typeof t?T.extend({},t):{complete:i||!i&&e||m(t)&&t,duration:t,easing:i&&e||e&&!m(e)&&e};return T.fx.off?n.duration=0:"number"!=typeof n.duration&&(n.duration in T.fx.speeds?n.duration=T.fx.speeds[n.duration]:n.duration=T.fx.speeds._default),(null==n.queue||!0===n.queue)&&(n.queue="fx"),// Queueing 934n.old=n.complete,n.complete=function(){m(n.old)&&n.old.call(this),n.queue&&T.dequeue(this,n.queue)},n},T.fn.extend({fadeTo:function(t,e,i,n){// Show any hidden elements after setting opacity to 0 935return this.filter(tf).css("opacity",0).show()// Animate to the value specified 936.end().animate({opacity:e},t,i,n)},animate:function(t,e,i,n){var s=T.isEmptyObject(t),o=T.speed(e,i,n),r=function(){// Operate on a copy of prop so per-property easing won't be lost 937var e=en(this,T.extend({},t),o);(s||tn.get(this,"finish"))&&e.stop(!0)};return r.finish=r,s||!1===o.queue?this.each(r):this.queue(o.queue,r)},stop:function(t,e,i){var n=function(t){var e=t.stop;delete t.stop,e(i)};return"string"!=typeof t&&(i=e,e=t,t=void 0),e&&this.queue(t||"fx",[]),this.each(function(){var e=!0,s=null!=t&&t+"queueHooks",o=T.timers,r=tn.get(this);if(s)r[s]&&r[s].stop&&n(r[s]);else for(s in r)r[s]&&r[s].stop&&t8.test(s)&&n(r[s]);for(s=o.length;s--;)o[s].elem===this&&(null==t||o[s].queue===t)&&(o[s].anim.stop(i),e=!1,o.splice(s,1));(e||!i)&&T.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,i=tn.get(this),n=i[t+"queue"],s=i[t+"queueHooks"],o=T.timers,r=n?n.length:0;// Look for any active animations, and finish them 938for(// Enable finishing flag on private data 939i.finish=!0,// Empty the queue first 940T.queue(this,t,[]),s&&s.stop&&s.stop.call(this,!0),e=o.length;e--;)o[e].elem===this&&o[e].queue===t&&(o[e].anim.stop(!0),o.splice(e,1));// Look for any animations in the old queue and finish them 941for(e=0;e<r;e++)n[e]&&n[e].finish&&n[e].finish.call(this);// Turn off finishing flag 942delete i.finish})}}),T.each(["toggle","show","hide"],function(t,e){var i=T.fn[e];T.fn[e]=function(t,n,s){return null==t||"boolean"==typeof t?i.apply(this,arguments):this.animate(ee(e,!0),t,n,s)}}),// Generate shortcuts for custom animations 943T.each({slideDown:ee("show"),slideUp:ee("hide"),slideToggle:ee("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){T.fn[t]=function(t,i,n){return this.animate(e,t,i,n)}}),T.timers=[],T.fx.tick=function(){var t,e=0,i=T.timers;for(t5=Date.now();e<i.length;e++)(t=i[e])()||i[e]!==t||i.splice(e--,1);i.length||T.fx.stop(),t5=void 0},T.fx.timer=function(t){T.timers.push(t),T.fx.start()},T.fx.interval=13,T.fx.start=function(){t4||(t4=!0,function e(){t4&&(!1===v.hidden&&t.requestAnimationFrame?t.requestAnimationFrame(e):t.setTimeout(e,T.fx.interval),T.fx.tick())}())},T.fx.stop=function(){t4=null},T.fx.speeds={slow:600,fast:200,// Default speed 944_default:400},// Based off of the plugin by Clint Helfers, with permission. 945T.fn.delay=function(e,i){return e=T.fx&&T.fx.speeds[e]||e,i=i||"fx",this.queue(i,function(i,n){var s=t.setTimeout(i,e);n.stop=function(){t.clearTimeout(s)}})},es=v.createElement("input"),eo=v.createElement("select").appendChild(v.createElement("option")),es.type="checkbox",//
945Support: Android <=4.3 only 946// Default value for a checkbox should be "on" 947f.checkOn=""!==es.value,// Support: IE <=11 only 948// Must access selectedIndex to make default options select 949f.optSelected=eo.selected,// Support: IE <=11 only 950// An input loses its value after becoming a radio 951(es=v.createElement("input")).value="t",es.type="radio",f.radioValue="t"===es.value;var es,eo,er,ea=T.expr.attrHandle;T.fn.extend({attr:function(t,e){return K(this,T.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){T.removeAttr(this,t)})}}),T.extend({attr:function(t,e,i){var n,s,o=t.nodeType;// Don't get/set attributes on text, comment and attribute nodes 952if(3!==o&&8!==o&&2!==o){// Fallback to prop when attributes are not supported 953if(void 0===t.getAttribute)return T.prop(t,e,i);if(1===o&&T.isXMLDoc(t)||(s=T.attrHooks[e.toLowerCase()]||(T.expr.match.bool.test(e)?er:void 0)),void 0!==i){if(null===i){T.removeAttr(t,e);return}return s&&"set"in s&&void 0!==(n=s.set(t,i,e))?n:(t.setAttribute(e,i+""),i)}return s&&"get"in s&&null!==(n=s.get(t,e))?n:null==(n=T.find.attr(t,e))?void 0:n}},attrHooks:{type:{set:function(t,e){if(!f.radioValue&&"radio"===e&&C(t,"input")){var i=t.value;return t.setAttribute("type",e),i&&(t.value=i),e}}}},removeAttr:function(t,e){var i,n=0,// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 954s=e&&e.match(R);if(s&&1===t.nodeType)for(;i=s[n++];)t.removeAttribute(i)}}),// Hooks for boolean attributes 955er={set:function(t,e,i){return!1===e?T.removeAttr(t,i):t.setAttribute(i,i),i}},T.each(T.expr.match.bool.source.match(/\w+/g),function(t,e){var i=ea[e]||T.find.attr;ea[e]=function(t,e,n){var s,o,r=e.toLowerCase();return n||(// Avoid an infinite loop by temporarily removing this function from the getter 956o=ea[r],ea[r]=s,s=null!=i(t,e,n)?r:null,ea[r]=o),s}});var el=/^(?:input|select|textarea|button)$/i,ec=/^(?:a|area)$/i;// Strip and collapse whitespace according to HTML spec 957// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 958function ed(t){return(t.match(R)||[]).join(" ")}function eu(t){return t.getAttribute&&t.getAttribute("class")||""}function ep(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(R)||[]}T.fn.extend({prop:function(t,e){return K(this,T.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[T.propFix[t]||t]})}}),T.extend({prop:function(t,e,i){var n,s,o=t.nodeType;// Don't get/set properties on text, comment and attribute nodes 959if(3!==o&&8!==o&&2!==o)return(1===o&&T.isXMLDoc(t)||(// Fix name and attach hooks 960e=T.propFix[e]||e,s=T.propHooks[e]),void 0!==i)?s&&"set"in s&&void 0!==(n=s.set(t,i,e))?n:t[e]=i:s&&"get"in s&&null!==(n=s.get(t,e))?n:t[e]},propHooks:{tabIndex:{get:function(t){// Support: IE <=9 - 11 only 961// elem.tabIndex doesn't always return the 962// correct value when it hasn't been explicitly set 963// Use proper attribute retrieval (trac-12072) 964var e=T.find.attr(t,"tabindex");return e?parseInt(e,10):el.test(t.nodeName)||ec.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(T.propHooks.selected={get:function(t){/* eslint no-unused-expressions: "off" */var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){/* eslint no-unused-expressions: "off" */var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),T.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){T.propFix[this.toLowerCase()]=this}),T.fn.extend({addClass:function(t){var e,i,n,s,o,r;return m(t)?this.each(function(e){T(this).addClass(t.call(this,e,eu(this)))}):(e=ep(t)).length?this.each(function(){if(n=eu(this),i=1===this.nodeType&&" "+ed(n)+" "){for(o=0;o<e.length;o++)s=e[o],0>i.indexOf(" "+s+" ")&&(i+=s+" ");n!==// Only assign if different to avoid unneeded rendering. 965(r=ed(i))&&this.setAttribute("class",r)}}):this},removeClass:function(t){var e,i,n,s,o,r;return m(t)?this.each(function(e){T(this).removeClass(t.call(this,e,eu(this)))}):arguments.length?(e=ep(t)).length?this.each(function(){if(n=eu(this),// This expression is here for better compressibility (see addClass) 966i=1===this.nodeType&&" "+ed(n)+" "){for(o=0;o<e.length;
966o++)// Remove *all* instances 967for(s=e[o];i.indexOf(" "+s+" ")>-1;)i=i.replace(" "+s+" "," ");n!==// Only assign if different to avoid unneeded rendering. 968(r=ed(i))&&this.setAttribute("class",r)}}):this:this.attr("class","")},toggleClass:function(t,e){var i,n,s,o,r=typeof t,a="string"===r||Array.isArray(t);return m(t)?this.each(function(i){T(this).toggleClass(t.call(this,i,eu(this),e),e)}):"boolean"==typeof e&&a?e?this.addClass(t):this.removeClass(t):(i=ep(t),this.each(function(){if(a)for(s=0,// Toggle individual class names 969o=T(this);s<i.length;s++)n=i[s],o.hasClass(n)?o.removeClass(n):o.addClass(n);else(void 0===t||"boolean"===r)&&((n=eu(this))&&tn.set(this,"__className__",n),this.setAttribute&&this.setAttribute("class",n||!1===t?"":tn.get(this,"__className__")||""))}))},hasClass:function(t){var e,i,n=0;for(e=" "+t+" ";i=this[n++];)if(1===i.nodeType&&(" "+ed(eu(i))+" ").indexOf(e)>-1)return!0;return!1}});var eh=/\r/g;T.fn.extend({val:function(t){var e,i,n,s=this[0];return arguments.length?(n=m(t),this.each(function(i){var s;1!==this.nodeType||(null==(s=n?t.call(this,i,T(this).val()):t)?s="":"number"==typeof s?s+="":Array.isArray(s)&&(s=T.map(s,function(t){return null==t?"":t+""})),(e=T.valHooks[this.type]||T.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,s,"value")||(this.value=s))})):s?(e=T.valHooks[s.type]||T.valHooks[s.nodeName.toLowerCase()])&&"get"in e&&void 0!==(i=e.get(s,"value"))?i:"string"==typeof(i=s.value)?i.replace(eh,""):null==i?"":i:void 0}}),T.extend({valHooks:{option:{get:function(t){var e=T.find.attr(t,"value");return null!=e?e:// option.text throws exceptions (trac-14686, trac-14858) 970// Strip and collapse whitespace 971// https://html.spec.whatwg.org/#strip-and-collapse-whitespace 972ed(T.text(t))}},select:{get:function(t){var e,i,n,s=t.options,o=t.selectedIndex,r="select-one"===t.type,a=r?null:[],l=r?o+1:s.length;// Loop through all the selected options 973for(n=o<0?l:r?o:0;n<l;n++)// Support: IE <=9 only 974// IE8-9 doesn't update selected after form reset (trac-2551) 975if(((i=s[n]).selected||n===o)&&// Don't return options that are disabled or in a disabled optgroup 976!i.disabled&&(!i.parentNode.disabled||!C(i.parentNode,"optgroup"))){// We don't need an array for one selects 977if(// Get the specific value for the option 978e=T(i).val(),r)return e;// Multi-Selects return an array 979a.push(e)}return a}
979,set:function(t,e){for(var i,n,s=t.options,o=T.makeArray(e),r=s.length;r--;)((n=s[r]).selected=T.inArray(T.valHooks.option.get(n),o)>-1)&&(i=!0);return i||(t.selectedIndex=-1),o}}}}),// Radios and checkboxes getter/setter 980T.each(["radio","checkbox"],function(){T.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=T.inArray(T(t).val(),e)>-1}},f.checkOn||(T.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});// Return jQuery for attributes-only inclusion 981var ef=t.location,em={guid:Date.now()},eg=/\?/;// Cross-browser xml parsing 982T.parseXML=function(e){var i,n;if(!e||"string"!=typeof e)return null;// Support: IE 9 - 11 only 983// IE throws on parseFromString with invalid input. 984try{i=new t.DOMParser().parseFromString(e,"text/xml")}catch(t){}return n=i&&i.getElementsByTagName("parsererror")[0],(!i||n)&&T.error("Invalid XML: "+(n?T.map(n.childNodes,function(t){return t.textContent}).join("\n"):e)),i};var ev=/^(?:focusinfocus|focusoutblur)$/,ey=function(t){t.stopPropagation()};T.extend(T.event,{trigger:function(e,i,n,s){var o,r,a,l,c,d,p,h,f=[n||v],y=u.call(e,"type")?e.type:e,w=u.call(e,"namespace")?e.namespace.split("."):[];// Don't do events on text and comment nodes 985if(r=h=a=n=n||v,!(3===n.nodeType||8===n.nodeType||ev.test(y+T.event.triggered))&&(y.indexOf(".")>-1&&(y=// Namespaced trigger; create a regexp to match event type in handle() 986(w=y.split(".")).shift(),w.sort()),c=0>y.indexOf(":")&&"on"+y,// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 987// Caller can pass in a jQuery.Event object, Object, or just an event type string 988(e=e[T.expando]?e:new T.Event(y,"object"==typeof e&&e)).isTrigger=s?2:3,e.namespace=w.join("."),e.rnamespace=e.namespace?RegExp("(^|\\.)"+w.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,// Clean up the event in case it is being reused 989e.result=void 0,e.target||(e.target=n),// Clone any incoming data and prepend the event, creating the handler arg list 990i=null==i?[e]:T.makeArray(i,[e]),// Allow special events to draw outside the lines 991p=T.event.special[y]||{},s||!p.trigger||!1!==p.trigger.apply(n,i))){// Determine event propagation path in advance, per W3C events spec (trac-9951) 992// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) 993if(!s&&!p.noBubble&&!g(n)){for(l=p.delegateType||y,ev.test(l+y)||(r=r.parentNode);r;r=r.parentNode)f.push(r),a=r;a===(n.ownerDocument||v)&&f.push(a.defaultView||a.parentWindow||t)}for(// Fire handlers on the event path 994o=0;(r=f[o++])&&!e.isPropagationStopped();)h=r,e.type=o>1?l:p.bindType||y,// jQuery handler 995(d=(tn.get(r,"events")||Object.create(null))[e.type]&&tn.get(r,"handle"))&&d.apply(r,i),// Native handler 996(d=c&&r[c])&&d.apply&&te(r)&&(e.result=d.apply(r,i),!1===e.result&&e.preventDefault());return e.type=y,!s&&!e.isDefaultPrevented()&&(!p._default||!1===p._default.apply(f.pop(),i))&&te(n)&&c&&m(n[y])&&!g(n)&&(// Don't re-trigger an onFOO event when we call its FOO() method 997(a=n[c])&&(n[c]=null),// Prevent re-triggering of the same event, since we already bubbled it above 998T.event.triggered=y,e.isPropagationStopped()&&h.addEventListener(y,ey),n[y](),e.isPropagationStopped()&&h.removeEventListener(y,ey),T.event.triggered=void 0,a&&(n[c]=a)),e.result}},// Piggyback on a donor event to simulate a different one 999// Used only for `focus(in | out)` events 1000simulate:function(t,e,i){var n=T.extend(new T.Event,i,{type:t,isSimulated:!0});T.event.trigger(n,null,e)}}),T.fn.extend({trigger:function(t,e){return this.each(function(){T.event.trigger(t,e,this)})},triggerHandler:function(t,e){var i=this[0];if(i)return T.event.trigger(t,e,i,!0)}});var ew=/\[\]$/,eb=/\r?\n/g,ex=/^(?:submit|button|image|reset|file)$/i,ek=/^(?:input|select|textarea|keygen)/i;// Serialize an array of form elements or a set of 1001// key/values into a query string 1002T.param=function(t,e){var i,n=[],s=function(t,e){// If value is a function, invoke it and use its return value 1003var i=m(e)?e():e;n[n.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==i?"":i)};if(null==t)return"";// If an array was passed in, assume that it is an array of form elements. 1004if(Array.isArray(t)||t.jquery&&!T.isPlainObject(t))T.each(t,function(){s(this.name,this.value)});else // did it), otherwise encode params recursively. 1005for(i in t)!function t(e,i,n,s){var o;if(Array.isArray(i))T.each(i,function(i,o){n||ew.test(e)?s(e,o):t(e+"["+("object"==typeof o&&null!=o?i:"")+"]",o,n,s)});else if(n||"object"!==b(i))s(e,i);else for(o in i)t(e+"["+o+"]",i[o],n,s)}(i,t[i],e,s);// Return the resulting serialization 1006return n.join("&")},T.fn.extend({serialize:function(){return T.param(this.serializeArray())},serializeArray:function(){return this.map(function(){// Can add propHook for "elements" to filter or add form elements 1007var t=T.prop(this,"elements");return t?T.makeArray(t):this}
vendor: 5,792 bytes, lines 1007-1072
1007).filter(function(){var t=this.type;// Use .is( ":disabled" ) so that fieldset[disabled] works 1008return this.name&&!T(this).is(":disabled")&&ek.test(this.nodeName)&&!ex.test(t)&&(this.checked||!ty.test(t))}).map(function(t,e){var i=T(this).val();return null==i?null:Array.isArray(i)?T.map(i,function(t){return{name:e.name,value:t.replace(eb,"\r\n")}}):{name:e.name,value:i.replace(eb,"\r\n")}}).get()}});var eT=/%20/g,eS=/#.*$/,eC=/([?&])_=[^&]*/,eA=/^(.*?):[ \t]*([^\r\n]*)$/mg,eE=/^(?:GET|HEAD)$/,e$=/^\/\//,/* Prefilters 1009 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 1010 * 2) These are called: 1011 * - BEFORE asking for a transport 1012 * - AFTER param serialization (s.data is a string if s.processData is true) 1013 * 3) key is the dataType 1014 * 4) the catchall symbol "*" can be used 1015 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 1016 */e_={},/* Transports bindings 1017 * 1) key is the dataType 1018 * 2) the catchall symbol "*" can be used 1019 * 3) selection will start with transport dataType and THEN go to "*" if needed 1020 */eH={},eO="*/".concat("*"),eD=v.createElement("a");// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 1021function eP(t){// dataTypeExpression is optional and defaults to "*" 1022return function(e,i){"string"!=typeof e&&(i=e,e="*");var n,s=0,o=e.toLowerCase().match(R)||[];if(m(i))// For each dataType in the dataTypeExpression 1023for(;n=o[s++];)"+"===n[0]?(t[n=n.slice(1)||"*"]=t[n]||[]).unshift(i):(t[n]=t[n]||[]).push(i)}}// Base inspection function for prefilters and transports 1024function ej(t,e,i,n){var s={},o=t===eH;function r(a){var l;return s[a]=!0,T.each(t[a]||[],function(t,a){var c=a(e,i,n);return"string"!=typeof c||o||s[c]?o?!(l=c):void 0:(e.dataTypes.unshift(c),r(c),!1)}),l}return r(e.dataTypes[0])||!s["*"]&&r("*")}// A special extend for ajax options 1025// that takes "flat" options (not to be deep extended) 1026// Fixes trac-9887 1027function eI(t,e){var i,n,s=T.ajaxSettings.flatOptions||{};for(i in e)void 0!==e[i]&&((s[i]?t:n||(n={}))[i]=e[i]);return n&&T.extend(!0,t,n),t}eD.href=ef.href,T.extend({// Counter for holding the number of active queries 1028active:0,// Last-Modified header cache for next request 1029lastModified:{},etag:{},ajaxSettings:{url:ef.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ef.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",/* 1030 timeout: 0, 1031 data: null, 1032 dataType: null, 1033 username: null, 1034 password: null, 1035 cache: null, 1036 throws: false, 1037 traditional: false, 1038 headers: {}, 1039 */accepts:{"*":eO,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},// Data converters 1040// Keys separate source (or catchall "*") and destination types with a single space 1041converters:{// Convert anything to text 1042"* text":String,// Text to html (true = no transformation) 1043"text html":!0,// Evaluate text as a json expression 1044"text json":JSON.parse,// Parse text as xml 1045"text xml":T.parseXML},// For options that shouldn't be deep extended: 1046// you can add your own custom options here if 1047// and when you create one that shouldn't be 1048// deep extended (see ajaxExtend) 1049flatOptions:{url:!0,context:!0}},// Creates a full fledged settings object into target 1050// with both ajaxSettings and settings fields. 1051// If target is omitted, writes into ajaxSettings. 1052ajaxSetup:function(t,e){return e?eI(eI(t,T.ajaxSettings),e):eI(T.ajaxSettings,t)},ajaxPrefilter:eP(e_),ajaxTransport:eP(eH),// Main method 1053ajax:function(e,i){"object"==typeof e&&(i=e,e=void 0),// Force options to be an object 1054i=i||{};var n,s,o,r,a,l,c,d,u,p,h=T.ajaxSetup({},i),f=h.context||h,m=h.context&&(f.nodeType||f.jquery)?T(f):T.event,g=T.Deferred(),y=T.Callbacks("once memory"),w=h.statusCode||{},b={},x={},k="canceled",S={readyState:0,// Builds headers hashtable if needed 1055getResponseHeader:function(t){var e;if(c){if(!r)for(r={};e=eA.exec(o);)r[e[1].toLowerCase()+" "]=(r[e[1].toLowerCase()+" "]||[]).concat(e[2]);e=r[t.toLowerCase()+" "]}return null==e?null:e.join(", ")},// Raw string 1056getAllResponseHeaders:function(){return c?o:null},// Caches the header 1057setRequestHeader:function(t,e){return null==c&&(b[t=x[t.toLowerCase()]=x[t.toLowerCase()]||t]=e),this},// Overrides response content-type header 1058overrideMimeType:function(t){return null==c&&(h.mimeType=t),this},// Status-dependent callbacks 1059statusCode:function(t){var e;if(t){if(c)S.always(t[S.status]);else for(e in t)w[e]=[w[e],t[e]]}return this},// Cancel the request 1060abort:function(t){var e=t||k;return n&&n.abort(e),C(0,e),this}};// A cross-domain request is in order when the origin doesn't match the current origin. 1061if(// Attach deferreds 1062g.promise(S),// Add protocol if not provided (prefilters might expect it) 1063// Handle falsy url in the settings object (trac-10093: consistency with old signature) 1064// We also use the url parameter if available 1065h.url=((e||h.url||ef.href)+"").replace(e$,ef.protocol+"//"),// Alias method option to type as per ticket trac-12004 1066h.type=i.method||i.type||h.method||h.type,// Extract dataTypes list 1067h.dataTypes=(h.dataType||"*").toLowerCase().match(R)||[""],null==h.crossDomain){l=v.createElement("a");// Support: IE <=8 - 11, Edge 12 - 15 1068// IE throws exception on accessing the href property if url is malformed, 1069// e.g. http://example.com:80x/ 1070try{l.href=h.url,// Support: IE <=8 - 11 only 1071// Anchor's host property isn't correctly set when s.url is relative 1072l.href=l.href,h.crossDomain=eD.protocol+"//"+eD.host!=l.protocol+"//"+l.host}catch(t){// If there is an error parsing the URL, assume it is crossDomain,
vendor: 9,337 bytes, lines 1073-1150
1073// it can be rejected by the transport if it is invalid 1074h.crossDomain=!0}}// If request was aborted inside a prefilter, stop there 1075if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=T.param(h.data,h.traditional)),// Apply prefilters 1076ej(e_,h,i,S),c)return S;// Check for headers option 1077for(u in// We can fire global events as of now if asked to 1078// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) 1079(d=T.event&&h.global)&&0==T.active++&&T.event.trigger("ajaxStart"),// Uppercase the type 1080h.type=h.type.toUpperCase(),// Determine if request has content 1081h.hasContent=!eE.test(h.type),// Save the URL in case we're toying with the If-Modified-Since 1082// and/or If-None-Match header later on 1083// Remove hash to simplify url manipulation 1084s=h.url.replace(eS,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(eT,"+")):(// Remember the hash so we can put it back 1085p=h.url.slice(s.length),h.data&&(h.processData||"string"==typeof h.data)&&(s+=(eg.test(s)?"&":"?")+h.data,// trac-9682: remove data so that it's not used in an eventual retry 1086delete h.data),!1===h.cache&&(s=s.replace(eC,"$1"),p=(eg.test(s)?"&":"?")+"_="+em.guid+++p),// Put hash and anti-cache on the URL that will be requested (gh-1732) 1087h.url=s+p),h.ifModified&&(T.lastModified[s]&&S.setRequestHeader("If-Modified-Since",T.lastModified[s]),T.etag[s]&&S.setRequestHeader("If-None-Match",T.etag[s])),(h.data&&h.hasContent&&!1!==h.contentType||i.contentType)&&S.setRequestHeader("Content-Type",h.contentType),// Set the Accepts header for the server, depending on the dataType 1088S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+eO+"; q=0.01":""):h.accepts["*"]),h.headers)S.setRequestHeader(u,h.headers[u]);// Allow custom headers/mimetypes and early abort 1089if(h.beforeSend&&(!1===h.beforeSend.call(f,S,h)||c))return S.abort();// If no transport, we auto-abort 1090if(// Aborting is no longer a cancellation 1091k="abort",// Install callbacks on deferreds 1092y.add(h.complete),S.done(h.success),S.fail(h.error),// Get transport 1093n=ej(eH,h,i,S)){// If request was aborted inside ajaxSend, stop there 1094if(S.readyState=1,d&&m.trigger("ajaxSend",[S,h]),c)return S;h.async&&h.timeout>0&&(a=t.setTimeout(function(){S.abort("timeout")},h.timeout));try{c=!1,n.send(b,C)}catch(t){// Rethrow post-completion exceptions 1095if(c)throw t;// Propagate others as results 1096C(-1,t)}}else C(-1,"No Transport");// Callback for when everything is done 1097function C(e,i,r,l){var u,p,v,b,x,k=i;c||(c=!0,a&&t.clearTimeout(a),// Dereference transport for early garbage collection 1098// (no matter how long the jqXHR object will be used) 1099n=void 0,// Cache response headers 1100o=l||"",// Set readyState 1101S.readyState=e>0?4:0,// Determine if successful 1102u=e>=200&&e<300||304===e,r&&(b=/* Handles responses to an ajax request: 1103 * - finds the right dataType (mediates between content-type and expected dataType) 1104 * - returns the corresponding response 1105 */function(t,e,i){// Remove auto dataType and get content-type in the process 1106for(var n,s,o,r,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===n&&(n=t.mimeType||e.getResponseHeader("Content-Type"));// Check if we're dealing with a known content-type 1107if(n){for(s in a)if(a[s]&&a[s].test(n)){l.unshift(s);break}}// Check to see if we have a response for the expected dataType 1108if(l[0]in i)o=l[0];else{// Try convertible dataTypes 1109for(s in i){if(!l[0]||t.converters[s+" "+l[0]]){o=s;break}r||(r=s)}// Or just use first one 1110o=o||r}// If we found a dataType 1111// We add the dataType to the list if needed 1112// and return the corresponding response 1113if(o)return o!==l[0]&&l.unshift(o),i[o]}(h,S,r)),!u&&T.inArray("script",h.dataTypes)>-1&&0>T.inArray("json",h.dataTypes)&&(h.converters["text script"]=function(){}),// Convert no matter what (that way responseXXX fields are always set) 1114b=/* Chain conversions given the request and the original response 1115 * Also sets the responseXXX fields on the jqXHR instance 1116 */function(t,e,i,n){var s,o,r,a,l,c={},d=t.dataTypes.slice();// Create converters map with lowercased keys 1117if(d[1])for(r in t.converters)c[r.toLowerCase()]=t.converters[r];// Convert to each sequential dataType 1118for(o=d.shift();o;)if(t.responseFields[o]&&(i[t.responseFields[o]]=e),!l&&n&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=d.shift()){// There's only work to do if current dataType is non-auto 1119if("*"===o)o=l;else if("*"!==l&&l!==o){// If none found, seek a pair 1120if(!// Seek a direct converter 1121(r=c[l+" "+o]||c["* "+o])){for(s in c)if(// If conv2 outputs current 1122(a=s.split(" "))[1]===o&&// If prev can be converted to accepted input 1123(r=c[l+" "+a[0]]||c["* "+a[0]])){!0===r?r=c[s]:!0!==c[s]&&(o=a[0],d.unshift(a[1]));break}}// Apply converter (if not an equivalence) 1124if(!0!==r){// Unless errors are allowed to bubble, catch and return them 1125if(r&&t.throws)e=r(e);else try{e=r(e)}catch(t){return{state:"parsererror",error:r?t:"No conversion from "+l+" to "+o}}}}}return{state:"success",data:e}}(h,b,S,u),u?(h.ifModified&&((x=S.getResponseHeader("Last-Modified"))&&(T.lastModified[s]=x),(x=S.getResponseHeader("etag"))&&(T.etag[s]=x)),204===e||"HEAD"===h.type?k="nocontent":304===e?k="notmodified":(k=b.state,p=b.data,u=!(v=b.error))):(// Extract error from statusText and normalize for non-aborts 1126v=k,(e||!k)&&(k="error",e<0&&(e=0))),// Set data for the fake xhr object 1127S.status=e,S.statusText=(i||k)+"",u?g.resolveWith(f,[p,k,S]):g.rejectWith(f,[S,k,v]),// Status-dependent callbacks 1128S.statusCode(w),w=void 0,d&&m.trigger(u?"ajaxSuccess":"ajaxError",[S,h,u?p:v]),// Complete 1129y.fireWith(f,[S,k]),!d||(m.trigger("ajaxComplete",[S,h]),--T.active||T.event.trigger("ajaxStop")))}return S},getJSON:function(t,e,i){return T.get(t,e,i,"json")},getScript:function(t,e){return T.get(t,void 0,e,"script")}}),T.each(["get","post"],function(t,e){T[e]=function(t,i,n,s){// The url can be an options object (which then must have .url) 1130return m(i)&&(s=s||n,n=i,i=void 0),T.ajax(T.extend({url:t,type:e,dataType:s,data:i,success:n},T.isPlainObject(t)&&t))}}),T.ajaxPrefilter(function(t){var e;for(e in t.headers)"content-type"===e.toLowerCase()&&(t.contentType=t.headers[e]||"")}),T._evalUrl=function(t,e,i){return T.ajax({url:t,// Make this explicit, since user can override this through ajaxSetup (trac-11264) 1131type:"GET",dataType:"script",cache:!0,async:!1,global:!1,// Only evaluate the response if it is successful (gh-4126) 1132// dataFilter is not invoked for failure responses, so using it instead 1133// of the default converter is kludgy but it works. 1134converters:{"text script":function(){}},dataFilter:function(t){T.globalEval(t,e,i)}})},T.fn.extend({wrapAll:function(t){var e;return this[0]&&(m(t)&&(t=t.call(this[0])),// The elements to wrap the target around 1135e=T(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return m(t)?this.each(function(e){T(this).wrapInner(t.call(this,e))}):this.each(function(){var e=T(this),i=e.contents();i.length?i.wrapAll(t):e.append(t)})},wrap:function(t){var e=m(t);return this.each(function(i){T(this).wrapAll(e?t.call(this,i):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){T(this).replaceWith(this.childNodes)}),this}}),T.expr.pseudos.hidden=function(t){return!T.expr.pseudos.visible(t)},T.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},T.ajaxSettings.xhr=function(){try{return new t.XMLHttpRequest}catch(t){}};var eM={// File protocol always yields status code 0, assume 200 11360:200,// Support: IE <=9 only 1137// trac-1450: sometimes IE returns 1223 when it should be 204 11381223:204},eL=T.ajaxSettings.xhr();f.cors=!!eL&&"withCredentials"in eL,f.ajax=eL=!!eL,T.ajaxTransport(function(e){var i,n;// Cross domain only allowed if supported through XMLHttpRequest 1139if(f.cors||eL&&!e.crossDomain)return{send:function(s,o){var r,a=e.xhr();// Apply custom fields if provided 1140if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)a[r]=e.xhrFields[r];// Set headers 1141for(r in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||s["X-Requested-With"]||(s["X-Requested-With"]="XMLHttpRequest"),s)a.setRequestHeader(r,s[r]);// Callback 1142i=function(t){return function(){i&&(i=n=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(eM[a.status]||a.status,a.statusText,"text"!==// IE9 has no XHR2 but throws on binary (trac-11426) 1143// For XHR2 non-text, let the caller handle it (gh-2498) 1144(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},// Listen to events 1145a.onload=i(),n=a.onerror=a.ontimeout=i("error"),void 0!==a.onabort?a.onabort=n:a.onreadystatechange=function(){4===a.readyState&&// but that will not handle a native abort 1146// Also, save errorCallback to a variable 1147// as xhr.onerror cannot be accessed 1148t.setTimeout(function(){i&&n()})},// Create the abort callback 1149i=i("abort");try{// Do send the request (this may raise an exception) 1150a.send(e.hasContent&&e.data||null)}
1150catch(t){// trac-14683: Only rethrow if this hasn't been notified as an error yet 1151if(i)throw t}},abort:function(){i&&i()}}}),// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 1152T.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),// Install script dataType 1153T.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return T.globalEval(t),t}}}),// Handle cache's special case and crossDomain 1154T.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),// Bind script tag hack transport 1155T.ajaxTransport("script",function(t){// This transport only deals with cross domain or forced-by-attrs requests 1156if(t.crossDomain||t.scriptAttrs){var e,i;return{send:function(n,s){e=T("<script>").attr(t.scriptAttrs||{}).prop({charset:t.scriptCharset,src:t.url}).on("load error",i=function(t){e.remove(),i=null,t&&s("error"===t.type?404:200,t.type)}),// Use native DOM manipulation to avoid our domManip AJAX trickery 1157v.head.appendChild(e[0])},abort:function(){i&&i()}}}});var eN=[],eq=/(=)\?(?=&|$)|\?\?/;// Default jsonp settings 1158T.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=eN.pop()||T.expando+"_"+em.guid++;return this[t]=!0,t}}),// Detect, normalize options and install callbacks for jsonp requests 1159T.ajaxPrefilter("json jsonp",function(e,i,n){var s,o,r,a=!1!==e.jsonp&&(eq.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&eq.test(e.data)&&"data");// Handle iff the expected data type is "jsonp" or we have a parameter to set 1160if(a||"jsonp"===e.dataTypes[0])// Delegate to script 1161return(// Get callback name, remembering preexisting value associated with it 1162s=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(eq,"$1"+s):!1!==e.jsonp&&(e.url+=(eg.test(e.url)?"&":"?")+e.jsonp+"="+s),// Use data converter to retrieve json after script execution 1163e.converters["script json"]=function(){return r||T.error(s+" was not called"),r[0]},// Force json dataType 1164e.dataTypes[0]="json",// Install callback 1165o=t[s],t[s]=function(){r=arguments},// Clean-up function (fires after converters) 1166n.always(function(){void 0===o?T(t).removeProp(s):t[s]=o,e[s]&&(// Make sure that re-using the options doesn't screw things around 1167e.jsonpCallback=i.jsonpCallback,// Save the callback name for future use 1168eN.push(s)),r&&m(o)&&o(r[0]),r=o=void 0}),"script")}),// Support: Safari 8 only 1169// In Safari 8 documents created via document.implementation.createHTMLDocument 1170// collapse sibling forms: the second one becomes a child of the first one. 1171// Because of that, this security measure has to be disabled in Safari 8. 1172// https://bugs.webkit.org/show_bug.cgi?id=137337 1173f.createHTMLDocument=((i=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===i.childNodes.length),// Argument "data" should be string of html 1174// context (optional): If specified, the fragment will be created in this context, 1175// defaults to document 1176// keepScripts (optional): If true, will include scripts passed in the html string 1177T.parseHTML=function(t,e,i){var n,s,o;return"string"!=typeof t?[]:("boolean"==typeof e&&(i=e,e=!1),e||(f.createHTMLDocument?(// Set the base href for the created document 1178// so any parsed elements with URLs 1179// are based on the document's URL (gh-2965) 1180(n=(e=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,e.head.appendChild(n)):e=v),s=M.exec(t),o=!i&&[],s)?[e.createElement(s[1])]:(s=tC([t],e,o),o&&o.length&&T(o).remove(),T.merge([],s.childNodes))},/** 1181 * Load a url into a page 1182 */T.fn.load=function(t,e,i){var n,s,o,r=this,a=t.indexOf(" ");return a>-1&&(n=ed(t.slice(a)),t=t.slice(0,a)),m(e)?(// We assume that it's the callback 1183i=e,e=void 0):e&&"object"==typeof e&&(s="POST"),r.length>0&&T.ajax({url:t,// If "type" variable is undefined, then "GET" method will be used. 1184// Make value of this field explicit since 1185// user can override it through ajaxSetup method 1186type:s||"GET",dataType:"html",data:e}).done(function(t){// Save response for use in complete callback 1187o=arguments,r.html(n?// Exclude scripts to avoid IE 'Permission Denied' errors 1188T("<div>").append(T.parseHTML(t)).find(n):t);// If the request succeeds, this function gets "data", "status", "jqXHR" 1189// but they are ignored because response was set above. 1190// If it fails, this function gets "jqXHR", "status", "error" 1191}).always(i&&function(t,e){r.each(function(){i.apply(this,o||[t.responseText,e,t])})}),this},T.expr.pseudos.animated=function(t){return T.grep(T.timers,function(e){return t===e.elem}).length}
vendor: 4,646 bytes, lines 1191-1226
1191,T.offset={setOffset:function(t,e,i){var n,s,o,r,a,l,c=T.css(t,"position"),d=T(t),u={};"static"===c&&(t.style.position="relative"),a=d.offset(),o=T.css(t,"top"),l=T.css(t,"left"),("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1?(r=(n=d.position()).top,s=n.left):(r=parseFloat(o)||0,s=parseFloat(l)||0),m(e)&&(e=e.call(t,i,T.extend({},a))),null!=e.top&&(u.top=e.top-a.top+r),null!=e.left&&(u.left=e.left-a.left+s),"using"in e?e.using.call(t,u):d.css(u)}},T.fn.extend({// offset() relates an element's border box to the document origin 1192offset:function(t){// Preserve chaining for setter 1193if(arguments.length)return void 0===t?this:this.each(function(e){T.offset.setOffset(this,t,e)});var e,i,n=this[0];if(n)return(// Return zeros for disconnected and hidden (display: none) elements (gh-2310) 1194// Support: IE <=11 only 1195// Running getBoundingClientRect on a 1196// disconnected node in IE throws an error 1197n.getClientRects().length?(// Get document-relative position by adding viewport scroll to viewport-relative gBCR 1198e=n.getBoundingClientRect(),i=n.ownerDocument.defaultView,{top:e.top+i.pageYOffset,left:e.left+i.pageXOffset}):{top:0,left:0})},// position() relates an element's margin box to its offset parent's padding box 1199// This corresponds to the behavior of CSS absolute positioning 1200position:function(){if(this[0]){var t,e,i,n=this[0],s={top:0,left:0};// position:fixed elements are offset from the viewport, which itself always has zero offset 1201if("fixed"===T.css(n,"position"))e=n.getBoundingClientRect();else{for(e=this.offset(),// Account for the *real* offset parent, which can be the document or its root element 1202// when a statically positioned element is identified 1203i=n.ownerDocument,t=n.offsetParent||i.documentElement;t&&(t===i.body||t===i.documentElement)&&"static"===T.css(t,"position");)t=t.parentNode;t&&t!==n&&1===t.nodeType&&(// Incorporate borders into its offset, since they are outside its content origin 1204s=T(t).offset(),s.top+=T.css(t,"borderTopWidth",!0),s.left+=T.css(t,"borderLeftWidth",!0))}// Subtract parent offsets and element margins 1205return{top:e.top-s.top-T.css(n,"marginTop",!0),left:e.left-s.left-T.css(n,"marginLeft",!0)}}},// This method will return documentElement in the following cases: 1206// 1) For the element inside the iframe without offsetParent, this method will return 1207// documentElement of the parent window 1208// 2) For the hidden or detached element 1209// 3) For body or html element, i.e. in case of the html node - it will return itself 1210// 1211// but those exceptions were never presented as a real life use-cases 1212// and might be considered as more preferable results. 1213// 1214// This logic, however, is not guaranteed and can change at any point in the future 1215offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===T.css(t,"position");)t=t.offsetParent;return t||tu})}}),// Create scrollLeft and scrollTop methods 1216T.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var i="pageYOffset"===e;T.fn[t]=function(n){return K(this,function(t,n,s){// Coalesce documents and windows 1217var o;if(g(t)?o=t:9===t.nodeType&&(o=t.defaultView),void 0===s)return o?o[e]:t[n];o?o.scrollTo(i?o.pageXOffset:s,i?s:o.pageYOffset):t[n]=s},t,n,arguments.length)}}),// Support: Safari <=7 - 9.1, Chrome <=37 - 49 1218// Add the top/left cssHooks using jQuery.fn.position 1219// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 1220// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 1221// getComputedStyle returns percent when specified for top/left/bottom/right; 1222// rather than make the css module depend on the offset module, just check for it here 1223T.each(["top","left"],function(t,e){T.cssHooks[e]=tU(f.pixelPosition,function(t,i){if(i)// If curCSS returns percentage, fallback to offset 1224return i=tV(t,e),tz.test(i)?T(t).position()[e]+"px":i})}),// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 1225T.each({Height:"height",Width:"width"},function(t,e){T.each({padding:"inner"+t,content:e,"":"outer"+t},function(i,n){// Margin is only for outerHeight, outerWidth 1226T.fn[n]=function(s,o){var r=arguments.length&&(i||"boolean"!=typeof s),a=i||(!0===s||!0===o?"margin":"border");return K(this,function(e,i,s){var o;return g(e)?0===n.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===s?T.css(e,i,a):T.style(e,i,s,a)},e,r?s:void 0,r)}})}),T.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){T.fn[e]=function(t){return this.on(e,t)}}
1226),T.fn.extend({bind:function(t,e,i){return this.on(t,null,e,i)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,i,n){return this.on(e,t,i,n)},undelegate:function(t,e,i){// ( namespace ) or ( selector, types [, fn] ) 1227return 1==arguments.length?this.off(t,"**"):this.off(e,t||"**",i)},hover:function(t,e){return this.on("mouseenter",t).on("mouseleave",e||t)}}),T.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(t,e){// Handle event binding 1228T.fn[e]=function(t,i){return arguments.length>0?this.on(e,null,t,i):this.trigger(e)}});// Support: Android <=4.0 only 1229// Make sure we trim BOM and NBSP 1230// Require that the "whitespace run" starts from a non-whitespace 1231// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. 1232var ez=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;// Bind a function to a context, optionally partially applying any 1233// arguments. 1234// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 1235// However, it is not slated for removal any time soon 1236T.proxy=function(t,e){var i,n,s;// Quick check to determine if target is callable, in the spec 1237// this throws a TypeError, but we will just return undefined. 1238if("string"==typeof e&&(i=t[e],e=t,t=i),m(t))return(// Simulated bind 1239n=o.call(arguments,2),// Set the guid of unique handler to the same of original handler, so it can be removed 1240(s=function(){return t.apply(e||this,n.concat(o.call(arguments)))}).guid=t.guid=t.guid||T.guid++,s)},T.holdReady=function(t){t?T.readyWait++:T.ready(!0)},T.isArray=Array.isArray,T.parseJSON=JSON.parse,T.nodeName=C,T.isFunction=m,T.isWindow=g,T.camelCase=tt,T.type=b,T.now=Date.now,T.isNumeric=function(t){// As of jQuery 3.0, isNumeric is limited to 1241// strings and numbers (primitives or objects) 1242// that can be coerced to finite numbers (gh-2662) 1243var e=T.type(t);return("number"===e||"string"===e)&&// parseFloat NaNs numeric-cast false positives ("") 1244// ...but misinterprets leading-number strings, particularly hex literals ("0x...") 1245// subtraction forces infinities to NaN 1246!isNaN(t-parseFloat(t))},T.trim=function(t){return null==t?"":(t+"").replace(ez,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return T});var eF=t.jQuery,eW=t.$;return T.noConflict=function(e){return t.$===T&&(t.$=eW),e&&t.jQuery===T&&(t.jQuery=eF),T},void 0===e&&(t.jQuery=t.$=T),T},"object"==typeof t.exports?// is present, execute the factory and get jQuery. 1247// For environments that do not have a `window` with a `document` 1248// (such as Node.js), expose a factory as module.exports. 1249// This accentuates the need for the creation of a real `window`. 1250// e.g. var jQuery = require("jquery")(window); 1251// See ticket trac-14549 for more info. 1252t.exports=i.document?n(i,!0):function(t){if(!t.document)throw Error("jQuery requires a window with a document");return n(t)}:n(i)});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=parseInt(t("html").css("fontSize").replace("px",""));t(window).resize(function(){t(document).outerHeight()>227*e?t(".footprints__left-2").show():t(".footprints__left-2").hide()}).resize()});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".site-header");t("main > .home-hero:first-child, main > .home-hero__slide__inner:first-child").length>0&&(e.css("marginBottom","-"+e.outerHeight()+"px"),t(window).resize(function(){e.css("marginBottom","-"+e.outerHeight()+"px")})),t("main > .hero:first-child").length>0&&t("body").addClass("internal")});var l=a("16MtH");e=function(t){var e,i=window.Slick||{};e=0,(i=function(i,n){var s;this.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:t(i),appendDots:t(i),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,i){return t('<button type="button" />').text(i+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},this.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
1252sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},t.extend(this,this.initials),this.activeBreakpoint=null,this.animType=null,this.animProp=null,this.breakpoints=[],this.breakpointSettings=[],this.cssTransitions=!1,this.focussed=!1,this.interrupted=!1,this.hidden="hidden",this.paused=!0,this.positionProp=null,this.respondTo=null,this.rowCount=1,this.shouldClick=!0,this.$slider=t(i),this.$slidesCache=null,this.transformType=null,this.transitionType=null,this.visibilityChange="visibilitychange",this.windowWidth=0,this.windowTimer=null,s=t(i).data("slick")||{},this.options=t.extend({},this.defaults,n,s),this.currentSlide=this.options.initialSlide,this.originalSettings=this.options,void 0!==document.mozHidden?(this.hidden="mozHidden",this.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(this.hidden="webkitHidden",this.visibilityChange="webkitvisibilitychange"),this.autoPlay=t.proxy(this.autoPlay,this),this.autoPlayClear=t.proxy(this.autoPlayClear,this),this.autoPlayIterator=t.proxy(this.autoPlayIterator,this),this.changeSlide=t.proxy(this.changeSlide,this),this.clickHandler=t.proxy(this.clickHandler,this),this.selectHandler=t.proxy(this.selectHandler,this),this.setPosition=t.proxy(this.setPosition,this),this.swipeHandler=t.proxy(this.swipeHandler,this),this.dragHandler=t.proxy(this.dragHandler,this),this.keyHandler=t.proxy(this.keyHandler,this),this.instanceUid=e++,// A simple way to check for HTML strings 1253// Strict HTML recognition (must start with <) 1254// Extracted from jQuery v1.11 source 1255this.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,this.registerBreakpoints(),this.init(!0)}).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},i.prototype.addSlide=i.prototype.slickAdd=function(e,i,n){if("boolean"==typeof i)n=i,i=null;else if(i<0||i>=this.slideCount)return!1;this.unload(),"number"==typeof i?0===i&&0===this.$slides.length?t(e).appendTo(this.$slideTrack):n?t(e).insertBefore(this.$slides.eq(i)):t(e).insertAfter(this.$slides.eq(i)):!0===n?t(e).prependTo(this.$slideTrack):t(e).appendTo(this.$slideTrack),this.$slides=this.$slideTrack.children(this.options.slide),this.$slideTrack.children(this.options.slide).detach(),this.$slideTrack.append(this.$slides),this.$slides.each(function(e,i){t(i).attr("data-slick-index",e)}),this.$slidesCache=this.$slides,this.reinit()},i.prototype.animateHeight=function(){if(1===this.options.slidesToShow&&!0===this.options.adaptiveHeight&&!1===this.options.vertical){var t=this.$slides.eq(this.currentSlide).outerHeight(!0);this.$list.animate({height:t},this.options.speed)}},i.prototype.animateSlide=function(e,i){var n={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,i):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,i):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),t({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(t){t=Math.ceil(t),!1===s.options.vertical?n[s.animType]="translate("+t+"px, 0px)":n[s.animType]="translate(0px,"+t+"px)",s.$slideTrack.css(n)},complete:function(){i&&i.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?n[s.animType]="translate3d("+e+"px, 0px, 0px)":n[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(n),i&&setTimeout(function(){s.disableTransition(),i.call()},s.options.speed))},i.prototype.getNavTarget=function(){var e=this.options.asNavFor;return e&&null!==e&&(e=t(e).not(this.$slider)),e},i.prototype.asNavFor=function(e){var i=this.getNavTarget();null!==i&&"object"==typeof i&&i.each(function(){var i=t(this).slick("getSlick");i.unslicked||i.slideHandler(e,!0)})},i.prototype.applyTransition=function(t){var e={};!1===this.options.fade?e[this.transitionType]=this.transformType+" "+this.options.speed+"ms "+this.options.cssEase:e[this.transitionType]="opacity "+this.options.speed+"ms "+this.options.cssEase,!1===this.options.fade?this.$slideTrack.css(e):this.$slides.eq(t).css(e)},i.prototype.autoPlay=function(){this.autoPlayClear(),this.slideCount>this.options.slidesToShow&&(this.autoPlayTimer=setInterval(this.autoPlayIterator,this.options.autoplaySpeed))},i.prototype.autoPlayClear=function(){this.autoPlayTimer&&clearInterval(this.autoPlayTimer)},i.prototype.autoPlayIterator=function(){var t=this.currentSlide+this.options.slidesToScroll;this.paused||this.interrupted||this.focussed||(!1===this.options.infinite&&(1===this.direction&&this.currentSlide+1===this.slideCount-1?this.direction=0:0===this.direction&&(t=this.currentSlide-this.options.slidesToScroll,this.currentSlide-1==0&&(this.direction=1))),this.slideHandler(t))},i.prototype.buildArrows=function(){!0===this.options.arrows&&(this.$prevArrow=t(this.options.prevArrow).addClass("slick-arrow"),this.$nextArrow=t(this.options.nextArrow).addClass("slick-arrow"),this.slideCount>this.options.slidesToShow?(this.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),this.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),this.htmlExpr.test(this.options.prevArrow)&&this.$prevArrow.prependTo(this.options.appendArrows),this.htmlExpr.test(this.options.nextArrow)&&this.$nextArrow.appendTo(this.options.appendArrows),!0!==this.options.infinite&&this.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):this.$prevArrow.add(this.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},i.prototype.buildDots=function(){var e,i;if(!0===this.options.dots&&this.slideCount>this.options.slidesToShow){for(this.$slider.addClass("slick-dotted"),i=t("<ul />").addClass(this.options.dotsClass),e=0;e<=this.getDotCount();e+=1)i.append(t("<li />").append(this.options.customPaging.call(this,this,e)));this.$dots=i.appendTo(this.options.appendDots),this.$dots.find("li").first().addClass("slick-active")}},i.prototype.buildOut=function(){this.$slides=this.$slider.children(this.options.slide+":not(.slick-cloned)").addClass("slick-slide"),this.slideCount=this.$slides.length,this.$slides.each(function(e,i){t(i).attr("data-slick-index",e).data("originalStyling",t(i).attr("style")||"")}),this.$slider.addClass("slick-slider"),this.$slideTrack=0===this.slideCount?t('<div class="slick-track"/>').appendTo(this.$slider):this.$slides.wrapAll('<div class="slick-track"/>').parent(),this.$list=this.$slideTrack.wrap('<div class="slick-list"/>').parent(),this.$slideTrack.css("opacity",0),(!0===this.options.centerMode||!0===this.options.swipeToSlide)&&(this.options.slidesToScroll=1),t("img[data-lazy]",this.$slider).not("[src]").addClass("slick-loading"),this.setupInfinite(),this.buildArrows(),this.buildDots(),this.updateDots(),this.setSlideClasses("number"==typeof this.currentSlide?this.currentSlide:0),!0===this.options.draggable&&this.$list.addClass("draggable")},i.prototype.buildRows=function(){var t,e,i,n,s,o,r;if(n=document.createDocumentFragment(),o=this.$slider.children(),this.options.rows>0){for(t=0,r=this.options.slidesPerRow*this.options.rows,s=Math.ceil(o.length/r);t<s;t++){var a=document.createElement("div");for(e=0;e<this.options.rows;e++){var l=document.createElement("div");for(i=0;i<this.options.slidesPerRow;i++){var c=t*r+(e*this.options.slidesPerRow+i);o.get(c)&&l.appendChild(o.get(c))}a.appendChild(l)}n.appendChild(a)}this.$slider.empty().append(n),this.$slider.children().children().children().css({width:100/this.options.slidesPerRow+"%",display:"inline-block"})}},i.prototype.checkResponsive=function(e,i){var n,s,o,r=!1,a=this.$slider.width(),l=window.innerWidth||t(window).width();if("window"===this.respondTo?o=l:"slider"===this.respondTo?o=a:"min"===this.respondTo&&(o=Math.min(l,a)),this.options.responsive&&this.options.responsive.length&&null!==this.options.responsive){for(n in s=null,this.breakpoints)this.breakpoints.hasOwnProperty(n)&&(!1===this.originalSettings.mobileFirst?o<this.breakpoints[n]&&(s=this.breakpoints[n]):o>this.breakpoints[n]&&(s=this.breakpoints[n]));
1255null!==s?null!==this.activeBreakpoint?(s!==this.activeBreakpoint||i)&&(this.activeBreakpoint=s,"unslick"===this.breakpointSettings[s]?this.unslick(s):(this.options=t.extend({},this.originalSettings,this.breakpointSettings[s]),!0===e&&(this.currentSlide=this.options.initialSlide),this.refresh(e)),r=s):(this.activeBreakpoint=s,"unslick"===this.breakpointSettings[s]?this.unslick(s):(this.options=t.extend({},this.originalSettings,this.breakpointSettings[s]),!0===e&&(this.currentSlide=this.options.initialSlide),this.refresh(e)),r=s):null!==this.activeBreakpoint&&(this.activeBreakpoint=null,this.options=this.originalSettings,!0===e&&(this.currentSlide=this.options.initialSlide),this.refresh(e),r=s),e||!1===r||this.$slider.trigger("breakpoint",[this,r])}},i.prototype.changeSlide=function(e,i){var n,s,o=t(e.currentTarget);switch(o.is("a")&&e.preventDefault(),o.is("li")||(o=o.closest("li")),n=this.slideCount%this.options.slidesToScroll!=0?0:(this.slideCount-this.currentSlide)%this.options.slidesToScroll,e.data.message){case"previous":s=0===n?this.options.slidesToScroll:this.options.slidesToShow-n,this.slideCount>this.options.slidesToShow&&this.slideHandler(this.currentSlide-s,!1,i);break;case"next":s=0===n?this.options.slidesToScroll:n,this.slideCount>this.options.slidesToShow&&this.slideHandler(this.currentSlide+s,!1,i);break;case"index":var r=0===e.data.index?0:e.data.index||o.index()*this.options.slidesToScroll;this.slideHandler(this.checkNavigable(r),!1,i),o.children().trigger("focus");break;default:return}},i.prototype.checkNavigable=function(t){var e,i;if(e=this.getNavigableIndexes(),i=0,t>e[e.length-1])t=e[e.length-1];else for(var n in e){if(t<e[n]){t=i;break}i=e[n]}return t},i.prototype.cleanUpEvents=function(){this.options.dots&&null!==this.$dots&&(t("li",this.$dots).off("click.slick",this.changeSlide).off("mouseenter.slick",t.proxy(this.interrupt,this,!0)).off("mouseleave.slick",t.proxy(this.interrupt,this,!1)),!0===this.options.accessibility&&this.$dots.off("keydown.slick",this.keyHandler)),this.$slider.off("focus.slick blur.slick"),!0===this.options.arrows&&this.slideCount>this.options.slidesToShow&&(this.$prevArrow&&this.$prevArrow.off("click.slick",this.changeSlide),this.$nextArrow&&this.$nextArrow.off("click.slick",this.changeSlide),!0===this.options.accessibility&&(this.$prevArrow&&this.$prevArrow.off("keydown.slick",this.keyHandler),this.$nextArrow&&this.$nextArrow.off("keydown.slick",this.keyHandler))),this.$list.off("touchstart.slick mousedown.slick",this.swipeHandler),this.$list.off("touchmove.slick mousemove.slick",this.swipeHandler),this.$list.off("touchend.slick mouseup.slick",this.swipeHandler),this.$list.off("touchcancel.slick mouseleave.
1255slick",this.swipeHandler),this.$list.off("click.slick",this.clickHandler),t(document).off(this.visibilityChange,this.visibility),this.cleanUpSlideEvents(),!0===this.options.accessibility&&this.$list.off("keydown.slick",this.keyHandler),!0===this.options.focusOnSelect&&t(this.$slideTrack).children().off("click.slick",this.selectHandler),t(window).off("orientationchange.slick.slick-"+this.instanceUid,this.orientationChange),t(window).off("resize.slick.slick-"+this.instanceUid,this.resize),t("[draggable!=true]",this.$slideTrack).off("dragstart",this.preventDefault),t(window).off("load.slick.slick-"+this.instanceUid,this.setPosition)},i.prototype.cleanUpSlideEvents=function(){this.$list.off("mouseenter.slick",t.proxy(this.interrupt,this,!0)),this.$list.off("mouseleave.slick",t.proxy(this.interrupt,this,!1))},i.prototype.cleanUpRows=function(){var t;this.options.rows>0&&((t=this.$slides.children().children()).removeAttr("style"),this.$slider.empty().append(t))},i.prototype.clickHandler=function(t){!1===this.shouldClick&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())},i.prototype.destroy=function(e){this.autoPlayClear(),this.touchObject={},this.cleanUpEvents(),t(".slick-cloned",this.$slider).detach(),this.$dots&&this.$dots.remove(),this.$prevArrow&&this.$prevArrow.length&&(this.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),this.htmlExpr.test(this.options.prevArrow)&&this.$prevArrow.remove()),this.$nextArrow&&this.$nextArrow.length&&(this.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),this.htmlExpr.test(this.options.nextArrow)&&this.$nextArrow.remove()),this.$slides&&(this.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){t(this).attr("style",t(this).data("originalStyling"))}),this.$slideTrack.children(this.options.slide).detach(),this.$slideTrack.detach(),this.$list.detach(),this.$slider.append(this.$slides)),this.cleanUpRows(),this.$slider.removeClass("slick-slider"),this.$slider.removeClass("slick-initialized"),this.$slider.removeClass("slick-dotted"),this.unslicked=!0,e||this.$slider.trigger("destroy",[this])},i.prototype.disableTransition=function(t){var e={};e[this.transitionType]="",!1===this.options.fade?this.$slideTrack.css(e):this.$slides.eq(t).css(e)},i.prototype.fadeSlide=function(t,e){var i=this;!1===i.cssTransitions?(i.$slides.eq(t).css({zIndex:i.options.zIndex}),i.$slides.eq(t).animate({opacity:1},i.options.speed,i.options.easing,e)):(i.applyTransition(t),i.$slides.eq(t).css({opacity:1,zIndex:i.options.zIndex}),e&&setTimeout(function(){i.disableTransition(t),e.call()},i.options.speed))},i.prototype.fadeSlideOut=function(t){!1===this.cssTransitions?this.$slides.eq(t).animate({opacity:0,zIndex:this.options.zIndex-2},this.options.speed,this.options.easing):(this.applyTransition(t),this.$slides.eq(t).css({opacity:0,zIndex:this.options.zIndex-2}))},i.prototype.filterSlides=i.prototype.slickFilter=function(t){null!==t&&(this.$slidesCache=this.$slides,this.unload(),this.$slideTrack.children(this.options.slide).detach(),this.$slidesCache.filter(t).appendTo(this.$slideTrack),this.reinit())},i.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(i){i.stopImmediatePropagation();var n=t(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=n.is(":focus"),e.autoPlay())},0)})},i.prototype.getCurrent=i.prototype.slickCurrentSlide=function(){return this.currentSlide},i.prototype.getDotCount=function(){var t=0,e=0,i=0;if(!0===this.options.infinite){if(this.slideCount<=this.options.slidesToShow)++i;else for(;t<this.slideCount;)++i,t=e+this.options.slidesToScroll,e+=this.options.slidesToScroll<=this.options.slidesToShow?this.options.slidesToScroll:this.options.slidesToShow}else if(!0===this.options.centerMode)i=this.slideCount;else if(this.options.asNavFor)for(;t<this.slideCount;)++i,t=e+this.options.slidesToScroll,e+=this.options.slidesToScroll<=this.options.slidesToShow?this.options.slidesToScroll:this.options.slidesToShow;else i=1+Math.ceil((this.slideCount-this.options.slidesToShow)/this.options.slidesToScroll);return i-1},i.prototype.getLeft=function(t){var e,i,n,s,o=0;return this.slideOffset=0,i=this.$slides.first().outerHeight(!0),!0===this.options.infinite?(this.slideCount>this.options.slidesToShow&&(this.slideOffset=-(this.slideWidth*this.options.slidesToShow*1),s=-1,!0===this.options.vertical&&!0===this.options.centerMode&&(2===this.options.slidesToShow?s=-1.5:1===this.options.slidesToShow&&(s=-2)),o=i*this.options.slidesToShow*s),this.slideCount%this.options.slidesToScroll!=0&&t+this.options.slidesToScroll>this.slideCount&&this.slideCount>this.options.slidesToShow&&(t>this.slideCount?(this.slideOffset=-((this.options.slidesToShow-(t-this.slideCount))*this.slideWidth*1),o=-((this.options.slidesToShow-(t-this.slideCount))*i*1)):(this.slideOffset=-(this.slideCount%this.options.slidesToScroll*this.slideWidth*1),o=-(this.slideCount%this.options.slidesToScroll*i*1)))):t+this.options.slidesToShow>this.slideCount&&(this.slideOffset=(t+this.options.slidesToShow-this.slideCount)*this.slideWidth,o=(t+this.options.slidesToShow-this.slideCount)*i),this.slideCount<=this.options.slidesToShow&&(this.slideOffset=0,o=0),!0===this.options.centerMode&&this.slideCount<=this.options.slidesToShow?this.slideOffset=this.slideWidth*Math.floor(this.options.slidesToShow)/2-this.slideWidth*this.slideCount/2:!0===this.options.centerMode&&!0===this.options.infinite?this.slideOffset+=this.slideWidth*Math.floor(this.options.slidesToShow/2)-this.slideWidth:!0===this.options.centerMode&&(this.slideOffset=0,this.slideOffset+=this.slideWidth*Math.floor(this.options.slidesToShow/2)),e=!1===this.options.vertical?-(t*this.slideWidth*1)+this.slideOffset:-(t*i*1)+o,!0===this.options.variableWidth&&(n=this.slideCount<=this.options.slidesToShow||!1===this.options.infinite?this.$slideTrack.children(".slick-slide").eq(t):this.$slideTrack.children(".slick-slide").eq(t+this.options.slidesToShow),e=!0===this.options.rtl?n[0]?-((this.$slideTrack.width()-n[0].offsetLeft-n.width())*1):0:n[0]?-1*n[0].offsetLeft:0,!0===this.options.centerMode&&(n=this.slideCount<=this.options.slidesToShow||!1===this.options.infinite?this.$slideTrack.children(".slick-slide").eq(t):this.$slideTrack.children(".slick-slide").eq(t+this.options.slidesToShow+1),e=(!0===this.options.rtl?n[0]?-((this.$slideTrack.width()-n[0].offsetLeft-n.width())*1):0:n[0]?-1*n[0].offsetLeft:0)+(this.$list.width()-n.outerWidth())/2)),e},i.prototype.getOption=i.prototype.slickGetOption=function(t){return this.options[t]},i.prototype.getNavigableIndexes=function(){var t,e=0,i=0,n=[];for(!1===this.options.infinite?t=this.slideCount:(e=-1*this.options.slidesToScroll,i=-1*this.options.slidesToScroll,t=2*this.slideCount);e<t;)n.push(e),e=i+this.options.slidesToScroll,i+=this.options.slidesToScroll<=this.options.slidesToShow?this.options.slidesToScroll:this.options.slidesToShow;return n},i.prototype.getSlick=function(){return this},i.prototype.getSlideCount=function(){var e,i,n=this;return(i=!0===n.options.centerMode?n.slideWidth*Math.floor(n.options.slidesToShow/2):0,!0===n.options.swipeToSlide)?(n.$slideTrack.find(".slick-slide").each(function(s,o){if(o.offsetLeft-i+t(o).outerWidth()/2>-1*n.swipeLeft)return e=o,!1}),Math.abs(t(e).attr("data-slick-index")-n.currentSlide)||1):n.options.slidesToScroll},i.prototype.goTo=i.prototype.slickGoTo=function(t,e){this.changeSlide({data:{message:"index",index:
1255parseInt(t)}},e)},i.prototype.init=function(e){t(this.$slider).hasClass("slick-initialized")||(t(this.$slider).addClass("slick-initialized"),this.buildRows(),this.buildOut(),this.setProps(),this.startLoad(),this.loadSlider(),this.initializeEvents(),this.updateArrows(),this.updateDots(),this.checkResponsive(!0),this.focusHandler()),e&&this.$slider.trigger("init",[this]),!0===this.options.accessibility&&this.initADA(),this.options.autoplay&&(this.paused=!1,this.autoPlay())},i.prototype.initADA=function(){var e=this,i=Math.ceil(e.slideCount/e.options.slidesToShow),n=e.getNavigableIndexes().filter(function(t){return t>=0&&t<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(i){var s=n.indexOf(i);if(t(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+i,tabindex:-1}),-1!==s){var o="slick-slide-control"+e.instanceUid+s;t("#"+o).length&&t(this).attr({"aria-describedby":o})}}),e.$dots.attr("role","tablist").find("li").each(function(s){var o=n[s];t(this).attr({role:"presentation"}),t(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+o,"aria-label":s+1+" of "+i,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,o=s+e.options.slidesToShow;s<o;s++)e.options.focusOnChange?e.$slides.eq(s).attr({tabindex:"0"}):e.$slides.eq(s).removeAttr("tabindex");e.activateADA()},i.prototype.initArrowEvents=function(){!0===this.options.arrows&&this.slideCount>this.options.slidesToShow&&(this.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},this.changeSlide),this.$nextArrow.off("click.slick").on("click.slick",{message:"next"},this.changeSlide),!0===this.options.accessibility&&(this.$prevArrow.on("keydown.slick",this.keyHandler),this.$nextArrow.on("keydown.slick",this.keyHandler)))},i.prototype.initDotEvents=function(){!0===this.options.dots&&this.slideCount>this.options.slidesToShow&&(t("li",this.$dots).on("click.slick",{message:"index"},this.changeSlide),!0===this.options.accessibility&&this.$dots.on("keydown.slick",this.keyHandler)),!0===this.options.dots&&!0===this.options.pauseOnDotsHover&&this.slideCount>this.options.slidesToShow&&t("li",this.$dots).on("mouseenter.slick",t.proxy(this.interrupt,this,!0)).on("mouseleave.slick",t.proxy(this.interrupt,this,!1))},i.prototype.initSlideEvents=function(){this.options.pauseOnHover&&(this.$list.on("mouseenter.slick",t.proxy(this.interrupt,this,!0)),this.$list.on("mouseleave.slick",t.proxy(this.interrupt,this,!1)))},i.prototype.initializeEvents=function(){this.initArrowEvents(),this.initDotEvents(),this.initSlideEvents(),this.$list.on("touchstart.slick mousedown.slick",{action:"start"},this.swipeHandler),this.$list.on("touchmove.slick mousemove.slick",{action:"move"},this.swipeHandler),this.$list.on("touchend.slick mouseup.slick",{action:"end"},this.swipeHandler),this.$list.on("touchcancel.slick mouseleave.
1255slick",{action:"end"},this.swipeHandler),this.$list.on("click.slick",this.clickHandler),t(document).on(this.visibilityChange,t.proxy(this.visibility,this)),!0===this.options.accessibility&&this.$list.on("keydown.slick",this.keyHandler),!0===this.options.focusOnSelect&&t(this.$slideTrack).children().on("click.slick",this.selectHandler),t(window).on("orientationchange.slick.slick-"+this.instanceUid,t.proxy(this.orientationChange,this)),t(window).on("resize.slick.slick-"+this.instanceUid,t.proxy(this.resize,this)),t("[draggable!=true]",this.$slideTrack).on("dragstart",this.preventDefault),t(window).on("load.slick.slick-"+this.instanceUid,this.setPosition),t(this.setPosition)},i.prototype.initUI=function(){!0===this.options.arrows&&this.slideCount>this.options.slidesToShow&&(this.$prevArrow.show(),this.$nextArrow.show()),!0===this.options.dots&&this.slideCount>this.options.slidesToShow&&this.$dots.show()},i.prototype.keyHandler=function(t){t.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===t.keyCode&&!0===this.options.accessibility?this.changeSlide({data:{message:!0===this.options.rtl?"next":"previous"}}):39===t.keyCode&&!0===this.options.accessibility&&this.changeSlide({data:{message:!0===this.options.rtl?"previous":"next"}}))},i.prototype.lazyLoad=function(){var e,i,n,s=this;function o(e){t("img[data-lazy]",e).each(function(){var e=t(this),i=t(this).attr("data-lazy"),n=t(this).attr("data-srcset"),o=t(this).attr("data-sizes")||s.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
1255,100,function(){n&&(e.attr("srcset",n),o&&e.attr("sizes",o)),e.attr("src",i).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),s.$slider.trigger("lazyLoaded",[s,e,i])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),s.$slider.trigger("lazyLoadError",[s,e,i])},r.src=i})}if(!0===s.options.centerMode?!0===s.options.infinite?n=(i=s.currentSlide+(s.options.slidesToShow/2+1))+s.options.slidesToShow+2:(i=Math.max(0,s.currentSlide-(s.options.slidesToShow/2+1)),n=2+(s.options.slidesToShow/2+1)+s.currentSlide):(n=Math.ceil((i=s.options.infinite?s.options.slidesToShow+s.currentSlide:s.currentSlide)+s.options.slidesToShow),!0===s.options.fade&&(i>0&&i--,n<=s.slideCount&&n++)),e=s.$slider.find(".slick-slide").slice(i,n),"anticipated"===s.options.lazyLoad)for(var r=i-1,a=n,l=s.$slider.find(".slick-slide"),c=0;c<s.options.slidesToScroll;c++)r<0&&(r=s.slideCount-1),e=(e=e.add(l.eq(r))).add(l.eq(a)),r--,a++;o(e),s.slideCount<=s.options.slidesToShow?o(s.$slider.find(".slick-slide")):s.currentSlide>=s.slideCount-s.options.slidesToShow?o(s.$slider.find(".slick-cloned").slice(0,s.options.slidesToShow)):0===s.currentSlide&&o(s.$slider.find(".slick-cloned").slice(-1*s.options.slidesToShow))},i.prototype.loadSlider=function(){this.setPosition(),this.$slideTrack.css({opacity:1}),this.$slider.removeClass("slick-loading"),this.initUI(),"progressive"===this.options.lazyLoad&&this.progressiveLazyLoad()},i.prototype.next=i.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},i.prototype.orientationChange=function(){this.checkResponsive(),this.setPosition()},i.prototype.pause=i.prototype.slickPause=function(){this.autoPlayClear(),this.paused=!0},i.prototype.play=i.prototype.slickPlay=function(){this.autoPlay(),this.options.autoplay=!0,this.paused=!1,this.focussed=!1,this.interrupted=!1},i.prototype.postSlide=function(e){!this.unslicked&&(this.$slider.trigger("afterChange",[this,e]),this.animating=!1,this.slideCount>this.options.slidesToShow&&this.setPosition(),this.swipeLeft=null,this.options.autoplay&&this.autoPlay(),!0===this.options.accessibility&&(this.initADA(),this.options.focusOnChange&&t(this.$slides.get(this.currentSlide)).attr("tabindex",0).focus()))},i.prototype.prev=i.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},i.prototype.preventDefault=function(t){t.preventDefault()},i.prototype.progressiveLazyLoad=function(e){e=e||1;var i,n,s,o,r,a=this,l=t("img[data-lazy]",a.$slider);l.length?(n=(i=l.first()).attr("data-lazy"),s=i.attr("data-srcset"),o=i.attr("data-sizes")||a.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(i.attr("srcset",s),o&&i.attr("sizes",o)),i.attr("src",n).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===a.options.adaptiveHeight&&a.setPosition(),a.$slider.trigger("lazyLoaded",[a,i,n]),a.progressiveLazyLoad()},r.onerror=function(){e<3?/** 1256 * try to load the image 3 times, 1257 * leave a slight delay so we don't get 1258 * servers blocking the request. 1259 */setTimeout(function(){a.progressiveLazyLoad(e+1)},500):(i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),a.$slider.trigger("lazyLoadError",[a,i,n]),a.progressiveLazyLoad())},r.src=n):a.$slider.trigger("allImagesLoaded",[a])},i.prototype.refresh=function(e){var i,n;n=this.slideCount-this.options.slidesToShow,!this.options.infinite&&this.currentSlide>n&&(this.currentSlide=n),this.slideCount<=this.options.slidesToShow&&(this.currentSlide=0),i=this.currentSlide,this.destroy(!0),t.extend(this,this.initials,{currentSlide:i}),this.init(),e||this.changeSlide({data:{message:"index",index:i}},!1)},i.prototype.registerBreakpoints=function(){var e,i,n,s=this,o=s.options.responsive||null;if("array"===t.type(o)&&o.length){for(e in s.respondTo=s.options.respondTo||"window",o)if(n=s.breakpoints.length-1,o.hasOwnProperty(e)){// loop through the breakpoints and cut out any existing 1260// ones with the same breakpoint number, we don't want dupes. 1261for(i=o[e].breakpoint;n>=0;)s.breakpoints[n]&&s.breakpoints[n]===i&&s.breakpoints.splice(n,1),n--;s.breakpoints.push(i),s.breakpointSettings[i]=o[e].settings}s.breakpoints.sort(function(t,e){return s.options.mobileFirst?t-e:e-t})}},i.prototype.reinit=function(){this.$slides=this.$slideTrack.children(this.options.slide).addClass("slick-slide"),this.slideCount=this.$slides.length,this.currentSlide>=this.slideCount&&0!==this.currentSlide&&(this.currentSlide=this.currentSlide-this.options.slidesToScroll),this.slideCount<=this.options.slidesToShow&&(this.currentSlide=0),this.registerBreakpoints(),this.setProps(),this.setupInfinite(),this.buildArrows(),this.updateArrows(),this.initArrowEvents(),this.buildDots(),this.updateDots(),this.initDotEvents(),this.cleanUpSlideEvents(),this.initSlideEvents(),this.checkResponsive(!1,!0),!0===this.options.focusOnSelect&&t(this.$slideTrack).children().on("click.slick",this.selectHandler),this.setSlideClasses("number"==typeof this.currentSlide?this.currentSlide:0),this.setPosition(),this.focusHandler(),this.paused=!this.options.autoplay,this.autoPlay(),this.$slider.trigger("reInit",[this])},i.prototype.resize=function(){var e=this;t(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=t(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))}
1261,i.prototype.removeSlide=i.prototype.slickRemove=function(t,e,i){if(t="boolean"==typeof t?!0===(e=t)?0:this.slideCount-1:!0===e?--t:t,this.slideCount<1||t<0||t>this.slideCount-1)return!1;this.unload(),!0===i?this.$slideTrack.children().remove():this.$slideTrack.children(this.options.slide).eq(t).remove(),this.$slides=this.$slideTrack.children(this.options.slide),this.$slideTrack.children(this.options.slide).detach(),this.$slideTrack.append(this.$slides),this.$slidesCache=this.$slides,this.reinit()},i.prototype.setCSS=function(t){var e,i,n={};!0===this.options.rtl&&(t=-t),e="left"==this.positionProp?Math.ceil(t)+"px":"0px",i="top"==this.positionProp?Math.ceil(t)+"px":"0px",n[this.positionProp]=t,!1===this.transformsEnabled||(n={},!1===this.cssTransitions?n[this.animType]="translate("+e+", "+i+")":n[this.animType]="translate3d("+e+", "+i+", 0px)"),this.$slideTrack.css(n)},i.prototype.setDimensions=function(){!1===this.options.vertical?!0===this.options.centerMode&&this.$list.css({padding:"0px "+this.options.centerPadding}):(this.$list.height(this.$slides.first().outerHeight(!0)*this.options.slidesToShow),!0===this.options.centerMode&&this.$list.css({padding:this.options.centerPadding+" 0px"})),this.listWidth=this.$list.width(),this.listHeight=this.$list.height(),!1===this.options.vertical&&!1===this.options.variableWidth?(this.slideWidth=Math.ceil(this.listWidth/this.options.slidesToShow),this.$slideTrack.width(Math.ceil(this.slideWidth*this.$slideTrack.children(".slick-slide").length))):!0===this.options.variableWidth?this.$slideTrack.width(5e3*this.slideCount):(this.slideWidth=Math.ceil(this.listWidth),this.$slideTrack.height(Math.ceil(this.$slides.first().outerHeight(!0)*this.$slideTrack.children(".slick-slide").length)));var t=this.$slides.first().outerWidth(!0)-this.$slides.first().width();!1===this.options.variableWidth&&this.$slideTrack.children(".slick-slide").width(this.slideWidth-t)},i.prototype.setFade=function(){var e,i=this;i.$slides.each(function(n,s){e=-(i.slideWidth*n*1),!0===i.options.rtl?t(s).css({position:"relative",right:e,top:0,zIndex:i.options.zIndex-2,opacity:0}
1261):t(s).css({position:"relative",left:e,top:0,zIndex:i.options.zIndex-2,opacity:0})}),i.$slides.eq(i.currentSlide).css({zIndex:i.options.zIndex-1,opacity:1})},i.prototype.setHeight=function(){if(1===this.options.slidesToShow&&!0===this.options.adaptiveHeight&&!1===this.options.vertical){var t=this.$slides.eq(this.currentSlide).outerHeight(!0);this.$list.css("height",t)}},i.prototype.setOption=i.prototype.slickSetOption=function(){/** 1262 * accepts arguments in format of: 1263 * 1264 * - for changing a single option's value: 1265 * .slick("setOption", option, value, refresh ) 1266 * 1267 * - for changing a set of responsive options: 1268 * .slick("setOption", 'responsive', [{}, ...], refresh ) 1269 * 1270 * - for updating multiple values at once (not responsive) 1271 * .slick("setOption", { 'option': value, ... }, refresh ) 1272 */var e,i,n,s,o,r=this,a=!1;if("object"===t.type(arguments[0])?(n=arguments[0],a=arguments[1],o="multiple"):"string"===t.type(arguments[0])&&(n=arguments[0],s=arguments[1],a=arguments[2],"responsive"===arguments[0]&&"array"===t.type(arguments[1])?o="responsive":void 0!==arguments[1]&&(o="single")),"single"===o)r.options[n]=s;else if("multiple"===o)t.each(n,function(t,e){r.options[t]=e});else if("responsive"===o)for(i in s)if("array"!==t.type(r.options.responsive))r.options.responsive=[s[i]];else{// loop through the responsive object and splice out duplicates. 1273for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[i].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[i])}a&&(r.unload(),r.reinit())},i.prototype.setPosition=function(){this.setDimensions(),this.setHeight(),!1===this.options.fade?this.setCSS(this.getLeft(this.currentSlide)):this.setFade(),this.$slider.trigger("setPosition",[this])},i.prototype.setProps=function(){var t=document.body.style;this.positionProp=!0===this.options.vertical?"top":"left","top"===this.positionProp?this.$slider.addClass("slick-vertical"):this.$slider.removeClass("slick-vertical"),(void 0!==t.WebkitTransition||void 0!==t.MozTransition||void 0!==t.msTransition)&&!0===this.options.useCSS&&(this.cssTransitions=!0),this.options.fade&&("number"==typeof this.options.zIndex?this.options.zIndex<3&&(this.options.zIndex=3):this.options.zIndex=this.defaults.zIndex),void 0!==t.OTransform&&(this.animType="OTransform",this.transformType="-o-transform",this.transitionType="OTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(this.animType=!1)),void 0!==t.MozTransform&&(this.animType="MozTransform",this.transformType="-moz-transform",this.transitionType="MozTransition",void 0===t.perspectiveProperty&&void 0===t.MozPerspective&&(this.animType=!1)),void 0!==t.webkitTransform&&(this.animType="webkitTransform",this.transformType="-webkit-transform",this.transitionType="webkitTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(this.animType=!1)),void 0!==t.msTransform&&(this.animType="msTransform",this.transformType="-ms-transform",this.transitionType="msTransition",void 0===t.msTransform&&(this.animType=!1)),void 0!==t.transform&&!1!==this.animType&&(this.animType="transform",this.transformType="transform",this.transitionType="transition"),this.transformsEnabled=this.options.useTransform&&null!==this.animType&&!1!==this.animType},i.prototype.setSlideClasses=function(t){var e,i,n,s;if(i=this.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),this.$slides.eq(t).addClass("slick-current"),!0===this.options.centerMode){var o=this.options.slidesToShow%2==0?1:0;e=Math.floor(this.options.slidesToShow/2),!0===this.options.infinite&&(t>=e&&t<=this.slideCount-1-e?this.$slides.slice(t-e+o,t+e+1).addClass("slick-active").attr("aria-hidden","false"):(n=this.options.slidesToShow+t,i.slice(n-e+1+o,n+e+2).addClass("slick-active").attr("aria-hidden","false")),0===t?i.eq(i.length-1-this.options.slidesToShow).addClass("slick-center"):t===this.slideCount-1&&i.eq(this.options.slidesToShow).addClass("slick-center")),this.$slides.eq(t).addClass("slick-center")}else t>=0&&t<=this.slideCount-this.options.slidesToShow?this.$slides.slice(t,t+this.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):i.length<=this.options.slidesToShow?i.addClass("slick-active").attr("aria-hidden","false"):(s=this.slideCount%this.options.slidesToShow,n=!0===this.options.infinite?this.options.slidesToShow+t:t,this.options.slidesToShow==this.options.slidesToScroll&&this.slideCount-t<this.options.slidesToShow?i.slice(n-(this.options.slidesToShow-s),n+s).addClass("slick-active").attr("aria-hidden","false"):i.slice(n,n+this.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));("ondemand"===this.options.lazyLoad||"anticipated"===this.options.lazyLoad)&&this.lazyLoad()},i.prototype.setupInfinite=function(){var e,i,n;if(!0===this.options.fade&&(this.options.centerMode=!1),!0===this.options.infinite&&!1===this.options.fade&&(i=null,this.slideCount>this.options.slidesToShow)){for(n=!0===this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow,e=this.slideCount;e>this.slideCount-n;e-=1)i=e-1,t(this.$slides[i]).clone(!0).attr("id","").attr("data-slick-index",i-this.slideCount).prependTo(this.$slideTrack).addClass("slick-cloned");for(e=0;e<n+this.slideCount;e+=1)i=e,t(this.$slides[i]).clone(!0).attr("id","").attr("data-slick-index",i+this.slideCount).appendTo(this.$slideTrack).addClass("slick-cloned");this.$slideTrack.find(".slick-cloned").find("[id]").each(function(){t(this).attr("id","")})}},i.prototype.interrupt=function(t){t||this.autoPlay(),this.interrupted=t},i.prototype.selectHandler=function(e){var i=parseInt((t(e.target).is(".slick-slide")?t(e.target):t(e.target).parents(".slick-slide")).attr("data-slick-index"));if(i||(i=0),this.slideCount<=this.options.slidesToShow){this.slideHandler(i,!1,!0);return}this.slideHandler(i)}
1273,i.prototype.slideHandler=function(t,e,i){var n,s,o,r,a,l=null,c=this;if(e=e||!1,(!0!==c.animating||!0!==c.options.waitForAnimate)&&(!0!==c.options.fade||c.currentSlide!==t)){if(!1===e&&c.asNavFor(t),n=t,l=c.getLeft(n),r=c.getLeft(c.currentSlide),c.currentLeft=null===c.swipeLeft?r:c.swipeLeft,!1===c.options.infinite&&!1===c.options.centerMode&&(t<0||t>c.getDotCount()*c.options.slidesToScroll)||!1===c.options.infinite&&!0===c.options.centerMode&&(t<0||t>c.slideCount-c.options.slidesToScroll)){!1===c.options.fade&&(n=c.currentSlide,!0!==i&&c.slideCount>c.options.slidesToShow?c.animateSlide(r,function(){c.postSlide(n)}):c.postSlide(n));return}if(c.options.autoplay&&clearInterval(c.autoPlayTimer),s=n<0?c.slideCount%c.options.slidesToScroll!=0?c.slideCount-c.slideCount%c.options.slidesToScroll:c.slideCount+n:n>=c.slideCount?c.slideCount%c.options.slidesToScroll!=0?0:n-c.slideCount:n,c.animating=!0,c.$slider.trigger("beforeChange",[c,c.currentSlide,s]),o=c.currentSlide,c.currentSlide=s,c.setSlideClasses(c.currentSlide),c.options.asNavFor&&(a=(a=c.getNavTarget()).slick("getSlick")).slideCount<=a.options.slidesToShow&&a.setSlideClasses(c.currentSlide),c.updateDots(),c.updateArrows(),!0===c.options.fade){!0!==i?(c.fadeSlideOut(o),c.fadeSlide(s,function(){c.postSlide(s)})):c.postSlide(s),c.animateHeight();return}!0!==i&&c.slideCount>c.options.slidesToShow?c.animateSlide(l,function(){c.postSlide(s)}):c.postSlide(s)}},i.prototype.startLoad=function(){!0===this.options.arrows&&this.slideCount>this.options.slidesToShow&&(this.$prevArrow.hide(),this.$nextArrow.hide()),!0===this.options.dots&&this.slideCount>this.options.slidesToShow&&this.$dots.hide(),this.$slider.addClass("slick-loading")},i.prototype.swipeDirection=function(){var t,e;return(t=this.touchObject.startX-this.touchObject.curX,(e=Math.round(180*Math.atan2(this.touchObject.startY-this.touchObject.curY,t)/Math.PI))<0&&(e=360-Math.abs(e)),e<=45&&e>=0||e<=360&&e>=315)?!1===this.options.rtl?"left":"right":e>=135&&e<=225?!1===this.options.rtl?"right":"left":!0===this.options.verticalSwiping?e>=35&&e<=135?"down":"up":"vertical"},i.prototype.swipeEnd=function(t){var e,i;if(this.dragging=!1,this.swiping=!1,this.scrolling)return this.scrolling=!1,!1;if(this.interrupted=!1,this.shouldClick=!(this.touchObject.swipeLength>10),void 0===this.touchObject.curX)return!1;if(!0===this.touchObject.edgeHit&&this.$slider.trigger("edge",[this,this.swipeDirection()]),this.touchObject.swipeLength>=this.touchObject.minSwipe){switch(i=this.swipeDirection()){case"left":case"down":e=this.options.swipeToSlide?this.checkNavigable(this.currentSlide+this.getSlideCount()):this.currentSlide+this.getSlideCount(),this.currentDirection=0;break;case"right":case"up":e=this.options.swipeToSlide?this.checkNavigable(this.currentSlide-this.getSlideCount()):this.currentSlide-this.getSlideCount(),this.currentDirection=1}"vertical"!=i&&(this.slideHandler(e),this.touchObject={},this.$slider.trigger("swipe",[this,i]))}else this.touchObject.startX!==this.touchObject.curX&&(this.slideHandler(this.currentSlide),this.touchObject={})},i.prototype.swipeHandler=function(t){if(!1!==this.options.swipe&&(!("ontouchend"in document)||!1!==this.options.swipe)&&(!1!==this.options.draggable||-1===t.type.indexOf("mouse")))switch(this.touchObject.fingerCount=t.originalEvent&&void 0!==t.originalEvent.touches?t.originalEvent.touches.length:1,this.touchObject.minSwipe=this.listWidth/this.options.touchThreshold,!0===this.options.verticalSwiping&&(this.touchObject.minSwipe=this.listHeight/this.options.touchThreshold),t.data.action){case"start":this.swipeStart(t);break;case"move":this.swipeMove(t);break;case"end":this.swipeEnd(t)}},i.prototype.swipeMove=function(t){var e,i,n,s,o,r;return o=void 0!==t.originalEvent?t.originalEvent.touches:null,!!this.dragging&&!this.scrolling&&(!o||1===o.length)&&((e=this.getLeft(this.currentSlide),this.touchObject.curX=void 0!==o?o[0].pageX:t.clientX,this.touchObject.curY=void 0!==o?o[0].pageY:t.clientY,this.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(this.touchObject.curX-this.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(this.touchObject.curY-this.touchObject.startY,2))),this.options.verticalSwiping||this.swiping||!(r>4))?(!0===this.options.verticalSwiping&&(this.touchObject.swipeLength=r),i=this.swipeDirection(),void 0!==t.originalEvent&&this.touchObject.swipeLength>4&&(this.swiping=!0,t.preventDefault()),s=(!1===this.options.rtl?1:-1)*(this.touchObject.curX>this.touchObject.startX?1:-1),!0===this.options.verticalSwiping&&(s=this.touchObject.curY>this.touchObject.startY?1:-1),n=this.touchObject.swipeLength,this.touchObject.edgeHit=!1,!1===this.options.infinite&&(0===this.currentSlide&&"right"===i||this.currentSlide>=this.getDotCount()&&"left"===i)&&(n=this.touchObject.swipeLength*this.options.edgeFriction,this.touchObject.edgeHit=!0),!1===this.options.vertical?this.swipeLeft=e+n*s:this.swipeLeft=e+n*(this.$list.height()/this.listWidth)*s,!0===this.options.verticalSwiping&&(this.swipeLeft=e+n*s),!0!==this.options.fade&&!1!==this.options.touchMove&&(!0===this.animating?(this.swipeLeft=null,!1):void this.setCSS(this.swipeLeft))):(this.scrolling=!0,!1))},i.prototype.swipeStart=function(t){var e;if(this.interrupted=!0,1!==this.touchObject.fingerCount||this.slideCount<=this.options.slidesToShow)return this.touchObject={},!1;void 0!==t.originalEvent&&void 0!==t.originalEvent.touches&&(e=t.originalEvent.touches[0]),this.touchObject.startX=this.touchObject.curX=void 0!==e?e.pageX:t.clientX,this.touchObject.startY=this.touchObject.curY=void 0!==e?e.pageY:t.clientY,this.dragging=!0},i.prototype.unfilterSlides=i.prototype.slickUnfilter=function(){null!==this.$slidesCache&&(this.unload(),this.$slideTrack.children(this.options.slide).detach(),this.$slidesCache.appendTo(this.$slideTrack),this.reinit())},i.prototype.unload=function(){t(".slick-cloned",this.$slider).remove(),this.$dots&&this.$dots.remove(),this.$prevArrow&&this.htmlExpr.test(this.options.prevArrow)&&this.$prevArrow.remove(),this.$nextArrow&&this.htmlExpr.test(this.options.nextArrow)&&this.$nextArrow.remove(),this.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
1273,i.prototype.unslick=function(t){this.$slider.trigger("unslick",[this,t]),this.destroy()},i.prototype.updateArrows=function(){this.options.slidesToShow,!0===this.options.arrows&&this.slideCount>this.options.slidesToShow&&!this.options.infinite&&(this.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),this.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===this.currentSlide?(this.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),this.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):this.currentSlide>=this.slideCount-this.options.slidesToShow&&!1===this.options.centerMode?(this.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),this.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):this.currentSlide>=this.slideCount-1&&!0===this.options.centerMode&&(this.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),this.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},i.prototype.updateDots=function(){null!==this.$dots&&(this.$dots.find("li").removeClass("slick-active").end(),this.$dots.find("li").eq(Math.floor(this.currentSlide/this.options.slidesToScroll)).addClass("slick-active"))},i.prototype.visibility=function(){this.options.autoplay&&(document[this.hidden]?this.interrupted=!0:this.interrupted=!1)},t.fn.slick=function(){var t,e,n=arguments[0],s=Array.prototype.slice.call(arguments,1),o=this.length;for(t=0;t<o;t++)if("object"==typeof n||void 0===n?this[t].slick=new i(this[t],n):e=this[t].slick[n].apply(this[t].slick,s),void 0!==e)return e;return this}},"function"==typeof define&&define.amd?define(["jquery"],e):e(a("16MtH")),/*@__PURE__*/t(l)(function(t){t(".home-hero--carousel").each(function(){let e=t(this);e.find(".home-hero__slides").slick({arrows:!0,dots:!0,infinite:!0,slidesToShow:1,adaptiveHeight:!0})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){t(".search-field--collapsible").each(function(){let e=t(this);e.find(".search-field__toggle").click(function(t){t.preventDefault(),e.toggleClass("active"),e.closest(".site-header__search").toggleClass("active")}),e.find(".search-field__close").click(function(t){t.preventDefault(),e.removeClass("active"),e.closest(".site-header__search").removeClass("active")})})});var l=a("16MtH"),c={};i=function(t){// default configuration values 1274var e,i,n={interval:100,sensitivity:6,timeout:0},s=0,o=function(t){e=t.pageX,i=t.pageY},r=function(t,n,s,a){// compare mouse positions to see if pointer has slowed enough to trigger `over` function 1275if(Math.sqrt((s.pX-e)*(s.pX-e)+(s.pY-i)*(s.pY-i))<a.sensitivity)return n.off(s.event,o),delete s.timeoutId,// set hoverIntent state as active for this element (permits `out` handler to trigger) 1276s.isActive=!0,// overwrite old mouseenter event coordinates with most recent pointer position 1277t.pageX=e,t.pageY=i,// clear coordinate data from state object 1278delete s.pX,delete s.pY,a.over.apply(n[0],[t]);// set previous coordinates for next comparison 1279s.pX=e,s.pY=i,// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) 1280s.timeoutId=setTimeout(function(){r(t,n,s,a)},a.interval)},a=function(t,e,i,n){var s=e.data("hoverIntent");return s&&delete s[i.id],n.apply(e[0],[t])},l=function(t){return"function"==typeof t};t.fn.hoverIntent=function(e,i,c){// instance ID, used as a key to store and retrieve state information on an element 1281var d=s++,u=t.extend({},n);t.isPlainObject(e)?l((u=t.extend(u,e)).out)||(u.out=u.over):u=l(i)?t.extend(u,{over:e,out:i,selector:c}):t.extend(u,{over:e,out:e,selector:i});// A private function for handling mouse 'hovering' 1282var p=function(e){// cloned event to pass to handlers (copy required for event object to be passed in IE) 1283var i=t.extend({},e),n=t(this),s=n.data("hoverIntent");s||n.data("hoverIntent",s={});// read per-instance state from element (or initialize if not present) 1284var l=s[d];l||(s[d]=l={id:d}),l.timeoutId&&(l.timeoutId=clearTimeout(l.timeoutId));// namespaced event used to register and unregister mousemove tracking
1285var c=l.event="mousemove.hoverIntent.hoverIntent"+d;// handle the event, based on its type 1286if("mouseenter"===e.type){// do nothing if already active 1287if(l.isActive)return;// set "previous" X and Y position based on initial entry point 1288l.pX=i.pageX,l.pY=i.pageY,// update "current" X and Y position based on mousemove 1289n.off(c,o).on(c,o),// start polling interval (self-calling timeout) to compare mouse coordinates over time 1290l.timeoutId=setTimeout(function(){r(i,n,l,u)},u.interval)}else{// do nothing if not already active 1291if(!l.isActive)return;// unbind expensive mousemove event 1292n.off(c,o),// if hoverIntent state is true, then call the mouseOut function after the specified delay 1293l.timeoutId=setTimeout(function(){a(i,n,l,u.out)},u.timeout)}};// listen for mouseenter and mouseleave 1294return this.on({"mouseenter.hoverIntent":p,"mouseleave.hoverIntent":p},u.selector)}},"function"==typeof define&&define.amd?define(["jquery"],i):c?c=i(a("16MtH")):jQuery&&!jQuery.fn.hoverIntent&&i(jQuery),/*@__PURE__*/t(l)(function(t){let e=t(".site-header__mobile-menu__container");t(".site-header .site-header__menu .site-header__menu__item").hoverIntent({over:function(){t(this).addClass("hover")},out:function(){t(this).removeClass("hover")},timeout:"300"}),t(".site-header--home .site-header__menu > div").hoverIntent({over:function(){t(this).closest(".site-header").addClass("hover")},out:function(){t(this).closest(".site-header").removeClass("hover")},timeout:"300"}),t(".site-header__opener").click(function(e){e.preventDefault(),t(this).closest(".site-header").toggleClass("open")}),t(".site-header__mobile-menu .parent > a:not(.back)").click(function(i){i.preventDefault(),t(this).closest(".parent").toggleClass("open");let n=t(this).closest(".parent").children("ol").outerHeight();e.height(n)}),t(".site-header__mobile-menu .back").click(function(i){i.preventDefault(),t(this).closest(".parent.open").removeClass("open");let n=t(this).closest(".parent.open");if(n.length>0){let t=n.children("ol").outerHeight();e.height(t)}else e.height("")})});var l=a("16MtH"),d={};d=function(t,e){var i=document.querySelectorAll(t),n=document.querySelectorAll(t+" "+e);n.length>0&&Array.prototype.forEach.call(n,function(t){t.style.height="auto"}),i.length>0&&Array.prototype.forEach.call(i,function(t){var i=0,n=t.querySelectorAll(e);Array.prototype.forEach.call(n,function(t){t.classList.add("equal-height");var e=t.offsetHeight;i=e>i?e:i}),Array.prototype.forEach.call(n,function(t){t.style.height=i+"px"})})},/*@__PURE__*/t(l)(function(e){// Text equal heights 1295e(window).on("resize",function(){document.querySelectorAll(".page-cards .page-cards__card__content").length>1&&/*@__PURE__*/t(d)(".page-cards",".page-cards__card__content")}).resize();// Tablet/mobile carousel 1296let i=window.matchMedia("(min-width: 1025px)"),n=e(".page-cards .page-cards__container");function s(){n.each(function(){let t=e(this);e(this).on("init breakpoint destroy",function(){e(window).resize()}),t.find(".page-cards__carousel").not(".page-cards__carousel--static").slick({arrows:!0,autoplay:!1,infinite:!1,slidesToShow:1,responsive:[{breakpoint:769,settings:{slidesToShow:1}},{breakpoint:1025,settings:{slidesToShow:2}},{breakpoint:9999,settings:"unslick"}]})})}i.addEventListener("change",function(){i.matches?n.hasClass("slick-init")&&(n.find(".page-cards__carousel").slick("unslick"),n.removeClass("slick-init")):n.hasClass("slick-init")||s()}),i.matches||s()});var l=a("16MtH");n=function(t){/*>>core*//** 1297 * 1298 * Magnific Popup Core JS file 1299 * 1300 *//** 1301 * Private static constants 1302 */var e,i,n,s,o,r,a,l="Close",c="BeforeClose",d="MarkupParse",u="Open",p="Change",h=".mfp",f="mfp-ready",m="mfp-removing",g="mfp-prevent-close",v=function(){},y=!!window.jQuery,w=t(window),b=function(t,e){i.ev.on("mfp"+t+h,e)},x=function(e,i,n,s){var o=document.createElement("div");return o.className="mfp-"+e,n&&(o.innerHTML=n),s?i&&i.appendChild(o):(o=t(o),i&&o.appendTo(i)),o},k=function(e,n){i.ev.triggerHandler("mfp"+e,n),i.st.callbacks&&(// converts "mfpEventName" to "eventName" callback and triggers it if it's present 1303e=e.charAt(0).toLowerCase()+e.slice(1),i.st.callbacks[e]&&i.st.callbacks[e].apply(i,t.isArray(n)?n:[n]))},T=function(e){return e===a&&i.currTemplate.closeBtn||(i.currTemplate.closeBtn=t(i.st.closeMarkup.replace("%title%",i.st.tClose)),a=e),i.currTemplate.closeBtn},S=function(){t.magnificPopup.instance||(/*jshint -W020 */(i=new v).init(),t.magnificPopup.instance=i)},C=function(){var t=document.createElement("p").style,e=["ms","O","Moz","Webkit"];// 'v' for vendor 1304if(void 0!==t.transition)return!0;for(;e.length;)if(e.pop()+"Transition" in t)return!0;return!1};/** 1305 * Public functions 1306 */v.prototype={constructor:v,/** 1307 * Initializes Magnific Popup plugin. 1308 * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed 1309 */init:function(){var e=navigator.appVersion;i.isLowIE=i.isIE8=document.all&&!document.addEventListener,i.isAndroid=/android/gi.test(e),i.isIOS=/iphone|ipad|ipod/gi.test(e),i.supportsTransition=C(),// We disable fixed positioned lightbox on devices that don't handle it nicely. 1310// If you know a better way of detecting this - let me know. 1311i.probablyMobile=i.isAndroid||i.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),s=t(document),i.popupsCache={}},/** 1312 * Opens popup 1313 * @param data [description] 1314 */open:function(e){if(!1===e.isObj){// convert jQuery collection to array to avoid conflicts later 1315i.items=e.items.toArray(),i.index=0;var n,o,a=e.items;for(n=0;n<a.length;n++)if((o=a[n]).parsed&&(o=o.el[0]),o===e.el[0]){i.index=n;break}}else i.items=t.isArray(e.items)?e.items:[e.items],i.index=e.index||0;// if popup is already opened - we just update the content 1316if(i.isOpen){i.updateItemHTML();return}
1316i.types=[],r="",e.mainEl&&e.mainEl.length?i.ev=e.mainEl.eq(0):i.ev=s,e.key?(i.popupsCache[e.key]||(i.popupsCache[e.key]={}),i.currTemplate=i.popupsCache[e.key]):i.currTemplate={},i.st=t.extend(!0,{},t.magnificPopup.defaults,e),i.fixedContentPos="auto"===i.st.fixedContentPos?!i.probablyMobile:i.st.fixedContentPos,i.st.modal&&(i.st.closeOnContentClick=!1,i.st.closeOnBgClick=!1,i.st.showCloseBtn=!1,i.st.enableEscapeKey=!1),i.bgOverlay||(// Dark overlay 1317i.bgOverlay=x("bg").on("click"+h,function(){i.close()}),i.wrap=x("wrap").attr("tabindex",-1).on("click"+h,function(t){i._checkIfClose(t.target)&&i.close()}),i.container=x("container",i.wrap)),i.contentContainer=x("content"),i.st.preloader&&(i.preloader=x("preloader",i.container,i.st.tLoading));// Initializing modules 1318var l=t.magnificPopup.modules;for(n=0;n<l.length;n++){var c=l[n];i["init"+(c=c.charAt(0).toUpperCase()+c.slice(1))].call(i)}k("BeforeOpen"),i.st.showCloseBtn&&(i.st.closeBtnInside?(b(d,function(t,e,i,n){i.close_replaceWith=T(n.type)}),r+=" mfp-close-btn-in"):i.wrap.append(T())),i.st.alignTop&&(r+=" mfp-align-top"),i.fixedContentPos?i.wrap.css({overflow:i.st.overflowY,overflowX:"hidden",overflowY:i.st.overflowY}):i.wrap.css({top:w.scrollTop(),position:"absolute"}),!1!==i.st.fixedBgPos&&("auto"!==i.st.fixedBgPos||i.fixedContentPos)||i.bgOverlay.css({height:s.height(),position:"absolute"}),i.st.enableEscapeKey&&s.on("keyup"+h,function(t){27===t.keyCode&&i.close()}),w.on("resize"+h,function(){i.updateSize()}),i.st.closeOnContentClick||(r+=" mfp-auto-cursor"),r&&i.wrap.addClass(r);// this triggers recalculation of layout, so we get it once to not to trigger twice 1319var p=i.wH=w.height(),m={};if(i.fixedContentPos&&i._hasScrollBar(p)){var g=i._getScrollbarSize();g&&(m.marginRight=g)}i.fixedContentPos&&(i.isIE7?t("body, html").css("overflow","hidden"):m.overflow="hidden");var v=i.st.mainClass;return i.isIE7&&(v+=" mfp-ie7"),v&&i._addClassToMFP(v),// add content 1320i.updateItemHTML(),k("BuildControls"),// remove scrollbar, add margin e.t.c 1321t("html").css(m),// add everything to DOM 1322i.bgOverlay.add(i.wrap).prependTo(i.st.prependTo||t(document.body)),// Save last focused element 1323i._lastFocusedEl=document.activeElement,// Wait for next cycle to allow CSS transition 1324setTimeout(function(){i.content?(i._addClassToMFP(f),i._setFocus()):i.bgOverlay.addClass(f),// Trap the focus in popup 1325s.on("focusin"+h,i._onFocusIn)},16),i.isOpen=!0,i.updateSize(p),k(u),e},/** 1326 * Closes the popup 1327 */close:function(){i.isOpen&&(k(c),i.isOpen=!1,i.st.removalDelay&&!i.isLowIE&&i.supportsTransition?(i._addClassToMFP(m),setTimeout(function(){i._close()},i.st.removalDelay)):i._close())},/** 1328 * Helper for close() function 1329 */_close:function(){k(l);var e=m+" "+f+" ";if(i.bgOverlay.detach(),i.wrap.detach(),i.container.empty(),i.st.mainClass&&(e+=i.st.mainClass+" "),i._removeClassFromMFP(e),i.fixedContentPos){var n={marginRight:""};i.isIE7?t("body, html").css("overflow",""):n.overflow="",t("html").css(n)}s.off("keyup"+h+" focusin"+h),i.ev.off(h),// clean up DOM elements that aren't removed 1330i.wrap.attr("class","mfp-wrap").removeAttr("style"),i.bgOverlay.attr("class","mfp-bg"),i.container.attr("class","mfp-container"),i.st.showCloseBtn&&(!i.st.closeBtnInside||!0===i.currTemplate[i.currItem.type])&&i.currTemplate.closeBtn&&i.currTemplate.closeBtn.detach(),i.st.autoFocusLast&&i._lastFocusedEl&&t(i._lastFocusedEl).focus(),i.currItem=null,i.content=null,i.currTemplate=null,i.prevHeight=0,k("AfterClose")},updateSize:function(t){if(i.isIOS){// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2 1331var e=document.documentElement.clientWidth/window.innerWidth,n=window.innerHeight*e;i.wrap.css("height",n),i.wH=n}else i.wH=t||w.height();i.fixedContentPos||i.wrap.css("height",i.wH),k("Resize")},/** 1332 * Set content of popup based on current index 1333 */updateItemHTML:function(){var e=i.items[i.index];// Detach and perform modifications 1334i.contentContainer.detach(),i.content&&i.content.detach(),e.parsed||(e=i.parseEl(i.index));var n=e.type;if(k("BeforeChange",[i.currItem?i.currItem.type:"",n]),// BeforeChange event works like so: 1335// _mfpOn('BeforeChange', function(e, prevType, newType) { }); 1336i.currItem=e,!i.currTemplate[n]){var s=!!i.st[n]&&i.st[n].markup;// allows to modify markup 1337k("FirstMarkupParse",s),s?i.currTemplate[n]=t(s):i.currTemplate[n]=!0}o&&o!==e.type&&i.container.removeClass("mfp-"+o+"-holder");var r=i["get"+n.charAt(0).toUpperCase()+n.slice(1)](e,i.currTemplate[n]);
1337i.appendContent(r,n),e.preloaded=!0,k(p,e),o=e.type,// Append container back after its content changed 1338i.container.prepend(i.contentContainer),k("AfterChange")},/** 1339 * Set HTML content of popup 1340 */appendContent:function(t,e){i.content=t,t?i.st.showCloseBtn&&i.st.closeBtnInside&&!0===i.currTemplate[e]?i.content.find(".mfp-close").length||i.content.append(T()):i.content=t:i.content="",k("BeforeAppend"),i.container.addClass("mfp-"+e+"-holder"),i.contentContainer.append(i.content)},/** 1341 * Creates Magnific Popup data object based on given data 1342 * @param {int} index Index of item to parse 1343 */parseEl:function(e){var n,s=i.items[e];if(s.tagName?s={el:t(s)}:(n=s.type,s={data:s,src:s.src}),s.el){// check for 'mfp-TYPE' class 1344for(var o=i.types,r=0;r<o.length;r++)if(s.el.hasClass("mfp-"+o[r])){n=o[r];break}s.src=s.el.attr("data-mfp-src"),s.src||(s.src=s.el.attr("href"))}return s.type=n||i.st.type||"inline",s.index=e,s.parsed=!0,i.items[e]=s,k("ElementParse",s),i.items[e]},/** 1345 * Initializes single popup or a group of popups 1346 */addGroup:function(t,e){var n=function(n){n.mfpEl=this,i._openClick(n,t,e)};e||(e={});var s="click.magnificPopup";e.mainEl=t,e.items?(e.isObj=!0,t.off(s).on(s,n)):(e.isObj=!1,e.delegate?t.off(s).on(s,e.delegate,n):(e.items=t,t.off(s).on(s,n)))},_openClick:function(e,n,s){if((void 0!==s.midClick?s.midClick:t.magnificPopup.defaults.midClick)||2!==e.which&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey){var o=void 0!==s.disableOn?s.disableOn:t.magnificPopup.defaults.disableOn;if(o){if(t.isFunction(o)){if(!o.call(i))return!0}else if(w.width()<o)return!0}e.type&&(e.preventDefault(),i.isOpen&&e.stopPropagation()),s.el=t(e.mfpEl),s.delegate&&(s.items=n.find(s.delegate)),i.open(s)}},/** 1347 * Updates text on preloader 1348 */updateStatus:function(t,e){if(i.preloader){n!==t&&i.container.removeClass("mfp-s-"+n),e||"loading"!==t||(e=i.st.tLoading);var s={status:t,text:e};// allows to modify status 1349k("UpdateStatus",s),t=s.status,e=s.text,i.preloader.html(e),i.preloader.find("a").on("click",function(t){t.stopImmediatePropagation()}),i.container.addClass("mfp-s-"+t),n=t}},/* 1350 "Private" helpers that aren't private at all 1351 */// Check to close popup or not 1352// "target" is an element that was clicked 1353_checkIfClose:function(e){if(!t(e).hasClass(g)){var n=i.st.closeOnContentClick,s=i.st.closeOnBgClick;if(n&&s||!i.content||t(e).hasClass("mfp-close")||i.preloader&&e===i.preloader[0])return!0;// if click is outside the content 1354if(e===i.content[0]||t.contains(i.content[0],e)){if(n)return!0}else if(s&&t.contains(document,e))return!0;return!1}},_addClassToMFP:function(t){i.bgOverlay.addClass(t),i.wrap.addClass(t)},_removeClassFromMFP:function(t){this.bgOverlay.removeClass(t),i.wrap.removeClass(t)},_hasScrollBar:function(t){return(i.isIE7?s.height():document.body.scrollHeight)>(t||w.height())},_setFocus:function(){(i.st.focus?i.content.find(i.st.focus).eq(0):i.wrap).focus()},_onFocusIn:function(e){if(e.target!==i.wrap[0]&&!t.contains(i.wrap[0],e.target))return i._setFocus(),!1},_parseMarkup:function(e,i,n){var s;n.data&&(i=t.extend(n.data,i)),k(d,[e,i,n]),t.each(i,function(i,n){if(void 0===n||!1===n)return!0;if((s=i.split("_")).length>1){var o=e.find(h+"-"+s[0]);if(o.length>0){var r=s[1];"replaceWith"===r?o[0]!==n[0]&&o.replaceWith(n):"img"===r?o.is("img")?o.attr("src",n):o.replaceWith(t("<img>").attr("src",n).attr("class",o.attr("class"))):o.attr(s[1],n)}}else e.find(h+"-"+i).html(n)})},_getScrollbarSize:function(){// thx David 1355if(void 0===i.scrollbarSize){var t=document.createElement("div");t.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(t),i.scrollbarSize=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return i.scrollbarSize}},/** 1356 * Public static functions 1357 */t.magnificPopup={instance:null,proto:v.prototype,modules:[],open:function(e,i){return S(),(e=e?t.extend(!0,{},e):{}).isObj=!0,e.index=i||0,this.instance.open(e)},close:function(){return t.magnificPopup.instance&&t.magnificPopup.instance.close()},registerModule:function(e,i){i.options&&(t.magnificPopup.defaults[e]=i.options),t.extend(this.proto,i.proto),this.modules.push(e)},defaults:{// Info about options is in docs:
1358// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options 1359disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">×</button>',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},t.fn.magnificPopup=function(e){S();var n=t(this);// We call some API method of first param is a string 1360if("string"==typeof e){if("open"===e){var s,o=y?n.data("magnificPopup"):n[0].magnificPopup,r=parseInt(arguments[1],10)||0;o.items?s=o.items[r]:(s=n,o.delegate&&(s=s.find(o.delegate)),s=s.eq(r)),i._openClick({mfpEl:s},n,o)}else i.isOpen&&i[e].apply(i,Array.prototype.slice.call(arguments,1))}else // clone options obj 1361e=t.extend(!0,{},e),y?n.data("magnificPopup",e):n[0].magnificPopup=e,i.addGroup(n,e);return n};/*>>core*//*>>inline*/var A,E,$,_="inline",H=function(){$&&(E.after($.addClass(A)).detach(),$=null)};t.magnificPopup.registerModule(_,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){i.types.push(_),b(l+"."+_,function(){H()})},getInline:function(e,n){if(H(),e.src){var s=i.st.inline,o=t(e.src);if(o.length){// If target element has parent - we replace it with placeholder and put it back after popup is closed 1362var r=o[0].parentNode;r&&r.tagName&&(E||(E=x(A=s.hiddenClass),A="mfp-"+A),// replace target inline element with placeholder 1363$=o.after(E).detach().removeClass(A)),i.updateStatus("ready")}else i.updateStatus("error",s.tNotFound),o=t("<div>");return e.inlineElement=o,o}return i.updateStatus("ready"),i._parseMarkup(n,{},e),n}}});/*>>inline*//*>>ajax*/var O,D="ajax",P=function(){O&&t(document.body).removeClass(O)},j=function(){P(),i.req&&i.req.abort()};t.magnificPopup.registerModule(D,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){i.types.push(D),O=i.st.ajax.cursor,b(l+"."+D,j),b("BeforeChange."+D,j)},getAjax:function(e){O&&t(document.body).addClass(O),i.updateStatus("loading");var n=t.extend({url:e.src,success:function(n,s,o){var r={data:n,xhr:o};k("ParseAjax",r),i.appendContent(t(r.data),D),e.finished=!0,P(),i._setFocus(),setTimeout(function(){i.wrap.addClass(f)},16),i.updateStatus("ready"),k("AjaxContentAdded")},error:function(){P(),e.finished=e.loadError=!0,i.updateStatus("error",i.st.ajax.tError.replace("%url%",e.
1363src))}},i.st.ajax.settings);return i.req=t.ajax(n),""}}});/*>>ajax*//*>>image*/var I,M=function(e){if(e.data&&void 0!==e.data.title)return e.data.title;var n=i.st.image.titleSrc;if(n){if(t.isFunction(n))return n.call(i,e);if(e.el)return e.el.attr(n)||""}return""};t.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var e=i.st.image,n=".image";i.types.push("image"),b(u+n,function(){"image"===i.currItem.type&&e.cursor&&t(document.body).addClass(e.cursor)}),b(l+n,function(){e.cursor&&t(document.body).removeClass(e.cursor),w.off("resize"+h)}),b("Resize"+n,i.resizeImage),i.isLowIE&&b("AfterChange",i.resizeImage)},resizeImage:function(){var t=i.currItem;if(t&&t.img&&i.st.image.verticalFit){var e=0;i.isLowIE&&(e=parseInt(t.img.css("padding-top"),10)+parseInt(t.img.css("padding-bottom"),10)),t.img.css("max-height",i.wH-e)}},_onImageHasSize:function(t){t.img&&(t.hasSize=!0,I&&clearInterval(I),t.isCheckingImgSize=!1,k("ImageHasSize",t),t.imgHidden&&(i.content&&i.content.removeClass("mfp-loading"),t.imgHidden=!1))},/** 1364 * Function that loops until the image has size to display elements that rely on it asap 1365 */findImageSize:function(t){var e=0,n=t.img[0],s=function(o){I&&clearInterval(I),// decelerating interval that checks for size of an image 1366I=setInterval(function(){if(n.naturalWidth>0){i._onImageHasSize(t);return}e>200&&clearInterval(I),3==++e?s(10):40===e?s(50):100===e&&s(500)},o)};s(1)},getImage:function(e,n){var s=0,o=function(){e&&(e.img[0].complete?(e.img.off(".mfploader"),e===i.currItem&&(i._onImageHasSize(e),i.updateStatus("ready")),e.hasSize=!0,e.loaded=!0,k("ImageLoadComplete")):++s<200?setTimeout(o,100):r())},r=function(){e&&(e.img.off(".mfploader"),e===i.currItem&&(i._onImageHasSize(e),i.updateStatus("error",a.tError.replace("%url%",e.
1366src))),e.hasSize=!0,e.loaded=!0,e.loadError=!0)},a=i.st.image,l=n.find(".mfp-img");if(l.length){var c=document.createElement("img");c.className="mfp-img",e.el&&e.el.find("img").length&&(c.alt=e.el.find("img").attr("alt")),e.img=t(c).on("load.mfploader",o).on("error.mfploader",r),c.src=e.src,l.is("img")&&(e.img=e.img.clone()),(c=e.img[0]).naturalWidth>0?e.hasSize=!0:c.width||(e.hasSize=!1)}return(i._parseMarkup(n,{title:M(e),img_replaceWith:e.img},e),i.resizeImage(),e.hasSize)?(I&&clearInterval(I),e.loadError?(n.addClass("mfp-loading"),i.updateStatus("error",a.tError.replace("%url%",e.src))):(n.removeClass("mfp-loading"),i.updateStatus("ready"))):(i.updateStatus("loading"),e.loading=!0,e.hasSize||(e.imgHidden=!0,n.addClass("mfp-loading"),i.findImageSize(e))),n}}}),t.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(t){return t.is("img")?t:t.find("img")}},proto:{initZoom:function(){var t,e=i.st.zoom,n=".zoom";if(e.enabled&&i.supportsTransition){var s,o,r=e.duration,a=function(t){var i=t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),n="all "+e.duration/1e3+"s "+e.easing,s={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},o="transition";return s["-webkit-"+o]=s["-moz-"+o]=s["-o-"+o]=s[o]=n,i.css(s),i},d=function(){i.content.css("visibility","visible")};b("BuildControls"+n,function(){if(i._allowZoom()){if(clearTimeout(s),i.content.css("visibility","hidden"),!// Basically, all code below does is clones existing image, puts in on top of the current one and animated it 1367(t=i._getItemToZoom())){d();return}(o=a(t)).css(i._getOffset()),i.wrap.append(o),s=setTimeout(function(){o.css(i._getOffset(!0)),s=setTimeout(function(){d(),setTimeout(function(){o.remove(),t=o=null,k("ZoomAnimationEnded")},16)},r)},16);// Lots of timeouts... 1368}}),b(c+n,function(){if(i._allowZoom()){if(clearTimeout(s),i.st.removalDelay=r,!t){if(!(t=i._getItemToZoom()))return;o=a(t)}o.css(i._getOffset(!0)),i.wrap.append(o),i.content.css("visibility","hidden"),setTimeout(function(){o.css(i._getOffset())},16)}}),b(l+n,function(){i._allowZoom()&&(d(),o&&o.remove(),t=null)})}},_allowZoom:function(){return"image"===i.currItem.type},_getItemToZoom:function(){return!!i.currItem.hasSize&&i.currItem.img},// Get element postion relative to viewport 1369_getOffset:function(n){var s,o=(s=n?i.currItem.img:i.st.zoom.opener(i.currItem.el||i.currItem)).offset(),r=parseInt(s.css("padding-top"),10),a=parseInt(s.css("padding-bottom"),10);o.top-=t(window).scrollTop()-r;/* 1370 1371 Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa. 1372 1373 */var l={width:s.width(),// fix Zepto height+padding issue 1374height:(y?s.innerHeight():s[0].offsetHeight)-a-r};return(void 0===e&&(e=void 0!==document.createElement("p").style.MozTransform),e)?l["-moz-transform"]=l.transform="translate("+o.left+"px,"+o.top+"px)":(l.left=o.left,l.top=o.top),l}}});/*>>zoom*//*>>iframe*/var L="iframe",N=function(t){if(i.currTemplate[L]){var e=i.currTemplate[L].find("iframe");e.length&&(t||(e[0].src="//about:blank"),i.isIE8&&e.css("display",t?"block":"none"))}};t.magnificPopup.registerModule(L,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",// we don't care and support only one default type of URL by default 1375patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){i.types.push(L),b("BeforeChange",function(t,e,i){e!==i&&(e===L?N():i===L&&N(!0));// else { 1376// iframe source is switched, don't do anything 1377//} 1378}),b(l+"."+L,function(){N()})},getIframe:function(e,n){var s=e.src,o=i.st.iframe;t.each(o.patterns,function(){if(s.indexOf(this.index)>-1)return this.id&&(s="string"==typeof this.id?s.substr(s.lastIndexOf(this.id)+this.id.length,s.length):this.id.call(this,s)),s=this.src.replace("%id%",s),!1;// break; 1379});var r={};return o.srcAction&&(r[o.srcAction]=s),i._parseMarkup(n,r,e),i.updateStatus("ready"),n}}});/*>>iframe*//*>>gallery*//** 1380 * Get looped index depending on number of slides 1381 */var q=function(t){var e=i.items.length;return t>e-1?t-e:t<0?e+t:t}
1381,z=function(t,e,i){return t.replace(/%curr%/gi,e+1).replace(/%total%/gi,i)};t.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var e=i.st.gallery,n=".mfp-gallery";if(i.direction=!0,!e||!e.enabled)return!1;r+=" mfp-gallery",b(u+n,function(){e.navigateByImgClick&&i.wrap.on("click"+n,".mfp-img",function(){if(i.items.length>1)return i.next(),!1}),s.on("keydown"+n,function(t){37===t.keyCode?i.prev():39===t.keyCode&&i.next()})}),b("UpdateStatus"+n,function(t,e){e.text&&(e.text=z(e.text,i.currItem.index,i.items.length))}),b(d+n,function(t,n,s,o){var r=i.items.length;s.counter=r>1?z(e.tCounter,o.index,r):""}),b("BuildControls"+n,function(){if(i.items.length>1&&e.arrows&&!i.arrowLeft){var n=e.arrowMarkup,s=i.arrowLeft=t(n.replace(/%title%/gi,e.tPrev).replace(/%dir%/gi,"left")).addClass(g),o=i.arrowRight=t(n.replace(/%title%/gi,e.tNext).replace(/%dir%/gi,"right")).addClass(g);s.click(function(){i.prev()}),o.click(function(){i.next()}),i.container.append(s.add(o))}}),b(p+n,function(){i._preloadTimeout&&clearTimeout(i._preloadTimeout),i._preloadTimeout=setTimeout(function(){i.preloadNearbyImages(),i._preloadTimeout=null},16)}),b(l+n,function(){s.off(n),i.wrap.off("click"+n),i.arrowRight=i.arrowLeft=null})},next:function(){i.direction=!0,i.index=q(i.index+1),i.updateItemHTML()},prev:function(){i.direction=!1,i.index=q(i.index-1),i.updateItemHTML()},goTo:function(t){i.direction=t>=i.index,i.index=t,i.updateItemHTML()},preloadNearbyImages:function(){var t,e=i.st.gallery.preload,n=Math.min(e[0],i.items.length),s=Math.min(e[1],i.items.length);for(t=1;t<=(i.direction?s:n);t++)i._preloadItem(i.index+t);for(t=1;t<=(i.direction?n:s);t++)i._preloadItem(i.index-t)},_preloadItem:function(e){if(e=q(e),!i.items[e].preloaded){var n=i.items[e];n.parsed||(n=i.parseEl(e)),k("LazyLoad",n),"image"===n.type&&(n.img=t('<img class="mfp-img" />').on("load.mfploader",function(){n.hasSize=!0}).on("error.mfploader",function(){n.hasSize=!0,n.loadError=!0,k("LazyLoadError",n)}).attr("src",n.src)),n.preloaded=!0}}}});/*>>gallery*//*>>retina*/var F="retina";t.magnificPopup.registerModule(F,{options:{replaceSrc:function(t){return t.src.replace(/\.\w+$/,function(t){return"@2x"+t})},ratio:1// Function or number. Set to 1 to disable. 1382},proto:{initRetina:function(){if(window.devicePixelRatio>1){var t=i.st.retina,e=t.ratio;(e=isNaN(e)?e():e)>1&&(b("ImageHasSize."+F,function(t,i){i.img.css({"max-width":i.img[0].naturalWidth/e,width:"100%"})}),b("ElementParse."+F,function(i,n){n.src=t.replaceSrc(n,e)}))}}}}),/*>>retina*/S()},"function"==typeof define&&define.amd?define(["jquery"],n):n(a("16MtH")),/*@__PURE__*/t(l)(function(t){t(".video-play").each(function(){let e=t(this);e.magnificPopup({type:"iframe",midClick:!0,iframe:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" frameborder="0" allow="autoplay" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>',patterns:{youtube:{index:"youtube.com/",id:"v=",src:e.data("embed")||"//www.youtube.com/embed/%id%?autoplay=1"}}}})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){t(".filter-bar__multi-select").each(function(){let e=t(this);e.find(".filter-bar__multi-select__opener").click(function(i){i.preventDefault();let n=t(this).attr("aria-expanded");"true"===n?t(this).attr("aria-expanded","false"):t(this).attr("aria-expanded","true"),e.toggleClass("open")})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){t(".gallery").each(function(){t(this).find(".gallery__image").magnificPopup({type:"image",gallery:{enabled:!0},midClick:!0,titleSrc:function(){let e=t(this).attr("title");if(e)return"<p>"+e+"</p>"}})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".gallery-carousel");e.each(function(){let i=t(this);i.find(".gallery-carousel__slides").slick({arrows:!0,infinite:!0,prevArrow:i.find(".gallery-carousel__prev"),nextArrow:i.find(".gallery-carousel__next"),slidesToShow:1,adaptiveHeight:!0}),i.find(".slick-slide:not(.slick-cloned) a").length>0&&i.find(".slick-slide:not(.slick-cloned) a").magnificPopup({type:"image",gallery:{enabled:!0},midClick:!0,titleSrc:function(){let e=t(this).attr("title");if(e)return"<p>"+e+"</p>"}}),i.find(".gallery-carousel__open").click(function(t){t.preventDefault(),e.find(".slick-active a").click()})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".faqs .opener");e.parent().addClass("closed"),e.click(function(e){e.preventDefault(),t(this).parent().toggleClass("closed")})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".logo-wall__more");e.closest(".logo-wall").find(".logo-wall__more-items").addClass("closed"),e.click(function(e){e.preventDefault();let i=t(this).closest(".logo-wall").find(".logo-wall__more"),n=t(this).closest(".logo-wall").find(".logo-wall__more-items");n.toggleClass("closed"),i.text(n.hasClass("closed")?"Show all":"Hide extra")})});var l=a("16MtH");/*@__PURE__*/t(l)(function(e){function i(){document.querySelectorAll(".people__container .people-card__content__inner").length>1&&/*@__PURE__*/t(d)(".people__container",".people-card__content__inner")}let n=e(".people__more");n.closest(".people").find(".people__more-items").addClass("closed"),n.click(function(t){t.preventDefault();let n=e(this).closest(".people").find(".people__more"),s=e(this).closest(".people").find(".people__more-items");s.toggleClass("closed"),n.text(s.hasClass("closed")?"Show more":"Hide extra"),i()}),e(".people-card").each(function(){e(this).find(".arrow-btn").magnificPopup({type:"inline",midClick:!0})}),// Text equal heights 1383e(window).on("resize",function(){i()}).resize()});var l=a("16MtH");/*@__PURE__*/t(l)(function(e){// Text equal heights 1384e(window).on("resize",function(){document.querySelectorAll(".related-news .news-card__content").length>1&&/*@__PURE__*/t(d)(".related-news",".news-card__content")}).resize();// Tablet/mobile carousel
1385let i=window.matchMedia("(min-width: 1025px)"),n=e(".related-news .related-news__container");function s(){n.each(function(){let t=e(this);e(this).on("init breakpoint destroy",function(){e(window).resize()}),t.find(".related-news__carousel").slick({arrows:!0,autoplay:!1,infinite:!1,slidesToShow:1,responsive:[{breakpoint:769,settings:{slidesToShow:1}},{breakpoint:1025,settings:{slidesToShow:2}},{breakpoint:9999,settings:"unslick"}]})})}i.addEventListener("change",function(){i.matches?n.hasClass("slick-init")&&(n.find(".related-news__carousel").slick("unslick"),n.removeClass("slick-init")):n.hasClass("slick-init")||s()}),i.matches||s()});var l=a("16MtH");/*@__PURE__*/t(l)(function(e){// Text equal heights 1386e(window).on("resize",function(){document.querySelectorAll(".related-events .event-card__content").length>1&&/*@__PURE__*/t(d)(".related-events",".event-card__content")}).resize();// Tablet/mobile carousel 1387let i=window.matchMedia("(min-width: 1025px)"),n=e(".related-events .related-events__container");function s(){n.each(function(){let t=e(this);e(this).on("init breakpoint destroy",function(){e(window).resize()}),t.find(".related-events__carousel").slick({arrows:!0,autoplay:!1,infinite:!1,slidesToShow:1,responsive:[{breakpoint:769,settings:{slidesToShow:1}},{breakpoint:1025,settings:{slidesToShow:2}},{breakpoint:9999,settings:"unslick"}]})})}i.addEventListener("change",function(){i.matches?n.hasClass("slick-init")&&(n.find(".related-events__carousel").slick("unslick"),n.removeClass("slick-init")):n.hasClass("slick-init")||s()}),i.matches||s()});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".callback-form");e.length&&e.find("form").submit(function(e){e.preventDefault();let i=t(this),n=i.attr("action"),s=new FormData(i[0]),o=i.next(".callback-form__success");i.find('button[type="submit"]').prop("disabled",!0),t.ajax({type:"POST",enctype:"multipart/form-data",url:n,data:s,processData:!1,contentType:!1,cache:!1,async:!1}).done(function(e){i.find(".errorlist").remove(),e.success?(i.hide(),o.show()):t.each(e.errors,function(t,e){let n='<ul class="errorlist"><li>'+e+"</li></ul>";"__all__"===t?i.prepend(n):i.find("[name="+t+"]").after(n)})}).fail(function(t,e){window.alert("There was an error submitting your data. Please try again. ("+e+")")}).always(function(){i.find('button[type="submit"]').prop("disabled",!1)})})});var u=function(){return(u=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var s in e=arguments[i])Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s]);return t}).apply(this,arguments)},p=function(){function t(t,e,i){var n=this;this.endVal=e,this.options=i,this.version="2.8.0",this.defaults={startVal:0,decimalPlaces:0,duration:2,useEasing:!0,useGrouping:!0,useIndianSeparators:!1,smartEasingThreshold:999,smartEasingAmount:333,separator:",",decimal:".",prefix:"",suffix:"",enableScrollSpy:!1,scrollSpyDelay:200,scrollSpyOnce:!1},this.finalEndVal=null,this.useEasing=!0,this.countDown=!1,this.error="",this.startVal=0,this.paused=!0,this.once=!1,this.count=function(t){n.startTime||(n.startTime=t);var e=t-n.startTime;n.remaining=n.duration-e,n.useEasing?n.countDown?n.frameVal=n.startVal-n.easingFn(e,0,n.startVal-n.endVal,n.duration):n.frameVal=n.easingFn(e,n.startVal,n.endVal-n.startVal,n.duration):n.frameVal=n.startVal+(n.endVal-n.startVal)*(e/n.duration);var i=n.countDown?n.frameVal<n.endVal:n.frameVal>n.endVal;n.frameVal=i?n.endVal:n.frameVal,n.frameVal=Number(n.frameVal.toFixed(n.options.decimalPlaces)),n.printValue(n.frameVal),e<n.duration?n.rAF=requestAnimationFrame(n.count):null!==n.finalEndVal?n.update(n.finalEndVal):n.options.onCompleteCallback&&n.options.onCompleteCallback()},this.formatNumber=function(t){var e,i,s,o=(Math.abs(t).toFixed(n.options.decimalPlaces)+"").split(".");if(e=o[0],i=o.length>1?n.options.decimal+o[1]:"",n.options.useGrouping){s="";for(var r=3,a=0,l=0,c=e.length;l<c;++l)n.options.useIndianSeparators&&4===l&&(r=2,a=1),0!==l&&a%r==0&&(s=n.options.separator+s),a++,s=e[c-l-1]+s;e=s}return n.options.numerals&&n.options.numerals.length&&(e=e.replace(/[0-9]/g,function(t){return n.options.numerals[+t]}),i=i.replace(/[0-9]/g,function(t){return n.options.numerals[+t]})),(t<0?"-":"")+n.options.prefix+e+i+n.options.suffix}
1387,this.easeOutExpo=function(t,e,i,n){return i*(1-Math.pow(2,-10*t/n))*1024/1023+e},this.options=u(u({},this.defaults),i),this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.endVal=this.validateValue(e),this.options.decimalPlaces=Math.max(this.options.decimalPlaces),this.resetDuration(),this.options.separator=String(this.options.separator),this.useEasing=this.options.useEasing,""===this.options.separator&&(this.options.useGrouping=!1),this.el="string"==typeof t?document.getElementById(t):t,this.el?this.printValue(this.startVal):this.error="[CountUp] target is null or undefined","undefined"!=typeof window&&this.options.enableScrollSpy&&(this.error?console.error(this.error,t):(window.onScrollFns=window.onScrollFns||[],window.onScrollFns.push(function(){return n.handleScroll(n)}),window.onscroll=function(){window.onScrollFns.forEach(function(t){return t()})},this.handleScroll(this)))}return t.prototype.handleScroll=function(t){if(t&&window&&!t.once){var e=window.innerHeight+window.scrollY,i=t.el.getBoundingClientRect(),n=i.top+window.pageYOffset,s=i.top+i.height+window.pageYOffset;s<e&&s>window.scrollY&&t.paused?(t.paused=!1,setTimeout(function(){return t.start()},t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):(window.scrollY>s||n>e)&&!t.paused&&t.reset()}},t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;if(this.countDown=this.startVal>t,Math.abs(t-this.startVal)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var e=this.countDown?1:-1;this.endVal=t+e*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),t&&(this.options.onCompleteCallback=t),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var e;if(this.el){var i=this.formattingFn(t);(null===(e=this.options.plugin)||void 0===e?void 0:e.render)?this.options.plugin.render(this.el,i):"INPUT"===this.el.tagName?this.el.value=i:"text"===this.el.tagName||"tspan"===this.el.tagName?this.el.textContent=i:this.el.innerHTML=i}},t.prototype.ensureNumber=function(t){return"number"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var e=Number(t);return this.ensureNumber(e)?e:(this.error="[CountUp] invalid start or end value: ".concat(t),null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t}(),l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".key-stats__stat").find("[data-countup]");e.each(function(){new p(t(this)[0],t(this).data("countup"),{enableScrollSpy:!0})})});var l=a("16MtH");l(function(){let t=l('select[name="title"]'),e=l('input[name="other_title"], input[name="title_other"]'),i=e.parent().find("label");e.hide(),i.hide(),t.on("change",function(){["other","Other"].includes(l(this).find(":selected").val())?(e.show(),i.show(),e.addClass("title-other-padding")):(e.hide(),i.hide(),e.removeClass("title-other-padding"))}),e.parent().find(".errorlist").length&&(e.show(),i.show())});var l=a("16MtH");l(function(){let t=window.geolocation_api_key,e=l(".postcode-lookup"),i=e.find(".postcode-lookup__postcode"),n=e.parent().find(".postcode-lookup__manual-fields"),s=e.find(".error");function o(){n.css({height:"auto",overflow:"visible",visibility:"visible",padding:""}),i.val()&&n.find('[name*="postcode"]').val(i.val()),// Hide lookup fields 1388e.attr("style","display: none !important"),i.attr("required",!1),s.hide()}
1388if(window.isDetailsFormInvalid){o();return}e.each(function(){let r=e.find(".postcode-lookup__trigger"),a=e.find(".postcode-lookup__address"),c=e.find(".postcode-lookup__manual-trigger"),d=n.find(".errorlist");// Hide manual fields 1389n.css({height:0,overflow:"hidden",visibility:"hidden",padding:0}),// Show lookup fields 1390e.attr("style","display: block !important"),i.attr("required",!0),// Do the lookup 1391r.click(function(e){e.preventDefault();let n=l(this);s.hide();// Get the postcode 1392let o=i.val(),r=o.replace(/\s+/g,"").toLowerCase();n.prop("disabled",!0),o?l.getJSON("https://api.getAddress.io/find/"+r+"?api-key="+t).done(function(t){for(let e in a.empty(),a.append('<option selected value="">Please select your address</option>'),t.addresses)a.append('<option value="'+t.addresses[e]+'">'+function(t){let e=t.split(", "),i=[],n;return l.each(e,function(t,e){""!==(n=e.trim())&&i.push(n)}),i.join(", ")}(t.addresses[e])+"</option>");n.prop("disabled",!1),a.show().addClass("attention"),s.hide()}).fail(function(t,e){alert("Sorry, we could not find your postcode. Please enter your address manually."),n.prop("disabled",!1),console.log("Request failed: "+e)}):(n.removeClass("disabled"),n.prop("disabled",!1),alert("Please enter a postcode."))}),c.click(function(t){t.preventDefault(),// Show manual address fields 1393o()}),d.length&&o(),// Set address fields 1394a.on("change",function(){l(this).removeClass("attention");// Array returned in this format: [Line1, Line2, Line3, Line4, Locality, Town/City, County] 1395let t=l(this).val().split(", "),e=t[2];t[3]&&(e.trim()&&(e+=", "),e+=t[3]),t[4]&&(e.trim()&&(e+=", "),e+=t[4]),n.find('[name*="address_line_one"]').val(t[0]),t[1]?(n.find('[name*="address_line_two"]').val(t[1]),n.find('[name*="address_line_three"]').val(e.trim())):n.find('[name*="address_line_two"]').val(e.trim()),n.find('[name*="town_or_city"]').val(t[5]),n.find('[name*="county"]').val(t[6]),n.find('[name*="post_code"]').val(i.val()),n.find('[name*="country"]').val("GB"),o()}),e.closest("form").find('[type="submit"]').on("click",function(t){i.prop("required")&&(t.preventDefault(),s.show(),l("html, body").animate({scrollTop:i.offset().top-40},500))})})});var l=a("16MtH");/*@__PURE__*/t(l)(function(t){let e=t(".event-form__discount-code__message"),i=t(".discount-code__trigger");i.click(function(){let i=t(".event-form__discount-code input"),n=i.val();e.html(""),t.getJSON(window.discountUrl+n).done(function(t){e.append(t.response)}).fail(function(t){e.append(t.responseJSON.response),i.val("")})})}),document.body.className=document.body.className.replace("no-js","js")}();
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.