!function(t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.noUiSlider=t()}(function(){"use strict";function t(t){return t.filter(function(t){return this[t]?!1:this[t]=!0},{})}function e(t,e){return Math.round(t/e)*e}function n(t){var e=t.getBoundingClientRect(),n=t.ownerDocument,r=n.documentElement,i=d();return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(i.x=0),{top:e.top+i.y-r.clientTop,left:e.left+i.x-r.clientLeft}}function r(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function i(t){var e=Math.pow(10,7);return Number((Math.round(t*e)/e).toFixed(7))}function o(t,e,n){c(t,e),setTimeout(function(){l(t,e)},n)}function a(t){return Math.max(Math.min(t,100),0)}function s(t){return Array.isArray(t)?t:[t]}function u(t){var e=t.split(".");return e.length>1?e[1].length:0}function c(t,e){t.classList?t.classList.add(e):t.className+=" "+e}function l(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function f(t,e){t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function d(){var t=void 0!==window.pageXOffset,e="CSS1Compat"===(document.compatMode||""),n=t?window.pageXOffset:e?document.documentElement.scrollLeft:document.body.scrollLeft,r=t?window.pageYOffset:e?document.documentElement.scrollTop:document.body.scrollTop;return{x:n,y:r}}function p(t){t.stopPropagation()}function h(t){return function(e){return t+e}}function m(t,e){return 100/(e-t)}function v(t,e){return 100*e/(t[1]-t[0])}function g(t,e){return v(t,t[0]<0?e+Math.abs(t[0]):e-t[0])}function b(t,e){return e*(t[1]-t[0])/100+t[0]}function w(t,e){for(var n=1;t>=e[n];)n+=1;return n}function S(t,e,n){if(n>=t.slice(-1)[0])return 100;var r,i,o,a,s=w(n,t);return r=t[s-1],i=t[s],o=e[s-1],a=e[s],o+g([r,i],n)/m(o,a)}function x(t,e,n){if(n>=100)return t.slice(-1)[0];var r,i,o,a,s=w(n,e);return r=t[s-1],i=t[s],o=e[s-1],a=e[s],b([r,i],(n-o)*m(o,a))}function y(t,n,r,i){if(100===i)return i;var o,a,s=w(i,t);return r?(o=t[s-1],a=t[s],i-o>(a-o)/2?a:o):n[s-1]?t[s-1]+e(i-t[s-1],n[s-1]):i}function E(t,e,n){var i;if("number"==typeof e&&(e=[e]),"[object Array]"!==Object.prototype.toString.call(e))throw new Error("noUiSlider: 'range' contains invalid value.");if(i="min"===t?0:"max"===t?100:parseFloat(t),!r(i)||!r(e[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");n.xPct.push(i),n.xVal.push(e[0]),i?n.xSteps.push(isNaN(e[1])?!1:e[1]):isNaN(e[1])||(n.xSteps[0]=e[1])}function N(t,e,n){return e?void(n.xSteps[t]=v([n.xVal[t],n.xVal[t+1]],e)/m(n.xPct[t],n.xPct[t+1])):!0}function U(t,e,n,r){this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=e,this.direction=n;var i,o=[];for(i in t)t.hasOwnProperty(i)&&o.push([t[i],i]);for(o.length&&"object"==typeof o[0][0]?o.sort(function(t,e){return t[0][0]-e[0][0]}):o.sort(function(t,e){return t[0]-e[0]}),i=0;i2)throw new Error("noUiSlider: 'start' option is incorrect.");t.handles=e.length,t.start=e}function L(t,e){if(t.snap=e,"boolean"!=typeof e)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function A(t,e){if(t.animate=e,"boolean"!=typeof e)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function k(t,e){if("lower"===e&&1===t.handles)t.connect=1;else if("upper"===e&&1===t.handles)t.connect=2;else if(e===!0&&2===t.handles)t.connect=3;else{if(e!==!1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t.connect=0}}function j(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function V(t,e){if(!r(e))throw new Error("noUiSlider: 'margin' option must be numeric.");if(t.margin=t.spectrum.getMargin(e),!t.margin)throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function F(t,e){if(!r(e))throw new Error("noUiSlider: 'limit' option must be numeric.");if(t.limit=t.spectrum.getMargin(e),!t.limit)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.")}function T(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1,t.connect=[0,2,1,3][t.connect];break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function C(t,e){if("string"!=typeof e)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var n=e.indexOf("tap")>=0,r=e.indexOf("drag")>=0,i=e.indexOf("fixed")>=0,o=e.indexOf("snap")>=0,a=e.indexOf("hover")>=0;if(r&&!t.connect)throw new Error("noUiSlider: 'drag' behaviour must be used with 'connect': true.");t.events={tap:n||o,drag:r,fixed:i,snap:o,hover:a}}function q(t,e){var n;if(e!==!1)if(e===!0)for(t.tooltips=[],n=0;nr&&(i+=Math.abs(r)),i>100&&(r-=i-100),[a(r),a(i)]):[r,i]}function m(t,e){t.preventDefault();var n,r,i=0===t.type.indexOf("touch"),o=0===t.type.indexOf("mouse"),a=0===t.type.indexOf("pointer"),s=t;return 0===t.type.indexOf("MSPointer")&&(a=!0),i&&(n=t.changedTouches[0].pageX,r=t.changedTouches[0].pageY),e=e||d(),(o||a)&&(n=t.clientX+e.x,r=t.clientY+e.y),s.pageOffset=e,s.points=[n,r],s.cursor=o||a,s}function v(t,e){var n=document.createElement("div"),r=document.createElement("div"),i=["-lower","-upper"];return t&&i.reverse(),c(r,rt[3]),c(r,rt[3]+i[e]),c(n,rt[2]),n.appendChild(r),n}function g(t,e,n){switch(t){case 1:c(e,rt[7]),c(n[0],rt[6]);break;case 3:c(n[1],rt[6]);case 2:c(n[0],rt[7]);case 0:c(e,rt[6])}}function b(t,e,n){var r,i=[];for(r=0;t>r;r+=1)i.push(n.appendChild(v(e,r)));return i}function w(t,e,n){c(n,rt[0]),c(n,rt[8+t]),c(n,rt[4+e]);var r=document.createElement("div");return c(r,rt[1]),n.appendChild(r),r}function S(t,e){if(!r.tooltips[e])return!1;var n=document.createElement("div");return n.className=rt[18],t.firstChild.appendChild(n)}function x(){r.dir&&r.tooltips.reverse();var t=K.map(S);r.dir&&(t.reverse(),r.tooltips.reverse()),I("update",function(e,n,i){t[n]&&(t[n].innerHTML=r.tooltips[n]===!0?e[n]:r.tooltips[n].to(i[n]))})}function y(t,e,n){if("range"===t||"steps"===t)return tt.xVal;if("count"===t){var r,i=100/(e-1),o=0;for(e=[];(r=o++*i)<=100;)e.push(r);t="positions"}return"positions"===t?e.map(function(t){return tt.fromStepping(n?tt.getStep(t):t)}):"values"===t?n?e.map(function(t){return tt.fromStepping(tt.getStep(tt.toStepping(t)))}):e:void 0}function E(e,n,r){function i(t,e){return(t+e).toFixed(7)/1}var o=tt.direction,a={},s=tt.xVal[0],u=tt.xVal[tt.xVal.length-1],c=!1,l=!1,f=0;return tt.direction=0,r=t(r.slice().sort(function(t,e){return t-e})),r[0]!==s&&(r.unshift(s),c=!0),r[r.length-1]!==u&&(r.push(u),l=!0),r.forEach(function(t,o){var s,u,d,p,h,m,v,g,b,w,S=t,x=r[o+1];if("steps"===n&&(s=tt.xNumSteps[o]),s||(s=x-S),S!==!1&&void 0!==x)for(u=S;x>=u;u=i(u,s)){for(p=tt.toStepping(u),h=p-f,g=h/e,b=Math.round(g),w=h/b,d=1;b>=d;d+=1)m=f+d*w,a[m.toFixed(5)]=["x",0];v=r.indexOf(u)>-1?1:"steps"===n?2:0,!o&&c&&(v=0),u===x&&l||(a[p.toFixed(5)]=[u,v]),f=p}}),tt.direction=o,a}function N(t,e,n){function i(t){return["-normal","-large","-sub"][t]}function o(t,e,n){return'class="'+e+" "+e+"-"+s+" "+e+i(n[1])+'" style="'+r.style+": "+t+'%"'}function a(t,r){tt.direction&&(t=100-t),r[1]=r[1]&&e?e(r[0],r[1]):r[1],u.innerHTML+="
",r[1]&&(u.innerHTML+="
"+n.to(r[0])+"
")}var s=["horizontal","vertical"][r.ort],u=document.createElement("div");return c(u,rt[20]),c(u,rt[20]+"-"+s),Object.keys(t).forEach(function(e){a(e,t[e])}),u}function U(t){var e=t.mode,n=t.density||1,r=t.filter||!1,i=t.values||!1,o=t.stepped||!1,a=y(e,i,o),s=E(n,e,a),u=t.format||{to:Math.round};return Z.appendChild(N(s,r,u))}function M(){return J["offset"+["Width","Height"][r.ort]]}function P(t,e,n){void 0!==e&&1!==r.handles&&(e=Math.abs(e-r.dir)),Object.keys(nt).forEach(function(r){var i=r.split(".")[0];t===i&&nt[r].forEach(function(t){t.call(Q,s(X()),e,s(O(Array.prototype.slice.call(et))),n||!1)})})}function O(t){return 1===t.length?t[0]:r.dir?t.reverse():t}function L(t,e,n,i){var o=function(e){return Z.hasAttribute("disabled")?!1:f(Z,rt[14])?!1:(e=m(e,i.pageOffset),t===Y.start&&void 0!==e.buttons&&e.buttons>1?!1:i.hover&&e.buttons?!1:(e.calcPoint=e.points[r.ort],void n(e,i)))},a=[];return t.split(" ").forEach(function(t){e.addEventListener(t,o,!1),a.push([t,o])}),a}function A(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return k(t,e);var n,r,o=e.handles||K,a=!1,s=100*(t.calcPoint-e.start)/e.baseSize,u=o[0]===K[0]?0:1;if(n=i(s,e.positions,o.length>1),a=q(o[0],n[u],1===o.length),o.length>1){if(a=q(o[1],n[u?0:1],!1)||a)for(r=0;r1&&c(Z,rt[12]);var a=function(){return!1};document.body.noUiListener=a,document.body.addEventListener("selectstart",a,!1)}void 0!==e.handleNumber&&P("start",e.handleNumber)}function F(t){var e,i,a=t.calcPoint,s=0;return t.stopPropagation(),K.forEach(function(t){s+=n(t)[r.style]}),e=s/2>a||1===K.length?0:1,a-=n(J)[r.style],i=100*a/M(),r.events.snap||o(Z,rt[14],300),K[e].hasAttribute("disabled")?!1:(q(K[e],i),P("slide",e,!0),P("set",e,!0),P("change",e,!0),void(r.events.snap&&V(t,{handles:[K[e]]})))}function T(t){var e=t.calcPoint-n(J)[r.style],i=tt.getStep(100*e/M()),o=tt.fromStepping(i);Object.keys(nt).forEach(function(t){"hover"===t.split(".")[0]&&nt[t].forEach(function(t){t.call(Q,o)})})}function C(t){var e,n;if(!t.fixed)for(e=0;e1&&(e=i?Math.max(e,o):Math.min(e,s)),n!==!1&&r.limit&&K.length>1&&(e=i?Math.min(e,u):Math.max(e,f)),e=tt.getStep(e),e=a(parseFloat(e.toFixed(7))),e===_[i]?!1:(window.requestAnimationFrame?window.requestAnimationFrame(function(){t.style[r.style]=e+"%"}):t.style[r.style]=e+"%",t.previousSibling||(l(t,rt[17]),e>50&&c(t,rt[17])),_[i]=e,et[i]=tt.fromStepping(e),P("update",i),!0)}function z(t,e){var n,i,o;for(r.limit&&(t+=1),n=0;t>n;n+=1)i=n%2,o=e[i],null!==o&&o!==!1&&("number"==typeof o&&(o=String(o)),o=r.format.from(o),(o===!1||isNaN(o)||q(K[i],tt.toStepping(o),n===3-r.dir)===!1)&&P("update",i))}function H(t){var e,n,i=s(t);for(r.dir&&r.handles>1&&i.reverse(),r.animate&&-1!==_[0]&&o(Z,rt[14],300),e=K.length>1?3:1,1===i.length&&(e=1),z(e,i),n=0;n=n[1]?n[2]:n[0]||!1;return[s,o]});return O(t)}function I(t,e){nt[t]=nt[t]||[],nt[t].push(e),"update"===t.split(".")[0]&&K.forEach(function(t,e){P("update",e)})}function W(t){var e=t.split(".")[0],n=t.substring(e.length);Object.keys(nt).forEach(function(t){var r=t.split(".")[0],i=t.substring(r.length);e&&e!==r||n&&n!==i||delete nt[t]})}function G(t){var e,n=X(),i=D({start:[0,0],margin:t.margin,limit:t.limit,step:t.step,range:t.range,animate:t.animate,snap:void 0===t.snap?r.snap:t.snap});for(["margin","limit","step","range","animate"].forEach(function(e){void 0!==t[e]&&(r[e]=t[e])}),tt=i.spectrum,_=[-1,-1],H(n),e=0;e