2021-06-14

/*!

  • jQuery JavaScript Library v3.6.0

  • https://jquery.com/

  • Includes Sizzle.js

  • https://sizzlejs.com/

  • Copyright OpenJS Foundation and other contributors

  • Released under the MIT license

  • https://jquery.org/license

  • Date: 2021-03-02T17:08Z
    */
    ( function( global, factory ) {

    “use strict”;

    if ( typeof module === “object” && typeof module.exports === “object” ) {

     // For CommonJS and CommonJS-like environments where a proper `window`
     // is present, execute the factory and get jQuery.
     // For environments that do not have a `window` with a `document`
     // (such as Node.js), expose a factory as module.exports.
     // This accentuates the need for the creation of a real `window`.
     // e.g. var jQuery = require("jquery")(window);
     // See ticket #14549 for more info.
     module.exports = global.document ?
     	factory( global, true ) :
     	function( w ) {
     		if ( !w.document ) {
     			throw new Error( "jQuery requires a window with a document" );
     		}
     		return factory( w );
     	};
    

    } else {
    factory( global );
    }
    !function(e,t){“use strict”;“object”==typeof module&&“object"typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(“jQuery requires a window with a document”);return t(e)}:t(e)}(“undefined”!=typeof window?window:this,function(C,e){“use strict”;var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"typeof e&&“number”!=typeof e.nodeType&&“function”!=typeof e.item},x=function(e){return null!=e&&e=e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(“script”);if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute®)&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return nulle?e+”":“object”==typeof e||“function”==typeof e?n[o.call(e)]||“object”:typeof e}var f=“3.6.0”,S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&“length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(“array”=n||0=t||“number"typeof t&&0e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&ntypeof a||m(a)||(a={}),s=u&&(a=this,s–);sproto”!==t&&a!==r&&(l&&r&&(S.isPlainObject®||(i=Array.isArray®))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:“jQuery”+(f+Math.random()).replace(/\D/g,””),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||”[object Object]"!==o.call(e))&&(!(t=r(e))||“function"typeof(n=v.call(t,“constructor”)&&t.constructor)&&a.call(n)=l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r=t.call(e[r],r,e[r]))break}else for(r in e)if(!1=t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,“string"typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return nullt?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;ra&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;otypeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each(“Boolean Number String Function Array Date RegExp Object Error Symbol”.split(" “),function(e,t){n[”[object “+t+”]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S=“sizzle”+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e=t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;nt)return n;return-1},R=“checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped”,M="[\x20\t\r\n\f]",I="(?:\\[\da-fA-F]{1,6}"+M+"?|\\[\r\n\f]|[\w-]|[\0-\x7f])+",W="\["+M+"("+I+")(?:"+M+"([^KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲=new RegExp(""+M+"+|((?:|[^\\])(?:\\.))"+M+"+ " , " g " ) , = n e w R e g E x p ( " " + M + " ∗ , " + M + " ∗ " ) , z = n e w R e g E x p ( " " + M + " ∗ ( [ > +   ] ∣ " + M + " ) " + M + " ∗ " ) , U = n e w R e g E x p ( M + " ∣ > " ) , X = n e w R e g E x p ( F ) , V = n e w R e g E x p ( " " + I + " ","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+" ","g"),=newRegExp(""+M+","+M+""),z=newRegExp(""+M+"([>+ ]"+M+")"+M+""),U=newRegExp(M+">"),X=newRegExp(F),V=newRegExp(""+I+""),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\.("+I+")"),TAG:new RegExp("^("+I+"|[])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\("+M+"(even|odd|(([±]|)(\d*)n|)"+M+"(?[±]|)"+M+"(\d+)|))"+M+"\)|)",“i”),bool:new RegExp("^(?:"+R+") " , " i " ) , n e e d s C o n t e x t : n e w R e g E x p ( " " + M + " ∗ [ > +   ] ∣ : ( e v e n ∣ o d d ∣ e q ∣ g t ∣ l t ∣ n t h ∣ f i r s t ∣ l a s t ) ( ? : ( " + M + " ∗ ( ( ? : − d ) ? d ∗ ) " + M + " ∗ ) ∣ ) ( ? = [ − ] ∣ ","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]| ","i"),needsContext:newRegExp(""+M+"[>+ ]:(evenoddeqgtltnthfirstlast)(?:("+M+"((?:d)?d)"+M+"))(?=[])",“i”)},Y=/HTML / i , Q = / ( ? : i n p u t ∣ s e l e c t ∣ t e x t a r e a ∣ b u t t o n ) /i,Q=/^(?:input|select|textarea|button) /i,Q=/(?:inputselecttextareabutton)/i,J=/^h\dKaTeX parse error: Double superscript at position 9: /i,K=/^[^̲{]+\{\s*\[nativ…/,ee=/[+~]/,te=new RegExp("\\[\da-fA-F]{1,6}"+M+"?|\\([^\r\n\f])",“g”),ne=function(e,t){var n=“0x”+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|-?\d)|-KaTeX parse error: Undefined control sequence: \0 at position 4: |[^\̲0̲-\x1f\x7f-\uFFF…,"KaTeX parse error: Expected 'EOF', got '}' at position 11: 1"),e,n,r)}̲function ue(){v…]="+M+"(?:’’|"")"),e.querySelectorAll("[selected]").length||v.push("\["+M+"(?:value|"+R+")"),e.querySelectorAll("[id="+S+"-]").length||v.push("="),(t=C.createElement(“input”)).setAttribute(“name”,""),e.appendChild(t),e.querySelectorAll("[name=’’]").length||v.push("\["+M+“name"+M+"=”+M+"(?:’’|"")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll(“a#”+S+"+").length||v.push(".#.+[+~]"),e.querySelectorAll("\\f"),v.push("[\r\n\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement(“input”);t.setAttribute(“type”,“hidden”),e.appendChild(t).setAttribute(“name”,“D”),e.querySelectorAll("[name=d]").length&&v.push(“name”+M+"[^KaTeX parse error: Expected 'EOF', got '&' at position 51: …nabled").length&̲&v.push(":enabl…)"))&&m(e,function(e){return t.test(“string"typeof e.className&&e.className||“undefined”!=typeof e.getAttribute&&e.getAttribute(“class”)||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return nullt?”!="===r:!r||(t+="","="=r?t=i:"!="===r?t!==i:"^="=r?i&&0=t.indexOf(i):"="=r?i&&-1KaTeX parse error: Expected 'EOF', got '&' at position 9: ="===r?i&̲&t.slice(-i.len…,"KaTeX parse error: Expected '}', got '&' at position 91: …le(a--)(i=o[a])&̲&(e[a]=!(t[a]=i…,"KaTeX parse error: Expected 'EOF', got '&' at position 10: 1"),t,s," “)}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=uo)||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+” “];if(!a){t||(t=h(e)),n=t.length;while(n–)(a=Ee(t[n]))[S]?i.push(a).push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0p?1:Math.random()||.1,g=d.length;for(i&&(w=tC||t||i);l!g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocumentC||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u–,e&&c.push(o))}if(u+=l,m&&l!u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1=c.length){if(2<(o=c[0]=c[0].slice(0)).length&&“ID”=(a=o[0]).type&&9=t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i–){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split(””).sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(“fieldset”))}),ce(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute(“href”)})||fe(“type|href|height|width”,function(e,t,n){if(!n)return e.getAttribute(t,“type”===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="",e.firstChild.setAttribute(“value”,""),""=e.firstChild.getAttribute(“value”)})||fe(“value”,function(e,t,n){if(!n&&“input”=e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return nulle.getAttribute(“disabled”)})||fe(R,function(e,t,n){var r;if(!n)return!0=e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}©;S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!n;while((e=e[t])&&9!e.nodeType)if(1=e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1=e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/<([a-z][/\0>:\x20\t\r\n\f])[\x20\t\r\n\f]/?>(?:|)KaTeX parse error: Expected '}', got '&' at position 263: …r=t[0];return n&̲&(e=":not("+e+"…/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,“string”==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?thisr:this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;et;n=n.parentNode)if(n.nodeType<11&&(a?-1=n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(nulle?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,“parentNode”)},parentsUntil:function(e,t,n){return h(e,“parentNode”,n)},next:function(e){return O(e,“nextSibling”)},prev:function(e){return O(e,“previousSibling”)},nextAll:function(e){return h(e,“nextSibling”)},prevAll:function(e){return h(e,“previousSibling”)},nextUntil:function(e,t,n){return h(e,“nextSibling”,n)},prevUntil:function(e,t,n){return h(e,“previousSibling”,n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,“template”)&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until”!==r.slice(-5)&&(t=e),t&&“string”==typeof t&&(n=S.filter(t,n)),1typeof r?(e=r,n={},S.each(e.match§||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l=s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:”")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&“string”!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l–}),this},has:function(e){return e?-1M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m®?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+“With”](this=s?void 0:this,arguments),this},s[t[0]+“With”]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1o.state()||m(i[t]&&i[t].then)))return o.then();while(t–)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener(“DOMContentLoaded”,B),C.removeEventListener(“load”,B),S.ready()}S.fn.ready=function(e){return F.then(e)“catch”,this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0=e?–S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<–S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,“complete”=E.readyState||“loading”!E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener(“DOMContentLoaded”,B),C.addEventListener(“load”,B));var KaTeX parse error: Expected '}', got 'EOF' at end of input: …or(s in i=!0,n)(e,t,s,n[s],!0,o,a);else if(void 0!r&&(i=!0,m®||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(,“ms-”).replace(z,U)}var V=function(e){return 1=e.nodeType||9=e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"typeof t)i[X(t)]=n;else for(r in t)i[X®]=t[r];return i},get:function(e,t){return void 0=t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0=t||t&&“string"typeof t&&void 0=n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!r){if(void 0!t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match§||[]).length;while(n–)delete r[t[n]]}(void 0=t||S.isEmptyObject®)&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:{[\w\W]}|[[\w\W]])KaTeX parse error: Expected '}', got '&' at position 53: …i;if(void 0===n&̲&1===e.nodeType…&").toLowerCase(),"string"typeof(n=e.getAttribute®)){try{n=“true”=(i=n)||“false”!i&&(“null”=i?null:i=+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0=n){if(this.length&&(i=Q.get(o),1=o.nodeType&&!Y.get(o,“hasDataAttrs”))){t=a.length;while(t–)a[t]&&0=(r=a[t].name).indexOf(“data-”)&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,“hasDataAttrs”,!0)}return i}return"object”==typeof n?this.each(function(){Q.set(this,n)}):KaTeX parse error: Expected '}', got '&' at position 29: …n(e){var t;if(o&̲&void 0===e)ret…",“i”),ne=[“Top”,“Right”,“Bottom”,“Left”],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)=e.ownerDocument});var ae=function(e,t){return"none"=(e=t||e).style.display||""===e.style.display&&ie(e)&&“none”===S.css(e,“display”)};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":“px”),c=e.nodeType&&(S.cssNumber[t]||“px”!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a–)S.style(e,t,c+l),(1-o)(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c(?:checkbox|radio)$/i,de=/<([a-z][^/\0>\x20\t\r\n\f]*)/i,he=/^$|moduleKaTeX parse error: Undefined control sequence: \/ at position 2: |\̲/̲(?:java|ecma)sc…)"),a=o=p.length;while(o–)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount–,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,“handle events”)}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,“events”)||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;tc.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1=(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(“click”=e.type&&1<=e.button))for(;l!this;l=l.parentNode||this)if(1=l.nodeType&&(“click”!e.type||!0!l.disabled)){for(o=[],a={},n=0;n=a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0=e.defaultPrevented&&!1=e.returnValue?we:Te,this.target=e.target&&3=e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.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},S.event.addProp),S.each({focus:“focusin”,blur:“focusout”},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:“mouseover”,mouseleave:“mouseout”,pointerenter:“pointerover”,pointerleave:“pointerout”},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n=this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if(“object”==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!t&&“function”!=typeof t||(n=t,t=void 0),!1=n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/(?:[=]|=\s*.checked.)/i,Ne=/\s*\s*$/g;function je(e,t){return A(e,“table”)&&A(11!t.nodeType?t:t.firstChild,“tr”)&&S(e).children(“tbody”)[0]||e}function De(e){return e.type=(null!e.getAttribute(“type”))+"/"+e.type,e}function qe(e){return"true/"=(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(“type”),e}function Le(e,t){var n,r,i,o,a,s;if(1=t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,“handle events”),s)for(n=0,r=s[i].length;ntypeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1=e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,“script”),De)).length;cp&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,“script”))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c(u.type||”").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(“nonce”)},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!r.nodeType||S.cleanData(ve®),r.parentNode&&(n&&ie®&&ye(ve(r,“script”)),r.parentNode.removeChild®);return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!e.nodeType&&11!e.nodeType||S.isXMLDoc(e)))for(a=ve©,r=0,i=(o=ve(e)).length;r=(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:“input”!l&&“textarea”!l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve©,r=0,i=o.length;r(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0=e?S.text(this):this.empty().each(function(){1!this.nodeType&&11!this.nodeType&&9!this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!this.nodeType&&11!this.nodeType&&9!this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1=this.nodeType||11=this.nodeType||9=this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1=e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=nullt?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return KaTeX parse error: Expected '}', got '&' at position 68: …h;if(void 0===e&̲&1===t.nodeType…“,“i”),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join(”|"),“i”);function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText=“position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0”,l.style.cssText=“position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%”,re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n=“1%”!e.top,s=12=t(e.marginLeft),l.style.right=“60%”,o=36=t(e.right),r=36=t(e.width),l.style.position=“absolute”,i=12=t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement(“div”),l=E.createElement(“div”);l.style&&(l.style.backgroundClip=“content-box”,l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle=“content-box”=l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return nulla&&(e=E.createElement(“table”),t=E.createElement(“tr”),n=E.createElement(“div”),e.style.cssText=“position:absolute;left:-11111px;border-collapse:separate”,t.style.cssText=“border:1px solid”,t.style.height=“1px”,n.style.height=“9px”,n.style.display=“block”,re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=[“Webkit”,“Moz”,“ms”],$e=E.createElement(“div”).style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n–)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/(none|table(?!-c[ea]).+)/,Xe=/–/,Ve={position:“absolute”,visibility:“hidden”,display:“block”},Ge={letterSpacing:“0”,fontWeight:“400”};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||“px”):t}function Qe(e,t,n,r,i,o){var a=“width”=t?1:0,s=0,u=0;if(n=(r?“border”:“content”))return 0;for(;a<4;a+=2)“margin”===n&&(u+=S.css(e,n+ne[a],!0,i)),r?(“content”===n&&(u-=S.css(e,“padding”+ne[a],!0,i)),“margin”!==n&&(u-=S.css(e,“border”+ne[a]+“Width”,!0,i))):(u+=S.css(e,“padding”+ne[a],!0,i),“padding”!==n?u+=S.css(e,“border”+ne[a]+“Width”,!0,i):s+=S.css(e,“border”+ne[a]+“Width”,!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[“offset”+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&“border-box”===S.css(e,“boxSizing”,!1,r),o=i,a=We(e,t,r),s=“offset”+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a=“auto”}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,“tr”)||“auto”===a||!parseFloat(a)&&“inline”===S.css(e,“display”,!1,r))&&e.getClientRects().length&&(i=“border-box”=S.css(e,“boxSizing”,!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?“border”:“content”),o,r,a)+“px”}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,“opacity”);return""=n?“1”:n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!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,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!e.nodeType&&8!e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0=n)return a&&"get"in a&&void 0!(i=a.get(e,!1,r))?i:l[t];“string”=(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=“number”),null!=n&&nn&&(“number”!o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":“px”)),y.clearCloneStyle||""!n||0!t.indexOf(“background”)||(l[t]=“inherit”),a&&"set"in a&&void 0=(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0=i&&(i=We(e,t,r)),“normal”=i&&t in Ge&&(i=Ge[t]),""=n||n?(o=parseFloat(i),!0=n||isFinite(o)?o||0:i):i}}),S.each([“height”,“width”],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,“display”))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&“absolute”=i.position,a=(o||n)&&“border-box”=S.css(e,“boxSizing”,!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[“offset”+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,“border”,!1,i)-.5)),s&&(r=te.exec(t))&&“px”!(r[3]||“px”)&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,“marginLeft”))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+“px”}),S.each({margin:"",padding:"",border:“Width”},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"typeof e?e.split(" “):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},“margin”!i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 196: …guments.length)}̲}),((S.Tween=Ke…/,it=/queueHooks$/;function ot(){et&&(!1=E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[“margin”+(n=ne[r])]=i[“padding”+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners[”"]),o=0,a=i.length;o":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match§;for(var n,r=0,i=e.length;r(a=S._queueHooks(e,“fx”)).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued–,S.queue(e,“fx”).length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||“toggle”=i,i=(g?“hide”:“show”)){if(“show”!i||!v||void 0=v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1=e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null(l=v&&v.display)&&(l=Y.get(e,“display”)),“none”=(c=S.css(e,“display”))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,“display”),le([e]))),(“inline”===c||“inline-block”=c&&null!=l)&&“none”=S.css(e,“float”)&&(u||(p.done(function(){h.display=l}),nulll&&(c=h.display,l=“none”=c?"":c)),h.display=“inline-block”)),n.overflow&&(h.overflow=“hidden”,p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?“hidden"in v&&(g=v.hidden):v=Y.access(e,“fxshow”,{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,“fxshow”),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&“object"typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:“number”!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!r.queue||(r.queue=“fx”),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css(“opacity”,0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,“finish”))&&e.stop(!0)};return a.finish=a,i||!1=o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||“fx”,[]),this.each(function(){var e=!0,t=null!=i&&i+“queueHooks”,n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t–;)n[t].elem!this||null!=i&&n[t].queue!i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!a&&(a=a||“fx”),this.each(function(){var e,t=Y.get(this),n=t[a+“queue”],r=t[a+“queueHooks”],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e–;)i[e].elem=this&&i[e].queue=a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;ee||“boolean"typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st(“show”),slideUp:st(“hide”),slideToggle:st(“toggle”),fadeIn:{opacity:“show”},fadeOut:{opacity:“hide”},fadeToggle:{opacity:“toggle”}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();te||n.splice(t–,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||“fx”,this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement(“input”),nt=E.createElement(“select”).appendChild(E.createElement(“option”)),tt.type=“checkbox”,y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement(“input”)).value=“t”,tt.type=“radio”,y.radioValue=“t”===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 37: …guments.length)}̲,removeAttr:fun…/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match§||[]).join(" “)}function gt(e){return e.getAttribute&&e.getAttribute(“class”)||”"}function vt(e){return Array.isArray(e)?e:“string”==typeof e&&e.match§||[]}S.fn.extend({prop:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 37: …guments.length)}̲,removeProp:fun…/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,“type”)?e.type:e,h=v.call(e,“namespace”)?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1KaTeX parse error: Expected '}', got '&' at position 155: …ly(n,t))){if(!r&̲&!c.noBubble&&!…/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)KaTeX parse error: Expected '}', got '&' at position 163: …ject"==typeof t&̲&null!=t?e:"")+…/,Dt=/([?&])=[&]*/,qt=/(.?):[ \t]([\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=////,Ot={},Pt={},Rt="/".concat(""),Mt=E.createElement(“a”);function It(o){return function(e,t){“string”!=typeof e&&(t=e,e="");var n,r=0,i=e.toLowerCase().match§||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t=Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[""]&&l("")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:“GET”,isLocal:/^(?:about|app|app-storage|.±extension|file|res|widget)/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:“application/x-www-form-urlencoded; charset=UTF-8”,accepts:{"":Rt,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”},converters:{" text":String,“text html”:!0,“text json”:JSON.parse,“text xml”:S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){“object"typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks(“once memory”),w=v.statusCode||{},a={},s={},u=“canceled”,T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec§)n[t[1].toLowerCase()+" “]=(n[t[1].toLowerCase()+” “]||[]).concat(t[2])}t=n[e.toLowerCase()+” "]}return nullt?null:t.join(”, ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return nullh&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return nullh&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+”").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match§||[""],nullv.crossDomain){r=E.createElement(“a”);try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+”//”+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&“string”!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0S.active++&&S.event.trigger(“ajaxStart”),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0=(v.contentType||"").indexOf(“application/x-www-form-urlencoded”)&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||“string"typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1=v.cache&&(f=f.replace(Dt,“KaTeX parse error: Expected 'EOF', got '&' at position 20: …o=(Tt.test(f)?"&̲":"?")+"_="+wt.…t=S.ajaxSettings.xhr();y.cors=!!$t&&“withCredentials"in t , y . a j a x = t,y.ajax= t,y.ajax=t=!!KaTeX parse error: Expected '}', got 'EOF' at end of input: …o,a;if(y.cors||t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[“X-Requested-With”]||(e[“X-Requested-With”]=“XMLHttpRequest”),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.οnlοad=r.οnerrοr=r.οnabοrt=r.ontimeout=r.onreadystatechange=null,“abort”=e?r.abort():“error”=e?“number”!=typeof r.status?t(0,“error”):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,“text”!(r.responseType||“text”)||“string”!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.οnlοad=o(),a=r.οnerrοr=r.ontimeout=o(“error”),void 0!r.onabort?r.οnabοrt=a:r.onreadystatechange=function(){4=r.readyState&&C.setTimeout(function(){o&&a()})},o=o(“abort”);try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:“text/javascript, application/javascript, application/ecmascript, application/x-ecmascript”},contents:{script:/\b(?:java|ecma)script\b/},converters:{“text script”:function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter(“script”,function(e){void 0=e.cache&&(e.cache=!1),e.crossDomain&&(e.type=“GET”)}),S.ajaxTransport(“script”,function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S(”

// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
“use strict”;

var arr = [];

var getProto = Object.getPrototypeOf;

var slice = arr.slice;

var flat = arr.flat ? function( array ) {
return arr.flat.call( array );
} : function( array ) {
return arr.concat.apply( [], array );
};

var push = arr.push;

var indexOf = arr.indexOf;

var class2type = {};

var toString = class2type.toString;

var hasOwn = class2type.hasOwnProperty;

var fnToString = hasOwn.toString;

var ObjectFunctionString = fnToString.call( Object );

var support = {};

var isFunction = function isFunction( obj ) {

	// Support: Chrome <=57, Firefox <=52
	// In some browsers, typeof returns "function" for HTML  elements
	// (i.e., `typeof document.createElement( "object" ) === "function"`).
	// We don't want to classify *any* DOM node as a function.
	// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
	// Plus for old WebKit, typeof returns "function" for HTML collections
	// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
	return typeof obj === "function" && typeof obj.nodeType !== "number" &&
		typeof obj.item !== "function";
};
 
  

var isWindow = function isWindow( obj ) {
return obj != null && obj === obj.window;
};

var document = window.document;

var preservedScriptAttributes = {
	type: true,
	src: true,
	nonce: true,
	noModule: true
};

function DOMEval( code, node, doc ) {
	doc = doc || document;

	var i, val,
		script = doc.createElement( "script" );

	script.text = code;
	if ( node ) {
		for ( i in preservedScriptAttributes ) {

			// Support: Firefox 64+, Edge 18+
			// Some browsers don't support the "nonce" property on scripts.
			// On the other hand, just using `getAttribute` is not enough as
			// the `nonce` attribute is reset to an empty string whenever it
			// becomes browsing-context connected.
			// See https://github.com/whatwg/html/issues/2369
			// See https://html.spec.whatwg.org/#nonce-attributes
			// The `node.getAttribute` check was added for the sake of
			// `jQuery.globalEval` so that it can fake a nonce-containing node
			// via an object.
			val = node[ i ] || node.getAttribute && node.getAttribute( i );
			if ( val ) {
				script.setAttribute( i, val );
			}
		}
	}
	doc.head.appendChild( script ).parentNode.removeChild( script );
}

function toType( obj ) {
if ( obj == null ) {
return obj + “”;
}

// Support: Android <=2.3 only (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
	class2type[ toString.call( obj ) ] || "object" :
	typeof obj;

}
/* global Symbol */
// Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module

var
version = “3.6.0”,

// Define a local copy of jQuery
jQuery = function( selector, context ) {

	// The jQuery object is actually just the init constructor 'enhanced'
	// Need init if jQuery is called (just allow error to be thrown if not included)
	return new jQuery.fn.init( selector, context );
};

jQuery.fn = jQuery.prototype = {

// The current version of jQuery being used
jquery: version,

constructor: jQuery,

// The default length of a jQuery object is 0
length: 0,

toArray: function() {
	return slice.call( this );
},

// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {

	// Return all the elements in a clean array
	if ( num == null ) {
		return slice.call( this );
	}

	// Return just the one element from the set
	return num < 0 ? this[ num + this.length ] : this[ num ];
},

// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {

	// Build a new jQuery matched element set
	var ret = jQuery.merge( this.constructor(), elems );

	// Add the old object onto the stack (as a reference)
	ret.prevObject = this;

	// Return the newly-formed element set
	return ret;
},

