ZAP Scanning Report

Generated with ZAP on Mon 18 Apr 2022, at 11:06:13

Contents

About this report

Report parameters

Contexts

No contexts were selected, so all contexts were included by default.

Sites

The following sites were included:

  • https://mcuxpresso.nxp.com
  • http://mcuxpresso.nxp.com

(If no sites were selected, all sites were included by default.)

An included site must also be within one of the included contexts for its data to be included in the report.

Risk levels

Included: High, Medium, Low, Informational

Excluded: None

Confidence levels

Included: User Confirmed, High, Medium, Low

Excluded: User Confirmed, High, Medium, Low, False Positive

Summaries

Alert counts by risk and confidence

This table shows the number of alerts for each level of risk and confidence included in the report.

(The percentages in brackets represent the count as a percentage of the total number of alerts included in the report, rounded to one decimal place.)

Confidence
User Confirmed High Medium Low Total
Risk High 0
(0.0%)
0
(0.0%)
0
(0.0%)
0
(0.0%)
0
(0.0%)
Medium 0
(0.0%)
0
(0.0%)
1
(12.5%)
1
(12.5%)
2
(25.0%)
Low 0
(0.0%)
0
(0.0%)
2
(25.0%)
1
(12.5%)
3
(37.5%)
Informational 0
(0.0%)
0
(0.0%)
2
(25.0%)
1
(12.5%)
3
(37.5%)
Total 0
(0.0%)
0
(0.0%)
5
(62.5%)
3
(37.5%)
8
(100%)

Alert counts by site and risk

This table shows, for each site for which one or more alerts were raised, the number of alerts raised at each risk level.

Alerts with a confidence level of "False Positive" have been excluded from these counts.

(The numbers in brackets are the number of alerts raised for the site at or above that risk level.)

Risk
High
(= High)
Medium
(>= Medium)
Low
(>= Low)
Informational
(>= Informational)
Site https://mcuxpresso.nxp.com 0
(0)
2
(2)
3
(5)
3
(8)

Alert counts by alert type

This table shows the number of alerts of each alert type, together with the alert type's risk level.

(The percentages in brackets represent each count as a percentage, rounded to one decimal place, of the total number of alerts included in this report.)

Alert type Risk Count
Absence of Anti-CSRF Tokens Medium 1
(12.5%)
Vulnerable JS Library Medium 1
(12.5%)
Cookie without SameSite Attribute Low 7
(87.5%)
Timestamp Disclosure - Unix Low 32
(400.0%)
X-Content-Type-Options Header Missing Low 30
(375.0%)
Information Disclosure - Sensitive Information in URL Informational 1
(12.5%)
Information Disclosure - Suspicious Comments Informational 12
(150.0%)
Re-examine Cache-control Directives Informational 13
(162.5%)
Total 8

Alerts

  1. Risk=Medium, Confidence=Medium (1)

    1. https://mcuxpresso.nxp.com (1)

      1. Vulnerable JS Library (1)
        1. GET https://mcuxpresso.nxp.com/static/generated/external.29cdb1d9.min.js
          Alert tags
          Alert description

          The identified library jquery, version 3.4.1 is vulnerable.

          Other info

          CVE-2020-11023

          CVE-2020-11022

          Request
          Request line and header section (311 bytes)
          GET https://mcuxpresso.nxp.com/static/generated/external.29cdb1d9.min.js HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://mcuxpresso.nxp.com/en/welcome
          
          
          Request body (0 bytes)
          Response
          Status line and header section (380 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          Last-Modified: Fri, 08 Apr 2022 07:01:45 GMT
          ETag: "722b1-5dc1f2aedd0c0-gzip"
          Content-Type: application/javascript
          Cache-Control: max-age=36589
          Expires: Mon, 18 Apr 2022 02:10:49 GMT
          Date: Sun, 17 Apr 2022 16:01:00 GMT
          Connection: keep-alive
          Connection: Transfer-Encoding
          Server-Timing: cdn-cache; desc=HIT
          Server-Timing: edge; dur=41
          
          
          Response body (467633 bytes)
          !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=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,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},x=function(e){return null!=e&&e===e.window},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(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.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)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.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){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.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;n<r;n++)if(e[n]===t)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="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),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"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(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 null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof 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=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===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="<input/>",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 null==e.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}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.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 k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):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(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(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(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.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 k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.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=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(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[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(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(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.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=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.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 ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),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)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,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&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.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:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(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=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(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(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.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 Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(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&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.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 ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(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+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[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 tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(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=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.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=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.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=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._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--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.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]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(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=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(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?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.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&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.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&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.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||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.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;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.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)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.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&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];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 _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.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 zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,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":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),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=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.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=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(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||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!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.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=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()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.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 k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return/(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?pe:10===e?se:pe||se}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return ee(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?parseInt(o['offset'+e])+parseInt(n['margin'+('Height'===e?'Top':'Left')])+parseInt(n['margin'+('Height'===e?'Bottom':'Right')]):0)}function c(e){var t=e.body,o=e.documentElement,n=r(10)&&getComputedStyle(o);return{height:h('Height',t,o,n),width:h('Width',t,o,n)}}function g(e){return fe({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c(e.ownerDocument):{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&s&&(a.top=ee(a.top,0),a.left=ee(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var w=parseFloat(m.marginTop,10),y=parseFloat(m.marginLeft,10);b.top-=h-w,b.bottom-=h-w,b.left-=c-y,b.right-=c-y,b.marginTop=w,b.marginLeft=y}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function w(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=ee(o.clientWidth,window.innerWidth||0),r=ee(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function y(e){var n=e.nodeName;if('BODY'===n||'HTML'===n)return!1;if('fixed'===t(e,'position'))return!0;var i=o(e);return!!i&&y(i)}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=w(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!y(d)){var m=c(e.ownerDocument),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}i=i||0;var u='number'==typeof i;return s.left+=u?i:i.left||0,s.top+=u?i:i.top||0,s.right-=u?i:i.right||0,s.bottom-=u?i:i.bottom||0,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return fe({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=e.ownerDocument.defaultView,o=t.getComputedStyle(e),n=parseFloat(o.marginTop||0)+parseFloat(o.marginBottom||0),i=parseFloat(o.marginLeft||0)+parseFloat(o.marginRight||0),r={width:e.offsetWidth+i,height:e.offsetHeight+n};return r}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function F(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function I(){this.state.eventsEnabled||(this.state=F(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function V(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function j(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t){var o=e.offsets,n=o.popper,i=o.reference,r=$,p=function(e){return e},s=r(i.width),d=r(n.width),a=-1!==['left','right'].indexOf(e.placement),l=-1!==e.placement.indexOf('-'),f=t?a||l||s%2==d%2?r:Z:p,m=t?r:p;return{left:f(1==s%2&&1==d%2&&!l&&t?n.left-1:n.left),top:m(n.top),bottom:m(n.bottom),right:f(n.right)}}function K(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function z(e){return'end'===e?'start':'start'===e?'end':e}function G(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=ce.indexOf(e),n=ce.slice(o+1).concat(ce.slice(0,o));return t?n.reverse():n}function _(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?ee(document.documentElement.clientHeight,window.innerHeight||0):ee(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function X(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return _(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function J(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:X(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var Q=Math.min,Z=Math.floor,$=Math.round,ee=Math.max,te='undefined'!=typeof window&&'undefined'!=typeof document,oe=['Edge','Trident','Firefox'],ne=0,ie=0;ie<oe.length;ie+=1)if(te&&0<=navigator.userAgent.indexOf(oe[ie])){ne=1;break}var i=te&&window.Promise,re=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},ne))}},pe=te&&!!(window.MSInputMethodContext&&document.documentMode),se=te&&/MSIE 10/.test(navigator.userAgent),de=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},ae=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),le=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},fe=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},me=te&&/Firefox/i.test(navigator.userAgent),he=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],ce=he.slice(3),ge={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ue=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};de(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=re(this.update.bind(this)),this.options=fe({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(fe({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=fe({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return fe({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return ae(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return I.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ue.Utils=('undefined'==typeof window?global:window).PopperUtils,ue.placements=he,ue.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:le({},d,r[d]),end:le({},d,r[d]+r[a]-p[a])};e.offsets.popper=fe({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=ee(f[e],a[e])),le({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),le({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=fe({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},le(n,m,$(v)),le(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ge.FLIP:p=[n,i];break;case ge.CLOCKWISE:p=G(n);break;case ge.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=fe({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h=q(e,2>window.devicePixelRatio||!me),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=fe({},E,e.attributes),e.styles=fe({},m,e.styles),e.arrowStyles=fe({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ue});!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",y="bs.button",E="."+y,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A='input:not([type="hidden"])',N=".active",O=".btn",k={CLICK_DATA_API:"click"+E+C,FOCUS_BLUR_DATA_API:"focus"+E+C+" blur"+E+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(N);o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,y),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(y);t||(t=new n(this),g(this).data(y,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",x=g.fn[L],F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},W="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",z="carousel-item-right",X="carousel-item-left",$="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",ot=".carousel-indicators",rt="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},F,t),_.typeCheckConfig(L,t,U),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===W?(n=X,i=$,M):(n=z,i=G,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},F,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return F}}]),r}();g(document).on(Q.CLICK_DATA_API,rt,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=x,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",yt="collapsed",Et="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(Et)?Et:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",jt="dropup",Ht="dropright",Rt="dropleft",xt="dropdown-menu-right",Ft="position-static",Ut='[data-toggle="dropdown"]',Wt=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",zt="right-start",Xt="left-start",$t={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Gt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Jt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Ft),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(jt)?(e=Qt,g(this._menu).hasClass(xt)&&(e=Bt)):t.hasClass(Ht)?e=zt:t.hasClass(Rt)?e=Xt:g(this._menu).hasClass(xt)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ut)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Ut);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $t}},{key:"DefaultType",get:function(){return Gt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,Ut,Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Jt._clearMenus).on(kt.CLICK_DATA_API,Ut,function(t){t.preventDefault(),t.stopPropagation(),Jt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,Wt,function(t){t.stopPropagation()}),g.fn[It]=Jt._jQueryInterface,g.fn[It].Constructor=Jt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Jt._jQueryInterface};var Zt="modal",te="bs.modal",ee="."+te,ne=g.fn[Zt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-dialog-scrollable",ae="modal-scrollbar-measure",le="modal-backdrop",ce="modal-open",he="fade",ue="show",fe=".modal-dialog",de=".modal-body",ge='[data-toggle="modal"]',_e='[data-dismiss="modal"]',me=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pe=".sticky-top",ve=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,_e,function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckConfig(Zt,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(se)?this._dialog.querySelector(de).scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=le,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(me)),e=[].slice.call(document.querySelectorAll(pe));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(ce)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+pe));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=ae,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,ge,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});ve._jQueryInterface.call(g(e),o,this)}),g.fn[Zt]=ve._jQueryInterface,g.fn[Zt].Constructor=ve,g.fn[Zt].noConflict=function(){return g.fn[Zt]=ne,ve._jQueryInterface};var ye=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ee={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ce=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function Se(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ye.indexOf(n)||Boolean(t.nodeValue.match(Ce)||t.nodeValue.match(Te));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var be="tooltip",Ie="bs.tooltip",De="."+Ie,we=g.fn[be],Ae="bs-tooltip",Ne=new RegExp("(^|\\s)"+Ae+"\\S+","g"),Oe=["sanitize","whiteList","sanitizeFn"],ke={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object"},Pe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Le={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ye),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Je}},{key:"NAME",get:function(){return Ve}},{key:"DATA_KEY",get:function(){return Ye}},{key:"Event",get:function(){return rn}},{key:"EVENT_KEY",get:function(){return ze}},{key:"DefaultType",get:function(){return Ze}}]),i}(Be);g.fn[Ve]=sn._jQueryInterface,g.fn[Ve].Constructor=sn,g.fn[Ve].noConflict=function(){return g.fn[Ve]=Xe,sn._jQueryInterface};var an="scrollspy",ln="bs.scrollspy",cn="."+ln,hn=g.fn[an],un={offset:10,method:"auto",target:""},fn={offset:"number",method:"string",target:"(string|element)"},dn={ACTIVATE:"activate"+cn,SCROLL:"scroll"+cn,LOAD_DATA_API:"load"+cn+".data-api"},gn="dropdown-item",_n="active",mn='[data-spy="scroll"]',pn=".nav, .list-group",vn=".nav-link",yn=".nav-item",En=".list-group-item",Cn=".dropdown",Tn=".dropdown-item",Sn=".dropdown-toggle",bn="offset",In="position",Dn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+vn+","+this._config.target+" "+En+","+this._config.target+" "+Tn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(dn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bn:In,o="auto"===this._config.method?t:this._config.method,r=o===In?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,ln),g(this._scrollElement).off(cn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},un,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(an),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(an,t,fn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(gn)?(n.closest(Cn).find(Sn).addClass(_n),n.addClass(_n)):(n.addClass(_n),n.parents(pn).prev(vn+", "+En).addClass(_n),n.parents(pn).prev(yn).children(vn).addClass(_n)),g(this._scrollElement).trigger(dn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(_n)}).forEach(function(t){return t.classList.remove(_n)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(ln);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(ln,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return un}}]),n}();g(window).on(dn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(mn)),e=t.length;e--;){var n=g(t[e]);Dn._jQueryInterface.call(n,n.data())}}),g.fn[an]=Dn._jQueryInterface,g.fn[an].Constructor=Dn,g.fn[an].noConflict=function(){return g.fn[an]=hn,Dn._jQueryInterface};var wn="bs.tab",An="."+wn,Nn=g.fn.tab,On={HIDE:"hide"+An,HIDDEN:"hidden"+An,SHOW:"show"+An,SHOWN:"shown"+An,CLICK_DATA_API:"click"+An+".data-api"},kn="dropdown-menu",Pn="active",Ln="disabled",jn="fade",Hn="show",Rn=".dropdown",xn=".nav, .list-group",Fn=".active",Un="> li > .active",Wn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',qn=".dropdown-toggle",Mn="> .dropdown-menu .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass(Ln))){var t,i,e=g(this._element).closest(xn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass(jn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(Hn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find(Mn)[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(jn)&&t.classList.add(Hn),t.parentNode&&g(t.parentNode).hasClass(kn)){var o=g(t).closest(Rn)[0];if(o){var r=[].slice.call(o.querySelectorAll(qn));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,Wn,function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Xn="fade",$n="hide",Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ei='[data-dismiss="toast"]',ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add(Xn);var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove($n),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,ei,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add($n),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});;(function($,window,document,undefined){'use strict';var pluginName='treeview';var _default={};_default.settings={injectStyle:true,levels:2,expandIcon:'fas fa-plus',collapseIcon:'fas fa-minus',emptyIcon:'fas',nodeIcon:'',selectedIcon:'',checkedIcon:'fas fa-check',uncheckedIcon:'fas fa-square',color:undefined,backColor:undefined,borderColor:undefined,onhoverColor:'#F5F5F5',selectedColor:'#FFFFFF',selectedBackColor:'#428bca',searchResultColor:'#428bca',searchResultBackColor:undefined,enableLinks:false,consumeClicks:true,highlightSelected:true,highlightSearchResults:true,showBorder:true,showIcon:true,showCheckbox:false,showTags:false,multiSelect:false,searchFilter:false,onNodeChecked:undefined,onNodeCollapsed:undefined,onNodeDisabled:undefined,onNodeEnabled:undefined,onNodeExpanded:undefined,onNodeSelected:undefined,onNodeUnchecked:undefined,onNodeUnselected:undefined,onSearchComplete:undefined,onSearchCleared:undefined};_default.options={silent:false,ignoreChildren:false};_default.searchOptions={ignoreCase:true,exactMatch:false,revealResults:true};var Tree=function(element,options){this.$element=$(element);this.elementId=element.id;this.styleId=this.elementId+'-style';this.init(options);return{options:this.options,init:$.proxy(this.init,this),remove:$.proxy(this.remove,this),getNode:$.proxy(this.getNode,this),getParent:$.proxy(this.getParent,this),getSiblings:$.proxy(this.getSiblings,this),getSelected:$.proxy(this.getSelected,this),getUnselected:$.proxy(this.getUnselected,this),getExpanded:$.proxy(this.getExpanded,this),getCollapsed:$.proxy(this.getCollapsed,this),getChecked:$.proxy(this.getChecked,this),getUnchecked:$.proxy(this.getUnchecked,this),getDisabled:$.proxy(this.getDisabled,this),getEnabled:$.proxy(this.getEnabled,this),selectNode:$.proxy(this.selectNode,this),unselectNode:$.proxy(this.unselectNode,this),toggleNodeSelected:$.proxy(this.toggleNodeSelected,this),collapseAll:$.proxy(this.collapseAll,this),collapseNode:$.proxy(this.collapseNode,this),expandAll:$.proxy(this.expandAll,this),expandNode:$.proxy(this.expandNode,this),toggleNodeExpanded:$.proxy(this.toggleNodeExpanded,this),revealNode:$.proxy(this.revealNode,this),checkAll:$.proxy(this.checkAll,this),checkNode:$.proxy(this.checkNode,this),uncheckAll:$.proxy(this.uncheckAll,this),uncheckNode:$.proxy(this.uncheckNode,this),toggleNodeChecked:$.proxy(this.toggleNodeChecked,this),disableAll:$.proxy(this.disableAll,this),disableNode:$.proxy(this.disableNode,this),enableAll:$.proxy(this.enableAll,this),enableNode:$.proxy(this.enableNode,this),toggleNodeDisabled:$.proxy(this.toggleNodeDisabled,this),search:$.proxy(this.search,this),clearSearch:$.proxy(this.clearSearch,this)};};Tree.prototype.init=function(options){this.tree=[];this.nodes=[];if(options.data){if(typeof options.data==='string'){options.data=$.parseJSON(options.data);}
          this.tree=$.extend(true,[],options.data);delete options.data;}
          this.options=$.extend({},_default.settings,options);this.destroy();this.subscribeEvents();this.setInitialStates({nodes:this.tree},0);this.render();};Tree.prototype.remove=function(){this.destroy();$.removeData(this,pluginName);$('#'+this.styleId).remove();};Tree.prototype.destroy=function(){if(!this.initialized)return;this.$wrapper.remove();this.$wrapper=null;this.unsubscribeEvents();this.initialized=false;};Tree.prototype.unsubscribeEvents=function(){this.$element.off('click');this.$element.off('nodeChecked');this.$element.off('nodeCollapsed');this.$element.off('nodeDisabled');this.$element.off('nodeEnabled');this.$element.off('nodeExpanded');this.$element.off('nodeSelected');this.$element.off('nodeUnchecked');this.$element.off('nodeUnselected');this.$element.off('searchComplete');this.$element.off('searchCleared');};Tree.prototype.subscribeEvents=function(){this.unsubscribeEvents();this.$element.on('click',$.proxy(this.clickHandler,this));if(typeof(this.options.onNodeChecked)==='function'){this.$element.on('nodeChecked',this.options.onNodeChecked);}
          if(typeof(this.options.onNodeCollapsed)==='function'){this.$element.on('nodeCollapsed',this.options.onNodeCollapsed);}
          if(typeof(this.options.onNodeDisabled)==='function'){this.$element.on('nodeDisabled',this.options.onNodeDisabled);}
          if(typeof(this.options.onNodeEnabled)==='function'){this.$element.on('nodeEnabled',this.options.onNodeEnabled);}
          if(typeof(this.options.onNodeExpanded)==='function'){this.$element.on('nodeExpanded',this.options.onNodeExpanded);}
          if(typeof(this.options.onNodeSelected)==='function'){this.$element.on('nodeSelected',this.options.onNodeSelected);}
          if(typeof(this.options.onNodeUnchecked)==='function'){this.$element.on('nodeUnchecked',this.options.onNodeUnchecked);}
          if(typeof(this.options.onNodeUnselected)==='function'){this.$element.on('nodeUnselected',this.options.onNodeUnselected);}
          if(typeof(this.options.onSearchComplete)==='function'){this.$element.on('searchComplete',this.options.onSearchComplete);}
          if(typeof(this.options.onSearchCleared)==='function'){this.$element.on('searchCleared',this.options.onSearchCleared);}};Tree.prototype.setInitialStates=function(node,level){if(!node.nodes)return;level+=1;var parent=node;var _this=this;$.each(node.nodes,function checkStates(index,node){node.nodeId=_this.nodes.length;node.parentId=parent.nodeId;if(!node.hasOwnProperty('selectable')){node.selectable=true;}
          node.state=node.state||{};if(!node.state.hasOwnProperty('checked')){node.state.checked=false;}
          if(!node.state.hasOwnProperty('disabled')){node.state.disabled=false;}
          if(!node.state.hasOwnProperty('expanded')){if(!node.state.disabled&&(level<_this.options.levels)&&(node.nodes&&node.nodes.length>0)){node.state.expanded=true;}
          else{node.state.expanded=false;}}
          if(!node.state.hasOwnProperty('selected')){node.state.selected=false;}
          _this.nodes.push(node);if(node.nodes){_this.setInitialStates(node,level);}});};Tree.prototype.clickHandler=function(event){if(this.options.consumeClicks)event.preventDefault();var target=$(event.target);var node=this.findNode(target);if(!node||node.state.disabled)return;var classList=target.attr('class')?target.attr('class').split(' '):[];if((classList.indexOf('expand-icon')!==-1)){this.toggleExpandedState(node,_default.options);this.render();}
          else if((classList.indexOf('check-icon')!==-1)){this.toggleCheckedState(node,_default.options);this.render();}else{if(node.selectable){this.toggleSelectedState(node,_default.options);}else{this.toggleExpandedState(node,_default.options);}
          this.render();}
          var configToolBar=$('.hide-nodes')
          if(configToolBar.length&&configToolBar.val().length>0){$("li[data-selectable='false']").addClass('display-none');$('#select-search > ul > li > span.indent').remove();}};Tree.prototype.findNode=function(target){var nodeId=target.closest('li.list-group-item').attr('data-nodeid');var node=this.nodes[nodeId];if(!node){console.log('Error: node does not exist');}
          return node;};Tree.prototype.toggleExpandedState=function(node,options){if(!node)return;this.setExpandedState(node,!node.state.expanded,options);};Tree.prototype.setExpandedState=function(node,state,options){if(state===node.state.expanded)return;if(state&&node.nodes){node.state.expanded=true;if(!options.silent){this.$element.trigger('nodeExpanded',$.extend(true,{},node));}}
          else if(!state){node.state.expanded=false;if(!options.silent){this.$element.trigger('nodeCollapsed',$.extend(true,{},node));}
          if(node.nodes&&!options.ignoreChildren){$.each(node.nodes,$.proxy(function(index,node){this.setExpandedState(node,false,options);},this));}}};Tree.prototype.toggleSelectedState=function(node,options){if(!node)return;this.setSelectedState(node,!node.state.selected,options);};Tree.prototype.setSelectedState=function(node,state,options){if(state===node.state.selected)return;if(state){if(!this.options.multiSelect){$.each(this.findNodes('true','g','state.selected'),$.proxy(function(index,node){this.setSelectedState(node,false,options);},this));}
          node.state.selected=true;if(!options.silent){this.$element.trigger('nodeSelected',$.extend(true,{},node));}}
          else{node.state.selected=false;if(!options.silent){this.$element.trigger('nodeUnselected',$.extend(true,{},node));}}};Tree.prototype.toggleCheckedState=function(node,options){if(!node)return;this.setCheckedState(node,!node.state.checked,options);};Tree.prototype.setCheckedState=function(node,state,options){if(state===node.state.checked)return;if(state){node.state.checked=true;if(!options.silent){this.$element.trigger('nodeChecked',$.extend(true,{},node));}}
          else{node.state.checked=false;if(!options.silent){this.$element.trigger('nodeUnchecked',$.extend(true,{},node));}}};Tree.prototype.setDisabledState=function(node,state,options){if(state===node.state.disabled)return;if(state){node.state.disabled=true;this.setExpandedState(node,false,options);this.setSelectedState(node,false,options);this.setCheckedState(node,false,options);if(!options.silent){this.$element.trigger('nodeDisabled',$.extend(true,{},node));}}
          else{node.state.disabled=false;if(!options.silent){this.$element.trigger('nodeEnabled',$.extend(true,{},node));}}};Tree.prototype.render=function(){if(!this.initialized){this.$element.addClass(pluginName);this.$wrapper=$(this.template.list);this.injectStyle();this.initialized=true;}
          this.$element.empty().append(this.$wrapper.empty());this.buildTree(this.tree,0);$('.node-select-tree .expand-icon').siblings('.check-icon').hide();};Tree.prototype.buildTree=function(nodes,level){if(!nodes)return;level+=1;var _this=this;$.each(nodes,function addNodes(id,node){var treeItem=$(_this.template.item).addClass('node-'+_this.elementId).addClass(node.state.checked?'node-checked':'').addClass(node.state.disabled?'node-disabled':'').addClass(node.state.selected?'node-selected':'').addClass(node.searchResult?'search-result':'').attr('data-nodeid',node.nodeId).attr('data-selectable',(((typeof node.parentId==='undefined'))?true:node.selectable)).attr('style',_this.buildStyleOverride(node));for(var i=0;i<(level-1);i++){treeItem.append(_this.template.indent);}
          if(node.type){treeItem.attr('type',node.type);}
          if(node.id){treeItem.attr('id',node.id);}
          if(node.category){treeItem.attr('data-category',node.category);}
          var classList=[];if(node.nodes){classList.push('expand-icon');if(node.state.expanded){classList.push(_this.options.collapseIcon);}
          else{classList.push(_this.options.expandIcon);}}
          else{classList.push(_this.options.emptyIcon);}
          treeItem.append($(_this.template.icon).addClass(classList.join(' ')));if(_this.options.showIcon){var classList=['node-icon'];classList.push(node.icon||_this.options.nodeIcon);if(node.state.selected){classList.pop();classList.push(node.selectedIcon||_this.options.selectedIcon||node.icon||_this.options.nodeIcon);}
          treeItem.append($(_this.template.icon).addClass(classList.join(' ')));}
          if(_this.options.showCheckbox){var classList=['check-icon'];if(node.state.checked){classList.push(_this.options.checkedIcon);}else{classList.push(_this.options.uncheckedIcon);}
          treeItem.append($(_this.template.icon).addClass(classList.join(' ')));}
          if(_this.options.enableLinks){treeItem.append($(_this.template.link).attr('href',node.href).append(node.text));}else{treeItem.append(node.text);}
          if(_this.options.showTags&&node.tags){$.each(node.tags,function addTag(id,tag){treeItem.prepend($(_this.template.badge).append(tag));});}
          if(_this.options.searchFilter){if(node.nodes){_this.$wrapper.append(treeItem);}else if(node.searchResult){_this.$wrapper.append(treeItem);}}else{_this.$wrapper.append(treeItem);}
          if(node.nodes&&node.state.expanded&&!node.state.disabled){return _this.buildTree(node.nodes,level);}});};Tree.prototype.buildStyleOverride=function(node){if(node.state.disabled)return'';var color=node.color;var backColor=node.backColor;if(this.options.highlightSelected&&node.state.selected){if(this.options.selectedColor){color=this.options.selectedColor;}
          if(this.options.selectedBackColor){backColor=this.options.selectedBackColor;}}
          if(this.options.highlightSearchResults&&node.searchResult&&!node.state.disabled){if(this.options.searchResultColor){color=this.options.searchResultColor;}
          if(this.options.searchResultBackColor){backColor=this.options.searchResultBackColor;}}
          if(this.options.highlightSearchResults&&node.searchResult&&!node.state.disabled&&this.options.highlightSelected&&node.state.selected){if(this.options.searchResultColor){color=this.options.selectedColor;}
          if(this.options.searchResultBackColor){backColor=this.options.searchResultBackColor;}}
          return'color:'+color+';background-color:'+backColor+';';};Tree.prototype.injectStyle=function(){if(this.options.injectStyle&&!document.getElementById(this.styleId)){$('<style type="text/css" id="'+this.styleId+'"> '+this.buildStyle()+' </style>').appendTo('head');}};Tree.prototype.buildStyle=function(){var style='.node-'+this.elementId+'{';if(this.options.color){style+='color:'+this.options.color+';';}
          if(this.options.backColor){style+='background-color:'+this.options.backColor+';';}
          if(!this.options.showBorder){style+='border:none;';}
          else if(this.options.borderColor){style+='border:1px solid '+this.options.borderColor+';';}
          style+='}';if(this.options.onhoverColor){style+='.node-'+this.elementId+':not(.node-disabled):hover{'+'background-color:'+this.options.onhoverColor+';'+'}';}
          return this.css+style;};Tree.prototype.template={list:'<ul class="list-group"></ul>',item:'<li class="list-group-item"></li>',indent:'<span class="indent"></span>',icon:'<span class="icon"></span>',link:'<a href="#" style="color:inherit;"></a>',badge:'<span class="badge"></span>'};Tree.prototype.css='.treeview .list-group-item{cursor:pointer}.treeview span.indent{margin-left:10px;margin-right:10px}.treeview span.icon{width:12px;margin-right:5px}.treeview .node-disabled{color:silver;cursor:not-allowed}'
          Tree.prototype.getNode=function(nodeId){return this.nodes[nodeId];};Tree.prototype.getParent=function(identifier){var node=this.identifyNode(identifier);return this.nodes[node.parentId];};Tree.prototype.getSiblings=function(identifier){var node=this.identifyNode(identifier);var parent=this.getParent(node);var nodes=parent?parent.nodes:this.tree;return nodes.filter(function(obj){return obj.nodeId!==node.nodeId;});};Tree.prototype.getSelected=function(){return this.findNodes('true','g','state.selected');};Tree.prototype.getUnselected=function(){return this.findNodes('false','g','state.selected');};Tree.prototype.getExpanded=function(){return this.findNodes('true','g','state.expanded');};Tree.prototype.getCollapsed=function(){return this.findNodes('false','g','state.expanded');};Tree.prototype.getChecked=function(){return this.findNodes('true','g','state.checked');};Tree.prototype.getUnchecked=function(){return this.findNodes('false','g','state.checked');};Tree.prototype.getDisabled=function(){return this.findNodes('true','g','state.disabled');};Tree.prototype.getEnabled=function(){return this.findNodes('false','g','state.disabled');};Tree.prototype.selectNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setSelectedState(node,true,options);},this));this.render();};Tree.prototype.unselectNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setSelectedState(node,false,options);},this));this.render();};Tree.prototype.toggleNodeSelected=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.toggleSelectedState(node,options);},this));this.render();};Tree.prototype.collapseAll=function(options){var identifiers=this.findNodes('true','g','state.expanded');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setExpandedState(node,false,options);},this));this.render();};Tree.prototype.collapseNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setExpandedState(node,false,options);},this));this.render();};Tree.prototype.expandAll=function(options){options=$.extend({},_default.options,options);if(options&&options.levels){this.expandLevels(this.tree,options.levels,options);}
          else{var identifiers=this.findNodes('false','g','state.expanded');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setExpandedState(node,true,options);},this));}
          this.render();};Tree.prototype.expandNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setExpandedState(node,true,options);if(node.nodes&&(options&&options.levels)){this.expandLevels(node.nodes,options.levels-1,options);}},this));this.render();};Tree.prototype.expandLevels=function(nodes,level,options){options=$.extend({},_default.options,options);$.each(nodes,$.proxy(function(index,node){this.setExpandedState(node,(level>0)?true:false,options);if(node.nodes){this.expandLevels(node.nodes,level-1,options);}},this));};Tree.prototype.revealNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){var parentNode=this.getParent(node);while(parentNode){this.setExpandedState(parentNode,true,options);parentNode=this.getParent(parentNode);};},this));this.render();};Tree.prototype.toggleNodeExpanded=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.toggleExpandedState(node,options);},this));this.render();};Tree.prototype.checkAll=function(options){var identifiers=this.findNodes('false','g','state.checked');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setCheckedState(node,true,options);},this));this.render();};Tree.prototype.checkNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setCheckedState(node,true,options);},this));this.render();};Tree.prototype.uncheckAll=function(options){var identifiers=this.findNodes('true','g','state.checked');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setCheckedState(node,false,options);},this));this.render();};Tree.prototype.uncheckNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setCheckedState(node,false,options);},this));this.render();};Tree.prototype.toggleNodeChecked=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.toggleCheckedState(node,options);},this));this.render();};Tree.prototype.disableAll=function(options){var identifiers=this.findNodes('false','g','state.disabled');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setDisabledState(node,true,options);},this));this.render();};Tree.prototype.disableNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setDisabledState(node,true,options);},this));this.render();};Tree.prototype.enableAll=function(options){var identifiers=this.findNodes('true','g','state.disabled');this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setDisabledState(node,false,options);},this));this.render();};Tree.prototype.enableNode=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setDisabledState(node,false,options);},this));this.render();};Tree.prototype.toggleNodeDisabled=function(identifiers,options){this.forEachIdentifier(identifiers,options,$.proxy(function(node,options){this.setDisabledState(node,!node.state.disabled,options);},this));this.render();};Tree.prototype.forEachIdentifier=function(identifiers,options,callback){options=$.extend({},_default.options,options);if(!(identifiers instanceof Array)){identifiers=[identifiers];}
          $.each(identifiers,$.proxy(function(index,identifier){callback(this.identifyNode(identifier),options);},this));};Tree.prototype.identifyNode=function(identifier){return((typeof identifier)==='number')?this.nodes[identifier]:identifier;};Tree.prototype.search=function(pattern,options){options=$.extend({},_default.searchOptions,options);this.clearSearch({render:false});var results=[];if(pattern&&pattern.length>0){this.options.searchFilter=true;if(options.exactMatch){pattern='^'+pattern+'$';}
          var modifier='g';if(options.ignoreCase){modifier+='i';}
          results=this.findNodes(pattern,modifier);$.each(results,function(index,node){node.searchResult=true;})}else{this.options.searchFilter=false;this.collapseAll();}
          if(options.revealResults){this.revealNode(results);}
          else{this.render();}
          this.$element.trigger('searchComplete',$.extend(true,{},results));return results;};Tree.prototype.clearSearch=function(options){options=$.extend({},{render:true},options);var results=$.each(this.findNodes('true','g','searchResult'),function(index,node){node.searchResult=false;});if(options.render){this.render();}
          this.$element.trigger('searchCleared',$.extend(true,{},results));};Tree.prototype.findNodes=function(pattern,modifier,attribute){modifier=modifier||'g';attribute=attribute||'text';var _this=this;return $.grep(this.nodes,function(node){var val=_this.getNodeValue(node,attribute);if(typeof val==='string'){return val.match(new RegExp(pattern,modifier));}});};Tree.prototype.getNodeValue=function(obj,attr){var index=attr.indexOf('.');if(index>0){var _obj=obj[attr.substring(0,index)];var _attr=attr.substring(index+1,attr.length);return this.getNodeValue(_obj,_attr);}
          else{if(obj.hasOwnProperty(attr)){return obj[attr].toString();}
          else{return undefined;}}};var logError=function(message){if(window.console){window.console.error(message);}};$.fn[pluginName]=function(options,args){var result;this.each(function(){var _this=$.data(this,pluginName);if(typeof options==='string'){if(!_this){logError('Not initialized, can not call method : '+options);}
          else if(!$.isFunction(_this[options])||options.charAt(0)==='_'){logError('No such method : '+options);}
          else{if(!(args instanceof Array)){args=[args];}
          result=_this[options].apply(_this,args);}}
          else if(typeof options==='boolean'){result=_this;}
          else{$.data(this,pluginName,new Tree(this,$.extend(true,{},options)));}});return result||this;};})(jQuery,window,document);(function(root,factory){if(root===undefined&&window!==undefined)root=window;if(typeof define==='function'&&define.amd){define(["jquery"],function(a0){return(factory(a0));});}else if(typeof module==='object'&&module.exports){module.exports=factory(require("jquery"));}else{factory(root["jQuery"]);}}(this,function(jQuery){(function($){'use strict';var DISALLOWED_ATTRIBUTES=['sanitize','whiteList','sanitizeFn'];var uriAttrs=['background','cite','href','itemtype','longdesc','poster','src','xlink:href'];var ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i;var DefaultWhitelist={'*':['class','dir','id','lang','role','tabindex','style',ARIA_ATTRIBUTE_PATTERN],a:['target','href','title','rel'],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:['src','alt','title','width','height'],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]}
          var SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;var DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function allowedAttribute(attr,allowedAttributeList){var attrName=attr.nodeName.toLowerCase()
          if($.inArray(attrName,allowedAttributeList)!==-1){if($.inArray(attrName,uriAttrs)!==-1){return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN)||attr.nodeValue.match(DATA_URL_PATTERN))}
          return true}
          var regExp=$(allowedAttributeList).filter(function(index,value){return value instanceof RegExp})
          for(var i=0,l=regExp.length;i<l;i++){if(attrName.match(regExp[i])){return true}}
          return false}
          function sanitizeHtml(unsafeElements,whiteList,sanitizeFn){if(sanitizeFn&&typeof sanitizeFn==='function'){return sanitizeFn(unsafeElements);}
          var whitelistKeys=Object.keys(whiteList);for(var i=0,len=unsafeElements.length;i<len;i++){var elements=unsafeElements[i].querySelectorAll('*');for(var j=0,len2=elements.length;j<len2;j++){var el=elements[j];var elName=el.nodeName.toLowerCase();if(whitelistKeys.indexOf(elName)===-1){el.parentNode.removeChild(el);continue;}
          var attributeList=[].slice.call(el.attributes);var whitelistedAttributes=[].concat(whiteList['*']||[],whiteList[elName]||[]);for(var k=0,len3=attributeList.length;k<len3;k++){var attr=attributeList[k];if(!allowedAttribute(attr,whitelistedAttributes)){el.removeAttribute(attr.nodeName);}}}}}
          if(!('classList'in document.createElement('_'))){(function(view){if(!('Element'in view))return;var classListProp='classList',protoProp='prototype',elemCtrProto=view.Element[protoProp],objCtr=Object,classListGetter=function(){var $elem=$(this);return{add:function(classes){classes=Array.prototype.slice.call(arguments).join(' ');return $elem.addClass(classes);},remove:function(classes){classes=Array.prototype.slice.call(arguments).join(' ');return $elem.removeClass(classes);},toggle:function(classes,force){return $elem.toggleClass(classes,force);},contains:function(classes){return $elem.hasClass(classes);}}};if(objCtr.defineProperty){var classListPropDesc={get:classListGetter,enumerable:true,configurable:true};try{objCtr.defineProperty(elemCtrProto,classListProp,classListPropDesc);}catch(ex){if(ex.number===undefined||ex.number===-0x7FF5EC54){classListPropDesc.enumerable=false;objCtr.defineProperty(elemCtrProto,classListProp,classListPropDesc);}}}else if(objCtr[protoProp].__defineGetter__){elemCtrProto.__defineGetter__(classListProp,classListGetter);}}(window));}
          var testElement=document.createElement('_');testElement.classList.add('c1','c2');if(!testElement.classList.contains('c2')){var _add=DOMTokenList.prototype.add,_remove=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){Array.prototype.forEach.call(arguments,_add.bind(this));}
          DOMTokenList.prototype.remove=function(){Array.prototype.forEach.call(arguments,_remove.bind(this));}}
          testElement.classList.toggle('c3',false);if(testElement.classList.contains('c3')){var _toggle=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(token,force){if(1 in arguments&&!this.contains(token)===!force){return force;}else{return _toggle.call(this,token);}};}
          testElement=null;function isEqual(array1,array2){return array1.length===array2.length&&array1.every(function(element,index){return element===array2[index];});};if(!String.prototype.startsWith){(function(){'use strict';var defineProperty=(function(){try{var object={};var $defineProperty=Object.defineProperty;var result=$defineProperty(object,object,object)&&$defineProperty;}catch(error){}
          return result;}());var toString={}.toString;var startsWith=function(search){if(this==null){throw new TypeError();}
          var string=String(this);if(search&&toString.call(search)=='[object RegExp]'){throw new TypeError();}
          var stringLength=string.length;var searchString=String(search);var searchLength=searchString.length;var position=arguments.length>1?arguments[1]:undefined;var pos=position?Number(position):0;if(pos!=pos){pos=0;}
          var start=Math.min(Math.max(pos,0),stringLength);if(searchLength+start>stringLength){return false;}
          var index=-1;while(++index<searchLength){if(string.charCodeAt(start+index)!=searchString.charCodeAt(index)){return false;}}
          return true;};if(defineProperty){defineProperty(String.prototype,'startsWith',{'value':startsWith,'configurable':true,'writable':true});}else{String.prototype.startsWith=startsWith;}}());}
          if(!Object.keys){Object.keys=function(o,k,r){r=[];for(k in o){r.hasOwnProperty.call(o,k)&&r.push(k);}
          return r;};}
          if(HTMLSelectElement&&!HTMLSelectElement.prototype.hasOwnProperty('selectedOptions')){Object.defineProperty(HTMLSelectElement.prototype,'selectedOptions',{get:function(){return this.querySelectorAll(':checked');}});}
          function getSelectedOptions(select,ignoreDisabled){var selectedOptions=select.selectedOptions,options=[],opt;if(ignoreDisabled){for(var i=0,len=selectedOptions.length;i<len;i++){opt=selectedOptions[i];if(!(opt.disabled||opt.parentNode.tagName==='OPTGROUP'&&opt.parentNode.disabled)){options.push(opt);}}
          return options;}
          return selectedOptions;}
          function getSelectValues(select,selectedOptions){var value=[],options=selectedOptions||select.selectedOptions,opt;for(var i=0,len=options.length;i<len;i++){opt=options[i];if(!(opt.disabled||opt.parentNode.tagName==='OPTGROUP'&&opt.parentNode.disabled)){value.push(opt.value);}}
          if(!select.multiple){return!value.length?null:value[0];}
          return value;}
          var valHooks={useDefault:false,_set:$.valHooks.select.set};$.valHooks.select.set=function(elem,value){if(value&&!valHooks.useDefault)$(elem).data('selected',true);return valHooks._set.apply(this,arguments);};var changedArguments=null;var EventIsSupported=(function(){try{new Event('change');return true;}catch(e){return false;}})();$.fn.triggerNative=function(eventName){var el=this[0],event;if(el.dispatchEvent){if(EventIsSupported){event=new Event(eventName,{bubbles:true});}else{event=document.createEvent('Event');event.initEvent(eventName,true,false);}
          el.dispatchEvent(event);}else if(el.fireEvent){event=document.createEventObject();event.eventType=eventName;el.fireEvent('on'+eventName,event);}else{this.trigger(eventName);}};function stringSearch(li,searchString,method,normalize){var stringTypes=['display','subtext','tokens'],searchSuccess=false;for(var i=0;i<stringTypes.length;i++){var stringType=stringTypes[i],string=li[stringType];if(string){string=string.toString();if(stringType==='display'){string=string.replace(/<[^>]+>/g,'');}
          if(normalize)string=normalizeToBase(string);string=string.toUpperCase();if(method==='contains'){searchSuccess=string.indexOf(searchString)>=0;}else{searchSuccess=string.startsWith(searchString);}
          if(searchSuccess)break;}}
          return searchSuccess;}
          function toInteger(value){return parseInt(value,10)||0;}
          var deburredLetters={'\xc0':'A','\xc1':'A','\xc2':'A','\xc3':'A','\xc4':'A','\xc5':'A','\xe0':'a','\xe1':'a','\xe2':'a','\xe3':'a','\xe4':'a','\xe5':'a','\xc7':'C','\xe7':'c','\xd0':'D','\xf0':'d','\xc8':'E','\xc9':'E','\xca':'E','\xcb':'E','\xe8':'e','\xe9':'e','\xea':'e','\xeb':'e','\xcc':'I','\xcd':'I','\xce':'I','\xcf':'I','\xec':'i','\xed':'i','\xee':'i','\xef':'i','\xd1':'N','\xf1':'n','\xd2':'O','\xd3':'O','\xd4':'O','\xd5':'O','\xd6':'O','\xd8':'O','\xf2':'o','\xf3':'o','\xf4':'o','\xf5':'o','\xf6':'o','\xf8':'o','\xd9':'U','\xda':'U','\xdb':'U','\xdc':'U','\xf9':'u','\xfa':'u','\xfb':'u','\xfc':'u','\xdd':'Y','\xfd':'y','\xff':'y','\xc6':'Ae','\xe6':'ae','\xde':'Th','\xfe':'th','\xdf':'ss','\u0100':'A','\u0102':'A','\u0104':'A','\u0101':'a','\u0103':'a','\u0105':'a','\u0106':'C','\u0108':'C','\u010a':'C','\u010c':'C','\u0107':'c','\u0109':'c','\u010b':'c','\u010d':'c','\u010e':'D','\u0110':'D','\u010f':'d','\u0111':'d','\u0112':'E','\u0114':'E','\u0116':'E','\u0118':'E','\u011a':'E','\u0113':'e','\u0115':'e','\u0117':'e','\u0119':'e','\u011b':'e','\u011c':'G','\u011e':'G','\u0120':'G','\u0122':'G','\u011d':'g','\u011f':'g','\u0121':'g','\u0123':'g','\u0124':'H','\u0126':'H','\u0125':'h','\u0127':'h','\u0128':'I','\u012a':'I','\u012c':'I','\u012e':'I','\u0130':'I','\u0129':'i','\u012b':'i','\u012d':'i','\u012f':'i','\u0131':'i','\u0134':'J','\u0135':'j','\u0136':'K','\u0137':'k','\u0138':'k','\u0139':'L','\u013b':'L','\u013d':'L','\u013f':'L','\u0141':'L','\u013a':'l','\u013c':'l','\u013e':'l','\u0140':'l','\u0142':'l','\u0143':'N','\u0145':'N','\u0147':'N','\u014a':'N','\u0144':'n','\u0146':'n','\u0148':'n','\u014b':'n','\u014c':'O','\u014e':'O','\u0150':'O','\u014d':'o','\u014f':'o','\u0151':'o','\u0154':'R','\u0156':'R','\u0158':'R','\u0155':'r','\u0157':'r','\u0159':'r','\u015a':'S','\u015c':'S','\u015e':'S','\u0160':'S','\u015b':'s','\u015d':'s','\u015f':'s','\u0161':'s','\u0162':'T','\u0164':'T','\u0166':'T','\u0163':'t','\u0165':'t','\u0167':'t','\u0168':'U','\u016a':'U','\u016c':'U','\u016e':'U','\u0170':'U','\u0172':'U','\u0169':'u','\u016b':'u','\u016d':'u','\u016f':'u','\u0171':'u','\u0173':'u','\u0174':'W','\u0175':'w','\u0176':'Y','\u0177':'y','\u0178':'Y','\u0179':'Z','\u017b':'Z','\u017d':'Z','\u017a':'z','\u017c':'z','\u017e':'z','\u0132':'IJ','\u0133':'ij','\u0152':'Oe','\u0153':'oe','\u0149':"'n",'\u017f':'s'};var reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var rsComboMarksRange='\\u0300-\\u036f',reComboHalfMarksRange='\\ufe20-\\ufe2f',rsComboSymbolsRange='\\u20d0-\\u20ff',rsComboMarksExtendedRange='\\u1ab0-\\u1aff',rsComboMarksSupplementRange='\\u1dc0-\\u1dff',rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange+rsComboMarksExtendedRange+rsComboMarksSupplementRange;var rsCombo='['+rsComboRange+']';var reComboMark=RegExp(rsCombo,'g');function deburrLetter(key){return deburredLetters[key];};function normalizeToBase(string){string=string.toString();return string&&string.replace(reLatin,deburrLetter).replace(reComboMark,'');}
          var escapeMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#x27;','`':'&#x60;'};var createEscaper=function(map){var escaper=function(match){return map[match];};var source='(?:'+Object.keys(map).join('|')+')';var testRegexp=RegExp(source);var replaceRegexp=RegExp(source,'g');return function(string){string=string==null?'':''+string;return testRegexp.test(string)?string.replace(replaceRegexp,escaper):string;};};var htmlEscape=createEscaper(escapeMap);var keyCodeMap={32:' ',48:'0',49:'1',50:'2',51:'3',52:'4',53:'5',54:'6',55:'7',56:'8',57:'9',59:';',65:'A',66:'B',67:'C',68:'D',69:'E',70:'F',71:'G',72:'H',73:'I',74:'J',75:'K',76:'L',77:'M',78:'N',79:'O',80:'P',81:'Q',82:'R',83:'S',84:'T',85:'U',86:'V',87:'W',88:'X',89:'Y',90:'Z',96:'0',97:'1',98:'2',99:'3',100:'4',101:'5',102:'6',103:'7',104:'8',105:'9'};var keyCodes={ESCAPE:27,ENTER:13,SPACE:32,TAB:9,ARROW_UP:38,ARROW_DOWN:40}
          var version={success:false,major:'3'};try{version.full=($.fn.dropdown.Constructor.VERSION||'').split(' ')[0].split('.');version.major=version.full[0];version.success=true;}catch(err){}
          var selectId=0;var EVENT_KEY='.bs.select';var classNames={DISABLED:'disabled',DIVIDER:'divider',SHOW:'open',DROPUP:'dropup',MENU:'dropdown-menu',MENURIGHT:'dropdown-menu-right',MENULEFT:'dropdown-menu-left',BUTTONCLASS:'btn-default',POPOVERHEADER:'popover-title',ICONBASE:'glyphicon',TICKICON:'glyphicon-ok'}
          var Selector={MENU:'.'+classNames.MENU}
          var elementTemplates={span:document.createElement('span'),i:document.createElement('i'),subtext:document.createElement('small'),a:document.createElement('a'),li:document.createElement('li'),whitespace:document.createTextNode('\u00A0'),fragment:document.createDocumentFragment()}
          elementTemplates.a.setAttribute('role','option');if(version.major==='4')elementTemplates.a.className='dropdown-item';elementTemplates.subtext.className='text-muted';elementTemplates.text=elementTemplates.span.cloneNode(false);elementTemplates.text.className='text';elementTemplates.checkMark=elementTemplates.span.cloneNode(false);var REGEXP_ARROW=new RegExp(keyCodes.ARROW_UP+'|'+keyCodes.ARROW_DOWN);var REGEXP_TAB_OR_ESCAPE=new RegExp('^'+keyCodes.TAB+'$|'+keyCodes.ESCAPE);var generateOption={li:function(content,classes,optgroup){var li=elementTemplates.li.cloneNode(false);if(content){if(content.nodeType===1||content.nodeType===11){li.appendChild(content);}else{li.innerHTML=content;}}
          if(typeof classes!=='undefined'&&classes!=='')li.className=classes;if(typeof optgroup!=='undefined'&&optgroup!==null)li.classList.add('optgroup-'+optgroup);return li;},a:function(text,classes,inline){var a=elementTemplates.a.cloneNode(true);if(text){if(text.nodeType===11){a.appendChild(text);}else{a.insertAdjacentHTML('beforeend',text);}}
          if(typeof classes!=='undefined'&&classes!=='')a.classList.add.apply(a.classList,classes.split(' '));if(inline)a.setAttribute('style',inline);return a;},text:function(options,useFragment){var textElement=elementTemplates.text.cloneNode(false),subtextElement,iconElement;if(options.content){textElement.innerHTML=options.content;}else{textElement.textContent=options.text;if(options.icon){var whitespace=elementTemplates.whitespace.cloneNode(false);iconElement=(useFragment===true?elementTemplates.i:elementTemplates.span).cloneNode(false);iconElement.className=this.options.iconBase+' '+options.icon;elementTemplates.fragment.appendChild(iconElement);elementTemplates.fragment.appendChild(whitespace);}
          if(options.subtext){subtextElement=elementTemplates.subtext.cloneNode(false);subtextElement.textContent=options.subtext;textElement.appendChild(subtextElement);}}
          if(useFragment===true){while(textElement.childNodes.length>0){elementTemplates.fragment.appendChild(textElement.childNodes[0]);}}else{elementTemplates.fragment.appendChild(textElement);}
          return elementTemplates.fragment;},label:function(options){var textElement=elementTemplates.text.cloneNode(false),subtextElement,iconElement;textElement.innerHTML=options.display;if(options.icon){var whitespace=elementTemplates.whitespace.cloneNode(false);iconElement=elementTemplates.span.cloneNode(false);iconElement.className=this.options.iconBase+' '+options.icon;elementTemplates.fragment.appendChild(iconElement);elementTemplates.fragment.appendChild(whitespace);}
          if(options.subtext){subtextElement=elementTemplates.subtext.cloneNode(false);subtextElement.textContent=options.subtext;textElement.appendChild(subtextElement);}
          elementTemplates.fragment.appendChild(textElement);return elementTemplates.fragment;}}
          var Selectpicker=function(element,options){var that=this;if(!valHooks.useDefault){$.valHooks.select.set=valHooks._set;valHooks.useDefault=true;}
          this.$element=$(element);this.$newElement=null;this.$button=null;this.$menu=null;this.options=options;this.selectpicker={main:{},search:{},current:{},view:{},isSearching:false,keydown:{keyHistory:'',resetKeyHistory:{start:function(){return setTimeout(function(){that.selectpicker.keydown.keyHistory='';},800);}}}};this.sizeInfo={};if(this.options.title===null){this.options.title=this.$element.attr('title');}
          var winPad=this.options.windowPadding;if(typeof winPad==='number'){this.options.windowPadding=[winPad,winPad,winPad,winPad];}
          this.val=Selectpicker.prototype.val;this.render=Selectpicker.prototype.render;this.refresh=Selectpicker.prototype.refresh;this.setStyle=Selectpicker.prototype.setStyle;this.selectAll=Selectpicker.prototype.selectAll;this.deselectAll=Selectpicker.prototype.deselectAll;this.destroy=Selectpicker.prototype.destroy;this.remove=Selectpicker.prototype.remove;this.show=Selectpicker.prototype.show;this.hide=Selectpicker.prototype.hide;this.init();};Selectpicker.VERSION='1.13.14';Selectpicker.DEFAULTS={noneSelectedText:'Nothing selected',noneResultsText:'No results matched {0}',countSelectedText:function(numSelected,numTotal){return(numSelected==1)?'{0} item selected':'{0} items selected';},maxOptionsText:function(numAll,numGroup){return[(numAll==1)?'Limit reached ({n} item max)':'Limit reached ({n} items max)',(numGroup==1)?'Group limit reached ({n} item max)':'Group limit reached ({n} items max)'];},selectAllText:'Select All',deselectAllText:'Deselect All',doneButton:false,doneButtonText:'Close',multipleSeparator:', ',styleBase:'btn',style:classNames.BUTTONCLASS,size:'auto',title:null,selectedTextFormat:'values',width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,liveSearchPlaceholder:null,liveSearchNormalize:false,liveSearchStyle:'contains',actionsBox:false,iconBase:classNames.ICONBASE,tickIcon:classNames.TICKICON,showTick:false,template:{caret:'<span class="caret"></span>'},maxOptions:false,mobile:false,selectOnTab:false,dropdownAlignRight:false,windowPadding:0,virtualScroll:600,display:false,sanitize:true,sanitizeFn:null,whiteList:DefaultWhitelist};Selectpicker.prototype={constructor:Selectpicker,init:function(){var that=this,id=this.$element.attr('id');selectId++;this.selectId='bs-select-'+selectId;this.$element[0].classList.add('bs-select-hidden');this.multiple=this.$element.prop('multiple');this.autofocus=this.$element.prop('autofocus');if(this.$element[0].classList.contains('show-tick')){this.options.showTick=true;}
          this.$newElement=this.createDropdown();this.buildData();this.$element.after(this.$newElement).prependTo(this.$newElement);this.$button=this.$newElement.children('button');this.$menu=this.$newElement.children(Selector.MENU);this.$menuInner=this.$menu.children('.inner');this.$searchbox=this.$menu.find('input');this.$element[0].classList.remove('bs-select-hidden');if(this.options.dropdownAlignRight===true)this.$menu[0].classList.add(classNames.MENURIGHT);if(typeof id!=='undefined'){this.$button.attr('data-id',id);}
          this.checkDisabled();this.clickListener();if(this.options.liveSearch){this.liveSearchListener();this.focusedParent=this.$searchbox[0];}else{this.focusedParent=this.$menuInner[0];}
          this.setStyle();this.render();this.setWidth();if(this.options.container){this.selectPosition();}else{this.$element.on('hide'+EVENT_KEY,function(){if(that.isVirtual()){var menuInner=that.$menuInner[0],emptyMenu=menuInner.firstChild.cloneNode(false);menuInner.replaceChild(emptyMenu,menuInner.firstChild);menuInner.scrollTop=0;}});}
          this.$menu.data('this',this);this.$newElement.data('this',this);if(this.options.mobile)this.mobile();this.$newElement.on({'hide.bs.dropdown':function(e){that.$element.trigger('hide'+EVENT_KEY,e);},'hidden.bs.dropdown':function(e){that.$element.trigger('hidden'+EVENT_KEY,e);},'show.bs.dropdown':function(e){that.$element.trigger('show'+EVENT_KEY,e);},'shown.bs.dropdown':function(e){that.$element.trigger('shown'+EVENT_KEY,e);}});if(that.$element[0].hasAttribute('required')){this.$element.on('invalid'+EVENT_KEY,function(){that.$button[0].classList.add('bs-invalid');that.$element.on('shown'+EVENT_KEY+'.invalid',function(){that.$element.val(that.$element.val()).off('shown'+EVENT_KEY+'.invalid');}).on('rendered'+EVENT_KEY,function(){if(this.validity.valid)that.$button[0].classList.remove('bs-invalid');that.$element.off('rendered'+EVENT_KEY);});that.$button.on('blur'+EVENT_KEY,function(){that.$element.trigger('focus').trigger('blur');that.$button.off('blur'+EVENT_KEY);});});}
          setTimeout(function(){that.buildList();that.$element.trigger('loaded'+EVENT_KEY);});},createDropdown:function(){var showTick=(this.multiple||this.options.showTick)?' show-tick':'',multiselectable=this.multiple?' aria-multiselectable="true"':'',inputGroup='',autofocus=this.autofocus?' autofocus':'';if(version.major<4&&this.$element.parent().hasClass('input-group')){inputGroup=' input-group-btn';}
          var drop,header='',searchbox='',actionsbox='',donebutton='';if(this.options.header){header='<div class="'+classNames.POPOVERHEADER+'">'+'<button type="button" class="close" aria-hidden="true">&times;</button>'+
          this.options.header+'</div>';}
          if(this.options.liveSearch){searchbox='<div class="bs-searchbox">'+'<input type="search" class="form-control" autocomplete="off"'+
          (this.options.liveSearchPlaceholder===null?'':' placeholder="'+htmlEscape(this.options.liveSearchPlaceholder)+'"')+' role="combobox" aria-label="Search" aria-controls="'+this.selectId+'" aria-autocomplete="list">'+'</div>';}
          if(this.multiple&&this.options.actionsBox){actionsbox='<div class="bs-actionsbox">'+'<div class="btn-group btn-group-sm btn-block">'+'<button type="button" class="actions-btn bs-select-all btn '+classNames.BUTTONCLASS+'">'+
          this.options.selectAllText+'</button>'+'<button type="button" class="actions-btn bs-deselect-all btn '+classNames.BUTTONCLASS+'">'+
          this.options.deselectAllText+'</button>'+'</div>'+'</div>';}
          if(this.multiple&&this.options.doneButton){donebutton='<div class="bs-donebutton">'+'<div class="btn-group btn-block">'+'<button type="button" class="btn btn-sm '+classNames.BUTTONCLASS+'">'+
          this.options.doneButtonText+'</button>'+'</div>'+'</div>';}
          drop='<div class="dropdown bootstrap-select'+showTick+inputGroup+'">'+'<button type="button" class="'+this.options.styleBase+' dropdown-toggle" '+(this.options.display==='static'?'data-display="static"':'')+'data-toggle="dropdown"'+autofocus+' role="combobox" aria-owns="'+this.selectId+'" aria-haspopup="listbox" aria-expanded="false">'+'<div class="filter-option">'+'<div class="filter-option-inner">'+'<div class="filter-option-inner-inner"></div>'+'</div> '+'</div>'+
          (version.major==='4'?'':'<span class="bs-caret">'+
          this.options.template.caret+'</span>')+'</button>'+'<div class="'+classNames.MENU+' '+(version.major==='4'?'':classNames.SHOW)+'">'+
          header+
          searchbox+
          actionsbox+'<div class="inner '+classNames.SHOW+'" role="listbox" id="'+this.selectId+'" tabindex="-1" '+multiselectable+'>'+'<ul class="'+classNames.MENU+' inner '+(version.major==='4'?classNames.SHOW:'')+'" role="presentation">'+'</ul>'+'</div>'+
          donebutton+'</div>'+'</div>';return $(drop);},setPositionData:function(){this.selectpicker.view.canHighlight=[];this.selectpicker.view.size=0;for(var i=0;i<this.selectpicker.current.data.length;i++){var li=this.selectpicker.current.data[i],canHighlight=true;if(li.type==='divider'){canHighlight=false;li.height=this.sizeInfo.dividerHeight;}else if(li.type==='optgroup-label'){canHighlight=false;li.height=this.sizeInfo.dropdownHeaderHeight;}else{li.height=this.sizeInfo.liHeight;}
          if(li.disabled)canHighlight=false;this.selectpicker.view.canHighlight.push(canHighlight);if(canHighlight){this.selectpicker.view.size++;li.posinset=this.selectpicker.view.size;}
          li.position=(i===0?0:this.selectpicker.current.data[i-1].position)+li.height;}},isVirtual:function(){return(this.options.virtualScroll!==false)&&(this.selectpicker.main.elements.length>=this.options.virtualScroll)||this.options.virtualScroll===true;},createView:function(isSearching,setSize,refresh){var that=this,scrollTop=0,active=[],selected,prevActive;this.selectpicker.isSearching=isSearching;this.selectpicker.current=isSearching?this.selectpicker.search:this.selectpicker.main;this.setPositionData();if(setSize){if(refresh){scrollTop=this.$menuInner[0].scrollTop;}else if(!that.multiple){var element=that.$element[0],selectedIndex=(element.options[element.selectedIndex]||{}).liIndex;if(typeof selectedIndex==='number'&&that.options.size!==false){var selectedData=that.selectpicker.main.data[selectedIndex],position=selectedData&&selectedData.position;if(position){scrollTop=position-((that.sizeInfo.menuInnerHeight+that.sizeInfo.liHeight)/2);}}}}
          scroll(scrollTop,true);this.$menuInner.off('scroll.createView').on('scroll.createView',function(e,updateValue){if(!that.noScroll)scroll(this.scrollTop,updateValue);that.noScroll=false;});function scroll(scrollTop,init){var size=that.selectpicker.current.elements.length,chunks=[],chunkSize,chunkCount,firstChunk,lastChunk,currentChunk,prevPositions,positionIsDifferent,previousElements,menuIsDifferent=true,isVirtual=that.isVirtual();that.selectpicker.view.scrollTop=scrollTop;chunkSize=Math.ceil(that.sizeInfo.menuInnerHeight/that.sizeInfo.liHeight*1.5);chunkCount=Math.round(size/chunkSize)||1;for(var i=0;i<chunkCount;i++){var endOfChunk=(i+1)*chunkSize;if(i===chunkCount-1){endOfChunk=size;}
          chunks[i]=[(i)*chunkSize+(!i?0:1),endOfChunk];if(!size)break;if(currentChunk===undefined&&scrollTop-1<=that.selectpicker.current.data[endOfChunk-1].position-that.sizeInfo.menuInnerHeight){currentChunk=i;}}
          if(currentChunk===undefined)currentChunk=0;prevPositions=[that.selectpicker.view.position0,that.selectpicker.view.position1];firstChunk=Math.max(0,currentChunk-1);lastChunk=Math.min(chunkCount-1,currentChunk+1);that.selectpicker.view.position0=isVirtual===false?0:(Math.max(0,chunks[firstChunk][0])||0);that.selectpicker.view.position1=isVirtual===false?size:(Math.min(size,chunks[lastChunk][1])||0);positionIsDifferent=prevPositions[0]!==that.selectpicker.view.position0||prevPositions[1]!==that.selectpicker.view.position1;if(that.activeIndex!==undefined){prevActive=that.selectpicker.main.elements[that.prevActiveIndex];active=that.selectpicker.main.elements[that.activeIndex];selected=that.selectpicker.main.elements[that.selectedIndex];if(init){if(that.activeIndex!==that.selectedIndex){that.defocusItem(active);}
          that.activeIndex=undefined;}
          if(that.activeIndex&&that.activeIndex!==that.selectedIndex){that.defocusItem(selected);}}
          if(that.prevActiveIndex!==undefined&&that.prevActiveIndex!==that.activeIndex&&that.prevActiveIndex!==that.selectedIndex){that.defocusItem(prevActive);}
          if(init||positionIsDifferent){previousElements=that.selectpicker.view.visibleElements?that.selectpicker.view.visibleElements.slice():[];if(isVirtual===false){that.selectpicker.view.visibleElements=that.selectpicker.current.elements;}else{that.selectpicker.view.visibleElements=that.selectpicker.current.elements.slice(that.selectpicker.view.position0,that.selectpicker.view.position1);}
          that.setOptionStatus();if(isSearching||(isVirtual===false&&init))menuIsDifferent=!isEqual(previousElements,that.selectpicker.view.visibleElements);if((init||isVirtual===true)&&menuIsDifferent){var menuInner=that.$menuInner[0],menuFragment=document.createDocumentFragment(),emptyMenu=menuInner.firstChild.cloneNode(false),marginTop,marginBottom,elements=that.selectpicker.view.visibleElements,toSanitize=[];menuInner.replaceChild(emptyMenu,menuInner.firstChild);for(var i=0,visibleElementsLen=elements.length;i<visibleElementsLen;i++){var element=elements[i],elText,elementData;if(that.options.sanitize){elText=element.lastChild;if(elText){elementData=that.selectpicker.current.data[i+that.selectpicker.view.position0];if(elementData&&elementData.content&&!elementData.sanitized){toSanitize.push(elText);elementData.sanitized=true;}}}
          menuFragment.appendChild(element);}
          if(that.options.sanitize&&toSanitize.length){sanitizeHtml(toSanitize,that.options.whiteList,that.options.sanitizeFn);}
          if(isVirtual===true){marginTop=(that.selectpicker.view.position0===0?0:that.selectpicker.current.data[that.selectpicker.view.position0-1].position);marginBottom=(that.selectpicker.view.position1>size-1?0:that.selectpicker.current.data[size-1].position-that.selectpicker.current.data[that.selectpicker.view.position1-1].position);menuInner.firstChild.style.marginTop=marginTop+'px';menuInner.firstChild.style.marginBottom=marginBottom+'px';}else{menuInner.firstChild.style.marginTop=0;menuInner.firstChild.style.marginBottom=0;}
          menuInner.firstChild.appendChild(menuFragment);if(isVirtual===true&&that.sizeInfo.hasScrollBar){var menuInnerInnerWidth=menuInner.firstChild.offsetWidth;if(init&&menuInnerInnerWidth<that.sizeInfo.menuInnerInnerWidth&&that.sizeInfo.totalMenuWidth>that.sizeInfo.selectWidth){menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+'px';}else if(menuInnerInnerWidth>that.sizeInfo.menuInnerInnerWidth){that.$menu[0].style.minWidth=0;var actualMenuWidth=menuInner.firstChild.offsetWidth;if(actualMenuWidth>that.sizeInfo.menuInnerInnerWidth){that.sizeInfo.menuInnerInnerWidth=actualMenuWidth;menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+'px';}
          that.$menu[0].style.minWidth='';}}}}
          that.prevActiveIndex=that.activeIndex;if(!that.options.liveSearch){that.$menuInner.trigger('focus');}else if(isSearching&&init){var index=0,newActive;if(!that.selectpicker.view.canHighlight[index]){index=1+that.selectpicker.view.canHighlight.slice(1).indexOf(true);}
          newActive=that.selectpicker.view.visibleElements[index];that.defocusItem(that.selectpicker.view.currentActive);that.activeIndex=(that.selectpicker.current.data[index]||{}).index;that.focusItem(newActive);}}
          $(window).off('resize'+EVENT_KEY+'.'+this.selectId+'.createView').on('resize'+EVENT_KEY+'.'+this.selectId+'.createView',function(){var isActive=that.$newElement.hasClass(classNames.SHOW);if(isActive)scroll(that.$menuInner[0].scrollTop);});},focusItem:function(li,liData,noStyle){if(li){liData=liData||this.selectpicker.main.data[this.activeIndex];var a=li.firstChild;if(a){a.setAttribute('aria-setsize',this.selectpicker.view.size);a.setAttribute('aria-posinset',liData.posinset);if(noStyle!==true){this.focusedParent.setAttribute('aria-activedescendant',a.id);li.classList.add('active');a.classList.add('active');}}}},defocusItem:function(li){if(li){li.classList.remove('active');if(li.firstChild)li.firstChild.classList.remove('active');}},setPlaceholder:function(){var updateIndex=false;if(this.options.title&&!this.multiple){if(!this.selectpicker.view.titleOption)this.selectpicker.view.titleOption=document.createElement('option');updateIndex=true;var element=this.$element[0],isSelected=false,titleNotAppended=!this.selectpicker.view.titleOption.parentNode;if(titleNotAppended){this.selectpicker.view.titleOption.className='bs-title-option';this.selectpicker.view.titleOption.value='';var $opt=$(element.options[element.selectedIndex]);isSelected=$opt.attr('selected')===undefined&&this.$element.data('selected')===undefined;}
          if(titleNotAppended||this.selectpicker.view.titleOption.index!==0){element.insertBefore(this.selectpicker.view.titleOption,element.firstChild);}
          if(isSelected)element.selectedIndex=0;}
          return updateIndex;},buildData:function(){var optionSelector=':not([hidden]):not([data-hidden="true"])',mainData=[],optID=0,startIndex=this.setPlaceholder()?1:0;if(this.options.hideDisabled)optionSelector+=':not(:disabled)';var selectOptions=this.$element[0].querySelectorAll('select > *'+optionSelector);function addDivider(config){var previousData=mainData[mainData.length-1];if(previousData&&previousData.type==='divider'&&(previousData.optID||config.optID)){return;}
          config=config||{};config.type='divider';mainData.push(config);}
          function addOption(option,config){config=config||{};config.divider=option.getAttribute('data-divider')==='true';if(config.divider){addDivider({optID:config.optID});}else{var liIndex=mainData.length,cssText=option.style.cssText,inlineStyle=cssText?htmlEscape(cssText):'',optionClass=(option.className||'')+(config.optgroupClass||'');if(config.optID)optionClass='opt '+optionClass;config.optionClass=optionClass.trim();config.inlineStyle=inlineStyle;config.text=option.textContent;config.content=option.getAttribute('data-content');config.tokens=option.getAttribute('data-tokens');config.subtext=option.getAttribute('data-subtext');config.icon=option.getAttribute('data-icon');option.liIndex=liIndex;config.display=config.content||config.text;config.type='option';config.index=liIndex;config.option=option;config.selected=!!option.selected;config.disabled=config.disabled||!!option.disabled;mainData.push(config);}}
          function addOptgroup(index,selectOptions){var optgroup=selectOptions[index],previous=selectOptions[index-1],next=selectOptions[index+1],options=optgroup.querySelectorAll('option'+optionSelector);if(!options.length)return;var config={display:htmlEscape(optgroup.label),subtext:optgroup.getAttribute('data-subtext'),icon:optgroup.getAttribute('data-icon'),type:'optgroup-label',optgroupClass:' '+(optgroup.className||'')},headerIndex,lastIndex;optID++;if(previous){addDivider({optID:optID});}
          config.optID=optID;mainData.push(config);for(var j=0,len=options.length;j<len;j++){var option=options[j];if(j===0){headerIndex=mainData.length-1;lastIndex=headerIndex+len;}
          addOption(option,{headerIndex:headerIndex,lastIndex:lastIndex,optID:config.optID,optgroupClass:config.optgroupClass,disabled:optgroup.disabled});}
          if(next){addDivider({optID:optID});}}
          for(var len=selectOptions.length;startIndex<len;startIndex++){var item=selectOptions[startIndex];if(item.tagName!=='OPTGROUP'){addOption(item,{});}else{addOptgroup(startIndex,selectOptions);}}
          this.selectpicker.main.data=this.selectpicker.current.data=mainData;},buildList:function(){var that=this,selectData=this.selectpicker.main.data,mainElements=[],widestOptionLength=0;if((that.options.showTick||that.multiple)&&!elementTemplates.checkMark.parentNode){elementTemplates.checkMark.className=this.options.iconBase+' '+that.options.tickIcon+' check-mark';elementTemplates.a.appendChild(elementTemplates.checkMark);}
          function buildElement(item){var liElement,combinedLength=0;switch(item.type){case'divider':liElement=generateOption.li(false,classNames.DIVIDER,(item.optID?item.optID+'div':undefined));break;case'option':liElement=generateOption.li(generateOption.a(generateOption.text.call(that,item),item.optionClass,item.inlineStyle),'',item.optID);if(liElement.firstChild){liElement.firstChild.id=that.selectId+'-'+item.index;}
          break;case'optgroup-label':liElement=generateOption.li(generateOption.label.call(that,item),'dropdown-header'+item.optgroupClass,item.optID);break;}
          mainElements.push(liElement);if(item.display)combinedLength+=item.display.length;if(item.subtext)combinedLength+=item.subtext.length;if(item.icon)combinedLength+=1;if(combinedLength>widestOptionLength){widestOptionLength=combinedLength;that.selectpicker.view.widestOption=mainElements[mainElements.length-1];}}
          for(var len=selectData.length,i=0;i<len;i++){var item=selectData[i];buildElement(item);}
          this.selectpicker.main.elements=this.selectpicker.current.elements=mainElements;},findLis:function(){return this.$menuInner.find('.inner > li');},render:function(){var that=this,element=this.$element[0],placeholderSelected=this.setPlaceholder()&&element.selectedIndex===0,selectedOptions=getSelectedOptions(element,this.options.hideDisabled),selectedCount=selectedOptions.length,button=this.$button[0],buttonInner=button.querySelector('.filter-option-inner-inner'),multipleSeparator=document.createTextNode(this.options.multipleSeparator),titleFragment=elementTemplates.fragment.cloneNode(false),showCount,countMax,hasContent=false;button.classList.toggle('bs-placeholder',that.multiple?!selectedCount:!getSelectValues(element,selectedOptions));this.tabIndex();if(this.options.selectedTextFormat==='static'){titleFragment=generateOption.text.call(this,{text:this.options.title},true);}else{showCount=this.multiple&&this.options.selectedTextFormat.indexOf('count')!==-1&&selectedCount>1;if(showCount){countMax=this.options.selectedTextFormat.split('>');showCount=(countMax.length>1&&selectedCount>countMax[1])||(countMax.length===1&&selectedCount>=2);}
          if(showCount===false){if(!placeholderSelected){for(var selectedIndex=0;selectedIndex<selectedCount;selectedIndex++){if(selectedIndex<50){var option=selectedOptions[selectedIndex],thisData=this.selectpicker.main.data[option.liIndex],titleOptions={};if(this.multiple&&selectedIndex>0){titleFragment.appendChild(multipleSeparator.cloneNode(false));}
          if(option.title){titleOptions.text=option.title;}else if(thisData){if(thisData.content&&that.options.showContent){titleOptions.content=thisData.content.toString();hasContent=true;}else{if(that.options.showIcon){titleOptions.icon=thisData.icon;}
          if(that.options.showSubtext&&!that.multiple&&thisData.subtext)titleOptions.subtext=' '+thisData.subtext;titleOptions.text=option.textContent.trim();}}
          titleFragment.appendChild(generateOption.text.call(this,titleOptions,true));}else{break;}}
          if(selectedCount>49){titleFragment.appendChild(document.createTextNode('...'));}}}else{var optionSelector=':not([hidden]):not([data-hidden="true"]):not([data-divider="true"])';if(this.options.hideDisabled)optionSelector+=':not(:disabled)';var totalCount=this.$element[0].querySelectorAll('select > option'+optionSelector+', optgroup'+optionSelector+' option'+optionSelector).length,tr8nText=(typeof this.options.countSelectedText==='function')?this.options.countSelectedText(selectedCount,totalCount):this.options.countSelectedText;titleFragment=generateOption.text.call(this,{text:tr8nText.replace('{0}',selectedCount.toString()).replace('{1}',totalCount.toString())},true);}}
          if(this.options.title==undefined){this.options.title=this.$element.attr('title');}
          if(!titleFragment.childNodes.length){titleFragment=generateOption.text.call(this,{text:typeof this.options.title!=='undefined'?this.options.title:this.options.noneSelectedText},true);}
          button.title=titleFragment.textContent.replace(/<[^>]*>?/g,'').trim();if(this.options.sanitize&&hasContent){sanitizeHtml([titleFragment],that.options.whiteList,that.options.sanitizeFn);}
          buttonInner.innerHTML='';buttonInner.appendChild(titleFragment);if(version.major<4&&this.$newElement[0].classList.contains('bs3-has-addon')){var filterExpand=button.querySelector('.filter-expand'),clone=buttonInner.cloneNode(true);clone.className='filter-expand';if(filterExpand){button.replaceChild(clone,filterExpand);}else{button.appendChild(clone);}}
          this.$element.trigger('rendered'+EVENT_KEY);},setStyle:function(newStyle,status){var button=this.$button[0],newElement=this.$newElement[0],style=this.options.style.trim(),buttonClass;if(this.$element.attr('class')){this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,''));}
          if(version.major<4){newElement.classList.add('bs3');if(newElement.parentNode.classList.contains('input-group')&&(newElement.previousElementSibling||newElement.nextElementSibling)&&(newElement.previousElementSibling||newElement.nextElementSibling).classList.contains('input-group-addon')){newElement.classList.add('bs3-has-addon');}}
          if(newStyle){buttonClass=newStyle.trim();}else{buttonClass=style;}
          if(status=='add'){if(buttonClass)button.classList.add.apply(button.classList,buttonClass.split(' '));}else if(status=='remove'){if(buttonClass)button.classList.remove.apply(button.classList,buttonClass.split(' '));}else{if(style)button.classList.remove.apply(button.classList,style.split(' '));if(buttonClass)button.classList.add.apply(button.classList,buttonClass.split(' '));}},liHeight:function(refresh){if(!refresh&&(this.options.size===false||Object.keys(this.sizeInfo).length))return;var newElement=document.createElement('div'),menu=document.createElement('div'),menuInner=document.createElement('div'),menuInnerInner=document.createElement('ul'),divider=document.createElement('li'),dropdownHeader=document.createElement('li'),li=document.createElement('li'),a=document.createElement('a'),text=document.createElement('span'),header=this.options.header&&this.$menu.find('.'+classNames.POPOVERHEADER).length>0?this.$menu.find('.'+classNames.POPOVERHEADER)[0].cloneNode(true):null,search=this.options.liveSearch?document.createElement('div'):null,actions=this.options.actionsBox&&this.multiple&&this.$menu.find('.bs-actionsbox').length>0?this.$menu.find('.bs-actionsbox')[0].cloneNode(true):null,doneButton=this.options.doneButton&&this.multiple&&this.$menu.find('.bs-donebutton').length>0?this.$menu.find('.bs-donebutton')[0].cloneNode(true):null,firstOption=this.$element.find('option')[0];this.sizeInfo.selectWidth=this.$newElement[0].offsetWidth;text.className='text';a.className='dropdown-item '+(firstOption?firstOption.className:'');newElement.className=this.$menu[0].parentNode.className+' '+classNames.SHOW;newElement.style.width=0;if(this.options.width==='auto')menu.style.minWidth=0;menu.className=classNames.MENU+' '+classNames.SHOW;menuInner.className='inner '+classNames.SHOW;menuInnerInner.className=classNames.MENU+' inner '+(version.major==='4'?classNames.SHOW:'');divider.className=classNames.DIVIDER;dropdownHeader.className='dropdown-header';text.appendChild(document.createTextNode('\u200b'));a.appendChild(text);li.appendChild(a);dropdownHeader.appendChild(text.cloneNode(true));if(this.selectpicker.view.widestOption){menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));}
          menuInnerInner.appendChild(li);menuInnerInner.appendChild(divider);menuInnerInner.appendChild(dropdownHeader);if(header)menu.appendChild(header);if(search){var input=document.createElement('input');search.className='bs-searchbox';input.className='form-control';search.appendChild(input);menu.appendChild(search);}
          if(actions)menu.appendChild(actions);menuInner.appendChild(menuInnerInner);menu.appendChild(menuInner);if(doneButton)menu.appendChild(doneButton);newElement.appendChild(menu);document.body.appendChild(newElement);var liHeight=li.offsetHeight,dropdownHeaderHeight=dropdownHeader?dropdownHeader.offsetHeight:0,headerHeight=header?header.offsetHeight:0,searchHeight=search?search.offsetHeight:0,actionsHeight=actions?actions.offsetHeight:0,doneButtonHeight=doneButton?doneButton.offsetHeight:0,dividerHeight=$(divider).outerHeight(true),menuStyle=window.getComputedStyle?window.getComputedStyle(menu):false,menuWidth=menu.offsetWidth,$menu=menuStyle?null:$(menu),menuPadding={vert:toInteger(menuStyle?menuStyle.paddingTop:$menu.css('paddingTop'))+
          toInteger(menuStyle?menuStyle.paddingBottom:$menu.css('paddingBottom'))+
          toInteger(menuStyle?menuStyle.borderTopWidth:$menu.css('borderTopWidth'))+
          toInteger(menuStyle?menuStyle.borderBottomWidth:$menu.css('borderBottomWidth')),horiz:toInteger(menuStyle?menuStyle.paddingLeft:$menu.css('paddingLeft'))+
          toInteger(menuStyle?menuStyle.paddingRight:$menu.css('paddingRight'))+
          toInteger(menuStyle?menuStyle.borderLeftWidth:$menu.css('borderLeftWidth'))+
          toInteger(menuStyle?menuStyle.borderRightWidth:$menu.css('borderRightWidth'))},menuExtras={vert:menuPadding.vert+
          toInteger(menuStyle?menuStyle.marginTop:$menu.css('marginTop'))+
          toInteger(menuStyle?menuStyle.marginBottom:$menu.css('marginBottom'))+2,horiz:menuPadding.horiz+
          toInteger(menuStyle?menuStyle.marginLeft:$menu.css('marginLeft'))+
          toInteger(menuStyle?menuStyle.marginRight:$menu.css('marginRight'))+2},scrollBarWidth;menuInner.style.overflowY='scroll';scrollBarWidth=menu.offsetWidth-menuWidth;document.body.removeChild(newElement);this.sizeInfo.liHeight=liHeight;this.sizeInfo.dropdownHeaderHeight=dropdownHeaderHeight;this.sizeInfo.headerHeight=headerHeight;this.sizeInfo.searchHeight=searchHeight;this.sizeInfo.actionsHeight=actionsHeight;this.sizeInfo.doneButtonHeight=doneButtonHeight;this.sizeInfo.dividerHeight=dividerHeight;this.sizeInfo.menuPadding=menuPadding;this.sizeInfo.menuExtras=menuExtras;this.sizeInfo.menuWidth=menuWidth;this.sizeInfo.menuInnerInnerWidth=menuWidth-menuPadding.horiz;this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth;this.sizeInfo.scrollBarWidth=scrollBarWidth;this.sizeInfo.selectHeight=this.$newElement[0].offsetHeight;this.setPositionData();},getSelectPosition:function(){var that=this,$window=$(window),pos=that.$newElement.offset(),$container=$(that.options.container),containerPos;if(that.options.container&&$container.length&&!$container.is('body')){containerPos=$container.offset();containerPos.top+=parseInt($container.css('borderTopWidth'));containerPos.left+=parseInt($container.css('borderLeftWidth'));}else{containerPos={top:0,left:0};}
          var winPad=that.options.windowPadding;this.sizeInfo.selectOffsetTop=pos.top-containerPos.top-$window.scrollTop();this.sizeInfo.selectOffsetBot=$window.height()-this.sizeInfo.selectOffsetTop-this.sizeInfo.selectHeight-containerPos.top-winPad[2];this.sizeInfo.selectOffsetLeft=pos.left-containerPos.left-$window.scrollLeft();this.sizeInfo.selectOffsetRight=$window.width()-this.sizeInfo.selectOffsetLeft-this.sizeInfo.selectWidth-containerPos.left-winPad[1];this.sizeInfo.selectOffsetTop-=winPad[0];this.sizeInfo.selectOffsetLeft-=winPad[3];},setMenuSize:function(isAuto){this.getSelectPosition();var selectWidth=this.sizeInfo.selectWidth,liHeight=this.sizeInfo.liHeight,headerHeight=this.sizeInfo.headerHeight,searchHeight=this.sizeInfo.searchHeight,actionsHeight=this.sizeInfo.actionsHeight,doneButtonHeight=this.sizeInfo.doneButtonHeight,divHeight=this.sizeInfo.dividerHeight,menuPadding=this.sizeInfo.menuPadding,menuInnerHeight,menuHeight,divLength=0,minHeight,_minHeight,maxHeight,menuInnerMinHeight,estimate,isDropup;if(this.options.dropupAuto){estimate=liHeight*this.selectpicker.current.elements.length+menuPadding.vert;isDropup=this.sizeInfo.selectOffsetTop-this.sizeInfo.selectOffsetBot>this.sizeInfo.menuExtras.vert&&estimate+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot;if(this.selectpicker.isSearching===true){isDropup=this.selectpicker.dropup;}
          this.$newElement.toggleClass(classNames.DROPUP,isDropup);this.selectpicker.dropup=isDropup;}
          if(this.options.size==='auto'){_minHeight=this.selectpicker.current.elements.length>3?this.sizeInfo.liHeight*3+this.sizeInfo.menuExtras.vert-2:0;menuHeight=this.sizeInfo.selectOffsetBot-this.sizeInfo.menuExtras.vert;minHeight=_minHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight;menuInnerMinHeight=Math.max(_minHeight-menuPadding.vert,0);if(this.$newElement.hasClass(classNames.DROPUP)){menuHeight=this.sizeInfo.selectOffsetTop-this.sizeInfo.menuExtras.vert;}
          maxHeight=menuHeight;menuInnerHeight=menuHeight-headerHeight-searchHeight-actionsHeight-doneButtonHeight-menuPadding.vert;}else if(this.options.size&&this.options.size!='auto'&&this.selectpicker.current.elements.length>this.options.size){for(var i=0;i<this.options.size;i++){if(this.selectpicker.current.data[i].type==='divider')divLength++;}
          menuHeight=liHeight*this.options.size+divLength*divHeight+menuPadding.vert;menuInnerHeight=menuHeight-menuPadding.vert;maxHeight=menuHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight;minHeight=menuInnerMinHeight='';}
          this.$menu.css({'max-height':maxHeight+'px','overflow':'hidden','min-height':minHeight+'px'});this.$menuInner.css({'max-height':menuInnerHeight+'px','overflow-y':'auto','min-height':menuInnerMinHeight+'px'});this.sizeInfo.menuInnerHeight=Math.max(menuInnerHeight,1);if(this.selectpicker.current.data.length&&this.selectpicker.current.data[this.selectpicker.current.data.length-1].position>this.sizeInfo.menuInnerHeight){this.sizeInfo.hasScrollBar=true;this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth;}
          if(this.options.dropdownAlignRight==='auto'){this.$menu.toggleClass(classNames.MENURIGHT,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRight<(this.sizeInfo.totalMenuWidth-selectWidth));}
          if(this.dropdown&&this.dropdown._popper)this.dropdown._popper.update();},setSize:function(refresh){this.liHeight(refresh);if(this.options.header)this.$menu.css('padding-top',0);if(this.options.size!==false){var that=this,$window=$(window);this.setMenuSize();if(this.options.liveSearch){this.$searchbox.off('input.setMenuSize propertychange.setMenuSize').on('input.setMenuSize propertychange.setMenuSize',function(){return that.setMenuSize();});}
          if(this.options.size==='auto'){$window.off('resize'+EVENT_KEY+'.'+this.selectId+'.setMenuSize'+' scroll'+EVENT_KEY+'.'+this.selectId+'.setMenuSize').on('resize'+EVENT_KEY+'.'+this.selectId+'.setMenuSize'+' scroll'+EVENT_KEY+'.'+this.selectId+'.setMenuSize',function(){return that.setMenuSize();});}else if(this.options.size&&this.options.size!='auto'&&this.selectpicker.current.elements.length>this.options.size){$window.off('resize'+EVENT_KEY+'.'+this.selectId+'.setMenuSize'+' scroll'+EVENT_KEY+'.'+this.selectId+'.setMenuSize');}}
          this.createView(false,true,refresh);},setWidth:function(){var that=this;if(this.options.width==='auto'){requestAnimationFrame(function(){that.$menu.css('min-width','0');that.$element.on('loaded'+EVENT_KEY,function(){that.liHeight();that.setMenuSize();var $selectClone=that.$newElement.clone().appendTo('body'),btnWidth=$selectClone.css('width','auto').children('button').outerWidth();$selectClone.remove();that.sizeInfo.selectWidth=Math.max(that.sizeInfo.totalMenuWidth,btnWidth);that.$newElement.css('width',that.sizeInfo.selectWidth+'px');});});}else if(this.options.width==='fit'){this.$menu.css('min-width','');this.$newElement.css('width','').addClass('fit-width');}else if(this.options.width){this.$menu.css('min-width','');this.$newElement.css('width',this.options.width);}else{this.$menu.css('min-width','');this.$newElement.css('width','');}
          if(this.$newElement.hasClass('fit-width')&&this.options.width!=='fit'){this.$newElement[0].classList.remove('fit-width');}},selectPosition:function(){this.$bsContainer=$('<div class="bs-container" />');var that=this,$container=$(this.options.container),pos,containerPos,actualHeight,getPlacement=function($element){var containerPosition={},display=that.options.display||($.fn.dropdown.Constructor.Default?$.fn.dropdown.Constructor.Default.display:false);that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi,'')).toggleClass(classNames.DROPUP,$element.hasClass(classNames.DROPUP));pos=$element.offset();if(!$container.is('body')){containerPos=$container.offset();containerPos.top+=parseInt($container.css('borderTopWidth'))-$container.scrollTop();containerPos.left+=parseInt($container.css('borderLeftWidth'))-$container.scrollLeft();}else{containerPos={top:0,left:0};}
          actualHeight=$element.hasClass(classNames.DROPUP)?0:$element[0].offsetHeight;if(version.major<4||display==='static'){containerPosition.top=pos.top-containerPos.top+actualHeight;containerPosition.left=pos.left-containerPos.left;}
          containerPosition.width=$element[0].offsetWidth;that.$bsContainer.css(containerPosition);};this.$button.on('click.bs.dropdown.data-api',function(){if(that.isDisabled()){return;}
          getPlacement(that.$newElement);that.$bsContainer.appendTo(that.options.container).toggleClass(classNames.SHOW,!that.$button.hasClass(classNames.SHOW)).append(that.$menu);});$(window).off('resize'+EVENT_KEY+'.'+this.selectId+' scroll'+EVENT_KEY+'.'+this.selectId).on('resize'+EVENT_KEY+'.'+this.selectId+' scroll'+EVENT_KEY+'.'+this.selectId,function(){var isActive=that.$newElement.hasClass(classNames.SHOW);if(isActive)getPlacement(that.$newElement);});this.$element.on('hide'+EVENT_KEY,function(){that.$menu.data('height',that.$menu.height());that.$bsContainer.detach();});},setOptionStatus:function(selectedOnly){var that=this;that.noScroll=false;if(that.selectpicker.view.visibleElements&&that.selectpicker.view.visibleElements.length){for(var i=0;i<that.selectpicker.view.visibleElements.length;i++){var liData=that.selectpicker.current.data[i+that.selectpicker.view.position0],option=liData.option;if(option){if(selectedOnly!==true){that.setDisabled(liData.index,liData.disabled);}
          that.setSelected(liData.index,option.selected);}}}},setSelected:function(index,selected){var li=this.selectpicker.main.elements[index],liData=this.selectpicker.main.data[index],activeIndexIsSet=this.activeIndex!==undefined,thisIsActive=this.activeIndex===index,prevActive,a,keepActive=thisIsActive||(selected&&!this.multiple&&!activeIndexIsSet);liData.selected=selected;a=li.firstChild;if(selected){this.selectedIndex=index;}
          li.classList.toggle('selected',selected);if(keepActive){this.focusItem(li,liData);this.selectpicker.view.currentActive=li;this.activeIndex=index;}else{this.defocusItem(li);}
          if(a){a.classList.toggle('selected',selected);if(selected){a.setAttribute('aria-selected',true);}else{if(this.multiple){a.setAttribute('aria-selected',false);}else{a.removeAttribute('aria-selected');}}}
          if(!keepActive&&!activeIndexIsSet&&selected&&this.prevActiveIndex!==undefined){prevActive=this.selectpicker.main.elements[this.prevActiveIndex];this.defocusItem(prevActive);}},setDisabled:function(index,disabled){var li=this.selectpicker.main.elements[index],a;this.selectpicker.main.data[index].disabled=disabled;a=li.firstChild;li.classList.toggle(classNames.DISABLED,disabled);if(a){if(version.major==='4')a.classList.toggle(classNames.DISABLED,disabled);if(disabled){a.setAttribute('aria-disabled',disabled);a.setAttribute('tabindex',-1);}else{a.removeAttribute('aria-disabled');a.setAttribute('tabindex',0);}}},isDisabled:function(){return this.$element[0].disabled;},checkDisabled:function(){if(this.isDisabled()){this.$newElement[0].classList.add(classNames.DISABLED);this.$button.addClass(classNames.DISABLED).attr('tabindex',-1).attr('aria-disabled',true);}else{if(this.$button[0].classList.contains(classNames.DISABLED)){this.$newElement[0].classList.remove(classNames.DISABLED);this.$button.removeClass(classNames.DISABLED).attr('aria-disabled',false);}
          if(this.$button.attr('tabindex')==-1&&!this.$element.data('tabindex')){this.$button.removeAttr('tabindex');}}},tabIndex:function(){if(this.$element.data('tabindex')!==this.$element.attr('tabindex')&&(this.$element.attr('tabindex')!==-98&&this.$element.attr('tabindex')!=='-98')){this.$element.data('tabindex',this.$element.attr('tabindex'));this.$button.attr('tabindex',this.$element.data('tabindex'));}
          this.$element.attr('tabindex',-98);},clickListener:function(){var that=this,$document=$(document);$document.data('spaceSelect',false);this.$button.on('keyup',function(e){if(/(32)/.test(e.keyCode.toString(10))&&$document.data('spaceSelect')){e.preventDefault();$document.data('spaceSelect',false);}});this.$newElement.on('show.bs.dropdown',function(){if(version.major>3&&!that.dropdown){that.dropdown=that.$button.data('bs.dropdown');that.dropdown._menu=that.$menu[0];}});this.$button.on('click.bs.dropdown.data-api',function(){if(!that.$newElement.hasClass(classNames.SHOW)){that.setSize();}});function setFocus(){if(that.options.liveSearch){that.$searchbox.trigger('focus');}else{that.$menuInner.trigger('focus');}}
          function checkPopperExists(){if(that.dropdown&&that.dropdown._popper&&that.dropdown._popper.state.isCreated){setFocus();}else{requestAnimationFrame(checkPopperExists);}}
          this.$element.on('shown'+EVENT_KEY,function(){if(that.$menuInner[0].scrollTop!==that.selectpicker.view.scrollTop){that.$menuInner[0].scrollTop=that.selectpicker.view.scrollTop;}
          if(version.major>3){requestAnimationFrame(checkPopperExists);}else{setFocus();}});this.$menuInner.on('mouseenter','li a',function(e){var hoverLi=this.parentElement,position0=that.isVirtual()?that.selectpicker.view.position0:0,index=Array.prototype.indexOf.call(hoverLi.parentElement.children,hoverLi),hoverData=that.selectpicker.current.data[index+position0];that.focusItem(hoverLi,hoverData,true);});this.$menuInner.on('click','li a',function(e,retainActive){var $this=$(this),element=that.$element[0],position0=that.isVirtual()?that.selectpicker.view.position0:0,clickedData=that.selectpicker.current.data[$this.parent().index()+position0],clickedIndex=clickedData.index,prevValue=getSelectValues(element),prevIndex=element.selectedIndex,prevOption=element.options[prevIndex],triggerChange=true;if(that.multiple&&that.options.maxOptions!==1){e.stopPropagation();}
          e.preventDefault();if(!that.isDisabled()&&!$this.parent().hasClass(classNames.DISABLED)){var option=clickedData.option,$option=$(option),state=option.selected,$optgroup=$option.parent('optgroup'),$optgroupOptions=$optgroup.find('option'),maxOptions=that.options.maxOptions,maxOptionsGrp=$optgroup.data('maxOptions')||false;if(clickedIndex===that.activeIndex)retainActive=true;if(!retainActive){that.prevActiveIndex=that.activeIndex;that.activeIndex=undefined;}
          if(!that.multiple){if(prevOption)prevOption.selected=false;option.selected=true;that.setSelected(clickedIndex,true);}else{option.selected=!state;that.setSelected(clickedIndex,!state);$this.trigger('blur');if(maxOptions!==false||maxOptionsGrp!==false){var maxReached=maxOptions<getSelectedOptions(element).length,maxReachedGrp=maxOptionsGrp<$optgroup.find('option:selected').length;if((maxOptions&&maxReached)||(maxOptionsGrp&&maxReachedGrp)){if(maxOptions&&maxOptions==1){element.selectedIndex=-1;option.selected=true;that.setOptionStatus(true);}else if(maxOptionsGrp&&maxOptionsGrp==1){for(var i=0;i<$optgroupOptions.length;i++){var _option=$optgroupOptions[i];_option.selected=false;that.setSelected(_option.liIndex,false);}
          option.selected=true;that.setSelected(clickedIndex,true);}else{var maxOptionsText=typeof that.options.maxOptionsText==='string'?[that.options.maxOptionsText,that.options.maxOptionsText]:that.options.maxOptionsText,maxOptionsArr=typeof maxOptionsText==='function'?maxOptionsText(maxOptions,maxOptionsGrp):maxOptionsText,maxTxt=maxOptionsArr[0].replace('{n}',maxOptions),maxTxtGrp=maxOptionsArr[1].replace('{n}',maxOptionsGrp),$notify=$('<div class="notify"></div>');if(maxOptionsArr[2]){maxTxt=maxTxt.replace('{var}',maxOptionsArr[2][maxOptions>1?0:1]);maxTxtGrp=maxTxtGrp.replace('{var}',maxOptionsArr[2][maxOptionsGrp>1?0:1]);}
          option.selected=false;that.$menu.append($notify);if(maxOptions&&maxReached){$notify.append($('<div>'+maxTxt+'</div>'));triggerChange=false;that.$element.trigger('maxReached'+EVENT_KEY);}
          if(maxOptionsGrp&&maxReachedGrp){$notify.append($('<div>'+maxTxtGrp+'</div>'));triggerChange=false;that.$element.trigger('maxReachedGrp'+EVENT_KEY);}
          setTimeout(function(){that.setSelected(clickedIndex,false);},10);$notify[0].classList.add('fadeOut');setTimeout(function(){$notify.remove();},1050);}}}}
          if(!that.multiple||(that.multiple&&that.options.maxOptions===1)){that.$button.trigger('focus');}else if(that.options.liveSearch){that.$searchbox.trigger('focus');}
          if(triggerChange){if(that.multiple||prevIndex!==element.selectedIndex){changedArguments=[option.index,$option.prop('selected'),prevValue];that.$element.triggerNative('change');}}}});this.$menu.on('click','li.'+classNames.DISABLED+' a, .'+classNames.POPOVERHEADER+', .'+classNames.POPOVERHEADER+' :not(.close)',function(e){if(e.currentTarget==this){e.preventDefault();e.stopPropagation();if(that.options.liveSearch&&!$(e.target).hasClass('close')){that.$searchbox.trigger('focus');}else{that.$button.trigger('focus');}}});this.$menuInner.on('click','.divider, .dropdown-header',function(e){e.preventDefault();e.stopPropagation();if(that.options.liveSearch){that.$searchbox.trigger('focus');}else{that.$button.trigger('focus');}});this.$menu.on('click','.'+classNames.POPOVERHEADER+' .close',function(){that.$button.trigger('click');});this.$searchbox.on('click',function(e){e.stopPropagation();});this.$menu.on('click','.actions-btn',function(e){if(that.options.liveSearch){that.$searchbox.trigger('focus');}else{that.$button.trigger('focus');}
          e.preventDefault();e.stopPropagation();if($(this).hasClass('bs-select-all')){that.selectAll();}else{that.deselectAll();}});this.$element.on('change'+EVENT_KEY,function(){that.render();that.$element.trigger('changed'+EVENT_KEY,changedArguments);changedArguments=null;}).on('focus'+EVENT_KEY,function(){if(!that.options.mobile)that.$button.trigger('focus');});},liveSearchListener:function(){var that=this,noResults=document.createElement('li');this.$button.on('click.bs.dropdown.data-api',function(){if(!!that.$searchbox.val()){that.$searchbox.val('');}});this.$searchbox.on('click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api',function(e){e.stopPropagation();});this.$searchbox.on('input propertychange',function(){var searchValue=that.$searchbox.val();that.selectpicker.search.elements=[];that.selectpicker.search.data=[];if(searchValue){var i,searchMatch=[],q=searchValue.toUpperCase(),cache={},cacheArr=[],searchStyle=that._searchStyle(),normalizeSearch=that.options.liveSearchNormalize;if(normalizeSearch)q=normalizeToBase(q);for(var i=0;i<that.selectpicker.main.data.length;i++){var li=that.selectpicker.main.data[i];if(!cache[i]){cache[i]=stringSearch(li,q,searchStyle,normalizeSearch);}
          if(cache[i]&&li.headerIndex!==undefined&&cacheArr.indexOf(li.headerIndex)===-1){if(li.headerIndex>0){cache[li.headerIndex-1]=true;cacheArr.push(li.headerIndex-1);}
          cache[li.headerIndex]=true;cacheArr.push(li.headerIndex);cache[li.lastIndex+1]=true;}
          if(cache[i]&&li.type!=='optgroup-label')cacheArr.push(i);}
          for(var i=0,cacheLen=cacheArr.length;i<cacheLen;i++){var index=cacheArr[i],prevIndex=cacheArr[i-1],li=that.selectpicker.main.data[index],liPrev=that.selectpicker.main.data[prevIndex];if(li.type!=='divider'||(li.type==='divider'&&liPrev&&liPrev.type!=='divider'&&cacheLen-1!==i)){that.selectpicker.search.data.push(li);searchMatch.push(that.selectpicker.main.elements[index]);}}
          that.activeIndex=undefined;that.noScroll=true;that.$menuInner.scrollTop(0);that.selectpicker.search.elements=searchMatch;that.createView(true);if(!searchMatch.length){noResults.className='no-results';noResults.innerHTML=that.options.noneResultsText.replace('{0}','"'+htmlEscape(searchValue)+'"');that.$menuInner[0].firstChild.appendChild(noResults);}}else{that.$menuInner.scrollTop(0);that.createView(false);}});},_searchStyle:function(){return this.options.liveSearchStyle||'contains';},val:function(value){var element=this.$element[0];if(typeof value!=='undefined'){var prevValue=getSelectValues(element);changedArguments=[null,null,prevValue];this.$element.val(value).trigger('changed'+EVENT_KEY,changedArguments);if(this.$newElement.hasClass(classNames.SHOW)){if(this.multiple){this.setOptionStatus(true);}else{var liSelectedIndex=(element.options[element.selectedIndex]||{}).liIndex;if(typeof liSelectedIndex==='number'){this.setSelected(this.selectedIndex,false);this.setSelected(liSelectedIndex,true);}}}
          this.render();changedArguments=null;return this.$element;}else{return this.$element.val();}},changeAll:function(status){if(!this.multiple)return;if(typeof status==='undefined')status=true;var element=this.$element[0],previousSelected=0,currentSelected=0,prevValue=getSelectValues(element);element.classList.add('bs-select-hidden');for(var i=0,data=this.selectpicker.current.data,len=data.length;i<len;i++){var liData=data[i],option=liData.option;if(option&&!liData.disabled&&liData.type!=='divider'){if(liData.selected)previousSelected++;option.selected=status;if(status===true)currentSelected++;}}
          element.classList.remove('bs-select-hidden');if(previousSelected===currentSelected)return;this.setOptionStatus();changedArguments=[null,null,prevValue];this.$element.triggerNative('change');},selectAll:function(){return this.changeAll(true);},deselectAll:function(){return this.changeAll(false);},toggle:function(e){e=e||window.event;if(e)e.stopPropagation();this.$button.trigger('click.bs.dropdown.data-api');},keydown:function(e){var $this=$(this),isToggle=$this.hasClass('dropdown-toggle'),$parent=isToggle?$this.closest('.dropdown'):$this.closest(Selector.MENU),that=$parent.data('this'),$items=that.findLis(),index,isActive,liActive,activeLi,offset,updateScroll=false,downOnTab=e.which===keyCodes.TAB&&!isToggle&&!that.options.selectOnTab,isArrowKey=REGEXP_ARROW.test(e.which)||downOnTab,scrollTop=that.$menuInner[0].scrollTop,isVirtual=that.isVirtual(),position0=isVirtual===true?that.selectpicker.view.position0:0;if(e.which>=112&&e.which<=123)return;isActive=that.$newElement.hasClass(classNames.SHOW);if(!isActive&&(isArrowKey||(e.which>=48&&e.which<=57)||(e.which>=96&&e.which<=105)||(e.which>=65&&e.which<=90))){that.$button.trigger('click.bs.dropdown.data-api');if(that.options.liveSearch){that.$searchbox.trigger('focus');return;}}
          if(e.which===keyCodes.ESCAPE&&isActive){e.preventDefault();that.$button.trigger('click.bs.dropdown.data-api').trigger('focus');}
          if(isArrowKey){if(!$items.length)return;liActive=that.selectpicker.main.elements[that.activeIndex];index=liActive?Array.prototype.indexOf.call(liActive.parentElement.children,liActive):-1;if(index!==-1){that.defocusItem(liActive);}
          if(e.which===keyCodes.ARROW_UP){if(index!==-1)index--;if(index+position0<0)index+=$items.length;if(!that.selectpicker.view.canHighlight[index+position0]){index=that.selectpicker.view.canHighlight.slice(0,index+position0).lastIndexOf(true)-position0;if(index===-1)index=$items.length-1;}}else if(e.which===keyCodes.ARROW_DOWN||downOnTab){index++;if(index+position0>=that.selectpicker.view.canHighlight.length)index=0;if(!that.selectpicker.view.canHighlight[index+position0]){index=index+1+that.selectpicker.view.canHighlight.slice(index+position0+1).indexOf(true);}}
          e.preventDefault();var liActiveIndex=position0+index;if(e.which===keyCodes.ARROW_UP){if(position0===0&&index===$items.length-1){that.$menuInner[0].scrollTop=that.$menuInner[0].scrollHeight;liActiveIndex=that.selectpicker.current.elements.length-1;}else{activeLi=that.selectpicker.current.data[liActiveIndex];offset=activeLi.position-activeLi.height;updateScroll=offset<scrollTop;}}else if(e.which===keyCodes.ARROW_DOWN||downOnTab){if(index===0){that.$menuInner[0].scrollTop=0;liActiveIndex=0;}else{activeLi=that.selectpicker.current.data[liActiveIndex];offset=activeLi.position-that.sizeInfo.menuInnerHeight;updateScroll=offset>scrollTop;}}
          liActive=that.selectpicker.current.elements[liActiveIndex];that.activeIndex=that.selectpicker.current.data[liActiveIndex].index;that.focusItem(liActive);that.selectpicker.view.currentActive=liActive;if(updateScroll)that.$menuInner[0].scrollTop=offset;if(that.options.liveSearch){that.$searchbox.trigger('focus');}else{$this.trigger('focus');}}else if((!$this.is('input')&&!REGEXP_TAB_OR_ESCAPE.test(e.which))||(e.which===keyCodes.SPACE&&that.selectpicker.keydown.keyHistory)){var searchMatch,matches=[],keyHistory;e.preventDefault();that.selectpicker.keydown.keyHistory+=keyCodeMap[e.which];if(that.selectpicker.keydown.resetKeyHistory.cancel)clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);that.selectpicker.keydown.resetKeyHistory.cancel=that.selectpicker.keydown.resetKeyHistory.start();keyHistory=that.selectpicker.keydown.keyHistory;if(/^(.)\1+$/.test(keyHistory)){keyHistory=keyHistory.charAt(0);}
          for(var i=0;i<that.selectpicker.current.data.length;i++){var li=that.selectpicker.current.data[i],hasMatch;hasMatch=stringSearch(li,keyHistory,'startsWith',true);if(hasMatch&&that.selectpicker.view.canHighlight[i]){matches.push(li.index);}}
          if(matches.length){var matchIndex=0;$items.removeClass('active').find('a').removeClass('active');if(keyHistory.length===1){matchIndex=matches.indexOf(that.activeIndex);if(matchIndex===-1||matchIndex===matches.length-1){matchIndex=0;}else{matchIndex++;}}
          searchMatch=matches[matchIndex];activeLi=that.selectpicker.main.data[searchMatch];if(scrollTop-activeLi.position>0){offset=activeLi.position-activeLi.height;updateScroll=true;}else{offset=activeLi.position-that.sizeInfo.menuInnerHeight;updateScroll=activeLi.position>scrollTop+that.sizeInfo.menuInnerHeight;}
          liActive=that.selectpicker.main.elements[searchMatch];that.activeIndex=matches[matchIndex];that.focusItem(liActive);if(liActive)liActive.firstChild.focus();if(updateScroll)that.$menuInner[0].scrollTop=offset;$this.trigger('focus');}}
          if(isActive&&((e.which===keyCodes.SPACE&&!that.selectpicker.keydown.keyHistory)||e.which===keyCodes.ENTER||(e.which===keyCodes.TAB&&that.options.selectOnTab))){if(e.which!==keyCodes.SPACE)e.preventDefault();if(!that.options.liveSearch||e.which!==keyCodes.SPACE){that.$menuInner.find('.active a').trigger('click',true);$this.trigger('focus');if(!that.options.liveSearch){e.preventDefault();$(document).data('spaceSelect',true);}}}},mobile:function(){this.$element[0].classList.add('mobile-device');},refresh:function(){var config=$.extend({},this.options,this.$element.data());this.options=config;this.checkDisabled();this.setStyle();this.render();this.buildData();this.buildList();this.setWidth();this.setSize(true);this.$element.trigger('refreshed'+EVENT_KEY);},hide:function(){this.$newElement.hide();},show:function(){this.$newElement.show();},remove:function(){this.$newElement.remove();this.$element.remove();},destroy:function(){this.$newElement.before(this.$element).remove();if(this.$bsContainer){this.$bsContainer.remove();}else{this.$menu.remove();}
          this.$element.off(EVENT_KEY).removeData('selectpicker').removeClass('bs-select-hidden selectpicker');$(window).off(EVENT_KEY+'.'+this.selectId);}};function Plugin(option){var args=arguments;var _option=option;[].shift.apply(args);if(!version.success){try{version.full=($.fn.dropdown.Constructor.VERSION||'').split(' ')[0].split('.');}catch(err){if(Selectpicker.BootstrapVersion){version.full=Selectpicker.BootstrapVersion.split(' ')[0].split('.');}else{version.full=[version.major,'0','0'];console.warn('There was an issue retrieving Bootstrap\'s version. '+'Ensure Bootstrap is being loaded before bootstrap-select and there is no namespace collision. '+'If loading Bootstrap asynchronously, the version may need to be manually specified via $.fn.selectpicker.Constructor.BootstrapVersion.',err);}}
          version.major=version.full[0];version.success=true;}
          if(version.major==='4'){var toUpdate=[];if(Selectpicker.DEFAULTS.style===classNames.BUTTONCLASS)toUpdate.push({name:'style',className:'BUTTONCLASS'});if(Selectpicker.DEFAULTS.iconBase===classNames.ICONBASE)toUpdate.push({name:'iconBase',className:'ICONBASE'});if(Selectpicker.DEFAULTS.tickIcon===classNames.TICKICON)toUpdate.push({name:'tickIcon',className:'TICKICON'});classNames.DIVIDER='dropdown-divider';classNames.SHOW='show';classNames.BUTTONCLASS='btn-light';classNames.POPOVERHEADER='popover-header';classNames.ICONBASE='';classNames.TICKICON='bs-ok-default';for(var i=0;i<toUpdate.length;i++){var option=toUpdate[i];Selectpicker.DEFAULTS[option.name]=classNames[option.className];}}
          var value;var chain=this.each(function(){var $this=$(this);if($this.is('select')){var data=$this.data('selectpicker'),options=typeof _option=='object'&&_option;if(!data){var dataAttributes=$this.data();for(var dataAttr in dataAttributes){if(dataAttributes.hasOwnProperty(dataAttr)&&$.inArray(dataAttr,DISALLOWED_ATTRIBUTES)!==-1){delete dataAttributes[dataAttr];}}
          var config=$.extend({},Selectpicker.DEFAULTS,$.fn.selectpicker.defaults||{},dataAttributes,options);config.template=$.extend({},Selectpicker.DEFAULTS.template,($.fn.selectpicker.defaults?$.fn.selectpicker.defaults.template:{}),dataAttributes.template,options.template);$this.data('selectpicker',(data=new Selectpicker(this,config)));}else if(options){for(var i in options){if(options.hasOwnProperty(i)){data.options[i]=options[i];}}}
          if(typeof _option=='string'){if(data[_option]instanceof Function){value=data[_option].apply(data,args);}else{value=data.options[_option];}}}});if(typeof value!=='undefined'){return value;}else{return chain;}}
          var old=$.fn.selectpicker;$.fn.selectpicker=Plugin;$.fn.selectpicker.Constructor=Selectpicker;$.fn.selectpicker.noConflict=function(){$.fn.selectpicker=old;return this;};var bootstrapKeydown=$.fn.dropdown.Constructor._dataApiKeydownHandler||$.fn.dropdown.Constructor.prototype.keydown;$(document).off('keydown.bs.dropdown.data-api').on('keydown.bs.dropdown.data-api',':not(.bootstrap-select) > [data-toggle="dropdown"]',bootstrapKeydown).on('keydown.bs.dropdown.data-api',':not(.bootstrap-select) > .dropdown-menu',bootstrapKeydown).on('keydown'+EVENT_KEY,'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',Selectpicker.prototype.keydown).on('focusin.modal','.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',function(e){e.stopPropagation();});$(window).on('load'+EVENT_KEY+'.data-api',function(){$('.selectpicker').each(function(){var $selectpicker=$(this);Plugin.call($selectpicker,$selectpicker.data());})});})(jQuery);}));"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};var windowIsDefined=(typeof window==="undefined"?"undefined":_typeof(window))==="object";(function(factory){if(typeof define==="function"&&define.amd){define(["web/sdkweb/static/js/jquery"],factory);}else if((typeof module==="undefined"?"undefined":_typeof(module))==="object"&&module.exports){var jQuery;try{jQuery=require("web/sdkweb/static/js/jquery");}catch(err){jQuery=null;}
          module.exports=factory(jQuery);}else if(window){window.Slider=factory(window.jQuery);}})(function($){var NAMESPACE_MAIN='slider';var NAMESPACE_ALTERNATE='bootstrapSlider';if(windowIsDefined&&!window.console){window.console={};}
          if(windowIsDefined&&!window.console.log){window.console.log=function(){};}
          if(windowIsDefined&&!window.console.warn){window.console.warn=function(){};}
          var Slider;(function($){'use strict';var slice=Array.prototype.slice;function noop(){}
          function defineBridget($){if(!$){return;}
          function addOptionMethod(PluginClass){if(PluginClass.prototype.option){return;}
          PluginClass.prototype.option=function(opts){if(!$.isPlainObject(opts)){return;}
          this.options=$.extend(true,this.options,opts);};}
          var logError=typeof console==='undefined'?noop:function(message){console.error(message);};function bridge(namespace,PluginClass){$.fn[namespace]=function(options){if(typeof options==='string'){var args=slice.call(arguments,1);for(var i=0,len=this.length;i<len;i++){var elem=this[i];var instance=$.data(elem,namespace);if(!instance){logError("cannot call methods on "+namespace+" prior to initialization; "+"attempted to call '"+options+"'");continue;}
          if(!$.isFunction(instance[options])||options.charAt(0)==='_'){logError("no such method '"+options+"' for "+namespace+" instance");continue;}
          var returnValue=instance[options].apply(instance,args);if(returnValue!==undefined&&returnValue!==instance){return returnValue;}}
          return this;}else{var objects=this.map(function(){var instance=$.data(this,namespace);if(instance){instance.option(options);instance._init();}else{instance=new PluginClass(this,options);$.data(this,namespace,instance);}
          return $(this);});if(!objects||objects.length>1){return objects;}else{return objects[0];}}};}
          $.bridget=function(namespace,PluginClass){addOptionMethod(PluginClass);bridge(namespace,PluginClass);};return $.bridget;}
          defineBridget($);})($);(function($){var ErrorMsgs={formatInvalidInputErrorMsg:function formatInvalidInputErrorMsg(input){return"Invalid input value '"+input+"' passed in";},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"};var SliderScale={linear:{toValue:function toValue(percentage){var rawValue=percentage/100*(this.options.max-this.options.min);var shouldAdjustWithBase=true;if(this.options.ticks_positions.length>0){var minv,maxv,minp,maxp=0;for(var i=1;i<this.options.ticks_positions.length;i++){if(percentage<=this.options.ticks_positions[i]){minv=this.options.ticks[i-1];minp=this.options.ticks_positions[i-1];maxv=this.options.ticks[i];maxp=this.options.ticks_positions[i];break;}}
          var partialPercentage=(percentage-minp)/(maxp-minp);rawValue=minv+partialPercentage*(maxv-minv);shouldAdjustWithBase=false;}
          var adjustment=shouldAdjustWithBase?this.options.min:0;var value=adjustment+Math.round(rawValue/this.options.step)*this.options.step;if(value<this.options.min){return this.options.min;}else if(value>this.options.max){return this.options.max;}else{return value;}},toPercentage:function toPercentage(value){if(this.options.max===this.options.min){return 0;}
          if(this.options.ticks_positions.length>0){var minv,maxv,minp,maxp=0;for(var i=0;i<this.options.ticks.length;i++){if(value<=this.options.ticks[i]){minv=i>0?this.options.ticks[i-1]:0;minp=i>0?this.options.ticks_positions[i-1]:0;maxv=this.options.ticks[i];maxp=this.options.ticks_positions[i];break;}}
          if(i>0){var partialPercentage=(value-minv)/(maxv-minv);return minp+partialPercentage*(maxp-minp);}}
          return 100*(value-this.options.min)/(this.options.max-this.options.min);}},logarithmic:{toValue:function toValue(percentage){var min=this.options.min===0?0:Math.log(this.options.min);var max=Math.log(this.options.max);var value=Math.exp(min+(max-min)*percentage/100);value=this.options.min+Math.round((value-this.options.min)/this.options.step)*this.options.step;if(value<this.options.min){return this.options.min;}else if(value>this.options.max){return this.options.max;}else{return value;}},toPercentage:function toPercentage(value){if(this.options.max===this.options.min){return 0;}else{var max=Math.log(this.options.max);var min=this.options.min===0?0:Math.log(this.options.min);var v=value===0?0:Math.log(value);return 100*(v-min)/(max-min);}}}};Slider=function Slider(element,options){createNewSlider.call(this,element,options);return this;};function createNewSlider(element,options){this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:false,over:false};this.ticksCallbackMap={};this.handleCallbackMap={};if(typeof element==="string"){this.element=document.querySelector(element);}else if(element instanceof HTMLElement){this.element=element;}
          options=options?options:{};var optionTypes=Object.keys(this.defaultOptions);for(var i=0;i<optionTypes.length;i++){var optName=optionTypes[i];var val=options[optName];val=typeof val!=='undefined'?val:getDataAttrib(this.element,optName);val=val!==null?val:this.defaultOptions[optName];if(!this.options){this.options={};}
          this.options[optName]=val;}
          if(this.options.rtl==='auto'){this.options.rtl=window.getComputedStyle(this.element).direction==='rtl';}
          if(this.options.orientation==="vertical"&&(this.options.tooltip_position==="top"||this.options.tooltip_position==="bottom")){if(this.options.rtl){this.options.tooltip_position="left";}else{this.options.tooltip_position="right";}}else if(this.options.orientation==="horizontal"&&(this.options.tooltip_position==="left"||this.options.tooltip_position==="right")){this.options.tooltip_position="top";}
          function getDataAttrib(element,optName){var dataName="data-slider-"+optName.replace(/_/g,'-');var dataValString=element.getAttribute(dataName);try{return JSON.parse(dataValString);}catch(err){return dataValString;}}
          var origWidth=this.element.style.width;var updateSlider=false;var parent=this.element.parentNode;var sliderTrackSelection;var sliderTrackLow,sliderTrackHigh;var sliderMinHandle;var sliderMaxHandle;if(this.sliderElem){updateSlider=true;}else{this.sliderElem=document.createElement("div");this.sliderElem.className="slider";var sliderTrack=document.createElement("div");sliderTrack.className="slider-track";sliderTrackLow=document.createElement("div");sliderTrackLow.className="slider-track-low";sliderTrackSelection=document.createElement("div");sliderTrackSelection.className="slider-selection";sliderTrackHigh=document.createElement("div");sliderTrackHigh.className="slider-track-high";sliderMinHandle=document.createElement("div");sliderMinHandle.className="slider-handle min-slider-handle";sliderMinHandle.setAttribute('role','slider');sliderMinHandle.setAttribute('aria-valuemin',this.options.min);sliderMinHandle.setAttribute('aria-valuemax',this.options.max);sliderMaxHandle=document.createElement("div");sliderMaxHandle.className="slider-handle max-slider-handle";sliderMaxHandle.setAttribute('role','slider');sliderMaxHandle.setAttribute('aria-valuemin',this.options.min);sliderMaxHandle.setAttribute('aria-valuemax',this.options.max);sliderTrack.appendChild(sliderTrackLow);sliderTrack.appendChild(sliderTrackSelection);sliderTrack.appendChild(sliderTrackHigh);this.rangeHighlightElements=[];var rangeHighlightsOpts=this.options.rangeHighlights;if(Array.isArray(rangeHighlightsOpts)&&rangeHighlightsOpts.length>0){for(var j=0;j<rangeHighlightsOpts.length;j++){var rangeHighlightElement=document.createElement("div");var customClassString=rangeHighlightsOpts[j].class||"";rangeHighlightElement.className="slider-rangeHighlight slider-selection "+customClassString;this.rangeHighlightElements.push(rangeHighlightElement);sliderTrack.appendChild(rangeHighlightElement);}}
          var isLabelledbyArray=Array.isArray(this.options.labelledby);if(isLabelledbyArray&&this.options.labelledby[0]){sliderMinHandle.setAttribute('aria-labelledby',this.options.labelledby[0]);}
          if(isLabelledbyArray&&this.options.labelledby[1]){sliderMaxHandle.setAttribute('aria-labelledby',this.options.labelledby[1]);}
          if(!isLabelledbyArray&&this.options.labelledby){sliderMinHandle.setAttribute('aria-labelledby',this.options.labelledby);sliderMaxHandle.setAttribute('aria-labelledby',this.options.labelledby);}
          this.ticks=[];if(Array.isArray(this.options.ticks)&&this.options.ticks.length>0){this.ticksContainer=document.createElement('div');this.ticksContainer.className='slider-tick-container';for(i=0;i<this.options.ticks.length;i++){var tick=document.createElement('div');tick.className='slider-tick';if(this.options.ticks_tooltip){var tickListenerReference=this._addTickListener();var enterCallback=tickListenerReference.addMouseEnter(this,tick,i);var leaveCallback=tickListenerReference.addMouseLeave(this,tick);this.ticksCallbackMap[i]={mouseEnter:enterCallback,mouseLeave:leaveCallback};}
          this.ticks.push(tick);this.ticksContainer.appendChild(tick);}
          sliderTrackSelection.className+=" tick-slider-selection";}
          this.tickLabels=[];if(Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0){this.tickLabelContainer=document.createElement('div');this.tickLabelContainer.className='slider-tick-label-container';for(i=0;i<this.options.ticks_labels.length;i++){var label=document.createElement('div');var noTickPositionsSpecified=this.options.ticks_positions.length===0;var tickLabelsIndex=this.options.reversed&&noTickPositionsSpecified?this.options.ticks_labels.length-(i+1):i;label.className='slider-tick-label';label.innerHTML=this.options.ticks_labels[tickLabelsIndex];this.tickLabels.push(label);this.tickLabelContainer.appendChild(label);}}
          var createAndAppendTooltipSubElements=function createAndAppendTooltipSubElements(tooltipElem){var arrow=document.createElement("div");arrow.className="tooltip-arrow";var inner=document.createElement("div");inner.className="tooltip-inner";tooltipElem.appendChild(arrow);tooltipElem.appendChild(inner);};var sliderTooltip=document.createElement("div");sliderTooltip.className="tooltip tooltip-main";sliderTooltip.setAttribute('role','presentation');createAndAppendTooltipSubElements(sliderTooltip);var sliderTooltipMin=document.createElement("div");sliderTooltipMin.className="tooltip tooltip-min";sliderTooltipMin.setAttribute('role','presentation');createAndAppendTooltipSubElements(sliderTooltipMin);var sliderTooltipMax=document.createElement("div");sliderTooltipMax.className="tooltip tooltip-max";sliderTooltipMax.setAttribute('role','presentation');createAndAppendTooltipSubElements(sliderTooltipMax);this.sliderElem.appendChild(sliderTrack);this.sliderElem.appendChild(sliderTooltip);this.sliderElem.appendChild(sliderTooltipMin);this.sliderElem.appendChild(sliderTooltipMax);if(this.tickLabelContainer){this.sliderElem.appendChild(this.tickLabelContainer);}
          if(this.ticksContainer){this.sliderElem.appendChild(this.ticksContainer);}
          this.sliderElem.appendChild(sliderMinHandle);this.sliderElem.appendChild(sliderMaxHandle);parent.insertBefore(this.sliderElem,this.element);this.element.style.display="none";}
          if($){this.$element=$(this.element);this.$sliderElem=$(this.sliderElem);}
          this.eventToCallbackMap={};this.sliderElem.id=this.options.id;this.touchCapable='ontouchstart'in window||window.DocumentTouch&&document instanceof window.DocumentTouch;this.touchX=0;this.touchY=0;this.tooltip=this.sliderElem.querySelector('.tooltip-main');this.tooltipInner=this.tooltip.querySelector('.tooltip-inner');this.tooltip_min=this.sliderElem.querySelector('.tooltip-min');this.tooltipInner_min=this.tooltip_min.querySelector('.tooltip-inner');this.tooltip_max=this.sliderElem.querySelector('.tooltip-max');this.tooltipInner_max=this.tooltip_max.querySelector('.tooltip-inner');if(SliderScale[this.options.scale]){this.options.scale=SliderScale[this.options.scale];}
          if(updateSlider===true){this._removeClass(this.sliderElem,'slider-horizontal');this._removeClass(this.sliderElem,'slider-vertical');this._removeClass(this.sliderElem,'slider-rtl');this._removeClass(this.tooltip,'hide');this._removeClass(this.tooltip_min,'hide');this._removeClass(this.tooltip_max,'hide');["left","right","top","width","height"].forEach(function(prop){this._removeProperty(this.trackLow,prop);this._removeProperty(this.trackSelection,prop);this._removeProperty(this.trackHigh,prop);},this);[this.handle1,this.handle2].forEach(function(handle){this._removeProperty(handle,'left');this._removeProperty(handle,'right');this._removeProperty(handle,'top');},this);[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(tooltip){this._removeProperty(tooltip,'left');this._removeProperty(tooltip,'right');this._removeProperty(tooltip,'top');this._removeProperty(tooltip,'margin-left');this._removeProperty(tooltip,'margin-right');this._removeProperty(tooltip,'margin-top');this._removeClass(tooltip,'right');this._removeClass(tooltip,'left');this._removeClass(tooltip,'top');},this);}
          if(this.options.orientation==='vertical'){this._addClass(this.sliderElem,'slider-vertical');this.stylePos='top';this.mousePos='pageY';this.sizePos='offsetHeight';}else{this._addClass(this.sliderElem,'slider-horizontal');this.sliderElem.style.width=origWidth;this.options.orientation='horizontal';if(this.options.rtl){this.stylePos='right';}else{this.stylePos='left';}
          this.mousePos='pageX';this.sizePos='offsetWidth';}
          if(this.options.rtl){this._addClass(this.sliderElem,'slider-rtl');}
          this._setTooltipPosition();if(Array.isArray(this.options.ticks)&&this.options.ticks.length>0){this.options.max=Math.max.apply(Math,this.options.ticks);this.options.min=Math.min.apply(Math,this.options.ticks);}
          if(Array.isArray(this.options.value)){this.options.range=true;this._state.value=this.options.value;}else if(this.options.range){this._state.value=[this.options.value,this.options.max];}else{this._state.value=this.options.value;}
          this.trackLow=sliderTrackLow||this.trackLow;this.trackSelection=sliderTrackSelection||this.trackSelection;this.trackHigh=sliderTrackHigh||this.trackHigh;if(this.options.selection==='none'){this._addClass(this.trackLow,'hide');this._addClass(this.trackSelection,'hide');this._addClass(this.trackHigh,'hide');}else if(this.options.selection==='after'||this.options.selection==='before'){this._removeClass(this.trackLow,'hide');this._removeClass(this.trackSelection,'hide');this._removeClass(this.trackHigh,'hide');}
          this.handle1=sliderMinHandle||this.handle1;this.handle2=sliderMaxHandle||this.handle2;if(updateSlider===true){this._removeClass(this.handle1,'round triangle');this._removeClass(this.handle2,'round triangle hide');for(i=0;i<this.ticks.length;i++){this._removeClass(this.ticks[i],'round triangle hide');}}
          var availableHandleModifiers=['round','triangle','custom'];var isValidHandleType=availableHandleModifiers.indexOf(this.options.handle)!==-1;if(isValidHandleType){this._addClass(this.handle1,this.options.handle);this._addClass(this.handle2,this.options.handle);for(i=0;i<this.ticks.length;i++){this._addClass(this.ticks[i],this.options.handle);}}
          this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];this.setValue(this._state.value);this.handle1Keydown=this._keydown.bind(this,0);this.handle1.addEventListener("keydown",this.handle1Keydown,false);this.handle2Keydown=this._keydown.bind(this,1);this.handle2.addEventListener("keydown",this.handle2Keydown,false);this.mousedown=this._mousedown.bind(this);this.touchstart=this._touchstart.bind(this);this.touchmove=this._touchmove.bind(this);if(this.touchCapable){var supportsPassive=false;try{var opts=Object.defineProperty({},'passive',{get:function get(){supportsPassive=true;}});window.addEventListener("test",null,opts);}catch(e){}
          var eventOptions=supportsPassive?{passive:true}:false;this.sliderElem.addEventListener("touchstart",this.touchstart,eventOptions);this.sliderElem.addEventListener("touchmove",this.touchmove,eventOptions);}
          this.sliderElem.addEventListener("mousedown",this.mousedown,false);this.resize=this._resize.bind(this);window.addEventListener("resize",this.resize,false);if(this.options.tooltip==='hide'){this._addClass(this.tooltip,'hide');this._addClass(this.tooltip_min,'hide');this._addClass(this.tooltip_max,'hide');}else if(this.options.tooltip==='always'){this._showTooltip();this._alwaysShowTooltip=true;}else{this.showTooltip=this._showTooltip.bind(this);this.hideTooltip=this._hideTooltip.bind(this);if(this.options.ticks_tooltip){var callbackHandle=this._addTickListener();var mouseEnter=callbackHandle.addMouseEnter(this,this.handle1);var mouseLeave=callbackHandle.addMouseLeave(this,this.handle1);this.handleCallbackMap.handle1={mouseEnter:mouseEnter,mouseLeave:mouseLeave};mouseEnter=callbackHandle.addMouseEnter(this,this.handle2);mouseLeave=callbackHandle.addMouseLeave(this,this.handle2);this.handleCallbackMap.handle2={mouseEnter:mouseEnter,mouseLeave:mouseLeave};}else{this.sliderElem.addEventListener("mouseenter",this.showTooltip,false);this.sliderElem.addEventListener("mouseleave",this.hideTooltip,false);}
          this.handle1.addEventListener("focus",this.showTooltip,false);this.handle1.addEventListener("blur",this.hideTooltip,false);this.handle2.addEventListener("focus",this.showTooltip,false);this.handle2.addEventListener("blur",this.hideTooltip,false);}
          if(this.options.enabled){this.enable();}else{this.disable();}}
          Slider.prototype={_init:function _init(){},constructor:Slider,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:'horizontal',value:5,range:false,selection:'before',tooltip:'show',tooltip_split:false,handle:'round',reversed:false,rtl:'auto',enabled:true,formatter:function formatter(val){if(Array.isArray(val)){return val[0]+" : "+val[1];}else{return val;}},natural_arrow_keys:false,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,ticks_tooltip:false,scale:'linear',focus:false,tooltip_position:null,labelledby:null,rangeHighlights:[]},getElement:function getElement(){return this.sliderElem;},getValue:function getValue(){if(this.options.range){return this._state.value;}else{return this._state.value[0];}},setValue:function setValue(val,triggerSlideEvent,triggerChangeEvent){if(!val){val=0;}
          var oldValue=this.getValue();this._state.value=this._validateInputValue(val);var applyPrecision=this._applyPrecision.bind(this);if(this.options.range){this._state.value[0]=applyPrecision(this._state.value[0]);this._state.value[1]=applyPrecision(this._state.value[1]);this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0]));this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]));}else{this._state.value=applyPrecision(this._state.value);this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))];this._addClass(this.handle2,'hide');if(this.options.selection==='after'){this._state.value[1]=this.options.max;}else{this._state.value[1]=this.options.min;}}
          if(this.options.max>this.options.min){this._state.percentage=[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),this.options.step*100/(this.options.max-this.options.min)];}else{this._state.percentage=[0,0,100];}
          this._layout();var newValue=this.options.range?this._state.value:this._state.value[0];this._setDataVal(newValue);if(triggerSlideEvent===true){this._trigger('slide',newValue);}
          if(oldValue!==newValue&&triggerChangeEvent===true){this._trigger('change',{oldValue:oldValue,newValue:newValue});}
          return this;},destroy:function destroy(){this._removeSliderEventHandlers();this.sliderElem.parentNode.removeChild(this.sliderElem);this.element.style.display="";this._cleanUpEventCallbacksMap();this.element.removeAttribute("data");if($){this._unbindJQueryEventHandlers();this.$element.removeData('slider');}},disable:function disable(){this._state.enabled=false;this.handle1.removeAttribute("tabindex");this.handle2.removeAttribute("tabindex");this._addClass(this.sliderElem,'slider-disabled');this._trigger('slideDisabled');return this;},enable:function enable(){this._state.enabled=true;this.handle1.setAttribute("tabindex",0);this.handle2.setAttribute("tabindex",0);this._removeClass(this.sliderElem,'slider-disabled');this._trigger('slideEnabled');return this;},toggle:function toggle(){if(this._state.enabled){this.disable();}else{this.enable();}
          return this;},isEnabled:function isEnabled(){return this._state.enabled;},on:function on(evt,callback){this._bindNonQueryEventHandler(evt,callback);return this;},off:function off(evt,callback){if($){this.$element.off(evt,callback);this.$sliderElem.off(evt,callback);}else{this._unbindNonQueryEventHandler(evt,callback);}},getAttribute:function getAttribute(attribute){if(attribute){return this.options[attribute];}else{return this.options;}},setAttribute:function setAttribute(attribute,value){this.options[attribute]=value;return this;},refresh:function refresh(){this._removeSliderEventHandlers();createNewSlider.call(this,this.element,this.options);if($){$.data(this.element,'slider',this);}
          return this;},relayout:function relayout(){this._resize();this._layout();return this;},_removeSliderEventHandlers:function _removeSliderEventHandlers(){this.handle1.removeEventListener("keydown",this.handle1Keydown,false);this.handle2.removeEventListener("keydown",this.handle2Keydown,false);if(this.options.ticks_tooltip){var ticks=this.ticksContainer.getElementsByClassName('slider-tick');for(var i=0;i<ticks.length;i++){ticks[i].removeEventListener('mouseenter',this.ticksCallbackMap[i].mouseEnter,false);ticks[i].removeEventListener('mouseleave',this.ticksCallbackMap[i].mouseLeave,false);}
          this.handle1.removeEventListener('mouseenter',this.handleCallbackMap.handle1.mouseEnter,false);this.handle2.removeEventListener('mouseenter',this.handleCallbackMap.handle2.mouseEnter,false);this.handle1.removeEventListener('mouseleave',this.handleCallbackMap.handle1.mouseLeave,false);this.handle2.removeEventListener('mouseleave',this.handleCallbackMap.handle2.mouseLeave,false);}
          this.handleCallbackMap=null;this.ticksCallbackMap=null;if(this.showTooltip){this.handle1.removeEventListener("focus",this.showTooltip,false);this.handle2.removeEventListener("focus",this.showTooltip,false);}
          if(this.hideTooltip){this.handle1.removeEventListener("blur",this.hideTooltip,false);this.handle2.removeEventListener("blur",this.hideTooltip,false);}
          if(this.showTooltip){this.sliderElem.removeEventListener("mouseenter",this.showTooltip,false);}
          if(this.hideTooltip){this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,false);}
          this.sliderElem.removeEventListener("touchstart",this.touchstart,false);this.sliderElem.removeEventListener("touchmove",this.touchmove,false);this.sliderElem.removeEventListener("mousedown",this.mousedown,false);window.removeEventListener("resize",this.resize,false);},_bindNonQueryEventHandler:function _bindNonQueryEventHandler(evt,callback){if(this.eventToCallbackMap[evt]===undefined){this.eventToCallbackMap[evt]=[];}
          this.eventToCallbackMap[evt].push(callback);},_unbindNonQueryEventHandler:function _unbindNonQueryEventHandler(evt,callback){var callbacks=this.eventToCallbackMap[evt];if(callbacks!==undefined){for(var i=0;i<callbacks.length;i++){if(callbacks[i]===callback){callbacks.splice(i,1);break;}}}},_cleanUpEventCallbacksMap:function _cleanUpEventCallbacksMap(){var eventNames=Object.keys(this.eventToCallbackMap);for(var i=0;i<eventNames.length;i++){var eventName=eventNames[i];delete this.eventToCallbackMap[eventName];}},_showTooltip:function _showTooltip(){if(this.options.tooltip_split===false){this._addClass(this.tooltip,'in');this.tooltip_min.style.display='none';this.tooltip_max.style.display='none';}else{this._addClass(this.tooltip_min,'in');this._addClass(this.tooltip_max,'in');this.tooltip.style.display='none';}
          this._state.over=true;},_hideTooltip:function _hideTooltip(){if(this._state.inDrag===false&&this.alwaysShowTooltip!==true){this._removeClass(this.tooltip,'in');this._removeClass(this.tooltip_min,'in');this._removeClass(this.tooltip_max,'in');}
          this._state.over=false;},_setToolTipOnMouseOver:function _setToolTipOnMouseOver(tempState){var formattedTooltipVal=this.options.formatter(!tempState?this._state.value[0]:tempState.value[0]);var positionPercentages=!tempState?getPositionPercentages(this._state,this.options.reversed):getPositionPercentages(tempState,this.options.reversed);this._setText(this.tooltipInner,formattedTooltipVal);this.tooltip.style[this.stylePos]=positionPercentages[0]+"%";if(this.options.orientation==='vertical'){this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetHeight/2+"px");}else{this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetWidth/2+"px");}
          function getPositionPercentages(state,reversed){if(reversed){return[100-state.percentage[0],this.options.range?100-state.percentage[1]:state.percentage[1]];}
          return[state.percentage[0],state.percentage[1]];}},_addTickListener:function _addTickListener(){return{addMouseEnter:function addMouseEnter(reference,tick,index){var enter=function enter(){var tempState=reference._state;var idString=index>=0?index:this.attributes['aria-valuenow'].value;var hoverIndex=parseInt(idString,10);tempState.value[0]=hoverIndex;tempState.percentage[0]=reference.options.ticks_positions[hoverIndex];reference._setToolTipOnMouseOver(tempState);reference._showTooltip();};tick.addEventListener("mouseenter",enter,false);return enter;},addMouseLeave:function addMouseLeave(reference,tick){var leave=function leave(){reference._hideTooltip();};tick.addEventListener("mouseleave",leave,false);return leave;}};},_layout:function _layout(){var positionPercentages;if(this.options.reversed){positionPercentages=[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]];}else{positionPercentages=[this._state.percentage[0],this._state.percentage[1]];}
          this.handle1.style[this.stylePos]=positionPercentages[0]+"%";this.handle1.setAttribute('aria-valuenow',this._state.value[0]);if(isNaN(this.options.formatter(this._state.value[0]))){this.handle1.setAttribute('aria-valuetext',this.options.formatter(this._state.value[0]));}
          this.handle2.style[this.stylePos]=positionPercentages[1]+"%";this.handle2.setAttribute('aria-valuenow',this._state.value[1]);if(isNaN(this.options.formatter(this._state.value[1]))){this.handle2.setAttribute('aria-valuetext',this.options.formatter(this._state.value[1]));}
          if(this.rangeHighlightElements.length>0&&Array.isArray(this.options.rangeHighlights)&&this.options.rangeHighlights.length>0){for(var _i=0;_i<this.options.rangeHighlights.length;_i++){var startPercent=this._toPercentage(this.options.rangeHighlights[_i].start);var endPercent=this._toPercentage(this.options.rangeHighlights[_i].end);if(this.options.reversed){var sp=100-endPercent;endPercent=100-startPercent;startPercent=sp;}
          var currentRange=this._createHighlightRange(startPercent,endPercent);if(currentRange){if(this.options.orientation==='vertical'){this.rangeHighlightElements[_i].style.top=currentRange.start+"%";this.rangeHighlightElements[_i].style.height=currentRange.size+"%";}else{if(this.options.rtl){this.rangeHighlightElements[_i].style.right=currentRange.start+"%";}else{this.rangeHighlightElements[_i].style.left=currentRange.start+"%";}
          this.rangeHighlightElements[_i].style.width=currentRange.size+"%";}}else{this.rangeHighlightElements[_i].style.display="none";}}}
          if(Array.isArray(this.options.ticks)&&this.options.ticks.length>0){var styleSize=this.options.orientation==='vertical'?'height':'width';var styleMargin;if(this.options.orientation==='vertical'){styleMargin='marginTop';}else{if(this.options.rtl){styleMargin='marginRight';}else{styleMargin='marginLeft';}}
          var labelSize=this._state.size/(this.options.ticks.length-1);if(this.tickLabelContainer){var extraMargin=0;if(this.options.ticks_positions.length===0){if(this.options.orientation!=='vertical'){this.tickLabelContainer.style[styleMargin]=-labelSize/2+"px";}
          extraMargin=this.tickLabelContainer.offsetHeight;}else{for(i=0;i<this.tickLabelContainer.childNodes.length;i++){if(this.tickLabelContainer.childNodes[i].offsetHeight>extraMargin){extraMargin=this.tickLabelContainer.childNodes[i].offsetHeight;}}}
          if(this.options.orientation==='horizontal'){this.sliderElem.style.marginBottom=extraMargin+"px";}}
          for(var i=0;i<this.options.ticks.length;i++){var percentage=this.options.ticks_positions[i]||this._toPercentage(this.options.ticks[i]);if(this.options.reversed){percentage=100-percentage;}
          this.ticks[i].style[this.stylePos]=percentage+"%";this._removeClass(this.ticks[i],'in-selection');if(!this.options.range){if(this.options.selection==='after'&&percentage>=positionPercentages[0]){this._addClass(this.ticks[i],'in-selection');}else if(this.options.selection==='before'&&percentage<=positionPercentages[0]){this._addClass(this.ticks[i],'in-selection');}}else if(percentage>=positionPercentages[0]&&percentage<=positionPercentages[1]){this._addClass(this.ticks[i],'in-selection');}
          if(this.tickLabels[i]){this.tickLabels[i].style[styleSize]=labelSize+"px";if(this.options.orientation!=='vertical'&&this.options.ticks_positions[i]!==undefined){this.tickLabels[i].style.position='absolute';this.tickLabels[i].style[this.stylePos]=percentage+"%";this.tickLabels[i].style[styleMargin]=-labelSize/2+'px';}else if(this.options.orientation==='vertical'){if(this.options.rtl){this.tickLabels[i].style['marginRight']=this.sliderElem.offsetWidth+"px";}else{this.tickLabels[i].style['marginLeft']=this.sliderElem.offsetWidth+"px";}
          this.tickLabelContainer.style[styleMargin]=this.sliderElem.offsetWidth/2*-1+'px';}}}}
          var formattedTooltipVal;if(this.options.range){formattedTooltipVal=this.options.formatter(this._state.value);this._setText(this.tooltipInner,formattedTooltipVal);this.tooltip.style[this.stylePos]=(positionPercentages[1]+positionPercentages[0])/2+"%";if(this.options.orientation==='vertical'){this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetHeight/2+"px");}else{this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetWidth/2+"px");}
          var innerTooltipMinText=this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner_min,innerTooltipMinText);var innerTooltipMaxText=this.options.formatter(this._state.value[1]);this._setText(this.tooltipInner_max,innerTooltipMaxText);this.tooltip_min.style[this.stylePos]=positionPercentages[0]+"%";if(this.options.orientation==='vertical'){this._css(this.tooltip_min,"margin-"+this.stylePos,-this.tooltip_min.offsetHeight/2+"px");}else{this._css(this.tooltip_min,"margin-"+this.stylePos,-this.tooltip_min.offsetWidth/2+"px");}
          this.tooltip_max.style[this.stylePos]=positionPercentages[1]+"%";if(this.options.orientation==='vertical'){this._css(this.tooltip_max,"margin-"+this.stylePos,-this.tooltip_max.offsetHeight/2+"px");}else{this._css(this.tooltip_max,"margin-"+this.stylePos,-this.tooltip_max.offsetWidth/2+"px");}}else{formattedTooltipVal=this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner,formattedTooltipVal);this.tooltip.style[this.stylePos]=positionPercentages[0]+"%";if(this.options.orientation==='vertical'){this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetHeight/2+"px");}else{this._css(this.tooltip,"margin-"+this.stylePos,-this.tooltip.offsetWidth/2+"px");}}
          if(this.options.orientation==='vertical'){this.trackLow.style.top='0';this.trackLow.style.height=Math.min(positionPercentages[0],positionPercentages[1])+'%';this.trackSelection.style.top=Math.min(positionPercentages[0],positionPercentages[1])+'%';this.trackSelection.style.height=Math.abs(positionPercentages[0]-positionPercentages[1])+'%';this.trackHigh.style.bottom='0';this.trackHigh.style.height=100-Math.min(positionPercentages[0],positionPercentages[1])-Math.abs(positionPercentages[0]-positionPercentages[1])+'%';}else{if(this.stylePos==='right'){this.trackLow.style.right='0';}else{this.trackLow.style.left='0';}
          this.trackLow.style.width=Math.min(positionPercentages[0],positionPercentages[1])+'%';if(this.stylePos==='right'){this.trackSelection.style.right=Math.min(positionPercentages[0],positionPercentages[1])+'%';}else{this.trackSelection.style.left=Math.min(positionPercentages[0],positionPercentages[1])+'%';}
          this.trackSelection.style.width=Math.abs(positionPercentages[0]-positionPercentages[1])+'%';if(this.stylePos==='right'){this.trackHigh.style.left='0';}else{this.trackHigh.style.right='0';}
          this.trackHigh.style.width=100-Math.min(positionPercentages[0],positionPercentages[1])-Math.abs(positionPercentages[0]-positionPercentages[1])+'%';var offset_min=this.tooltip_min.getBoundingClientRect();var offset_max=this.tooltip_max.getBoundingClientRect();if(this.options.tooltip_position==='bottom'){if(offset_min.right>offset_max.left){this._removeClass(this.tooltip_max,'bottom');this._addClass(this.tooltip_max,'top');this.tooltip_max.style.top='';this.tooltip_max.style.bottom=22+'px';}else{this._removeClass(this.tooltip_max,'top');this._addClass(this.tooltip_max,'bottom');this.tooltip_max.style.top=this.tooltip_min.style.top;this.tooltip_max.style.bottom='';}}else{if(offset_min.right>offset_max.left){this._removeClass(this.tooltip_max,'top');this._addClass(this.tooltip_max,'bottom');this.tooltip_max.style.top=18+'px';}else{this._removeClass(this.tooltip_max,'bottom');this._addClass(this.tooltip_max,'top');this.tooltip_max.style.top=this.tooltip_min.style.top;}}}},_createHighlightRange:function _createHighlightRange(start,end){if(this._isHighlightRange(start,end)){if(start>end){return{'start':end,'size':start-end};}
          return{'start':start,'size':end-start};}
          return null;},_isHighlightRange:function _isHighlightRange(start,end){if(0<=start&&start<=100&&0<=end&&end<=100){return true;}else{return false;}},_resize:function _resize(ev){this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];this._layout();},_removeProperty:function _removeProperty(element,prop){if(element.style.removeProperty){element.style.removeProperty(prop);}else{element.style.removeAttribute(prop);}},_mousedown:function _mousedown(ev){if(!this._state.enabled){return false;}
          this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];var percentage=this._getPercentage(ev);if(this.options.range){var diff1=Math.abs(this._state.percentage[0]-percentage);var diff2=Math.abs(this._state.percentage[1]-percentage);this._state.dragged=diff1<diff2?0:1;this._adjustPercentageForRangeSliders(percentage);}else{this._state.dragged=0;}
          this._state.percentage[this._state.dragged]=percentage;this._layout();if(this.touchCapable){document.removeEventListener("touchmove",this.mousemove,false);document.removeEventListener("touchend",this.mouseup,false);}
          if(this.mousemove){document.removeEventListener("mousemove",this.mousemove,false);}
          if(this.mouseup){document.removeEventListener("mouseup",this.mouseup,false);}
          this.mousemove=this._mousemove.bind(this);this.mouseup=this._mouseup.bind(this);if(this.touchCapable){document.addEventListener("touchmove",this.mousemove,false);document.addEventListener("touchend",this.mouseup,false);}
          document.addEventListener("mousemove",this.mousemove,false);document.addEventListener("mouseup",this.mouseup,false);this._state.inDrag=true;var newValue=this._calculateValue();this._trigger('slideStart',newValue);this._setDataVal(newValue);this.setValue(newValue,false,true);ev.returnValue=false;if(this.options.focus){this._triggerFocusOnHandle(this._state.dragged);}
          return true;},_touchstart:function _touchstart(ev){if(ev.changedTouches===undefined){this._mousedown(ev);return;}
          var touch=ev.changedTouches[0];this.touchX=touch.pageX;this.touchY=touch.pageY;},_triggerFocusOnHandle:function _triggerFocusOnHandle(handleIdx){if(handleIdx===0){this.handle1.focus();}
          if(handleIdx===1){this.handle2.focus();}},_keydown:function _keydown(handleIdx,ev){if(!this._state.enabled){return false;}
          var dir;switch(ev.keyCode){case 37:case 40:dir=-1;break;case 39:case 38:dir=1;break;}
          if(!dir){return;}
          if(this.options.natural_arrow_keys){var ifVerticalAndNotReversed=this.options.orientation==='vertical'&&!this.options.reversed;var ifHorizontalAndReversed=this.options.orientation==='horizontal'&&this.options.reversed;if(ifVerticalAndNotReversed||ifHorizontalAndReversed){dir=-dir;}}
          var val=this._state.value[handleIdx]+dir*this.options.step;var percentage=val/this.options.max*100;this._state.keyCtrl=handleIdx;if(this.options.range){this._adjustPercentageForRangeSliders(percentage);var val1=!this._state.keyCtrl?val:this._state.value[0];var val2=this._state.keyCtrl?val:this._state.value[1];val=[val1,val2];}
          this._trigger('slideStart',val);this._setDataVal(val);this.setValue(val,true,true);this._setDataVal(val);this._trigger('slideStop',val);this._layout();this._pauseEvent(ev);delete this._state.keyCtrl;return false;},_pauseEvent:function _pauseEvent(ev){if(ev.stopPropagation){ev.stopPropagation();}
          if(ev.preventDefault){ev.preventDefault();}
          ev.cancelBubble=true;ev.returnValue=false;},_mousemove:function _mousemove(ev){if(!this._state.enabled){return false;}
          var percentage=this._getPercentage(ev);this._adjustPercentageForRangeSliders(percentage);this._state.percentage[this._state.dragged]=percentage;this._layout();var val=this._calculateValue(true);this.setValue(val,true,true);return false;},_touchmove:function _touchmove(ev){if(ev.changedTouches===undefined){return;}
          var touch=ev.changedTouches[0];var xDiff=touch.pageX-this.touchX;var yDiff=touch.pageY-this.touchY;if(!this._state.inDrag){if(this.options.orientation==='vertical'&&xDiff<=5&&xDiff>=-5&&(yDiff>=15||yDiff<=-15)){this._mousedown(ev);}
          else if(yDiff<=5&&yDiff>=-5&&(xDiff>=15||xDiff<=-15)){this._mousedown(ev);}}},_adjustPercentageForRangeSliders:function _adjustPercentageForRangeSliders(percentage){if(this.options.range){var precision=this._getNumDigitsAfterDecimalPlace(percentage);precision=precision?precision-1:0;var percentageWithAdjustedPrecision=this._applyToFixedAndParseFloat(percentage,precision);if(this._state.dragged===0&&this._applyToFixedAndParseFloat(this._state.percentage[1],precision)<percentageWithAdjustedPrecision){this._state.percentage[0]=this._state.percentage[1];this._state.dragged=1;}else if(this._state.dragged===1&&this._applyToFixedAndParseFloat(this._state.percentage[0],precision)>percentageWithAdjustedPrecision){this._state.percentage[1]=this._state.percentage[0];this._state.dragged=0;}else if(this._state.keyCtrl===0&&this._state.value[1]/this.options.max*100<percentage){this._state.percentage[0]=this._state.percentage[1];this._state.keyCtrl=1;this.handle2.focus();}else if(this._state.keyCtrl===1&&this._state.value[0]/this.options.max*100>percentage){this._state.percentage[1]=this._state.percentage[0];this._state.keyCtrl=0;this.handle1.focus();}}},_mouseup:function _mouseup(){if(!this._state.enabled){return false;}
          if(this.touchCapable){document.removeEventListener("touchmove",this.mousemove,false);document.removeEventListener("touchend",this.mouseup,false);}
          document.removeEventListener("mousemove",this.mousemove,false);document.removeEventListener("mouseup",this.mouseup,false);this._state.inDrag=false;if(this._state.over===false){this._hideTooltip();}
          var val=this._calculateValue(true);this._layout();this._setDataVal(val);this._trigger('slideStop',val);return false;},_calculateValue:function _calculateValue(snapToClosestTick){var val;if(this.options.range){val=[this.options.min,this.options.max];if(this._state.percentage[0]!==0){val[0]=this._toValue(this._state.percentage[0]);val[0]=this._applyPrecision(val[0]);}
          if(this._state.percentage[1]!==100){val[1]=this._toValue(this._state.percentage[1]);val[1]=this._applyPrecision(val[1]);}}else{val=this._toValue(this._state.percentage[0]);val=parseFloat(val);val=this._applyPrecision(val);}
          if(snapToClosestTick){var min=[val,Infinity];for(var i=0;i<this.options.ticks.length;i++){var diff=Math.abs(this.options.ticks[i]-val);if(diff<=min[1]){min=[this.options.ticks[i],diff];}}
          if(min[1]<=this.options.ticks_snap_bounds){return min[0];}}
          return val;},_applyPrecision:function _applyPrecision(val){var precision=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(val,precision);},_getNumDigitsAfterDecimalPlace:function _getNumDigitsAfterDecimalPlace(num){var match=(''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);if(!match){return 0;}
          return Math.max(0,(match[1]?match[1].length:0)-(match[2]?+match[2]:0));},_applyToFixedAndParseFloat:function _applyToFixedAndParseFloat(num,toFixedInput){var truncatedNum=num.toFixed(toFixedInput);return parseFloat(truncatedNum);},_getPercentage:function _getPercentage(ev){if(this.touchCapable&&(ev.type==='touchstart'||ev.type==='touchmove')){ev=ev.touches[0];}
          var eventPosition=ev[this.mousePos];var sliderOffset=this._state.offset[this.stylePos];var distanceToSlide=eventPosition-sliderOffset;if(this.stylePos==='right'){distanceToSlide=-distanceToSlide;}
          var percentage=distanceToSlide/this._state.size*100;percentage=Math.round(percentage/this._state.percentage[2])*this._state.percentage[2];if(this.options.reversed){percentage=100-percentage;}
          return Math.max(0,Math.min(100,percentage));},_validateInputValue:function _validateInputValue(val){if(!isNaN(+val)){return+val;}else if(Array.isArray(val)){this._validateArray(val);return val;}else{throw new Error(ErrorMsgs.formatInvalidInputErrorMsg(val));}},_validateArray:function _validateArray(val){for(var i=0;i<val.length;i++){var input=val[i];if(typeof input!=='number'){throw new Error(ErrorMsgs.formatInvalidInputErrorMsg(input));}}},_setDataVal:function _setDataVal(val){this.element.setAttribute('data-value',val);this.element.setAttribute('value',val);this.element.value=val;},_trigger:function _trigger(evt,val){val=val||val===0?val:undefined;var callbackFnArray=this.eventToCallbackMap[evt];if(callbackFnArray&&callbackFnArray.length){for(var i=0;i<callbackFnArray.length;i++){var callbackFn=callbackFnArray[i];callbackFn(val);}}
          if($){this._triggerJQueryEvent(evt,val);}},_triggerJQueryEvent:function _triggerJQueryEvent(evt,val){var eventData={type:evt,value:val};this.$element.trigger(eventData);this.$sliderElem.trigger(eventData);},_unbindJQueryEventHandlers:function _unbindJQueryEventHandlers(){this.$element.off();this.$sliderElem.off();},_setText:function _setText(element,text){if(typeof element.textContent!=="undefined"){element.textContent=text;}else if(typeof element.innerText!=="undefined"){element.innerText=text;}},_removeClass:function _removeClass(element,classString){var classes=classString.split(" ");var newClasses=element.className;for(var i=0;i<classes.length;i++){var classTag=classes[i];var regex=new RegExp("(?:\\s|^)"+classTag+"(?:\\s|$)");newClasses=newClasses.replace(regex," ");}
          element.className=newClasses.trim();},_addClass:function _addClass(element,classString){var classes=classString.split(" ");var newClasses=element.className;for(var i=0;i<classes.length;i++){var classTag=classes[i];var regex=new RegExp("(?:\\s|^)"+classTag+"(?:\\s|$)");var ifClassExists=regex.test(newClasses);if(!ifClassExists){newClasses+=" "+classTag;}}
          element.className=newClasses.trim();},_offsetLeft:function _offsetLeft(obj){return obj.getBoundingClientRect().left;},_offsetRight:function _offsetRight(obj){return obj.getBoundingClientRect().right;},_offsetTop:function _offsetTop(obj){var offsetTop=obj.offsetTop;while((obj=obj.offsetParent)&&!isNaN(obj.offsetTop)){offsetTop+=obj.offsetTop;if(obj.tagName!=='BODY'){offsetTop-=obj.scrollTop;}}
          return offsetTop;},_offset:function _offset(obj){return{left:this._offsetLeft(obj),right:this._offsetRight(obj),top:this._offsetTop(obj)};},_css:function _css(elementRef,styleName,value){if($){$.style(elementRef,styleName,value);}else{var style=styleName.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(all,letter){return letter.toUpperCase();});elementRef.style[style]=value;}},_toValue:function _toValue(percentage){return this.options.scale.toValue.apply(this,[percentage]);},_toPercentage:function _toPercentage(value){return this.options.scale.toPercentage.apply(this,[value]);},_setTooltipPosition:function _setTooltipPosition(){var tooltips=[this.tooltip,this.tooltip_min,this.tooltip_max];if(this.options.orientation==='vertical'){var tooltipPos;if(this.options.tooltip_position){tooltipPos=this.options.tooltip_position;}else{if(this.options.rtl){tooltipPos='left';}else{tooltipPos='right';}}
          var oppositeSide=tooltipPos==='left'?'right':'left';tooltips.forEach(function(tooltip){this._addClass(tooltip,tooltipPos);tooltip.style[oppositeSide]='100%';}.bind(this));}else if(this.options.tooltip_position==='bottom'){tooltips.forEach(function(tooltip){this._addClass(tooltip,'bottom');tooltip.style.top=22+'px';}.bind(this));}else{tooltips.forEach(function(tooltip){this._addClass(tooltip,'top');tooltip.style.top=-this.tooltip.outerHeight-14+'px';}.bind(this));}}};if($&&$.fn){var autoRegisterNamespace=void 0;if(!$.fn.slider){$.bridget(NAMESPACE_MAIN,Slider);autoRegisterNamespace=NAMESPACE_MAIN;}else{if(windowIsDefined){window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead.");}
          autoRegisterNamespace=NAMESPACE_ALTERNATE;}
          $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider]")[autoRegisterNamespace]();});}})($);return Slider;});!function(a){"use strict";var b=function(b,c){this.options=a.extend({},a.fn.editableform.defaults,c),this.$div=a(b),this.options.scope||(this.options.scope=this)};b.prototype={constructor:b,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=a(a.fn.editableform.template)},initButtons:function(){var b=this.$form.find(".editable-buttons");b.append(a.fn.editableform.buttons),"bottom"===this.options.showbuttons&&b.addClass("editable-buttons-bottom")},render:function(){this.$loading=a(a.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),a.when(this.input.render()).then(a.proxy(function(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(a.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(a){a.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var b=null===this.value||void 0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(b),this.$form.submit(a.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var a,b;this.$form?(a=this.$form.outerWidth(),b=this.$form.outerHeight(),a&&this.$loading.width(a),b&&this.$loading.height(b),this.$form.hide()):(a=this.$loading.parent().width(),a&&this.$loading.width(a)),this.$loading.show()},showForm:function(a){this.$loading.hide(),this.$form.show(),a!==!1&&this.input.activate(),this.$div.triggerHandler("show")},error:function(b){var c,d=this.$form.find(".control-group"),e=this.$form.find(".editable-error-block");if(b===!1)d.removeClass(a.fn.editableform.errorGroupClass),e.removeClass(a.fn.editableform.errorBlockClass).empty().hide();else{if(b){c=(""+b).split("\n");for(var f=0;f<c.length;f++)c[f]=a("<div>").text(c[f]).html();b=c.join("<br>")}d.addClass(a.fn.editableform.errorGroupClass),e.addClass(a.fn.editableform.errorBlockClass).html(b).show()}},submit:function(b){b.stopPropagation(),b.preventDefault();var c=this.input.input2value(),d=this.validate(c);if("object"===a.type(d)&&void 0!==d.newValue){if(c=d.newValue,this.input.value2input(c),"string"==typeof d.msg)return this.error(d.msg),void this.showForm()}else if(d)return this.error(d),void this.showForm();if(!this.options.savenochange&&this.input.value2str(c)===this.input.value2str(this.value))return void this.$div.triggerHandler("nochange");var e=this.input.value2submit(c);this.isSaving=!0,a.when(this.save(e)).done(a.proxy(function(a){this.isSaving=!1;var b="function"==typeof this.options.success?this.options.success.call(this.options.scope,a,c):null;return b===!1?(this.error(!1),void this.showForm(!1)):"string"==typeof b?(this.error(b),void this.showForm()):(b&&"object"==typeof b&&b.hasOwnProperty("newValue")&&(c=b.newValue),this.error(!1),this.value=c,void this.$div.triggerHandler("save",{newValue:c,submitValue:e,response:a}))},this)).fail(a.proxy(function(a){this.isSaving=!1;var b;b="function"==typeof this.options.error?this.options.error.call(this.options.scope,a,c):"string"==typeof a?a:a.responseText||a.statusText||"Unknown error!",this.error(b),this.showForm()},this))},save:function(b){this.options.pk=a.fn.editableutils.tryParseJson(this.options.pk,!0);var c,d="function"==typeof this.options.pk?this.options.pk.call(this.options.scope):this.options.pk,e=!!("function"==typeof this.options.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!==d&&void 0!==d));return e?(this.showLoading(),c={name:this.options.name||"",value:b,pk:d},"function"==typeof this.options.params?c=this.options.params.call(this.options.scope,c):(this.options.params=a.fn.editableutils.tryParseJson(this.options.params,!0),a.extend(c,this.options.params)),"function"==typeof this.options.url?this.options.url.call(this.options.scope,c):a.ajax(a.extend({url:this.options.url,data:c,type:"POST"},this.options.ajaxOptions))):void 0},validate:function(a){return void 0===a&&(a=this.value),"function"==typeof this.options.validate?this.options.validate.call(this.options.scope,a):void 0},option:function(a,b){a in this.options&&(this.options[a]=b),"value"===a&&this.setValue(b)},setValue:function(a,b){b?this.value=this.input.str2value(a):this.value=a,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},a.fn.editableform=function(c){var d=arguments;return this.each(function(){var e=a(this),f=e.data("editableform"),g="object"==typeof c&&c;f||e.data("editableform",f=new b(this,g)),"string"==typeof c&&f[c].apply(f,Array.prototype.slice.call(d,1))})},a.fn.editableform.Constructor=b,a.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},a.fn.editableform.template='<form class="form-inline editableform"><div class="control-group"><div><div class="editable-input"></div><div class="editable-buttons"></div></div><div class="editable-error-block"></div></div></form>',a.fn.editableform.loading='<div class="editableform-loading"></div>',a.fn.editableform.buttons='<button type="submit" class="editable-submit">ok</button><button type="button" class="editable-cancel">cancel</button>',a.fn.editableform.errorGroupClass=null,a.fn.editableform.errorBlockClass="editable-error",a.fn.editableform.engine="jquery"}(window.jQuery),function(a){"use strict";a.fn.editableutils={inherit:function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a,a.superclass=b.prototype},setCursorPosition:function(a,b){if(a.setSelectionRange)try{a.setSelectionRange(b,b)}catch(c){}else if(a.createTextRange){var d=a.createTextRange();d.collapse(!0),d.moveEnd("character",b),d.moveStart("character",b),d.select()}},tryParseJson:function(a,b){if("string"==typeof a&&a.length&&a.match(/^[\{\[].*[\}\]]$/))if(b)try{a=new Function("return "+a)()}catch(c){}finally{return a}else a=new Function("return "+a)();return a},sliceObj:function(b,c,d){var e,f,g={};if(!a.isArray(c)||!c.length)return g;for(var h=0;h<c.length;h++)e=c[h],b.hasOwnProperty(e)&&(g[e]=b[e]),d!==!0&&(f=e.toLowerCase(),b.hasOwnProperty(f)&&(g[e]=b[f]));return g},getConfigData:function(b){var c={};return a.each(b[0].dataset,function(a,b){("object"!=typeof b||b&&"object"==typeof b&&(b.constructor===Object||b.constructor===Array))&&(c[a]=b)}),c},objectKeys:function(a){if(Object.keys)return Object.keys(a);if(a!==Object(a))throw new TypeError("Object.keys called on a non-object");var b,c=[];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return c},escape:function(b){return a("<div>").text(b).html()},itemsByValue:function(b,c,d){if(!c||null===b)return[];if("function"!=typeof d){var e=d||"value";d=function(a){return a[e]}}var f=a.isArray(b),g=[],h=this;return a.each(c,function(c,e){if(e.children)g=g.concat(h.itemsByValue(b,e.children,d));else if(f)a.grep(b,function(a){return a==(e&&"object"==typeof e?d(e):e)}).length&&g.push(e);else{var i=e&&"object"==typeof e?d(e):e;b==i&&g.push(e)}}),g},createInput:function(b){var c,d,e,f=b.type;return"date"===f&&("inline"===b.mode?a.fn.editabletypes.datefield?f="datefield":a.fn.editabletypes.dateuifield&&(f="dateuifield"):a.fn.editabletypes.date?f="date":a.fn.editabletypes.dateui&&(f="dateui"),"date"!==f||a.fn.editabletypes.date||(f="combodate")),"datetime"===f&&"inline"===b.mode&&(f="datetimefield"),"wysihtml5"!==f||a.fn.editabletypes[f]||(f="textarea"),"function"==typeof a.fn.editabletypes[f]?(c=a.fn.editabletypes[f],d=this.sliceObj(b,this.objectKeys(c.defaults)),e=new c(d)):(a.error("Unknown type: "+f),!1)},supportsTransitions:function(){var a=document.body||document.documentElement,b=a.style,c="transition",d=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var e=0;e<d.length;e++)if("string"==typeof b[d[e]+c])return!0;return!1}}}(window.jQuery),function(a){"use strict";var b=function(a,b){this.init(a,b)},c=function(a,b){this.init(a,b)};b.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container editable-popup",defaults:{},init:function(c,d){this.$element=a(c),this.options=a.extend({},a.fn.editableContainer.defaults,d),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContainer(),this.delayedHide=!1,this.$element.on("destroyed",a.proxy(function(){this.destroy()},this)),a(document).data("editable-handlers-attached")||(a(document).on("keyup.editable",function(b){27===b.which&&a(".editable-open").editableContainer("hide","cancel")}),a(document).on("click.editable",function(c){var d,e=a(c.target),f=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(!a(".select2-drop-mask").is(":visible")&&a.contains(document.documentElement,c.target)&&!e.is(document)){for(d=0;d<f.length;d++)if(e.is(f[d])||e.parents(f[d]).length)return;b.prototype.closeOthers(c.target)}}),a(document).data("editable-handlers-attached",!0))},splitOptions:function(){if(this.containerOptions={},this.formOptions={},!a.fn[this.containerName])throw new Error(this.containerName+" not found. Have you included corresponding js file?");for(var b in this.options)b in this.defaults?this.containerOptions[b]=this.options[b]:this.formOptions[b]=this.options[b]},tip:function(){return this.container()?this.container().$tip:null},container:function(){var a;return this.containerDataName&&(a=this.$element.data(this.containerDataName))?a:a=this.$element.data(this.containerName)},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:a.proxy(this.save,this),nochange:a.proxy(function(){this.hide("nochange")},this),cancel:a.proxy(function(){this.hide("cancel")},this),show:a.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:a.proxy(this.setPosition,this),resize:a.proxy(this.setPosition,this),rendered:a.proxy(function(){this.$element.triggerHandler("shown",a(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(b){this.$element.addClass("editable-open"),b!==!1&&this.closeOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form,this.$form=a("<div>"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip().find(this.innerCss).append(this.$form),this.renderForm()},hide:function(a){if(this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")){if(this.$form.data("editableform").isSaving)return void(this.delayedHide={reason:a});this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",a||"manual")}},innerShow:function(){},innerHide:function(){},toggle:function(a){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(a)},setPosition:function(){},save:function(a,b){this.$element.triggerHandler("save",b),this.hide("save")},option:function(a,b){this.options[a]=b,a in this.containerOptions?(this.containerOptions[a]=b,this.setContainerOption(a,b)):(this.formOptions[a]=b,this.$form&&this.$form.editableform("option",a,b))},setContainerOption:function(a,b){this.call("option",a,b)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(b){a(".editable-open").each(function(c,d){if(d!==b&&!a(d).find(b).length){var e=a(d),f=e.data("editableContainer");f&&("cancel"===f.options.onblur?e.data("editableContainer").hide("onblur"):"submit"===f.options.onblur&&e.data("editableContainer").tip().find("form").submit())}})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},a.fn.editableContainer=function(d){var e=arguments;return this.each(function(){var f=a(this),g="editableContainer",h=f.data(g),i="object"==typeof d&&d,j="inline"===i.mode?c:b;h||f.data(g,h=new j(this,i)),"string"==typeof d&&h[d].apply(h,Array.prototype.slice.call(e,1))})},a.fn.editableContainer.Popup=b,a.fn.editableContainer.Inline=c,a.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(a){a.handler&&a.handler()}}}(window.jQuery),function(a){"use strict";a.extend(a.fn.editableContainer.Inline.prototype,a.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container editable-inline",initContainer:function(){this.$tip=a("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,a.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.editable.defaults,c,a.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!a.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};b.prototype={constructor:b,init:function(){var b,c=!1;if(this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=a.fn.editableutils.createInput(this.options),this.input){switch(void 0===this.options.value||null===this.options.value?(this.value=this.input.html2value(a.trim(this.$element.html())),c=!0):(this.options.value=a.fn.editableutils.tryParseJson(this.options.value,!0),"string"==typeof this.options.value?this.value=this.input.str2value(this.options.value):this.value=this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",a.proxy(function(a){if(this.options.disabled||a.preventDefault(),"mouseenter"===this.options.toggle)this.show();else{var b="click"!==this.options.toggle;this.toggle(b)}},this))):this.$element.attr("tabindex",-1),"function"==typeof this.options.display&&(this.options.autotext="always"),this.options.autotext){case"always":b=!0;break;case"auto":b=!a.trim(this.$element.text()).length&&null!==this.value&&void 0!==this.value&&!c;break;default:b=!1}a.when(b?this.render():!0).then(a.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var b=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",b,a.proxy(function(c){var d=a(c.target).closest(b);d.data("editable")||(d.hasClass(this.options.emptyclass)&&d.empty(),d.editable(this.options).trigger(c))},this))},render:function(a){return this.options.display!==!1?this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,a):"function"==typeof this.options.display?this.options.display.call(this.$element[0],this.value,a):this.input.value2html(this.value,this.$element[0]):void 0},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(b,c){return b&&"object"==typeof b?void a.each(b,a.proxy(function(b,c){this.option(a.trim(b),c)},this)):(this.options[b]=c,"disabled"===b?c?this.disable():this.enable():("value"===b&&this.setValue(c),this.container&&this.container.option(b,c),void(this.input.option&&this.input.option(b,c))))},handleEmpty:function(b){this.options.display!==!1&&(void 0!==b?this.isEmpty=b:"function"==typeof this.input.isEmpty?this.isEmpty=this.input.isEmpty(this.$element):this.isEmpty=""===a.trim(this.$element.html()),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(b){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var c=a.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(c),this.$element.on("save.internal",a.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(b)}},hide:function(){this.container&&this.container.hide()},toggle:function(a){this.container&&this.container.tip().is(":visible")?this.hide():this.show(a)},save:function(a,b){if(this.options.unsavedclass){var c=!1;c=c||"function"==typeof this.options.url,c=c||this.options.display===!1,c=c||void 0!==b.response,c=c||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(b.newValue),c?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)}if(this.options.highlight){var d=this.$element,e=d.css("background-color");d.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===e&&(e=""),d.css("background-color",e),d.addClass("editable-bg-transition"),setTimeout(function(){d.removeClass("editable-bg-transition")},1700)},10)}this.setValue(b.newValue,!1,b.response)},validate:function(){return"function"==typeof this.options.validate?this.options.validate.call(this,this.value):void 0},setValue:function(b,c,d){c?this.value=this.input.str2value(b):this.value=b,this.container&&this.container.option("value",this.value),a.when(this.render(d)).then(a.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable editable-open editable-disabled"),this.$element.removeData("editable")}},a.fn.editable=function(c){var d={},e=arguments,f="editable";switch(c){case"validate":return this.each(function(){var b,c=a(this),e=c.data(f);e&&(b=e.validate())&&(d[e.options.name]=b)}),d;case"getValue":return 2===arguments.length&&arguments[1]===!0?d=this.eq(0).data(f).value:this.each(function(){var b=a(this),c=b.data(f);c&&void 0!==c.value&&null!==c.value&&(d[c.options.name]=c.input.value2submit(c.value))}),d;case"submit":var g=arguments[1]||{},h=this,i=this.editable("validate");if(a.isEmptyObject(i)){var j={};if(1===h.length){var k=h.data("editable"),l={name:k.options.name||"",value:k.input.value2submit(k.value),pk:"function"==typeof k.options.pk?k.options.pk.call(k.options.scope):k.options.pk};"function"==typeof k.options.params?l=k.options.params.call(k.options.scope,l):(k.options.params=a.fn.editableutils.tryParseJson(k.options.params,!0),a.extend(l,k.options.params)),j={url:k.options.url,data:l,type:"POST"},g.success=g.success||k.options.success,g.error=g.error||k.options.error}else{var m=this.editable("getValue");j={url:g.url,data:m,type:"POST"}}j.success="function"==typeof g.success?function(a){g.success.call(h,a,g)}:a.noop,j.error="function"==typeof g.error?function(){g.error.apply(h,arguments)}:a.noop,g.ajaxOptions&&a.extend(j,g.ajaxOptions),g.data&&a.extend(j.data,g.data),a.ajax(j)}else"function"==typeof g.error&&g.error.call(h,i);return this}return this.each(function(){var d=a(this),g=d.data(f),h="object"==typeof c&&c;return h&&h.selector?void(g=new b(this,h)):(g||d.data(f,g=new b(this,h)),void("string"==typeof c&&g[c].apply(g,Array.prototype.slice.call(e,1))))})},a.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(a){"use strict";a.fn.editabletypes={};var b=function(){};b.prototype={init:function(b,c,d){this.type=b,this.options=a.extend({},d,c)},prerender:function(){this.$tpl=a(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(b,c){a(c)[this.options.escape?"text":"html"](a.trim(b))},html2value:function(b){return a("<div>").html(b).text()},value2str:function(a){return String(a)},str2value:function(a){return a},value2submit:function(a){return a},value2input:function(a){this.$input.val(a)},input2value:function(){return this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(b){return a("<div>").text(b).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(a){void 0!==this.options[a]&&null!==this.options[a]&&this.$input.attr(a,this.options[a])},option:function(a,b){this.options[a]=b}},b.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},a.extend(a.fn.editabletypes,{abstractinput:b})}(window.jQuery),function(a){"use strict";var b=function(a){};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){var b=a.Deferred();return this.error=null,this.onSourceReady(function(){this.renderList(),b.resolve()},function(){this.error=this.options.sourceError,b.resolve()}),b.promise()},html2value:function(a){return null},value2html:function(b,c,d,e){var f=a.Deferred(),g=function(){"function"==typeof d?d.call(c,b,this.sourceData,e):this.value2htmlFinal(b,c),f.resolve()};return null===b?g.call(this):this.onSourceReady(g,function(){f.resolve()}),f.promise()},onSourceReady:function(b,c){var d;if(a.isFunction(this.options.source)?(d=this.options.source.call(this.options.scope),this.sourceData=null):d=this.options.source,this.options.sourceCache&&a.isArray(this.sourceData))return void b.call(this);try{d=a.fn.editableutils.tryParseJson(d,!1)}catch(e){return void c.call(this)}if("string"==typeof d){if(this.options.sourceCache){var f,g=d;if(a(document).data(g)||a(document).data(g,{}),f=a(document).data(g),f.loading===!1&&f.sourceData)return this.sourceData=f.sourceData,this.doPrepend(),void b.call(this);if(f.loading===!0)return f.callbacks.push(a.proxy(function(){this.sourceData=f.sourceData,this.doPrepend(),b.call(this)},this)),void f.err_callbacks.push(a.proxy(c,this));f.loading=!0,f.callbacks=[],f.err_callbacks=[]}var h=a.extend({url:d,type:"get",cache:!1,dataType:"json",success:a.proxy(function(d){f&&(f.loading=!1),this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(f&&(f.sourceData=this.sourceData,a.each(f.callbacks,function(){this.call()})),this.doPrepend(),b.call(this)):(c.call(this),f&&a.each(f.err_callbacks,function(){this.call()}))},this),error:a.proxy(function(){c.call(this),f&&(f.loading=!1,a.each(f.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);a.ajax(h)}else this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(this.doPrepend(),b.call(this)):c.call(this)},doPrepend:function(){null!==this.options.prepend&&void 0!==this.options.prepend&&(a.isArray(this.prependData)||(a.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=a.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),a.isArray(this.prependData)&&a.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData)))},renderList:function(){},value2htmlFinal:function(a,b){},makeArray:function(b){var c,d,e,f,g=[];if(!b||"string"==typeof b)return null;if(a.isArray(b)){f=function(a,b){return d={value:a,text:b},c++>=2?!1:void 0};for(var h=0;h<b.length;h++)e=b[h],"object"==typeof e?(c=0,a.each(e,f),1===c?g.push(d):c>1&&(e.children&&(e.children=this.makeArray(e.children)),g.push(e))):g.push({value:e,text:e})}else a.each(b,function(a,b){g.push({value:a,text:b})});return g},option:function(a,b){this.options[a]=b,"source"===a&&(this.sourceData=null),"prepend"===a&&(this.prependData=null)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error when loading list",sourceCache:!0,sourceOptions:null}),a.fn.editabletypes.list=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("text",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),this.$input.is("input,textarea")&&!this.$input.is('[type="checkbox"],[type="range"]')&&a.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=a('<span class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(a.proxy(function(b){if(!~a.inArray(b.keyCode,[40,38,9,13,27])){clearTimeout(this.t);var c=this;this.t=setTimeout(function(){c.toggleClear(b)},100)}},this)).parent().css("position","relative"),this.$clear.click(a.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(a){if(this.$clear){var b=this.$input.val().length,c=this.$clear.is(":visible");b&&!c&&this.$clear.show(),!b&&c&&this.$clear.hide()}},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',placeholder:null,clear:!0}),a.fn.editabletypes.text=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("textarea",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(b){b.ctrlKey&&13===b.which&&a(this).closest("form").submit()})},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7}),a.fn.editabletypes.textarea=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("select",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){this.$input.empty();var b=this.options.escape,c=function(d,e){var f;if(a.isArray(e))for(var g=0;g<e.length;g++)if(f={},e[g].children)f.label=e[g].text,d.append(c(a("<optgroup>",f),e[g].children));else{f.value=e[g].value,e[g].disabled&&(f.disabled=!0);var h=a("<option>",f);h[b?"text":"html"](e[g].text),d.append(h)}return d};c(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(b){13===b.which&&a(this).closest("form").submit()})},value2htmlFinal:function(b,c){var d="",e=a.fn.editableutils.itemsByValue(b,this.sourceData);e.length&&(d=e[0].text),a.fn.editabletypes.abstractinput.prototype.value2html.call(this,d,c)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:"<select></select>"}),a.fn.editabletypes.select=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("checklist",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){var b;if(this.$tpl.empty(),a.isArray(this.sourceData)){for(var c=0;c<this.sourceData.length;c++){b=a("<label>").append(a("<input>",{type:"checkbox",value:this.sourceData[c].value}));var d=a("<span>");d[this.options.escape?"text":"html"](" "+this.sourceData[c].text),b.append(d),a("<div>").append(b).appendTo(this.$tpl)}this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()}},value2str:function(b){return a.isArray(b)?b.sort().join(a.trim(this.options.separator)):""},str2value:function(b){var c,d=null;return"string"==typeof b&&b.length?(c=new RegExp("\\s*"+a.trim(this.options.separator)+"\\s*"),d=b.split(c)):d=a.isArray(b)?b:[b],d},value2input:function(b){this.$input.prop("checked",!1),a.isArray(b)&&b.length&&this.$input.each(function(c,d){var e=a(d);a.each(b,function(a,b){e.val()==b&&e.prop("checked",!0)})})},input2value:function(){var b=[];return this.$input.filter(":checked").each(function(c,d){b.push(a(d).val())}),b},value2htmlFinal:function(b,c){var d=[],e=a.fn.editableutils.itemsByValue(b,this.sourceData),f=this.options.escape;e.length?(a.each(e,function(b,c){var e=f?a.fn.editableutils.escape(c.text):c.text;d.push(e)}),a(c).html(d.join("<br>"))):a(c).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(b){13===b.which&&a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:'<div class="editable-checklist"></div>',inputclass:null,separator:","}),a.fn.editabletypes.checklist=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("password",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),a.extend(b.prototype,{value2html:function(b,c){b?a(c).text("[hidden]"):a(c).empty()},html2value:function(a){return null}}),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="password">'}),a.fn.editabletypes.password=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("email",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="email">'}),a.fn.editabletypes.email=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("url",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="url">'}),a.fn.editabletypes.url=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("tel",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="tel">'}),a.fn.editabletypes.tel=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("number",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),a.extend(b.prototype,{render:function(){b.superclass.render.call(this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="number">',inputclass:"input-mini",min:null,max:null,step:null}),a.fn.editabletypes.number=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("range",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.number),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){a(this).siblings("output").text(a(this).val())})},activate:function(){this.$input.focus()}}),b.defaults=a.extend({},a.fn.editabletypes.number.defaults,{tpl:'<input type="range"><output style="width: 30px; display: inline-block"></output>',inputclass:"input-medium"}),a.fn.editabletypes.range=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("time",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="time">'}),a.fn.editabletypes.time=b}(window.jQuery),function(a){"use strict";var b=function(c){if(this.init("select2",c,b.defaults),c.select2=c.select2||{},this.sourceData=null,c.placeholder&&(c.select2.placeholder=c.placeholder),!c.select2.tags&&c.source){var d=c.source;a.isFunction(c.source)&&(d=c.source.call(c.scope)),"string"==typeof d?(c.select2.ajax=c.select2.ajax||{},c.select2.ajax.data||(c.select2.ajax.data=function(a){return{query:a}}),c.select2.ajax.results||(c.select2.ajax.results=function(a){return{results:a}}),c.select2.ajax.url=d):(this.sourceData=this.convertSource(d),c.select2.data=this.sourceData)}if(this.options.select2=a.extend({},b.defaults.select2,c.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in this.options.select2,this.idFunc=this.options.select2.id,"function"!=typeof this.idFunc){var e=this.idFunc||"id";this.idFunc=function(a){return a[e]}}this.formatSelection=this.options.select2.formatSelection,"function"!=typeof this.formatSelection&&(this.formatSelection=function(a){return a.text})};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.isRemote&&this.$input.on("select2-loaded",a.proxy(function(a){this.sourceData=a.items.results},this)),this.isMultiple&&this.$input.on("change",function(){a(this).closest("form").parent().triggerHandler("resize")})},value2html:function(c,d){var e,f="",g=this;this.options.select2.tags?e=c:this.sourceData&&(e=a.fn.editableutils.itemsByValue(c,this.sourceData,this.idFunc)),a.isArray(e)?(f=[],a.each(e,function(a,b){f.push(b&&"object"==typeof b?g.formatSelection(b):b)})):e&&(f=g.formatSelection(e)),f=a.isArray(f)?f.join(this.options.viewseparator):f,b.superclass.value2html.call(this,f,d)},html2value:function(a){return this.options.select2.tags?this.str2value(a,this.options.viewseparator):null},value2input:function(b){if(a.isArray(b)&&(b=b.join(this.getSeparator())),this.$input.data("select2")?this.$input.val(b).trigger("change",!0):(this.$input.val(b),this.$input.select2(this.options.select2)),this.isRemote&&!this.isMultiple&&!this.options.select2.initSelection){var c=this.options.select2.id,d=this.options.select2.formatSelection;if(!c&&!d){var e=a(this.options.scope);if(!e.data("editable").isEmpty){var f={id:b,text:e.text()};this.$input.select2("data",f)}}}},input2value:function(){return this.$input.select2("val")},str2value:function(b,c){if("string"!=typeof b||!this.isMultiple)return b;c=c||this.getSeparator();var d,e,f;if(null===b||b.length<1)return null;for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d},autosubmit:function(){this.$input.on("change",function(b,c){c||a(this).closest("form").submit()})},getSeparator:function(){return this.options.select2.separator||a.fn.select2.defaults.separator},convertSource:function(b){if(a.isArray(b)&&b.length&&void 0!==b[0].value)for(var c=0;c<b.length;c++)void 0!==b[c].value&&(b[c].id=b[c].value,delete b[c].value);return b},activate:function(){this.$input.select2("open")},destroy:function(){this.$input&&this.$input.data("select2")&&this.$input.select2("destroy")}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="hidden">',select2:null,placeholder:null,source:null,viewseparator:", "}),a.fn.editabletypes.select2=b}(window.jQuery),function(a){var b=function(b,c){return this.$element=a(b),this.$element.is("input")?(this.options=a.extend({},a.fn.combodate.defaults,c,this.$element.data()),void this.init()):void a.error("Combodate should be applied to INPUT element")};b.prototype={constructor:b,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=a('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.datetime=null,this.$widget.on("change","select",a.proxy(function(b){this.$element.val(this.getValue()).change(),this.options.smartDays&&(a(b.target).is(".month")||a(b.target).is(".year"))&&this.fillCombo("day")},this)),this.$widget.find("select").css("width","auto"),this.$element.hide().after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var b=this.options.template,c=this.$element.prop("disabled"),d=this.options.customClass;return a.each(this.map,function(a,c){c=c[0];var d=new RegExp(c+"+"),e=c.length>1?c.substring(1,2):c;b=b.replace(d,"{"+e+"}")}),b=b.replace(/ /g,"&nbsp;"),a.each(this.map,function(a,e){e=e[0];var f=e.length>1?e.substring(1,2):e;b=b.replace("{"+f+"}",'<select class="'+a+" "+d+'"'+(c?' disabled="disabled"':"")+"></select>")}),b},initCombos:function(){for(var a in this.map){var b=this.$widget.find("."+a);this["$"+a]=b.length?b:null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.empty();for(var f=0;f<d.length;f++)b.append('<option value="'+d[f][0]+'">'+d[f][1]+"</option>");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.localeData?moment.localeData()._relativeTime:moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMMMM"),e=-1!==this.options.template.indexOf("MMMMM"),f=-1!==this.options.template.indexOf("MMMM"),g=-1!==this.options.template.indexOf("MMM"),h=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MM - MMMM"):e?moment().date(1).month(b).format("MM - MMM"):f?moment().date(1).month(b).format("MMMM"):g?moment().date(1).month(b).format("MMM"):h?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(b){var c,d={},e=this,f=!1;return a.each(this.map,function(a,b){if("ampm"!==a){if(e["$"+a])d[a]=parseInt(e["$"+a].val(),10);else{var c;c=e.datetime?e.datetime[b[1]]():"day"===a?1:0,d[a]=c}return isNaN(d[a])?(f=!0,!1):void 0}}),f?"":(this.$ampm&&(12===d.hour?d.hour="am"===this.$ampm.val()?0:12:d.hour="am"===this.$ampm.val()?d.hour:d.hour+12),c=moment([d.year,d.month,d.day,d.hour,d.minute,d.second]),this.highlight(c),b=void 0===b?this.options.format:b,null===b?c.isValid()?c:null:c.isValid()?c.format(b):"")},setValue:function(b){function c(b,c){var d={};return b.children("option").each(function(b,e){var f,g=a(e).attr("value");""!==g&&(f=Math.abs(g-c),("undefined"==typeof d.distance||f<d.distance)&&(d={value:g,distance:f}))}),d.value}if(b){var d="string"==typeof b?moment(b,this.options.format,!0):moment(b),e=this,f={};d.isValid()?(a.each(this.map,function(a,b){"ampm"!==a&&(f[a]=d[b[1]]())}),this.$ampm&&(f.hour>=12?(f.ampm="pm",f.hour>12&&(f.hour-=12)):(f.ampm="am",0===f.hour&&(f.hour=12))),a.each(f,function(a,b){e["$"+a]&&("minute"===a&&e.options.minuteStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),"second"===a&&e.options.secondStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),e["$"+a].val(b))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(d.format(this.options.format)).change(),this.datetime=d):this.datetime=null}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},a.fn.combodate=function(c){var d,e=Array.apply(null,arguments);return e.shift(),"getValue"===c&&this.length&&(d=this.eq(0).data("combodate"))?d.getValue.apply(d,e):this.each(function(){var d=a(this),f=d.data("combodate"),g="object"==typeof c&&c;f||d.data("combodate",f=new b(this,g)),"string"==typeof c&&"function"==typeof f[c]&&f[c].apply(f,e)})},a.fn.combodate.defaults={format:"DD-MM-YYYY HH:mm",template:"D / MMM / YYYY   H : mm",value:null,minYear:1970,maxYear:(new Date).getFullYear(),yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,customClass:"",roundTime:!0,smartDays:!1}}(window.jQuery),function(a){"use strict";var b=function(c){this.init("combodate",c,b.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),c.combodate=a.fn.editableutils.tryParseJson(c.combodate,!0),this.options.combodate=a.extend({},b.defaults.combodate,c.combodate,{format:this.options.format,template:this.options.template})};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.$input.combodate(this.options.combodate),"bs3"===a.fn.editableform.engine&&this.$input.siblings().find("select").addClass("form-control"),this.options.inputclass&&this.$input.siblings().find("select").addClass(this.options.inputclass)},value2html:function(a,c){var d=a?a.format(this.options.viewformat):"";b.superclass.value2html.call(this,d,c)},html2value:function(a){return a?moment(a,this.options.viewformat):null},value2str:function(a){return a?a.format(this.options.format):""},str2value:function(a){return a?moment(a,this.options.format):null},value2submit:function(a){return this.value2str(a)},value2input:function(a){this.$input.combodate("setValue",a)},input2value:function(){return this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D / MMM / YYYY",combodate:null}),a.fn.editabletypes.combodate=b}(window.jQuery),function(a){"use strict";var b=a.fn.editableform.Constructor.prototype.initInput;a.extend(a.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=a(a.fn.editableform.template),this.$form.find(".control-group").addClass("form-group"),this.$form.find(".editable-error-block").addClass("help-block")},initInput:function(){b.apply(this);var c=null===this.input.options.inputclass||this.input.options.inputclass===!1,d="form-control-sm",e="text,select,textarea,password,email,url,tel,number,range,time,typeaheadjs".split(",");~a.inArray(this.input.type,e)&&(this.input.$input.addClass("form-control"),c&&(this.input.options.inputclass=d,this.input.$input.addClass(d)));for(var f=this.$form.find(".editable-buttons"),g=c?[d]:this.input.options.inputclass.split(" "),h=0;h<g.length;h++)"input-lg"===g[h].toLowerCase()&&f.find("button").removeClass("btn-sm").addClass("btn-lg")}}),a.fn.editableform.buttons='<button type="submit" class="btn btn-primary btn-sm editable-submit"><i class="fa fa-check" aria-hidden="true"></i></button><button type="button" class="btn btn-default btn-sm editable-cancel"><i class="fa fa-times" aria-hidden="true"></i></button>',a.fn.editableform.errorGroupClass="has-error",a.fn.editableform.errorBlockClass=null,a.fn.editableform.engine="bs4"}(window.jQuery),function(a){"use strict";a.extend(a.fn.editableContainer.Popup.prototype,{containerName:"popover",containerDataName:"bs.popover",innerCss:".popover-body",defaults:a.fn.popover.Constructor.DEFAULTS,initContainer:function(){a.extend(this.containerOptions,{trigger:"manual",selector:!1,content:" ",template:this.defaults.template});var b;this.$element.data("template")&&(b=this.$element.data("template"),this.$element.removeData("template")),this.call(this.containerOptions),b&&this.$element.data("template",b)},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("dispose")},setContainerOption:function(a,b){this.container().options[a]=b},setPosition:function(){(function(){}).call(this.container())},tip:function(){return this.container()?a(this.container().tip):null}})}(window.jQuery),function(a){function b(){return new Date(Date.UTC.apply(Date,arguments))}function c(b,c){var d,e=a(b).data(),f={},g=new RegExp("^"+c.toLowerCase()+"([A-Z])"),c=new RegExp("^"+c.toLowerCase());for(var h in e)c.test(h)&&(d=h.replace(g,function(a,b){return b.toLowerCase()}),f[d]=e[h]);return f}function d(b){var c={};if(k[b]||(b=b.split("-")[0],k[b])){var d=k[b];return a.each(j,function(a,b){b in d&&(c[b]=d[b])}),c}}var e=function(b,c){this._process_options(c),this.element=a(b),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.picker=a(l.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot th.today").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.setStartDate(this.o.startDate),this.setEndDate(this.o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};e.prototype={constructor:e,_process_options:function(b){this._o=a.extend({},this._o,b);var c=this.o=a.extend({},this._o),d=c.language;switch(k[d]||(d=d.split("-")[0],k[d]||(d=i.language)),c.language=d,c.startView){case 2:case"decade":c.startView=2;break;case 1:case"year":c.startView=1;break;default:c.startView=0}switch(c.minViewMode){case 1:case"months":c.minViewMode=1;break;case 2:case"years":c.minViewMode=2;break;default:c.minViewMode=0}c.startView=Math.max(c.startView,c.minViewMode),c.weekStart%=7,c.weekEnd=(c.weekStart+6)%7;var e=l.parseFormat(c.format);c.startDate!==-(1/0)&&(c.startDate=l.parseDate(c.startDate,e,c.language)),c.endDate!==1/0&&(c.endDate=l.parseDate(c.endDate,e,c.language)),c.daysOfWeekDisabled=c.daysOfWeekDisabled||[],a.isArray(c.daysOfWeekDisabled)||(c.daysOfWeekDisabled=c.daysOfWeekDisabled.split(/[,\s]*/)),c.daysOfWeekDisabled=a.map(c.daysOfWeekDisabled,function(a){return parseInt(a,10)})},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.on(c)},_unapplyEvents:function(a){for(var b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.off(c)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}],[this.component,{click:a.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:a.proxy(this.show,this)}]],this._secondaryEvents=[[this.picker,{click:a.proxy(this.click,this)}],[a(window),{resize:a.proxy(this.place,this)}],[a(document),{mousedown:a.proxy(function(a){this.element.is(a.target)||this.element.find(a.target).size()||this.picker.is(a.target)||this.picker.find(a.target).size()||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(b,c){var d=c||this.date,e=new Date(d.getTime()+6e4*d.getTimezoneOffset());this.element.trigger({type:b,date:e,format:a.proxy(function(a){var b=a||this.o.format;return l.formatDate(d,b,this.o.language)},this)})},show:function(a){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.place(),this._attachSecondaryEvents(),a&&a.preventDefault(),this._trigger("show")},hide:function(a){this.isInline||this.picker.is(":visible")&&(this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"))},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date},getDate:function(){var a=this.getUTCDate();return new Date(a.getTime()+6e4*a.getTimezoneOffset())},getUTCDate:function(){return this.date},setDate:function(a){this.setUTCDate(new Date(a.getTime()-6e4*a.getTimezoneOffset()))},setUTCDate:function(a){this.date=a,this.setValue()},setValue:function(){var a=this.getFormattedDate();this.isInput?this.element.val(a):this.component&&this.element.find("input").val(a)},getFormattedDate:function(a){return void 0===a&&(a=this.o.format),l.formatDate(this.date,a,this.o.language)},setStartDate:function(a){this._process_options({startDate:a}),this.update(),this.updateNavArrows()},setEndDate:function(a){this._process_options({endDate:a}),this.update(),this.updateNavArrows()},setDaysOfWeekDisabled:function(a){this._process_options({daysOfWeekDisabled:a}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){var b=parseInt(this.element.parents().filter(function(){return"auto"!=a(this).css("z-index")}).first().css("z-index"))+10,c=this.component?this.component.parent().offset():this.element.offset(),d=this.component?this.component.outerHeight(!0):this.element.outerHeight(!0);this.picker.css({top:c.top+d,left:c.left,zIndex:b})}},_allow_update:!0,update:function(){if(this._allow_update){var a,b=!1;arguments&&arguments.length&&("string"==typeof arguments[0]||arguments[0]instanceof Date)?(a=arguments[0],b=!0):(a=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),delete this.element.data().date),this.date=l.parseDate(a,this.o.format,this.o.language),b&&this.setValue(),this.date<this.o.startDate?this.viewDate=new Date(this.o.startDate):this.date>this.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=new Date(this.date),this.fill()}},fillDow:function(){var a=this.o.weekStart,b="<tr>";if(this.o.calendarWeeks){var c='<th class="cw">&nbsp;</th>';b+=c,this.picker.find(".datepicker-days thead tr:first-child").prepend(c)}for(;a<this.o.weekStart+7;)b+='<th class="dow">'+k[this.o.language].daysMin[a++%7]+"</th>";b+="</tr>",this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;12>b;)a+='<span class="month">'+k[this.o.language].monthsShort[b++]+"</span>";this.picker.find(".datepicker-months td").html(a)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],d=this.viewDate.getUTCFullYear(),e=this.viewDate.getUTCMonth(),f=this.date.valueOf(),g=new Date;return b.getUTCFullYear()<d||b.getUTCFullYear()==d&&b.getUTCMonth()<e?c.push("old"):(b.getUTCFullYear()>d||b.getUTCFullYear()==d&&b.getUTCMonth()>e)&&c.push("new"),this.o.todayHighlight&&b.getUTCFullYear()==g.getFullYear()&&b.getUTCMonth()==g.getMonth()&&b.getUTCDate()==g.getDate()&&c.push("today"),f&&b.valueOf()==f&&c.push("active"),(b.valueOf()<this.o.startDate||b.valueOf()>this.o.endDate||-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled))&&c.push("disabled"),this.range&&(b>this.range[0]&&b<this.range[this.range.length-1]&&c.push("range"),-1!=a.inArray(b.valueOf(),this.range)&&c.push("selected")),c},fill:function(){var c,d=new Date(this.viewDate),e=d.getUTCFullYear(),f=d.getUTCMonth(),g=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),h=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),i=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,j=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0;this.date&&this.date.valueOf();this.picker.find(".datepicker-days thead th.datepicker-switch").text(k[this.o.language].months[f]+" "+e),this.picker.find("tfoot th.today").text(k[this.o.language].today).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot th.clear").text(k[this.o.language].clear).toggle(this.o.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var m=b(e,f-1,28,0,0,0,0),n=l.getDaysInMonth(m.getUTCFullYear(),m.getUTCMonth());m.setUTCDate(n),m.setUTCDate(n-(m.getUTCDay()-this.o.weekStart+7)%7);var o=new Date(m);o.setUTCDate(o.getUTCDate()+42),o=o.valueOf();for(var p,q=[];m.valueOf()<o;){if(m.getUTCDay()==this.o.weekStart&&(q.push("<tr>"),this.o.calendarWeeks)){var r=new Date(+m+(this.o.weekStart-m.getUTCDay()-7)%7*864e5),s=new Date(+r+(11-r.getUTCDay())%7*864e5),t=new Date(+(t=b(s.getUTCFullYear(),0,1))+(11-t.getUTCDay())%7*864e5),u=(s-t)/864e5/7+1;q.push('<td class="cw">'+u+"</td>")}p=this.getClassNames(m),p.push("day");var v=this.o.beforeShowDay(m);void 0===v?v={}:"boolean"==typeof v?v={enabled:v}:"string"==typeof v&&(v={classes:v}),v.enabled===!1&&p.push("disabled"),v.classes&&(p=p.concat(v.classes.split(/\s+/))),v.tooltip&&(c=v.tooltip),p=a.unique(p),q.push('<td class="'+p.join(" ")+'"'+(c?' title="'+c+'"':"")+">"+m.getUTCDate()+"</td>"),m.getUTCDay()==this.o.weekEnd&&q.push("</tr>"),m.setUTCDate(m.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(q.join(""));var w=this.date&&this.date.getUTCFullYear(),x=this.picker.find(".datepicker-months").find("th:eq(1)").text(e).end().find("span").removeClass("active");w&&w==e&&x.eq(this.date.getUTCMonth()).addClass("active"),(g>e||e>i)&&x.addClass("disabled"),e==g&&x.slice(0,h).addClass("disabled"),e==i&&x.slice(j+1).addClass("disabled"),q="",e=10*parseInt(e/10,10);var y=this.picker.find(".datepicker-years").find("th:eq(1)").text(e+"-"+(e+9)).end().find("td");e-=1;for(var z=-1;11>z;z++)q+='<span class="year'+(-1==z?" old":10==z?" new":"")+(w==e?" active":"")+(g>e||e>i?" disabled":"")+'">'+e+"</span>",e+=1;y.html(q)},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()&&c<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()&&c>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(c){c.preventDefault();var d=a(c.target).closest("span, td, th");if(1==d.length)switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var e=l.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,e);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,e)}this.fill();break;case"today":var f=new Date;f=b(f.getFullYear(),f.getMonth(),f.getDate(),0,0,0),this.showMode(-2);var g="linked"==this.o.todayBtn?null:"view";this._setDate(f,g);break;case"clear":var h;this.isInput?h=this.element:this.component&&(h=this.element.find("input")),h&&h.val("").change(),this._trigger("changeDate"),this.update(),this.o.autoclose&&this.hide()}break;case"span":if(!d.is(".disabled")){if(this.viewDate.setUTCDate(1),d.is(".month")){var i=1,j=d.parent().find("span").index(d),k=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(j),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}else{var k=parseInt(d.text(),10)||0,i=1,j=0;this.viewDate.setUTCFullYear(k),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(d.is(".day")&&!d.is(".disabled")){var i=parseInt(d.text(),10)||1,k=this.viewDate.getUTCFullYear(),j=this.viewDate.getUTCMonth();d.is(".old")?0===j?(j=11,k-=1):j-=1:d.is(".new")&&(11==j?(j=0,k+=1):j+=1),this._setDate(b(k,j,i,0,0,0,0))}}},_setDate:function(a,b){b&&"date"!=b||(this.date=new Date(a)),b&&"view"!=b||(this.viewDate=new Date(a)),this.fill(),this.setValue(),this._trigger("changeDate");var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),!this.o.autoclose||b&&"date"!=b||this.hide())},moveMonth:function(a,b){if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1==h)d=-1==b?function(){return e.getUTCMonth()==g}:function(){return e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var i=0;h>i;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return void(27==a.keyCode&&this.show());var b,c,d,e=!1;switch(a.keyCode){case 27:this.hide(),a.preventDefault();break;case 37:case 39:if(!this.o.keyboardNavigation)break;b=37==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 38:case 40:if(!this.o.keyboardNavigation)break;b=38==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+7*b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+7*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 13:this.hide(),a.preventDefault();break;case 9:this.hide()}if(e){this._trigger("changeDate");var f;this.isInput?f=this.element:this.component&&(f=this.element.find("input")),f&&f.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+a))),this.picker.find(">div").hide().filter(".datepicker-"+l.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};var f=function(b,c){this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,a(this.inputs).datepicker(c).bind("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a(b).data("datepicker")}),this.updateDates()};f.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.date}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(b){var c=a(b.target).data("datepicker"),d=c.getUTCDate(),e=a.inArray(b.target,this.inputs),f=this.inputs.length;if(-1!=e){if(d<this.dates[e])for(;e>=0&&d<this.dates[e];)this.pickers[e--].setUTCDate(d);else if(d>this.dates[e])for(;f>e&&d>this.dates[e];)this.pickers[e++].setUTCDate(d);this.updateDates()}},remove:function(){a.map(this.pickers,function(a){a.remove()}),delete this.element.data().datepicker}};var g=a.fn.datepicker,h=a.fn.datepicker=function(b){var g=Array.apply(null,arguments);g.shift();var h;return this.each(function(){var j=a(this),k=j.data("datepicker"),l="object"==typeof b&&b;if(!k){var m=c(this,"date"),n=a.extend({},i,m,l),o=d(n.language),p=a.extend({},i,o,m,l);if(j.is(".input-daterange")||p.inputs){var q={inputs:p.inputs||j.find("input").toArray()};j.data("datepicker",k=new f(this,a.extend(p,q)))}else j.data("datepicker",k=new e(this,p))}return"string"==typeof b&&"function"==typeof k[b]&&(h=k[b].apply(k,g),void 0!==h)?!1:void 0}),void 0!==h?h:this},i=a.fn.datepicker.defaults={autoclose:!1,beforeShowDay:a.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},j=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=e;var k=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},l={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,l.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts,"\x00").split("\x00"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,d,f){if(c instanceof Date)return c;if("string"==typeof d&&(d=l.parseFormat(d)),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(c)){var g,h,i=/([\-+]\d+)([dmwy])/,j=c.match(/([\-+]\d+)([dmwy])/g);c=new Date;for(var m=0;m<j.length;m++)switch(g=i.exec(j[m]),h=parseInt(g[1]),g[2]){case"d":c.setUTCDate(c.getUTCDate()+h);break;case"m":c=e.prototype.moveMonth.call(e.prototype,c,h);break;case"w":c.setUTCDate(c.getUTCDate()+7*h);break;case"y":c=e.prototype.moveYear.call(e.prototype,c,h)}return b(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,0,0)}var n,o,g,j=c&&c.match(this.nonpunctuation)||[],c=new Date,p={},q=["yyyy","yy","M","MM","m","mm","d","dd"],r={yyyy:function(a,b){return a.setUTCFullYear(b)},yy:function(a,b){return a.setUTCFullYear(2e3+b)},m:function(a,b){for(b-=1;0>b;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};r.M=r.MM=r.mm=r.m,r.dd=r.d,c=b(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0);var s=d.parts.slice();if(j.length!=s.length&&(s=a(s).filter(function(b,c){return-1!==a.inArray(c,q)}).toArray()),j.length==s.length){for(var m=0,t=s.length;t>m;m++){if(n=parseInt(j[m],10),g=s[m],isNaN(n))switch(g){case"MM":o=a(k[f].months).filter(function(){var a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return a==b}),n=a.inArray(o[0],k[f].months)+1;break;case"M":o=a(k[f].monthsShort).filter(function(){var a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return a==b}),n=a.inArray(o[0],k[f].monthsShort)+1}p[g]=n}for(var u,m=0;m<q.length;m++)u=q[m],u in p&&!isNaN(p[u])&&r[u](c,p[u])}return c},formatDate:function(b,c,d){"string"==typeof c&&(c=l.parseFormat(c));var e={d:b.getUTCDate(),D:k[d].daysShort[b.getUTCDay()],DD:k[d].days[b.getUTCDay()],m:b.getUTCMonth()+1,M:k[d].monthsShort[b.getUTCMonth()],MM:k[d].months[b.getUTCMonth()],yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d,e.mm=(e.m<10?"0":"")+e.m;for(var b=[],f=a.extend([],c.separators),g=0,h=c.parts.length;h>=g;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return b.join("")},headTemplate:'<thead><tr><th class="prev"><i class="icon-arrow-left"/></th><th colspan="5" class="datepicker-switch"></th><th class="next"><i class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};l.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">'+l.headTemplate+"<tbody></tbody>"+l.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+"</table></div></div>",a.fn.datepicker.DPGlobal=l,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=g,this},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),h.call(c,"show"))}),a(function(){h.call(a('[data-provide="datepicker-inline"]'))})}(window.jQuery),function(a){"use strict";a.fn.bdatepicker=a.fn.datepicker.noConflict(),a.fn.datepicker||(a.fn.datepicker=a.fn.bdatepicker);var b=function(a){this.init("date",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{initPicker:function(b,c){this.options.viewformat||(this.options.viewformat=this.options.format),b.datepicker=a.fn.editableutils.tryParseJson(b.datepicker,!0),this.options.datepicker=a.extend({},c.datepicker,b.datepicker,{format:this.options.viewformat}),this.options.datepicker.language=this.options.datepicker.language||"en",this.dpg=a.fn.bdatepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker),this.options.clear&&(this.$clear=a('<a href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var d=a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):"";b.superclass.value2html.call(this,d,c)},html2value:function(a){return this.parseDate(a,this.parsedViewFormat)},value2str:function(a){return a?this.dpg.formatDate(a,this.parsedFormat,this.options.datepicker.language):""},str2value:function(a){return this.parseDate(a,this.parsedFormat)},value2submit:function(a){return this.value2str(a)},value2input:function(a){this.$input.bdatepicker("update",a)},input2value:function(){return this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".day",function(b){if(!a(b.currentTarget).is(".old")&&!a(b.currentTarget).is(".new")){var c=a(this).closest("form");setTimeout(function(){c.submit()},200)}})},parseDate:function(a,b){var c,d=null;return a&&(d=this.dpg.parseDate(a,b,this.options.datepicker.language),"string"==typeof a&&(c=this.dpg.formatDate(d,b,this.options.datepicker.language),a!==c&&(d=null))),d}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!1},clear:"&times; clear"}),a.fn.editabletypes.date=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.date),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$input.bdatepicker(this.options.datepicker),this.$input.off("focus keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.bdatepicker("update")},this))},value2input:function(a){this.$input.val(a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):""),this.$tpl.bdatepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.date.defaults,{tpl:'<div class="input-append date"><input type="text"/><span class="add-on"><i class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!0}}),a.fn.editabletypes.datefield=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datetime",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{initPicker:function(b,c){this.options.viewformat||(this.options.viewformat=this.options.format),b.datetimepicker=a.fn.editableutils.tryParseJson(b.datetimepicker,!0),this.options.datetimepicker=a.extend({},c.datetimepicker,b.datetimepicker,{format:this.options.viewformat}),this.options.datetimepicker.language=this.options.datetimepicker.language||"en",this.dpg=a.fn.datetimepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker),this.$input.on("changeMode",function(b){var c=a(this).closest("form").parent();setTimeout(function(){c.triggerHandler("resize")},0)}),this.options.clear&&(this.$clear=a('<a href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var d=a?this.dpg.formatDate(this.toUTC(a),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";return c?void b.superclass.value2html.call(this,d,c):d},html2value:function(a){var b=this.parseDate(a,this.parsedViewFormat);return b?this.fromUTC(b):null},value2str:function(a){return a?this.dpg.formatDate(this.toUTC(a),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(a){var b=this.parseDate(a,this.parsedFormat);return b?this.fromUTC(b):null},value2submit:function(a){return this.value2str(a)},value2input:function(a){a&&this.$input.data("datetimepicker").setDate(a)},input2value:function(){var a=this.$input.data("datetimepicker");return a.date?a.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".minute",function(b){var c=a(this).closest("form");setTimeout(function(){c.submit()},200)})},toUTC:function(a){return a?new Date(a.valueOf()-6e4*a.getTimezoneOffset()):a},fromUTC:function(a){return a?new Date(a.valueOf()+6e4*a.getTimezoneOffset()):a},parseDate:function(a,b){var c,d=null;return a&&(d=this.dpg.parseDate(a,b,this.options.datetimepicker.language,this.options.formatType),"string"==typeof a&&(c=this.dpg.formatDate(d,b,this.options.datetimepicker.language,this.options.formatType),a!==c&&(d=null))),d}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:!1,autoclose:!1},clear:"&times; clear"}),a.fn.editabletypes.datetime=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datetimefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.datetime),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.datetimepicker(this.options.datetimepicker),this.$input.off("focus keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.datetimepicker("update")},this))},value2input:function(a){this.$input.val(this.value2html(a)),this.$tpl.datetimepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.datetime.defaults,{tpl:'<div class="input-append date"><input type="text"/><span class="add-on"><i class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:!1,autoclose:!0}}),a.fn.editabletypes.datetimefield=b}(window.jQuery);!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["web/sdkweb/static/js/jquery"],b):"object"==typeof exports?module.exports=b(require("web/sdkweb/static/js/jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d.call(c,a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",textarea:"<textarea class='bootbox-input bootbox-input-textarea form-control'></textarea>",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'></select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>",date:"<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",time:"<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",number:"<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",password:"<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"}},o={locale:"en",backdrop:"static",animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback.call(this):!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,!1)},a.buttons.confirm.callback=function(){return a.callback.call(this,!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback.call(this,c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!b.isArray(k))throw new Error("Please pass an array of input options");if(!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("<optgroup/>").attr("label",d.group)),e=o[d.group]),e.append("<option value='"+d.value+"'>"+d.text+"</option>")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("<div/>"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),a.maxlength&&h.attr("maxlength",a.maxlength),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var d=b(n.dialog),f=d.find(".modal-dialog"),i=d.find(".modal-body"),j=a.buttons,k="",l={onEscape:a.onEscape};if(b.fn.modal===c)throw new Error("$.fn.modal is not defined; please double check you have included the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ for more details.");if(g(j,function(a,b){k+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",l[a]=b.callback}),i.find(".bootbox-body").html(a.message),a.animate===!0&&d.addClass("fade"),a.className&&d.addClass(a.className),"large"===a.size?f.addClass("modal-lg"):"small"===a.size&&f.addClass("modal-sm"),a.title&&i.before(n.header),a.closeButton){var m=b(n.closeButton);a.title?d.find(".modal-header").prepend(m):m.css("margin-top","-10px").prependTo(i)}return a.title&&d.find(".modal-title").html(a.title),k.length&&(i.after(n.footer),d.find(".modal-footer").html(k)),d.on("hidden.bs.modal",function(a){a.target===this&&d.remove()}),d.on("shown.bs.modal",function(){d.find(".btn-primary:first").focus()}),"static"!==a.backdrop&&d.on("click.dismiss.bs.modal",function(a){d.children(".modal-backdrop").length&&(a.currentTarget=d.children(".modal-backdrop").get(0)),a.target===a.currentTarget&&d.trigger("escape.close.bb")}),d.on("escape.close.bb",function(a){l.onEscape&&e(a,d,l.onEscape)}),d.on("click",".modal-footer button",function(a){var c=b(this).data("bb-handler");e(a,d,l[c])}),d.on("click",".bootbox-close-button",function(a){e(a,d,l.onEscape)}),d.on("keyup",function(a){27===a.which&&d.trigger("escape.close.bb")}),b(a.container).append(d),d.modal({backdrop:a.backdrop?"static":!1,keyboard:!1,show:!1}),a.show&&d.modal("show"),d},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={bg_BG:{OK:"Ок",CANCEL:"Отказ",CONFIRM:"Потвърждавам"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fa:{OK:"قبول",CANCEL:"لغو",CONFIRM:"تایید"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},hu:{OK:"OK",CANCEL:"Mégsem",CONFIRM:"Megerősít"},hr:{OK:"OK",CANCEL:"Odustani",CONFIRM:"Potvrdi"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sq:{OK:"OK",CANCEL:"Anulo",CONFIRM:"Prano"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},th:{OK:"ตกลง",CANCEL:"ยกเลิก",CONFIRM:"ยืนยัน"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.addLocale=function(a,c){return b.each(["OK","CANCEL","CONFIRM"],function(a,b){if(!c[b])throw new Error("Please supply a translation for '"+b+"'")}),q[a]={OK:c.OK,CANCEL:c.CANCEL,CONFIRM:c.CONFIRM},p},p.removeLocale=function(a){return delete q[a],p},p.setLocale=function(a){return p.setDefaults("locale",a)},p.init=function(c){return a(c||b)},p});!function(t){"function"==typeof define&&define.amd?define(["web/sdkweb/static/js/jquery"],t):t("object"==typeof exports?require("web/sdkweb/static/js/jquery"):jQuery)}(function(t){function s(s){var e=!1;return t('[data-notify="container"]').each(function(i,n){var a=t(n),o=a.find('[data-notify="title"]').text().trim(),r=a.find('[data-notify="message"]').html().trim(),l=o===t("<div>"+s.settings.content.title+"</div>").html().trim(),d=r===t("<div>"+s.settings.content.message+"</div>").html().trim(),g=a.hasClass("alert-"+s.settings.type);return l&&d&&g&&(e=!0),!e}),e}function e(e,n,a){var o={content:{message:"object"==typeof n?n.message:n,title:n.title?n.title:"",icon:n.icon?n.icon:"",url:n.url?n.url:"#",target:n.target?n.target:"-"}};a=t.extend(!0,{},o,a),this.settings=t.extend(!0,{},i,a),this._defaults=i,"-"===this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),(this.settings.allow_duplicates||!this.settings.allow_duplicates&&!s(this))&&this.init()}var i={element:"body",position:null,type:"info",allow_dismiss:!0,allow_duplicates:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:"class",template:'<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">&times;</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'};String.format=function(){for(var t=arguments[0],s=1;s<arguments.length;s++)t=t.replace(RegExp("\\{"+(s-1)+"\\}","gm"),arguments[s]);return t},t.extend(e.prototype,{init:function(){var t=this;this.buildNotify(),this.settings.content.icon&&this.setIcon(),"#"!=this.settings.content.url&&this.styleURL(),this.styleDismiss(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(s,e){var i={};"string"==typeof s?i[s]=e:i=s;for(var n in i)switch(n){case"type":this.$ele.removeClass("alert-"+t.settings.type),this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-"+t.settings.type),t.settings.type=i[n],this.$ele.addClass("alert-"+i[n]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+i[n]);break;case"icon":var a=this.$ele.find('[data-notify="icon"]');"class"===t.settings.icon_type.toLowerCase()?a.removeClass(t.settings.content.icon).addClass(i[n]):(a.is("img")||a.find("img"),a.attr("src",i[n]));break;case"progress":var o=t.settings.delay-t.settings.delay*(i[n]/100);this.$ele.data("notify-delay",o),this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i[n]).css("width",i[n]+"%");break;case"url":this.$ele.find('[data-notify="url"]').attr("href",i[n]);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",i[n]);break;default:this.$ele.find('[data-notify="'+n+'"]').html(i[n])}var r=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(r)},close:function(){t.close()}}},buildNotify:function(){var s=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,s.title,s.message,s.url,s.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),(this.settings.delay>0||this.settings.showProgressbar)&&this.settings.showProgressbar||this.$ele.find('[data-notify="progressbar"]').remove()},setIcon:function(){"class"===this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />')},styleDismiss:function(){this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:0,position:"absolute",top:0,width:"100%",zIndex:this.settings.z_index+1})},placement:function(){var s=this,e=this.settings.offset.y,i={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){e=Math.max(e,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),this.settings.newest_on_top===!0&&(e=this.settings.offset.y),i[this.settings.placement.from]=e+"px",this.settings.placement.align){case"left":case"right":i[this.settings.placement.align]=this.settings.offset.x+"px";break;case"center":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t.each(["webkit-","moz-","o-","ms-",""],function(t,e){s.$ele[0].style[e+"AnimationIterationCount"]=1}),t(this.settings.element).append(this.$ele),this.settings.newest_on_top===!0&&(e=parseInt(e)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(e)),t.isFunction(s.settings.onShow)&&s.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){t.isFunction(s.settings.onShown)&&s.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(s.settings.onShown)&&s.settings.onShown.call(this)},600)},bind:function(){var s=this;if(this.$ele.find('[data-notify="dismiss"]').on("click",function(){s.close()}),this.$ele.mouseover(function(){t(this).data("data-hover","true")}).mouseout(function(){t(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0){s.$ele.data("notify-delay",s.settings.delay);var e=setInterval(function(){var t=parseInt(s.$ele.data("notify-delay"))-s.settings.timer;if("false"===s.$ele.data("data-hover")&&"pause"===s.settings.mouse_over||"pause"!=s.settings.mouse_over){var i=(s.settings.delay-t)/s.settings.delay*100;s.$ele.data("notify-delay",t),s.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i).css("width",i+"%")}t>-s.settings.timer||(clearInterval(e),s.close())},s.settings.timer)}},close:function(){var s=this,e=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.data("closing","true").addClass(this.settings.animate.exit),s.reposition(e),t.isFunction(s.settings.onClose)&&s.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(s.settings.onClosed)&&s.settings.onClosed.call(this)}),setTimeout(function(){i||(s.$ele.remove(),s.settings.onClosed&&s.settings.onClosed(s.$ele))},600)},reposition:function(s){var e=this,i='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',n=this.$ele.nextAll(i);this.settings.newest_on_top===!0&&(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(e.settings.placement.from,s),s=parseInt(s)+parseInt(e.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(s){return i=t.extend(!0,{},i,s)},t.notifyClose=function(s){void 0===s||"all"===s?t("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):t('[data-notify-position="'+s+'"]').find('[data-notify="dismiss"]').trigger("click")}});!function(a){"function"==typeof define&&define.amd?define(["web/sdkweb/static/js/jquery"],a):"object"==typeof exports?module.exports=a(require("web/sdkweb/static/js/jquery")):a(jQuery)}(function(a){var b="waitForImages";a.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage","cursor"],hasImageAttributes:["srcset"]},a.expr[":"]["has-src"]=function(b){return a(b).is('img[src][src!=""]')},a.expr[":"].uncached=function(b){return a(b).is(":has-src")?!b.complete:!1},a.fn.waitForImages=function(){var c,d,e,f=0,g=0,h=a.Deferred();if(a.isPlainObject(arguments[0])?(e=arguments[0].waitForAll,d=arguments[0].each,c=arguments[0].finished):1===arguments.length&&"boolean"===a.type(arguments[0])?e=arguments[0]:(c=arguments[0],d=arguments[1],e=arguments[2]),c=c||a.noop,d=d||a.noop,e=!!e,!a.isFunction(c)||!a.isFunction(d))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var i=a(this),j=[],k=a.waitForImages.hasImageProperties||[],l=a.waitForImages.hasImageAttributes||[],m=/url\(\s*(['"]?)(.*?)\1\s*\)/g;e?i.find("*").addBack().each(function(){var b=a(this);b.is("img:has-src")&&!b.is("[srcset]")&&j.push({src:b.attr("src"),element:b[0]}),a.each(k,function(a,c){var d,e=b.css(c);if(!e)return!0;for(;d=m.exec(e);)j.push({src:d[2],element:b[0]})}),a.each(l,function(a,c){var d=b.attr(c);return d?void j.push({src:b.attr("src"),srcset:b.attr("srcset"),element:b[0]}):!0})}):i.find("img:has-src").each(function(){j.push({src:this.src,element:this})}),f=j.length,g=0,0===f&&(c.call(i[0]),h.resolveWith(i[0])),a.each(j,function(e,j){var k=new Image,l="load."+b+" error."+b;a(k).one(l,function m(b){var e=[g,f,"load"==b.type];return g++,d.apply(j.element,e),h.notifyWith(j.element,e),a(this).off(l,m),g==f?(c.call(i[0]),h.resolveWith(i[0]),!1):void 0}),j.srcset&&(k.srcset=j.srcset),k.src=j.src})}),h.promise()}});(function(factory){if(typeof define==="function"&&define.amd){define([],factory);}else if(typeof exports==="object"){module.exports=factory();}else{window.noUiSlider=factory();}})(function(){"use strict";var VERSION="14.6.3";function isValidFormatter(entry){return typeof entry==="object"&&typeof entry.to==="function"&&typeof entry.from==="function";}
          function removeElement(el){el.parentElement.removeChild(el);}
          function isSet(value){return value!==null&&value!==undefined;}
          function preventDefault(e){e.preventDefault();}
          function unique(array){return array.filter(function(a){return!this[a]?(this[a]=true):false;},{});}
          function closest(value,to){return Math.round(value/to)*to;}
          function offset(elem,orientation){var rect=elem.getBoundingClientRect();var doc=elem.ownerDocument;var docElem=doc.documentElement;var pageOffset=getPageOffset(doc);if(/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)){pageOffset.x=0;}
          return orientation?rect.top+pageOffset.y-docElem.clientTop:rect.left+pageOffset.x-docElem.clientLeft;}
          function isNumeric(a){return typeof a==="number"&&!isNaN(a)&&isFinite(a);}
          function addClassFor(element,className,duration){if(duration>0){addClass(element,className);setTimeout(function(){removeClass(element,className);},duration);}}
          function limit(a){return Math.max(Math.min(a,100),0);}
          function asArray(a){return Array.isArray(a)?a:[a];}
          function countDecimals(numStr){numStr=String(numStr);var pieces=numStr.split(".");return pieces.length>1?pieces[1].length:0;}
          function addClass(el,className){if(el.classList&&!/\s/.test(className)){el.classList.add(className);}else{el.className+=" "+className;}}
          function removeClass(el,className){if(el.classList&&!/\s/.test(className)){el.classList.remove(className);}else{el.className=el.className.replace(new RegExp("(^|\\b)"+className.split(" ").join("|")+"(\\b|$)","gi")," ");}}
          function hasClass(el,className){return el.classList?el.classList.contains(className):new RegExp("\\b"+className+"\\b").test(el.className);}
          function getPageOffset(doc){var supportPageOffset=window.pageXOffset!==undefined;var isCSS1Compat=(doc.compatMode||"")==="CSS1Compat";var x=supportPageOffset?window.pageXOffset:isCSS1Compat?doc.documentElement.scrollLeft:doc.body.scrollLeft;var y=supportPageOffset?window.pageYOffset:isCSS1Compat?doc.documentElement.scrollTop:doc.body.scrollTop;return{x:x,y:y};}
          function getActions(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"};}
          function getSupportsPassive(){var supportsPassive=false;try{var opts=Object.defineProperty({},"passive",{get:function(){supportsPassive=true;}});window.addEventListener("test",null,opts);}catch(e){}
          return supportsPassive;}
          function getSupportsTouchActionNone(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none");}
          function subRangeRatio(pa,pb){return 100/(pb-pa);}
          function fromPercentage(range,value,startRange){return(value*100)/(range[startRange+1]-range[startRange]);}
          function toPercentage(range,value){return fromPercentage(range,range[0]<0?value+Math.abs(range[0]):value-range[0],0);}
          function isPercentage(range,value){return(value*(range[1]-range[0]))/100+range[0];}
          function getJ(value,arr){var j=1;while(value>=arr[j]){j+=1;}
          return j;}
          function toStepping(xVal,xPct,value){if(value>=xVal.slice(-1)[0]){return 100;}
          var j=getJ(value,xVal);var va=xVal[j-1];var vb=xVal[j];var pa=xPct[j-1];var pb=xPct[j];return pa+toPercentage([va,vb],value)/subRangeRatio(pa,pb);}
          function fromStepping(xVal,xPct,value){if(value>=100){return xVal.slice(-1)[0];}
          var j=getJ(value,xPct);var va=xVal[j-1];var vb=xVal[j];var pa=xPct[j-1];var pb=xPct[j];return isPercentage([va,vb],(value-pa)*subRangeRatio(pa,pb));}
          function getStep(xPct,xSteps,snap,value){if(value===100){return value;}
          var j=getJ(value,xPct);var a=xPct[j-1];var b=xPct[j];if(snap){if(value-a>(b-a)/2){return b;}
          return a;}
          if(!xSteps[j-1]){return value;}
          return xPct[j-1]+closest(value-xPct[j-1],xSteps[j-1]);}
          function handleEntryPoint(index,value,that){var percentage;if(typeof value==="number"){value=[value];}
          if(!Array.isArray(value)){throw new Error("noUiSlider ("+VERSION+"): 'range' contains invalid value.");}
          if(index==="min"){percentage=0;}else if(index==="max"){percentage=100;}else{percentage=parseFloat(index);}
          if(!isNumeric(percentage)||!isNumeric(value[0])){throw new Error("noUiSlider ("+VERSION+"): 'range' value isn't numeric.");}
          that.xPct.push(percentage);that.xVal.push(value[0]);if(!percentage){if(!isNaN(value[1])){that.xSteps[0]=value[1];}}else{that.xSteps.push(isNaN(value[1])?false:value[1]);}
          that.xHighestCompleteStep.push(0);}
          function handleStepPoint(i,n,that){if(!n){return;}
          if(that.xVal[i]===that.xVal[i+1]){that.xSteps[i]=that.xHighestCompleteStep[i]=that.xVal[i];return;}
          that.xSteps[i]=fromPercentage([that.xVal[i],that.xVal[i+1]],n,0)/subRangeRatio(that.xPct[i],that.xPct[i+1]);var totalSteps=(that.xVal[i+1]-that.xVal[i])/that.xNumSteps[i];var highestStep=Math.ceil(Number(totalSteps.toFixed(3))-1);var step=that.xVal[i]+that.xNumSteps[i]*highestStep;that.xHighestCompleteStep[i]=step;}
          function Spectrum(entry,snap,singleStep){this.xPct=[];this.xVal=[];this.xSteps=[singleStep||false];this.xNumSteps=[false];this.xHighestCompleteStep=[];this.snap=snap;var index;var ordered=[];for(index in entry){if(entry.hasOwnProperty(index)){ordered.push([entry[index],index]);}}
          if(ordered.length&&typeof ordered[0][0]==="object"){ordered.sort(function(a,b){return a[0][0]-b[0][0];});}else{ordered.sort(function(a,b){return a[0]-b[0];});}
          for(index=0;index<ordered.length;index++){handleEntryPoint(ordered[index][1],ordered[index][0],this);}
          this.xNumSteps=this.xSteps.slice(0);for(index=0;index<this.xNumSteps.length;index++){handleStepPoint(index,this.xNumSteps[index],this);}}
          Spectrum.prototype.getDistance=function(value){var index;var distances=[];for(index=0;index<this.xNumSteps.length-1;index++){var step=this.xNumSteps[index];if(step&&(value/step)%1!==0){throw new Error("noUiSlider ("+
          VERSION+"): 'limit', 'margin' and 'padding' of "+
          this.xPct[index]+"% range must be divisible by step.");}
          distances[index]=fromPercentage(this.xVal,value,index);}
          return distances;};Spectrum.prototype.getAbsoluteDistance=function(value,distances,direction){var xPct_index=0;if(value<this.xPct[this.xPct.length-1]){while(value>this.xPct[xPct_index+1]){xPct_index++;}}else if(value===this.xPct[this.xPct.length-1]){xPct_index=this.xPct.length-2;}
          if(!direction&&value===this.xPct[xPct_index+1]){xPct_index++;}
          var start_factor;var rest_factor=1;var rest_rel_distance=distances[xPct_index];var range_pct=0;var rel_range_distance=0;var abs_distance_counter=0;var range_counter=0;if(direction){start_factor=(value-this.xPct[xPct_index])/(this.xPct[xPct_index+1]-this.xPct[xPct_index]);}else{start_factor=(this.xPct[xPct_index+1]-value)/(this.xPct[xPct_index+1]-this.xPct[xPct_index]);}
          while(rest_rel_distance>0){range_pct=this.xPct[xPct_index+1+range_counter]-this.xPct[xPct_index+range_counter];if(distances[xPct_index+range_counter]*rest_factor+100-start_factor*100>100){rel_range_distance=range_pct*start_factor;rest_factor=(rest_rel_distance-100*start_factor)/distances[xPct_index+range_counter];start_factor=1;}else{rel_range_distance=((distances[xPct_index+range_counter]*range_pct)/100)*rest_factor;rest_factor=0;}
          if(direction){abs_distance_counter=abs_distance_counter-rel_range_distance;if(this.xPct.length+range_counter>=1){range_counter--;}}else{abs_distance_counter=abs_distance_counter+rel_range_distance;if(this.xPct.length-range_counter>=1){range_counter++;}}
          rest_rel_distance=distances[xPct_index+range_counter]*rest_factor;}
          return value+abs_distance_counter;};Spectrum.prototype.toStepping=function(value){value=toStepping(this.xVal,this.xPct,value);return value;};Spectrum.prototype.fromStepping=function(value){return fromStepping(this.xVal,this.xPct,value);};Spectrum.prototype.getStep=function(value){value=getStep(this.xPct,this.xSteps,this.snap,value);return value;};Spectrum.prototype.getDefaultStep=function(value,isDown,size){var j=getJ(value,this.xPct);if(value===100||(isDown&&value===this.xPct[j-1])){j=Math.max(j-1,1);}
          return(this.xVal[j]-this.xVal[j-1])/size;};Spectrum.prototype.getNearbySteps=function(value){var j=getJ(value,this.xPct);return{stepBefore:{startValue:this.xVal[j-2],step:this.xNumSteps[j-2],highestStep:this.xHighestCompleteStep[j-2]},thisStep:{startValue:this.xVal[j-1],step:this.xNumSteps[j-1],highestStep:this.xHighestCompleteStep[j-1]},stepAfter:{startValue:this.xVal[j],step:this.xNumSteps[j],highestStep:this.xHighestCompleteStep[j]}};};Spectrum.prototype.countStepDecimals=function(){var stepDecimals=this.xNumSteps.map(countDecimals);return Math.max.apply(null,stepDecimals);};Spectrum.prototype.convert=function(value){return this.getStep(this.toStepping(value));};var defaultFormatter={to:function(value){return value!==undefined&&value.toFixed(2);},from:Number};var cssClasses={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"};var INTERNAL_EVENT_NS={tooltips:".__tooltips",aria:".__aria"};function validateFormat(entry){if(isValidFormatter(entry)){return true;}
          throw new Error("noUiSlider ("+VERSION+"): 'format' requires 'to' and 'from' methods.");}
          function testStep(parsed,entry){if(!isNumeric(entry)){throw new Error("noUiSlider ("+VERSION+"): 'step' is not numeric.");}
          parsed.singleStep=entry;}
          function testKeyboardPageMultiplier(parsed,entry){if(!isNumeric(entry)){throw new Error("noUiSlider ("+VERSION+"): 'keyboardPageMultiplier' is not numeric.");}
          parsed.keyboardPageMultiplier=entry;}
          function testKeyboardDefaultStep(parsed,entry){if(!isNumeric(entry)){throw new Error("noUiSlider ("+VERSION+"): 'keyboardDefaultStep' is not numeric.");}
          parsed.keyboardDefaultStep=entry;}
          function testRange(parsed,entry){if(typeof entry!=="object"||Array.isArray(entry)){throw new Error("noUiSlider ("+VERSION+"): 'range' is not an object.");}
          if(entry.min===undefined||entry.max===undefined){throw new Error("noUiSlider ("+VERSION+"): Missing 'min' or 'max' in 'range'.");}
          if(entry.min===entry.max){throw new Error("noUiSlider ("+VERSION+"): 'range' 'min' and 'max' cannot be equal.");}
          parsed.spectrum=new Spectrum(entry,parsed.snap,parsed.singleStep);}
          function testStart(parsed,entry){entry=asArray(entry);if(!Array.isArray(entry)||!entry.length){throw new Error("noUiSlider ("+VERSION+"): 'start' option is incorrect.");}
          parsed.handles=entry.length;parsed.start=entry;}
          function testSnap(parsed,entry){parsed.snap=entry;if(typeof entry!=="boolean"){throw new Error("noUiSlider ("+VERSION+"): 'snap' option must be a boolean.");}}
          function testAnimate(parsed,entry){parsed.animate=entry;if(typeof entry!=="boolean"){throw new Error("noUiSlider ("+VERSION+"): 'animate' option must be a boolean.");}}
          function testAnimationDuration(parsed,entry){parsed.animationDuration=entry;if(typeof entry!=="number"){throw new Error("noUiSlider ("+VERSION+"): 'animationDuration' option must be a number.");}}
          function testConnect(parsed,entry){var connect=[false];var i;if(entry==="lower"){entry=[true,false];}else if(entry==="upper"){entry=[false,true];}
          if(entry===true||entry===false){for(i=1;i<parsed.handles;i++){connect.push(entry);}
          connect.push(false);}
          else if(!Array.isArray(entry)||!entry.length||entry.length!==parsed.handles+1){throw new Error("noUiSlider ("+VERSION+"): 'connect' option doesn't match handle count.");}else{connect=entry;}
          parsed.connect=connect;}
          function testOrientation(parsed,entry){switch(entry){case"horizontal":parsed.ort=0;break;case"vertical":parsed.ort=1;break;default:throw new Error("noUiSlider ("+VERSION+"): 'orientation' option is invalid.");}}
          function testMargin(parsed,entry){if(!isNumeric(entry)){throw new Error("noUiSlider ("+VERSION+"): 'margin' option must be numeric.");}
          if(entry===0){return;}
          parsed.margin=parsed.spectrum.getDistance(entry);}
          function testLimit(parsed,entry){if(!isNumeric(entry)){throw new Error("noUiSlider ("+VERSION+"): 'limit' option must be numeric.");}
          parsed.limit=parsed.spectrum.getDistance(entry);if(!parsed.limit||parsed.handles<2){throw new Error("noUiSlider ("+
          VERSION+"): 'limit' option is only supported on linear sliders with 2 or more handles.");}}
          function testPadding(parsed,entry){var index;if(!isNumeric(entry)&&!Array.isArray(entry)){throw new Error("noUiSlider ("+VERSION+"): 'padding' option must be numeric or array of exactly 2 numbers.");}
          if(Array.isArray(entry)&&!(entry.length===2||isNumeric(entry[0])||isNumeric(entry[1]))){throw new Error("noUiSlider ("+VERSION+"): 'padding' option must be numeric or array of exactly 2 numbers.");}
          if(entry===0){return;}
          if(!Array.isArray(entry)){entry=[entry,entry];}
          parsed.padding=[parsed.spectrum.getDistance(entry[0]),parsed.spectrum.getDistance(entry[1])];for(index=0;index<parsed.spectrum.xNumSteps.length-1;index++){if(parsed.padding[0][index]<0||parsed.padding[1][index]<0){throw new Error("noUiSlider ("+VERSION+"): 'padding' option must be a positive number(s).");}}
          var totalPadding=entry[0]+entry[1];var firstValue=parsed.spectrum.xVal[0];var lastValue=parsed.spectrum.xVal[parsed.spectrum.xVal.length-1];if(totalPadding/(lastValue-firstValue)>1){throw new Error("noUiSlider ("+VERSION+"): 'padding' option must not exceed 100% of the range.");}}
          function testDirection(parsed,entry){switch(entry){case"ltr":parsed.dir=0;break;case"rtl":parsed.dir=1;break;default:throw new Error("noUiSlider ("+VERSION+"): 'direction' option was not recognized.");}}
          function testBehaviour(parsed,entry){if(typeof entry!=="string"){throw new Error("noUiSlider ("+VERSION+"): 'behaviour' must be a string containing options.");}
          var tap=entry.indexOf("tap")>=0;var drag=entry.indexOf("drag")>=0;var fixed=entry.indexOf("fixed")>=0;var snap=entry.indexOf("snap")>=0;var hover=entry.indexOf("hover")>=0;var unconstrained=entry.indexOf("unconstrained")>=0;if(fixed){if(parsed.handles!==2){throw new Error("noUiSlider ("+VERSION+"): 'fixed' behaviour must be used with 2 handles");}
          testMargin(parsed,parsed.start[1]-parsed.start[0]);}
          if(unconstrained&&(parsed.margin||parsed.limit)){throw new Error("noUiSlider ("+VERSION+"): 'unconstrained' behaviour cannot be used with margin or limit");}
          parsed.events={tap:tap||snap,drag:drag,fixed:fixed,snap:snap,hover:hover,unconstrained:unconstrained};}
          function testTooltips(parsed,entry){if(entry===false){return;}
          if(entry===true){parsed.tooltips=[];for(var i=0;i<parsed.handles;i++){parsed.tooltips.push(true);}}else{parsed.tooltips=asArray(entry);if(parsed.tooltips.length!==parsed.handles){throw new Error("noUiSlider ("+VERSION+"): must pass a formatter for all handles.");}
          parsed.tooltips.forEach(function(formatter){if(typeof formatter!=="boolean"&&(typeof formatter!=="object"||typeof formatter.to!=="function")){throw new Error("noUiSlider ("+VERSION+"): 'tooltips' must be passed a formatter or 'false'.");}});}}
          function testAriaFormat(parsed,entry){parsed.ariaFormat=entry;validateFormat(entry);}
          function testFormat(parsed,entry){parsed.format=entry;validateFormat(entry);}
          function testKeyboardSupport(parsed,entry){parsed.keyboardSupport=entry;if(typeof entry!=="boolean"){throw new Error("noUiSlider ("+VERSION+"): 'keyboardSupport' option must be a boolean.");}}
          function testDocumentElement(parsed,entry){parsed.documentElement=entry;}
          function testCssPrefix(parsed,entry){if(typeof entry!=="string"&&entry!==false){throw new Error("noUiSlider ("+VERSION+"): 'cssPrefix' must be a string or `false`.");}
          parsed.cssPrefix=entry;}
          function testCssClasses(parsed,entry){if(typeof entry!=="object"){throw new Error("noUiSlider ("+VERSION+"): 'cssClasses' must be an object.");}
          if(typeof parsed.cssPrefix==="string"){parsed.cssClasses={};for(var key in entry){if(!entry.hasOwnProperty(key)){continue;}
          parsed.cssClasses[key]=parsed.cssPrefix+entry[key];}}else{parsed.cssClasses=entry;}}
          function testOptions(options){var parsed={margin:0,limit:0,padding:0,animate:true,animationDuration:300,ariaFormat:defaultFormatter,format:defaultFormatter};var tests={step:{r:false,t:testStep},keyboardPageMultiplier:{r:false,t:testKeyboardPageMultiplier},keyboardDefaultStep:{r:false,t:testKeyboardDefaultStep},start:{r:true,t:testStart},connect:{r:true,t:testConnect},direction:{r:true,t:testDirection},snap:{r:false,t:testSnap},animate:{r:false,t:testAnimate},animationDuration:{r:false,t:testAnimationDuration},range:{r:true,t:testRange},orientation:{r:false,t:testOrientation},margin:{r:false,t:testMargin},limit:{r:false,t:testLimit},padding:{r:false,t:testPadding},behaviour:{r:true,t:testBehaviour},ariaFormat:{r:false,t:testAriaFormat},format:{r:false,t:testFormat},tooltips:{r:false,t:testTooltips},keyboardSupport:{r:true,t:testKeyboardSupport},documentElement:{r:false,t:testDocumentElement},cssPrefix:{r:true,t:testCssPrefix},cssClasses:{r:true,t:testCssClasses}};var defaults={connect:false,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:true,cssPrefix:"noUi-",cssClasses:cssClasses,keyboardPageMultiplier:5,keyboardDefaultStep:10};if(options.format&&!options.ariaFormat){options.ariaFormat=options.format;}
          Object.keys(tests).forEach(function(name){if(!isSet(options[name])&&defaults[name]===undefined){if(tests[name].r){throw new Error("noUiSlider ("+VERSION+"): '"+name+"' is required.");}
          return true;}
          tests[name].t(parsed,!isSet(options[name])?defaults[name]:options[name]);});parsed.pips=options.pips;var d=document.createElement("div");var msPrefix=d.style.msTransform!==undefined;var noPrefix=d.style.transform!==undefined;parsed.transformRule=noPrefix?"transform":msPrefix?"msTransform":"webkitTransform";var styles=[["left","top"],["right","bottom"]];parsed.style=styles[parsed.dir][parsed.ort];return parsed;}
          function scope(target,options,originalOptions){var actions=getActions();var supportsTouchActionNone=getSupportsTouchActionNone();var supportsPassive=supportsTouchActionNone&&getSupportsPassive();var scope_Target=target;var scope_Base;var scope_Handles;var scope_Connects;var scope_Pips;var scope_Tooltips;var scope_Spectrum=options.spectrum;var scope_Values=[];var scope_Locations=[];var scope_HandleNumbers=[];var scope_ActiveHandlesCount=0;var scope_Events={};var scope_Self;var scope_Document=target.ownerDocument;var scope_DocumentElement=options.documentElement||scope_Document.documentElement;var scope_Body=scope_Document.body;var PIPS_NONE=-1;var PIPS_NO_VALUE=0;var PIPS_LARGE_VALUE=1;var PIPS_SMALL_VALUE=2;var scope_DirOffset=scope_Document.dir==="rtl"||options.ort===1?0:100;function addNodeTo(addTarget,className){var div=scope_Document.createElement("div");if(className){addClass(div,className);}
          addTarget.appendChild(div);return div;}
          function addOrigin(base,handleNumber){var origin=addNodeTo(base,options.cssClasses.origin);var handle=addNodeTo(origin,options.cssClasses.handle);addNodeTo(handle,options.cssClasses.touchArea);handle.setAttribute("data-handle",handleNumber);if(options.keyboardSupport){handle.setAttribute("tabindex","0");handle.addEventListener("keydown",function(event){return eventKeydown(event,handleNumber);});}
          handle.setAttribute("role","slider");handle.setAttribute("aria-orientation",options.ort?"vertical":"horizontal");if(handleNumber===0){addClass(handle,options.cssClasses.handleLower);}else if(handleNumber===options.handles-1){addClass(handle,options.cssClasses.handleUpper);}
          return origin;}
          function addConnect(base,add){if(!add){return false;}
          return addNodeTo(base,options.cssClasses.connect);}
          function addElements(connectOptions,base){var connectBase=addNodeTo(base,options.cssClasses.connects);scope_Handles=[];scope_Connects=[];scope_Connects.push(addConnect(connectBase,connectOptions[0]));for(var i=0;i<options.handles;i++){scope_Handles.push(addOrigin(base,i));scope_HandleNumbers[i]=i;scope_Connects.push(addConnect(connectBase,connectOptions[i+1]));}}
          function addSlider(addTarget){addClass(addTarget,options.cssClasses.target);if(options.dir===0){addClass(addTarget,options.cssClasses.ltr);}else{addClass(addTarget,options.cssClasses.rtl);}
          if(options.ort===0){addClass(addTarget,options.cssClasses.horizontal);}else{addClass(addTarget,options.cssClasses.vertical);}
          var textDirection=getComputedStyle(addTarget).direction;if(textDirection==="rtl"){addClass(addTarget,options.cssClasses.textDirectionRtl);}else{addClass(addTarget,options.cssClasses.textDirectionLtr);}
          return addNodeTo(addTarget,options.cssClasses.base);}
          function addTooltip(handle,handleNumber){if(!options.tooltips[handleNumber]){return false;}
          return addNodeTo(handle.firstChild,options.cssClasses.tooltip);}
          function isSliderDisabled(){return scope_Target.hasAttribute("disabled");}
          function isHandleDisabled(handleNumber){var handleOrigin=scope_Handles[handleNumber];return handleOrigin.hasAttribute("disabled");}
          function removeTooltips(){if(scope_Tooltips){removeEvent("update"+INTERNAL_EVENT_NS.tooltips);scope_Tooltips.forEach(function(tooltip){if(tooltip){removeElement(tooltip);}});scope_Tooltips=null;}}
          function tooltips(){removeTooltips();scope_Tooltips=scope_Handles.map(addTooltip);bindEvent("update"+INTERNAL_EVENT_NS.tooltips,function(values,handleNumber,unencoded){if(!scope_Tooltips[handleNumber]){return;}
          var formattedValue=values[handleNumber];if(options.tooltips[handleNumber]!==true){formattedValue=options.tooltips[handleNumber].to(unencoded[handleNumber]);}
          scope_Tooltips[handleNumber].innerHTML=formattedValue;});}
          function aria(){removeEvent("update"+INTERNAL_EVENT_NS.aria);bindEvent("update"+INTERNAL_EVENT_NS.aria,function(values,handleNumber,unencoded,tap,positions){scope_HandleNumbers.forEach(function(index){var handle=scope_Handles[index];var min=checkHandlePosition(scope_Locations,index,0,true,true,true);var max=checkHandlePosition(scope_Locations,index,100,true,true,true);var now=positions[index];var text=options.ariaFormat.to(unencoded[index]);min=scope_Spectrum.fromStepping(min).toFixed(1);max=scope_Spectrum.fromStepping(max).toFixed(1);now=scope_Spectrum.fromStepping(now).toFixed(1);handle.children[0].setAttribute("aria-valuemin",min);handle.children[0].setAttribute("aria-valuemax",max);handle.children[0].setAttribute("aria-valuenow",now);handle.children[0].setAttribute("aria-valuetext",text);});});}
          function getGroup(mode,values,stepped){if(mode==="range"||mode==="steps"){return scope_Spectrum.xVal;}
          if(mode==="count"){if(values<2){throw new Error("noUiSlider ("+VERSION+"): 'values' (>= 2) required for mode 'count'.");}
          var interval=values-1;var spread=100/interval;values=[];while(interval--){values[interval]=interval*spread;}
          values.push(100);mode="positions";}
          if(mode==="positions"){return values.map(function(value){return scope_Spectrum.fromStepping(stepped?scope_Spectrum.getStep(value):value);});}
          if(mode==="values"){if(stepped){return values.map(function(value){return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value)));});}
          return values;}}
          function generateSpread(density,mode,group){function safeIncrement(value,increment){return(value+increment).toFixed(7)/1;}
          var indexes={};var firstInRange=scope_Spectrum.xVal[0];var lastInRange=scope_Spectrum.xVal[scope_Spectrum.xVal.length-1];var ignoreFirst=false;var ignoreLast=false;var prevPct=0;group=unique(group.slice().sort(function(a,b){return a-b;}));if(group[0]!==firstInRange){group.unshift(firstInRange);ignoreFirst=true;}
          if(group[group.length-1]!==lastInRange){group.push(lastInRange);ignoreLast=true;}
          group.forEach(function(current,index){var step;var i;var q;var low=current;var high=group[index+1];var newPct;var pctDifference;var pctPos;var type;var steps;var realSteps;var stepSize;var isSteps=mode==="steps";if(isSteps){step=scope_Spectrum.xNumSteps[index];}
          if(!step){step=high-low;}
          if(low===false){return;}
          if(high===undefined){high=low;}
          step=Math.max(step,0.0000001);for(i=low;i<=high;i=safeIncrement(i,step)){newPct=scope_Spectrum.toStepping(i);pctDifference=newPct-prevPct;steps=pctDifference/density;realSteps=Math.round(steps);stepSize=pctDifference/realSteps;for(q=1;q<=realSteps;q+=1){pctPos=prevPct+q*stepSize;indexes[pctPos.toFixed(5)]=[scope_Spectrum.fromStepping(pctPos),0];}
          type=group.indexOf(i)>-1?PIPS_LARGE_VALUE:isSteps?PIPS_SMALL_VALUE:PIPS_NO_VALUE;if(!index&&ignoreFirst&&i!==high){type=0;}
          if(!(i===high&&ignoreLast)){indexes[newPct.toFixed(5)]=[i,type];}
          prevPct=newPct;}});return indexes;}
          function addMarking(spread,filterFunc,formatter){var element=scope_Document.createElement("div");var valueSizeClasses=[];valueSizeClasses[PIPS_NO_VALUE]=options.cssClasses.valueNormal;valueSizeClasses[PIPS_LARGE_VALUE]=options.cssClasses.valueLarge;valueSizeClasses[PIPS_SMALL_VALUE]=options.cssClasses.valueSub;var markerSizeClasses=[];markerSizeClasses[PIPS_NO_VALUE]=options.cssClasses.markerNormal;markerSizeClasses[PIPS_LARGE_VALUE]=options.cssClasses.markerLarge;markerSizeClasses[PIPS_SMALL_VALUE]=options.cssClasses.markerSub;var valueOrientationClasses=[options.cssClasses.valueHorizontal,options.cssClasses.valueVertical];var markerOrientationClasses=[options.cssClasses.markerHorizontal,options.cssClasses.markerVertical];addClass(element,options.cssClasses.pips);addClass(element,options.ort===0?options.cssClasses.pipsHorizontal:options.cssClasses.pipsVertical);function getClasses(type,source){var a=source===options.cssClasses.value;var orientationClasses=a?valueOrientationClasses:markerOrientationClasses;var sizeClasses=a?valueSizeClasses:markerSizeClasses;return source+" "+orientationClasses[options.ort]+" "+sizeClasses[type];}
          function addSpread(offset,value,type){type=filterFunc?filterFunc(value,type):type;if(type===PIPS_NONE){return;}
          var node=addNodeTo(element,false);node.className=getClasses(type,options.cssClasses.marker);node.style[options.style]=offset+"%";if(type>PIPS_NO_VALUE){node=addNodeTo(element,false);node.className=getClasses(type,options.cssClasses.value);node.setAttribute("data-value",value);node.style[options.style]=offset+"%";node.innerHTML=formatter.to(value);}}
          Object.keys(spread).forEach(function(offset){addSpread(offset,spread[offset][0],spread[offset][1]);});return element;}
          function removePips(){if(scope_Pips){removeElement(scope_Pips);scope_Pips=null;}}
          function pips(grid){removePips();var mode=grid.mode;var density=grid.density||1;var filter=grid.filter||false;var values=grid.values||false;var stepped=grid.stepped||false;var group=getGroup(mode,values,stepped);var spread=generateSpread(density,mode,group);var format=grid.format||{to:Math.round};scope_Pips=scope_Target.appendChild(addMarking(spread,filter,format));return scope_Pips;}
          function baseSize(){var rect=scope_Base.getBoundingClientRect();var alt="offset"+["Width","Height"][options.ort];return options.ort===0?rect.width||scope_Base[alt]:rect.height||scope_Base[alt];}
          function attachEvent(events,element,callback,data){var method=function(e){e=fixEvent(e,data.pageOffset,data.target||element);if(!e){return false;}
          if(isSliderDisabled()&&!data.doNotReject){return false;}
          if(hasClass(scope_Target,options.cssClasses.tap)&&!data.doNotReject){return false;}
          if(events===actions.start&&e.buttons!==undefined&&e.buttons>1){return false;}
          if(data.hover&&e.buttons){return false;}
          if(!supportsPassive){e.preventDefault();}
          e.calcPoint=e.points[options.ort];callback(e,data);};var methods=[];events.split(" ").forEach(function(eventName){element.addEventListener(eventName,method,supportsPassive?{passive:true}:false);methods.push([eventName,method]);});return methods;}
          function fixEvent(e,pageOffset,eventTarget){var touch=e.type.indexOf("touch")===0;var mouse=e.type.indexOf("mouse")===0;var pointer=e.type.indexOf("pointer")===0;var x;var y;if(e.type.indexOf("MSPointer")===0){pointer=true;}
          if(e.type==="mousedown"&&!e.buttons&&!e.touches){return false;}
          if(touch){var isTouchOnTarget=function(checkTouch){return(checkTouch.target===eventTarget||eventTarget.contains(checkTouch.target)||(checkTouch.target.shadowRoot&&checkTouch.target.shadowRoot.contains(eventTarget)));};if(e.type==="touchstart"){var targetTouches=Array.prototype.filter.call(e.touches,isTouchOnTarget);if(targetTouches.length>1){return false;}
          x=targetTouches[0].pageX;y=targetTouches[0].pageY;}else{var targetTouch=Array.prototype.find.call(e.changedTouches,isTouchOnTarget);if(!targetTouch){return false;}
          x=targetTouch.pageX;y=targetTouch.pageY;}}
          pageOffset=pageOffset||getPageOffset(scope_Document);if(mouse||pointer){x=e.clientX+pageOffset.x;y=e.clientY+pageOffset.y;}
          e.pageOffset=pageOffset;e.points=[x,y];e.cursor=mouse||pointer;return e;}
          function calcPointToPercentage(calcPoint){var location=calcPoint-offset(scope_Base,options.ort);var proposal=(location*100)/baseSize();proposal=limit(proposal);return options.dir?100-proposal:proposal;}
          function getClosestHandle(clickedPosition){var smallestDifference=100;var handleNumber=false;scope_Handles.forEach(function(handle,index){if(isHandleDisabled(index)){return;}
          var handlePosition=scope_Locations[index];var differenceWithThisHandle=Math.abs(handlePosition-clickedPosition);var clickAtEdge=differenceWithThisHandle===100&&smallestDifference===100;var isCloser=differenceWithThisHandle<smallestDifference;var isCloserAfter=differenceWithThisHandle<=smallestDifference&&clickedPosition>handlePosition;if(isCloser||isCloserAfter||clickAtEdge){handleNumber=index;smallestDifference=differenceWithThisHandle;}});return handleNumber;}
          function documentLeave(event,data){if(event.type==="mouseout"&&event.target.nodeName==="HTML"&&event.relatedTarget===null){eventEnd(event,data);}}
          function eventMove(event,data){if(navigator.appVersion.indexOf("MSIE 9")===-1&&event.buttons===0&&data.buttonsProperty!==0){return eventEnd(event,data);}
          var movement=(options.dir?-1:1)*(event.calcPoint-data.startCalcPoint);var proposal=(movement*100)/data.baseSize;moveHandles(movement>0,proposal,data.locations,data.handleNumbers);}
          function eventEnd(event,data){if(data.handle){removeClass(data.handle,options.cssClasses.active);scope_ActiveHandlesCount-=1;}
          data.listeners.forEach(function(c){scope_DocumentElement.removeEventListener(c[0],c[1]);});if(scope_ActiveHandlesCount===0){removeClass(scope_Target,options.cssClasses.drag);setZindex();if(event.cursor){scope_Body.style.cursor="";scope_Body.removeEventListener("selectstart",preventDefault);}}
          data.handleNumbers.forEach(function(handleNumber){fireEvent("change",handleNumber);fireEvent("set",handleNumber);fireEvent("end",handleNumber);});}
          function eventStart(event,data){if(data.handleNumbers.some(isHandleDisabled)){return false;}
          var handle;if(data.handleNumbers.length===1){var handleOrigin=scope_Handles[data.handleNumbers[0]];handle=handleOrigin.children[0];scope_ActiveHandlesCount+=1;addClass(handle,options.cssClasses.active);}
          event.stopPropagation();var listeners=[];var moveEvent=attachEvent(actions.move,scope_DocumentElement,eventMove,{target:event.target,handle:handle,listeners:listeners,startCalcPoint:event.calcPoint,baseSize:baseSize(),pageOffset:event.pageOffset,handleNumbers:data.handleNumbers,buttonsProperty:event.buttons,locations:scope_Locations.slice()});var endEvent=attachEvent(actions.end,scope_DocumentElement,eventEnd,{target:event.target,handle:handle,listeners:listeners,doNotReject:true,handleNumbers:data.handleNumbers});var outEvent=attachEvent("mouseout",scope_DocumentElement,documentLeave,{target:event.target,handle:handle,listeners:listeners,doNotReject:true,handleNumbers:data.handleNumbers});listeners.push.apply(listeners,moveEvent.concat(endEvent,outEvent));if(event.cursor){scope_Body.style.cursor=getComputedStyle(event.target).cursor;if(scope_Handles.length>1){addClass(scope_Target,options.cssClasses.drag);}
          scope_Body.addEventListener("selectstart",preventDefault,false);}
          data.handleNumbers.forEach(function(handleNumber){fireEvent("start",handleNumber);});}
          function eventTap(event){event.stopPropagation();var proposal=calcPointToPercentage(event.calcPoint);var handleNumber=getClosestHandle(proposal);if(handleNumber===false){return false;}
          if(!options.events.snap){addClassFor(scope_Target,options.cssClasses.tap,options.animationDuration);}
          setHandle(handleNumber,proposal,true,true);setZindex();fireEvent("slide",handleNumber,true);fireEvent("update",handleNumber,true);fireEvent("change",handleNumber,true);fireEvent("set",handleNumber,true);if(options.events.snap){eventStart(event,{handleNumbers:[handleNumber]});}}
          function eventHover(event){var proposal=calcPointToPercentage(event.calcPoint);var to=scope_Spectrum.getStep(proposal);var value=scope_Spectrum.fromStepping(to);Object.keys(scope_Events).forEach(function(targetEvent){if("hover"===targetEvent.split(".")[0]){scope_Events[targetEvent].forEach(function(callback){callback.call(scope_Self,value);});}});}
          function eventKeydown(event,handleNumber){if(isSliderDisabled()||isHandleDisabled(handleNumber)){return false;}
          var horizontalKeys=["Left","Right"];var verticalKeys=["Down","Up"];var largeStepKeys=["PageDown","PageUp"];var edgeKeys=["Home","End"];if(options.dir&&!options.ort){horizontalKeys.reverse();}else if(options.ort&&!options.dir){verticalKeys.reverse();largeStepKeys.reverse();}
          var key=event.key.replace("Arrow","");var isLargeDown=key===largeStepKeys[0];var isLargeUp=key===largeStepKeys[1];var isDown=key===verticalKeys[0]||key===horizontalKeys[0]||isLargeDown;var isUp=key===verticalKeys[1]||key===horizontalKeys[1]||isLargeUp;var isMin=key===edgeKeys[0];var isMax=key===edgeKeys[1];if(!isDown&&!isUp&&!isMin&&!isMax){return true;}
          event.preventDefault();var to;if(isUp||isDown){var multiplier=options.keyboardPageMultiplier;var direction=isDown?0:1;var steps=getNextStepsForHandle(handleNumber);var step=steps[direction];if(step===null){return false;}
          if(step===false){step=scope_Spectrum.getDefaultStep(scope_Locations[handleNumber],isDown,options.keyboardDefaultStep);}
          if(isLargeUp||isLargeDown){step*=multiplier;}
          step=Math.max(step,0.0000001);step=(isDown?-1:1)*step;to=scope_Values[handleNumber]+step;}else if(isMax){to=options.spectrum.xVal[options.spectrum.xVal.length-1];}else{to=options.spectrum.xVal[0];}
          setHandle(handleNumber,scope_Spectrum.toStepping(to),true,true);fireEvent("slide",handleNumber);fireEvent("update",handleNumber);fireEvent("change",handleNumber);fireEvent("set",handleNumber);return false;}
          function bindSliderEvents(behaviour){if(!behaviour.fixed){scope_Handles.forEach(function(handle,index){attachEvent(actions.start,handle.children[0],eventStart,{handleNumbers:[index]});});}
          if(behaviour.tap){attachEvent(actions.start,scope_Base,eventTap,{});}
          if(behaviour.hover){attachEvent(actions.move,scope_Base,eventHover,{hover:true});}
          if(behaviour.drag){scope_Connects.forEach(function(connect,index){if(connect===false||index===0||index===scope_Connects.length-1){return;}
          var handleBefore=scope_Handles[index-1];var handleAfter=scope_Handles[index];var eventHolders=[connect];addClass(connect,options.cssClasses.draggable);if(behaviour.fixed){eventHolders.push(handleBefore.children[0]);eventHolders.push(handleAfter.children[0]);}
          eventHolders.forEach(function(eventHolder){attachEvent(actions.start,eventHolder,eventStart,{handles:[handleBefore,handleAfter],handleNumbers:[index-1,index]});});});}}
          function bindEvent(namespacedEvent,callback){scope_Events[namespacedEvent]=scope_Events[namespacedEvent]||[];scope_Events[namespacedEvent].push(callback);if(namespacedEvent.split(".")[0]==="update"){scope_Handles.forEach(function(a,index){fireEvent("update",index);});}}
          function isInternalNamespace(namespace){return namespace===INTERNAL_EVENT_NS.aria||namespace===INTERNAL_EVENT_NS.tooltips;}
          function removeEvent(namespacedEvent){var event=namespacedEvent&&namespacedEvent.split(".")[0];var namespace=event?namespacedEvent.substring(event.length):namespacedEvent;Object.keys(scope_Events).forEach(function(bind){var tEvent=bind.split(".")[0];var tNamespace=bind.substring(tEvent.length);if((!event||event===tEvent)&&(!namespace||namespace===tNamespace)){if(!isInternalNamespace(tNamespace)||namespace===tNamespace){delete scope_Events[bind];}}});}
          function fireEvent(eventName,handleNumber,tap){Object.keys(scope_Events).forEach(function(targetEvent){var eventType=targetEvent.split(".")[0];if(eventName===eventType){scope_Events[targetEvent].forEach(function(callback){callback.call(scope_Self,scope_Values.map(options.format.to),handleNumber,scope_Values.slice(),tap||false,scope_Locations.slice(),scope_Self);});}});}
          function checkHandlePosition(reference,handleNumber,to,lookBackward,lookForward,getValue){var distance;if(scope_Handles.length>1&&!options.events.unconstrained){if(lookBackward&&handleNumber>0){distance=scope_Spectrum.getAbsoluteDistance(reference[handleNumber-1],options.margin,0);to=Math.max(to,distance);}
          if(lookForward&&handleNumber<scope_Handles.length-1){distance=scope_Spectrum.getAbsoluteDistance(reference[handleNumber+1],options.margin,1);to=Math.min(to,distance);}}
          if(scope_Handles.length>1&&options.limit){if(lookBackward&&handleNumber>0){distance=scope_Spectrum.getAbsoluteDistance(reference[handleNumber-1],options.limit,0);to=Math.min(to,distance);}
          if(lookForward&&handleNumber<scope_Handles.length-1){distance=scope_Spectrum.getAbsoluteDistance(reference[handleNumber+1],options.limit,1);to=Math.max(to,distance);}}
          if(options.padding){if(handleNumber===0){distance=scope_Spectrum.getAbsoluteDistance(0,options.padding[0],0);to=Math.max(to,distance);}
          if(handleNumber===scope_Handles.length-1){distance=scope_Spectrum.getAbsoluteDistance(100,options.padding[1],1);to=Math.min(to,distance);}}
          to=scope_Spectrum.getStep(to);to=limit(to);if(to===reference[handleNumber]&&!getValue){return false;}
          return to;}
          function inRuleOrder(v,a){var o=options.ort;return(o?a:v)+", "+(o?v:a);}
          function moveHandles(upward,proposal,locations,handleNumbers){var proposals=locations.slice();var b=[!upward,upward];var f=[upward,!upward];handleNumbers=handleNumbers.slice();if(upward){handleNumbers.reverse();}
          if(handleNumbers.length>1){handleNumbers.forEach(function(handleNumber,o){var to=checkHandlePosition(proposals,handleNumber,proposals[handleNumber]+proposal,b[o],f[o],false);if(to===false){proposal=0;}else{proposal=to-proposals[handleNumber];proposals[handleNumber]=to;}});}
          else{b=f=[true];}
          var state=false;handleNumbers.forEach(function(handleNumber,o){state=setHandle(handleNumber,locations[handleNumber]+proposal,b[o],f[o])||state;});if(state){handleNumbers.forEach(function(handleNumber){fireEvent("update",handleNumber);fireEvent("slide",handleNumber);});}}
          function transformDirection(a,b){return options.dir?100-a-b:a;}
          function updateHandlePosition(handleNumber,to){scope_Locations[handleNumber]=to;scope_Values[handleNumber]=scope_Spectrum.fromStepping(to);var translation=10*(transformDirection(to,0)-scope_DirOffset);var translateRule="translate("+inRuleOrder(translation+"%","0")+")";scope_Handles[handleNumber].style[options.transformRule]=translateRule;updateConnect(handleNumber);updateConnect(handleNumber+1);}
          function setZindex(){scope_HandleNumbers.forEach(function(handleNumber){var dir=scope_Locations[handleNumber]>50?-1:1;var zIndex=3+(scope_Handles.length+dir*handleNumber);scope_Handles[handleNumber].style.zIndex=zIndex;});}
          function setHandle(handleNumber,to,lookBackward,lookForward,exactInput){if(!exactInput){to=checkHandlePosition(scope_Locations,handleNumber,to,lookBackward,lookForward,false);}
          if(to===false){return false;}
          updateHandlePosition(handleNumber,to);return true;}
          function updateConnect(index){if(!scope_Connects[index]){return;}
          var l=0;var h=100;if(index!==0){l=scope_Locations[index-1];}
          if(index!==scope_Connects.length-1){h=scope_Locations[index];}
          var connectWidth=h-l;var translateRule="translate("+inRuleOrder(transformDirection(l,connectWidth)+"%","0")+")";var scaleRule="scale("+inRuleOrder(connectWidth/100,"1")+")";scope_Connects[index].style[options.transformRule]=translateRule+" "+scaleRule;}
          function resolveToValue(to,handleNumber){if(to===null||to===false||to===undefined){return scope_Locations[handleNumber];}
          if(typeof to==="number"){to=String(to);}
          to=options.format.from(to);to=scope_Spectrum.toStepping(to);if(to===false||isNaN(to)){return scope_Locations[handleNumber];}
          return to;}
          function valueSet(input,fireSetEvent,exactInput){var values=asArray(input);var isInit=scope_Locations[0]===undefined;fireSetEvent=fireSetEvent===undefined?true:!!fireSetEvent;if(options.animate&&!isInit){addClassFor(scope_Target,options.cssClasses.tap,options.animationDuration);}
          scope_HandleNumbers.forEach(function(handleNumber){setHandle(handleNumber,resolveToValue(values[handleNumber],handleNumber),true,false,exactInput);});var i=scope_HandleNumbers.length===1?0:1;for(;i<scope_HandleNumbers.length;++i){scope_HandleNumbers.forEach(function(handleNumber){setHandle(handleNumber,scope_Locations[handleNumber],true,true,exactInput);});}
          setZindex();scope_HandleNumbers.forEach(function(handleNumber){fireEvent("update",handleNumber);if(values[handleNumber]!==null&&fireSetEvent){fireEvent("set",handleNumber);}});}
          function valueReset(fireSetEvent){valueSet(options.start,fireSetEvent);}
          function valueSetHandle(handleNumber,value,fireSetEvent,exactInput){handleNumber=Number(handleNumber);if(!(handleNumber>=0&&handleNumber<scope_HandleNumbers.length)){throw new Error("noUiSlider ("+VERSION+"): invalid handle number, got: "+handleNumber);}
          setHandle(handleNumber,resolveToValue(value,handleNumber),true,true,exactInput);fireEvent("update",handleNumber);if(fireSetEvent){fireEvent("set",handleNumber);}}
          function valueGet(){var values=scope_Values.map(options.format.to);if(values.length===1){return values[0];}
          return values;}
          function destroy(){removeEvent(INTERNAL_EVENT_NS.aria);removeEvent(INTERNAL_EVENT_NS.tooltips);for(var key in options.cssClasses){if(!options.cssClasses.hasOwnProperty(key)){continue;}
          removeClass(scope_Target,options.cssClasses[key]);}
          while(scope_Target.firstChild){scope_Target.removeChild(scope_Target.firstChild);}
          delete scope_Target.noUiSlider;}
          function getNextStepsForHandle(handleNumber){var location=scope_Locations[handleNumber];var nearbySteps=scope_Spectrum.getNearbySteps(location);var value=scope_Values[handleNumber];var increment=nearbySteps.thisStep.step;var decrement=null;if(options.snap){return[value-nearbySteps.stepBefore.startValue||null,nearbySteps.stepAfter.startValue-value||null];}
          if(increment!==false){if(value+increment>nearbySteps.stepAfter.startValue){increment=nearbySteps.stepAfter.startValue-value;}}
          if(value>nearbySteps.thisStep.startValue){decrement=nearbySteps.thisStep.step;}else if(nearbySteps.stepBefore.step===false){decrement=false;}
          else{decrement=value-nearbySteps.stepBefore.highestStep;}
          if(location===100){increment=null;}else if(location===0){decrement=null;}
          var stepDecimals=scope_Spectrum.countStepDecimals();if(increment!==null&&increment!==false){increment=Number(increment.toFixed(stepDecimals));}
          if(decrement!==null&&decrement!==false){decrement=Number(decrement.toFixed(stepDecimals));}
          return[decrement,increment];}
          function getNextSteps(){return scope_HandleNumbers.map(getNextStepsForHandle);}
          function updateOptions(optionsToUpdate,fireSetEvent){var v=valueGet();var updateAble=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];updateAble.forEach(function(name){if(optionsToUpdate[name]!==undefined){originalOptions[name]=optionsToUpdate[name];}});var newOptions=testOptions(originalOptions);updateAble.forEach(function(name){if(optionsToUpdate[name]!==undefined){options[name]=newOptions[name];}});scope_Spectrum=newOptions.spectrum;options.margin=newOptions.margin;options.limit=newOptions.limit;options.padding=newOptions.padding;if(options.pips){pips(options.pips);}else{removePips();}
          if(options.tooltips){tooltips();}else{removeTooltips();}
          scope_Locations=[];valueSet(optionsToUpdate.start||v,fireSetEvent);}
          function setupSlider(){scope_Base=addSlider(scope_Target);addElements(options.connect,scope_Base);bindSliderEvents(options.events);valueSet(options.start);if(options.pips){pips(options.pips);}
          if(options.tooltips){tooltips();}
          aria();}
          setupSlider();scope_Self={destroy:destroy,steps:getNextSteps,on:bindEvent,off:removeEvent,get:valueGet,set:valueSet,setHandle:valueSetHandle,reset:valueReset,__moveHandles:function(a,b,c){moveHandles(a,b,scope_Locations,c);},options:originalOptions,updateOptions:updateOptions,target:scope_Target,removePips:removePips,removeTooltips:removeTooltips,getTooltips:function(){return scope_Tooltips;},getOrigins:function(){return scope_Handles;},pips:pips};return scope_Self;}
          function initialize(target,originalOptions){if(!target||!target.nodeName){throw new Error("noUiSlider ("+VERSION+"): create requires a single element, got: "+target);}
          if(target.noUiSlider){throw new Error("noUiSlider ("+VERSION+"): Slider was already initialized.");}
          var options=testOptions(originalOptions,target);var api=scope(target,options,originalOptions);target.noUiSlider=api;return api;}
          return{__spectrum:Spectrum,version:VERSION,cssClasses:cssClasses,create:initialize};});"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)?e.defaultView:window:e}function r(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return(o(e)?e.ownerDocument:e.document).documentElement}function f(e){return t(s(e)).left+r(e).scrollLeft}function p(e){return n(e).getComputedStyle(e)}function c(e){return e=p(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function u(e,o,p){void 0===p&&(p=!1);var u=s(o);e=t(e);var d={scrollLeft:0,scrollTop:0},l={x:0,y:0};return p||(("body"!==a(o)||c(u))&&(d=o!==n(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:r(o)),i(o)?((l=t(o)).x+=o.clientLeft,l.y+=o.clientTop):u&&(l.x=f(u))),{x:e.left+d.scrollLeft-l.x,y:e.top+d.scrollTop-l.y,width:e.width,height:e.height}}function d(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function l(e){return"html"===a(e)?e:e.assignedSlot||e.parentNode||e.host||s(e)}function m(e,t){void 0===t&&(t=[]);var r=function e(t){return 0<=["html","body","#document"].indexOf(a(t))?t.ownerDocument.body:i(t)&&c(t)?t:e(l(t))}(e);e="body"===a(r);var o=n(r);return r=e?[o].concat(o.visualViewport||[],c(r)?r:[]):r,t=t.concat(r),e?t:t.concat(m(l(r)))}function h(e){return i(e)&&"fixed"!==p(e).position?e.offsetParent:null}function v(e){var t=n(e);for(e=h(e);e&&0<=["table","td","th"].indexOf(a(e));)e=h(e);return e&&"body"===a(e)&&"static"===p(e).position?t:e||t}function g(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function x(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function w(e){void 0===e&&(e={});var t=e.defaultModifiers,n=void 0===t?[]:t,r=void 0===(e=e.defaultOptions)?N:e;return function(e,t,i){function a(){f.forEach((function(e){return e()})),f=[]}void 0===i&&(i=r);var s={placement:"bottom",orderedModifiers:[],options:Object.assign({},N,{},r),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],p=!1,c={state:s,setOptions:function(i){return a(),s.options=Object.assign({},r,{},s.options,{},i),s.scrollParents={reference:o(e)?m(e):e.contextElement?m(e.contextElement):[],popper:m(t)},i=function(e){var t=g(e);return F.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,{},t,{options:Object.assign({},n.options,{},t.options),data:Object.assign({},n.data,{},t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(n,s.options.modifiers))),s.orderedModifiers=i.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options;n=void 0===n?{}:n,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:c,options:n}),f.push(t||function(){}))})),c.update()},forceUpdate:function(){if(!p){var e=s.elements,t=e.reference;if(x(t,e=e.popper))for(s.rects={reference:u(t,v(e),"fixed"===s.options.strategy),popper:d(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)})),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var n=s.orderedModifiers[t];e=n.fn;var r=n.options;r=void 0===r?{}:r,n=n.name,"function"==typeof e&&(s=e({state:s,options:r,name:n,instance:c})||s)}}},update:b((function(){return new Promise((function(e){c.forceUpdate(),e(s)}))})),destroy:function(){a(),p=!0}};return x(e,t)?(c.setOptions(i).then((function(e){!p&&i.onFirstUpdate&&i.onFirstUpdate(e)})),c):c}}function O(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function M(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?O(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]=Math.floor(o[r])-Math.floor(t[i]/2-n[i]/2);break;case"end":o[r]=Math.floor(o[r])+Math.ceil(t[i]/2-n[i]/2)}return o}function j(e){var t,r=e.popper,o=e.popperRect,i=e.placement,a=e.offsets,f=e.position,p=e.gpuAcceleration,c=e.adaptive,u=window.devicePixelRatio||1;e=Math.round(a.x*u)/u||0,u=Math.round(a.y*u)/u||0;var d=a.hasOwnProperty("x");a=a.hasOwnProperty("y");var l,m="left",h="top",g=window;if(c){var b=v(r);b===n(r)&&(b=s(r)),"top"===i&&(h="bottom",u-=b.clientHeight-o.height,u*=p?1:-1),"left"===i&&(m="right",e-=b.clientWidth-o.width,e*=p?1:-1)}return r=Object.assign({position:f},c&&I),p?Object.assign({},r,((l={})[h]=a?"0":"",l[m]=d?"0":"",l.transform=2>(g.devicePixelRatio||1)?"translate("+e+"px, "+u+"px)":"translate3d("+e+"px, "+u+"px, 0)",l)):Object.assign({},r,((t={})[h]=a?u+"px":"",t[m]=d?e+"px":"",t.transform="",t))}function E(e){return e.replace(/left|right|bottom|top/g,(function(e){return _[e]}))}function D(e){return e.replace(/start|end/g,(function(e){return U[e]}))}function P(e,t){var n=!(!t.getRootNode||!t.getRootNode().host);if(e.contains(t))return!0;if(n)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function L(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function k(e,o){if("viewport"===o){var a=n(e);e=a.visualViewport,o=a.innerWidth,a=a.innerHeight,e&&/iPhone|iPod|iPad/.test(navigator.platform)&&(o=e.width,a=e.height),e=L({width:o,height:a,x:0,y:0})}else i(o)?e=t(o):(e=n(a=s(e)),o=r(a),(a=u(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-o.scrollLeft,a.y=-o.scrollTop,e=L(a));return e}function B(e,t,r){return t="clippingParents"===t?function(e){var t=m(e),n=0<=["absolute","fixed"].indexOf(p(e).position)&&i(e)?v(e):e;return o(n)?t.filter((function(e){return o(e)&&P(e,n)})):[]}(e):[].concat(t),(r=(r=[].concat(t,[r])).reduce((function(t,r){var o=k(e,r),c=n(r=i(r)?r:s(e)),u=i(r)?p(r):{};parseFloat(u.borderTopWidth);var d=parseFloat(u.borderRightWidth)||0,l=parseFloat(u.borderBottomWidth)||0,m=parseFloat(u.borderLeftWidth)||0;u="html"===a(r);var h=f(r),v=r.clientWidth+d,g=r.clientHeight+l;return u&&50<c.innerHeight-r.clientHeight&&(g=c.innerHeight-l),l=u?0:r.clientTop,d=r.clientLeft>m?d:u?c.innerWidth-v-h:r.offsetWidth-v,c=u?c.innerHeight-g:r.offsetHeight-g,r=u?h:r.clientLeft,t.top=Math.max(o.top+l,t.top),t.right=Math.min(o.right-d,t.right),t.bottom=Math.min(o.bottom-c,t.bottom),t.left=Math.max(o.left+r,t.left),t}),k(e,r[0]))).width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function W(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function A(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function H(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var p=r.altBoundary,c=void 0!==p&&p;r=W("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:A(r,q));var u=e.elements.reference;p=e.rects.popper,a=B(o(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:c.contextElement||s(e.elements.popper),a,f),c=M({reference:f=t(u),element:p,strategy:"absolute",placement:n}),p=L(Object.assign({},p,{},c)),f="popper"===i?p:f;var d={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var l=e[n];Object.keys(d).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";d[e]+=l[n]*t}))}return d}function T(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function R(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var q=["top","bottom","right","left"],S=q.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(q,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),F="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),N={placement:"bottom",modifiers:[],strategy:"absolute"},V={passive:!0},I={top:"auto",right:"auto",bottom:"auto",left:"auto"},_={left:"right",right:"left",bottom:"top",top:"bottom"},U={start:"end",end:"start"},z=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,V)})),a&&s.addEventListener("resize",r.update,V),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,V)})),a&&s.removeEventListener("resize",r.update,V)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=M({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e,n=void 0===(n=n.adaptive)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,{},j(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},j(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign({},o,{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,p=n.altBoundary,c=n.flipVariations,u=void 0===c||c,d=n.allowedAutoPlacements;c=y(n=t.options.placement),i=i||(c!==n&&u?function(e){if("auto"===y(e))return[];var t=E(e);return[D(e),t,D(t)]}(n):[E(n)]);var l=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1],p=(f?i?S:S.filter((function(e){return e.split("-")[1]===f})):q).filter((function(e){return 0<=s.indexOf(e)})).reduce((function(t,i){return t[i]=H(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:u,allowedAutoPlacements:d}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;c=!0;for(var h=l[0],v=0;v<l.length;v++){var g=l[v],b=y(g),x="start"===g.split("-")[1],w=0<=["top","bottom"].indexOf(b),O=w?"width":"height",M=H(t,{placement:g,boundary:s,rootBoundary:f,altBoundary:p,padding:a});if(x=w?x?"right":"left":x?"bottom":"top",n[O]>i[O]&&(x=E(x)),O=E(x),w=[],r&&w.push(0>=M[b]),o&&w.push(0>=M[x],0>=M[O]),w.every((function(e){return e}))){h=g,c=!1;break}m.set(g,w)}if(c)for(r=function(e){var t=l.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=u?3:1;0<o&&"break"!==r(o);o--);t.placement!==h&&(t.modifiersData[e]._skip=!0,t.placement=h,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;e=e.name;var r=n.mainAxis,o=void 0===r||r;r=void 0!==(r=n.altAxis)&&r;var i=n.tether;i=void 0===i||i;var a=n.tetherOffset,s=void 0===a?0:a;n=H(t,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),a=y(t.placement);var f=t.placement.split("-")[1],p=!f,c=O(a);a="x"===c?"y":"x";var u=t.modifiersData.popperOffsets,l=t.rects.reference,m=t.rects.popper,h="function"==typeof s?s(Object.assign({},t.rects,{placement:t.placement})):s;if(s={x:0,y:0},u){if(o){var g="y"===c?"top":"left",b="y"===c?"bottom":"right",x="y"===c?"height":"width";o=u[c];var w=u[c]+n[g],M=u[c]-n[b],j=i?-m[x]/2:0,E="start"===f?l[x]:m[x];f="start"===f?-m[x]:-l[x],m=t.elements.arrow,m=i&&m?d(m):{width:0,height:0};var D=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};g=D[g],b=D[b],m=Math.max(0,Math.min(l[x],m[x])),E=p?l[x]/2-j-m-g-h:E-m-g-h,p=p?-l[x]/2+j+m+b+h:f+m+b+h,h=t.elements.arrow&&v(t.elements.arrow),l=t.modifiersData.offset?t.modifiersData.offset[t.placement][c]:0,h=u[c]+E-l-(h?"y"===c?h.clientTop||0:h.clientLeft||0:0),p=u[c]+p-l,i=Math.max(i?Math.min(w,h):w,Math.min(o,i?Math.max(M,p):M)),u[c]=i,s[c]=i-o}r&&(r=u[a],i=Math.max(r+n["x"===c?"top":"left"],Math.min(r,r-n["x"===c?"bottom":"right"])),u[a]=i,s[a]=i-r),t.modifiersData[e]=s}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state;e=e.name;var r=n.elements.arrow,o=n.modifiersData.popperOffsets,i=y(n.placement),a=O(i);if(i=0<=["left","right"].indexOf(i)?"height":"width",r&&o){var s=n.modifiersData[e+"#persistent"].padding,f=d(r),p="y"===a?"top":"left",c="y"===a?"bottom":"right",u=n.rects.reference[i]+n.rects.reference[a]-o[a]-n.rects.popper[i];o=o[a]-n.rects.reference[a],u=(r=(r=v(r))?"y"===a?r.clientHeight||0:r.clientWidth||0:0)/2-f[i]/2+(u/2-o/2),i=Math.max(s[p],Math.min(u,r-f[i]-s[c])),n.modifiersData[e]=((t={})[a]=i,t.centerOffset=i-u,t)}},effect:function(e){var t=e.state,n=e.options;e=e.name;var r=n.element;if(r=void 0===r?"[data-popper-arrow]":r,n=void 0===(n=n.padding)?0:n,null!=r){if("string"==typeof r&&!(r=t.elements.popper.querySelector(r)))return;P(t.elements.popper,r)&&(t.elements.arrow=r,t.modifiersData[e+"#persistent"]={padding:W("number"!=typeof n?n:A(n,q))})}},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var n=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,i=H(t,{elementContext:"reference"}),a=H(t,{altBoundary:!0});n=T(i,n),r=T(a,r,o),o=R(n),a=R(r),t.modifiersData[e]={referenceClippingOffsets:n,popperEscapeOffsets:r,isReferenceHidden:o,hasPopperEscaped:a},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":o,"data-popper-escaped":a})}}],X=w({defaultModifiers:z});e.createPopper=X,e.defaultModifiers=z,e.detectOverflow=H,e.popperGenerator=w,Object.defineProperty(e,"__esModule",{value:!0})}));setCaptcha();function checkForm(form){let why="";if(form.CaptchaInput.value===""){why+=_("- Please Enter CAPTCHA Code.\n");}
          if(form.CaptchaInput.value!==""){if(validateCaptcha(form.CaptchaInput.value)===false){why+=_("- The CAPTCHA Code Does Not Match.\n");}}
          if(why!==""){alert(why);return false;}else{return true;}}
          function validateCaptcha(){const str1=removeSpaces(document.getElementById('txtCaptcha').value);const str2=removeSpaces(document.getElementById('CaptchaInput').value);return(str1===str2)}
          function setCaptcha(){if(!$('#txtCaptcha').length)return;const a=Math.ceil(Math.random()*9)+'';const b=Math.ceil(Math.random()*9)+'';const c=Math.ceil(Math.random()*9)+'';const d=Math.ceil(Math.random()*9)+'';const e=Math.ceil(Math.random()*9)+'';const code=a+b+c+d+e;document.getElementById("txtCaptcha").value=code;document.getElementById('CaptchaInput').value='';document.getElementById("CaptchaText").innerHTML=code;}
          function removeSpaces(string){return string.split(' ').join('');}
          Evidence
          f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,
          Solution

          Please upgrade to the latest version of jquery.

  2. Risk=Medium, Confidence=Low (1)

    1. https://mcuxpresso.nxp.com (1)

      1. Absence of Anti-CSRF Tokens (1)
        1. GET https://mcuxpresso.nxp.com/en/select
          Alert tags
          Alert description

          No Anti-CSRF tokens were found in a HTML submission form.

          A cross-site request forgery is an attack that involves forcing a victim to send an HTTP request to a target destination without their knowledge or intent in order to perform an action as the victim. The underlying cause is application functionality using predictable URL/form actions in a repeatable way. The nature of the attack is that CSRF exploits the trust that a web site has for a user. By contrast, cross-site scripting (XSS) exploits the trust that a user has for a web site. Like XSS, CSRF attacks are not necessarily cross-site, but they can be. Cross-site request forgery is also known as CSRF, XSRF, one-click attack, session riding, confused deputy, and sea surf.

          CSRF attacks are effective in a number of situations, including:

          * The victim has an active session on the target site.

          * The victim is authenticated via HTTP auth on the target site.

          * The victim is on the same local network as the target site.

          CSRF has primarily been used to perform an action against a target site using the victim's privileges, but recent techniques have been discovered to disclose information by gaining access to the response. The risk of information disclosure is dramatically increased when the target site is vulnerable to XSS, because XSS can be used as a platform for CSRF, allowing the attack to operate within the bounds of the same-origin policy.

          Other info

          No known Anti-CSRF token [anticsrf, CSRFToken, __RequestVerificationToken, csrfmiddlewaretoken, authenticity_token, OWASP_CSRFTOKEN, anoncsrf, csrf_token, _csrf, _csrfSecret, __csrf_magic, CSRF, _token, _csrf_token] was found in the following HTML form: [Form 1: "CaptchaInput" "feedback-name" "txtCaptcha" ].

          Request
          Request line and header section (1132 bytes)
          GET https://mcuxpresso.nxp.com/en/select HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Referer: https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F
          Connection: keep-alive
          Cookie: _ga=GA1.2.1393647954.1650211260; _gid=GA1.2.1240765233.1650211260; _gat=1; RT="z=1&dm=nxp.com&si=48a7596a-c368-4b99-8403-539b9ffe83b6&ss=l23h6dbn&sl=2&tt=35m&obo=1&bcn=%2F%2F684dd32a.akstat.io%2F&ld=cz9&nu=c7hlhuo&cl=n6d&ul=n6y"; session=.eJyrVnJ2DI53DAkJ8nQKDXENVrJSqsjNLClJNDB0KCstSSrSS65S0gErCg12DfJz9HXFoSQepCbE39vVD6ggOETX1MRUNynRV9ekrEjX1yTHO83X3zE90yegQNfdtCLEQLe4OD8-Kac0NT632MxYqRYAak0qvg.Ylw53g.-p9DUbQ4k9V933ACnXXI8VVzN-g; sat_track=false; OptanonConsent=isIABGlobal=false&datestamp=Sun+Apr+17+2022+11%3A01%3A14+GMT-0500+(Central+Daylight+Time)&version=6.18.0&landingPath=https%3A%2F%2Fwww.nxp.com%2Fsecurity%2Flogin%3Fservice%3Dhttps%253A%252F%252Fmcuxpresso.nxp.com%252Flogin%252F
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (442 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Content-Type: text/html; charset=utf-8
          X-Akamai-Transformed: 9 6069 0 pmb=mRUM,1
          Vary: cookie
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:01:35 GMT
          Date: Sun, 17 Apr 2022 16:01:35 GMT
          Content-Length: 27179
          Connection: keep-alive
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=123
          Server-Timing: origin; dur=94
          
          
          Response body (27179 bytes)
          <!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta property="twitter:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta property="og:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><title>Select Board | MCUXpresso SDK Builder</title><meta name="description" content="The MCUXpresso SDK brings open source drivers, middleware,
                             and reference example applications to speed your software development."><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"><!-- NOTE: no favicon link, as long as it remains in the root directory. --><link rel="shortcut icon" href="/static/icon/favicon.ico?rev=2"><link rel="stylesheet" type="text/css" href="/static/generated/external.e9e510e2.min.css"><link href="/static/fontawesome/css/all.css" rel="stylesheet"><link rel="gettext" type="application/json" href="/static/translations/zh.json"><link rel="stylesheet" type="text/css" href="/static/generated/internal.e1588f93.min.css"><!-- Templates use 'head' block to add additional per-page stylesheets. -->
                                        <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="sps5auixeuq5oys4hhpa-f-8eddd5b21-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"32","ak.cp":"1067355","ak.ai":parseInt("634748",10),"ak.ol":"0","ak.cr":21,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"43cc7c3","ak.r":5311,"ak.a2":e,"ak.m":"dscb","ak.n":"essl","ak.bpcip":"147.229.208.0","ak.cport":65154,"ak.gh":"193.108.94.166","ak.quicv":"","ak.tlsv":"tls1.3","ak.0rtt":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1650211294","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==/1hwQlz7jXBdaiT1LCzTeLvMNdh/yF5KK8mrdl8S1PU8d7vYJ5JF3GD8nlgah1dFET3N8hcHJs2ZUlfYqbtYNCGG3Nc4vZpURCARd+/DyEJPIwchijnib6QjcBY3cX2rBxXn6AuiScNAERYljNESDEzQpb4sD2rpb4WFTM/wx6Jke7g6TCY01MBWZ8lofgyY7Aj59F5w45SlN9fpCz33EACGet9lhNWS9DRlo7dd4mkBOYkhQJTojnh08X1y1E0VmKAjyhpn1gmtocU5Dcvwo2pa27Tmha/vh6PYaLD8KvgsED5pkKfSqjyp3Vjo0HVhG5NQp/LYgnCMBoV2pMpzeTmUhmvOx8vnRHiUiBrxOj5LVBqxjm2G0DkdZNLPHb0TdMb2U+A02OfPY8TbAbDjcytBDwpR5aE3g69u5bfue0Q=","ak.pv":"17","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body> <nav class="fixed-top"> <nav class="navbar navbar-expand-lg navbar-dark px-3 py-lg-0 py-sm-0 py-1"> <a id="base_logo" class="navbar-brand" href="/en/"> <img id="nav-logo-img" src="/static/icon/nxp_logo_solid_white.png" alt="nav-logo"> <span class="nav-logo-text-bold">MCU</span>Xpresso SDK Builder </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-ex1-collapse" aria-controls="navbar-ex1-collapse" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle Navigation</span> <span class="navbar-toggler-icon"></span> </button> <div class="navbar-collapse collapse" id="navbar-ex1-collapse" style="width: 10%"> <ul class="nav navbar-nav navbar-right navbar-right-main"> <li class="nav-item dropdown"> <a href="#" id="base_languages_link" class="nav-link" data-toggle="dropdown"> <i class="fas fa-globe-americas"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Language </span> </a> <ul class="dropdown-menu dropdown-menu-right dropdown-default shadow"> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_en" tabindex="-1" href="/en/?page=/en/select?"> English <i class="icon-checkmark"></i> </a> </li> <hr> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_zh" tabindex="-1" href="/zh/?page=/en/select?"> 简体中文 </a> </li> <li class="dropdown-border"></li> </ul> </li> <li class="nav-item dropdown"> <a href="#" id="base_feedback_link" class="nav-link" data-toggle="dropdown"> <i class="fa fa-comment"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Feedback </span> </a> <ul class="nav-item dropdown-menu dropdown-menu-right shadow"> <li> <div class="feedback-content"> <h3 class="mt-3">Submit Feedback</h3> <p><b>Looking for help?</b><br> &nbsp;Try the <a target="_blank" href="https://community.nxp.com/t5/MCUXpresso-Software-and-Tools/ct-p/mcuxpresso"> NXP MCUXpresso </a> community </p> <p><b>Need technical support?</b><br> &nbsp;Get assistance <a target="_blank" href="https://www.nxp.com/support/support:SUPPORTHOME"> here </a> </p> <p><b>Have feedback on the MCUXpresso SDK Builder experience?</b> &nbsp;Use the form below </p> <form id="feedback-form"> <div id="feedback-alert" class="alert alert-dismissible alert-info"> Feedback submitted - thank you! &nbsp;&nbsp;<a id="feedback-close" class="btn btn-secondary" href="#"> Reset </a> </div> <div id="feedback-captcha-alert" class="alert alert-dismissible alert-danger"> Please confirm you are not a robot first. </div> <input id="feedback-name" name="feedback-name" class="form-control"> <textarea name="feedback-data" class="form-control" rows="5" placeholder="Enter feedback here..."></textarea> <div id="captcha-container"> <div class="capbox"> <div class="capbox-header py-2"> <h5 class="h5 text-center m-0">Verify that you are a human</h5> </div> <div class="capbox-content-group"> <div class="capbox-content py-2"> <p id="CaptchaText" class="p-0 m-0"></p> </div> <div class="capbox-inputBox mt-0 mb-2"> <input type="hidden" id="txtCaptcha"> <input type="text" name="CaptchaInput" id="CaptchaInput" size="15" placeholder="Type the number:"> </div> </div> </div> </div> <button id="submit-feedback" type="submit" class="btn btn-warning" disabled="disabled">Submit</button> </form> </div> </li> <li class="dropdown-border"></li> </ul> </li> <li class="nav-item dropdown"> <a href="#" id="base_doc_link" class="nav-link" data-toggle="dropdown"> <i class="fa fa-book"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Documentation </span> </a> <ul class="dropdown-menu dropdown-menu-right shadow"> <a href="#" class="dropdown-item doc-menu-heading text-center disabled"> Documentation </a> <li> <a target="_blank" class="dropdown-item" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools?tab=Documentation_Tab"> <i class="fas fa-external-link-alt glyph-padding"></i> MCUXpresso Config Tools Quick Start Guide </a> </li> <li> <a target="_blank" class="dropdown-item" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK?tab=Documentation_Tab"> <i class="fas fa-external-link-alt glyph-padding"></i> MCUXpresso SDK API </a> </li> <div class="dropdown-divider"></div> <li> <a href="#" class="doc-menu-heading text-center disabled"> Support </a> </li> <li> <a target="_blank" class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk"> <i class="fas fa-external-link-alt glyph-padding"></i> MCUXpresso SDK </a> </li> <li> <a target="_blank" class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide"> <i class="fas fa-external-link-alt glyph-padding"></i> MCUXpresso IDE </a> </li> <li> <a target="_blank" class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config"> <i class="fas fa-external-link-alt glyph-padding"></i> MCUXpresso Config Tools </a> </li> <li class="dropdown-border"></li> </ul> </li> <li id="nots" class="nav-item dropdown"> <div class="d-none" id="clear_to_load">true</div> <a id="dnots" href="#" class="nav-link dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-bell"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Notifications </span> <span id="nots-num-notify" class="num-notify d-none">0</span> </a> <div id="nots_last_id" class="d-none"> 0 </div> <ul class="dropdown-menu dropdown-default dropdown-menu-right notifications" role="menu" aria-labelledby="dnots"> <li> <div id="add-to-notifications-wrapper" class="notifications-wrapper"> </div> </li> <li> <a href="#"> <div id="hide-all-notifications" class="notification-footer"> <p class="item-info hide-notifications d-none"> Dismiss notifications <i class="fas fa-eye-slash"></i> </p> <p class="item-info no-new-notifications"> No new notifications <i class="fas fa-eye-slash"></i> </p> </div> </a> </li> <li class="dropdown-border"></li> </ul> </li> <li class="dropdown nav-item" id="user_logged_in"> <a href="#" id="base_user_menu_link" class="nav-link" data-toggle="dropdown"> <i class="fa fa-user"></i> <span class="collapsed_navbar_item d-none"> &nbsp; User menu </span> </a> <ul class="dropdown-menu dropdown-menu-right shadow"> <li> <a id="user-email-nav" href="#" class="text-center disabled"> xmitta01 </a> </li> <div class="dropdown-divider"></div> <li> <a id="base_prefs_link_umenu" class="dropdown-item" href="/en/preferences"> <i class="glyph-padding fa fa-cog fa-fw"></i> Preferences </a> </li> <li> <a id="base_notif_link_umenu" class="dropdown-item" href="/en/notifications"> <i class="glyph-padding fa fa-bell fa-fw"></i> Notifications </a> </li> <div class="dropdown-divider"></div> <li> <a id="feedback-menu" class="dropdown-item" href="#"> <i class="glyph-padding fa fa-comment fa-fw"></i> Feedback </a> </li> <div class="dropdown-divider"></div> <li> <a id="base_logout_link_umenu" class="dropdown-item" href="/logout/"> <i class="glyph-padding fas fa-sign-out-alt fa-fw"></i> Logout </a> </li> <li class="dropdown-border"></li> </ul> </li> </ul> </div> </nav> </nav> <span id="lang_off" class="d-none">Off</span> <span id="lang_on" class="d-none">On</span> <div class="sidenav 
                                  
                                   "> <div class="sidenav-content"> <ul class="sidenav-list nav"> <li id="nav-dashboard" class="sidenav-item"> <a class="nav-link" href="/en/dashboard" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="SDK Dashboard" sdk dashboard> <i class="fa fa-home fa-fw"></i> <span>SDK Dashboard</span> </a> </li> </ul> <hr class="d-none"> <div class="sidenav-cat "> <span>Build SDK</span> </div> <ul class="sidenav-list nav build-sdk"> <li id="nav-select" class="sidenav-item"> <a class="nav-link" data-toggle="tooltip" href="/en/select" data-placement="right" data-boundary="viewport" data-container="body" title="Select Board / Processor"> <i class="fa fa-microchip fa-fw"></i> <span>Select Board / Processor</span> </a> </li> <ul class="sidenav-list sublist nav"> <li class="sidenav-item workflow-item-collapsed  d-none " id="sidenav-collapsed-middleware"> <a href="/en/select/middleware" class="nav-link" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Middleware"> <i class="fas fa-grip-horizontal workflow-icon"> <div class="nots_workflow_notify d-none collapsed-middleware-count"></div> </i> </a> </li> <li class="sidenav-item workflow-item " id="sidenav_middleware"> <a href="/en/select/middleware" class="nav-link"> <i class="fas fa-grip-horizontal workflow-icon fa-fw"></i> <span>Middleware (<span class="middleware-count">0</span>)</span> </a> </li> <li class="sidenav-item workflow-item-collapsed  d-none " id="sidenav-collapsed-examples"> <a href="/en/select/examples" class="nav-link" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Examples"> <i class="fas fa-project-diagram workflow-icon fa-fw"> <div class="nots_workflow_notify d-none collapsed-examples-count"></div> </i> </a> </li> <li class="sidenav-item workflow-item " id="sidenav_examples"> <a href="/en/select/examples" class="nav-link"> <i class="fas fa-project-diagram workflow-icon fa-fw"></i> <span> Examples (<span class="examples-count">0</span>) </span> </a> </li> <li class="sidenav-item workflow-item-collapsed  d-none " id="sidenav-collapsed-toolchains"> <a href="/en/select/toolchains" class="nav-link" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Toolchain"> <i class="fas fa-tools workflow-icon fa-fw"> <div class="nots_workflow_notify d-none collapsed-toolchain-switch"></div> </i> </a> </li> <li class="sidenav-item workflow-item " id="sidenav_toolchain"> <a href="/en/select/toolchains" class="nav-link"> <i class="fas fa-tools workflow-icon fa-fw"></i> <span>Toolchain (<span class="toolchain-switch">Off</span>)</span> </a> </li> <li class="sidenav-item workflow-item-collapsed  d-none " id="sidenav-collapsed-parametrics"> <a href="/en/select/device-parametrics" class="nav-link" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Processor parametrics"> <i class="fas fa-sliders-h workflow-icon fa-fw"> <div class="nots_workflow_notify d-none" id="collapsed-parametric"></div> </i> </a> </li> <li class="sidenav-item workflow-item " id="sidenav_dev_param"> <a href="/en/select/device-parametrics" class="nav-link"> <i class="fas fa-sliders-h workflow-icon fa-fw"></i> <span>Processor Parametrics</span> <span class="parametrics"> (<span id="parametric">Off</span>)</span> </a> </li> </ul> </ul> <hr class="d-none"> <div class="sidenav-cat "> <span>Administration</span> </div> <ul class="sidenav-list nav"> <li id="nav-notifications" class="sidenav-item"> <a class="nav-link" href="/en/notifications" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Notifications"> <i class="fa fa-bell fa-fw"></i> <span>Notifications</span> </a> </li> <li id="nav-preferences" class="sidenav-item"> <a class="nav-link" href="/en/preferences" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="Preferences"> <i class="fa fa-cog fa-fw"></i> <span>Preferences</span> </a> </li> </ul> <hr class="d-none"> <div class="sidenav-cat "> <span>Downloads</span> </div> <ul class="sidenav-list nav"> <li class="sidenav-item"> <a class="nav-link" target="_blank" href="http://www.nxp.com/mcuxpresso/ide" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="MCUXpresso IDE"> <img src="/static/icon/MCUXpressoIDE.png" alt="tools"> <span>MCUXpresso IDE</span> </a> </li> <li class="sidenav-item"> <a class="nav-link" id="sidenav-tools-link" target="_blank" href="http://www.nxp.com/mcuxpresso/config" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="MCUXpresso Config Tools"> <img src="/static/icon/MCUXpressoConfigTools.png" alt="ConfigTools"> <span>MCUXpresso</span> <span class="sidenav-tools">Config Tools</span> </a> <ul class="sidenav-list sublist nav select_config_tools_data "> <li id="nav-select-config-tools-data" class="sidenav-item"> <a class="nav-link" href="/en/select_config_tools_data"> <i class="fa fa-file-download fa-fw"></i> <span>Offline data</span> </a> </li> </ul> </li> <li class="sidenav-item"> <a class="nav-link" target="_blank" href="https://www.nxp.com/mcuxpresso/secure" data-toggle="tooltip" data-placement="right" data-boundary="viewport" data-container="body" title="MCUXpresso Secure Provisioning Tool"> <img src="/static/icon/MCUXpressoSecureProvisioningTool.png" alt="MCUXpresso"> <span>MCUXpresso</span> <span class="sidenav-tools">Secure Provisioning Tool</span> </a> </li> </ul> </div> <div class="sidenav-collapseBtn  text-right " class="sidenav-item"> <a href="#" class="btn btn-collapse" onclick="SDKWeb.collapseSidebar()"> <i class="fas   fa-angle-double-left "></i> </a> </div> </div> <script>
              // set immediately on/off and numbers of filtering criteria in left side menu without using JQuery and SDKWeb
              let criteria = sessionStorage.getItem('local_criteria');
          
              if (criteria) {
                criteria = JSON.parse(criteria);
                let lang_on = document.getElementById('lang_on');
          
                let num_examples = document.getElementsByClassName('examples-count');
                let num_middleware = document.getElementsByClassName('middleware-count');
                let switch_toolchain = document.getElementsByClassName('toolchain-switch');
                let switch_parametric = document.getElementById('parametric');
          
                let toolchainNot = document.getElementsByClassName('collapsed-toolchain-switch');
                let parametricNot = document.getElementById('collapsed-parametric');
                let middlewareNot = document.getElementsByClassName('collapsed-middleware-count');
                let examplesNot = document.getElementsByClassName('collapsed-examples-count');
          
                if (
                  criteria.hasOwnProperty('middleware') &&
                  criteria['middleware'].hasOwnProperty('selected') &&
                  Object.keys(criteria['middleware']['selected']).length
                ) {
                  num_middleware[0].innerText = Object.keys(criteria['middleware']['selected']).length;
                  middlewareNot[0].classList.remove('d-none');
                  middlewareNot[0].parentElement.style.marginTop = "8px";
                } else {
                  middlewareNot[0].classList.add('d-none');
                  middlewareNot[0].parentElement.style.marginTop = "0px";
                }
          
                if (criteria.hasOwnProperty('examples') && Object.keys(criteria['examples']).length) {
                  num_examples[0].innerText = Object.keys(criteria['examples']).length;
                  examplesNot[0].classList.remove('d-none');
                  examplesNot[0].parentElement.style.marginTop = "8px";
                } else {
                  examplesNot[0].classList.add('d-none');
                  examplesNot[0].parentElement.style.marginTop = "0px";
                }
          
                if (criteria.hasOwnProperty('toolchain') && Object.keys(criteria['toolchain']).length) {
                  switch_toolchain[0].innerText = lang_on.innerText;
                  toolchainNot[0].classList.remove('d-none');
                  toolchainNot[0].parentElement.style.marginTop = "8px";
                } else {
                  toolchainNot[0].classList.add('d-none');
                  toolchainNot[0].parentElement.style.marginTop = "0px";
                }
          
                if (criteria.hasOwnProperty('parametric') && Object.keys(criteria['parametric']).length) {
                  switch_parametric.innerText = lang_on.innerText;
                  parametricNot.classList.remove('d-none');
                  parametricNot.parentElement.style.marginTop = "8px";
                } else {
                  parametricNot.classList.add('d-none');
                  parametricNot.parentElement.style.marginTop = "0px";
                }
              }
            </script> <!--[if IE]>
            <div id="ie_modal_ie9" class="alert alert-light border-secondary" role="alert">
          <![endif]--> <![if !IE]> <div id="ie_modal" class="alert alert-light border-secondary" role="alert"> <![endif]> <p class="alert-heading font-weight-bold mt-1" style="font-size:x-large"> You are using an unsupported browser. </p> <hr> <i class="fas fa-exclamation-triangle text-warning" style="font-size:xx-large"></i> <br><br> <p>Please note that some features may not work as a result.</p><br> <p>To access all features available on MCUXpresso SDK Builder, please use the latest version from the list of supported browsers.</p> <br> <p class="mb-3">To get a list of supported browsers, please refer to the <a href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY"> Accessibility </a> page. </p> <hr> <button type="button" class="btn btn-outline-secondary" style="margin-left: 800px;" onclick="changeWarning()"> Close </button> <button type="button" class="close" onclick="changeWarning()"> <span aria-hidden="true">&times;</span> </button> </div> <script>
            function changeWarning() {
              $('.top-pad-single').addClass('ie');
              $('.sidenav').addClass('ie');
              $('.warning_message').addClass('ie');
          
              $('#ie_modal').addClass('d-none');
              $('#ie_modal_ie9').addClass('d-none');
              document.cookie = "ie_modal_shown=false"
            }
          </script> <!-- Only apply 50px padding at the top container if the nav is displayed. --> <div class="top-pad-single 
                                           "> <span id="data-loading" class="icon-para-reset spin-icon text-right"></span> <div id="update-spin" class="d-none"> <span class="icon-para-reset spin-icon"></span> </div> <div class="container-fluid main  "> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="row padding-header-row"> <div class="col-md-6 col-lg-6 col-sm-12 page-header-row"> <h2 class="brand-color page-header"> Select Development Board </h2> <p class="page-header-sub"> Search for your board or kit to get started. </p> <div class="row"> <div class="col-12"> <div id="flash_messages"> </div> </div> </div> </div> <div class="col-md-6 col-lg-6 col-sm-12"> </div> </div> <div id="view"> <div id="update-spin"> <span class="icon-para-reset spin-icon"></span> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container-fluid"> <div class="row"> <div id="footer-left"> <div class="ml-lg-3"> <a id="footer_privacy" target="_blank" href="http://www.nxp.com/about/privacy:PRIVACYPRACTICES">Privacy Policy</a> <a id="footer_terms" target="_blank" href="http://www.nxp.com/about/terms-of-use:TERMSOFUSE">Terms of Use</a> <a id="footer_contact" target="_blank" href="http://www.nxp.com/about/contact-us:CONTACTUS">Contact</a> <a id="footer_contact" target="_blank" href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY">Accessibility</a> </div> </div> <div id="footer-right"> &copy; 2022 <a id="footer_nxp" target="_blank" href="http://www.nxp.com">NXP Semiconductors</a>. All rights reserved. </div> </div> </div> </footer> <span id="bb-package-remove-all" class="d-none"> Remove all SDK archives? </span> <span id="bb-package-remove" class="d-none"> Remove this SDK archive? </span> <span id="bb-conf-remove" class="d-none"> Remove this configuration? </span> <span id="bb-notif-remove" class="d-none"> Remove this notification? </span> <script src="/static/generated/external.29cdb1d9.min.js"></script> <script src="/static/generated/internal.4458b9d6.min.js"></script> <!-- skip translations script for Internet Explorer, because IE is lame --> <![if !IE]> <script src="/static/generated/translations.31736f06.min.js"></script> <![endif]> <script>
                  $LANG = "en";
          
                  
                  try {
                      let gt = new Gettext();
                      _ = function(msgid) { return $LANG === 'en' ? msgid : gt.translate(msgid); };
                  }
                  catch (e) {
                      _ = function(msgid) { return msgid; }
                  }
          
                  $(document).ready(function() {
                      SDKWeb.init();
          
                      if ($('#modal_show').length) {
                          $('#myModal').modal();
                      }
                  });
              </script> <script>
                $('[data-toggle="tooltip"]').tooltip()
                if (!document.cookie.split(';').filter((item) => item.includes('right_menu_collapsed=true')).length) {
                  $('.sidenav a.nav-link').tooltip('disable')
                };
              </script> <script>
                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
          
                ga('create', 'UA-71560721-2', 'auto');
                ga('send', 'pageview');
              </script> <!-- Templates use footag block to execute additional per-page js. --> <script>
              $(document).ready(function () {
          
                var $_GET = getQueryParams(document.location.search);
          
                if ($_GET.hasOwnProperty('criteria_link')) {
                  var criteria_link = $_GET['criteria_link'];
                  SDKWeb.set_workflow_session_storage('criteria_link');
          
                  $.ajax({
                    type: 'POST',
                    url: '/criteria/' + criteria_link,
                    data: JSON.stringify({}),
                    contentType: 'application/json',
                    dataType: 'json',
                    success: function (res) {
                      SDKWeb.set_criteria_session_storage(res);
                      get_view();
                      SDKWeb.reloadFilteringCriteria('', res, skip_template=true);
                    },
                    error: function (xhr, status, error) {
                      var errorMessage = xhr.status + ': ' + xhr.statusText;
                      errorAjaxCall('ajax_load', {
                        'type': 'ajax load',
                        'msg': 'Error in ajax load POST criteria link hash',
                        'errMsg': errorMessage
                      });
                    }
                  });
          
                } else {
                  get_view();
                }
          
              });
          
              function get_view() {
                var json = {
                  action: 'get_view',
                  local_criteria: SDKWeb.get_criteria_session_storage()
                }
                $.ajax({
                  type: 'POST',
                  url: '/' + $LANG + '/select' + (new URL(document.location)).search,
                  data: JSON.stringify(json),
                  contentType: 'application/json',
                  dataType: 'json',
                  success: function (res) {
          
                    if (res.hasOwnProperty('flash_message')) {
                      flash_messages(res);
                      return;
                    }
          
                    if (res['get_view'].hasOwnProperty('redirect')) {
                      window.location.href = res['get_view']['redirect'];
                      return;
                    }
          
                    $('#view').html(res['get_view']);
          
                  },
                  error: function (xhr, status, error) {
                    var errorMessage = xhr.status + ': ' + xhr.statusText;
                    errorAjaxCall('ajax_load', {
                      'type': 'ajax load',
                      'msg': 'Error in ajax load template',
                      'errMsg': errorMessage
                    });
                  }
                });
              }
            </script> </body> </html> 
          Evidence
          <form id="feedback-form">
          Solution

          Phase: Architecture and Design

          Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

          For example, use anti-CSRF packages such as the OWASP CSRFGuard.

          Phase: Implementation

          Ensure that your application is free of cross-site scripting issues, because most CSRF defenses can be bypassed using attacker-controlled script.

          Phase: Architecture and Design

          Generate a unique nonce for each form, place the nonce into the form, and verify the nonce upon receipt of the form. Be sure that the nonce is not predictable (CWE-330).

          Note that this can be bypassed using XSS.

          Identify especially dangerous operations. When the user performs a dangerous operation, send a separate confirmation request to ensure that the user intended to perform that operation.

          Note that this can be bypassed using XSS.

          Use the ESAPI Session Management control.

          This control includes a component for CSRF.

          Do not use the GET method for any request that triggers a state change.

          Phase: Implementation

          Check the HTTP Referer header to see if the request originated from an expected page. This could break legitimate functionality, because users or proxies may have disabled sending the Referer for privacy reasons.

  3. Risk=Low, Confidence=Medium (2)

    1. https://mcuxpresso.nxp.com (2)

      1. Cookie without SameSite Attribute (1)
        1. GET https://mcuxpresso.nxp.com/en/select
          Alert tags
          Alert description

          A cookie has been set without the SameSite attribute, which means that the cookie can be sent as a result of a 'cross-site' request. The SameSite attribute is an effective counter measure to cross-site request forgery, cross-site script inclusion, and timing attacks.

          Request
          Request line and header section (619 bytes)
          GET https://mcuxpresso.nxp.com/en/select HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://mcuxpresso.nxp.com/en/welcome
          Cookie: _ga=GA1.2.1393647954.1650211260; _gid=GA1.2.1240765233.1650211260; _gat=1; RT="z=1&dm=nxp.com&si=i18pm0segbm&ss=l23h6dbn&sl=1&tt=0&nu=35e5d710b741b958f5b1a1700094e1e4&cl=8vg&obo=1&ld=8vv&r=50d9ca3ba6f1cccddcff4d4e4a1ff13a&ul=8vy"
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (651 bytes)
          HTTP/1.1 302 Moved Temporarily
          Server: Apache
          Content-Length: 378
          Location: https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Vary: Cookie
          Content-Type: text/html; charset=utf-8
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:01:12 GMT
          Date: Sun, 17 Apr 2022 16:01:12 GMT
          Connection: keep-alive
          Set-Cookie: session=eyJDQVNfQUZURVJfTE9HSU5fU0VTU0lPTl9VUkwiOiIvZW4vc2VsZWN0In0.Ylw5yA.JUiX-gChUoMxA0TIh7C_w-z0NA4; Secure; HttpOnly; Path=/
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=99
          Server-Timing: origin; dur=58
          
          
          Response body (378 bytes)
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
          <title>Redirecting...</title>
          <h1>Redirecting...</h1>
          <p>You should be redirected automatically to target URL: <a href="https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F">https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F</a>. If not click the link.
          Parameter
          session
          Evidence
          Set-Cookie: session
          Solution

          Ensure that the SameSite attribute is set to either 'lax' or ideally 'strict' for all cookies.

      2. X-Content-Type-Options Header Missing (1)
        1. GET https://mcuxpresso.nxp.com/en/welcome
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (333 bytes)
          GET https://mcuxpresso.nxp.com/en/welcome HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (429 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Content-Type: text/html; charset=utf-8
          X-Akamai-Transformed: 9 4393 0 pmb=mRUM,1
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:00:59 GMT
          Date: Sun, 17 Apr 2022 16:00:59 GMT
          Content-Length: 18597
          Connection: keep-alive
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=103
          Server-Timing: origin; dur=185
          
          
          Response body (18597 bytes)
          <!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta property="twitter:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta property="og:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><title>Welcome | MCUXpresso SDK Builder</title><meta name="description" content="The MCUXpresso SDK brings open source drivers, middleware,
                             and reference example applications to speed your software development."><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"><!-- NOTE: no favicon link, as long as it remains in the root directory. --><link rel="shortcut icon" href="/static/icon/favicon.ico?rev=2"><link rel="stylesheet" type="text/css" href="/static/generated/external.e9e510e2.min.css"><link href="/static/fontawesome/css/all.css" rel="stylesheet"><link rel="gettext" type="application/json" href="/static/translations/zh.json"><link rel="stylesheet" type="text/css" href="/static/generated/internal.e1588f93.min.css"><!-- Templates use 'head' block to add additional per-page stylesheets. -->
                                        <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="sps5auixeuq5oys4hg5q-f-bacac7043-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"32","ak.cp":"1067355","ak.ai":parseInt("634748",10),"ak.ol":"0","ak.cr":17,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"43ba6e1","ak.r":5311,"ak.a2":e,"ak.m":"dscb","ak.n":"essl","ak.bpcip":"147.229.208.0","ak.cport":65103,"ak.gh":"193.108.94.166","ak.quicv":"","ak.tlsv":"tls1.3","ak.0rtt":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1650211259","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==5hjVxyaS/btglUCGZvS5f4NYhbL3fpEZCrbOX/QqFUdh/6pQW5HmVsNlwDpTNo7TliEtphxmwv1s75Za9km6gIbPo8QyK6RvkJ/HIm2UU4TIutuiAHeLR9nC5EWokvvLov4yGK4SiQSNEtNPLpVp2FIBDPbnyz8Fv8SoNsfuwWpA5DQCq9oiX55V2cLa4LuPCS+LnLluO9RWIzcEM33483RyUzO9CO3Um89XVaPBYz+VrTaHUMJKBBs9/vmnGM+/WKfBR+VoxmOOGMOmJLfD8K11AVYP0s8FKWS+FOS/mjQ6QXN/lHjcukQZYO+ilxFfracel+UMUsiBmx/kwIpfBUCYtuTasgVpKPW7w5s1+id5t+nd8Qrvjei/sG1+RnwKYOOL8Q+ProL5hpcda0jTzEyZEVSNtc75DIQ6/rVWTjM=","ak.pv":"17","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body> <!--[if IE]>
            <div id="ie_modal_ie9" class="alert alert-light border-secondary" role="alert">
          <![endif]--> <![if !IE]> <div id="ie_modal" class="alert alert-light border-secondary" role="alert"> <![endif]> <p class="alert-heading font-weight-bold mt-1" style="font-size:x-large"> You are using an unsupported browser. </p> <hr> <i class="fas fa-exclamation-triangle text-warning" style="font-size:xx-large"></i> <br><br> <p>Please note that some features may not work as a result.</p><br> <p>To access all features available on MCUXpresso SDK Builder, please use the latest version from the list of supported browsers.</p> <br> <p class="mb-3">To get a list of supported browsers, please refer to the <a href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY"> Accessibility </a> page. </p> <hr> <button type="button" class="btn btn-outline-secondary" style="margin-left: 800px;" onclick="changeWarning()"> Close </button> <button type="button" class="close" onclick="changeWarning()"> <span aria-hidden="true">&times;</span> </button> </div> <script>
            function changeWarning() {
              $('.top-pad-single').addClass('ie');
              $('.sidenav').addClass('ie');
              $('.warning_message').addClass('ie');
          
              $('#ie_modal').addClass('d-none');
              $('#ie_modal_ie9').addClass('d-none');
              document.cookie = "ie_modal_shown=false"
            }
          </script> <!-- Only apply 50px padding at the top container if the nav is displayed. --> <div> <span id="data-loading" class="icon-para-reset spin-icon text-right"></span> <div id="welcome-header" class="navbar navbar-expand-lg container-fluid d-flex navbar-light bg-light"> <div id="welcome-logo" class="my-1 my-sm-0 mr-auto navbar-brand"> <a href="//www.nxp.com" title="NXP Semiconductor"> <img src="/static/icon/nxp-logo-color.svg" alt="nxp logo"> </a> </div> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#welcome-tools-collapse" aria-controls="welcome-tools-collapse" aria-expanded="false" aria-label="Toggle navigation" style="margin: 15px 25px 15px 0px;"> <span class="navbar-toggler-icon"></span> </button> <div id="welcome-tools-collapse" class="navbar-collapse collapse border-top"> <ul class="nav navbar-nav navbar-right navbar-right-main"> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_ide.png" alt="ide icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso IDE </span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_cfg.png" alt="cfg icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso Config Tools</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure" class="nav-link d-flex"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="sec icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> Secure Provisioning Tool</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_sdk.png" alt="sdk icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso SDK</span> </a> </li> </ul> </div> <div id="flash-messages d-none"> </div> </div> <div class="navbar navbar-welcome navbar-expand-md p-0"> <div class="container-fluid"> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav ml-auto"> <li class="nav-item dropdown"> <a href="#" id="base_languages_link" class="nav-link" data-toggle="dropdown"> <i class="fas fa-globe-americas"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Language </span> </a> <ul class="dropdown-menu dropdown-menu-right dropdown-default shadow"> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_en" tabindex="-1" href="/en/?page=/en/welcome?"> English <i class="icon-checkmark"></i> </a> </li> <hr> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_zh" tabindex="-1" href="/zh/?page=/en/welcome?"> 简体中文 </a> </li> <li class="dropdown-border"></li> </ul> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Support </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso" target="_blank">MCUXpresso Software and Tools</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk" target="_blank">MCUXpresso SDK</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide" target="_blank">MCUXpresso IDE</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config" target="_blank">MCUXpresso Config Tools</a> </div> </li> </ul> </div> </div> </div> <div id="welcome-banner" class="jumbotron"> <div class="container logo"> <h1> <span class="nav-logo-text-bold">MCU</span>Xpresso SDK Builder </h1> <p class="d-none d-sm-block"> The MCUXpresso SDK brings open source drivers, middleware, and reference example applications to speed your software development. Customize and download an SDK specific to your processor or evaluation board selections. </p> <div> <a href="/en/select" class="btn btn-lg btn-welcome"> <i class="fa fa-table"></i> Select Development Board </a> <a href="/en/dashboard" class="btn btn-lg btn-welcome"> <i class="fa fa-home"></i> Access My SDK Dashboard </a> </div> <div class="alert alert-info welcome-alert"> NXP strongly recommends you update to the latest version of MCUXpresso SDK that contains essential security updates for Bluetooth Low Energy software stack implementations. </div> </div> </div> <div id="nav-tab-welcome"> <ul class="nav nav-tabs"> <li role="presentation" class="nav-item"> <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab" class="nav-link active">Overview </a> </li> <li role="presentation" class="nav-item"> <a href="#software-tools" aria-controls="software-tools" role="tab" data-toggle="tab" class="nav-link">Software and Tools </a> </li> <li role="presentation" class="nav-item"> <a href="#dev-resources" aria-controls="dev-resources" role="tab" #} data-toggle="tab" class="nav-link">Developer Resources </a> </li> </ul> </div> <div id="welcome-tabs" class="tab-content"> <div role="tabpanel" class="tab-pane active" id="overview"> <div class="container welcome-text"> <div class="row"> <div class="col-md-12"> <h3>Getting started with MCUXpresso SDK is simple.</h3> </div> </div> <div class="row"> <div class="col-md-12"> <h4>Do you have a development board?</h4> <p> Start by clicking on <a href="/en/select"> Select Development Board </a> to download a customized SDK for that specific platform. </p> <h4>Are you returning and seeking previously downloaded SDKs?</h4> <p> Click on <a href="/en/dashboard"> Dashboard </a> for quick access to your history of downloads. </p> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="software-tools"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_sdk.png" alt="sdk_icon"><span>MCUXpresso SDK</span> <p> An open-source <b>software development kit (SDK)</b> built specifically for your processor and evaluation board selections. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> Learn More About MCUXpresso SDK <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_ide.png" alt="ide_icon"><span>MCUXpresso IDE</span> <p> An easy-to-use <b>integrated development environment (IDE)</b> for creating, building, debugging, and optimizing your application. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> Learn More About MCUXpresso IDE <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_cfg.png" alt="cfg_icon"><span>MCUXpresso Config Tools</span> <p> A comprehensive suite of <b>system configuration tools</b>, including pins, clocks, SDK builder and more. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> Learn More About MCUXpresso Config Tools <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <div class="clearfix"> <img class="float-left" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="cfg_icon"> <span class="float-left w-75">MCUXpresso Secure Provisioning Tool</span> </div> <p> A graphical and command-line programming and secure provisioning tool for certificate and key management, secure image preparation, and processor provisioning and programming. </p> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure"> Learn More About MCUXpresso Secure Provisioning Tool <i class="fa fa-angle-right fa-fw"></i> </a> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="dev-resources"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-4"> <h3>Documentation</h3> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK?tab=Documentation_Tab"> MCUXpresso SDK </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE?tab=Documentation_Tab"> MCUXpresso IDE </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-config-tools-pins-clocks-peripherals:MCUXpresso-Config-Tools?tab=Documentation_Tab"> MCUXpresso Config Tools </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-secure-provisioning-tool:MCUXPRESSO-SECURE-PROVISIONING?tab=Documentation_Tab"> MCUXpresso Secure Provisioning Tool </a> </div> <div class="col-sm-4"> <h3>Community Support</h3> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk"> MCUXpresso SDK </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide"> MCUXpresso IDE </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config"> MCUXpresso Config Tools </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-secure-provisioning-tool"> MCUXpresso Secure Provisioning Tool </a> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container-fluid"> <div class="row"> <div id="footer-left"> <div class="ml-lg-3"> <a id="footer_privacy" target="_blank" href="http://www.nxp.com/about/privacy:PRIVACYPRACTICES">Privacy Policy</a> <a id="footer_terms" target="_blank" href="http://www.nxp.com/about/terms-of-use:TERMSOFUSE">Terms of Use</a> <a id="footer_contact" target="_blank" href="http://www.nxp.com/about/contact-us:CONTACTUS">Contact</a> <a id="footer_contact" target="_blank" href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY">Accessibility</a> </div> </div> <div id="footer-right"> &copy; 2022 <a id="footer_nxp" target="_blank" href="http://www.nxp.com">NXP Semiconductors</a>. All rights reserved. </div> </div> </div> </footer> <span id="bb-package-remove-all" class="d-none"> Remove all SDK archives? </span> <span id="bb-package-remove" class="d-none"> Remove this SDK archive? </span> <span id="bb-conf-remove" class="d-none"> Remove this configuration? </span> <span id="bb-notif-remove" class="d-none"> Remove this notification? </span> <script src="/static/generated/external.29cdb1d9.min.js"></script> <script src="/static/generated/internal.4458b9d6.min.js"></script> <!-- skip translations script for Internet Explorer, because IE is lame --> <![if !IE]> <script src="/static/generated/translations.31736f06.min.js"></script> <![endif]> <script>
                  $LANG = "en";
          
                  
                  try {
                      let gt = new Gettext();
                      _ = function(msgid) { return $LANG === 'en' ? msgid : gt.translate(msgid); };
                  }
                  catch (e) {
                      _ = function(msgid) { return msgid; }
                  }
          
                  $(document).ready(function() {
                      SDKWeb.init();
          
                      if ($('#modal_show').length) {
                          $('#myModal').modal();
                      }
                  });
              </script> <script>
                $('[data-toggle="tooltip"]').tooltip()
                if (!document.cookie.split(';').filter((item) => item.includes('right_menu_collapsed=true')).length) {
                  $('.sidenav a.nav-link').tooltip('disable')
                };
              </script> <script>
                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
          
                ga('create', 'UA-71560721-2', 'auto');
                ga('send', 'pageview');
              </script> <!-- Templates use footag block to execute additional per-page js. --> </body> </html> 
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

  4. Risk=Low, Confidence=Low (1)

    1. https://mcuxpresso.nxp.com (1)

      1. Timestamp Disclosure - Unix (1)
        1. GET https://mcuxpresso.nxp.com/en/welcome
          Alert tags
          Alert description

          A timestamp was disclosed by the application/web server - Unix

          Other info

          1650211259, which evaluates to: 2022-04-17 11:00:59

          Request
          Request line and header section (333 bytes)
          GET https://mcuxpresso.nxp.com/en/welcome HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (429 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Content-Type: text/html; charset=utf-8
          X-Akamai-Transformed: 9 4393 0 pmb=mRUM,1
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:00:59 GMT
          Date: Sun, 17 Apr 2022 16:00:59 GMT
          Content-Length: 18597
          Connection: keep-alive
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=103
          Server-Timing: origin; dur=185
          
          
          Response body (18597 bytes)
          <!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta property="twitter:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta property="og:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><title>Welcome | MCUXpresso SDK Builder</title><meta name="description" content="The MCUXpresso SDK brings open source drivers, middleware,
                             and reference example applications to speed your software development."><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"><!-- NOTE: no favicon link, as long as it remains in the root directory. --><link rel="shortcut icon" href="/static/icon/favicon.ico?rev=2"><link rel="stylesheet" type="text/css" href="/static/generated/external.e9e510e2.min.css"><link href="/static/fontawesome/css/all.css" rel="stylesheet"><link rel="gettext" type="application/json" href="/static/translations/zh.json"><link rel="stylesheet" type="text/css" href="/static/generated/internal.e1588f93.min.css"><!-- Templates use 'head' block to add additional per-page stylesheets. -->
                                        <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="sps5auixeuq5oys4hg5q-f-bacac7043-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"32","ak.cp":"1067355","ak.ai":parseInt("634748",10),"ak.ol":"0","ak.cr":17,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"43ba6e1","ak.r":5311,"ak.a2":e,"ak.m":"dscb","ak.n":"essl","ak.bpcip":"147.229.208.0","ak.cport":65103,"ak.gh":"193.108.94.166","ak.quicv":"","ak.tlsv":"tls1.3","ak.0rtt":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1650211259","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==5hjVxyaS/btglUCGZvS5f4NYhbL3fpEZCrbOX/QqFUdh/6pQW5HmVsNlwDpTNo7TliEtphxmwv1s75Za9km6gIbPo8QyK6RvkJ/HIm2UU4TIutuiAHeLR9nC5EWokvvLov4yGK4SiQSNEtNPLpVp2FIBDPbnyz8Fv8SoNsfuwWpA5DQCq9oiX55V2cLa4LuPCS+LnLluO9RWIzcEM33483RyUzO9CO3Um89XVaPBYz+VrTaHUMJKBBs9/vmnGM+/WKfBR+VoxmOOGMOmJLfD8K11AVYP0s8FKWS+FOS/mjQ6QXN/lHjcukQZYO+ilxFfracel+UMUsiBmx/kwIpfBUCYtuTasgVpKPW7w5s1+id5t+nd8Qrvjei/sG1+RnwKYOOL8Q+ProL5hpcda0jTzEyZEVSNtc75DIQ6/rVWTjM=","ak.pv":"17","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body> <!--[if IE]>
            <div id="ie_modal_ie9" class="alert alert-light border-secondary" role="alert">
          <![endif]--> <![if !IE]> <div id="ie_modal" class="alert alert-light border-secondary" role="alert"> <![endif]> <p class="alert-heading font-weight-bold mt-1" style="font-size:x-large"> You are using an unsupported browser. </p> <hr> <i class="fas fa-exclamation-triangle text-warning" style="font-size:xx-large"></i> <br><br> <p>Please note that some features may not work as a result.</p><br> <p>To access all features available on MCUXpresso SDK Builder, please use the latest version from the list of supported browsers.</p> <br> <p class="mb-3">To get a list of supported browsers, please refer to the <a href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY"> Accessibility </a> page. </p> <hr> <button type="button" class="btn btn-outline-secondary" style="margin-left: 800px;" onclick="changeWarning()"> Close </button> <button type="button" class="close" onclick="changeWarning()"> <span aria-hidden="true">&times;</span> </button> </div> <script>
            function changeWarning() {
              $('.top-pad-single').addClass('ie');
              $('.sidenav').addClass('ie');
              $('.warning_message').addClass('ie');
          
              $('#ie_modal').addClass('d-none');
              $('#ie_modal_ie9').addClass('d-none');
              document.cookie = "ie_modal_shown=false"
            }
          </script> <!-- Only apply 50px padding at the top container if the nav is displayed. --> <div> <span id="data-loading" class="icon-para-reset spin-icon text-right"></span> <div id="welcome-header" class="navbar navbar-expand-lg container-fluid d-flex navbar-light bg-light"> <div id="welcome-logo" class="my-1 my-sm-0 mr-auto navbar-brand"> <a href="//www.nxp.com" title="NXP Semiconductor"> <img src="/static/icon/nxp-logo-color.svg" alt="nxp logo"> </a> </div> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#welcome-tools-collapse" aria-controls="welcome-tools-collapse" aria-expanded="false" aria-label="Toggle navigation" style="margin: 15px 25px 15px 0px;"> <span class="navbar-toggler-icon"></span> </button> <div id="welcome-tools-collapse" class="navbar-collapse collapse border-top"> <ul class="nav navbar-nav navbar-right navbar-right-main"> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_ide.png" alt="ide icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso IDE </span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_cfg.png" alt="cfg icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso Config Tools</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure" class="nav-link d-flex"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="sec icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> Secure Provisioning Tool</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_sdk.png" alt="sdk icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso SDK</span> </a> </li> </ul> </div> <div id="flash-messages d-none"> </div> </div> <div class="navbar navbar-welcome navbar-expand-md p-0"> <div class="container-fluid"> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav ml-auto"> <li class="nav-item dropdown"> <a href="#" id="base_languages_link" class="nav-link" data-toggle="dropdown"> <i class="fas fa-globe-americas"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Language </span> </a> <ul class="dropdown-menu dropdown-menu-right dropdown-default shadow"> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_en" tabindex="-1" href="/en/?page=/en/welcome?"> English <i class="icon-checkmark"></i> </a> </li> <hr> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_zh" tabindex="-1" href="/zh/?page=/en/welcome?"> 简体中文 </a> </li> <li class="dropdown-border"></li> </ul> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Support </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso" target="_blank">MCUXpresso Software and Tools</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk" target="_blank">MCUXpresso SDK</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide" target="_blank">MCUXpresso IDE</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config" target="_blank">MCUXpresso Config Tools</a> </div> </li> </ul> </div> </div> </div> <div id="welcome-banner" class="jumbotron"> <div class="container logo"> <h1> <span class="nav-logo-text-bold">MCU</span>Xpresso SDK Builder </h1> <p class="d-none d-sm-block"> The MCUXpresso SDK brings open source drivers, middleware, and reference example applications to speed your software development. Customize and download an SDK specific to your processor or evaluation board selections. </p> <div> <a href="/en/select" class="btn btn-lg btn-welcome"> <i class="fa fa-table"></i> Select Development Board </a> <a href="/en/dashboard" class="btn btn-lg btn-welcome"> <i class="fa fa-home"></i> Access My SDK Dashboard </a> </div> <div class="alert alert-info welcome-alert"> NXP strongly recommends you update to the latest version of MCUXpresso SDK that contains essential security updates for Bluetooth Low Energy software stack implementations. </div> </div> </div> <div id="nav-tab-welcome"> <ul class="nav nav-tabs"> <li role="presentation" class="nav-item"> <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab" class="nav-link active">Overview </a> </li> <li role="presentation" class="nav-item"> <a href="#software-tools" aria-controls="software-tools" role="tab" data-toggle="tab" class="nav-link">Software and Tools </a> </li> <li role="presentation" class="nav-item"> <a href="#dev-resources" aria-controls="dev-resources" role="tab" #} data-toggle="tab" class="nav-link">Developer Resources </a> </li> </ul> </div> <div id="welcome-tabs" class="tab-content"> <div role="tabpanel" class="tab-pane active" id="overview"> <div class="container welcome-text"> <div class="row"> <div class="col-md-12"> <h3>Getting started with MCUXpresso SDK is simple.</h3> </div> </div> <div class="row"> <div class="col-md-12"> <h4>Do you have a development board?</h4> <p> Start by clicking on <a href="/en/select"> Select Development Board </a> to download a customized SDK for that specific platform. </p> <h4>Are you returning and seeking previously downloaded SDKs?</h4> <p> Click on <a href="/en/dashboard"> Dashboard </a> for quick access to your history of downloads. </p> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="software-tools"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_sdk.png" alt="sdk_icon"><span>MCUXpresso SDK</span> <p> An open-source <b>software development kit (SDK)</b> built specifically for your processor and evaluation board selections. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> Learn More About MCUXpresso SDK <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_ide.png" alt="ide_icon"><span>MCUXpresso IDE</span> <p> An easy-to-use <b>integrated development environment (IDE)</b> for creating, building, debugging, and optimizing your application. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> Learn More About MCUXpresso IDE <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_cfg.png" alt="cfg_icon"><span>MCUXpresso Config Tools</span> <p> A comprehensive suite of <b>system configuration tools</b>, including pins, clocks, SDK builder and more. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> Learn More About MCUXpresso Config Tools <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <div class="clearfix"> <img class="float-left" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="cfg_icon"> <span class="float-left w-75">MCUXpresso Secure Provisioning Tool</span> </div> <p> A graphical and command-line programming and secure provisioning tool for certificate and key management, secure image preparation, and processor provisioning and programming. </p> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure"> Learn More About MCUXpresso Secure Provisioning Tool <i class="fa fa-angle-right fa-fw"></i> </a> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="dev-resources"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-4"> <h3>Documentation</h3> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK?tab=Documentation_Tab"> MCUXpresso SDK </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE?tab=Documentation_Tab"> MCUXpresso IDE </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-config-tools-pins-clocks-peripherals:MCUXpresso-Config-Tools?tab=Documentation_Tab"> MCUXpresso Config Tools </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-secure-provisioning-tool:MCUXPRESSO-SECURE-PROVISIONING?tab=Documentation_Tab"> MCUXpresso Secure Provisioning Tool </a> </div> <div class="col-sm-4"> <h3>Community Support</h3> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk"> MCUXpresso SDK </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide"> MCUXpresso IDE </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config"> MCUXpresso Config Tools </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-secure-provisioning-tool"> MCUXpresso Secure Provisioning Tool </a> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container-fluid"> <div class="row"> <div id="footer-left"> <div class="ml-lg-3"> <a id="footer_privacy" target="_blank" href="http://www.nxp.com/about/privacy:PRIVACYPRACTICES">Privacy Policy</a> <a id="footer_terms" target="_blank" href="http://www.nxp.com/about/terms-of-use:TERMSOFUSE">Terms of Use</a> <a id="footer_contact" target="_blank" href="http://www.nxp.com/about/contact-us:CONTACTUS">Contact</a> <a id="footer_contact" target="_blank" href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY">Accessibility</a> </div> </div> <div id="footer-right"> &copy; 2022 <a id="footer_nxp" target="_blank" href="http://www.nxp.com">NXP Semiconductors</a>. All rights reserved. </div> </div> </div> </footer> <span id="bb-package-remove-all" class="d-none"> Remove all SDK archives? </span> <span id="bb-package-remove" class="d-none"> Remove this SDK archive? </span> <span id="bb-conf-remove" class="d-none"> Remove this configuration? </span> <span id="bb-notif-remove" class="d-none"> Remove this notification? </span> <script src="/static/generated/external.29cdb1d9.min.js"></script> <script src="/static/generated/internal.4458b9d6.min.js"></script> <!-- skip translations script for Internet Explorer, because IE is lame --> <![if !IE]> <script src="/static/generated/translations.31736f06.min.js"></script> <![endif]> <script>
                  $LANG = "en";
          
                  
                  try {
                      let gt = new Gettext();
                      _ = function(msgid) { return $LANG === 'en' ? msgid : gt.translate(msgid); };
                  }
                  catch (e) {
                      _ = function(msgid) { return msgid; }
                  }
          
                  $(document).ready(function() {
                      SDKWeb.init();
          
                      if ($('#modal_show').length) {
                          $('#myModal').modal();
                      }
                  });
              </script> <script>
                $('[data-toggle="tooltip"]').tooltip()
                if (!document.cookie.split(';').filter((item) => item.includes('right_menu_collapsed=true')).length) {
                  $('.sidenav a.nav-link').tooltip('disable')
                };
              </script> <script>
                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
          
                ga('create', 'UA-71560721-2', 'auto');
                ga('send', 'pageview');
              </script> <!-- Templates use footag block to execute additional per-page js. --> </body> </html> 
          Evidence
          1650211259
          Solution

          Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

  5. Risk=Informational, Confidence=Medium (2)

    1. https://mcuxpresso.nxp.com (2)

      1. Information Disclosure - Sensitive Information in URL (1)
        1. GET https://mcuxpresso.nxp.com/login/?ticket=ST-545-baM-4vr-M4lKfMOAgiLPp-G5xT0-sso_blue_ms63
          Alert tags
          Alert description

          The request appeared to contain sensitive information leaked in the URL. This can violate PCI and most organizational compliance policies. You can configure the list of strings for this check to add or remove values specific to your environment.

          Other info

          The URL contains potentially sensitive information. The following string was found via the pattern: ticket

          ticket

          Request
          Request line and header section (1085 bytes)
          GET https://mcuxpresso.nxp.com/login/?ticket=ST-545-baM-4vr-M4lKfMOAgiLPp-G5xT0-sso_blue_ms63 HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Referer: https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F
          Connection: keep-alive
          Cookie: _ga=GA1.2.1393647954.1650211260; _gid=GA1.2.1240765233.1650211260; _gat=1; RT="z=1&dm=nxp.com&si=48a7596a-c368-4b99-8403-539b9ffe83b6&ss=l23h6dbn&sl=2&tt=35m&obo=1&bcn=%2F%2F684dd32a.akstat.io%2F&ld=cz9&nu=c7hlhuo&cl=n6d&ul=n6y"; session=eyJDQVNfQUZURVJfTE9HSU5fU0VTU0lPTl9VUkwiOiIvZW4vc2VsZWN0In0.Ylw5yA.JUiX-gChUoMxA0TIh7C_w-z0NA4; sat_track=false; OptanonConsent=isIABGlobal=false&datestamp=Sun+Apr+17+2022+11%3A01%3A14+GMT-0500+(Central+Daylight+Time)&version=6.18.0&landingPath=https%3A%2F%2Fwww.nxp.com%2Fsecurity%2Flogin%3Fservice%3Dhttps%253A%252F%252Fmcuxpresso.nxp.com%252Flogin%252F
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (703 bytes)
          HTTP/1.1 302 Moved Temporarily
          Server: Apache
          Content-Length: 226
          Location: https://mcuxpresso.nxp.com/en/select
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Vary: Cookie
          Content-Type: text/html; charset=utf-8
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:01:34 GMT
          Date: Sun, 17 Apr 2022 16:01:34 GMT
          Connection: keep-alive
          Set-Cookie: session=.eJyrVnJ2DI53DAkJ8nQKDXENVrJSqsjNLClJNDB0KCstSSrSS65S0gErCg12DfJz9HXFoSQepCbE39vVD6ggOETX1MRUNynRV9ekrEjX1yTHO83X3zE90yegQNfdtCLEQLe4OD8-Kac0NT632MxYqRYAak0qvg.Ylw53g.-p9DUbQ4k9V933ACnXXI8VVzN-g; Secure; HttpOnly; Path=/
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=103
          Server-Timing: origin; dur=712
          
          
          Response body (226 bytes)
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
          <title>Redirecting...</title>
          <h1>Redirecting...</h1>
          <p>You should be redirected automatically to target URL: <a href="/en/select">/en/select</a>. If not click the link.
          Parameter
          ticket
          Evidence
          ticket
          Solution

          Do not pass sensitive information in URIs.

      2. Re-examine Cache-control Directives (1)
        1. GET https://mcuxpresso.nxp.com/en/welcome
          Alert tags
          Alert description

          The cache-control header has not been set properly or is missing, allowing the browser and proxies to cache content. For static assets like css, js, or image files this might be intended, however, the resources should be reviewed to ensure that no sensitive content will be cached.

          Request
          Request line and header section (333 bytes)
          GET https://mcuxpresso.nxp.com/en/welcome HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Upgrade-Insecure-Requests: 1
          
          
          Request body (0 bytes)
          Response
          Status line and header section (429 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          X-XSS-Protection: 1; mode=block
          X-Frame-Options: sameorigin
          Content-Type: text/html; charset=utf-8
          X-Akamai-Transformed: 9 4393 0 pmb=mRUM,1
          Cache-Control: max-age=0
          Expires: Sun, 17 Apr 2022 16:00:59 GMT
          Date: Sun, 17 Apr 2022 16:00:59 GMT
          Content-Length: 18597
          Connection: keep-alive
          Server-Timing: cdn-cache; desc=MISS
          Server-Timing: edge; dur=103
          Server-Timing: origin; dur=185
          
          
          Response body (18597 bytes)
          <!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta property="twitter:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta property="og:image" content="https://mcuxpresso.nxp.com/static/icon/icon_sdk.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><title>Welcome | MCUXpresso SDK Builder</title><meta name="description" content="The MCUXpresso SDK brings open source drivers, middleware,
                             and reference example applications to speed your software development."><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"><!-- NOTE: no favicon link, as long as it remains in the root directory. --><link rel="shortcut icon" href="/static/icon/favicon.ico?rev=2"><link rel="stylesheet" type="text/css" href="/static/generated/external.e9e510e2.min.css"><link href="/static/fontawesome/css/all.css" rel="stylesheet"><link rel="gettext" type="application/json" href="/static/translations/zh.json"><link rel="stylesheet" type="text/css" href="/static/generated/internal.e1588f93.min.css"><!-- Templates use 'head' block to add additional per-page stylesheets. -->
                                        <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"KJVEC-TXCTC-NWMJ7-3YHTM-5JXV6",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="sps5auixeuq5oys4hg5q-f-bacac7043-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"32","ak.cp":"1067355","ak.ai":parseInt("634748",10),"ak.ol":"0","ak.cr":17,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"43ba6e1","ak.r":5311,"ak.a2":e,"ak.m":"dscb","ak.n":"essl","ak.bpcip":"147.229.208.0","ak.cport":65103,"ak.gh":"193.108.94.166","ak.quicv":"","ak.tlsv":"tls1.3","ak.0rtt":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1650211259","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==5hjVxyaS/btglUCGZvS5f4NYhbL3fpEZCrbOX/QqFUdh/6pQW5HmVsNlwDpTNo7TliEtphxmwv1s75Za9km6gIbPo8QyK6RvkJ/HIm2UU4TIutuiAHeLR9nC5EWokvvLov4yGK4SiQSNEtNPLpVp2FIBDPbnyz8Fv8SoNsfuwWpA5DQCq9oiX55V2cLa4LuPCS+LnLluO9RWIzcEM33483RyUzO9CO3Um89XVaPBYz+VrTaHUMJKBBs9/vmnGM+/WKfBR+VoxmOOGMOmJLfD8K11AVYP0s8FKWS+FOS/mjQ6QXN/lHjcukQZYO+ilxFfracel+UMUsiBmx/kwIpfBUCYtuTasgVpKPW7w5s1+id5t+nd8Qrvjei/sG1+RnwKYOOL8Q+ProL5hpcda0jTzEyZEVSNtc75DIQ6/rVWTjM=","ak.pv":"17","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body> <!--[if IE]>
            <div id="ie_modal_ie9" class="alert alert-light border-secondary" role="alert">
          <![endif]--> <![if !IE]> <div id="ie_modal" class="alert alert-light border-secondary" role="alert"> <![endif]> <p class="alert-heading font-weight-bold mt-1" style="font-size:x-large"> You are using an unsupported browser. </p> <hr> <i class="fas fa-exclamation-triangle text-warning" style="font-size:xx-large"></i> <br><br> <p>Please note that some features may not work as a result.</p><br> <p>To access all features available on MCUXpresso SDK Builder, please use the latest version from the list of supported browsers.</p> <br> <p class="mb-3">To get a list of supported browsers, please refer to the <a href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY"> Accessibility </a> page. </p> <hr> <button type="button" class="btn btn-outline-secondary" style="margin-left: 800px;" onclick="changeWarning()"> Close </button> <button type="button" class="close" onclick="changeWarning()"> <span aria-hidden="true">&times;</span> </button> </div> <script>
            function changeWarning() {
              $('.top-pad-single').addClass('ie');
              $('.sidenav').addClass('ie');
              $('.warning_message').addClass('ie');
          
              $('#ie_modal').addClass('d-none');
              $('#ie_modal_ie9').addClass('d-none');
              document.cookie = "ie_modal_shown=false"
            }
          </script> <!-- Only apply 50px padding at the top container if the nav is displayed. --> <div> <span id="data-loading" class="icon-para-reset spin-icon text-right"></span> <div id="welcome-header" class="navbar navbar-expand-lg container-fluid d-flex navbar-light bg-light"> <div id="welcome-logo" class="my-1 my-sm-0 mr-auto navbar-brand"> <a href="//www.nxp.com" title="NXP Semiconductor"> <img src="/static/icon/nxp-logo-color.svg" alt="nxp logo"> </a> </div> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#welcome-tools-collapse" aria-controls="welcome-tools-collapse" aria-expanded="false" aria-label="Toggle navigation" style="margin: 15px 25px 15px 0px;"> <span class="navbar-toggler-icon"></span> </button> <div id="welcome-tools-collapse" class="navbar-collapse collapse border-top"> <ul class="nav navbar-nav navbar-right navbar-right-main"> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_ide.png" alt="ide icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso IDE </span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_cfg.png" alt="cfg icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso Config Tools</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure" class="nav-link d-flex"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="sec icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> Secure Provisioning Tool</span> </a> </li> <li class="d-lg-flex"> <a target="_blank" class="nav-link d-flex" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> <img class="expanded_navbar_item d-none tool-icon-large mx-3 mx-sm-0" src="/static/icon/icon_sdk.png" alt="sdk icon"> <span class="collapsed_navbar_item d-none mx-auto my-1"> MCUXpresso SDK</span> </a> </li> </ul> </div> <div id="flash-messages d-none"> </div> </div> <div class="navbar navbar-welcome navbar-expand-md p-0"> <div class="container-fluid"> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav ml-auto"> <li class="nav-item dropdown"> <a href="#" id="base_languages_link" class="nav-link" data-toggle="dropdown"> <i class="fas fa-globe-americas"></i> <span class="collapsed_navbar_item d-none"> &nbsp; Language </span> </a> <ul class="dropdown-menu dropdown-menu-right dropdown-default shadow"> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_en" tabindex="-1" href="/en/?page=/en/welcome?"> English <i class="icon-checkmark"></i> </a> </li> <hr> <li class role="presentation"> <a class="dropdown-item" role="menuitem" id="lang_zh" tabindex="-1" href="/zh/?page=/en/welcome?"> 简体中文 </a> </li> <li class="dropdown-border"></li> </ul> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Support </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso" target="_blank">MCUXpresso Software and Tools</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk" target="_blank">MCUXpresso SDK</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide" target="_blank">MCUXpresso IDE</a> <a class="dropdown-item" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config" target="_blank">MCUXpresso Config Tools</a> </div> </li> </ul> </div> </div> </div> <div id="welcome-banner" class="jumbotron"> <div class="container logo"> <h1> <span class="nav-logo-text-bold">MCU</span>Xpresso SDK Builder </h1> <p class="d-none d-sm-block"> The MCUXpresso SDK brings open source drivers, middleware, and reference example applications to speed your software development. Customize and download an SDK specific to your processor or evaluation board selections. </p> <div> <a href="/en/select" class="btn btn-lg btn-welcome"> <i class="fa fa-table"></i> Select Development Board </a> <a href="/en/dashboard" class="btn btn-lg btn-welcome"> <i class="fa fa-home"></i> Access My SDK Dashboard </a> </div> <div class="alert alert-info welcome-alert"> NXP strongly recommends you update to the latest version of MCUXpresso SDK that contains essential security updates for Bluetooth Low Energy software stack implementations. </div> </div> </div> <div id="nav-tab-welcome"> <ul class="nav nav-tabs"> <li role="presentation" class="nav-item"> <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab" class="nav-link active">Overview </a> </li> <li role="presentation" class="nav-item"> <a href="#software-tools" aria-controls="software-tools" role="tab" data-toggle="tab" class="nav-link">Software and Tools </a> </li> <li role="presentation" class="nav-item"> <a href="#dev-resources" aria-controls="dev-resources" role="tab" #} data-toggle="tab" class="nav-link">Developer Resources </a> </li> </ul> </div> <div id="welcome-tabs" class="tab-content"> <div role="tabpanel" class="tab-pane active" id="overview"> <div class="container welcome-text"> <div class="row"> <div class="col-md-12"> <h3>Getting started with MCUXpresso SDK is simple.</h3> </div> </div> <div class="row"> <div class="col-md-12"> <h4>Do you have a development board?</h4> <p> Start by clicking on <a href="/en/select"> Select Development Board </a> to download a customized SDK for that specific platform. </p> <h4>Are you returning and seeking previously downloaded SDKs?</h4> <p> Click on <a href="/en/dashboard"> Dashboard </a> for quick access to your history of downloads. </p> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="software-tools"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_sdk.png" alt="sdk_icon"><span>MCUXpresso SDK</span> <p> An open-source <b>software development kit (SDK)</b> built specifically for your processor and evaluation board selections. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"> Learn More About MCUXpresso SDK <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_ide.png" alt="ide_icon"><span>MCUXpresso IDE</span> <p> An easy-to-use <b>integrated development environment (IDE)</b> for creating, building, debugging, and optimizing your application. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE"> Learn More About MCUXpresso IDE <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <img src="/static/icon/icon_cfg.png" alt="cfg_icon"><span>MCUXpresso Config Tools</span> <p> A comprehensive suite of <b>system configuration tools</b>, including pins, clocks, SDK builder and more. </p> <a target="_blank" href="https://www.nxp.com/support/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-config-tools:MCUXpresso-Config-Tools"> Learn More About MCUXpresso Config Tools <i class="fa fa-angle-right fa-fw"></i> </a> </div> <div class="col-sm-12 col-md-6 col-lg-3"> <div class="clearfix"> <img class="float-left" src="/static/icon/mcuxpresso_secure_prov_icon.png" alt="cfg_icon"> <span class="float-left w-75">MCUXpresso Secure Provisioning Tool</span> </div> <p> A graphical and command-line programming and secure provisioning tool for certificate and key management, secure image preparation, and processor provisioning and programming. </p> <a target="_blank" href="https://www.nxp.com/mcuxpresso/secure"> Learn More About MCUXpresso Secure Provisioning Tool <i class="fa fa-angle-right fa-fw"></i> </a> </div> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="dev-resources"> <div class="container welcome-text"> <div class="row"> <div class="col-sm-4"> <h3>Documentation</h3> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK?tab=Documentation_Tab"> MCUXpresso SDK </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE?tab=Documentation_Tab"> MCUXpresso IDE </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-config-tools-pins-clocks-peripherals:MCUXpresso-Config-Tools?tab=Documentation_Tab"> MCUXpresso Config Tools </a> <a target="_blank" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-secure-provisioning-tool:MCUXPRESSO-SECURE-PROVISIONING?tab=Documentation_Tab"> MCUXpresso Secure Provisioning Tool </a> </div> <div class="col-sm-4"> <h3>Community Support</h3> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-sdk"> MCUXpresso SDK </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide"> MCUXpresso IDE </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-config"> MCUXpresso Config Tools </a> <a target="_blank" href="https://community.nxp.com/community/mcuxpresso/mcuxpresso-secure-provisioning-tool"> MCUXpresso Secure Provisioning Tool </a> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container-fluid"> <div class="row"> <div id="footer-left"> <div class="ml-lg-3"> <a id="footer_privacy" target="_blank" href="http://www.nxp.com/about/privacy:PRIVACYPRACTICES">Privacy Policy</a> <a id="footer_terms" target="_blank" href="http://www.nxp.com/about/terms-of-use:TERMSOFUSE">Terms of Use</a> <a id="footer_contact" target="_blank" href="http://www.nxp.com/about/contact-us:CONTACTUS">Contact</a> <a id="footer_contact" target="_blank" href="https://www.nxp.com/company/about-nxp/accessibility:ACCESSIBILITY">Accessibility</a> </div> </div> <div id="footer-right"> &copy; 2022 <a id="footer_nxp" target="_blank" href="http://www.nxp.com">NXP Semiconductors</a>. All rights reserved. </div> </div> </div> </footer> <span id="bb-package-remove-all" class="d-none"> Remove all SDK archives? </span> <span id="bb-package-remove" class="d-none"> Remove this SDK archive? </span> <span id="bb-conf-remove" class="d-none"> Remove this configuration? </span> <span id="bb-notif-remove" class="d-none"> Remove this notification? </span> <script src="/static/generated/external.29cdb1d9.min.js"></script> <script src="/static/generated/internal.4458b9d6.min.js"></script> <!-- skip translations script for Internet Explorer, because IE is lame --> <![if !IE]> <script src="/static/generated/translations.31736f06.min.js"></script> <![endif]> <script>
                  $LANG = "en";
          
                  
                  try {
                      let gt = new Gettext();
                      _ = function(msgid) { return $LANG === 'en' ? msgid : gt.translate(msgid); };
                  }
                  catch (e) {
                      _ = function(msgid) { return msgid; }
                  }
          
                  $(document).ready(function() {
                      SDKWeb.init();
          
                      if ($('#modal_show').length) {
                          $('#myModal').modal();
                      }
                  });
              </script> <script>
                $('[data-toggle="tooltip"]').tooltip()
                if (!document.cookie.split(';').filter((item) => item.includes('right_menu_collapsed=true')).length) {
                  $('.sidenav a.nav-link').tooltip('disable')
                };
              </script> <script>
                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
          
                ga('create', 'UA-71560721-2', 'auto');
                ga('send', 'pageview');
              </script> <!-- Templates use footag block to execute additional per-page js. --> </body> </html> 
          Parameter
          Cache-Control
          Evidence
          max-age=0
          Solution

          Whenever possible ensure the cache-control HTTP header is set with "no-cache, no-store, must-revalidate". If an asset should be cached consider setting the directives "public, max-age, immutable".

  6. Risk=Informational, Confidence=Low (1)

    1. https://mcuxpresso.nxp.com (1)

      1. Information Disclosure - Suspicious Comments (1)
        1. GET https://mcuxpresso.nxp.com/static/generated/internal.4458b9d6.min.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bLATER\b and was detected 13 times, the first in the element starting with: "var servvice_unavailable_msg=_('Service unavailable. Please try again later!');if(fn==='checkDashboard'){if(!$('#service_unavail", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (311 bytes)
          GET https://mcuxpresso.nxp.com/static/generated/internal.4458b9d6.min.js HTTP/1.1
          Host: mcuxpresso.nxp.com
          User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://mcuxpresso.nxp.com/en/welcome
          
          
          Request body (0 bytes)
          Response
          Status line and header section (419 bytes)
          HTTP/1.1 200 OK
          Server: Apache
          Last-Modified: Fri, 08 Apr 2022 07:01:23 GMT
          ETag: "1cbc7-5dc1f299c2c11-gzip"
          Content-Type: application/javascript
          Cache-Control: max-age=36545
          Expires: Mon, 18 Apr 2022 02:10:05 GMT
          Date: Sun, 17 Apr 2022 16:01:00 GMT
          Connection: keep-alive
          Connection: Transfer-Encoding
          Server-Timing: cdn-cache; desc=REVALIDATE
          Server-Timing: edge; dur=1
          Server-Timing: origin; dur=1447
          
          
          Response body (117703 bytes)
          var Debug={log:function(object,label,style){var default_style={'background-color':'#007F04','color':'white'};style=decodeURIComponent($.param($.extend(default_style,((typeof style==='undefined')?{}:style)))).replace(/=/g,': ').replace(/&/g,'; ');var obj_specifier;switch(typeof object){case'string':case'undefined':obj_specifier='%s';break;case'boolean':case'number':obj_specifier=((parseInt(object)!==parseFloat(object))?'%f':'%d');break;case'object':case'function':case'xml':default:obj_specifier='%O';break;}
          console.log('%c '+((typeof label==='undefined')?'debug':label)+': %c  '+obj_specifier,style,'background-color: white;',object);}};var Dashboard={init:function(){$('.archive-link').click(function(){var uvid=$(this).children('span.modal-uvid').text();var $_GET=getQueryParams(document.location.search);var data={hash:$(this).children('span.modal-hash').text(),uvid:uvid,to_vault:$_GET["to_vault"]=='true'};var json=JSON.stringify(data);$('.dashboard-download-modal .modal-content').addClass('background-disable');$('#update-spin').removeClass('d-none');$('#agree-license').addClass('disabled');$.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(flash_messages(res)){$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('#update-spin').addClass('d-none');$('.dashboard-download-modal').modal('hide');}else{SDKWeb.loadEULA(res,data,true,false);}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'dashboard','msg':'Error on "Download SDK Archive" click in modal','errMsg':errorMessage});$('#update-spin').addClass('d-none');}});return false;});Dashboard.dashboardSetupClickHandlers();$('#dashboard-sdk-show').click(function(){Dashboard.showAll();return false;});$('#dashboard-sdk-remove-all').click(function(){Dashboard.dashboardRemoveAllClick();return false;});Dashboard.search();},search:function(){$('#dashboard-search').keyup(function(){if($('#dashboard-sdk-show').is(":visible")){Dashboard.showAll(false);}
          var search_val=$(this).val().toLowerCase();$('tbody#dashboard-table tr').each(function(i,el){var row_val=$(el).find('td.table-name').text().toLowerCase();if(row_val.indexOf(search_val)==-1){$(this).hide();}else{$(this).show();}});});},showAll:function(async){async=((typeof async==='undefined')?true:async);$('.dashboard-page').addClass('opaque-disable not-active');$('#update-spin').removeClass('d-none');var data={action:'show_all'};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',async:async,success:function(res){check_user_reload(res);$('#dashboard-table').replaceWith(res['archives']);Dashboard.dashboardSetupClickHandlers();$('#dashboard-sdk-show').hide();$('.dashboard-page').removeClass('opaque-disable not-active');$('#update-spin').addClass('d-none');},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error when Show-all','errMsg':errorMessage,});$('.dashboard-page').removeClass('opaque-disable not-active');$('#update-spin').addClass('d-none');}});},updateDashboard:function(res){$('#dashboard-table-building').replaceWith(res['building']);if(res['building_update']){$('table').show();$('#dashboard-welcome-tabs').hide();}
          if('last_id'in res){$('#last-archive-id').text(res['last_id']);$('#dashboard-header').show();$('table').show();$('#dashboard-welcome-tabs').hide();$('#dashboard-table').delay(800).fadeOut(500,function(){$(this).replaceWith(res['archives']);$('#dashboard-table').fadeIn(500,function(){$('.alert-build').hide();});Dashboard.dashboardSetupClickHandlers();$('#dashboard-sdk-show').show();});}},checkDashboard:function(){var data={action:'update',last_id:$('#last-archive-id').text()};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);Dashboard.updateDashboard(res);$('#dashboard-sdk-num').text(res['count']);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;}});return false;},dashboardSetupClickHandlers:function(){$('.dash-update-action').off('click').on('click',function(){var button=$(this),archive_type=button.data('archive-type');if(archive_type=='SDK'){$('.dashboard-page').addClass('opaque-disable not-active');$('#update-spin').removeClass('d-none');var target=button.closest('td').find('.archive-target').text();SDKWeb.createConfig('update',target,button.data('uvid'),button.data('rel-id'),'','dashboard_update');}else if(archive_type==='SAPKG'){SDKWeb.DownloadSAPKG(this);}});$('.dash-download-action').off('click').on('click',Dashboard.dashboardDownloadClick);$('.dash-sapkg-download-action').off('click').on('click',Dashboard.dashboardDownloadSAPKGClick);$('.dash-tools-action').off('click').on('click',Dashboard.dashboardToolsClick);$('.dash-share-action').off('click').on('click',Dashboard.dashboardShareClick);$('.dash-remove-action').off('click').on('click',Dashboard.dashboardRemoveClick);$('.dash-info-action').off('click').on('click',Dashboard.dashboardInfoClick);$('.dash-archive-desc').editable({toggle:'manual',tpl:'<textarea maxlength="150"></textarea>',inputclass:'dash-edit-desc-input',url:function(params){var data={'action':'update_arch_desc','uvid':params.pk,'archive_desc':params.value};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);flash_messages(e);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dash-archive-desc','errMsg':errorMessage,});}});}});$('.dash-archive-desc').on('shown',function(e,editable){var input=editable.input.$input,closeButton=editable.container.$form.find('.editable-cancel'),prevValue=input.val();if(!$('.modal-backdrop').length){$('body').append('<div class="modal-backdrop show"></div>');}
          $('.popover.editable-container').css({zIndex:'1060'});$(input).on('keyup',function(){if($(this).val()!==prevValue){$(closeButton).off('click').on('click',function(){confirmClosing();});$(document).off('keyup').on('keyup',function(e){if(e.keyCode===27){confirmClosing();}});}});});$('.dash-archive-desc').on('hidden',function(){$('.modal-backdrop.show').remove();var confName=$(this).data('confName');var newDesc=$(this).text();if(newDesc===confName||newDesc===''){$(this).text(confName);$(this).parent().addClass('d-none');}});$('.dash-edit-desc').off('click').on('click',function(e){e.stopPropagation();$('.top-tooltip').tooltip('hide');var selector=$(this).siblings('div').find('.dash-archive-desc');$(selector).parent().removeClass('d-none');$(selector).editable('toggle');$('.popover-header').html($(this).data('original-title'));});$('#dashboard-table .top-tooltip').tooltip({placement:'top',container:'body',trigger:'hover'});$('#dashboard-table .bottom-tooltip').tooltip({placement:'bottom',container:'body',trigger:'hover'});$('#dash-download-modal .config-tools-download').on('click','.config-tools-download-handler',function(){$('.download-modal-main').hide();$('.download-modal-eula').hide();$('.actions-spinner').addClass('d-none');Dashboard.dashboardConfigToolsDataFormInit();$('.download-modal-config-tools').show();$('.modal-back').show();});$('.modal-back').off('click').on('click',function(){$('.download-modal-eula').hide();$('.download-modal-config-tools').hide();$('.modal-back').hide();$('.modal-dialog').removeClass('modal-lg');$('.download-modal-main').show();});SDKWeb.setConfigToolsDataClickHandler();},dashboardGetApidoc:function(uvid){var data={'action':'get_docs','uvid':uvid};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if('html'in res){$('#api-link').html(res['html']);}else{$('#api-link').html('');}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardGetApidoc','errMsg':errorMessage,})}});},dashboardShowMiddlewareTools:function(data){$('#tools-middleware-section').addClass('d-none');$('#tools-middleware-section').html('');if(data&&data!=='False'){$('#tools-middleware-section').html(data);$('#tools-middleware-section').removeClass('d-none');}},dashboardGetExampleLink:function(uvid,no_sdk_example_info){var data={'action':'get_example_link','uvid':uvid};var json=JSON.stringify(data);var examples_spinner=$('#download-proj-spinner'),examples_link=$('#download-proj-link'),no_example_in_db_alert=$('.no_example_in_db_alert');examples_spinner.siblings('.fa-external-link-alt').addClass('d-none');examples_spinner.removeClass('d-none');$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if('link'in res){if(res.link){examples_link.siblings('.alert').hide();examples_link.attr('href',res.link);no_example_in_db_alert.addClass('d-none');examples_spinner.siblings('.fa-external-link-alt').removeClass('d-none');examples_spinner.addClass('d-none');examples_link.removeClass('disabled');examples_link.siblings('.alert').hide();}else{examples_link.addClass('disabled');examples_link.attr('href','#');no_example_in_db_alert.removeClass('d-none');examples_spinner.siblings('.d-none').removeClass('d-none');examples_spinner.addClass('d-none');examples_link.siblings('.alert').show();}
          if(res.toolchain==='mcuxpresso'||no_sdk_example_info){$('.mcuxpresso_example_alert').removeClass('d-none');examples_link.siblings('.alert').show();}}else if('html'in res)
          $('#api-link').html(res.html);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardGetExampleLink','errMsg':errorMessage,});}});examples_link.on('click',function(){$(this).addClass('disabled');examples_spinner.removeClass('d-none');examples_spinner.siblings('.fa-external-link-alt').addClass('d-none');});},dashboardConfigToolsDataFormInit:function(){var modal_body=$('.download-modal-config-tools');modal_body.removeClass('d-none');modal_body.find('.loading_message').addClass('d-none');modal_body.find('.export_form').removeClass('d-none');},dashboardGetConfigToolsDataLink:function(uvid,filename){Dashboard.dashboardConfigToolsDataFormInit();var link=$('#config-tools-download-link');link.removeClass('config-tools-download-handler');var spinner=$('#download-config-tools-spinner');spinner.siblings('.fa-download').addClass('d-none');spinner.removeClass('d-none');$.ajax({type:'POST',url:'/'+$LANG+'/select_config_tools_data',data:JSON.stringify({'action':'get_config_tools_data_links','uvid':uvid}),contentType:'application/json',dataType:'json',success:function(response){if(response['links']&&response['links'].length){link.removeClass('disabled').addClass('config-tools-download-handler');$('#config-tool-data-filename').val(filename+'_ConfigTools_data');var actions=$('.download-modal-config-tools .actions-container .info-row');actions.find('.btn').remove();for(var idx in response['links']){var download_link=response['links'][idx];actions.append($('<a id="download-tools-data" class="btn btn-warning" />').attr('href',download_link['link']).text(download_link['title']))}}else{link.addClass('disabled').removeClass('config-tools-download-handler');}},complete:function(){spinner.addClass('d-none').siblings('.fa-download').removeClass('d-none');}});},dashboardDownloadSAPKGClick:function(){var uvid=$(this).parent().parent().find('span.archive-uvid').text();var data={hash:$(this).parent().parent().find('span.archive-hash').text(),uvid:uvid};var json=JSON.stringify(data);if($(this).attr('eula')!=='false'){$('#update-spin').removeClass('d-none');$('.download-modal-main').hide();$('.download-modal-config-tools').hide();$('.download-modal-eula').show();$('.dashboard-download-modal').modal({keyboard:false,backdrop:'static'});$('#agree-license').addClass('disabled');}
          $.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(flash_messages(res)){$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('#update-spin').addClass('d-none');$('.dashboard-download-modal').modal('hide');}else{if('terms'in res&&res['terms']===null){var url='/'+$LANG+'/download'+'?hash='+res['hash']+'&uvid='+res['uvid']+'&dl=1'+'&js=1'+'&doc=1';window.location.href=url;}else{SDKWeb.loadEULA(res,data,true,true);$('.modal-back').hide();}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardDownloadSAPKGClick','errMsg':errorMessage,});}});return false;},dashboardDownloadClick:function(){$('.top-tooltip').tooltip('hide');var tr=$(this).parents('tr');var arch_type=tr.data('type');var actions=tr.find('.table-actions');tr.removeClass('bg-color');var hash_=actions.find('.archive-hash').text();var uvid=actions.find('.archive-uvid').text();var doc=actions.find('.archive-doc').text();var size=actions.find('.archive-size').text();var sdk_version=$(this).attr('data-sdk-version');var no_sdk_example_info=$(this).attr('data-no-sdk-example-info');var access=$(this).attr('data-archive-access');if(access==='True'){$('.no-access-modal-body').hide();$('.standard-modal-body').show();}else{$('.standard-modal-body').hide();$('.no-access-modal-body').show();}
          if(sdk_version==='1.3.0'){$('.archive-link').addClass('disabled');$('.download-not-available').show();$('#download-archive-info').addClass('d-none');}else{$('.archive-link').removeClass('disabled');$('.download-not-available').hide();$('#download-archive-info').removeClass('d-none');}
          $('#download-proj-link').siblings('.alert').hide();$('#download-proj-link').addClass('disabled');$('#config-tools-download-link').addClass('disabled');$('.archive-link span.modal-hash').text(hash_);$('.archive-link span.modal-uvid').text(uvid);$('#api-link').html('<div class="download-item"><h5>Loading...</h5></div>');$('.modal-dialog').removeClass('modal-lg');$('.modal-back').hide();$('.download-modal-main').show();$('.download-modal-eula').hide();$('.download-modal-config-tools').hide();if(doc=='1'){$('#download-doc-link').off('click').on('click',function(){var url='/'+$LANG+'/download'+'?hash='+hash_+'&uvid='+uvid+'&dl=1'+'&js=1'+'&doc=1';window.location.href=url;});$('#download-archive-info').html('('+size+' MB)');$('#download-doc-link').removeClass('disabled');}else{$('#download-doc-link').off('click');$('#download-doc-link').addClass('disabled');$('#download-archive-info').html('+'+_(' documentation ')+'('+size+' MB)');}
          if(sdk_version.localeCompare('2.11',undefined,{numeric:true,sensitivity:'base'})>=0){$('#download-doc-link').hide();$('#download-doc-link').parent('.download-item').hide();$('#download-link-text').html(_("Download SDK Archive including documentation"));$('#download-archive-info').html('('+size+' MB)');}else{$('#download-doc-link').show();$('#download-doc-link').parent('.download-item').show();$('#download-link-text').html(_("Download SDK Archive"));}
          $('.dashboard-download-modal').modal({keyboard:false,backdrop:'static'});if(no_sdk_example_info){$('.common_info').hide();$('.no_sdk_example_info').text(no_sdk_example_info);$('.no_sdk_example_info').show();$('.dashboard_example_info').show();}else{$('.no_sdk_example_info').hide();$('.common_info').show();}
          if(arch_type==='SDK'){$('#api-link').parent().removeClass('d-none');Dashboard.dashboardGetApidoc(uvid);Dashboard.dashboardGetExampleLink(uvid,no_sdk_example_info);Dashboard.dashboardGetConfigToolsDataLink(uvid,$.trim(tr.find('.table-name .dash-archive-name').text()));Dashboard.dashboardShowMiddlewareTools($.trim(tr.find('.archive-middleware-tools').text()));}else{$('#api-link').parent().addClass('d-none');}
          return false;},dashboardShareClick:function(){$('.top-tooltip').tooltip('hide');$(this).parent().parents('tr').removeClass('bg-color');$(this).parent().siblings('.dashboard-share-modal').find('button.btn-copy').click(function(){$(this).siblings('input')[0].select();document.execCommand("copy");});var share_modal=$(this).parent().siblings('.dashboard-share-modal');share_modal.modal({keyboard:false,backdrop:'static'});var uvid=$(this).parent().parents('tr').find('.table-actions').find('.archive-uvid').text();var data={'action':'get_share','uvid':uvid};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if('restricted'in res&&res['restricted']){share_modal.find('.alert').show();}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardShareClick','errMsg':errorMessage,});}});return false;},dashboardToolsClick:function(){$('.top-tooltip').tooltip('hide');$(this).parents('tr').removeClass('bg-color');$(this).siblings('.dashboard-tools-modal').modal({keyboard:false,backdrop:'static'});return false;},dashboardInfoClick:function(){$('.top-tooltip').tooltip('hide');$(this).parents('tr').removeClass('bg-color');$(this).closest('td').find('.dashboard-info-modal').modal({keyboard:false,backdrop:'static'});return false;},dashboardRemoveClick:function(){$('.top-tooltip').tooltip('hide');$(this).parents('tr').removeClass('bg-color');var row=$(this).closest('tr'),rowHeight=$(row).height(),rowTDs=$(row).find('td');var active_row=$(this);bootbox.confirm($('#bb-package-remove').text(),function(result){if(result==true){var spinnerHTML='<td class="text-center spin-padding dash-remove-spinner">\n'+'<span class="icon-para-reset spin-icon"></span>\n'+'</td>';$(rowTDs).hide();$(row).append(spinnerHTML);$(row).css({'height':rowHeight,'position':'relative'});$('.dash-remove-spinner').css({'padding-top':rowHeight/2})
          var uvid=active_row.siblings('.archive-uvid').text();var data={'action':'remove','data':uvid};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:json,contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);if(!flash_messages(e)){window.location=window.location.href.split("?")[0];}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardRemoveClick','errMsg':errorMessage,});$(rowTDs).show();$('.dash-remove-spinner').remove();}});}else{}});return false;},dashboardRemoveAllClick:function(){bootbox.confirm($('#bb-package-remove-all').text(),function(result){if(result===true){$.ajax({type:'POST',url:'/'+$LANG+'/dashboard',data:JSON.stringify({'action':'removeAll'}),contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);if(!flash_messages(e)){location.reload();}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('dashboard',{'type':'dashboard','msg':'Error on dashboardRemoveAllClick','errMsg':errorMessage,});}});}});return false;}};var SDKWeb={loadEULA:function(res,data,bool_uvid,close_all){$('.modal-eula-body').html(res['terms']);$('.modal-eula-accept').html(res['accept']);$('.download-modal-main').hide();$('#agree-license').attr('href','#');if(res['length']>0)
          SDKWeb.setupLicenseNav(res['length']+1);if(bool_uvid){var to_vault=data.hasOwnProperty('to_vault')?data.to_vault:false;data['eula_check']=true;var json=JSON.stringify(data);var url='/'+$LANG+'/download'+'?hash='+data['hash']+'&uvid='+data['uvid']+'&dl=1'+'&js=1';if(to_vault)
          url+='&to_vault=true';$.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(){$('#agree-license').attr('href',url);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'license','msg':'Error on loadEULA','errMsg':errorMessage,});}});$('#agree-license').attr('download');$('#agree-license').on('click',function(){if(close_all){$("#dash-download-modal .close").click();}else{$('.modal-back').trigger('click');}});}else{var url=$('#agree-license').attr('href');$('#agree-license').off('click').on('click',function(){if(url==='#'){url='/'+$LANG+'/download'+'?hash='+$('#agree-license').data('hash')+'&auto=1'+'&dl=1'+'&js=1'+'&to_vault=true';}
          window.location.href=url;});}
          $('.modal-dialog').addClass('modal-lg');$('.download-modal-eula').show();$('.modal-back').show();$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('#update-spin').addClass('d-none');},setupLicenseNav:function(tab_length){$('.btnNext').off('click').on('click',function(){var current_tab_num=$(this).closest('.row').find('.tab-num');var current_eula_tab=parseInt(current_tab_num.text());if($('.nav-link.active').parent('.nav-item').hasClass('no-clickthroughs')){var selector="a[data-num='"+current_eula_tab+"']";$('.nav-link.active').removeClass('active');$(selector).addClass('active');$(selector).trigger('click');}
          var tab=$('.nav-link.active').parent('.nav-item').next('li').find('a');$('.nav-link.active').addClass('d-none');tab.removeClass('d-none');if(tab.data('num')){current_tab_num.text(tab.data('num'));tab.trigger('click');$('.btnPrevious').removeAttr('disabled');}
          if(tab.data('num')===tab_length){$('#agree-license').removeAttr('disabled');$('.btnNext').attr('disabled','disabled');}});$('.btnPrevious').off('click').on('click',function(){var current_tab_num=$(this).closest('.row').find('.tab-num');var current_eula_tab=parseInt(current_tab_num.text());if($('.nav-link.active').parent('.nav-item').hasClass('no-clickthroughs')){var selector="a[data-num='"+current_eula_tab+"']";$('.nav-link.active').removeClass('active');$(selector).addClass('active');$(selector).trigger('click');}
          var tab=$('.nav-link.active').parent('.nav-item').prev('li').find('a');$('.nav-link.active').addClass('d-none');tab.removeClass('d-none');$('.btnNext').removeAttr('disabled');if(tab.data('num')===1){$('#agree-license').removeAttr('disabled');$('.btnPrevious').attr('disabled','disabled');}
          if(tab.data('num')){current_tab_num.text(tab.data('num'));tab.trigger('click');}});},checkNotify:function(){var last_id=0;if($('#nots_last_id').text()!=''){last_id=$('#nots_last_id').text();last_id=last_id.trim();if(last_id.length===0)
          last_id=0;}
          var load=$('#clear_to_load').html().trim();var data={'action':'get_nots','last_id':last_id};var json=JSON.stringify(data);if(load==='true'){$('#clear_to_load').html('false');$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(notifications){var push=false;for(var item in notifications){push=true;if(last_id!==0)
          $('#nots-num-notify').removeClass('d-none');if(parseInt($('#nots-num-notify').text())===0)
          $('#nots-num-notify').addClass('d-none');if(parseInt(notifications[item].id)>parseInt($('#nots_last_id').text())){SDKWeb.addNotification(notifications[item]);$('#nots-num-notify').text(parseInt($('#nots-num-notify').text())+1);$('#nots-num-notify').removeClass('d-none');$('.hide-notifications').removeClass('d-none');$('.no-new-notifications').addClass('d-none');}
          $('#nots_last_id').text(notifications[item].id);var settings=notifications[item].settings;var link=notifications[item].link;if(settings&&settings['blink']){$.notify({message:notifications[item].name,url:link,target:'_self'},{type:getBootstrapType(settings['status']),offset:{y:100,x:20}});}}
          $('#clear_to_load').html('true');},error:function(xhr,status,error){}});}
          return false;},addNotification:function(notification){$("#add-to-notifications-wrapper").prepend("<div class='notification-item'>"+"<a class='content' href='"+notification.link+"'>"+"<div style='float:right;'>"+"<span class='item-info'>"+notification.date+" GMT</span>"+"</div>"+"<h5 class='item-title'>"+notification.name+"</h5>"+"<p class='item-info'>"+notification.description+"</p>"+"</a>"+"</div>");},showNotsDetails:function(){var details=$(this).parentsUntil('tr').find('.nots-details');if(details.find('.nots-show-details').hasClass('d-none'))
          details.find('.nots-show-details').removeClass('d-none');else
          details.find('.nots-show-details').addClass('d-none');if($(this).hasClass('d-none'))
          $(this).removeClass('d-none');else
          $(this).addClass('d-none');$(this).siblings().each(function(){if($(this).hasClass('d-none'))
          $(this).removeClass('d-none');else
          $(this).addClass('d-none');});},setNotificationsSeen:function(){var data={'action':'all_seen'};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(res){},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('notifications',{'type':'notifications','msg':'Error on setNotificationsSeen','errMsg':errorMessage,});}});},printEulas:function(){var ifr=document.createElement('iframe');ifr.style='height: 0px; width: 0px; position: absolute';document.body.appendChild(ifr);$('#eulas').children().not(":last").each(function(){$(this).clone().appendTo(ifr.contentDocument.body);});if(navigator.userAgent.toLowerCase().indexOf("firefox")!==-1){ifr.contentWindow.print();}else{ifr.contentWindow.document.execCommand('print',false,null);}
          setTimeout(function(){ifr.parentElement.removeChild(ifr);},1)},showDeprecatedTooltip:function(element){$(element).tooltip({placement:'right',trigger:'hover',container:'body'});$(element).trigger('mouseover');},hideDeprecatedTooltip:function(element){$(element).tooltip('hide');},removeDeprecatedTooltip:function(){$('.tooltip').remove();},removeNotificationButton:function(){var active_row=$(this);bootbox.confirm($('#bb-notif-remove').text(),function(result){if(result==true){var tr=active_row.closest('tr');not_idx=(tr.find('.not_idx').text());active_row.closest('tr').fadeOut();var data={'action':'remove','index':not_idx};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);flash_messages(e);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('notifications',{'type':'notifications','msg':'Error on removeNotificationButton','errMsg':errorMessage,});}});$('#NotificationTable').DataTable().ajax.reload();}else{}});return false;},removeAllNots:function(){var result=false;bootbox.confirm($('#nots_remove_all_text').text(),function(result){if(result==true){var data={'action':'removeAll'};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);location.reload();},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('notifications',{'type':'notifications','msg':'Error on removeAllNots','errMsg':errorMessage,});}});}else{}});return false;},getHWDetailsModal:function(data){$.ajax({type:'POST',url:'/'+$LANG+'/configuration-settings',data:JSON.stringify(data),contentType:'application/json',dataType:'json',success:function(response){check_user_reload(response);$('#additional-info-modal').parent().html(response['template']);SDKWeb.clocksButtonsenable(response);$('#pins-clocks-spin').addClass('d-none');$('.actions-container').removeClass('d-none');$('#details-button').prop('disabled',false);},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('confSettings',{'type':'confSettings','msg':'Error on HWDetailsModal','errMsg':errorMessage,});}});},clocksButtonsenable:function(data){var clock_title,pins_title;if(data['pins']){pins_title=_('Assign signals to pins, set electrical properties, and generate initialization code.');SDKWeb.enable_pins();}else{pins_title=_('The Pins tool does not support the selected processor/board/kit.');SDKWeb.disable_pins();}
          if(data['clocks']){clock_title=_('Setup the system clocks and generate initialization code.');SDKWeb.enable_clocks();}else{clock_title=_('The Clocks tool does not support the selected processor/board/kit.');SDKWeb.disable_clocks();}
          if(data['tmp_conf']){$('.tmp-conf').removeClass('d-none');$('#tmp-conf').prop('checked',true);}else{$('.tmp-conf').addClass('d-none');$('#tmp-conf').prop('checked',false);}
          $('#select-clocks-tooltip').attr('data-original-title',clock_title).tooltip('_fixTitle');$('#select-pins-tooltip').attr('data-original-title',pins_title).tooltip('_fixTitle');$('#tools-modal-checkbox').tooltip();$('#select-clocks-button').click(function(){if(window.searchNode)sessionStorage.searchNode=window.searchNode.base_text;SDKWeb.createConfig('tools-clocks');});$('#select-pins-button').click(function(){if(window.searchNode)sessionStorage.searchNode=window.searchNode.base_text;SDKWeb.createConfig('tools-pins');});},getHWConfig:function(data){var input_data={'action':'getHWConfig','data':data,local_criteria:SDKWeb.get_criteria_session_storage(),};$.ajax({type:'POST',url:'/'+$LANG+'/configuration-settings',data:JSON.stringify(input_data),contentType:'application/json',dataType:'json',success:function(data){check_user_reload(data);var html_data=data['template'],$actionContainer=$('.actions-container'),$selectName=$('#select-name');if(input_data['data']['archive_type']==='SDK'){$selectName.val("SDK_"+data['version']+"_"+input_data['data']['base_text']);}else{$selectName.val(input_data['data']['text']);}
          $selectName.prop('disabled',false);$('.cta-container #select-button').prop('disabled',false);$('#details-button').prop('disabled',false);$('#hw-spin').addClass('d-none');$actionContainer.removeClass('opacity');$('.hw-conf-data').waitForImages(function(){$('#hw-conf .hw-conf-data').html(html_data);$('.hw-conf-data').removeClass('opacity');$('#sdktag_sel').selectpicker('refresh');if(('archive_type'in data&&data['archive_type']==='SAPKG')){$actionContainer.fadeOut();$actionContainer.addClass('d-none');}else{$actionContainer.fadeIn();$actionContainer.removeClass('d-none');}
          SDKWeb.clocksButtonsenable(data);if(input_data.data.archive_type==="SAPKG"){$('.cta-container').addClass('d-none')}
          $('#sdktag_sel').on('changed.bs.select',function(e){var additionalInfo=$('button[data-id="sdktag_sel"]').find('.select-additional');$('.recommendation').remove();$('.cta-container').append($('<div class="recommendation" />').html(additionalInfo))});if(input_data['data']['archive_type']==='SDK'){let hwtoolsdata={};hwtoolsdata['action']='getHWDetailsModal';hwtoolsdata['sdktag']=data.default_tag;hwtoolsdata['target']=data.target;SDKWeb.getHWDetailsModal(hwtoolsdata);}});if(input_data['data']['archive_type']==='SDK'){$(document).on('click','#details-button',function(){$('#additional-info-modal').modal('show');});$(document).on('click','#select-button',function(){let selectBtn=$('#select-button');selectBtn.addClass('disabled');selectBtn.attr('disabled',true);selectBtn.text(_('Loading...'));$('#sdk-tag-selector button').addClass('disabled');$('.select-sdktag-selector button').addClass('disabled');$('#sdktag_sel').prop('disabled',true);$('.select-sdktag-selector').addClass('disabled');if(!sessionStorage.getItem('workflow')){SDKWeb.set_workflow_session_storage('select_page');}
          SDKWeb.goToBuilderPage();});$(document).on('click','#sdktag_sel ~ .dropdown-menu li',function(){document.activeElement.blur();});}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('confSettings',{'type':'confSettings','msg':'Error on getHWConfig','errMsg':errorMessage,});}});},disable_tools_links:function(){$('#tmp-conf').prop('disabled',true);$('#tmp-conf-label').removeClass('href-color');SDKWeb.disable_pins();SDKWeb.disable_clocks();},enable_pins:function(){$('#select-pins-button').removeClass('disabled');$('#icon_pins_blue').removeClass('d-none');$('#icon_pins_gray').addClass('d-none');},disable_pins:function(){$('#select-pins-button').addClass('disabled');$('#icon_pins_gray').removeClass('d-none');$('#icon_pins_blue').addClass('d-none');},enable_clocks:function(){$('#select-clocks-button').removeClass('disabled');$('#icon_clocks_blue').removeClass('d-none');$('#icon_clocks_gray').addClass('d-none');},disable_clocks:function(){$('#select-clocks-button').addClass('disabled');$('#icon_clocks_gray').removeClass('d-none');$('#icon_clocks_blue').addClass('d-none');},set_session_storage_tmp_conf:function(value){sessionStorage.setItem("tools_tmp_conf",value);},set_workflow_session_storage:function(value){sessionStorage.setItem("workflow",value);},set_criteria_session_storage:function(object_value){if(object_value!==undefined&&object_value!=='undefined'){sessionStorage.setItem("local_criteria",JSON.stringify(object_value));}},get_criteria_session_storage:function(){var local_criteria=sessionStorage.getItem('local_criteria');if(local_criteria){try{return JSON.parse(local_criteria);}catch(err){SDKWeb.set_criteria_session_storage({})
          return{}}}
          return{}},buildSDKResponse:function(result){if(!flash_messages(result)){if(result['test_ui']){$('#test-ui-results').text(JSON.stringify(result));$('#test-ui-results').removeClass('d-none');window.builderCockpit.resetInitialState();return;}}
          SDKWeb.set_criteria_session_storage({});if(result.hasOwnProperty('uvid')){window.location.href='/en/dashboard?uvid='+result['uvid']+'&to_vault=true';return}
          if((result.hasOwnProperty('redirect')==false&&result.hasOwnProperty('uvid')==false)||(result.hasOwnProperty('redirect')==true&&result['redirect'])){window.location.href='/en/dashboard?build=1';}},buildFromZIP:function(data_form){$('#btn-download-example button').button('loading');$('#print-license').attr('disabled','disabled');var form=data_form.serializeForm();var selected=$('#example-tree').treeview('getSelected');form.path=selected[0].path;form.target=selected[0].target;form.example_id=selected[0].id;$.ajax({type:'POST',url:'/'+$LANG+'/exampleBuild',data:form,success:function(res){check_user_reload(res);if(res['status']==='wait'){form.action='check'
          var wait=true;var checks=0;checks=checks+1;form.checks=checks;form.example_hash=res['example_hash']
          form.sdk_package_hash=res['sdk_package_hash']
          var checkExample=function(timeout){setTimeout(function(){$.ajax({type:'POST',url:'/'+$LANG+'/exampleBuild',data:form,success:function(res){check_user_reload(res);if(res['status']==='success'){wait=false;render_example_download(res);}else if(res['status']==='timeout'||res['status']==='error'){wait=false;SDKWeb.renderExampleFailedMsg(res);}else{checkExample(4000);}},error:function(res){show_example_fail(res);errorAjaxCall('exampleProjects',{'type':'exampleProjects','msg':'Error on PG - buildFromZIP other checks',});}});},timeout);};checkExample(0);}else if(res['status']==='success'){render_example_download(res);}else{wait=false;SDKWeb.renderExampleFailedMsg(res);}},error:function(res){show_example_fail(res);errorAjaxCall('exampleProjects',{'type':'exampleProjects','msg':'Error on PG - buildFromZIP first check',});}});return false;},renderExampleFailedMsg:function(data){$('.select-spinner').addClass('d-none');$('.select-example-building').addClass('d-none');$('.select-example-fail').removeClass('d-none');if('flash_message'in data){$('.select-text-alert').html(data.flash_message);}else if('error'in data){$('.select-text-alert').html(data.error);}else{$('.select-text-alert').html('Failed');}},resetPopups:function(){localStorage.clear();SDKWeb.showToastMessage(_('Pop-ups reset'),_('All pop-ups have been cleared'))},deletePackagesOnDemand:function(){$('#delete-on-demand').button('loading');var data={'action':'delete_on_demand','days':$('#days_on_demand').val()};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/preferences',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);$('#delete-on-demand').text('Delete now');$('#deleted-packages-message').text(res.deleted===0?_('No packages match the criteria'):_('Deleted ')+res.deleted+_(' packages'));$('.delete-alert-ok').slideDown('slow');},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('preferences',{'type':'preferences','msg':'Error on deletePackagesOnDemand','errMsg':errorMessage,});}});},updatePreferences:function(){$('#save-preferences').button('loading');var form=$(this).serializeForm();var data={'action':'update','data':form};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/preferences',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);$('#save-preferences').text('Save');$('#save-preferences').attr('disabled','disabled');$('.select-alert-saved').slideDown("slow");},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('preferences',{'type':'preferences','msg':'Error on updatePreferences','errMsg':errorMessage,});}});return false;},downloadFile:function(){var $_GET=getQueryParams(document.location.search);var hash=$_GET['hash'];var agree=$_GET['agree'];var uvid=$_GET['uvid'];var to_vault=$_GET['to_vault'];var hash_download=$_GET['hash_download'];var auto=$_GET['auto'];var uuid=$_GET['uuid'];if(uvid===undefined){uvid=$('#download_uvid').val();}
          if(uuid===undefined){uuid='';}else{uuid='&uuid='+uuid;}
          if(hash_download===undefined){hash_download='';}else{hash_download='&hash_download='+hash_download;}
          if(to_vault==='true'){to_vault='&to_vault=true';}else{to_vault='';}
          if(hash&&agree=='true'&&!auto){url='/'+$LANG+'/download'+'?hash='+$_GET['hash']+'&uvid='+uvid+'&agree=true'+
          uuid+
          to_vault+
          hash_download+'&auto=1'+'&dl=1'+'&js=1';window.location.href=url;}},checkAllPreferences:function(){var list=$('#tab_preferences tr input').slice(1);for(var i=0;i<list.length;i++){if(list[i].hasAttribute('checked')){if(list.length===i+1){$('#all_types').attr('checked','checked');SDKWeb.tooglePreferences();}}else{break;}}},tooglePreferences:function(){var list=$('#tab_preferences tr input').slice(1).hide();var list_tr=$('#tab_preferences .diss-pref');if($('#all_types').is(':checked')){list.addClass('checked');list.prop('checked',true);list.attr('disabled','disabled');list_tr.addClass('diss');list.attr('style','cursor:not-allowed;');}else{list.attr('disabled','disabled');list_tr.removeClass('diss');list.removeAttr("style");list.removeAttr("disabled");}},resetFeedBack:function(){const $feedbackSubmitButton=$('.feedback-content button');const $feedbackAlert=$('#feedback-alert');setCaptcha();if($feedbackAlert.is(':visible')){$feedbackAlert.hide();$('.feedback-content textarea').val('');$feedbackSubmitButton.show();$feedbackSubmitButton.button('reset');setTimeout(function(){$feedbackSubmitButton.attr('disabled','disabled');},0);}},goToBuilderPage:function(hw_name,rel){if(hw_name===undefined){hw_name=$('.select-tree').treeview('getSelected');hw_name=hw_name[0].base_text;var $sdktag_selector=$('#sdktag_sel');var rel=$sdktag_selector.find(':selected').data('rel');var default_selected=$sdktag_selector.find(':selected').data('default');var is_filtering=$sdktag_selector.data('filtering');if(rel!==undefined&&(is_filtering==='True'||default_selected===undefined)){rel='&rel='+rel;}else{rel='';}}
          if($('#tmp-conf').is(':checked')){SDKWeb.set_session_storage_tmp_conf(1);}else{SDKWeb.set_session_storage_tmp_conf(0);}
          window.location.href='/'+$LANG+'/builder?hw='+hw_name+rel;},createConfig:function(settings,selected,uvid,release_id,sdktag,workflow){if(selected===undefined){selected=$('.select-tree').treeview('getSelected');selected=selected[0].base_text;}
          if(sdktag===undefined){sdktag='';}
          if(settings==='tools-clocks'||settings==='tools-pins'){$('#select-button').addClass('disabled');}else{$('#select-button').addClass('disabled');$('#select-button').text(_('Loading...'));}
          SDKWeb.disable_tools_links();if(selected.length>0){var json_data={'selected':selected,'tmp-conf':$('#tmp-conf').prop('checked'),'local_criteria':SDKWeb.get_criteria_session_storage(),};if(workflow===undefined){workflow='';}
          if(settings){if(settings==='update'){if(workflow===''){workflow='rebuild_update';SDKWeb.set_workflow_session_storage(workflow);}else if(workflow==='email_update'){SDKWeb.set_workflow_session_storage('email_update');}else{SDKWeb.set_workflow_session_storage('dashboard_update');}
          json_data['uvid']=uvid;json_data['settings']=settings;json_data['release_id']=release_id;json_data['sdk_tag']=sdktag;}else{json_data['settings']=settings;if(!sessionStorage.getItem('workflow')){SDKWeb.set_workflow_session_storage('select_page');}}}
          var json=JSON.stringify(json_data);$.ajax({type:'POST',url:'/'+$LANG+'/select',data:json,contentType:'application/json',dataType:'json',success:function(resp){check_user_reload(resp);if(!flash_messages(resp)){if(resp['error']){$("#alert-nothing-selected").slideDown("slow");}else{if(resp.hasOwnProperty('unresolved_modal_body')&&resp['unresolved_modal_body']){$("#unresolved-comps-modal .modal-body").html(resp['unresolved_modal_body']);$('#unresolved-comps-modal').modal('show');$('#update-spin').addClass('d-none');$('.dashboard-page').removeClass('opaque-disable not-active');$("#unresolved-comps-agree").click(function(){$('.dashboard-page').addClass('opaque-disable not-active');$('#unresolved-comps-modal').modal('hide');$('#update-spin').removeClass('d-none');json_data['resolve']=true;$.ajax({type:'POST',url:'/'+$LANG+'/select',data:JSON.stringify(json_data),contentType:'application/json',dataType:'json',success:function(resp){if(!flash_messages(resp)){if(resp['error']){$("#alert-nothing-selected").slideDown("slow");}else{window.location.href='/'+$LANG+'/builder?hw='+resp['target']+'&update='+resp['uvid'];}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('createConfig',{'type':'createConfig','msg':'Error on createConfig','errMsg':errorMessage,});}});});}else if(settings==='tools-clocks'){window.location.href='/'+$LANG+'/clock';}else if(settings==='tools-pins'){window.location.href='/'+$LANG+'/pins';}else{window.location.href='/'+$LANG+'/builder?hw='+resp['target']+'&update='+resp['uvid'];}}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('createConfig',{'type':'createConfig','msg':'Error on createConfig','errMsg':errorMessage,});}});}},toggleDownloadBtn:function(){var hash_=$('#hash-download').val();if(hash_!==''){$('#btn-hash-download').removeAttr('disabled');}else{$('#btn-hash-download').attr('disabled',true);}},hashDownload:function(){var hash_=$('#hash-download').val().trim();if(hash_!==''){window.location.href='/en/license?hash='+
          hash_+'&hash_download=true'+'&to_vault=true';}},checkAllToolchainExamplePage:function(){var toolchain=$('input[name=toolchains]:checked','#example-form');if(toolchain.length>0){$('#example-tree').removeClass('d-none').html('<div class="text-center"><span class="text-center icon-para-reset spin-icon"></span></div>');SDKWeb.ExampleTree(toolchain.val(),$('#uvid').val());}},checkSDKNameValidity:function(event,self,timeout){timeout=((typeof timeout==='undefined')?0:timeout);if(['Shift','Control','Alt','CapsLock','NumLock','ScrollLock','Pause','Print'].indexOf(event.key)===-1){var error_msg=self.parent().find('.input-error-msg');if(error_msg.length){error_msg.find('.error_msg').remove();}
          var regex=RegExp('['+getFilenameInvalidCharacters().join('').replace('\\','\\\\')+']','g');if(regex.test(self.val())){self.addClass('error');if(error_msg.length){var char_width=10;var error_msg_position=((self.val().length>(self.width()/char_width))?'above':'inside');error_msg.append($('<span class="error_msg" />').addClass(error_msg_position).html('<span class="fas fa-times"></span> '+_('Invalid character(s)')));}
          setTimeout(function(){self.removeClass('error');},500);setTimeout(function(){self.val(self.val().replace(regex,''));},timeout);}else{var filename=$('#pkg-name');if(filename.length){filename.val(self.val());}}}
          return false;},init:function(){$('.spinner .btn:first-of-type').on('click',function(){var input=$(this).parent().parent().children('input');input.val(parseInt(input.val(),10)+1);});$('.spinner .btn:last-of-type').on('click',function(){var input=$(this).parent().parent().children('input');var newvalue=parseInt(input.val(),10)-1;if(newvalue>=0)
          input.val(newvalue);});$('#slider-flash').slider({tooltip:'always',tooltip_position:'bottom'});$('.sel-btn').click(function(){if($(this).hasClass('sel-click'))
          $(this).removeClass('sel-click');else
          $(this).addClass('sel-click');});var _TIME=200;$('#middleware-filter').click(function(){$('#dev-selector-filters-buttons').fadeOut(_TIME,function(){$('#dev-selector-filters-middleware').fadeIn(_TIME);});});$('#cpu-filter').click(function(){$('#dev-selector-filters-buttons').fadeOut(_TIME,function(){$('#dev-selector-filters-cpu').fadeIn(_TIME);});});$('#comm-filter').click(function(){$('#dev-selector-filters-buttons').fadeOut(_TIME,function(){$('#dev-selector-filters-comm').fadeIn(_TIME);});});$('.filter-arrow-cpu').click(function(){$('#dev-selector-filters-cpu').fadeOut(_TIME,function(){$('#dev-selector-filters-buttons').fadeIn(_TIME);});});$('.filter-arrow-comm').click(function(){$('#dev-selector-filters-comm').fadeOut(_TIME,function(){$('#dev-selector-filters-buttons').fadeIn(_TIME);});});$('.filter-arrow-middleware').click(function(){$('#dev-selector-filters-middleware').fadeOut(_TIME,function(){$('#dev-selector-filters-buttons').fadeIn(_TIME);});});$('.click-row').click(function(){$(this).addClass('warning').siblings().removeClass('warning');$('#dev-selector-actions').show();});$('.select-picker').selectpicker();$('.option-tooltip').tooltip({placement:'right',container:'body'});$('.left-tooltip').tooltip({placement:'left',container:'body'});$('.right-tooltip').tooltip({placement:'right',container:'body'});$('.top-tooltip').tooltip({placement:'top',container:'body',trigger:'hover'});$('.bottom-tooltip').tooltip({placement:'bottom',container:'body'});$('input[type=radio][name=toolchains]','#example-form').on('change',SDKWeb.checkAllToolchainExamplePage);if($("#user_logged_in").length!==0){var isDashboard=isPage('dashboard');var updateTimer=4500;var updateTimerIncrement=500;var updateTimerCeiling=0;function startUpdates(){if(updateTimerCeiling===0||updateTimer<updateTimerCeiling)updateTimer+=updateTimerIncrement;SDKWeb.checkNotify();if(isDashboard)Dashboard.checkDashboard();setTimeout(startUpdates,updateTimer);}
          $.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:JSON.stringify({'action':'get_first_data'}),contentType:'application/json',dataType:'json',success:function(data){check_user_reload(data);$('#nots_last_id').text(data.last_id);$('#nots-num-notify').text(data.unseen_count);if(data.unseen_count>0)
          $('#nots-num-notify').removeClass('d-none');for(var item in data.notifications){SDKWeb.addNotification(data.notifications[item]);}
          if(data.notifications.length>0){$('.hide-notifications').removeClass('d-none');$('.no-new-notifications').addClass('d-none');}
          startUpdates();},error:function(){startUpdates();}});}
          $('.modal').on('shown.bs.modal',function(){$(this).find('[autofocus]').focus();});$('#nots').click(function(){$('#nots-num-notify').text('0');$('#nots-num-notify').addClass('d-none');SDKWeb.setNotificationsSeen();});$('#pref-config-form').submit(SDKWeb.updatePreferences);$("[id^='delAll_nots']").click(SDKWeb.removeAllNots);$('#all_types').change(function(){SDKWeb.tooglePreferences();});if($('#select-config-tools-downloader-page').length===0){$('.hw-conf-data').waitForImages(function(){$('#hw-conf #hw-spin').addClass('d-none');$('.hw-conf-data').removeClass('d-none');});}
          $("#hide-all-notifications").click(function(){var data={'action':'hideAll'};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(e){$('#add-to-notifications-wrapper').empty();check_user_reload(e);$('.hide-notifications').addClass('d-none');$('.no-new-notifications').removeClass('d-none');},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('notifications',{'type':'notifications','msg':'Error on hide-all-notifications','errMsg':errorMessage,});}});});$('.notification-item').click(function(){var data={'action':'hideOne','id':$(this).attr("data-id"),'link':$(this).attr("data-link")};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/notifications',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(window.location.href.indexOf(res['link'])!==-1){$('.notification-item[data-id='+res['id']+']').remove();}else{$('.notification-item[data-id='+res['id']+']').remove();window.location.href=res['link'];}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('notifications',{'type':'notifications','msg':'Error on hide notification-item','errMsg':errorMessage,});}});});if(isPage('preferences')){$("#pref-config-form").on('change',function(){$('#save-preferences').text('Save');$('#save-preferences').removeAttr('disabled');$('#save-preferences').removeClass('disabled');$('.select-alert-saved').slideUp('slow');$('.delete-alert-ok').slideUp('slow');});SDKWeb.tooglePreferences();}else if(isPage('download')){SDKWeb.downloadFile();}
          $('.edit-conf-name').on('click',function(e){e.stopPropagation();uuid=$(this).attr('uuid');selector='a[data-toggle="conf_'+uuid+'"]';$(selector).editable('toggle');});$('#agree-license').on('click',function(){var data={};data["hash"]=$(this).attr("data-hash");data['to_vault']=$(this).attr("data-toVault");data['archive_type']=$(this).attr("data-archive");data['eula_check']=true;var json=JSON.stringify(data);var to_vault=''
          if(data['to_vault']!=='false'){to_vault='&to_vault=true';}
          $.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(){var url='/'+$LANG+'/download'+'?hash='+data["hash"]+'&agree=true'+'&hash_download=true'+to_vault;window.location.href=url;},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'license','msg':'Error on agree-license','errMsg':errorMessage,});}});});$('.edit-config-name').editable({toggle:'manual',emptytext:'click to enter a name',url:function(params){var data={'action':'update-name','name':params.value,'uuid':$(this).attr("data-uuid")};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/configuration-settings',data:json,contentType:'application/json',dataType:'json',success:function(e){check_user_reload(e);if(!flash_messages(e)){location.reload();}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('confSettings',{'type':'confSettings','msg':'Error on edit-config-name','errMsg':errorMessage,});}});}});$(".searchinput").keyup(function(){$(this).next().toggle(Boolean($(this).val()));});if($('#DEPRECATE').length){$('.select-picker').attr('disabled',true);$('.select-picker').selectpicker('refresh');}
          $('#feedback-menu').click(function(){$('#base_feedback_link').dropdown('toggle');$('.feedback-content textarea').focus();return false;});$('#feedback-close').click(function(){SDKWeb.resetFeedBack();});$('.feedback-content textarea').on('input',function(){if($(this).val().length>0){$('.feedback-content button').removeAttr('disabled');}else{$('.feedback-content button').attr('disabled','disabled');}});$('.feedback-content form').submit(function(){$('.feedback-content button').button('loading');const form=$(this).serializeForm();const data={'data':form};const askForCaptcha=$('.capbox').is(":visible");data['data']['ask-for-captcha']=askForCaptcha;if(askForCaptcha&&!checkForm(document.getElementById('feedback-form'))){setCaptcha();return false;}
          const json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/feedback',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(res['captcha']){$('#feedback-captcha-alert').show();$('.capbox').show();$('.feedback-content button').button('reset')}else{$('#feedback-alert').show();$('.capbox').hide();$('.feedback-content button').hide();$('#feedback-captcha-alert').hide();}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('feedback',{'type':'feedback','msg':'Error on feedback-content','errMsg':errorMessage,});}});return false;});var filename_input_places=['#select-board-page','#sdk-download-wrapper','#dashboard-table','#select-config-tools-downloader-page','.download-modal-config-tools'].join(', ');var filename_inputs='#select-name, #s_conf_name, #config-tool-data-filename';$(filename_input_places).on('keyup',filename_inputs,function(event){return SDKWeb.checkSDKNameValidity(event,$(this),150)});$(filename_input_places).on('focusout',filename_inputs,function(event){return SDKWeb.checkSDKNameValidity(event,$(this),0)});if($LANG=='zh'){bootbox.setLocale('zh_CN');}
          document.body.addEventListener("error",function(event){var $missingImage=$(event.target);if($missingImage.hasClass('replace-image-board')){$missingImage.attr('src','/static/boards/default.jpg').attr('alt','default configuration image');}},true);},resetTree:function(tree,resetSearch){SDKWeb.resetting_search=true;if(resetSearch)tree.search('');tree.collapseAll();tree.enableAll();SDKWeb.resetting_search=false;},filterTree:function(e){var pattern=$('#select-search').val();var $tree=$('.select-tree').treeview(true);SDKWeb.resetTree($tree,true);if(pattern){$tree.search(pattern);var roots=$tree.getSiblings(0);roots.push($tree.getNode(0));var unrelated=collectUnrelated(roots);$tree.disableNode(unrelated,{silent:true});}},showTreeNode:function(type,id,scroll){if(type==='example'&&window.preSelectedExamplesLength>=window.exampleLimit){SDKWeb.ToastExamplesLimit();return;}
          var $tree=$('.select-tree');SDKWeb.resetTree($tree.treeview(true),true);var treeViewObject=$tree.data('treeview');var typeUpper=type.toUpperCase();var allCollapsedNodes=treeViewObject.getCollapsed();var allExpandedNodes=treeViewObject.getExpanded();var allNodes=allCollapsedNodes.concat(allExpandedNodes);var selectedNodes=treeViewObject.getSelected();var node='';var isPicked=false;for(var j=0;j<selectedNodes.length;j++){if(selectedNodes[j].id===id){isPicked=true;}}
          for(var i=0;i<allNodes.length;i++){if(allNodes[i].type&&allNodes[i].type.toUpperCase()===typeUpper&&allNodes[i].id===id){node=allNodes[i];$tree.treeview('revealNode',[allNodes[i].nodeId,{silent:true}]);if(!isPicked){$tree.treeview('selectNode',[allNodes[i].nodeId,{silent:false}]);}
          break;}}
          if(scroll)SDKWeb.scrollToNode(type,id);},highlightNode:function(type,id,scroll){var $tree=$('.select-tree');SDKWeb.resetTree($tree.treeview(true),true);var treeViewObject=$tree.data('treeview');var typeUpper=type.toUpperCase();var allCollapsedNodes=treeViewObject.getCollapsed();var allExpandedNodes=treeViewObject.getExpanded();var allNodes=allCollapsedNodes.concat(allExpandedNodes);var node='';for(var i=0;i<allNodes.length;i++){if(allNodes[i].type&&allNodes[i].type.toUpperCase()===typeUpper&&allNodes[i].id===id){node=allNodes[i];$tree.treeview('revealNode',[allNodes[i].nodeId,{silent:true}]);break;}}
          if(scroll)SDKWeb.scrollToNode(type,id);},resetNodeSelection:function(){const $selectName=$('#select-name');$selectName.val('');$selectName.prop('disabled',true);$('.hw-conf-data').addClass('d-none');$('.actions-container').addClass('d-none');$('.cta-container').addClass('d-none');$('.filtering-criteria').removeClass('mt-5');$('.hw-details-no-conf').removeClass('d-none');$('#details-button').attr('disabled','disabled');},showTreeNodeByText:function(text,scroll){var $tree=$('.select-tree');var treeViewObject=$tree.data('treeview');var allCollapsedNodes=treeViewObject.getCollapsed();var allExpandedNodes=treeViewObject.getExpanded();var allNodes=allCollapsedNodes.concat(allExpandedNodes);var node='';for(var i=0;i<allNodes.length;i++){if(allNodes[i].base_text&&(allNodes[i].base_text.toUpperCase()===text.toUpperCase())){node=allNodes[i];$tree.treeview('revealNode',[node.nodeId,{silent:true}]);$tree.treeview('selectNode',[node.nodeId,{silent:false}]);break;}}
          if(scroll&&node){SDKWeb.scrollToNode(node.type,node.id);}else if(!node){window.searchBar.searchPhrase(text);window.searchParam=undefined;}},expandTreeNodeByCategory:function(text){var $tree=$('.select-tree'),treeViewObject=$tree.data('treeview'),allCollapsedNodes=treeViewObject.getCollapsed(),allExpandedNodes=treeViewObject.getExpanded(),allNodes=allCollapsedNodes.concat(allExpandedNodes),targetNode=allNodes.find(function(n){return(n.hasOwnProperty('category')&&n.category===text);})
          $tree.treeview('expandNode',[targetNode.nodeId,{levels:99,silent:true}]);},scrollToNode:function(type,id){setTimeout(function(){var element=$('[id="'+id+'"][type="'+type+'"]');if(element.length){$(element).slice(-1)[0].scrollIntoView({behavior:"smooth",block:"start"});}else{$('.select-tree').treeview('expandAll',{levels:5,silent:true});}},1);},showHwRootNodes:function(type){sessionStorage.searchNodes=type;if(isPage('select')){window.searchBar.clearInput(true);}else{window.location.href='/'+$LANG+'/select';}},createTree:function(phrase){if(isPage('select'))SDKWeb.resetNodeSelection();var $selectSearchClear=$('#select-search-clear');var $reactAutosuggestInput=$('.react-autosuggest__input');var $hardwareConfigData=$('.hw-conf-data');var $selectName=$('#select-name');var $searchButton=$('.react-autosuggest__button');var noResults=false;var levels=0;var searchPhrase='';if(phrase){levels=99;searchPhrase=phrase;}
          var $selectTree=$('.select-tree');$("#select-name").off();$selectTree.off();$selectSearchClear.off();$reactAutosuggestInput.off();$('#details-button').prop('disabled',true);$searchButton.prop('disabled',true);SDKWeb.toggleExamplePage('disable');var treeviewDataSource=''
          if(isPage('examples')){treeviewDataSource='/'+$LANG+'/select-examples-data';}else{treeviewDataSource='/'+$LANG+'/select-data';}
          var data={phrase:searchPhrase,local_criteria:SDKWeb.get_criteria_session_storage(),}
          $.ajax({type:"POST",contentType:'application/json',dataType:'json',url:treeviewDataSource,cache:false,data:JSON.stringify(data),success:function(json){check_user_reload(json);$reactAutosuggestInput.prop('disabled',false);$searchButton.prop('disabled',false);$('#hw-spin').addClass('d-none');$('.spinner-big').addClass('d-none');if(!Array.isArray(json)||json.length===0){noResults=true;if(isPage('examples')&&!searchPhrase){json=[]}else{json=[{selectable:false,text:'No results found'}];}}
          if(isPage('examples')){if(json.length){$('#example-jumbotron').addClass('d-none');$('#example-workflow').removeClass('d-none');}else{$('#example-jumbotron').removeClass('d-none');$('#example-workflow').addClass('d-none');}
          $selectTree.treeview({data:json,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',checkedIcon:'far fa-check-square',uncheckedIcon:'far fa-square',onNodeSelected:function(event,node){if(window.preSelectedExamplesLength>=window.exampleLimit){SDKWeb.ToastExamplesLimit();$selectTree.treeview('unselectNode',[node.nodeId,{silent:true}]);}},onNodeChecked:function(event,node){if(window.preSelectedExamplesLength>=window.exampleLimit){SDKWeb.ToastExamplesLimit();$selectTree.treeview('uncheckNode',[node.nodeId,{silent:true}]);}},levels:levels,multiSelect:true,showCheckbox:!noResults,});var collapsedNodes=$selectTree.data('treeview').getCollapsed();var expandedNodes=$selectTree.data('treeview').getExpanded();var allNodes=collapsedNodes.concat(expandedNodes);var keys;$(allNodes).each(function(index,node){keys=Object.keys(node);if(keys.includes('id')){if(window.preSelectedExamples.includes(node.id)){$selectTree.treeview('selectNode',[node.nodeId,{silent:true}]);$selectTree.treeview('checkNode',[node.nodeId,{silent:true}]);}}});$selectTree.on('nodeSelected nodeChecked',function(event,data){if(window.preSelectedExamplesLength>=window.exampleLimit){event.stopPropagation();return;}
          if(event.type==='nodeSelected'){$selectTree.treeview('checkNode',[data.nodeId,{silent:true}]);}else{$selectTree.treeview('selectNode',[data.nodeId,{silent:true}]);}
          window.highlightNode={type:data.type,id:data.id};var info={id:data.id,name:data.text,category:data.category}
          SDKWeb.updateExamplesFilter(info,'add');$('#hw-spin').addClass('d-none');$hardwareConfigData.removeClass('opacity');$hardwareConfigData.removeClass('d-none');$('#hw-view-no-conf').addClass('d-none');});$selectTree.on('nodeUnselected nodeUnchecked',function(event,data){if(event.type==='nodeUnselected'){$selectTree.treeview('uncheckNode',[data.nodeId,{silent:true}]);}else{$selectTree.treeview('unselectNode',[data.nodeId,{silent:true}]);}
          delete window.highlightNode;var info={id:data.id,name:data.text,category:data.category}
          SDKWeb.updateExamplesFilter(info,'remove');});SDKWeb.toggleExamplePage();}else{$selectTree.treeview({data:json,levels:levels,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',showTags:true,});$('#alert-nothing-found').show()
          SDKWeb.toggleExamplePage();$selectTree.on('nodeSelected',function(event,data){$hardwareConfigData.removeClass('d-none');$hardwareConfigData.addClass('opacity');$('#hw-spin').removeClass('d-none');$('.actions-container').addClass('opacity');$('.cta-container').removeClass('d-none');$('.filtering-criteria').addClass('mt-5');data['sdk-selector']=true;SDKWeb.getHWConfig(data);$('#hw-view-no-conf').addClass('d-none');$('.hw-details-no-conf').addClass('d-none');window.searchNode=data;});$selectTree.on('nodeUnselected',function(event,data){SDKWeb.resetNodeSelection();window.searchNode=null;});}
          if(sessionStorage.getItem('searchNodes')){SDKWeb.expandTreeNodeByCategory(sessionStorage.getItem('searchNodes'));sessionStorage.removeItem('searchNodes');}else if(typeof window.searchNode!=='undefined'&&window.searchNode!==null){SDKWeb.showTreeNode(window.searchNode.type,window.searchNode.id,true);}else if(typeof window.highlightNode!=='undefined'&&window.highlightNode!==null){SDKWeb.highlightNode(window.highlightNode.type,window.highlightNode.id,true);}else if(typeof window.searchParam!=='undefined'&&window.searchParam!==null){SDKWeb.showTreeNodeByText(window.searchParam,true);}},error:function(xhr,status,error){if(xhr.status===400){}else{var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('select/examples',{'type':'select/examples','msg':'Error on select/examples in CreateTree','errMsg':errorMessage});}}})
          $selectSearchClear.hide();$selectSearchClear.click(function(){$('#select-search').val('');SDKWeb.filterTree();});$('#select-search').on('keydown',SDKWeb.removeDeprecatedTooltip);},toggleExamplePage:function(action){if(action==='disable'){$('#select-board-page').addClass('not-active');$('.treeview-spinner').removeClass('d-none');$('#select-tree').addClass('opaque-disable');}else{$('#select-board-page').removeClass('not-active');$('.treeview-spinner').addClass('d-none');$('#select-tree').removeClass('opaque-disable');}},updateExamplesFilter:function(exampleInfo,method){var data={type:method,criteria_type:'examples',data:exampleInfo,local_criteria:SDKWeb.get_criteria_session_storage(),};SDKWeb.disableCriteriaTemplate();SDKWeb.toggleExamplePage('disable');$.ajax({type:"POST",url:'/webapi/filtering-criteria',data:JSON.stringify(data),contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);SDKWeb.set_criteria_session_storage(res['local_criteria']);if(isPage('select')){SDKWeb.createTree();}else if(isPage('examples')){SDKWeb.createTree(window.searchPhrase);}else if(isPage('parametrics')){Parametrics.submit();}else if(isPage('middleware')){window.clearInput?window.clearInput(true):window.loadData();}
          $('#select-board-page').removeClass('not-active');SDKWeb.reloadFilteringCriteria(res['template'],res['local_criteria']);if(method==='remove'){SDKWeb.showToastMessage(_('Example removed'),'<strong class="brand-color">'+exampleInfo.name+'</strong>\xa0'+_('removed from filtering criteria'));}else if(method==='add'){var dependencies='';if(res.hasOwnProperty('dependencies')&&res.dependencies.length){dependencies='<br>'+_('Requires: ')+'<strong class="brand-color">'+
          res.dependencies.join(", ")+'</strong>';}
          if(res['example_added']){SDKWeb.showToastMessage(_('Example added'),'<strong class="brand-color">'+exampleInfo.name+'</strong>\xa0'+_('added to filtering criteria')+
          dependencies);}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('select/examples',{'type':'select/examples','msg':'Error on select/examples add/remove POST','errMsg':errorMessage});}});},reloadFilteringCriteria:function(template,criteria){if(template){$('#filtering_criteria_section').html(template);}
          if(criteria['examples'])$('.examples-count').text(criteria['examples'].length);var $toolchainSwitch=$('.toolchain-switch');$.isEmptyObject(criteria['toolchain'])?$toolchainSwitch.text(_('Off')):$toolchainSwitch.text(_('On'));var $parametric=$('#parametric');$.isEmptyObject(criteria['parametric'])?$parametric.text(_('Off')):$parametric.text(_('On'));var $middlewareCount=$('.middleware-count');$.isEmptyObject(criteria['middleware']['selected'])?$middlewareCount.text(0):$middlewareCount.text(Object.keys(criteria['middleware']['selected']).length);var $toolchainNot=$('.collapsed-toolchain-switch');if($.isEmptyObject(criteria['toolchain'])){$toolchainNot.addClass('d-none');$toolchainNot.parent().css({"margin-top":"0px"});}else{$toolchainNot.removeClass('d-none');$toolchainNot.parent().css({"margin-top":"8px"});}
          var $parametricNot=$('#collapsed-parametric');if($.isEmptyObject(criteria['parametric'])){$parametricNot.addClass('d-none');$parametricNot.parent().css({"margin-top":"0px"});}else{$parametricNot.removeClass('d-none');$parametricNot.parent().css({"margin-top":"8px"});}
          var $middlewareNot=$('.collapsed-middleware-count');if($.isEmptyObject(criteria['middleware']['selected'])){$middlewareNot.addClass('d-none');$middlewareNot.parent().css({"margin-top":"0px"});}else{$middlewareNot.removeClass('d-none');$middlewareNot.parent().css({"margin-top":"8px"});}
          var $examplesNot=$('.collapsed-examples-count');if($.isEmptyObject(criteria['examples'])){$examplesNot.addClass('d-none');$examplesNot.parent().css({"margin-top":"0px"});}else{$examplesNot.removeClass('d-none');$examplesNot.parent().css({"margin-top":"8px"});}
          if(isPage('middleware')){if(criteria['examples'].length<1&&$.isEmptyObject(criteria['toolchain'])&&$.isEmptyObject(criteria['parametric'])){$('#filtering_criteria_alert').addClass('d-none');}}else if(isPage('examples')){if($.isEmptyObject(criteria['middleware']['selected']&&!criteria['middleware']['rtos'])&&$.isEmptyObject(criteria['parametric'])&&$.isEmptyObject(criteria['toolchain'])){$('#filtering_criteria_alert').addClass('d-none');}}else if(isPage('toolchains')){if($.isEmptyObject(criteria['parametric'])&&$.isEmptyObject(criteria['middleware']['selected']&&!criteria['middleware']['rtos'])&&criteria['examples'].length<1){$('#filtering_criteria_alert').addClass('d-none');}}else if(isPage('parametrics')){if(criteria['examples'].length<1&&$.isEmptyObject(criteria['toolchain'])&&$.isEmptyObject(criteria['middleware']['selected']&&!criteria['middleware']['rtos'])){$('#filtering_criteria_alert').addClass('d-none');}}else if(isPage('select')){if(criteria['examples'].length<1&&$.isEmptyObject(criteria['toolchain'])&&$.isEmptyObject(criteria['parametric'])&&$.isEmptyObject(criteria['middleware']['selected']&&!criteria['middleware']['rtos'])){$('#filtering_criteria_alert').addClass('d-none');}}},resetFilteringCriteria:function(){SDKWeb.disableCriteriaTemplate();var data={type:'reset',criteria_type:'all',data:{template:true},local_criteria:SDKWeb.get_criteria_session_storage(),};var json=JSON.stringify(data);$.ajax({type:"POST",url:'/webapi/filtering-criteria',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);SDKWeb.set_criteria_session_storage(res['local_criteria']);SDKWeb.reloadFilteringCriteria(res['template'],res['local_criteria']);if(isPage('select')){window.searchParam=new URLSearchParams(window.location.search).get('search');window.searchBar.clearInput(true);}else if(isPage('examples')||isPage('middleware')){window.searchBar.clearInput(true);}else if(isPage('parametrics')){window.location.reload();}else if(isPage('toolchains')){window.location.reload();}
          window.highlightNode=null;},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('select/examples',{'type':'filtering-criteria','msg':`Error on filtering criteria reset on ${window.location.pathname}`,'errMsg':errorMessage});}});},removeExampleFilterCriteria:function(example){if(isPage('examples')){var treeview=$('.select-tree');var selected=$(treeview).treeview('getSelected');var node=selected.filter(function(item){if(item.id===example.id){return item;}});if(node.length){$(treeview).treeview('unselectNode',[node[0].nodeId,{silent:true}]);$(treeview).treeview('uncheckNode',[node[0].nodeId,{silent:true}]);}}
          SDKWeb.updateExamplesFilter(example,'remove');},updateToolchainFilter:function(id,name,db_id,method,icon_path){SDKWeb.disableCriteriaTemplate();var data={type:method,criteria_type:'toolchain',data:{name:name,id:id,db_id:db_id,icon_path:icon_path,},local_criteria:SDKWeb.get_criteria_session_storage(),};var json=JSON.stringify(data);$.ajax({type:"POST",url:'/webapi/filtering-criteria',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);SDKWeb.set_criteria_session_storage(res['local_criteria']);if(isPage('select')){SDKWeb.createTree();}else if(isPage('parametrics')){Parametrics.submit();}else if(isPage('middleware')){window.clearInput?window.clearInput(true):window.loadData();}else if(isPage('examples')){SDKWeb.createTree(window.searchPhrase);}else if(isPage('toolchains')){sessionStorage.setItem('reloading','true');sessionStorage.setItem('ToolchainMethod',method);sessionStorage.setItem('ToolchainName',name);window.location.reload();}
          if(!isPage('toolchains')){if(method==='add'){SDKWeb.showToastMessage(_('Toolchain activated'),'<strong class="brand-color">'+name+'</strong>\xa0'+_('added to filtering criteria'));}else{$('input[type="radio"]').prop('checked',false).removeClass('checked');SDKWeb.showToastMessage(_('Toolchain deactivated'),'<strong class="brand-color">'+name+'</strong>\xa0'+_('removed from filtering criteria'));}
          SDKWeb.reloadFilteringCriteria(res['template'],res['local_criteria']);}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('select/examples',{'type':'select/examples','msg':'Error on select/examples add/remove POST','errMsg':errorMessage});}});},toggleExpandCriteria:function(type){$.ajax({type:'POST',url:'/webapi/filtering-criteria',data:JSON.stringify({type:'toggle',criteria_type:type,local_criteria:SDKWeb.get_criteria_session_storage(),}),contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);SDKWeb.set_criteria_session_storage(res['local_criteria']);SDKWeb.reloadFilteringCriteria(res['template'],res['local_criteria']);}});},selectConfigToolsDataSearch:function(e){var pattern=$('#select-search').val();var options={ignoreCase:true,exactMatch:false,revealResults:true};$('#select-search-clear').toggle(Boolean(pattern));$('#select-tree-config-tools-data').treeview('search',[pattern,options]);$('#select-tree-config-tools-data > ul > li > span.indent').remove();$("li[data-selectable='false']").addClass('display-none');},selectConfigToolsDataCreate:function(){$("#config-tool-data-filename").off();$('.select-tree').off();$('#select-search-clear').off();$('#select-search').off();var actions=$('#hw-conf .actions-container .info-row');var remove_actions=function(){actions.find('.btn').remove();};remove_actions();var filename=$('#config-tool-data-filename');$.getJSON('/'+$LANG+'/select_config_tools_data_tree',function(json){if('status'in json&&json.status!==200){var message=json.status.message.split('\n');show_modal_message(message[0],'<h4 class="text-center">'+message[1]+'</h4>','service_unavailable_error','ServiceUnavailableError');}else{var select_tree=$('#select-tree-config-tools-data');select_tree.treeview({data:json,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',levels:0,showTags:true});$('.treeview-spinner').addClass('d-none');$('#select-search').prop('disabled',false).focus();$('#hw-spin').addClass('d-none');$('#hw-view-no-conf').removeClass('d-none');select_tree.on('nodeSelected',function(event,data){remove_actions();$('.actions-spinner').removeClass('d-none');$('#hw-view-no-conf').addClass('d-none');$('.actions-container').removeClass('d-none').addClass('opacity');$('.hw-conf-data, .actions-container').removeClass('opacity');filename.val(data.text+'_ConfigTools_data').prop('disabled',false);var platform={'kit':'','board':'','device':''};platform[data.type]=data.text;switch(data.type){case'kit':platform.board=data.additional_board_name;platform.device=data.additional_name;break;case'board':platform.device=data.additional_name;break;}
          $.ajax({type:'POST',url:'/'+$LANG+'/select_config_tools_data',data:JSON.stringify($.extend({'action':'get_config_tools_data_links'},platform)),contentType:'application/json',dataType:'json',success:function(response){check_user_reload(response);if('status'in response&&response.status!==200){var message=response.status.message.split('\n');show_modal_message(message[0],'<h4 class="text-center">'+message[1]+'</h4>','service_unavailable_error','ServiceUnavailableError');}else{for(var idx in response['links']){var link=response['links'][idx];$('.actions-spinner').addClass('d-none');actions.append($('<a id="download-tools-data" class="btn btn-warning" />').attr('href',link['link']).text(link['title']))}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('hwtree',{'type':'hwtree','msg':'Error on selectConfigToolsDataCreate','errMsg':errorMessage,});}});}).on('nodeUnselected',function(event,data){filename.val('').prop('disabled',true);$('.hw-conf-data').addClass('d-none');$('.actions-container').addClass('d-none');remove_actions();$('#hw-view-no-conf').removeClass('d-none');});}});$('#select-search-clear').hide();$('#select-search-clear').click(function(){$('#select-search').val('');SDKWeb.selectConfigToolsDataSearch();});$('#select-search').on('keyup',SDKWeb.selectConfigToolsDataSearch);SDKWeb.setConfigToolsDataClickHandler();},downloadToolsDataClick:function(){$('.download-modal-config-tools').show();$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('.modal-eula-body').html('');$('.modal-eula-accept').html('');$('.download-modal-eula').hide();var modal_body=$('.download-modal-config-tools');modal_body.find('.export_form').addClass('d-none');modal_body.find('.loading_message').removeClass('d-none');window.location.href=$('#download-tools-data').attr('href')+'&filename='+$('#config-tool-data-filename').val();},showToolsDataLicense:function(){var data={config_tool_licence:true,};var json=JSON.stringify(data);$('.dashboard-download-modal .modal-content').addClass('background-disable');$('#update-spin').removeClass('d-none');$.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(res===false){$('.download-modal-config-tools').hide();$('.dashboard-download-modal').modal('show');SDKWeb.loadEULA({},{},false,false);if($('#dashboard-header').length==0){$('.modal-back').hide();}
          SDKWeb.downloadToolsDataClick();return}
          check_user_reload(res);if(flash_messages(res)){$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('#update-spin').addClass('d-none');$('.dashboard-download-modal').modal('hide');}else{$('.download-modal-config-tools').hide();$('.dashboard-download-modal').modal('show');SDKWeb.loadEULA(res,data,false,false);if($('#dashboard-header').length==0){$('.modal-back').hide();}
          $('#agree-tools-license').on('click',function(){$('.download-modal-config-tools').show();$('.dashboard-download-modal .modal-content').removeClass('background-disable');$('.modal-eula-body').html('');$('.modal-eula-accept').html('');$('.download-modal-eula').hide();var modal_body=$('.download-modal-config-tools');modal_body.find('.export_form').addClass('d-none');modal_body.find('.loading_message').removeClass('d-none');window.location.href=$('#download-tools-data').attr('href')+'&filename='+$('#config-tool-data-filename').val();SDKWeb.downloadToolsDataClick();});}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'dashboard','msg':'Error on "Download config tool data loading licence"','errMsg':errorMessage});$('#update-spin').addClass('d-none');}});},setConfigToolsDataClickHandler:function(){$('#select-config-tools-downloader-page .actions-container .info-row, .download-modal-config-tools .actions-container .info-row').on('click','.btn',function(event){event.preventDefault();SDKWeb.showToolsDataLicense();return false;});},DownloadSAPKG:function(e){var pkghash=$(e).data('hash');var data={hash:pkghash,archive_type:'SAPKG',archive_pkg_name:$('#select-name').val()};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(!flash_messages(res)){if('terms'in res&&res['terms']===null){window.location.href=res['link'];}else{SDKWeb.loadEULA(res,data,false,true);$('.sapkg-download-modal').modal('show');}}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'license','msg':'DownloadSAPKG','errMsg':errorMessage,});}});},setExampleTreeMaxHeight:function(){var tree=$('#example-tree'),button=$('#btn-download-example'),body=$('body');var insurance=5;var area_below=15+$('footer.footer').outerHeight();var body_bottom=parseInt(body.css('margin-bottom'));var new_body_bottom=body_bottom-Math.max(0,body_bottom-area_below)-insurance;var max_h=$(window).height()-tree.offset().top-
          (parseInt(tree.css('margin-bottom'))+parseInt(button.closest('.row').css('padding-top')))-
          button.outerHeight()-
          area_below;body.css('margin-bottom',new_body_bottom+'px')
          tree.css('max-height',max_h+'px');},ExampleTree:function(toolchain,uvid){$('#example-tree').off();$('#example-search-clear').off().click(function(){$('#example-search').val('').focus();SDKWeb.filterTree();});$('#example-search').off().on('keyup',SDKWeb.ExampleSearch).keyup(function(){$('#example-search-clear').toggle($.trim($(this).val())!=='')});$.getJSON('/'+$LANG+'/select_example_data?toolchain='+toolchain+'&uvid='+uvid,function(json){var example_tree=$('#example-tree'),example_label=$('#example-project-label'),example_search_wrapper=$('#example-search-wrapper'),example_search=$('#example-search'),no_examples=$('#no-examples');if('error'in json&&json['error']==='session_expired'){example_label.addClass('d-none');example_search_wrapper.addClass('d-none');no_examples.addClass('d-none');example_tree.html(json['text']['flash_message']).removeClass('d-none');}else if(json.length===0){example_label.addClass('d-none');example_search_wrapper.addClass('d-none');example_tree.addClass('d-none');no_examples.removeClass('d-none');}else{$('.preload-spinner').remove();example_label.removeClass('d-none');example_search_wrapper.find('#example-search-clear').hide()
          example_search_wrapper.removeClass('d-none');example_search.prop('disabled',false).focus();no_examples.addClass('d-none');example_tree.treeview({data:json,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',levels:0});example_tree.removeClass('d-none');SDKWeb.setExampleTreeMaxHeight()
          example_tree.on('nodeSelected',function(event,data){var toolchain=$('select.select-toolchains').val();if(toolchain!=='all'){$('#btn-download-example').prop('disabled',false);$('#btn-apply-project').prop('disabled',false);$('.select-toolchains-input').val(toolchain);$('#example-selected').removeClass('d-none').find('mark').text(data.text)}});example_tree.on('nodeUnselected',function(event,data){$('#btn-download-example').prop('disabled',true);$('#btn-apply-project').prop('disabled',true);$('#example-selected').addClass('d-none')});}});},ExampleSearch:function(){var pattern=$('#example-search').val();var options={ignoreCase:true,exactMatch:false,revealResults:true};$('#example-search-clear').toggle(Boolean(pattern));$('#example-tree').treeview('search',[pattern,options]);},datatableNotifications:function(){var lang=$LANG==='en'?{processing:_('Loading...'),infoFiltered:""}:{url:'/static/translations/datatables_zh.json'};var notifications=$('#NotificationTable').DataTable({bServerSide:true,bProcessing:true,sPaginationType:"full_numbers",lengthMenu:[[10,25,50,100],[10,25,50,100]],sAjaxSource:'/notifications_data',fnServerData:function(sSource,aoData,fnCallback,oSettings){oSettings.jqXHR=$.ajax({url:sSource,data:aoData,type:'GET',cache:false,dataType:'json',success:fnCallback});},columns:[{data:"name"},{data:"date"},{data:"action"},{data:"not_id"}],language:lang,pagingType:"full_numbers",columnDefs:[{targets:0,className:'name td-vtop d-flex'},{targets:1,className:'date td-vmiddle'},{targets:2,className:'td-vmiddle text-center',orderable:false},{targets:3,className:'not_idx d-none',orderable:false}],order:[[1,'desc']]});$(document).on('click',".details-toogle",SDKWeb.showNotsDetails);$(document).on('click',"#remove_not",SDKWeb.removeNotificationButton);notifications.on('draw',function(){var s=notifications.search();var res=s.split(" ");var body=$(notifications.table().body());body.unhighlight();for(var i=0;i<res.length;i++){body.highlight(res[i]);}});},showToastMessage:function(toastHeader,toastBody){$('.toast.hide').remove();if($('.toast-top-right').length!==0){$('.toast-top-right').append('<div class="toast" data-delay="10000">'+'<div class="toast-header">'+'<i class="fas fa-info-circle toast-info-icon brand-color"></i>'+'<span class="mr-auto brand-color">'+toastHeader+'</span>'+'<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">'+'<span aria-hidden="true">&times;</span>'+'</button>'+'</div>'+'<div class="toast-body">'+toastBody+'</div>'+'</div>')}else{$('body').append('<div aria-live="polite" class="toast-top-right" aria-atomic="true">'+'<div class="toast" data-delay="10000">'+'<div class="toast-header">'+'<i class="fas fa-info-circle toast-info-icon brand-color"></i>'+'<span class="mr-auto brand-color">'+toastHeader+'</span>'+'<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">'+'<span aria-hidden="true">&times;</span>'+'</button>'+'</div>'+'<div class="toast-body">'+toastBody+'</div>'+'</div>'+'</div>')}
          $('.toast').toast('show');},ToastExamplesLimit:function(){SDKWeb.showToastMessage(_('Example limit reached'),_('Maximum amount of examples reached. Unselect an example to continue.'));},ToastSelectRtos:function(rtos){SDKWeb.showToastMessage(_('RTOS added'),'<strong class="brand-color">'+rtos+'</strong>\xa0'+_('added to filtering criteria.'));},ToastUnselectRtos:function(rtos){SDKWeb.showToastMessage(_('RTOS removed'),'<strong class="brand-color">'+rtos+'</strong>\xa0'+_('removed from filtering criteria.'));},toastComponentAdded:function(component){SDKWeb.showToastMessage(_('Middleware added'),'<strong class="brand-color">'+component+'</strong>\xa0'+_('added to filtering criteria.'));},ToastComponentRemoved:function(component){SDKWeb.showToastMessage(_('Middleware removed'),'<strong class="brand-color">'+component+'</strong>\xa0'+_('removed from filtering criteria.'));},remove_middleware_criterium:function(identifier,name,check,bypassPageCheck){SDKWeb.disableCriteriaTemplate();if(isPage('middleware')){window.removeMiddleware(identifier);}else{const json={remove:identifier,local_criteria:SDKWeb.get_criteria_session_storage()}
          $.ajax({type:'delete',url:'/middleware-workflow',data:JSON.stringify(json),contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);if(res.hasOwnProperty('flash_message')){flash_messages(res);SDKWeb.enableCriteriaTemplate();return;}
          SDKWeb.set_criteria_session_storage(res['local_criteria']);SDKWeb.reloadFilteringCriteria(res['criteria_template'],res['local_criteria']);if(isPage('select')){SDKWeb.createTree();}else if(isPage('examples')){SDKWeb.createTree(window.searchPhrase);}else if(isPage('parametrics')){window.location.reload(true);sessionStorage.setItem('MiddlewareName',name);return;}
          if(name.includes('RTOS')){SDKWeb.ToastUnselectRtos(name)}else{SDKWeb.ToastComponentRemoved(name)}},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('remove_middleware_criterium',{'type':'middleware-workflow','msg':`Error on middleware-workflow DELETE request while removing ${name} (id: ${identifier})`,'errMsg':errorMessage});}});}},disableCriteriaTemplate:function(){$('.filtering-criteria').addClass('opaque-disable not-active');},enableCriteriaTemplate:function(){$('.filtering-criteria').removeClass('opaque-disable not-active');},toggleLoadingClasses:function(action){if(action==='hide'){$('.filtering-criteria').addClass('opaque-disable not-active');}else{$('.filtering-criteria').removeClass('opaque-disable not-active');}},toggleSidebar:function(){if($('.workflow-item').hasClass('active')){active_item_id=$('.workflow-item.active')[0].id;if(active_item_id=='sidenav_middleware'){$('#sidenav-collapsed-middleware').toggleClass('active');}else if(active_item_id=='sidenav_examples'){$('#sidenav-collapsed-examples').toggleClass('active');}else if(active_item_id=='sidenav_toolchain'){$('#sidenav-collapsed-toolchains').toggleClass('active');}else if(active_item_id=='sidenav_dev_param'){$('#sidenav-collapsed-parametrics').toggleClass('active');}}
          $('.btn-collapse i').toggleClass('fa-angle-double-left');$('.btn-collapse i').toggleClass('fa-angle-double-right');$('.nav-collapsed').toggleClass('d-none');$('.workflow-item-collapsed').toggleClass('d-none');$('.workflow-item').toggleClass('d-none');$('.sidenav-cat').toggleClass('d-none');$('.sidenav hr').toggleClass('d-none');$('.select_config_tools_data').toggleClass('d-none');$('.sidenav a.nav-link').tooltip('toggleEnabled');},collapseSidebar:function(){$('.sidenav').toggleClass('hide');$('.main').toggleClass('expand');$('.sidenav-collapseBtn').toggleClass('text-right');$('.sidenav-collapseBtn').toggleClass('text-center');if($('.sidenav').hasClass('hide')){SDKWeb.toggleSidebar()
          document.cookie="right_menu_collapsed=true"}else{SDKWeb.toggleSidebar()
          document.cookie="right_menu_collapsed=false"}}};$(document).ready(function(){$('body').on('click','a[href="#"]',function(event){event.preventDefault();});$('body').on('click','#print-license',function(event){SDKWeb.printEulas();});});(function($){$.fn.serializeForm=function(){var o={};var a=this.serializeArray();$.each(a,function(){if(o[this.name]){if(!o[this.name].push){o[this.name]=[o[this.name]];}
          o[this.name].push(this.value||'');}else{o[this.name]=this.value||'';}});return o;};})(jQuery);function getQueryParams(qs){qs=qs.split("+").join(" ");var params={},tokens,re=/[?&]?([^=]+)=([^&]*)/g;while(tokens=re.exec(qs)){params[decodeURIComponent(tokens[1])]=decodeURIComponent(tokens[2]);}
          return params;}
          function getBootstrapType(status){switch(status){case'building':return'warning';case'queue':return'info';case'fail':return'danger';case undefined:return'info';default:return status;}}
          function flash_messages(data){if(data.hasOwnProperty('flash_message')){$('#flash_messages').empty();$('#flash_messages').fadeIn('slow');$('#flash_messages').append(data['flash_message']);$('.flash_messages').empty();$('.flash_messages').fadeIn('slow');$('.flash_messages').append(data['flash_message']);return true;}
          return false;}
          function show_modal_message(title,html_body,modal_id,labelled_by){$('#'+modal_id).remove();var modal=$('<div id="'+modal_id+'" class="modal" tabindex="-1" role="dialog" />');if(typeof labelled_by!=='undefined'&&labelled_by){modal.attr('aria-labelledby',labelled_by);}
          var dialog=$('<div class="modal-dialog" role="document" />');var content=$('<div class="modal-content" />');var header=$('<div class="modal-header" />');header.append($('<h3 class="modal-title">'+title+'</h3>')).append($('<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+'<span aria-hidden="true">&times;</span>'+'</button>'));var body=$('<div class="modal-body">'+html_body+'</div>');var footer=$('<div class="modal-footer">');footer.append('<button type="button" class="btn btn-secondary text-right" data-dismiss="modal">'+_('Close')+'</button>');content.append(header).append(body).append(footer);dialog.append(content);modal.append(dialog);$('body').append(modal);modal.modal({backdrop:'static'});}
          function check_user_reload(data){if(data.hasOwnProperty('error')&&data.hasOwnProperty('error_reason')&&data['error_reason']=='user'){location.reload(true);return true;}
          return false;}
          function check_user_reload_with_flash_message(data){sessionStorage.setItem('error_data_object',JSON.stringify(data));if(!check_user_reload(data)){sessionStorage.removeItem('error_data_object');flash_messages(data);}}
          $(document).ready(function(){var data=sessionStorage.getItem('error_data_object');if(data){flash_messages(JSON.parse(data));}
          sessionStorage.removeItem('error_data_object')});function collectUnrelated(nodes){var unrelated=[];$.each(nodes,function(i,n){if(!n.searchResult&&!n.state.expanded){unrelated.push(n.nodeId);}
          if(!n.searchResult&&n.nodes){$.merge(unrelated,collectUnrelated(n.nodes));}
          if(n.searchResult&&!n.state.expanded&&!n.selectable){unrelated.push(n.nodeId);}});return unrelated;}
          function getFilenameInvalidCharacters(){return['<','>',':','"','/','|','?','*','\\'];}
          function showErrorModal(errorMessage){if(errorMessage===undefined){errorMessage=null;}
          show_modal_message(_('Oops! Something went wrong.'),'<div class="flash_messages">'+errorMessage+'</div>','service_unavailable_error','ServiceUnavailableError');}
          function errorAjaxCall(fn,errorInfo){var message=getErrorMessage(fn);var errorData={action:'error',errorMessage:message,local_criteria:SDKWeb.get_criteria_session_storage(),};if(errorInfo){errorData['type']=errorInfo['type'];errorData['msg']=errorInfo['msg'];errorData['errMsg']=errorInfo['errMsg']||'';}
          var isFirefox=navigator.userAgent.toLowerCase().indexOf('firefox')>-1;var only_post=false;if(errorData['errMsg']==='0: error'&&isFirefox){var examples_link=$('#download-proj-link');var examples_spinner=$('#download-proj-spinner')
          if(examples_link&&examples_spinner){examples_link.addClass('disabled');examples_link.attr('href','#');examples_spinner.siblings('.d-none').removeClass('d-none');examples_spinner.addClass('d-none');}
          only_post=true;errorData['errMsg']='Firefox killed POST';}
          $.ajax({type:'POST',url:'/'+$LANG+'/error',data:JSON.stringify(errorData),contentType:'application/json',dataType:'json',success:function(e){if(only_post){return}
          if(fn==='checkDashboard'){if(!$('#service_unavailable_error').length){showErrorModal();flash_messages(e);}}else{showErrorModal();flash_messages(e);switch(fn){case'license':$('button[data-dismiss="modal"]').on('click',function(e){$('.dashboard-download-modal .modal-content').removeClass('background-disable');});$(document).on('keyup',function(e){if(e.keyCode===27){$('.dashboard-download-modal .modal-content').removeClass('background-disable');}});break;case'createConfig':$('#service_unavailable_error').on('hidden.bs.modal',function(){document.location.reload();});break;}}},error:function(xhr,status,error){if(only_post){return}
          var servvice_unavailable_msg=_('Service unavailable. Please try again later!');if(fn==='checkDashboard'){if(!$('#service_unavailable_error').length){showErrorModal(servvice_unavailable_msg);}}else{showErrorModal(servvice_unavailable_msg);switch(fn){case'license':$('button[data-dismiss="modal"]').on('click',function(e){$('.dashboard-download-modal .modal-content').removeClass('background-disable');});$(document).on('keyup',function(e){if(e.keyCode===27){$('.dashboard-download-modal .modal-content').removeClass('background-disable');}});break;case'createConfig':$('#service_unavailable_error').on('hidden.bs.modal',function(){document.location.reload();});break;}}}});}
          function render_example_download(res){$('#eula_view').html(res['eula_html']);$('#eula-accept').html(res['accept']);if(res['length']>0){$('#agree-license').attr('disabled','disabled');$("#download_example_modal").on("hidden.bs.modal",function(){$('.tab-num').text('1');$('.btnPrevious').attr('disabled');$('.btnNext').removeAttr('disabled');});SDKWeb.setupLicenseNav(res['length']+1);}
          $('#download-example-spin').addClass('d-none');$('#agree-license').attr('data-hash',res['example_hash']);$('#agree-license').removeClass('d-none');$('#eula-buttons').removeClass('d-none');$('#print-license').removeAttr('disabled');$('#agree-license').on('click',function(){var data={};data["hash"]=$(this).attr("data-hash");data['to_vault']=$(this).attr("data-toVault");data['archive_type']=$(this).attr("data-archive");data['eula_check']=true;var json=JSON.stringify(data);var to_vault=''
          if(data['to_vault']!=='false'){to_vault='&to_vault=true';}
          $.ajax({type:'POST',url:'/'+$LANG+'/license',data:json,contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);var url='/'+$LANG+'/download'+'?hash='+data["hash"]+'&agree=true'+'&hash_download=true'+to_vault;window.location.href=url;},error:function(xhr,status,error){var errorMessage=xhr.status+': '+xhr.statusText;errorAjaxCall('license',{'type':'license','msg':'Error on agree-license','errMsg':errorMessage,});}});});}
          function show_example_fail(res){$('.select-spinner').addClass('d-none');$('.select-example-building').addClass('d-none');$('.select-example-fail').removeClass('d-none');if('flash_message'in res){$('.select-text-alert').html(res['flash_message']);}else if('error'in res){$('.select-text-alert').html(res['error']);}else{$('.select-text-alert').html(_('Download failed. Please try again later.'));}}
          function getErrorMessage(funcName){switch(funcName){case'builder':return _('Error occurred while loading builder. Please try again later.')
          case'dashboard':case'checkDashboard':return _('Error occurred while updating dashboard. Please try again later.')
          case'confSettings':return _('Error occurred while loading configuration settings. Please try again later.')
          case'createConfig':return _('Error occurred while loading configuration. Please try again later.')
          case'exampleProjects':return _('Error occurred while loading example project. Please try again later.')
          case'feedback':return _('Error occurred while sending feedback. Please try again later.')
          case'getConfigToolsDataLink':return _('Error occurred while loading the Config Tools data. Please try again later.')
          case'license':return _('Error occurred while loading the license. Please try again later.')
          case'notifications':return _('Error occurred while loading notifications. Please try again later.')
          case'preferences':return _('Error occurred while updating preferences. Please try again later.')
          case'middlewareSelector':return _('Error occurred while loading middleware selector. Please try again later.')
          case'searchbar':return _('Error occurred while loading data from searchbar. Please try again later.')
          case'dev_param':return _('Error occurred while sending out data. Please try again.')
          default:return _('Error occurred. Try again later.')}}
          function confirmClosing(){if(!$('.bootbox.show').length){if($('.modal-backdrop').length){$('.modal-backdrop').remove();}
          $('.popover.editable-container').css({zIndex:'0'});var confirm=bootbox.confirm(({message:_('Description of the archive has not been saved yet. Do you want to continue editing?'),buttons:{confirm:{label:'Yes'},cancel:{label:'No'}},callback:function(result){if(result){$('body').append('<div class="modal-backdrop show"></div>');$('.popover.editable-container').css({zIndex:'1060'});}else{$('.dash-archive-desc').editable('hide');}},}));confirm.on('shown.bs.modal',function(){$(document).off('keyup').off('click');});}}
          function isPage(page){switch(page){case'middleware':return window.location.href.indexOf('select/middleware')!==-1;case'select':var location=window.location.pathname.split('/').filter(x=>x);return location.indexOf('select')!==-1&&location.length===2;case'examples':return window.location.pathname.indexOf('select/examples')!==-1;case'parametrics':return window.location.pathname.indexOf('select/device-parametrics')!==-1;case'dashboard':return window.location.pathname.indexOf('dashboard')!==-1;case'preferences':return window.location.pathname.indexOf('preferences')>-1;case'download':return window.location.pathname.indexOf('download')>-1;case'toolchains':return window.location.pathname.indexOf('toolchains')!==-1;case'criteria-links':return window.location.pathname.indexOf('filtering-criteria-links')!==-1;default:return false}}
          RelInfo={init:function(){RelInfo.reloadSelect();if($('#release-selector option:selected').hasClass('d-none')){$('#release-selector option:selected').prop('selected',false);}
          var get_params=new URLSearchParams(window.location.search);if(get_params.has('tag')){var tag=get_params.get('tag');$('#release-selector option').each(function(){if($(this).text().split(' ')[0]===tag){$(this).prop('selected',true);if(!$(this).data('active'))
          $('#type-inactive').addClass('btn-primary');if($(this).data('sapkg'))
          $('#type-sapkg').addClass('btn-primary');}});}else{$('#release-selector option:not(.d-none)').first().attr('selected',true);}
          RelInfo.refreshSelectPicker();},refreshSelectPicker:function(){$('#release-selector').selectpicker('destroy').selectpicker('create').selectpicker('refresh').ready(function(){$('.filter-option-inner-inner').text($('#release-selector option:selected').text().split(' ')[0]);});},updateTree:function(){$('#update-spin').removeClass('d-none');$('.releases-information').addClass('opaque-disable not-active');$('#search-news').val("");var rel=$('#release-selector option:selected');var release=rel.text().split(" ");var isWebdata=false;if($('#release-selector option:selected').data('webdata'))isWebdata=true;var data={release:release[0],action:'change'};var json=JSON.stringify(data);$.ajax({type:'POST',url:'/'+$LANG+'/deployed_releases',data:json,contentType:'application/json',dataType:'json',success:function(result){if(result.hasOwnProperty('error-message'))
          $('#flash_messages').html(result['error-message']);else{if(isWebdata){$('.filter-option-inner-inner').text(release[0]+" (WEBDATA ONLY)");}else{$('.filter-option-inner-inner').text(release[0]);}
          RelInfo.update(result);}
          $('.releases-information').removeClass('opaque-disable not-active');$('#update-spin').addClass('d-none');}});if(rel.data('sapkg')){$('#internal-treeview').addClass('d-none');$('#internal-info').removeClass('d-none');}else{$('#internal-treeview').removeClass('d-none');$('#internal-info').addClass('d-none');}},update:function(data){var warning=$('#warning');var release=$('#release-selector option:selected').text().split(' ')[0];if(warning.length){warning.html('');if(data.warning){for(var i=0;i<data.message.length;i++){var button='<a href="/'+$LANG+'/deployed_releases/warning?type='+data.message[i].type+'&tag='+release+'" '+'target="_blank" class="float-right"> See more <i class="fas fa-external-link-alt"></i></a>';var more_info=data.message[i].details?button:'';var details='';if(data.message[i].data){details='<br><ul>';for(var j in data.message[i].data)
          details+='<li>'+data.message[i].data[j]+'</li>';details+='</ul>';}
          warning.html(warning.html()+'<div class="alert alert-dismissible alert-warning clearfix" >'+
          data.message[i].text+details+
          more_info+'</div>');}}else{warning.html(warning.html()+'<div class="alert alert-dismissible alert-success clearfix" >'+
          data.message[0].text+'</div>');}}
          $('#deployed').html(data.deployed);$('#version').html(data.sdk_version);$('#deployment_type').html(data.deployment_type)
          var tree=$('#release-tree');tree.treeview({data:data.treeview,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',consumeClicks:false});tree.treeview(true).collapseAll();tree.treeview(true).enableAll();RelInfo.collapse();tree.on('nodeSelected',function(e,node){var expanded_nodes=tree.treeview(true).getExpanded();var expand=true;for(var i=0;i<expanded_nodes.length;i++){if(node.nodeId===expanded_nodes[i].nodeId){expand=false;}}
          if(expand){tree.treeview('revealNode',[(node.nodeId+1),{}]);}else{tree.treeview('collapseNode',[(node.nodeId),{}]);}
          tree.treeview('unselectNode',[(node.nodeId),{}]);});},search:function(){var pattern=$('#search-news').val();var options={ignoreCase:true,exactMatch:false,revealResults:true};$('#release-tree').treeview('search',[pattern,options]);$('#release-tree > ul > li > span.indent').remove();var tree=$('#release-tree').treeview(true);tree.collapseAll();tree.enableAll();if(pattern===''||pattern===undefined){tree.clearSearch();tree.options.searchFilter=false;tree.collapseAll();}else{$('#release-tree').treeview('search',[pattern,options]);var roots=tree.getSiblings(0);roots.push(tree.getNode(0));var unrelated=collectUnrelated(roots);tree.disableNode(unrelated,{silent:true});}},expand:function(){$('#release-tree').treeview(true).expandAll();$('#expand-all').addClass('d-none');$('#collapse-all').removeClass('d-none');},collapse:function(){$('#release-tree').treeview(true).collapseAll();$('#expand-all').removeClass('d-none');$('#collapse-all').addClass('d-none');},downloadXML:function(){$('#download-xml-icon').addClass('d-none');$('#download-xml-spinner').removeClass('d-none');var release=$('#release-selector option:selected').text().split(' ')[0];$.ajax({type:'GET',url:window.location.href='/download_xml?tag='+release,success:function(){$('#download-xml-spinner').addClass('d-none');$('#download-xml-icon').removeClass('d-none');}});},downloadHTML:function(){$('#download-html-icon').addClass('d-none');$('#download-html-spinner').removeClass('d-none');var release=$('#release-selector option:selected').text().split(' ')[0];$.ajax({type:'GET',url:window.location.href='/download_html?tag='+release,success:function(){$('#download-html-spinner').addClass('d-none');$('#download-html-icon').removeClass('d-none');}});},reloadSelect:function(btn){if(btn!==undefined)
          btn.toggleClass('btn-primary');var sapkg=$('#type-sapkg').hasClass('btn-primary'),active_sdk=$('#type-active').hasClass('btn-primary'),inactive_sdk=$('#type-inactive').hasClass('btn-primary'),webdata_sdk=$('#type-webdata').hasClass('btn-primary');$('#release-selector option').each(function(){$(this).removeClass('d-none');if(!$(this).data('sapkg')&&!$(this).data('webdata')&&!$(this).data('active'))
          $(this).toggleClass('d-none',!inactive_sdk);if(!$(this).data('sapkg')&&!$(this).data('webdata')&&$(this).data('active'))
          $(this).toggleClass('d-none',!active_sdk);if($(this).data('sapkg'))
          $(this).toggleClass('d-none',!sapkg);if($(this).data('webdata'))
          $(this).toggleClass('d-none',!webdata_sdk);});RelInfo.refreshSelectPicker();},copyToClipboard:function(el){var input=$('<input>'),feedback=$('<span class="copied ml-2">Copied!</span>');$('body').append(input);input.val($(el).text());input.select();document.execCommand('copy');input.remove();if(!$('.copied').length){$('.internal-selector-box').append(feedback);setTimeout(function(){feedback.remove();},2500);}}};HWReleases={selectTreeInit:function(){$('#select-tree').off();$('#select-search-clear').off();$('#select-search').off();$.ajax({type:'POST',url:'/'+$LANG+'/select-data',data:JSON.stringify({hwinfo:true,local_criteria:{}}),contentType:'application/json',dataType:'json',success:function(response){HWReleases.handleTree(response);}});$('#select-search-clear').hide();$('#select-search-clear').click(function(){$('#select-search').val('');HWReleases.handleTreeSearch();});$('#select-search').on('keyup',HWReleases.handleTreeSearch);SDKWeb.setConfigToolsDataClickHandler();},handleTree:function(tree_data){var select_tree=$('#hw_rel_tree');select_tree.treeview({data:tree_data,expandIcon:'fas fa-caret-right',collapseIcon:'fas fa-caret-down',levels:0});$('.treeview-spinner').addClass('d-none');$('#select-search').prop('disabled',false).focus();select_tree.on('nodeSelected',HWReleases.handleNodeSelect).on('nodeUnselected',function(event,data){$('#hw-data').addClass('d-none');$('#hw-view-no-conf').removeClass('d-none');$('#hw-spin').addClass('d-none')});},handleTreeSearch:function(){var pattern=$('#select-search').val();var options={ignoreCase:true,exactMatch:false,revealResults:true};$('#select-search-clear').toggle(Boolean(pattern));$('#hw_rel_tree').treeview('search',[pattern,options]);$('#hw_rel_tree > ul > li > span.indent').remove();$("li[data-selectable='false']").addClass('display-none');},handleNodeSelect:function(event,data){$('#hw-view-no-conf').addClass('d-none');$('#hw-spin').removeClass('d-none');$('.hw-conf-data, .actions-container').removeClass('opacity');$.ajax({type:'POST',url:'/'+$LANG+'/hardware_in_releases',data:JSON.stringify({platform:data.base_text}),contentType:'application/json',dataType:'json',success:function(response){$('#hw-data-table').empty();var action='';var ui_info='';for(var i in response){ui_info=response[i].info?"<br>&nbsp;&nbsp;&nbsp;<span class='select-additional'>"+"<i class='fas fa-level-up-alt fa-rotate-90'></i><span class='select-ui-text'>"+
          response[i].info+"</span></span>":"";action=response[i].active?'':'<i class="fas fa-eye-slash" data-toggle="tooltip" title="'+
          _('Release is not active')+'">&nbsp;</i>';if(response[i].is_webdata_type)response[i].tag+='<span style="float: right;">(WEBDATA ONLY)</span>';action+='<a href="#" class="hwrel-redirect" data-toggle="tooltip" title="'+
          _('Show in Deployed Releases page')+'"><i class="fas fa-share-square"></i></a>';$('#hw-data-table').append('<tr><td>'+response[i].tag+ui_info+'</td><td class="text-center">'+response[i].version+'</td><td>'+action+'</td></tr>');}
          $('#hw-spin').addClass('d-none');$('#hw-data').removeClass('d-none');$('[data-toggle="tooltip"]').tooltip({placement:'left'});$('.hwrel-redirect').on('click',function(){HWReleases.redirect($(this));});if($('#select-search').val()&&$('#select-search').val().length>0){$("li[data-selectable='false']").addClass('d-none');$('.select-tree > ul > li > span.indent').remove();}}});},redirect:function(el){var tag=el.closest('tr').children().first().text().split(' ')[0];window.location.replace(window.location.origin+'/'+$LANG+'/deployed_releases?tag='+tag)}};var Parametrics={createSlider:function(object,values){var start=values.hasOwnProperty('start')?values.start:values.min;var end=values.hasOwnProperty('end')?values.end:values.max;const isDefault=start===values.min&&end===values.max;object.setAttribute('isDefault',isDefault);delete values.start;delete values.end;if(values.min===values.max){start=start-1;values.min=start;if(object.id==='flash'&&values.max===0){end=start;$('#flashless').prop('checked',true);$('#flashless').prop('disabled',true);}}
          var disabled=((typeof values.disabled==='undefined')?0:values.disabled);delete values.disabled;if(object.id==='flash'){var local_criteria=SDKWeb.get_criteria_session_storage();if(local_criteria.hasOwnProperty('parametric')&&local_criteria.parametric.hasOwnProperty('flashless')){end=0;$('#flash-upper').text('0');}}
          noUiSlider.create(object,{start:[start,end],range:values,connect:true,slide:true,tooltips:false,snap:true});if(disabled){object.setAttribute('disabled',true);}},run_sliders:function(freq,flash,ram){var freq_nodes=[$('#freq-lower'),$('#freq-upper')];var flash_nodes=[$('#flash-lower'),$('#flash-upper')];var ram_nodes=[$('#ram-lower'),$('#ram-upper')];var flashless=$('#flashless');freq.noUiSlider.on('change',function(){Parametrics.handleToastMessage('frequency')
          Parametrics.submit();});ram.noUiSlider.on('change',function(){Parametrics.handleToastMessage('ram')
          Parametrics.submit();});flash.noUiSlider.on('change',function(values){Parametrics.handleToastMessage('flash');flashless.prop("checked",values[1]==0);Parametrics.submit();});const $multicoreCheckbox=$('#multicore');$multicoreCheckbox.on('change',function(){$multicoreCheckbox.prop('checked')?Parametrics.toastParametricsActivated('multicore'):Parametrics.toastParametricsDeactivated('multicore');});flashless.on('change',function(){var end=flashless.prop('checked')?0:flash.noUiSlider.options.range.max;Parametrics.handleToastMessage('flashless');flash.noUiSlider.set([0,end]);flash_nodes[0].html(0);flash_nodes[1].html(end);});const $cores=$('#device_parametrics_cores');$cores.on('change',function(){Parametrics.handleToastMessage('cores');});flash.noUiSlider.on('slide',function(values,handle){flash_nodes[handle].html(parseInt(values[handle]));});freq.noUiSlider.on('slide',function(values,handle){freq_nodes[handle].html(parseInt(values[handle]));});ram.noUiSlider.on('slide',function(values,handle){ram_nodes[handle].html(parseInt(values[handle]));});$('#enumerations').on('click',function(){Parametrics.handleToastMessage('enumeration');});},submit:function(){var data=Parametrics.get_data();data['local_criteria']=SDKWeb.get_criteria_session_storage();const searchPhrase=$('#device_parts_filter').val();if(searchPhrase)data.search=searchPhrase;$.ajax({type:'POST',url:'/'+$LANG+'/select/device-parametrics',data:JSON.stringify(data),contentType:'application/json',dataType:'json',success:function(res){check_user_reload(res);SDKWeb.set_criteria_session_storage(res.local_criteria)
          $('#filter_results').text(res.total).fadeIn();$('#result_data').fadeOut().html('');for(var i=0;i<res.devices.length;i++){$('#result_data').append(res.devices[i]);}
          $('#result_data').fadeIn();$('#result_empty').toggleClass('d-none',res.devices.length!==0);SDKWeb.reloadFilteringCriteria(res.template,res.local_criteria);if(res.devices){$('#frequency')[0].removeAttribute('disabled');$('#flash')[0].removeAttribute('disabled');$('#ram')[0].removeAttribute('disabled');}
          var previouslySelected=$('#dev_param_table tbody').children('tr[data-device="'+window.selectedDevice+'"]')
          Parametrics.select_device(previouslySelected);$('.filtering-criteria').removeClass('opaque-disable not-active');const cores=document.getElementsByName('core');cores.forEach((core)=>{if(res['compatible_cores'].includes(core.id)||core.id==='all'){core.disabled=false;document.querySelector("label[for="+core.id+"]").classList.remove('core-disabled');}else{core.disabled=true;document.querySelector("label[for="+core.id+"]").classList.add('core-disabled');}});document.getElementsByName('enumeration').forEach((enumeration)=>{if(res.compatible_enumerations.includes(enumeration.value)||enumeration.id==='enum_all'){enumeration.disabled=false;document.querySelector("label[for="+enumeration.id+"]").classList.remove('enum-disabled');}else{enumeration.disabled=true;document.querySelector("label[for="+enumeration.id+"]").classList.add('enum-disabled');}});$('.enumeration').each(function(){if(res.compatible_enumerations.includes($(this).data('value'))){$(this).attr('disabled',false);$(this).disabled=false;}
          else{$(this).attr('disabled',true);$(this).disabled=true;}});},error:function(xhr,__,___){errorAjaxCall('device_parametrics',{'type':'device parametrics','msg':'Failed to send out params','errMsg':xhr.status+': '+xhr.statusText});}});},getRange:function(slider){let res={}
          const selector=slider==='frequency'?'freq':slider;const $lowerHandler=$('#'+slider+' .noUi-handle-lower');const $upperHandler=$('#'+slider+' .noUi-handle-upper');if(!($lowerHandler[0].getAttribute('aria-valuenow')===$lowerHandler[0].getAttribute('aria-valuemin'))){res['min']=parseInt($('#'+selector+'-lower').text())}
          if(!($upperHandler[0].getAttribute('aria-valuenow')===$upperHandler[0].getAttribute('aria-valuemax'))){res['max']=parseInt($('#'+selector+'-upper').text())}
          return res;},get_data:function(){const res={};if(!this.isDefault('frequency')){res['frequency']=this.getRange('frequency');}
          if(!this.isDefault('flash')&&this.isDefault('flashless')){res['flash']=this.getRange('flash');}
          if(!this.isDefault('ram')){res['ram']=this.getRange('ram');}
          if(!this.isDefault('multicore')){res['multicore']=true;}
          if(!this.isDefault('cores')){res['cores']=$('#device_parametrics_cores').serializeForm()}
          if(!this.isDefault('flashless')){res['flashless']=true;}
          if(!this.isDefault('enumerations')){res.enumeration=$('#enumerations').serializeForm().enumeration;}
          return res;},select_device:function(elem){var selected=!elem.hasClass('selected-device');window.selectedDevice=elem.data('device');if(!window.selectedDevice){selected=!selected;}
          $('#result_data').children('tr').removeClass('selected-device');elem.toggleClass('selected-device',selected);if(!selected){$('.hw-details-no-conf').removeClass('d-none').fadeIn();$('.hw-conf-data').fadeOut().addClass('d-none');$('.cta-container').fadeOut().addClass('d-none');$('.cta-container button').attr('disabled',true);}else{$('.hw-conf-data').removeClass('d-none').fadeIn().addClass('opacity');$('#hw-spin').removeClass('d-none');$('.cta-container').removeClass('d-none').fadeIn();$('.cta-container button').attr('disabled',false);var data={archive_type:'SDK',base_text:elem.data('device'),text:elem.data('device')};SDKWeb.getHWConfig(data);$('#details-button').on('click',function(){$('.actions-container').addClass('d-none');});$('.hw-details-no-conf').fadeOut().addClass('d-none');}},hide_tooltip_forever:function(){localStorage.setItem('device_param_help','true');$('#dev_param_table').tooltip('hide').tooltip('dispose');},redirect:function(){var device=$('#dev_param_table tbody').children('.selected-device').data('device');window.location.href='/'+$LANG+'/select?hardware='+device;},isDefault:function(category){const sliders=['frequency','flash','ram'];if(sliders.includes(category)){const $lowerHandler=$('#'+category+' .noUi-handle-lower');const isLowerDefault=$lowerHandler[0].getAttribute('aria-valuenow')===$lowerHandler[0].getAttribute('aria-valuemin');const $upperHandler=$('#'+category+' .noUi-handle-upper');const isUpperDefault=$upperHandler[0].getAttribute('aria-valuenow')===$upperHandler[0].getAttribute('aria-valuemax');return isLowerDefault&&isUpperDefault;}else if(category==='cores'){const cores=$('#device_parametrics_cores').serializeForm();return cores.hasOwnProperty('core')&&cores['core']==='all';}else if(category==='flashless'){const $flashless=$('#flashless');if($flashless.prop('disabled'))
          return true;return!$flashless.prop('checked');}else if(category==='multicore'){return!$('#multicore').prop('checked');}else if(category==='enumerations'){const $enumerations=$('#enumerations').serializeForm();return $enumerations.hasOwnProperty('enumeration')&&$enumerations.enumeration==='all';}},handleToastMessage:function(criteria){if(['ram','flash','frequency'].includes(criteria)){const element=document.getElementById(criteria);const prevDefault=element.getAttribute('isDefault')==='true';const isDefault=this.isDefault(criteria);if(prevDefault!==isDefault){isDefault?this.toastParametricsDeactivated(criteria):this.toastParametricsActivated(criteria);}
          element.setAttribute('isDefault',isDefault);}else if(['flashless','multicore'].includes(criteria)){this.isDefault(criteria)?this.toastParametricsDeactivated(criteria):this.toastParametricsActivated(criteria);}else if(criteria==='search'){const $searchBar=$('#device_parts_filter');const prevDefault=$searchBar.attr('isDefault')==='true';const isDefault=$searchBar.val()==='';if(prevDefault!==isDefault){isDefault?this.toastParametricsDeactivated(criteria):this.toastParametricsActivated(criteria);}
          $searchBar.attr('isDefault',isDefault);}else if(criteria==='cores'){const $cores=$('#device_parametrics_cores');const prevDefault=$cores.attr('isDefault')==='true';const coresForm=$cores.serializeForm();const isDefault=coresForm.hasOwnProperty('core')&&coresForm['core']==='all';if(prevDefault!==isDefault){isDefault?this.toastParametricsDeactivated(criteria):this.toastParametricsActivated(criteria);}
          $cores.attr('isDefault',isDefault);}else if(criteria==='enumeration'){const $enumeration=$('#enumerations');const prevDefault=$enumeration.attr('isDefault')==='true';const enumForm=$enumeration.serializeForm();const isDefault=enumForm.hasOwnProperty('enumeration')&&enumForm.enumeration==='all';if(prevDefault!==isDefault){isDefault?this.toastParametricsDeactivated(criteria):this.toastParametricsActivated(criteria);}
          $enumeration.attr('isDefault',isDefault);}},toastParametricsActivated:function(criteria){const type=this.getCriteriaType(criteria);SDKWeb.showToastMessage(_('Parametrics Activated'),'<strong class="brand-color">'+type+'</strong>\xa0'+_('filtering now in effect'));},toastParametricsDeactivated:function(criteria){const type=this.getCriteriaType(criteria);SDKWeb.showToastMessage(_('Parametrics Deactivated'),'<strong class="brand-color">'+type+'</strong>\xa0'+_('filtering no longer in effect'));},getCriteriaType:function(criteria){let type=_('Device Parametrics');switch(criteria){case'search':type=_('Device name');break;case'frequency':type=_('Frequency');break;case'flash':type=_('Flash');break;case'ram':type=_('RAM');break;case'flashless':type=_('Flashless');break;case'multicore':type=_('Multicore');break;case'cores':type=_('Core');break;case'enumeration':type=_('Enumeration');break;}
          return type;},};
          Evidence
          later
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

Appendix

Alert types

This section contains additional information on the types of alerts in the report.

  1. Absence of Anti-CSRF Tokens

    Source raised by a passive scanner (Absence of Anti-CSRF Tokens)
    CWE ID 352
    WASC ID 9
    Reference
    1. http://projects.webappsec.org/Cross-Site-Request-Forgery
    2. http://cwe.mitre.org/data/definitions/352.html
  2. Vulnerable JS Library

    Source raised by a passive scanner (Vulnerable JS Library)
    CWE ID 829
    Reference
    1. https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/
  3. Cookie without SameSite Attribute

    Source raised by a passive scanner (Cookie without SameSite Attribute)
    CWE ID 1275
    WASC ID 13
    Reference
    1. https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site
  4. Timestamp Disclosure - Unix

    Source raised by a passive scanner (Timestamp Disclosure)
    CWE ID 200
    WASC ID 13
    Reference
    1. http://projects.webappsec.org/w/page/13246936/Information%20Leakage
  5. X-Content-Type-Options Header Missing

    Source raised by a passive scanner (X-Content-Type-Options Header Missing)
    CWE ID 693
    WASC ID 15
    Reference
    1. http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx
    2. https://owasp.org/www-community/Security_Headers
  6. Information Disclosure - Sensitive Information in URL

    Source raised by a passive scanner (Information Disclosure - Sensitive Information in URL)
    CWE ID 200
    WASC ID 13
  7. Information Disclosure - Suspicious Comments

    Source raised by a passive scanner (Information Disclosure - Suspicious Comments)
    CWE ID 200
    WASC ID 13
  8. Re-examine Cache-control Directives

    Source raised by a passive scanner (Re-examine Cache-control Directives)
    CWE ID 525
    WASC ID 13
    Reference
    1. https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#web-content-caching
    2. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control