PageSourceSearch

https://rosspen.su/catalog/view/javascript/ocfilter/nouislider.min.js

js rosspen.su collected 2026-10-02 08:01:45 UTC 28,304 bytes, 656 lines download raw bytes

1/*! nouislider - 8.5.1 - 2016-04-24 16:00:29 */
2
3!function (a) {
4    "function" == typeof define && define.amd ? define([], a) : "object" == typeof exports ? module.exports = a() : window.noUiSlider = a()
5}(function () {
6    "use strict";
7
8    function a(a) {
9        return a.filter(function (a) {
10            return this[a] ? !1 : this[a] = !0
11        }, {})
12    }
13
14    function b(a, b) {
15        return Math.round(a / b) * b
16    }
17
18    function c(a) {
19        var b = a.getBoundingClientRect(), c = a.ownerDocument, d = c.documentElement, e = l();
20        return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (e.x = 0), {
21            top: b.top + e.y - d.clientTop,
22            left: b.left + e.x - d.clientLeft
23        }
24    }
25
26    function d(a) {
27        return "number" == typeof a && !isNaN(a) && isFinite(a)
28    }
29
30    function e(a, b, c) {
31        i(a, b), setTimeout(function () {
32            j(a, b)
33        }, c)
34    }
35
36    function f(a) {
37        return Math.max(Math.min(a, 100), 0)
38    }
39
40    function g(a) {
41        return Array.isArray(a) ? a : [a]
42    }
43
44    function h(a) {
45        var b = a.split(".");
46        return b.length > 1 ? b[1].length : 0
47    }
48
49    function i(a, b) {
50        a.classList ? a.classList.add(b) : a.className += " " + b
51    }
52
53    function j(a, b) {
54        a.classList ? a.classList.remove(b) : a.className = a.className.replace(new RegExp("(^|\\b)" + b.split(" ").join("|") + "(\\b|$)", "gi"), " ")
55    }
56
57    function k(a, b) {
58        return a.classList ? a.classList.contains(b) : new RegExp("\\b" + b + "\\b").test(a.className)
59    }
60
61    function l() {
62        var a = void 0 !== window.pageXOffset, b = "CSS1Compat" === (document.compatMode || ""),
63            c = a ? window.pageXOffset : b ? document.documentElement.scrollLeft : document.body.scrollLeft,
64            d = a ? window.pageYOffset : b ? document.documentElement.scrollTop : document.body.scrollTop;
65        return {x: c, y: d}
66    }
67
68    function m() {
69        return window.navigator.pointerEnabled ? {
70            start: "pointerdown",
71            move: "pointermove",
72            end: "pointerup"
73        } : window.navigator.msPointerEnabled ? {
74            start: "MSPointerDown",
75            move: "MSPointerMove",
76            end: "MSPointerUp"
77        } : {start: "mousedown touchstart", move: "mousemove touchmove", end: "mouseup touchend"}
78    }
79
80    function n(a, b) {
81        return 100 / (b - a)
82    }
83
84    function o(a, b) {
85        return 100 * b / (a[1] - a[0])
86    }
87
88    function p(a, b) {
89        return o(a, a[0] < 0 ? b + Math.abs(a[0]) : b - a[0])
90    }
91
92    function q(a, b) {
93        return b * (a[1] - a[0]) / 100 + a[0]
94    }
95
96    function r(a, b) {
97        for (var c = 1; a >= b[c];) c += 1;
98        return c
99    }
100
101    function s(a, b, c) {
102        if (c >= a.slice(-1)[0]) return 100;
103        var d, e, f, g, h = r(c, a);
104        return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], f + p([d, e], c) / n(f, g)
105    }
106
107    function t(a, b, c) {
108        if (c >= 100) return a.slice(-1)[0];
109        var d, e, f, g, h = r(c, b);
110        return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], q([d, e], (c - f) * n(f, g))
111    }
112
113    function u(a, c, d, e) {
114        if (100 === e) return e;
115        var f, g, h = r(e, a);
116        return d ? (f = a[h - 1], g = a[h], e - f > (g - f) / 2 ? g : f) : c[h - 1] ? a[h - 1] + b(e - a[h - 1], c[h - 1]) : e
117    }
118
119    function v(a, b, c) {
120        var e;
121        if ("number" == typeof b && (b = [b]), "[object Array]" !== Object.prototype.toString.call(b)) throw new Error("noUiSlider: 'range' contains invalid value.");
122        if (e = "min" === a ? 0 : "max" === a ? 100 : parseFloat(a), !d(e) || !d(b[0])) throw new Error("noUiSlider: 'range' value isn't numeric.");
123        c.xPct.push(e), c.xVal.push(b[0]), e ? c.xSteps.push(isNaN(b[1]) ? !1 : b[1]) : isNaN(b[1]) || (c.xSteps[0] = b[1])
124    }
125
126    function w(a, b, c) {
127        return b ? void (c.xSteps[a] = o([c.xVal[a], c.xVal[a + 1]], b) / n(c.xPct[a], c.xPct[a + 1])) : !0
128    }
129
130    function x(a, b, c, d) {
131        this.xPct = [], this.xVal = [], this.xSteps = [d || !1], this.xNumSteps = [!1], this.snap = b, this.direction = c;
132        var e, f = [];
133        for (e in a) a.hasOwnProperty(e) && f.push([a[e], e]);
134        for (f.length && "object" == typeof f[0][0] ? f.sort(function (a, b) {
135            return a[0][0] - b[0][0]
136        }) : f.sort(function (a, b) {
137            return a[0] - b[0]
138        }), e = 0; e < f.length; e++) v(f[e][1], f[e][0], this);
139        for (this.xNumSteps = this.xSteps.slice(0), e = 0; e < this.xNumSteps.length; e++) w(e, this.xNumSteps[e], this)
140    }
141
142    function y(a, b) {
143        if (!d(b)) throw new Error("noUiSlider: 'step' is not numeric.");
144        a.singleStep = b
145    }
146
147    function z(a, b) {
148        if ("object" != typeof b || Array.isArray(b)) throw new Error("noUiSlider: 'range' is not an object.");
149        if (void 0 === b.min || void 0 === b.max) throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");
150        if (b.min === b.max) throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal.");
151        a.spectrum = new x(b, a.snap, a.dir, a.singleStep)
152    }
153
154    function A(a, b) {
155        if (b = g(b), !Array.isArray(b) || !b.length || b.length > 2) throw new Error("noUiSlider: 'start' option is incorrect.");
156        a.handles = b.length, a.start = b
157    }
158
159    function B(a, b) {
160        if (a.snap = b, "boolean" != typeof b) throw new Error("noUiSlider: 'snap' option must be a boolean.")
161    }
162
163    function C(a, b) {
164        if (a.animate = b, "boolean" != typeof b) throw new Error("noUiSlider: 'animate' option must be a boolean.")
165    }
166
167    function D(a, b) {
168        if (a.animationDuration = b, "number" != typeof b) throw new Error("noUiSlider: 'animationDuration' option must be a number.")
169    }
170
171    function E(a, b) {
172        if ("lower" === b && 1 === a.handles) a.connect = 1; else if ("upper" === b && 1 === a.handles) a.connect = 2; else if (b === !0 && 2 === a.handles) a.connect = 3; else {
173            if (b !== !1) throw new Error("noUiSlider: 'connect' option doesn't match handle count.");
174            a.connect = 0
175        }
176    }
177
178    function F(a, b) {
179        switch (b) {
180            case"horizontal":
181                a.ort = 0;
182                break;
183            case"vertical":
184                a.ort = 1;
185                break;
186            default:
187                throw new Error("noUiSlider: 'orientation' option is invali
187d.")
188        }
189    }
190
191    function G(a, b) {
192        if (!d(b)) throw new Error("noUiSlider: 'margin' option must be numeric.");
193        if (0 !== b && (a.margin = a.spectrum.getMargin(b), !a.margin)) throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")
194    }
195
196    function H(a, b) {
197        if (!d(b)) throw new Error("noUiSlider: 'limit' option must be numeric.");
198        if (a.limit = a.spectrum.getMargin(b), !a.limit) throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.")
199    }
200
201    function I(a, b) {
202        switch (b) {
203            case"ltr":
204                a.dir = 0;
205                break;
206            case"rtl":
207                a.dir = 1, a.connect = [0, 2, 1, 3][a.connect];
208                break;
209            default:
210                throw new Error("noUiSlider: 'direction' option was not recognized.")
211        }
212    }
213
214    function J(a, b) {
215        if ("string" != typeof b) throw new Error("noUiSlider: 'behaviour' must be a string containing options.");
216        var c = b.indexOf("tap") >= 0, d = b.indexOf("drag") >= 0, e = b.indexOf("fixed") >= 0,
217            f = b.indexOf("snap") >= 0, g = b.indexOf("hover") >= 0;
218        if (d && !a.connect) throw new Error("noUiSlider: 'drag' behaviour must be used with 'connect': true.");
219        a.events = {tap: c || f, drag: d, fixed: e, snap: f, hover: g}
220    }
221
222    function K(a, b) {
223        var c;
224        if (b !== !1) if (b === !0) for (a.tooltips = [], c = 0; c < a.handles; c++) a.tooltips.push(!0); else {
225            if (a.tooltips = g(b), a.tooltips.length !== a.handles) throw new Error("noUiSlider: must pass a formatter for all handles.");
226            a.tooltips.forEach(function (a) {
227                if ("boolean" != typeof a && ("object" != typeof a || "function" != typeof a.to)) throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")
228            })
229        }
230    }
231
232    function L(a, b) {
233        if (a.format = b, "function" == typeof b.to && "function" == typeof b.from) return !0;
234        throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")
235    }
236
237    function M(a, b) {
238        if (void 0 !== b && "string" != typeof b && b !== !1) throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");
239        a.cssPrefix = b
240    }
241
242    function N(a, b) {
243        if (void 0 !== b && "object" != typeof b) throw new Error("noUiSlider: 'cssClasses' must be an object.");
244        if ("string" == typeof a.cssPrefix) {
245            a.cssClasses = {};
246            for (var c in b) b.hasOwnProperty(c) && (a.cssClasses[c] = a.cssPrefix + b[c])
247        } else a.cssClasses = b
248    }
249
250    function O(a) {
251        var b, c = {margin: 0, limit: 0, animate: !0, animationDuration: 300, format: R};
252        b = {
253            step: {r: !1, t: y},
254            start: {r: !0, t: A},
255            connect: {r: !0, t: E},
256            direction: {r: !0, t: I},
257            snap: {r: !1, t: B},
258            animate: {r: !1, t: C},
259            animationDuration: {r: !1, t: D},
260            range: {r: !0, t: z},
261            orientation: {r: !1, t: F},
262            margin: {r: !1, t: G},
263            limit: {r: !1, t: H},
264            behaviour: {r: !0, t: J},
265            format: {r: !1, t: L},
266            tooltips: {r: !1, t: K},
267            cssPrefix: {r: !1, t: M},
268            cssClasses: {r: !1, t: N}
269        };
270        var d = {
271            connect: !1,
272            direction: "ltr",
273            behaviour: "tap",
274            orientation: "horizontal",
275            cssPrefix: "noUi-",
276            cssClasses: {
277                target: "target",
278                base: "base",
279                origin: "origin",
280                handle: "handle",
281                handleLower: "handle-lower",
282                handleUpper: "handle-upper",
283                horizontal: "horizontal",
284                vertical: "vertical",
285                background: "background",
286                connect: "connect",
287                ltr: "ltr",
288                rtl: "rtl",
289                draggable: "draggable",
290                drag: "state-drag",
291                tap: "state-tap",
292                active: "active",
293                stacking: "stacking",
294                tooltip: "tooltip",
295                pips: "pips",
296                pipsHorizontal: "pips-horizontal",
297                pipsVertical: "pips-vertical",
298                marker: "marker",
299                markerHorizontal: "marker-horizontal",
300                markerVertical: "marker-vertical",
301                markerNormal: "marker-normal",
302                markerLarge: "marker-large",
303                markerSub: "marker-sub",
304                value: "value",
305                valueHorizontal: "value-horizontal",
306                valueVertical: "value-vertical",
307                valueNormal: "value-normal",
308                valueLarge: "value-large",
309                valueSub: "value-sub"
310            }
311        };
312        return Object.keys(b).forEach(function (e) {
313            if (void 0 === a[e] && void 0 === d[e]) {
314                if (b[e].r) throw new Error("noUiSlider: '" + e + "' is required.");
315                return !0
316            }
317            b[e].t(c, void 0 === a[e] ? d[e] : a[e])
318        }), c.pips = a.pips, c.style = c.ort ? "top" : "left", c
319    }
320
321    function P(b, d, n) {
322        function o(a, b, c) {
323            var d = a + b[0], e = a + b[1];
324            return c ? (0 > d && (e += Math.abs(d)), e > 100 && (d -= e - 100), [f(d), f(e)]) : [d, e]
325        }
326
327        function p(a, b) {
328            a.preventDefault();
329            var c, d, e = 0 === a.type.indexOf("touch"), f = 0 === a.type.indexOf("mouse"),
330                g = 0 === a.type.indexOf("pointer"), h = a;
331            return 0 === a.type.indexOf("MSPointer") && (g = !0), e && (c = a.changedTouches[0].pageX, d = a.changedTouches[0].pageY), b = b || l(), (f || g) && (c = a.clientX + b.x, d = a.clientY + b.y), h.pageOffset = b, h.points = [c, d], h.cursor = f || g, h
332        }
333
334        function q(a, b) {
335            var c = document.createElement("div"), e = document.createElement("div"),
336                f = [d.cssClasses.handleLower, d.cssClasses.handleUpper];
337            return a && f.reverse(), i(e, d.cssClasses.handle), i(e, f[b]), i(c, d.cssClasses.origin), c.appendChild(e), c
338        }
339
340        function r(a, b, c) {
341            switch (a) {
342                case 1:
343                    i(b, d.cssClasses.connect), i(c[0], d.cssClasses.background);
344                    break;
345                case 3:
346                    i(c[1], d.cssClasses.background);
347                case 2:
348                    i(c[0], d.cssClasses.connect);
349                case 0:
350                    i(b, d.cssClasses.background)
351            }
352        }
353
354        function s(a, b, c) {
355            var d, e = [];
356            for (d = 0; a > d; d += 1) e.push(c.appendChild(q(b, d)));
357            return e
358        }
359
360        function t(a, b, c) {
361            i(c, d.cssClasses.target), 0 === a ? i(c, d.cssClasses.ltr) : i(c, d.cssClasses.rtl), 0 === b ? i(c, d.cssClasses.horizontal) : i(c, d.cssClasses.vertical);
362            var e = document.createElement("div");
363            return i(e, d.cssClasses.base), c.appendChild(e), e
364        }
365
366        function u(a, b) {
367            if (!d.tooltips[b]) return !1;
368            var c = document.createElement("div");
369            return c.className = d.cssClasses.tooltip, a.firstChild.appendChild(c)
370        }
371
372        function v() {
373            d.dir && d.tooltips.reverse();
374            var a = W.map(u);
375            d.dir && (a.reverse(), d.tooltips.reverse()), S("update", function (b, c, e) {
376                a[c] && (a[c].innerHTML = d.tooltips[c] === !0 ? b[c] : d.tooltips[c].to(e[c]))
377            })
378        }
379
380        function w(a, b, c) {
381            if ("range" === a || "steps" === a) return _.xVal;
382            if ("count" === a) {
383                var d, e = 100 / (b - 1), f = 0;
384                for (b = []; (d = f++ * e) <= 100;) b.push(d);
385                a = "positions"
386            }
387            return "positions" === a ? b.map(function (a) {
388                return _.fromStepping(c ? _.getStep(a) : a)
389            }) : "values" === a ? c ? b.map(function (a) {
390                return _.fromStepping(_.getStep(_.toStepping(a)))
391            }) : b : void 0
392        }
393
394        function x(b, c, d) {
395            function e(a, b) {
396                return (a + b).toFixed(7) / 1
397            }
398
399            var f = _.direction, g = {}, h = _.xVal[0], i = _.xVal[_.xVal.length - 1], j = !1, k = !1, l = 0;
400            return _.direction = 0, d = a(d.slice().sort(function (a, b) {
401                return a - b
402            })), d[0] !== h && (d.unshift(h), j = !0), d[d.length - 1] !== i && (d.push(i), k = !0), d.forEach(function (a, f) {
403                var h, i, m, n, o, p, q, r, s, t, u = a, v = d[f + 1];
404                if ("steps" === c && (h = _.xNumSteps[f]), h || (h = v - u), u !== !1 && void 0 !== v) for (i = u; v >= i; i = e(i, h)) {
405                    for (n = _.toStepping(i), o = n - l, r = o / b, s = Math.round(r), t = o / s, m = 1; s >= m; m += 1) p = l + m * t, g[p.toFixed(5)] = ["x", 0];
406                    q = d.indexOf(i) > -1 ? 1 : "steps" === c ? 2 : 0, !f && j && (q = 0), i === v && 
406k || (g[n.toFixed(5)] = [i, q]), l = n
407                }
408            }), _.direction = f, g
409        }
410
411        function y(a, b, c) {
412            function e(a, b) {
413                var c = b === d.cssClasses.value, e = c ? m : n, f = c ? k : l;
414                return b + " " + e[d.ort] + " " + f[a]
415            }
416
417            function f(a, b, c) {
418                return 'class="' + e(c[1], b) + '" style="' + d.style + ": " + a + '%"'
419            }
420
421            function g(a, e) {
422                _.direction && (a = 100 - a), e[1] = e[1] && b ? b(e[0], e[1]) : e[1], j += "<div " + f(a, d.cssClasses.marker, e) + "></div>", e[1] && (j += "<div " + f(a, d.cssClasses.value, e) + ">" + c.to(e[0]) + "</div>")
423            }
424
425            var h = document.createElement("div"), j = "",
426                k = [d.cssClasses.valueNormal, d.cssClasses.valueLarge, d.cssClasses.valueSub],
427                l = [d.cssClasses.markerNormal, d.cssClasses.markerLarge, d.cssClasses.markerSub],
428                m = [d.cssClasses.valueHorizontal, d.cssClasses.valueVertical],
429                n = [d.cssClasses.markerHorizontal, d.cssClasses.markerVertical];
430            return i(h, d.cssClasses.pips), i(h, 0 === d.ort ? d.cssClasses.pipsHorizontal : d.cssClasses.pipsVertical), Object.keys(a).forEach(function (b) {
431                g(b, a[b])
432            }), h.innerHTML = j, h
433        }
434
435        function z(a) {
436            var b = a.mode, c = a.density || 1, d = a.filter || !1, e = a.values || !1, f = a.stepped || !1,
437                g = w(b, e, f), h = x(c, b, g), i = a.format || {to: Math.round};
438            return Z.appendChild(y(h, d, i))
439        }
440
441        function A() {
442            var a = V.getBoundingClientRect(), b = "offset" + ["Width", "Height"][d.ort];
443            return 0 === d.ort ? a.width || V[b] : a.height || V[b]
444        }
445
446        function B(a, b, c) {
447            var e;
448            for (e = 0; e < d.handles; e++) if (-1 === $[e]) return;
449            void 0 !== b && 1 !== d.handles && (b = Math.abs(b - d.dir)), Object.keys(ba).forEach(function (d) {
450                var e = d.split(".")[0];
451                a === e && ba[d].forEach(function (a) {
452                    a.call(X, g(P()), b, g(C(Array.prototype.slice.call(aa))), c || !1, $)
453                })
454            })
455        }
456
457        function C(a) {
458            return 1 === a.length ? a[0] : d.dir ? a.reverse() : a
459        }
460
461        function D(a, b, c, e) {
462            var f = function (b) {
463                return Z.hasAttribute("disabled") ? !1 : k(Z, d.cssClasses.tap) ? !1 : (b = p(b, e.pageOffset), a === Y.start && void 0 !== b.buttons && b.buttons > 1 ? !1 : e.hover && b.buttons ? !1 : (b.calcPoint = b.points[d.ort], void c(b, e)))
464            }, g = [];
465            return a.split(" ").forEach(function (a) {
466                b.addEventListener(a, f, !1), g.push([a, f])
467            }), g
468        }
469
470        function E(a, b) {
471            if (-1 === navigator.appVersion.indexOf("MSIE 9") && 0 === a.buttons && 0 !== b.buttonsProperty) return F(a, b);
472            var c, d, e = b.handles || W, f = !1, g = 100 * (a.calcPoint - b.start) / b.baseSize,
473                h = e[0] === W[0] ? 0 : 1;
474            if (c = o(g, b.positions, e.length > 1), f = L(e[0], c[h], 1 === e.length), e.length > 1) {
475                if (f = L(e[1], c[h ? 0 : 1], !1) || f) for (d = 0; d < b.handles.length; d++) B("slide", d)
476            } else f && B("slide", h)
477        }
478
479        function F(a, b) {
480            var c = V.querySelector("." + d.cssClasses.active), e = b.handles[0] === W[0] ? 0 : 1;
481            null !== c && j(c, d.cssClasses.active), a.cursor && (document.body.style.cursor = "", document.body.removeEventListener("selectstart", document.body.noUiListener));
482            var f = document.documentElement;
483            f.noUiListeners.forEach(function (a) {
484                f.removeEventListener(a[0], a[1])
485            }), j(Z, d.cssClasses.drag), B("set", e), B("change", e), void 0 !== b.handleNumber && B("end", b.handleNumber)
486        }
487
488        function G(a, b) {
489            "mouseout" === a.type && "HTML" === a.target.nodeName && null === a.relatedTarget && F(a, b)
490        }
491
492        function H(a, b) {
493            var c = document.documentElement;
494            if (1 === b.handles.length) {
495                if (b.handles[0].hasAttribute("disabled")) return !1;
496                i(b.handles[0].children[0], d.cssClasses.active)
497            }
498            a.preventDefault(), a.stopPropagation();
499            var e = D(Y.move, c, E, {
500                    start: a.calcPoint,
501                    baseSize: A(),
502                    pageOffset: a.pageOffset,
503                    handles: b.handles,
504                    handleNumber: b.handleNumber,
505                    buttonsProperty: a.buttons,
506                    positions: [$[0], $[W.length - 1]]
507                }), f = D(Y.end, c, F, {handles: b.handles, handleNumber: b.handleNumber}),
508                g = D("mouseout", c, G, {handles: b.handles, handleNumber: b.handleNumber});
509            if (c.noUiListeners = e.concat(f, g), a.cursor) {
510                document.body.style.cursor = getComputedStyle(a.target).cursor, W.length > 1 && i(Z, d.cssClasses.drag);
511                var h = function () {
512                    return !1
513                };
514                document.body.noUiListener = h, document.body.addEventListener("selectstart", h, !1)
515            }
516            void 0 !== b.handleNumber && B("start", b.handleNumber)
517        }
518
519        function I(a) {
520            var b, f, g = a.calcPoint, h = 0;
521            return a.stopPropagation(), W.forEach(function (a) {
522                h += c(a)[d.style]
523            }), b = h / 2 > g || 1 === W.length ? 0 : 1, W[b].hasAttribute("disabled") && (b = b ? 0 : 1), g -= c(V)[d.style], f = 100 * g / A(), d.events.snap || e(Z, d.cssClasses.tap, d.animationDuration), W[b].hasAttribute("disabled") ? !1 : (L(W[b], f), B("slide", b, !0), B("set", b, !0), B("change", b, !0), void (d.events.snap && H(a, {handles: [W[b]]})))
524        }
525
526        function J(a) {
527            var b = a.calcPoint - c(V)[d.style], e = _.getStep(100 * b / A()), f = _.fromStepping(e);
528            Object.keys(ba).forEach(function (a) {
529                "hover" === a.split(".")[0] && ba[a].forEach(function (a) {
530                    a.call(X, f)
531                })
532            })
533        }
534
535        function K(a) {
536            if (a.fixed || W.forEach(function (a, b) {
537                D(Y.start, a.children[0], H, {handles: [a], handleNumber: b})
538            }), a.tap && D(Y.start, V, I, {handles: W}), a.hover && D(Y.move, V, J, {hover: !0}), a.drag) {
539                var b = [V.querySelector("." + d.cssClasses.connect)];
540                i(b[0], d.cssClasses.draggable), a.fixed && b.push(W[b[0] === W[0] ? 1 : 0].children[0]), b.forEach(function (a) {
541                    D(Y.start, a, H, {handles: W})
542                })
543            }
544        }
545
546        function L(a, b, c) {
547            var e = a !== W[0] ? 1 : 0, g = $[0] + d.margin, h = $[1] - d.margin, k = $[0] + d.limit,
548                l = $[1] - d.limit;
549            return W.length > 1 && (b = e ? Math.max(b, g) : Math.min(b, h)), c !== !1 && d.limit && W.length > 1 && (b = e ? Math.min(b, k) : Math.max(b, l)), b = _.getStep(b), b = f(b), b === $[e] ? !1 : (window.requestAnimationFrame ? window.requestAnimationFrame(function () {
550                a.style[d.style] = b + "%"
551            }) : a.style[d.style] = b + "%", a.previousSibling || (j(a, d.cssClasses.stacking), b > 50 && i(a, d.cssClasses.stacking)), $[e] = b, aa[e] = _.fromStepping(b), B("update", e), !0)
552        }
553
554        function M(a, b) {
555            var c, e, f;
556            for (d.limit && (a += 1), c = 0; a > c; c += 1) e = c % 2, f = b[e], null !== f && f !== !1 && ("number" == typeof f && (f = String(f)), f = d.format.from(f), (f === !1 || isNaN(f) || L(W[e], _.toStepping(f), c === 3 - d.dir) === !1) && B("update", e))
557        }
558
559        function N(a, b) {
560            var c, f, h = g(a);
561            for (b = void 0 === b ? !0 : !!b, d.dir && d.handles > 1 && h.reverse(), d.animate && -1 !== $[0] && e(Z, d.cssClasses.tap, d.animationDuration), c = W.length > 1 ? 3 : 1, 1 === h.length && (c = 1), M(c, h), f = 0; f < W.length; f++) null !== h[f] && b && B("set", f)
562        }
563
564        function P() {
565            var a, b = [];
566            for (a = 0; a < d.handles; a += 1) b[a] = d.format.to(aa[a]);
567            return C(b)
568        }
569
570        function Q() {
571            for (var a in d.cssClasses) d.cssClasses.hasOwnProperty(a) && j(Z, d.cssClasses[a]);
572            for (; Z.firstChild;) Z.removeChild(Z.firstChild);
573            delete Z.noUiSlider
574        }
575
576        function R() {
577            var a = $.map(function (a, b) {
578                var c = _.getApplicableStep(a), d = h(String(c[2])), e = aa[b], f = 100 === a ? null : c[2],
579                    g = Number((e - c[2]).toFixed(d)), i = 0 === a ? null : g >= c[1] ? c[2] : c[0] || !1;
580                return [i, f]
581            });
582            return C(a)
583        }
584
585        function S(a, b) {
586            ba[a] = ba[a] || [], ba[a].push(b), "update" === a.split(".")[0] && W.forEach(function (a, b) {
587                B("update", b)
588            })
589        }
590
591        function T(a) {
592            var b = a && a.split(".")[0], c = b && a.substring(b.length);
593            Object.keys(ba).forEach(function (a) {
594                var d = a.split(".")[0], e = a.substring(d.length);
595                b && b !== d || c && c !== e || delete ba[a]
596            })
597        }
598
599        function U(a, b) {
600            var c = P(), e = O({
601                start: [0, 0],
602                margin: a.margin,
603                limit: a.limit,
604                step: void 0 === a.step ? d.singleStep : a.step,
605                range: a.range,
606                animate: a.animate,
607                snap: void 0 === a.snap ? d.snap : a.snap
608            });
609            ["margin", "limit", "range", "animate"].forEach(function (b) {
610                void 0 !== a[b] && (d[b] = a[b])
611            }), e.spectrum.direction = _.direction, _ = e.spectrum, $ = [-1, -1], N(a.start || c, b)
612        }
613
614        var V, W, X, Y = m(), Z = b, $ = [-1, -1], _ = d.spectrum, aa = [], ba = {};
615        if (Z.noUiSlider) throw new Error("Slider was already initialized.");
616        return V = t(d.dir, d.ort, Z), W = s(d.handles, d.dir, V), r(d.connect, Z, W), d.pips && z(d.pips), d.tooltips && v(), X = {
617            destroy: Q,
618            steps: R,
619            on: S,
620            off: T,
621            get: P,
622            set: N,
623            updateOptions: U,
624            options: n,
625            target: Z,
626            pips: z
627        }, K(d.events), X
628    }
629
630    function Q(a, b) {
631        if (!a.nodeName) throw new Error("noUiSlider.create requires a single element.");
632        var c = O(b, a), d = P(a, c, b);
633        return d.set(c.start), a.noUiSlider = d, d
634    }
635
636    x.prototype.getMargin = function (a) {
637        return 2 === this.xPct.length ? o(this.xVal, a) : !1
638    }, x.prototype.toStepping = function (a) {
639        return a = s(this.xVal, this.xPct, a), this.direction && (a = 100 - a), a
640    }, x.prototype.fromStepping = function (a) {
641        return this.direction && (a = 100 - a), t(this.xVal, this.xPct, a)
642    }, x.prototype.getStep = function (a) {
643        return this.direction && (a = 100 - a), a = u(this.xPct, this.xSteps, this.snap, a), this.direction && (a = 100 - a), a
644    }, x.prototype.getApplicableStep = function (a) {
645        var b = r(a, this.xPct), c = 100 === a ? 2 : 1;
646        return [this.xNumSteps[b - 2], this.xVal[b - c], this.xNumSteps[b - c]]
647    }, x.prototype.convert = function (a) {
648        return this.getStep(this.toStepping(a))
649    };
650    var R = {
651        to: function (a) {
652            return void 0 !== a && a.toFixed(2)
653        }, from: Number
654    };
655    return {create: Q}
656});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.