// Execute a callback for every element in the matched set.
each: function( callback ) {
	return jQuery.each( this, callback );
},

map: function( callback ) {
	return this.pushStack( jQuery.map( this, function( elem, i ) {
		return callback.call( elem, i, elem );
	} ) );
},

slice: function() {
	return this.pushStack( slice.apply( this, arguments ) );
},

first: function() {
	return this.eq( 0 );
},

last: function() {
	return this.eq( -1 );
},

even: function() {
	return this.pushStack( jQuery.grep( this, function( _elem, i ) {
		return ( i + 1 ) % 2;
	} ) );
},

odd: function() {
	return this.pushStack( jQuery.grep( this, function( _elem, i ) {
		return i % 2;
	} ) );
},

eq: function( i ) {
	var len = this.length,
		j = +i + ( i < 0 ? len : 0 );
	return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
},

end: function() {
	return this.prevObject || this.constructor();
},

// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: arr.sort,
splice: arr.splice

};
!function(e,t){“use strict”;“object”==typeof module&&“object"typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(“jQuery requires a window with a document”);return t(e)}:t(e)}(“undefined”!=typeof window?window:this,function(C,e){“use strict”;var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"typeof e&&“number”!=typeof e.nodeType&&“function”!=typeof e.item},x=function(e){return null!=e&&e=e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(“script”);if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute®)&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return nulle?e+”":“object”==typeof e||“function”==typeof e?n[o.call(e)]||“object”:typeof e}var f=“3.6.0”,S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&“length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(“array”=n||0=t||“number"typeof t&&0e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&ntypeof a||m(a)||(a={}),s=u&&(a=this,s–);sproto”!==t&&a!==r&&(l&&r&&(S.isPlainObject®||(i=Array.isArray®))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:“jQuery”+(f+Math.random()).replace(/\D/g,””),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||”[object Object]"!==o.call(e))&&(!(t=r(e))||“function"typeof(n=v.call(t,“constructor”)&&t.constructor)&&a.call(n)=l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r=t.call(e[r],r,e[r]))break}else for(r in e)if(!1=t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,“string"typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return nullt?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;ra&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;otypeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each(“Boolean Number String Function Array Date RegExp Object Error Symbol”.split(" “),function(e,t){n[”[object “+t+”]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S=“sizzle”+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e=t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;nt)return n;return-1},R=“checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped”,M="[\x20\t\r\n\f]",I="(?:\\[\da-fA-F]{1,6}"+M+"?|\\[\r\n\f]|[\w-]|[\0-\x7f])+",W="\["+M+"("+I+")(?:"+M+"([^KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲=new RegExp(""+M+"+|((?:|[^\\])(?:\\.))"+M+"+ " , " g " ) , = n e w R e g E x p ( " " + M + " ∗ , " + M + " ∗ " ) , z = n e w R e g E x p ( " " + M + " ∗ ( [ > +   ] ∣ " + M + " ) " + M + " ∗ " ) , U = n e w R e g E x p ( M + " ∣ > " ) , X = n e w R e g E x p ( F ) , V = n e w R e g E x p ( " " + I + " ","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+" ","g"),=newRegExp(""+M+","+M+""),z=newRegExp(""+M+"([>+ ]"+M+")"+M+""),U=newRegExp(M+">"),X=newRegExp(F),V=newRegExp(""+I+""),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\.("+I+")"),TAG:new RegExp("^("+I+"|[])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\("+M+"(even|odd|(([±]|)(\d*)n|)"+M+"(?[±]|)"+M+"(\d+)|))"+M+"\)|)",“i”),bool:new RegExp("^(?:"+R+") " , " i " ) , n e e d s C o n t e x t : n e w R e g E x p ( " " + M + " ∗ [ > +   ] ∣ : ( e v e n ∣ o d d ∣ e q ∣ g t ∣ l t ∣ n t h ∣ f i r s t ∣ l a s t ) ( ? : ( " + M + " ∗ ( ( ? : − d ) ? d ∗ ) " + M + " ∗ ) ∣ ) ( ? = [ − ] ∣ ","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]| ","i"),needsContext:newRegExp(""+M+"[>+ ]:(evenoddeqgtltnthfirstlast)(?:("+M+"((?:d)?d)"+M+"))(?=[])",“i”)},Y=/HTML / i , Q = / ( ? : i n p u t ∣ s e l e c t ∣ t e x t a r e a ∣ b u t t o n ) /i,Q=/^(?:input|select|textarea|button) /i,Q=/(?:inputselecttextareabutton)/i,J=/^h\dKaTeX parse error: Double superscript at position 9: /i,K=/^[^̲{]+\{\s*\[nativ…/,ee=/[+~]/,te=new RegExp("\\[\da-fA-F]{1,6}"+M+"?|\\([^\r\n\f])",“g”),ne=function(e,t){var n=“0x”+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|-?\d)|-KaTeX parse error: Undefined control sequence: \0 at position 4: |[^\̲0̲-\x1f\x7f-\uFFF…,"KaTeX parse error: Expected 'EOF', got '}' at position 11: 1"),e,n,r)}̲function ue(){v…]="+M+"(?:’’|"")"),e.querySelectorAll("[selected]").length||v.push("\["+M+"(?:value|"+R+")"),e.querySelectorAll("[id="+S+"-]").length||v.push("="),(t=C.createElement(“input”)).setAttribute(“name”,""),e.appendChild(t),e.querySelectorAll("[name=’’]").length||v.push("\["+M+“name"+M+"=”+M+"(?:’’|"")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll(“a#”+S+"+").length||v.push(".#.+[+~]"),e.querySelectorAll("\\f"),v.push("[\r\n\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement(“input”);t.setAttribute(“type”,“hidden”),e.appendChild(t).setAttribute(“name”,“D”),e.querySelectorAll("[name=d]").length&&v.push(“name”+M+"[^KaTeX parse error: Expected 'EOF', got '&' at position 51: …nabled").length&̲&v.push(":enabl…)"))&&m(e,function(e){return t.test(“string"typeof e.className&&e.className||“undefined”!=typeof e.getAttribute&&e.getAttribute(“class”)||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return nullt?”!="===r:!r||(t+="","="=r?t=i:"!="===r?t!==i:"^="=r?i&&0=t.indexOf(i):"="=r?i&&-1KaTeX parse error: Expected 'EOF', got '&' at position 9: ="===r?i&̲&t.slice(-i.len…,"KaTeX parse error: Expected '}', got '&' at position 91: …le(a--)(i=o[a])&̲&(e[a]=!(t[a]=i…,"KaTeX parse error: Expected 'EOF', got '&' at position 10: 1"),t,s," “)}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=uo)||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+” “];if(!a){t||(t=h(e)),n=t.length;while(n–)(a=Ee(t[n]))[S]?i.push(a).push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0p?1:Math.random()||.1,g=d.length;for(i&&(w=tC||t||i);l!g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocumentC||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u–,e&&c.push(o))}if(u+=l,m&&l!u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1=c.length){if(2<(o=c[0]=c[0].slice(0)).length&&“ID”=(a=o[0]).type&&9=t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i–){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split(””).sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(“fieldset”))}),ce(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute(“href”)})||fe(“type|href|height|width”,function(e,t,n){if(!n)return e.getAttribute(t,“type”===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="",e.firstChild.setAttribute(“value”,""),""=e.firstChild.getAttribute(“value”)})||fe(“value”,function(e,t,n){if(!n&&“input”=e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return nulle.getAttribute(“disabled”)})||fe(R,function(e,t,n){var r;if(!n)return!0=e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}©;S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!n;while((e=e[t])&&9!e.nodeType)if(1=e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1=e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/<([a-z][/\0>:\x20\t\r\n\f])[\x20\t\r\n\f]/?>(?:|)KaTeX parse error: Expected '}', got '&' at position 263: …r=t[0];return n&̲&(e=":not("+e+"…/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,“string”==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?thisr:this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;et;n=n.parentNode)if(n.nodeType<11&&(a?-1=n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(nulle?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,“parentNode”)},parentsUntil:function(e,t,n){return h(e,“parentNode”,n)},next:function(e){return O(e,“nextSibling”)},prev:function(e){return O(e,“previousSibling”)},nextAll:function(e){return h(e,“nextSibling”)},prevAll:function(e){return h(e,“previousSibling”)},nextUntil:function(e,t,n){return h(e,“nextSibling”,n)},prevUntil:function(e,t,n){return h(e,“previousSibling”,n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,“template”)&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until”!==r.slice(-5)&&(t=e),t&&“string”==typeof t&&(n=S.filter(t,n)),1typeof r?(e=r,n={},S.each(e.match§||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l=s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:”")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&“string”!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l–}),this},has:function(e){return e?-1M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m®?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+“With”](this=s?void 0:this,arguments),this},s[t[0]+“With”]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1o.state()||m(i[t]&&i[t].then)))return o.then();while(t–)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener(“DOMContentLoaded”,B),C.removeEventListener(“load”,B),S.ready()}S.fn.ready=function(e){return F.then(e)“catch”,this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0=e?–S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<–S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,“complete”=E.readyState||“loading”!E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener(“DOMContentLoaded”,B),C.addEventListener(“load”,B));var KaTeX parse error: Expected '}', got 'EOF' at end of input: …or(s in i=!0,n)(e,t,s,n[s],!0,o,a);else if(void 0!r&&(i=!0,m®||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(,“ms-”).replace(z,U)}var V=function(e){return 1=e.nodeType||9=e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"typeof t)i[X(t)]=n;else for(r in t)i[X®]=t[r];return i},get:function(e,t){return void 0=t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0=t||t&&“string"typeof t&&void 0=n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!r){if(void 0!t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match§||[]).length;while(n–)delete r[t[n]]}(void 0=t||S.isEmptyObject®)&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:{[\w\W]}|[[\w\W]])KaTeX parse error: Expected '}', got '&' at position 53: …i;if(void 0===n&̲&1===e.nodeType…&").toLowerCase(),"string"typeof(n=e.getAttribute®)){try{n=“true”=(i=n)||“false”!i&&(“null”=i?null:i=+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0=n){if(this.length&&(i=Q.get(o),1=o.nodeType&&!Y.get(o,“hasDataAttrs”))){t=a.length;while(t–)a[t]&&0=(r=a[t].name).indexOf(“data-”)&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,“hasDataAttrs”,!0)}return i}return"object”==typeof n?this.each(function(){Q.set(this,n)}):KaTeX parse error: Expected '}', got '&' at position 29: …n(e){var t;if(o&̲&void 0===e)ret…",“i”),ne=[“Top”,“Right”,“Bottom”,“Left”],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)=e.ownerDocument});var ae=function(e,t){return"none"=(e=t||e).style.display||""===e.style.display&&ie(e)&&“none”===S.css(e,“display”)};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":“px”),c=e.nodeType&&(S.cssNumber[t]||“px”!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a–)S.style(e,t,c+l),(1-o)(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c(?:checkbox|radio)$/i,de=/<([a-z][^/\0>\x20\t\r\n\f]*)/i,he=/^$|moduleKaTeX parse error: Undefined control sequence: \/ at position 2: |\̲/̲(?:java|ecma)sc…)"),a=o=p.length;while(o–)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount–,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,“handle events”)}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,“events”)||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;tc.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1=(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(“click”=e.type&&1<=e.button))for(;l!this;l=l.parentNode||this)if(1=l.nodeType&&(“click”!e.type||!0!l.disabled)){for(o=[],a={},n=0;n=a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0=e.defaultPrevented&&!1=e.returnValue?we:Te,this.target=e.target&&3=e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.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},S.event.addProp),S.each({focus:“focusin”,blur:“focusout”},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:“mouseover”,mouseleave:“mouseout”,pointerenter:“pointerover”,pointerleave:“pointerout”},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n=this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if(“object”==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!t&&“function”!=typeof t||(n=t,t=void 0),!1=n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/(?:[=]|=\s*.checked.)/i,Ne=/\s*\s*$/g;function je(e,t){return A(e,“table”)&&A(11!t.nodeType?t:t.firstChild,“tr”)&&S(e).children(“tbody”)[0]||e}function De(e){return e.type=(null!e.getAttribute(“type”))+"/"+e.type,e}function qe(e){return"true/"=(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(“type”),e}function Le(e,t){var n,r,i,o,a,s;if(1=t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,“handle events”),s)for(n=0,r=s[i].length;ntypeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1=e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,“script”),De)).length;cp&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,“script”))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c(u.type||”").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(“nonce”)},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!r.nodeType||S.cleanData(ve®),r.parentNode&&(n&&ie®&&ye(ve(r,“script”)),r.parentNode.removeChild®);return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!e.nodeType&&11!e.nodeType||S.isXMLDoc(e)))for(a=ve©,r=0,i=(o=ve(e)).length;r=(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:“input”!l&&“textarea”!l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve©,r=0,i=o.length;r(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0=e?S.text(this):this.empty().each(function(){1!this.nodeType&&11!this.nodeType&&9!this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!this.nodeType&&11!this.nodeType&&9!this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1=this.nodeType||11=this.nodeType||9=this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1=e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=nullt?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return KaTeX parse error: Expected '}', got '&' at position 68: …h;if(void 0===e&̲&1===t.nodeType…“,“i”),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join(”|"),“i”);function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText=“position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0”,l.style.cssText=“position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%”,re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n=“1%”!e.top,s=12=t(e.marginLeft),l.style.right=“60%”,o=36=t(e.right),r=36=t(e.width),l.style.position=“absolute”,i=12=t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement(“div”),l=E.createElement(“div”);l.style&&(l.style.backgroundClip=“content-box”,l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle=“content-box”=l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return nulla&&(e=E.createElement(“table”),t=E.createElement(“tr”),n=E.createElement(“div”),e.style.cssText=“position:absolute;left:-11111px;border-collapse:separate”,t.style.cssText=“border:1px solid”,t.style.height=“1px”,n.style.height=“9px”,n.style.display=“block”,re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=[“Webkit”,“Moz”,“ms”],$e=E.createElement(“div”).style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n–)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/(none|table(?!-c[ea]).+)/,Xe=/–/,Ve={position:“absolute”,visibility:“hidden”,display:“block”},Ge={letterSpacing:“0”,fontWeight:“400”};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||“px”):t}function Qe(e,t,n,r,i,o){var a=“width”=t?1:0,s=0,u=0;if(n=(r?“border”:“content”))return 0;for(;a<4;a+=2)“margin”===n&&(u+=S.css(e,n+ne[a],!0,i)),r?(“content”===n&&(u-=S.css(e,“padding”+ne[a],!0,i)),“margin”!==n&&(u-=S.css(e,“border”+ne[a]+“Width”,!0,i))):(u+=S.css(e,“padding”+ne[a],!0,i),“padding”!==n?u+=S.css(e,“border”+ne[a]+“Width”,!0,i):s+=S.css(e,“border”+ne[a]+“Width”,!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[“offset”+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&“border-box”===S.css(e,“boxSizing”,!1,r),o=i,a=We(e,t,r),s=“offset”+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a=“auto”}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,“tr”)||“auto”===a||!parseFloat(a)&&“inline”===S.css(e,“display”,!1,r))&&e.getClientRects().length&&(i=“border-box”=S.css(e,“boxSizing”,!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?“border”:“content”),o,r,a)+“px”}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,“opacity”);return""=n?“1”:n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!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,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!e.nodeType&&8!e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0=n)return a&&"get"in a&&void 0!(i=a.get(e,!1,r))?i:l[t];“string”=(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=“number”),null!=n&&nn&&(“number”!o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":“px”)),y.clearCloneStyle||""!n||0!t.indexOf(“background”)||(l[t]=“inherit”),a&&"set"in a&&void 0=(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0=i&&(i=We(e,t,r)),“normal”=i&&t in Ge&&(i=Ge[t]),""=n||n?(o=parseFloat(i),!0=n||isFinite(o)?o||0:i):i}}),S.each([“height”,“width”],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,“display”))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&“absolute”=i.position,a=(o||n)&&“border-box”=S.css(e,“boxSizing”,!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[“offset”+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,“border”,!1,i)-.5)),s&&(r=te.exec(t))&&“px”!(r[3]||“px”)&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,“marginLeft”))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+“px”}),S.each({margin:"",padding:"",border:“Width”},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"typeof e?e.split(" “):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},“margin”!i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 196: …guments.length)}̲}),((S.Tween=Ke…/,it=/queueHooks$/;function ot(){et&&(!1=E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[“margin”+(n=ne[r])]=i[“padding”+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners[”"]),o=0,a=i.length;o":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match§;for(var n,r=0,i=e.length;r(a=S._queueHooks(e,“fx”)).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued–,S.queue(e,“fx”).length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||“toggle”=i,i=(g?“hide”:“show”)){if(“show”!i||!v||void 0=v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1=e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null(l=v&&v.display)&&(l=Y.get(e,“display”)),“none”=(c=S.css(e,“display”))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,“display”),le([e]))),(“inline”===c||“inline-block”=c&&null!=l)&&“none”=S.css(e,“float”)&&(u||(p.done(function(){h.display=l}),nulll&&(c=h.display,l=“none”=c?"":c)),h.display=“inline-block”)),n.overflow&&(h.overflow=“hidden”,p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?“hidden"in v&&(g=v.hidden):v=Y.access(e,“fxshow”,{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,“fxshow”),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&“object"typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:“number”!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!r.queue||(r.queue=“fx”),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css(“opacity”,0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,“finish”))&&e.stop(!0)};return a.finish=a,i||!1=o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||“fx”,[]),this.each(function(){var e=!0,t=null!=i&&i+“queueHooks”,n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t–;)n[t].elem!this||null!=i&&n[t].queue!i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!a&&(a=a||“fx”),this.each(function(){var e,t=Y.get(this),n=t[a+“queue”],r=t[a+“queueHooks”],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e–;)i[e].elem=this&&i[e].queue=a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;ee||“boolean"typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st(“show”),slideUp:st(“hide”),slideToggle:st(“toggle”),fadeIn:{opacity:“show”},fadeOut:{opacity:“hide”},fadeToggle:{opacity:“toggle”}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();te||n.splice(t–,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||“fx”,this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement(“input”),nt=E.createElement(“select”).appendChild(E.createElement(“option”)),tt.type=“checkbox”,y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement(“input”)).value=“t”,tt.type=“radio”,y.radioValue=“t”===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 37: …guments.length)}̲,removeAttr:fun…/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match§||[]).join(" “)}function gt(e){return e.getAttribute&&e.getAttribute(“class”)||”"}function vt(e){return Array.isArray(e)?e:“string”==typeof e&&e.match§||[]}S.fn.extend({prop:function(e,t){return KaTeX parse error: Expected 'EOF', got '}' at position 37: …guments.length)}̲,removeProp:fun…/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,“type”)?e.type:e,h=v.call(e,“namespace”)?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1KaTeX parse error: Expected '}', got '&' at position 155: …ly(n,t))){if(!r&̲&!c.noBubble&&!…/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)KaTeX parse error: Expected '}', got '&' at position 163: …ject"==typeof t&̲&null!=t?e:"")+…/,Dt=/([?&])=[&]*/,qt=/(.?):[ \t]([\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=////,Ot={},Pt={},Rt="/".concat(""),Mt=E.createElement(“a”);function It(o){return function(e,t){“string”!=typeof e&&(t=e,e="");var n,r=0,i=e.toLowerCase().match§||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t=Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[""]&&l("")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:“GET”,isLocal:/^(?:about|app|app-storage|.±extension|file|res|widget)/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:“application/x-www-form-urlencoded; charset=UTF-8”,accepts:{"":Rt,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”},converters:{" text":String,“text html”:!0,“text json”:JSON.parse,“text xml”:S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){“object"typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks(“once memory”),w=v.statusCode||{},a={},s={},u=“canceled”,T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec§)n[t[1].toLowerCase()+" “]=(n[t[1].toLowerCase()+” “]||[]).concat(t[2])}t=n[e.toLowerCase()+” "]}return nullt?null:t.join(”, ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return nullh&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return nullh&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+”").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match§||[""],nullv.crossDomain){r=E.createElement(“a”);try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+”//”+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&“string”!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0S.active++&&S.event.trigger(“ajaxStart”),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0=(v.contentType||"").indexOf(“application/x-www-form-urlencoded”)&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||“string"typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1=v.cache&&(f=f.replace(Dt,“KaTeX parse error: Expected 'EOF', got '&' at position 20: …o=(Tt.test(f)?"&̲":"?")+"_="+wt.…t=S.ajaxSettings.xhr();y.cors=!!$t&&“withCredentials"in t , y . a j a x = t,y.ajax= t,y.ajax=t=!!KaTeX parse error: Expected '}', got 'EOF' at end of input: …o,a;if(y.cors||t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[“X-Requested-With”]||(e[“X-Requested-With”]=“XMLHttpRequest”),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.οnlοad=r.οnerrοr=r.οnabοrt=r.ontimeout=r.onreadystatechange=null,“abort”=e?r.abort():“error”=e?“number”!=typeof r.status?t(0,“error”):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,“text”!(r.responseType||“text”)||“string”!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.οnlοad=o(),a=r.οnerrοr=r.ontimeout=o(“error”),void 0!r.onabort?r.οnabοrt=a:r.onreadystatechange=function(){4=r.readyState&&C.setTimeout(function(){o&&a()})},o=o(“abort”);try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:“text/javascript, application/javascript, application/ecmascript, application/x-ecmascript”},contents:{script:/\b(?:java|ecma)script\b/},converters:{“text script”:function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter(“script”,function(e){void 0=e.cache&&(e.cache=!1),e.crossDomain&&(e.type=“GET”)}),S.ajaxTransport(“script”,function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S(”

};

jQuery.extend( {

// Unique for each copy of jQuery on the page
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),

// Assume jQuery is ready without the ready module
isReady: true,

error: function( msg ) {
	throw new Error( msg );
},

noop: function() {},

isPlainObject: function( obj ) {
	var proto, Ctor;

	// Detect obvious negatives
	// Use toString instead of jQuery.type to catch host objects
	if ( !obj || toString.call( obj ) !== "[object Object]" ) {
		return false;
	}

	proto = getProto( obj );

	// Objects with no prototype (e.g., `Object.create( null )`) are plain
	if ( !proto ) {
		return true;
	}

	// Objects with prototype are plain iff they were constructed by a global Object function
	Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
	return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
},

isEmptyObject: function( obj ) {
	var name;

	for ( name in obj ) {
		return false;
	}
	return true;
},

// Evaluates a script in a provided context; falls back to the global one
// if not specified.
globalEval: function( code, options, doc ) {
	DOMEval( code, { nonce: options && options.nonce }, doc );
},

each: function( obj, callback ) {
	var length, i = 0;

	if ( isArrayLike( obj ) ) {
		length = obj.length;
		for ( ; i < length; i++ ) {
			if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
				break;
			}
		}
	} else {
		for ( i in obj ) {
			if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
				break;
			}
		}
	}

	return obj;
},

// results is for internal usage only
makeArray: function( arr, results ) {
	var ret = results || [];

	if ( arr != null ) {
		if ( isArrayLike( Object( arr ) ) ) {
			jQuery.merge( ret,
				typeof arr === "string" ?
					[ arr ] : arr
			);
		} else {
			push.call( ret, arr );
		}
	}

	return ret;
},

inArray: function( elem, arr, i ) {
	return arr == null ? -1 : indexOf.call( arr, elem, i );
},

// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function( first, second ) {
	var len = +second.length,
		j = 0,
		i = first.length;

	for ( ; j < len; j++ ) {
		first[ i++ ] = second[ j ];
	}

	first.length = i;

	return first;
},

grep: function( elems, callback, invert ) {
	var callbackInverse,
		matches = [],
		i = 0,
		length = elems.length,
		callbackExpect = !invert;

	// Go through the array, only saving the items
	// that pass the validator function
	for ( ; i < length; i++ ) {
		callbackInverse = !callback( elems[ i ], i );
		if ( callbackInverse !== callbackExpect ) {
			matches.push( elems[ i ] );
		}
	}

	return matches;
},

// arg is for internal usage only
map: function( elems, callback, arg ) {
	var length, value,
		i = 0,
		ret = [];

	// Go through the array, translating each of the items to their new values
	if ( isArrayLike( elems ) ) {
		length = elems.length;
		for ( ; i < length; i++ ) {
			value = callback( elems[ i ], i, arg );

			if ( value != null ) {
				ret.push( value );
			}
		}

	// Go through every key on the object,
	} else {
		for ( i in elems ) {
			value = callback( elems[ i ], i, arg );

			if ( value != null ) {
				ret.push( value );
			}
		}
	}

	// Flatten any nested arrays
	return flat( ret );
},

// A global GUID counter for objects
guid: 1,

// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: support

} );

if ( typeof Symbol === “function” ) {
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}

// Populate the class2type map
jQuery.each( “Boolean Number String Function Array Date RegExp Object Error Symbol”.split( " " ),
function( _i, name ) {
class2type[ "[object " + name + “]” ] = name.toLowerCase();
} );

function isArrayLike( obj ) {

// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length = !!obj && "length" in obj && obj.length,
	type = toType( obj );

if ( isFunction( obj ) || isWindow( obj ) ) {
	return false;
}

return type === "array" || length === 0 ||
	typeof length === "number" && length > 0 && ( length - 1 ) in obj;

}
var Sizzle =
/*!

  • Sizzle CSS Selector Engine v2.3.6

  • https://sizzlejs.com/

  • Copyright JS Foundation and other contributors

  • Released under the MIT license

  • https://js.foundation/

  • Date: 2021-02-16
    */
    ( function( window ) {
    var i,
    support,
    Expr,
    getText,
    isXML,
    tokenize,
    compile,
    select,
    outermostContext,
    sortInput,
    hasDuplicate,

    // Local document vars
    setDocument,
    document,
    docElem,
    documentIsHTML,
    rbuggyQSA,
    rbuggyMatches,
    matches,
    contains,

    // Instance-specific data
    expando = “sizzle” + 1 * new Date(),
    preferredDoc = window.document,
    dirruns = 0,
    done = 0,
    classCache = createCache(),
    tokenCache = createCache(),
    compilerCache = createCache(),
    nonnativeSelectorCache = createCache(),
    sortOrder = function( a, b ) {
    if ( a === b ) {
    hasDuplicate = true;
    }
    return 0;
    },

    // Instance methods
    hasOwn = ( {} ).hasOwnProperty,
    arr = [],
    pop = arr.pop,
    pushNative = arr.push,
    push = arr.push,
    slice = arr.slice,

    // Use a stripped-down indexOf as it’s faster than native
    // https://jsperf.com/thor-indexof-vs-for/5
    indexOf = function( list, elem ) {
    var i = 0,
    len = list.length;
    for ( ; i < len; i++ ) {
    if ( list[ i ] === elem ) {
    return i;
    }
    }
    return -1;
    },

    booleans = “checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|” +
    “ismap|loop|multiple|open|readonly|required|scoped”,

    // Regular expressions

    // http://www.w3.org/TR/css3-selectors/#whitespace
    whitespace = “[\x20\t\r\n\f]”,

    // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
    identifier = “(?:\\[\da-fA-F]{1,6}” + whitespace +
    “?|\\[\r\n\f]|[\w-]|[\0-\x7f])+”,

    // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
    attributes = “\[” + whitespace + “*(” + identifier + “)(?:” + whitespace +

     // Operator (capture 2)
     "*([*^$|!~]?=)" + whitespace +
    
     // "Attribute values must be CSS identifiers [capture 5]
     // or strings [capture 3 or capture 4]"
     "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
     whitespace + "*\\]",
    

    pseudos = “” + identifier + “)(?:\((” +

     // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
     // 1. quoted (capture 3; capture 4 or capture 5)
     "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
    
     // 2. simple (capture 6)
     "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
    
     // 3. anything else (capture 2)
     ".*" +
     ")\\)|)",
    

    // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
    rwhitespace = new RegExp( whitespace + “+”, “g” ),
    rtrim = new RegExp( “^” + whitespace + “+|((?:|[\\])(?:\\.)*)” +
    whitespace + “+$”, “g” ),

    rcomma = new RegExp( “^” + whitespace + “," + whitespace + "” ),
    rcombinators = new RegExp( “^” + whitespace + “([>+~]|" + whitespace + “)” + whitespace +
    "
    ” ),
    rdescend = new RegExp( whitespace + “|>” ),

    rpseudo = new RegExp( pseudos ),
    ridentifier = new RegExp( “^” + identifier + “$” ),

    matchExpr = {
    “ID”: new RegExp( “^#(” + identifier + “)” ),
    “CLASS”: new RegExp( “^\.(” + identifier + “)” ),
    “TAG”: new RegExp( “^(” + identifier + “|[])" ),
    “ATTR”: new RegExp( “^” + attributes ),
    “PSEUDO”: new RegExp( “^” + pseudos ),
    “CHILD”: new RegExp( “^:(only|first|last|nth|nth-last)-(child|of-type)(?:\(” +
    whitespace + "
    (even|odd|(([±]|)(\d*)n|)” + whitespace + “(?[±]|)" +
    whitespace + "
    (\d+)|))” + whitespace + “*\)|)”, “i” ),
    “bool”: new RegExp( “^(?:” + booleans + “)$”, “i” ),

     // For use in libraries implementing .is()
     // We use this for POS matching in `select`
     "needsContext": new RegExp( "^" + whitespace +
     	"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
     	"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
    

    },

    rhtml = /HTML / i , r i n p u t s = / ( ? : i n p u t ∣ s e l e c t ∣ t e x t a r e a ∣ b u t t o n ) /i, rinputs = /^(?:input|select|textarea|button) /i,rinputs=/(?:inputselecttextareabutton)/i,
    rheader = /^h\d$/i,

    rnative = /[{]+{\s*[native \w/,

    // Easily-parseable/retrievable ID or TAG or CLASS selectors
    rquickExpr = /^(?:#([\w-]+)|(\w+)|.([\w-]+))$/,

    rsibling = /[+~]/,

    // CSS escapes
    // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
    runescape = new RegExp( “\\[\da-fA-F]{1,6}” + whitespace + “?|\\([^\r\n\f])”, “g” ),
    funescape = function( escape, nonHex ) {
    var high = “0x” + escape.slice( 1 ) - 0x10000;

     return nonHex ?
    
     	// Strip the backslash prefix from a non-hex escape sequence
     	nonHex :
    
     	// Replace a hexadecimal escape sequence with the encoded Unicode code point
     	// Support: IE <=11+
     	// For values outside the Basic Multilingual Plane (BMP), manually construct a
     	// surrogate pair
     	high < 0 ?
     		String.fromCharCode( high + 0x10000 ) :
     		String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
    

    },

    // CSS string/identifier serialization
    // https://drafts.csswg.org/cssom/#common-serializing-idioms
    rcssescape = /([\0-\x1f\x7f]|-?\d)|-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
    fcssescape = function( ch, asCodePoint ) {
    if ( asCodePoint ) {

     	// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
     	if ( ch === "\0" ) {
     		return "\uFFFD";
     	}
    
     	// Control characters and (dependent upon position) numbers get escaped as code points
     	return ch.slice( 0, -1 ) + "\\" +
     		ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
     }
    
     // Other potentially-special ASCII characters get backslash-escaped
     return "\\" + ch;
    

    },

    // Used for iframes
    // See setDocument()
    // Removing the function wrapper causes a “Permission Denied”
    // error in IE
    unloadHandler = function() {
    setDocument();
    },

    inDisabledFieldset = addCombinator(
    function( elem ) {
    return elem.disabled === true && elem.nodeName.toLowerCase() === “fieldset”;
    },
    { dir: “parentNode”, next: “legend” }
    );

// Optimize for push.apply( _, NodeList )
try {
push.apply(
( arr = slice.call( preferredDoc.childNodes ) ),
preferredDoc.childNodes
);

// Support: Android<4.0
// Detect silently failing push.apply
// eslint-disable-next-line no-unused-expressions
arr[ preferredDoc.childNodes.length ].nodeType;

} catch ( e ) {
push = { apply: arr.length ?

	// Leverage slice if possible
	function( target, els ) {
		pushNative.apply( target, slice.call( els ) );
	} :

	// Support: IE<9
	// Otherwise append directly
	function( target, els ) {
		var j = target.length,
			i = 0;

		// Can't trust NodeList.length
		while ( ( target[ j++ ] = els[ i++ ] ) ) {}
		target.length = j - 1;
	}
};

}

function Sizzle( selector, context, results, seed ) {
var m, i, elem, nid, match, groups, newSelector,
newContext = context && context.ownerDocument,

	// nodeType defaults to 9, since context defaults to document
	nodeType = context ? context.nodeType : 9;

results = results || [];

// Return early from calls with invalid selector or context
if ( typeof selector !== "string" || !selector ||
	nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {

	return results;
}

// Try to shortcut find operations (as opposed to filters) in HTML documents
if ( !seed ) {
	setDocument( context );
	context = context || document;

	if ( documentIsHTML ) {

		// If the selector is sufficiently simple, try using a "get*By*" DOM method
		// (excepting DocumentFragment context, where the methods don't exist)
		if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {

			// ID selector
			if ( ( m = match[ 1 ] ) ) {

				// Document context
				if ( nodeType === 9 ) {
					if ( ( elem = context.getElementById( m ) ) ) {

						// Support: IE, Opera, Webkit
						// TODO: identify versions
						// getElementById can match elements by name instead of ID
						if ( elem.id === m ) {
							results.push( elem );
							return results;
						}
					} else {
						return results;
					}

				// Element context
				} else {

					// Support: IE, Opera, Webkit
					// TODO: identify versions
					// getElementById can match elements by name instead of ID
					if ( newContext && ( elem = newContext.getElementById( m ) ) &&
						contains( context, elem ) &&
						elem.id === m ) {

						results.push( elem );
						return results;
					}
				}

			// Type selector
			} else if ( match[ 2 ] ) {
				push.apply( results, context.getElementsByTagName( selector ) );
				return results;

			// Class selector
			} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
				context.getElementsByClassName ) {

				push.apply( results, context.getElementsByClassName( m ) );
				return results;
			}
		}

		// Take advantage of querySelectorAll
		if ( support.qsa &&
			!nonnativeSelectorCache[ selector + " " ] &&
			( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&

			// Support: IE 8 only
			// Exclude object elements
			( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {

			newSelector = selector;
			newContext = context;

			// qSA considers elements outside a scoping root when evaluating child or
			// descendant combinators, which is not what we want.
			// In such cases, we work around the behavior by prefixing every selector in the
			// list with an ID selector referencing the scope context.
			// The technique has to be used as well when a leading combinator is used
			// as such selectors are not recognized by querySelectorAll.
			// Thanks to Andrew Dupont for this technique.
			if ( nodeType === 1 &&
				( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {

				// Expand context for sibling selectors
				newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
					context;

				// We can use :scope instead of the ID hack if the browser
				// supports it & if we're not changing the context.
				if ( newContext !== context || !support.scope ) {

					// Capture the context ID, setting it first if necessary
					if ( ( nid = context.getAttribute( "id" ) ) ) {
						nid = nid.replace( rcssescape, fcssescape );
					} else {
						context.setAttribute( "id", ( nid = expando ) );
					}
				}

				// Prefix every selector in the list
				groups = tokenize( selector );
				i = groups.length;
				while ( i-- ) {
					groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
						toSelector( groups[ i ] );
				}
				newSelector = groups.join( "," );
			}

			try {
				push.apply( results,
					newContext.querySelectorAll( newSelector )
				);
				return results;
			} catch ( qsaError ) {
				nonnativeSelectorCache( selector, true );
			} finally {
				if ( nid === expando ) {
					context.removeAttribute( "id" );
				}
			}
		}
	}
}

// All others
return select( selector.replace( rtrim, "$1" ), context, results, seed );

}

/**

  • Create key-value caches of limited size

  • @returns {function(string, object)} Returns the Object data after storing it on itself with

  • property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)

  • deleting the oldest entry
    */
    function createCache() {
    var keys = [];

    function cache( key, value ) {

    // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
    if ( keys.push( key + " " ) > Expr.cacheLength ) {
    
    	// Only keep the most recent entries
    	delete cache[ keys.shift() ];
    }
    return ( cache[ key + " " ] = value );
    

    }
    return cache;
    }

/**

  • Mark a function for special use by Sizzle
  • @param {Function} fn The function to mark
    */
    function markFunction( fn ) {
    fn[ expando ] = true;
    return fn;
    }

/**

  • Support testing using an element

  • @param {Function} fn Passed the created element and returns a boolean result
    */
    function assert( fn ) {
    var el = document.createElement( “fieldset” );

    try {
    return !!fn( el );
    } catch ( e ) {
    return false;
    } finally {

     // Remove from its parent by default
     if ( el.parentNode ) {
     	el.parentNode.removeChild( el );
     }
    
     // release memory in IE
     el = null;
    

    }
    }

/**

  • Adds the same handler for all of the specified attrs

  • @param {String} attrs Pipe-separated list of attributes

  • @param {Function} handler The method that will be applied
    */
    function addHandle( attrs, handler ) {
    var arr = attrs.split( “|” ),
    i = arr.length;

    while ( i-- ) {
    Expr.attrHandle[ arr[ i ] ] = handler;
    }
    }

/**

  • Checks document order of two siblings

  • @param {Element} a

  • @param {Element} b

  • @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
    */
    function siblingCheck( a, b ) {
    var cur = b && a,
    diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
    a.sourceIndex - b.sourceIndex;

    // Use IE sourceIndex if available on both nodes
    if ( diff ) {
    return diff;
    }

    // Check if b follows a
    if ( cur ) {
    while ( ( cur = cur.nextSibling ) ) {
    if ( cur === b ) {
    return -1;
    }
    }
    }

    return a ? 1 : -1;
    }

/**

  • Returns a function to use in pseudos for input types
  • @param {String} type
    */
    function createInputPseudo( type ) {
    return function( elem ) {
    var name = elem.nodeName.toLowerCase();
    return name === “input” && elem.type === type;
    };
    }

/**

  • Returns a function to use in pseudos for buttons
  • @param {String} type
    */
    function createButtonPseudo( type ) {
    return function( elem ) {
    var name = elem.nodeName.toLowerCase();
    return ( name === “input” || name === “button” ) && elem.type === type;
    };
    }

/**

  • Returns a function to use in pseudos for :enabled/:disabled

  • @param {Boolean} disabled true for :disabled; false for :enabled
    */
    function createDisabledPseudo( disabled ) {

    // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
    return function( elem ) {

     // Only certain elements can match :enabled or :disabled
     // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
     // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
     if ( "form" in elem ) {
    
     	// Check for inherited disabledness on relevant non-disabled elements:
     	// * listed form-associated elements in a disabled fieldset
     	//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
     	//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
     	// * option elements in a disabled optgroup
     	//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
     	// All such elements have a "form" property.
     	if ( elem.parentNode && elem.disabled === false ) {
    
     		// Option elements defer to a parent optgroup if present
     		if ( "label" in elem ) {
     			if ( "label" in elem.parentNode ) {
     				return elem.parentNode.disabled === disabled;
     			} else {
     				return elem.disabled === disabled;
     			}
     		}
    
     		// Support: IE 6 - 11
     		// Use the isDisabled shortcut property to check for disabled fieldset ancestors
     		return elem.isDisabled === disabled ||
    
     			// Where there is no isDisabled, check manually
     			/* jshint -W018 */
     			elem.isDisabled !== !disabled &&
     			inDisabledFieldset( elem ) === disabled;
     	}
    
     	return elem.disabled === disabled;
    
     // Try to winnow out elements that can't be disabled before trusting the disabled property.
     // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
     // even exist on them, let alone have a boolean value.
     } else if ( "label" in elem ) {
     	return elem.disabled === disabled;
     }
    
     // Remaining elements are neither :enabled nor :disabled
     return false;
    

    };
    }

/**

  • Returns a function to use in pseudos for positionals

  • @param {Function} fn
    */
    function createPositionalPseudo( fn ) {
    return markFunction( function( argument ) {
    argument = +argument;
    return markFunction( function( seed, matches ) {
    var j,
    matchIndexes = fn( [], seed.length, argument ),
    i = matchIndexes.length;

     	// Match elements found at the specified indexes
     	while ( i-- ) {
     		if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
     			seed[ j ] = !( matches[ j ] = seed[ j ] );
     		}
     	}
     } );
    

    } );
    }

/**

  • Checks a node for validity as a Sizzle context
  • @param {Element|Object=} context
  • @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
    */
    function testContext( context ) {
    return context && typeof context.getElementsByTagName !== “undefined” && context;
    }

// Expose support vars for convenience
support = Sizzle.support = {};

/**

  • Detects XML nodes

  • @param {Element|Object} elem An element or a document

  • @returns {Boolean} True iff elem is a non-HTML XML node
    */
    isXML = Sizzle.isXML = function( elem ) {
    var namespace = elem && elem.namespaceURI,
    docElem = elem && ( elem.ownerDocument || elem ).documentElement;

    // Support: IE <=8
    // Assume HTML when documentElement doesn’t yet exist, such as inside loading iframes
    // https://bugs.jquery.com/ticket/4833
    return !rhtml.test( namespace || docElem && docElem.nodeName || “HTML” );
    };

/**

  • Sets document-related variables once based on the current document

  • @param {Element|Object} [doc] An element or document object to use to set the document

  • @returns {Object} Returns the current document
    */
    setDocument = Sizzle.setDocument = function( node ) {
    var hasCompare, subWindow,
    doc = node ? node.ownerDocument || node : preferredDoc;

    // Return early if doc is invalid or already selected
    // Support: IE 11+, Edge 17 - 18+
    // IE/Edge sometimes throw a “Permission denied” error when strict-comparing
    // two documents; shallow comparisons work.
    // eslint-disable-next-line eqeqeq
    if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
    return document;
    }

    // Update global variables
    document = doc;
    docElem = document.documentElement;
    documentIsHTML = !isXML( document );

    // Support: IE 9 - 11+, Edge 12 - 18+
    // Accessing iframe documents after unload throws “permission denied” errors (jQuery #13936)
    // Support: IE 11+, Edge 17 - 18+
    // IE/Edge sometimes throw a “Permission denied” error when strict-comparing
    // two documents; shallow comparisons work.
    // eslint-disable-next-line eqeqeq
    if ( preferredDoc != document &&
    ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {

     // Support: IE 11, Edge
     if ( subWindow.addEventListener ) {
     	subWindow.addEventListener( "unload", unloadHandler, false );
    
     // Support: IE 9 - 10 only
     } else if ( subWindow.attachEvent ) {
     	subWindow.attachEvent( "onunload", unloadHandler );
     }
    

    }

    // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
    // Safari 4 - 5 only, Opera <=11.6 - 12.x only
    // IE/Edge & older browsers don’t support the :scope pseudo-class.
    // Support: Safari 6.0 only
    // Safari 6.0 supports :scope but it’s an alias of :root there.
    support.scope = assert( function( el ) {
    docElem.appendChild( el ).appendChild( document.createElement( “div” ) );
    return typeof el.querySelectorAll !== “undefined” &&
    !el.querySelectorAll( “:scope fieldset div” ).length;
    } );

    /* Attributes
    ---------------------------------------------------------------------- */

    // Support: IE<8
    // Verify that getAttribute really returns attributes and not properties
    // (excepting IE8 booleans)
    support.attributes = assert( function( el ) {
    el.className = “i”;
    return !el.getAttribute( “className” );
    } );

    /* getElement(s)By*
    ---------------------------------------------------------------------- */

    // Check if getElementsByTagName("") returns only elements
    support.getElementsByTagName = assert( function( el ) {
    el.appendChild( document.createComment( “” ) );
    return !el.getElementsByTagName( "
    " ).length;
    } );

    // Support: IE<9
    support.getElementsByClassName = rnative.test( document.getElementsByClassName );

    // Support: IE<10
    // Check if getElementById returns elements by name
    // The broken getElementById methods don’t pick up programmatically-set names,
    // so use a roundabout getElementsByName test
    support.getById = assert( function( el ) {
    docElem.appendChild( el ).id = expando;
    return !document.getElementsByName || !document.getElementsByName( expando ).length;
    } );

    // ID filter and find
    if ( support.getById ) {
    Expr.filter[ “ID” ] = function( id ) {
    var attrId = id.replace( runescape, funescape );
    return function( elem ) {
    return elem.getAttribute( “id” ) === attrId;
    };
    };
    Expr.find[ “ID” ] = function( id, context ) {
    if ( typeof context.getElementById !== “undefined” && documentIsHTML ) {
    var elem = context.getElementById( id );
    return elem ? [ elem ] : [];
    }
    };
    } else {
    Expr.filter[ “ID” ] = function( id ) {
    var attrId = id.replace( runescape, funescape );
    return function( elem ) {
    var node = typeof elem.getAttributeNode !== “undefined” &&
    elem.getAttributeNode( “id” );
    return node && node.value === attrId;
    };
    };

     // Support: IE 6 - 7 only
     // getElementById is not reliable as a find shortcut
     Expr.find[ "ID" ] = function( id, context ) {
     	if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
     		var node, i, elems,
     			elem = context.getElementById( id );
    
     		if ( elem ) {
    
     			// Verify the id attribute
     			node = elem.getAttributeNode( "id" );
     			if ( node && node.value === id ) {
     				return [ elem ];
     			}
    
     			// Fall back on getElementsByName
     			elems = context.getElementsByName( id );
     			i = 0;
     			while ( ( elem = elems[ i++ ] ) ) {
     				node = elem.getAttributeNode( "id" );
     				if ( node && node.value === id ) {
     					return [ elem ];
     				}
     			}
     		}
    
     		return [];
     	}
     };
    

    }

    // Tag
    Expr.find[ “TAG” ] = support.getElementsByTagName ?
    function( tag, context ) {
    if ( typeof context.getElementsByTagName !== “undefined” ) {
    return context.getElementsByTagName( tag );

     	// DocumentFragment nodes don't have gEBTN
     	} else if ( support.qsa ) {
     		return context.querySelectorAll( tag );
     	}
     } :
    
     function( tag, context ) {
     	var elem,
     		tmp = [],
     		i = 0,
    
     		// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
     		results = context.getElementsByTagName( tag );
    
     	// Filter out possible comments
     	if ( tag === "*" ) {
     		while ( ( elem = results[ i++ ] ) ) {
     			if ( elem.nodeType === 1 ) {
     				tmp.push( elem );
     			}
     		}
    
     		return tmp;
     	}
     	return results;
     };
    

    // Class
    Expr.find[ “CLASS” ] = support.getElementsByClassName && function( className, context ) {
    if ( typeof context.getElementsByClassName !== “undefined” && documentIsHTML ) {
    return context.getElementsByClassName( className );
    }
    };

    /* QSA/matchesSelector
    ---------------------------------------------------------------------- */

    // QSA and matchesSelector support

    // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
    rbuggyMatches = [];

    // qSa(:focus) reports false when true (Chrome 21)
    // We allow this because of a bug in IE8/9 that throws an error
    // whenever document.activeElement is accessed on an iframe
    // So, we allow :focus to pass through QSA all the time to avoid the IE error
    // See https://bugs.jquery.com/ticket/13378
    rbuggyQSA = [];

    if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {

     // Build QSA regex
     // Regex strategy adopted from Diego Perini
     assert( function( el ) {
    
     	var input;
    
     	// Select is set to empty string on purpose
     	// This is to test IE's treatment of not explicitly
     	// setting a boolean content attribute,
     	// since its presence should be enough
     	// https://bugs.jquery.com/ticket/12359
     	docElem.appendChild( el ).innerHTML = "" +
     		"";
    
     	// Support: IE8, Opera 11-12.16
     	// Nothing should be selected when empty strings follow ^= or $= or *=
     	// The test attribute must be unknown in Opera but "safe" for WinRT
     	// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
     	if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
     		rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
     	}
    
     	// Support: IE8
     	// Boolean attributes and "value" are not treated correctly
     	if ( !el.querySelectorAll( "[selected]" ).length ) {
     		rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
     	}
    
     	// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
     	if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
     		rbuggyQSA.push( "~=" );
     	}
    
     	// Support: IE 11+, Edge 15 - 18+
     	// IE 11/Edge don't find elements on a `[name='']` query in some cases.
     	// Adding a temporary attribute to the document before the selection works
     	// around the issue.
     	// Interestingly, IE 10 & older don't seem to have the issue.
     	input = document.createElement( "input" );
     	input.setAttribute( "name", "" );
     	el.appendChild( input );
     	if ( !el.querySelectorAll( "[name='']" ).length ) {
     		rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
     			whitespace + "*(?:''|\"\")" );
     	}
    
     	// Webkit/Opera - :checked should return selected option elements
     	// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
     	// IE8 throws error here and will not see later tests
     	if ( !el.querySelectorAll( ":checked" ).length ) {
     		rbuggyQSA.push( ":checked" );
     	}
    
     	// Support: Safari 8+, iOS 8+
     	// https://bugs.webkit.org/show_bug.cgi?id=136851
     	// In-page `selector#id sibling-combinator selector` fails
     	if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
     		rbuggyQSA.push( ".#.+[+~]" );
     	}
    
     	// Support: Firefox <=3.6 - 5 only
     	// Old Firefox doesn't throw on a badly-escaped identifier.
     	el.querySelectorAll( "\\\f" );
     	rbuggyQSA.push( "[\\r\\n\\f]" );
     } );
    
     assert( function( el ) {
     	el.innerHTML = "" +
     		"";
    
     	// Support: Windows 8 Native Apps
     	// The type and name attributes are restricted during .innerHTML assignment
     	var input = document.createElement( "input" );
     	input.setAttribute( "type", "hidden" );
     	el.appendChild( input ).setAttribute( "name", "D" );
    
     	// Support: IE8
     	// Enforce case-sensitivity of name attribute
     	if ( el.querySelectorAll( "[name=d]" ).length ) {
     		rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
     	}
    
     	// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
     	// IE8 throws error here and will not see later tests
     	if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
     		rbuggyQSA.push( ":enabled", ":disabled" );
     	}
    
     	// Support: IE9-11+
     	// IE's :disabled selector does not pick up the children of disabled fieldsets
     	docElem.appendChild( el ).disabled = true;
     	if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
     		rbuggyQSA.push( ":enabled", ":disabled" );
     	}
    
     	// Support: Opera 10 - 11 only
     	// Opera 10-11 does not throw on post-comma invalid pseudos
     	el.querySelectorAll( "*,:x" );
     	rbuggyQSA.push( ",.*:" );
     } );
    

    }

    if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
    docElem.webkitMatchesSelector ||
    docElem.mozMatchesSelector ||
    docElem.oMatchesSelector ||
    docElem.msMatchesSelector ) ) ) ) {

     assert( function( el ) {
    
     	// Check to see if it's possible to do matchesSelector
     	// on a disconnected node (IE 9)
     	support.disconnectedMatch = matches.call( el, "*" );
    
     	// This should fail with an exception
     	// Gecko does not error, returns false instead
     	matches.call( el, "[s!='']:x" );
     	rbuggyMatches.push( "!=", pseudos );
     } );
    

    }

    rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( “|” ) );
    rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( “|” ) );

    /* Contains
    ---------------------------------------------------------------------- */
    hasCompare = rnative.test( docElem.compareDocumentPosition );

    // Element contains another
    // Purposefully self-exclusive
    // As in, an element does not contain itself
    contains = hasCompare || rnative.test( docElem.contains ) ?
    function( a, b ) {
    var adown = a.nodeType === 9 ? a.documentElement : a,
    bup = b && b.parentNode;
    return a === bup || !!( bup && bup.nodeType === 1 && (
    adown.contains ?
    adown.contains( bup ) :
    a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
    ) );
    } :
    function( a, b ) {
    if ( b ) {
    while ( ( b = b.parentNode ) ) {
    if ( b === a ) {
    return true;
    }
    }
    }
    return false;
    };

    /* Sorting
    ---------------------------------------------------------------------- */

    // Document order sorting
    sortOrder = hasCompare ?
    function( a, b ) {

     // Flag for duplicate removal
     if ( a === b ) {
     	hasDuplicate = true;
     	return 0;
     }
    
     // Sort on method existence if only one input has compareDocumentPosition
     var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
     if ( compare ) {
     	return compare;
     }
    
     // Calculate position if both inputs belong to the same document
     // Support: IE 11+, Edge 17 - 18+
     // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
     // two documents; shallow comparisons work.
     // eslint-disable-next-line eqeqeq
     compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
     	a.compareDocumentPosition( b ) :
    
     	// Otherwise we know they are disconnected
     	1;
    
     // Disconnected nodes
     if ( compare & 1 ||
     	( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
    
     	// Choose the first element that is related to our preferred document
     	// Support: IE 11+, Edge 17 - 18+
     	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
     	// two documents; shallow comparisons work.
     	// eslint-disable-next-line eqeqeq
     	if ( a == document || a.ownerDocument == preferredDoc &&
     		contains( preferredDoc, a ) ) {
     		return -1;
     	}
    
     	// Support: IE 11+, Edge 17 - 18+
     	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
     	// two documents; shallow comparisons work.
     	// eslint-disable-next-line eqeqeq
     	if ( b == document || b.ownerDocument == preferredDoc &&
     		contains( preferredDoc, b ) ) {
     		return 1;
     	}
    
     	// Maintain original order
     	return sortInput ?
     		( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
     		0;
     }
    
     return compare & 4 ? -1 : 1;
    

    } :
    function( a, b ) {

     // Exit early if the nodes are identical
     if ( a === b ) {
     	hasDuplicate = true;
     	return 0;
     }
    
     var cur,
     	i = 0,
     	aup = a.parentNode,
     	bup = b.parentNode,
     	ap = [ a ],
     	bp = [ b ];
    
     // Parentless nodes are either documents or disconnected
     if ( !aup || !bup ) {
    
     	// Support: IE 11+, Edge 17 - 18+
     	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
     	// two documents; shallow comparisons work.
     	/* eslint-disable eqeqeq */
     	return a == document ? -1 :
     		b == document ? 1 :
     		/* eslint-enable eqeqeq */
     		aup ? -1 :
     		bup ? 1 :
     		sortInput ?
     		( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
     		0;
    
     // If the nodes are siblings, we can do a quick check
     } else if ( aup === bup ) {
     	return siblingCheck( a, b );
     }
    
     // Otherwise we need full lists of their ancestors for comparison
     cur = a;
     while ( ( cur = cur.parentNode ) ) {
     	ap.unshift( cur );
     }
     cur = b;
     while ( ( cur = cur.parentNode ) ) {
     	bp.unshift( cur );
     }
    
     // Walk down the tree looking for a discrepancy
     while ( ap[ i ] === bp[ i ] ) {
     	i++;
     }
    
     return i ?
    
     	// Do a sibling check if the nodes have a common ancestor
     	siblingCheck( ap[ i ], bp[ i ] ) :
    
     	// Otherwise nodes in our document sort first
     	// Support: IE 11+, Edge 17 - 18+
     	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
     	// two documents; shallow comparisons work.
     	/* eslint-disable eqeqeq */
     	ap[ i ] == preferredDoc ? -1 :
     	bp[ i ] == preferredDoc ? 1 :
     	/* eslint-enable eqeqeq */
     	0;
    

    };

    return document;
    };

Sizzle.matches = function( expr, elements ) {
return Sizzle( expr, null, null, elements );
};

Sizzle.matchesSelector = function( elem, expr ) {
setDocument( elem );

if ( support.matchesSelector && documentIsHTML &&
	!nonnativeSelectorCache[ expr + " " ] &&
	( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
	( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {

	try {
		var ret = matches.call( elem, expr );

		// IE 9's matchesSelector returns false on disconnected nodes
		if ( ret || support.disconnectedMatch ||

			// As well, disconnected nodes are said to be in a document
			// fragment in IE 9
			elem.document && elem.document.nodeType !== 11 ) {
			return ret;
		}
	} catch ( e ) {
		nonnativeSelectorCache( expr, true );
	}
}

return Sizzle( expr, document, null, [ elem ] ).length > 0;

};

Sizzle.contains = function( context, elem ) {

// Set document vars if needed
// Support: IE 11+, Edge 17 - 18+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
// two documents; shallow comparisons work.
// eslint-disable-next-line eqeqeq
if ( ( context.ownerDocument || context ) != document ) {
	setDocument( context );
}
return contains( context, elem );

};

Sizzle.attr = function( elem, name ) {

// Set document vars if needed
// Support: IE 11+, Edge 17 - 18+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
// two documents; shallow comparisons work.
// eslint-disable-next-line eqeqeq
if ( ( elem.ownerDocument || elem ) != document ) {
	setDocument( elem );
}

var fn = Expr.attrHandle[ name.toLowerCase() ],

	// Don't get fooled by Object.prototype properties (jQuery #13807)
	val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
		fn( elem, name, !documentIsHTML ) :
		undefined;

return val !== undefined ?
	val :
	support.attributes || !documentIsHTML ?
		elem.getAttribute( name ) :
		( val = elem.getAttributeNode( name ) ) && val.specified ?
			val.value :
			null;

};

Sizzle.escape = function( sel ) {
return ( sel + “” ).replace( rcssescape, fcssescape );
};

Sizzle.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};

/**

  • Document sorting and removing duplicates

  • @param {ArrayLike} results
    */
    Sizzle.uniqueSort = function( results ) {
    var elem,
    duplicates = [],
    j = 0,
    i = 0;

    // Unless we know we can detect duplicates, assume their presence
    hasDuplicate = !support.detectDuplicates;
    sortInput = !support.sortStable && results.slice( 0 );
    results.sort( sortOrder );

    if ( hasDuplicate ) {
    while ( ( elem = results[ i++ ] ) ) {
    if ( elem === results[ i ] ) {
    j = duplicates.push( i );
    }
    }
    while ( j-- ) {
    results.splice( duplicates[ j ], 1 );
    }
    }

    // Clear input after sorting to release objects
    // See https://github.com/jquery/sizzle/pull/225
    sortInput = null;

    return results;
    };

/**

  • Utility function for retrieving the text value of an array of DOM nodes

  • @param {Array|Element} elem
    */
    getText = Sizzle.getText = function( elem ) {
    var node,
    ret = “”,
    i = 0,
    nodeType = elem.nodeType;

    if ( !nodeType ) {

     // If no nodeType, this is expected to be an array
     while ( ( node = elem[ i++ ] ) ) {
    
     	// Do not traverse comment nodes
     	ret += getText( node );
     }
    

    } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {

     // Use textContent for elements
     // innerText usage removed for consistency of new lines (jQuery #11153)
     if ( typeof elem.textContent === "string" ) {
     	return elem.textContent;
     } else {
    
     	// Traverse its children
     	for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
     		ret += getText( elem );
     	}
     }
    

    } else if ( nodeType === 3 || nodeType === 4 ) {
    return elem.nodeValue;
    }

    // Do not include comment or processing instruction nodes

    return ret;
    };

Expr = Sizzle.selectors = {

// Can be adjusted by the user
cacheLength: 50,

createPseudo: markFunction,

match: matchExpr,

attrHandle: {},

find: {},

relative: {
	">": { dir: "parentNode", first: true },
	" ": { dir: "parentNode" },
	"+": { dir: "previousSibling", first: true },
	"~": { dir: "previousSibling" }
},

preFilter: {
	"ATTR": function( match ) {
		match[ 1 ] = match[ 1 ].replace( runescape, funescape );

		// Move the given value to match[3] whether quoted or unquoted
		match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
			match[ 5 ] || "" ).replace( runescape, funescape );

		if ( match[ 2 ] === "~=" ) {
			match[ 3 ] = " " + match[ 3 ] + " ";
		}

		return match.slice( 0, 4 );
	},

	"CHILD": function( match ) {

		/* matches from matchExpr["CHILD"]
			1 type (only|nth|...)
			2 what (child|of-type)
			3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
			4 xn-component of xn+y argument ([+-]?\d*n|)
			5 sign of xn-component
			6 x of xn-component
			7 sign of y-component
			8 y of y-component
		*/
		match[ 1 ] = match[ 1 ].toLowerCase();

		if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {

			// nth-* requires argument
			if ( !match[ 3 ] ) {
				Sizzle.error( match[ 0 ] );
			}

			// numeric x and y parameters for Expr.filter.CHILD
			// remember that false/true cast respectively to 0/1
			match[ 4 ] = +( match[ 4 ] ?
				match[ 5 ] + ( match[ 6 ] || 1 ) :
				2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
			match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );

			// other types prohibit arguments
		} else if ( match[ 3 ] ) {
			Sizzle.error( match[ 0 ] );
		}

		return match;
	},

	"PSEUDO": function( match ) {
		var excess,
			unquoted = !match[ 6 ] && match[ 2 ];

		if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
			return null;
		}

		// Accept quoted arguments as-is
		if ( match[ 3 ] ) {
			match[ 2 ] = match[ 4 ] || match[ 5 ] || "";

		// Strip excess characters from unquoted arguments
		} else if ( unquoted && rpseudo.test( unquoted ) &&

			// Get excess from tokenize (recursively)
			( excess = tokenize( unquoted, true ) ) &&

			// advance to the next closing parenthesis
			( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {

			// excess is a negative index
			match[ 0 ] = match[ 0 ].slice( 0, excess );
			match[ 2 ] = unquoted.slice( 0, excess );
		}

		// Return only captures needed by the pseudo filter method (type and argument)
		return match.slice( 0, 3 );
	}
},

filter: {

	"TAG": function( nodeNameSelector ) {
		var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
		return nodeNameSelector === "*" ?
			function() {
				return true;
			} :
			function( elem ) {
				return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
			};
	},

	"CLASS": function( className ) {
		var pattern = classCache[ className + " " ];

		return pattern ||
			( pattern = new RegExp( "(^|" + whitespace +
				")" + className + "(" + whitespace + "|$)" ) ) && classCache(
					className, function( elem ) {
						return pattern.test(
							typeof elem.className === "string" && elem.className ||
							typeof elem.getAttribute !== "undefined" &&
								elem.getAttribute( "class" ) ||
							""
						);
			} );
	},

	"ATTR": function( name, operator, check ) {
		return function( elem ) {
			var result = Sizzle.attr( elem, name );

			if ( result == null ) {
				return operator === "!=";
			}
			if ( !operator ) {
				return true;
			}

			result += "";

			/* eslint-disable max-len */

			return operator === "=" ? result === check :
				operator === "!=" ? result !== check :
				operator === "^=" ? check && result.indexOf( check ) === 0 :
				operator === "*=" ? check && result.indexOf( check ) > -1 :
				operator === "$=" ? check && result.slice( -check.length ) === check :
				operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
				operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
				false;
			/* eslint-enable max-len */

		};
	},

	"CHILD": function( type, what, _argument, first, last ) {
		var simple = type.slice( 0, 3 ) !== "nth",
			forward = type.slice( -4 ) !== "last",
			ofType = what === "of-type";

		return first === 1 && last === 0 ?

			// Shortcut for :nth-*(n)
			function( elem ) {
				return !!elem.parentNode;
			} :

			function( elem, _context, xml ) {
				var cache, uniqueCache, outerCache, node, nodeIndex, start,
					dir = simple !== forward ? "nextSibling" : "previousSibling",
					parent = elem.parentNode,
					name = ofType && elem.nodeName.toLowerCase(),
					useCache = !xml && !ofType,
					diff = false;

				if ( parent ) {

					// :(first|last|only)-(child|of-type)
					if ( simple ) {
						while ( dir ) {
							node = elem;
							while ( ( node = node[ dir ] ) ) {
								if ( ofType ?
									node.nodeName.toLowerCase() === name :
									node.nodeType === 1 ) {

									return false;
								}
							}

							// Reverse direction for :only-* (if we haven't yet done so)
							start = dir = type === "only" && !start && "nextSibling";
						}
						return true;
					}

					start = [ forward ? parent.firstChild : parent.lastChild ];

					// non-xml :nth-child(...) stores cache data on `parent`
					if ( forward && useCache ) {

						// Seek `elem` from a previously-cached index

						// ...in a gzip-friendly way
						node = parent;
						outerCache = node[ expando ] || ( node[ expando ] = {} );

						// Support: IE <9 only
						// Defend against cloned attroperties (jQuery gh-1709)
						uniqueCache = outerCache[ node.uniqueID ] ||
							( outerCache[ node.uniqueID ] = {} );

						cache = uniqueCache[ type ] || [];
						nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
						diff = nodeIndex && cache[ 2 ];
						node = nodeIndex && parent.childNodes[ nodeIndex ];

						while ( ( node = ++nodeIndex && node && node[ dir ] ||

							// Fallback to seeking `elem` from the start
							( diff = nodeIndex = 0 ) || start.pop() ) ) {

							// When found, cache indexes on `parent` and break
							if ( node.nodeType === 1 && ++diff && node === elem ) {
								uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
								break;
							}
						}

					} else {

						// Use previously-cached element index if available
						if ( useCache ) {

							// ...in a gzip-friendly way
							node = elem;
							outerCache = node[ expando ] || ( node[ expando ] = {} );

							// Support: IE <9 only
							// Defend against cloned attroperties (jQuery gh-1709)
							uniqueCache = outerCache[ node.uniqueID ] ||
								( outerCache[ node.uniqueID ] = {} );

							cache = uniqueCache[ type ] || [];
							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
							diff = nodeIndex;
						}

						// xml :nth-child(...)
						// or :nth-last-child(...) or :nth(-last)?-of-type(...)
						if ( diff === false ) {

							// Use the same loop as above to seek `elem` from the start
							while ( ( node = ++nodeIndex && node && node[ dir ] ||
								( diff = nodeIndex = 0 ) || start.pop() ) ) {

								if ( ( ofType ?
									node.nodeName.toLowerCase() === name :
									node.nodeType === 1 ) &&
									++diff ) {

									// Cache the index of each encountered element
									if ( useCache ) {
										outerCache = node[ expando ] ||
											( node[ expando ] = {} );

										// Support: IE <9 only
										// Defend against cloned attroperties (jQuery gh-1709)
										uniqueCache = outerCache[ node.uniqueID ] ||
											( outerCache[ node.uniqueID ] = {} );

										uniqueCache[ type ] = [ dirruns, diff ];
									}

									if ( node === elem ) {
										break;
									}
								}
							}
						}
					}

					// Incorporate the offset, then check against cycle size
					diff -= last;
					return diff === first || ( diff % first === 0 && diff / first >= 0 );
				}
			};
	},

	"PSEUDO": function( pseudo, argument ) {

		// pseudo-class names are case-insensitive
		// http://www.w3.org/TR/selectors/#pseudo-classes
		// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
		// Remember that setFilters inherits from pseudos
		var args,
			fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
				Sizzle.error( "unsupported pseudo: " + pseudo );

		// The user may use createPseudo to indicate that
		// arguments are needed to create the filter function
		// just as Sizzle does
		if ( fn[ expando ] ) {
			return fn( argument );
		}

		// But maintain support for old signatures
		if ( fn.length > 1 ) {
			args = [ pseudo, pseudo, "", argument ];
			return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
				markFunction( function( seed, matches ) {
					var idx,
						matched = fn( seed, argument ),
						i = matched.length;
					while ( i-- ) {
						idx = indexOf( seed, matched[ i ] );
						seed[ idx ] = !( matches[ idx ] = matched[ i ] );
					}
				} ) :
				function( elem ) {
					return fn( elem, 0, args );
				};
		}

		return fn;
	}
},

pseudos: {

	// Potentially complex pseudos
	"not": markFunction( function( selector ) {

		// Trim the selector passed to compile
		// to avoid treating leading and trailing
		// spaces as combinators
		var input = [],
			results = [],
			matcher = compile( selector.replace( rtrim, "$1" ) );

		return matcher[ expando ] ?
			markFunction( function( seed, matches, _context, xml ) {
				var elem,
					unmatched = matcher( seed, null, xml, [] ),
					i = seed.length;

				// Match elements unmatched by `matcher`
				while ( i-- ) {
					if ( ( elem = unmatched[ i ] ) ) {
						seed[ i ] = !( matches[ i ] = elem );
					}
				}
			} ) :
			function( elem, _context, xml ) {
				input[ 0 ] = elem;
				matcher( input, null, xml, results );

				// Don't keep the element (issue #299)
				input[ 0 ] = null;
				return !results.pop();
			};
	} ),

	"has": markFunction( function( selector ) {
		return function( elem ) {
			return Sizzle( selector, elem ).length > 0;
		};
	} ),

	"contains": markFunction( function( text ) {
		text = text.replace( runescape, funescape );
		return function( elem ) {
			return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
		};
	} ),

	// "Whether an element is represented by a :lang() selector
	// is based solely on the element's language value
	// being equal to the identifier C,
	// or beginning with the identifier C immediately followed by "-".
	// The matching of C against the element's language value is performed case-insensitively.
	// The identifier C does not have to be a valid language name."
	// http://www.w3.org/TR/selectors/#lang-pseudo
	"lang": markFunction( function( lang ) {

		// lang value must be a valid identifier
		if ( !ridentifier.test( lang || "" ) ) {
			Sizzle.error( "unsupported lang: " + lang );
		}
		lang = lang.replace( runescape, funescape ).toLowerCase();
		return function( elem ) {
			var elemLang;
			do {
				if ( ( elemLang = documentIsHTML ?
					elem.lang :
					elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {

					elemLang = elemLang.toLowerCase();
					return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
				}
			} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
			return false;
		};
	} ),

	// Miscellaneous
	"target": function( elem ) {
		var hash = window.location && window.location.hash;
		return hash && hash.slice( 1 ) === elem.id;
	},

	"root": function( elem ) {
		return elem === docElem;
	},

	"focus": function( elem ) {
		return elem === document.activeElement &&
			( !document.hasFocus || document.hasFocus() ) &&
			!!( elem.type || elem.href || ~elem.tabIndex );
	},

	// Boolean properties
	"enabled": createDisabledPseudo( false ),
	"disabled": createDisabledPseudo( true ),

	"checked": function( elem ) {

		// In CSS3, :checked should return both checked and selected elements
		// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
		var nodeName = elem.nodeName.toLowerCase();
		return ( nodeName === "input" && !!elem.checked ) ||
			( nodeName === "option" && !!elem.selected );
	},

	"selected": function( elem ) {

		// Accessing this property makes selected-by-default
		// options in Safari work properly
		if ( elem.parentNode ) {
			// eslint-disable-next-line no-unused-expressions
			elem.parentNode.selectedIndex;
		}

		return elem.selected === true;
	},

	// Contents
	"empty": function( elem ) {

		// http://www.w3.org/TR/selectors/#empty-pseudo
		// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
		//   but not by others (comment: 8; processing instruction: 7; etc.)
		// nodeType < 6 works because attributes (2) do not appear as children
		for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
			if ( elem.nodeType < 6 ) {
				return false;
			}
		}
		return true;
	},

	"parent": function( elem ) {
		return !Expr.pseudos[ "empty" ]( elem );
	},

	// Element/input types
	"header": function( elem ) {
		return rheader.test( elem.nodeName );
	},

	"input": function( elem ) {
		return rinputs.test( elem.nodeName );
	},

	"button": function( elem ) {
		var name = elem.nodeName.toLowerCase();
		return name === "input" && elem.type === "button" || name === "button";
	},

	"text": function( elem ) {
		var attr;
		return elem.nodeName.toLowerCase() === "input" &&
			elem.type === "text" &&

			// Support: IE<8
			// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
			( ( attr = elem.getAttribute( "type" ) ) == null ||
				attr.toLowerCase() === "text" );
	},

	// Position-in-collection
	"first": createPositionalPseudo( function() {
		return [ 0 ];
	} ),

	"last": createPositionalPseudo( function( _matchIndexes, length ) {
		return [ length - 1 ];
	} ),

	"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
		return [ argument < 0 ? argument + length : argument ];
	} ),

	"even": createPositionalPseudo( function( matchIndexes, length ) {
		var i = 0;
		for ( ; i < length; i += 2 ) {
			matchIndexes.push( i );
		}
		return matchIndexes;
	} ),

	"odd": createPositionalPseudo( function( matchIndexes, length ) {
		var i = 1;
		for ( ; i < length; i += 2 ) {
			matchIndexes.push( i );
		}
		return matchIndexes;
	} ),

	"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
		var i = argument < 0 ?
			argument + length :
			argument > length ?
				length :
				argument;
		for ( ; --i >= 0; ) {
			matchIndexes.push( i );
		}
		return matchIndexes;
	} ),

	"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
		var i = argument < 0 ? argument + length : argument;
		for ( ; ++i < length; ) {
			matchIndexes.push( i );
		}
		return matchIndexes;
	} )
}

};

Expr.pseudos[ “nth” ] = Expr.pseudos[ “eq” ];

// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
Expr.pseudos[ i ] = createInputPseudo( i );
}
for ( i in { submit: true, reset: true } ) {
Expr.pseudos[ i ] = createButtonPseudo( i );
}

// Easy API for creating new setFilters
function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();

tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
var matched, match, tokens, type,
soFar, groups, preFilters,
cached = tokenCache[ selector + " " ];

if ( cached ) {
	return parseOnly ? 0 : cached.slice( 0 );
}

soFar = selector;
groups = [];
preFilters = Expr.preFilter;

while ( soFar ) {

	// Comma and first run
	if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
		if ( match ) {

			// Don't consume trailing commas as valid
			soFar = soFar.slice( match[ 0 ].length ) || soFar;
		}
		groups.push( ( tokens = [] ) );
	}

	matched = false;

	// Combinators
	if ( ( match = rcombinators.exec( soFar ) ) ) {
		matched = match.shift();
		tokens.push( {
			value: matched,

			// Cast descendant combinators to space
			type: match[ 0 ].replace( rtrim, " " )
		} );
		soFar = soFar.slice( matched.length );
	}

	// Filters
	for ( type in Expr.filter ) {
		if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
			( match = preFilters[ type ]( match ) ) ) ) {
			matched = match.shift();
			tokens.push( {
				value: matched,
				type: type,
				matches: match
			} );
			soFar = soFar.slice( matched.length );
		}
	}

	if ( !matched ) {
		break;
	}
}

// Return the length of the invalid excess
// if we're just parsing
// Otherwise, throw an error or return tokens
return parseOnly ?
	soFar.length :
	soFar ?
		Sizzle.error( selector ) :

		// Cache the tokens
		tokenCache( selector, groups ).slice( 0 );

};

function toSelector( tokens ) {
var i = 0,
len = tokens.length,
selector = “”;
for ( ; i < len; i++ ) {
selector += tokens[ i ].value;
}
return selector;
}

function addCombinator( matcher, combinator, base ) {
var dir = combinator.dir,
skip = combinator.next,
key = skip || dir,
checkNonElements = base && key === “parentNode”,
doneName = done++;

return combinator.first ?

	// Check against closest ancestor/preceding element
	function( elem, context, xml ) {
		while ( ( elem = elem[ dir ] ) ) {
			if ( elem.nodeType === 1 || checkNonElements ) {
				return matcher( elem, context, xml );
			}
		}
		return false;
	} :

	// Check against all ancestor/preceding elements
	function( elem, context, xml ) {
		var oldCache, uniqueCache, outerCache,
			newCache = [ dirruns, doneName ];

		// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
		if ( xml ) {
			while ( ( elem = elem[ dir ] ) ) {
				if ( elem.nodeType === 1 || checkNonElements ) {
					if ( matcher( elem, context, xml ) ) {
						return true;
					}
				}
			}
		} else {
			while ( ( elem = elem[ dir ] ) ) {
				if ( elem.nodeType === 1 || checkNonElements ) {
					outerCache = elem[ expando ] || ( elem[ expando ] = {} );

					// Support: IE <9 only
					// Defend against cloned attroperties (jQuery gh-1709)
					uniqueCache = outerCache[ elem.uniqueID ] ||
						( outerCache[ elem.uniqueID ] = {} );

					if ( skip && skip === elem.nodeName.toLowerCase() ) {
						elem = elem[ dir ] || elem;
					} else if ( ( oldCache = uniqueCache[ key ] ) &&
						oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {

						// Assign to newCache so results back-propagate to previous elements
						return ( newCache[ 2 ] = oldCache[ 2 ] );
					} else {

						// Reuse newcache so results back-propagate to previous elements
						uniqueCache[ key ] = newCache;

						// A match means we're done; a fail means we have to keep checking
						if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
							return true;
						}
					}
				}
			}
		}
		return false;
	};

}

function elementMatcher( matchers ) {
return matchers.length > 1 ?
function( elem, context, xml ) {
var i = matchers.length;
while ( i-- ) {
if ( !matchers[ i ]( elem, context, xml ) ) {
return false;
}
}
return true;
} :
matchers[ 0 ];
}

function multipleContexts( selector, contexts, results ) {
var i = 0,
len = contexts.length;
for ( ; i < len; i++ ) {
Sizzle( selector, contexts[ i ], results );
}
return results;
}

function condense( unmatched, map, filter, context, xml ) {
var elem,
newUnmatched = [],
i = 0,
len = unmatched.length,
mapped = map != null;

for ( ; i < len; i++ ) {
	if ( ( elem = unmatched[ i ] ) ) {
		if ( !filter || filter( elem, context, xml ) ) {
			newUnmatched.push( elem );
			if ( mapped ) {
				map.push( i );
			}
		}
	}
}

return newUnmatched;

}

function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
if ( postFilter && !postFilter[ expando ] ) {
postFilter = setMatcher( postFilter );
}
if ( postFinder && !postFinder[ expando ] ) {
postFinder = setMatcher( postFinder, postSelector );
}
return markFunction( function( seed, results, context, xml ) {
var temp, i, elem,
preMap = [],
postMap = [],
preexisting = results.length,

		// Get initial elements from seed or context
		elems = seed || multipleContexts(
			selector || "*",
			context.nodeType ? [ context ] : context,
			[]
		),

		// Prefilter to get matcher input, preserving a map for seed-results synchronization
		matcherIn = preFilter && ( seed || !selector ) ?
			condense( elems, preMap, preFilter, context, xml ) :
			elems,

		matcherOut = matcher ?

			// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
			postFinder || ( seed ? preFilter : preexisting || postFilter ) ?

				// ...intermediate processing is necessary
				[] :

				// ...otherwise use results directly
				results :
			matcherIn;

	// Find primary matches
	if ( matcher ) {
		matcher( matcherIn, matcherOut, context, xml );
	}

	// Apply postFilter
	if ( postFilter ) {
		temp = condense( matcherOut, postMap );
		postFilter( temp, [], context, xml );

		// Un-match failing elements by moving them back to matcherIn
		i = temp.length;
		while ( i-- ) {
			if ( ( elem = temp[ i ] ) ) {
				matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
			}
		}
	}

	if ( seed ) {
		if ( postFinder || preFilter ) {
			if ( postFinder ) {

				// Get the final matcherOut by condensing this intermediate into postFinder contexts
				temp = [];
				i = matcherOut.length;
				while ( i-- ) {
					if ( ( elem = matcherOut[ i ] ) ) {

						// Restore matcherIn since elem is not yet a final match
						temp.push( ( matcherIn[ i ] = elem ) );
					}
				}
				postFinder( null, ( matcherOut = [] ), temp, xml );
			}

			// Move matched elements from seed to results to keep them synchronized
			i = matcherOut.length;
			while ( i-- ) {
				if ( ( elem = matcherOut[ i ] ) &&
					( t

你可能感兴趣的:(笔记,web前端,其他)